/
Author: Поспелов Д.А.
Tags: компьютерные технологии автоматика кибернетика вычислительная техника издательство энергия
Year: 1974
Text
Д. А. ПОСПЕЛОВ
ЛОГИЧЕСКИЕ
МЕТОДЫ АНАЛИЗА
И СИНТЕЗА СХЕМ
ИЗДАНИЕ ТРЕТЬЕ,
ПЕРЕРАБОТАННОЕ И ДОПОЛНЕННОЕ
«Э Н Е Р Г И Я» МОСКВА 1974
6П2.154
П 62
УДК 681.3.001.2
Поспелов Д. А.
П 62 Логические методы анализа и синтеза схем.
Изд. 3-е, перераб. и доп., М., «Энергия», 1974.
368 с. с ил.
В книге рассматриваются различные методы синтеза схем, по-
строенных на основе типовых логических базисов. Обсуждаются вопро-
сы реализации этих схем на основе элементов, разрабатываемых оте-
чественной промышленностью. Рассматриваются методы оптимизации
различных схемных реализаций. Второе издание книги вышло в 1968 г.
По своему содержанию и характеру изложения книга может слу-
жить учебным пособием для студентов, специализирующихся в области
вычислительной техники. Материал книги будет интересен разработ-
чикам логических устройств в автоматике, телемеханике и вычисли-
тельной технике, а также для аспирантов соответствующих специаль-
ностей.
30501-494
051(01)-74
210-74
6П2.154
© Издательство «Энергия», 1974 г.
ПРЕДИСЛОВИЕ К ПЕРВОМУ ИЗДАНИЮ
Содержание книги в основном представляет собой
расширенный курс лекций, читавшийся автором в тече-
ние ряда лет в Московском энергетическом институте.
В книгу включено большое количество материала,
освещенного лишь в журнальной литературе. В ряде
случаев этот журнальный материал подвергся коренной
переделке в духе основного изложения, в некоторых
случаях этот материал излагается почти без изменений.
Ссылок на использованную литературу в тексте не де-
лается, так как такие ссылки затрудняли бы чтение,
однако вся использованная литература указана в спи-
ске литературы, приведенном в конце книги.
Настоящая книга предназначена для инженеров, ра-
ботающих в области автоматики, телемеханики и вы-
числительной техники, а также для студентов и аспи-
рантов соответствующих специальностей.
Учитывая инженерную направленность книги, в ря-
де случаев допускается некоторое отклонение от стро-
гости изложения и опускаются некоторые сложные мате-
матические выкладки и доказательства.
Автор благодарен всем товарищам, чьи советы и по-
желания помогли улучшить содержание книги. Особен-
но благодарен автор редактору книги В. Г. Лазареву,
немало способствовавшему улучшению содержания и
стиля всей книги.
Автор
ПРЕДИСЛОВИЕ К ТРЕТЬЕМУ ИЗДАНИЮ
Несмотря на то, что со времени выхода в свет перво-
го издания книги прошло около десяти лет, третье изда-
ние несущественно отличается от первоначального.
По-видимому, в области логических методов анализа и
синтеза схем наблюдается определенная стабильность,
бурное десятилетнее развитие 1951 —1961 гг. теории
закончилось и сейчас уже с полным правом можно гово-
рить о сложившейся научной дисциплине с развитым
аппаратом и определенной областью исследования.
Тем не менее появление новой технологии в изготов-
лении элементов сместило несколько оценку важности
тех или иных разделов теории для практических работ-
ников, занимающихся проектированием дискретных ло-
гических устройств. Поэтому по сравнению со вторым
изданием в настоящем издании сделаны некоторые изме-
нения и дополнения. Отметим основные из них. В связи
с большим интересом на практике к базису Шеффера
и двойственного ему базису Вебба в данном издании
значительно расширен материал, относящийся к методам
синтеза в этих базисах. Значительно расширен материал
по методам синтеза, использующим особенности тополо-
гии функций алгебры логики. Эти методы, излагаемые
в гл. 3, нашли в последнее время широкое распростра-
нение среди специалистов. В.гл. 4 введен новый пара-
граф, посвященный проблемам синтеза в однородных
средах. Расширен материал третьей части книги, отно-
сящийся к синтезу схем на многоустойчивых элементах.
В небольшой новой гл. 7 рассматриваются проблемы,
связанные с наличием переходных процессов, протекаю-
щих в реальных схемах.
Как и ранее, при подготовке третьего издания автор
стремился сохранить объем книги. Это пожелание приве-
ло к исключению из третьего издания некоторых разде-
лов, имевшихся во втором издании. Из нового издания
исключен параграф, излагавший методы синтеза схем на
основе формальных нейронов, и параграф, связанный
С синтезом потенциально-импульсных схем. Первый из
этих параграфов вряд ли сейчас заинтересует специали-
стов в области проектирования дискретных устройств,
а материал второго параграфа полностью перекрывается
соответствующими разделами из книги В. Г. Лазарева
и Е. И. Пийль «Синтез управляющих автоматов». М.,
«Энергия», 1970 г. Кроме того, фактически исключен ма-
териал по оценкам сложности функций алгебры логики,
составлявший гл. 7 во втором издании. Некоторые ре-
зультаты по оценкам перенесены в конец гл. 2. Исклю-
чен, наконец, § 8-6, посвященный реализации многознач-
ных функций физическими схемами. Появление в 1971 г.
обстоятельной книги Ю. Л. Иваськива «Принципы пост-
роения многозначных физических схем», Киев, «Наукова
думка», сделало материал этого параграфа излишним.
В написании книги, кроме автора, принимали участие
В. А. Горбатов (§ 3-8), Б. Л. Овсиевич (§ -1-7), Л. Я- Ро-
зенблюм (§ 4-8), Ж. Тошич (§ 2-8), С. Пашев (§ 2-9);
§ 2-10 написан В. А. Горбатовым совместно с автором,
§ 8-5 написан совместно Н. Н. Айзенбергом, Ж- Тошичем,
И. В. Семйоном и А. И. Циткиным.
Автор благодарен В. Н. Захарову и Р. Л. Финкель-
штейну, указавшим на ряд опечаток, имевшихся во вто-
ром издании.
Автор
Введение
Введем основные понятия, на которых будет бази-
роваться дальнейшее изложение.
Рассмотрим некоторое устройство (рис. В-1,а) — с п
входами и т выходами, на каждый вход которого мо-
жет быть подан произвольный символ из конечного
алфавита
X={xi, х2,.. .,xh},
называемого входным алфави-
т о м.
Совокупность символов, подан-
ных на вход устройства, образует
входное слово Pi над алфавитом X
нашего устройства. Один из симво-
лов алфавита X (например, Xi) соот-
ветствует пустому символу. Если на
некоторый вход устройства подается
символ xi, то физически это оз-
начает отсутствие какого-либо воз-
буждения устройства по данному
входу.
На выходе устройства появляют-
ся в ы х о д н ы е с л о в а, составлен-
ные из символов выходного
алфавита:
У={уь У2, .,yi}.
В силу конечности алфавитов X
р В 1 И У и входных и выходных слов
(длина входного слова всегда рав-
на п, а выходного — т) общее число различных входных
и выходных слов конечно.
Элементарный такт работы устройства состоит в том,
что при появлении на входе устройства входного сло-
ва Pi устройство выдает на выходах комбинацию выход-
ных символов, образующих выходное слово Qj.
Пусть работа устройства полностью определяется
лишь входным словом. Тогда работа такого устройства
будет определена, если мы зададим следующую таблицу
соответствия для всех входных слов Рр
(В-1)
В таблице имеется kn строк по числу различных
входных слов длины п над алфавитом X, состоящим
из k различных символов.
Определение В-1. Устройство, условия работы ко-
торого описываются при помощи соответствия (В-1), на-
зывается конечным автоматом без памяти, или комби-
национной схемой.
Автомат такого типа может рассматриваться как уст-
ройство, производящее кодирование слов над алфави-
том X словами над алфавитом У. Очевидно, что декоди-
рование при этом не всегда возможно.
Конечные автоматы без памяти являются наиболее
простыми логическими устройствами дискретного ти-
па. Рассмотрению методов анализа и синтеза по-
добных автоматов посвящена первая часть настоящей
книги.
Рассмотрим автоматы более сложной природы. Зада-
димся конечным алфавитом
S {sb S2j. .
который назовем алфавитом внутренних состо-
яний. Символы Si будем называть внутренни-
ми состояниями (состояниями).
Предположим, что работа устройства полностью оп-
ределяется входным словом и внутренним состоянием,
в котором находится устройство в определенный такт
работы.
Пара Pt, St однозначно определяет выходное слово
и внутреннее состояние, в которое устройство перейдет
в следующий такт. Работа такого устройства полностью
определена, если заданы две таблицы А и В следующего
вида:
A s2 Sg в Si Si Sg
P. Qh Qi2 Qi g. p, S; iz
Pi Qi g+i Qi q+2 Qi Pi V, S; q+2 S>
Pkn Q‘knq Pp> S‘nnq
Первая таблица определяет выходное слово, соответ-
ствующее паре Pi, si, а вторая — определяет внутреннее
состояние устройства в следующий такт.
О п р ед е л е н и е В-2. Устройство, работа которого
определяется таблицами А и В, называется конечным
автоматом с глубиной памяти q.
Такой автомат изображен на рис. В-1,6.
Конечные автоматы без памяти и с памятью являют-
ся устройствами детерминированного типа. Опи-
сание их работы в виде соответствия (рис. В-1) или таб-
лиц А и В есть задание жесткого алгоритма их работы.
Естественным обобщением таких детерминированных
автоматов являются автоматы стохастического
типа. В таких автоматах вместо однозначного соответ-
ствия
Pi^Qj
или (Pi, st)—^(Qj, sr)
задается лишь вероятность замены Pt на Q; или (Pi, st)
на (Qj, sr).
Эта вероятность для случая автомата без памяти за-
дается с помощью стохастической матрицы
Qi, Q2 . . . Qtm
Рх “ч “12 • • • “1/m
Pi <*21 “22 • • •
Pkn “fe"! “fe"2 ' ’ ' aknlm
Элемент а,-,- в этой матрице определяет вероятность
появления слова Qj на выходе автомата, если на его вход
подано слово Pi. При этом
im
1 и !•
/=1
В случае автомата с памятью такие матрицы задают-
ся для каждого столбца таблицы А и каждого столбца
таблицы В.
Стохастические автоматы в настоящее время изуча-
ются весьма интенсивно; теория таких автоматов нахо-
дится в состоянии становления. Рассмотрение методов
анализа и синтеза стохастических автоматов требует
особого аппарата и выходит за рамки настоящей ра-
боты 4.
Мы пока не накладывали никаких ограничений на
природу символов, образующих алфавиты X, Y и S.
Теперь потребуем, чтобы эти символы были бы закоди-
рованы в числовой форме.
Для большего удобства рассуждений и возможностей
логического анализа и синтеза схем автоматов мы чаще
всего будем предполагать, что символы алфавитов X,
У и S закодированы двоичным кодом. Это означает, что
каждый символ алфавита состояний входного и выход-
ного алфавитов соответствует некоторому слову из алфа-
вита:
Z={0, 1}.
Рассмотрим пример такого кодирования. Пусть алфа-
вит Х={ж, с, к} состоит из трех символов, представляю-
щих собой цвета: желтый, синий и красный, и пусть ал-
фавит У={ж, с, к,ло, ф} состоит из шести символов, также
представляющих собой цвета: желтый, синий, красный,
зеленый, оранжевый и фиолетовый.
Устройство, перерабатывающее цвета, является ко-
нечным автоматом без памяти, с двумя входами и одним
выходом. Это устройство отображает всевозможные
слова длиной в два символа над алфавитом X в слова
длиной в один символ над алфавитом Y. Зададим теперь
1 Д. А. Поспелов. Вероятностные автоматы. М., «Энергия»,
1970.
Таблицу соответствия (В-1) в следующей форме:
жж—>ж
же—>з
СЖ->3
жк->о
К ж->0
сс->с
ск->ф
КС—>-ф
кк->к
Устройство, работающее в соответствии с этой табли-
цей, является автоматом для оптического сложения двух
цветов.
Для нумерации символов алфавитов X и Y сопоста-
вим каждому из цветов десятичное число от 0 до 5.
Тогда таблица соответствия примет следующий вид:
0()->0 02->4 12-^5
01^-3 20->4 21->-5
10->3 11-4 22->2
Для перехода к двоичному представлению необхо-
димо произвести двоичное кодирование всех шести цифр
десятичной системы, которыми мы воспользовались для
описания таблицы соответствия нашего автомата. При
этом на каждую десятичную цифру необходимо затра-
тить минимум три двоичных разряда.
Двоично-кодированная таблица соответствия имеет
вид:
000000->Ю00 000 010-^100 001010-401
000 001-^011 010 000-^100 010001-^101
001 000-^011 001001-^001 010 010-4310
Видно, что двоичное кодирование алфавитов X и У
сводится к увеличению длины слов, поступающих на
вход автомата и выдаваемых на его выходе.
Минимальное число двоичных разрядов, которое не-
обходимо затратить при двоичном кодировании симво-
лов из алфавитов X и У, определяется из следующего
соотношения:
у — ( ПI 4“ I > П' 2Й> /д 2)
I k, п = 2\
где п — число символов в алфавите ХиУ (т. е. общее
число различных символов алфавитов X и Y), a [log2nJ
означает целую часть log2«.
Таким образом, путем соответствующего кодирова-
ния автомат с произвольным входным и выходным ал-
фавитом может быть приведен к автомату с двоичным
входом и выходом. Однако этот новый автомат должен
оперировать со словами входного и выходного алфави-
та, длина которых больше длин соответствующих слов
исходного автомата. Если для автомата с алфавитом X,
состоящим из т символов, и алфавитом Y, состоящим
из I символов, длина слов на входе и выходе равна со-
ответственно q и г, то для эквивалентного ему двоичного
автомата допустимая длина слов на входе и на выходе
равна соответственно qv и rv, где величина v опреде-
ляется на основании соотношения (В-2).
В первой и во второй частях настоящей работы рас-
сматриваются методы анализа и синтеза двоичных авто-
матов. В третьей части рассматриваются аналогичные
проблемы для автоматов, у которых произведено лишь
цифровое, но не обязательно двоичное кодирование
алфавитов X и Y.
ЧАСТЬ ПЕРВАЯ
СИНТЕЗ И АНАЛИЗ СХЕМ, РАБОТА КОТОРЫХ
НЕ ЗАВИСИТ ОТ ВРЕМЕНИ
ГЛАВА ПЕРВАЯ
ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
И ИХ ОСНОВНЫЕ СВОЙСТВА
1-1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
Рассмотрим множество векторов Я={<^х1, х2,..., xnfa>}.
Будем предполагать, что координаты этих векторов мо-
гут принимать значения 0 или 1. Таким образом, множе-
ство X состоит из 2П различных векторов. Совокупность
координат некоторого фиксированного вектора X* из
множества X будем называть двоичным набором
или просто набором. Наборы будем обозначать следу-
ющим образом: <x*i, х*2,..х*и>, а <х1л х2,..., хп~>
сохраним для обозначения произвольного вектора из X.
Сопоставим каждому вектору из X число 0 или 1,
т. е. произведем однозначное отображение множества X
на множество У={0, 1}.
Определение 1-1. Функцией алгебры логики
называется функция, дающая однозначное отображе-
ние X в Y.
Сокращенно функции алгебры логики мы будем обо-
значать ФАЛ. Наборы <x*i, х*ъ ..х*п> могут рас-
сматриваться как наборы значений аргументов функ-
ции алгебры логики.
Так как число различных наборов значений аргумен-
тов является конечным, то любая функция алгебры ло-
гики может быть полностью задана конечной таблицей
с 2” строками. В левой части этой таблицы перечислены
все наборы значений аргументов этой функции, а в пра-
вой части — значения функции на этих наборах.
Определение 1-2. Если две функции алгебры ло-
гики fa(xt, хг, ..., хп) и f2(xi, х2, ..., хп) принимают
на всех возможных наборах значений аргументов оди-
наковые значения, то функции fa и fa называются
равными.
Факт равенства функций fi и f2 записывается обыч-
ным образом
h(Xi, Х2, . ..,xn)=f2(x1, х2,...,хп). (1-1)
Определение 1-3. Функция f(x<,...,xi-l, хг,
xi+1,,. ,,хп) существенно зависит от аргумента xit если
имеет место соотношение
/ {.Х\, — » Xi _ т, 0, Xi ц. ,, ... , Хп) -4-4
f •• • , Xi _ j, 1, Х/+1, ... , Xn).
В противном случае говорят, что от хг функция зави-
сит несущественно и х, является ее фиктивным аргу-
ментом. Функция алгебры логики не изменится, если
к ее аргументам дописать любое число фиктивных аргу-
ментов или зачеркнуть те аргументы, которые для дан-
ной функции являются фиктивными.
Для нахождения несущественных аргументов таб-
лично заданной функции алгебры логики можно посту-
пить следующим образом. Разбиваем множество набо-
ров аргументов заданной функции на два подмножества:
подмножество, на котором заданная функция принимает
значение 1, и подмножество, на котором заданная функ-
ция принимает значение 0. Для проверки фиктивности
аргумента х4 вычеркиваем столбец, ему соответствую-
щий, и проверяем, не появились ли в обоих подмножест-
вах одинаковые наборы. Если таких наборов не появи-
лось, то Xi является фиктивным аргументом.
Пример 1-1. Пусть функция задана следующей таблицей:
Xi хд Х3 х4 f (*>. Х2, Х3. х4) Х1 х2 Хз х4 f (Xj, х3, Х3, XJ
0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 1 0 0 1 0
0 0 1 0 0 1 0 1 0 0
0 0 1 1 0 1 0 1 1 0
0 1 0 0 1 1 1 0 0 1
0 1 0 1 1 1 1 0 1 1
0 1 1 0 0 1 1 1 0 1
0 1 1 1 0 1 1 1 1 1
Произведем разбиение набора аргументов:
0100
0101
1100
1101 I—единичные наборы.
1110
1111
)
0000
0001
0010
ООН
оно
gill — нулевые наборы;
1000
1001
1010
1011
)
Вычеркнегл в наборах четвертый столбец. Оставшиеся наборы
таковы, что ни один из них не входит одновременно в оба под-
множества. Это свидетельствует о фиктивности аргумента х4.
Теорема 1-1. Число различных функций алгебры
логики, зависящих от п аргументов, конечно и равно22П.
Для доказательства теоремы составим следующую
таблицу:
*1, х2. ‘ Хп~ 1 ’Хп 1 (м, .г2, .. , * ) ’ п' Х1, х%.. "п- 1 ’Хп 1 (М, Xi, ... , X ) п'
со .00
00. .. ..01
00. 10 “з 11. . .11 а2п
В этой таблице справа стоит одна из функций алгеб-
ры логики, зависящая от п аргументов. Задавая тот или
иной конкретный двоичный набор <ai, аг, ..., а2™>, мы
будем тем самым задавать одну из возможных функций
алгебры логики. Но различное число таких наборов рав-
но 2- • Теорема доказана.
Если наборам значений аргументов функции алгебры
логики сопоставлять точки «-мерного пространства, то
множество 2п наборов определяет множество вершин
«-мерного единичного куба. Таким образом, областью
определения функции алгебры логики, зависящей от
« аргументов, является множество вершин такого куба.
Произведем разбиение множества вершин куба на такие
два непересекающихся подмножества То и Tlt что верши-
нам, относящимся к подмножеству То, соответствуют на-
боры значений аргументов, на которых данная функция
принимает значение 0, а вершинам, относящимся к под-
множеству 7\, соответствуют наборы значений аргумен-
тов, на которых данная функция принимает значение 1
Тогда, введя специальные
обозначения для элементов
То и 7\, мы можем геометри-
чески задавать функцию ал-
гебры логики.
Пример 1-2. На рис. 1-1
геометрически задана функция
f(xi, хг, хз), получающаяся из
функции примера 1-1 после выбра-
сывания фиктивного аргумента х4.
Вершины, относящиеся к подмно-
жеству Ti, могут быть, например,
зачернены.
Рис. 1-1.
Значения функции могут
быть заданы не на всех
возможных наборах аргументов. На некоторых наборах
значения функции могут быть не определены. Такие
функции мы будем называть неполностью опреде-
ленными или недоопределенными. В табли-
це задания функции против наборов, на которых функ-
ция не определена, ставится звездочка. Пусть, напри-
мер, f(X[, х2, Хз) задана следующей таблицей:
х. Хз f (*1 х>, хг) *1 х2 Хз f (Xi, Xt, ха)
0 0 0 0 1 0 0 *
0 0 1 1 1 0 1 1
0 1 0 * 1 1 0 0
0 1 1 * 1 1 1 1
Если вместо звездочек подставлять нули и единицы,
ю вместо недоопределенной функции можно получить
восемь различных полностью определенных функций
алгебры логики. Вообще если функция не определена на
m наборах аргументов, то путем ее произвольного до-
определения можно получить 2т различных полностью
определенных функций.
1-2. ЭЛЕМЕНТАРНЫЕ ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
В число функций алгебры логики, подсчитываемых
с помощью теоремы 1, входят как функции, существен-
но зависящие от всех п аргументов, так и функции, для
которых часть из этих аргументов фиктивна
ol
Пример 1-3. Для п=1 согласно теореме 1 имеем 2 — 4 раз-
личные функции:
х, й ц fa ft
0 1 0 0 1 1 0 1 1 0
В этом случае только функции /з и ft существенно зависят от
Xi, а для функций fi и fz этот единственный аргумент является
фиктивным.
Теорема 1-2. Число всех функций алгебры логики,
существенно зависящих от п аргументов, определяется
следующим рекуррентным соотношением:
ЛП = 22П-С"-1ДП_1 — С”~2Ап_2 — ... -С^Д,— Д. (1-2)
В этом соотношении Д4 есть число функций алгебры
логики, существенно зависящих от i аргументов. Правая
часть соотношения есть разность между числом всех
функций алгебры логики и суммой всех функций алгеб-
ры логики, зависящих существенно от любого числа ар-
гументов, меньшего чем п. Справедливость приведенно-
го соотношения очевидна.
Пример 1-4. Найдем число функций алгебры логики, существен-
но зависящих от трех переменных.
Из примера 1-3 вытекает, что Ао=2 и Ai = 2. Применяя теоре-
му 2, имеем:
Аг = 222— — Ао = 22' -2-2 —2= 16 —6 = 10;
Л3 = 223 — С2Д2 — C'3At — Ио = 256 — 30 — 6 — 2 = 218.
Вместо рекуррентного соотношения (1-2) можно най-
ти прямое выражение для значений Ат. Как показал
Г. А. Крылов,
т .
An=S(-l)ftCfc22W- .
fe=0
Рассмотрим одиннадцать функций, которые Играют
большую роль в построении теории функций алгебры
логики и ее приложениях. Эти функции мы будем назы-
вать в дальнейшем элементарными.
Рассмотрение множества элементарных функций ал-
гебры логики мы начнем со случая п=0. В силу теоре-
мы 1-1 в этом случае имеются только две функции, сов-
падающие с константами 0 и 1:
Л=0;
/2=1.
Обе эти функции мы будем считать элементарными.
В случае п=1 мы имеем две функции, существенно
зависящие от аргумента хц. Эти две функции определя-
ются следующей таблицей:
/з fi
О 0 1
1 1 о
Эти две функции мы также причислим к элементар-
ным и будем их записывать следующим образом:
fa=x;
fi=x (читается «не х*). ..
Функцию ft мы будем называть функцией отри-
цания или просто отрицанием.
В случае п=2 в силу теоремы 1-2 имеем десять раз-
личных функций, существенно зависящих от аргументов
xt и х2. Из этих десяти функций к элементарным функ-
циям будем относить.следующие семь функций:
*1 fi fi f, fa f. f 10 f.l
0 0 0 0 1 1 1 1 0
0 1 1 0 0 1 0 1 1
1 0 1 0 0 0 0 1 1
1 1 1 1 1 1 0 0 0
Функция fa, определяемая этой таблицей, носит на-
звание д и з ъ ю н к ц и и лц и х2 или логического
сложения Xi и х2. Для ее обозначения применяются
следующие символы:
}Ъ(Х„ X2) = Xi\/X2
и
f-,(Xl, X2)=Xi + X2.
Мы на протяжении всего дальнейшего изложения
будем называть функцию дизъюнкцией и обозначать
дизъюнкцию Xi и х2 при помощи символа V-
Функция fe носит название конъюнкции хг и х2
или логическогоумножения xt и х2. Для ее обоз-
начения применяется символ
fe(Xi, X2)=Xi, & х2.
Вместо этого символа часто применяют точку или
вообще опускают всякий знак между и х2, т. е.
fe(Xi, X2)=Xi-X2 = XiX2.
В дальнейшем там, где это необходимо, будем упо-
треблять для конъюнкции символ &, а в остальных
случаях знак конъюнкции между xt и х2 будем опускать.
Функция f? носит название функции эквивалент-
ности или функции равнозначности. Для ее
обозначения применяются следующие два символа:
f?(xi, Х2)=Х1 = Х2
и
?7(Х1, X2)=Xi Ъ Х2.
В дальнейшем будем называть эту функцию эквива-
лентностью Xi и х2. Для ее обозначения будем употреб-
лять второй из двух вышеприведенных символов.
Функция /в носит название импликации Xj в х2.
Она обозначается следующим образом:
x2)=xi~+x2.
Функция fg носит название функции Вебба и
обозначается следующим образом *:
fa -^з) | Х2.
1 Во многих руководствах ее называют еще стрелкой Пирса.
Функция fl0 называется функцией Шеффера
и обозначается следующим образом:
X2)—Xi/X2-
Функция fu обычно называется функцией сложе-
ния по модулю 2 (реже ее называют функцией
разно именност и).
Для обозначения функции сложения по модулю 2 при-
меняется символ ф:
fu (х„ х2) = х1фх2.
Рассмотренные одиннадцать функций позволяют
строить новые функции алгебры логики двумя основны-
ми путями:
1) путем перенумерации аргументов;
2) путем подстановки в функцию новых функций
вместо аргументов.
Функцию, полученную из функций flt f2, . . .,fk путем
применения (возможно многократного) этих двух пра-
вил, будем называть суперпозицией функций fi,
ft, • • •, fh-
Имея, например, элементарные функции отрицания,
дизъюнкции, эквивалентности и импликации, можно со-
ставить следующие новые функции алгебры логики, яв-
ляющиеся суперпозициями этих функций:
хг V х2,
(х, \/х2) — (х, v*3);
[(х2^х3) \/ х,]^(х2 — х^ и т. д.
Используя таблицы, определяющие элементарные
функции, можно задавать любую функцию алгебры ло-
гики, являющуюся суперпозицией этих функций.
Пример 1-5. Пусть требуется представить в виде таблицы сле-
дующую функцию:
f (х„ х2, х3) = {[(Xi ~ х3) V (Xi I *г)] (Х1фХ2)} -* х3.
Будем строить функцию f последовательно.
1-3. ВЫРАЖЕНИЕ ОДНИХ ЭЛЕМЕНТАРНЫХ ФУНКЦИЙ
ЧЕРЕЗ ДРУГИЕ
В этом параграфе мы установим ряд формул, кото-
рые в дальнейшем будут широко применяться. Для до-
казательства всех формул будем пользоваться единооб-
разным методом. Этот метод заключается в непосредст-
венной проверке совпадения функций, образующих пра-
вую и левую стороны доказываемого соотношения:
х. —> х2 — xt V х2 (1-3)
х3 Х1 -> х2 х3 Xi х, V х„
0 0 1 0 0 1 1
0 1 1 0 1 1 1
1 0 0 1 0 0 0
1 1 1 1 ) Х2 = X, 'х 1 х2. 0 1 (1-4)
*1 ха X, ф ха *1 х2 Xi — х2 Xi Хц
0 0 0 0 0 1 0
0 1 1 0 1 0 1
1 0 1 1 0 0 1
1 1 0 1 1 1 0
Xt -v X„ = (X, V X2)(X, V x2).
(1-5)
X, Хз Xi — ха *1 Х1 х2 х, V х2 х, V х2 (х, V х2)_& & (х, V х,)
0 0 1 0 0 1 1 1 1 1
0 1 0 0 1 1 0 1 0 0
1 0 0 1 0 0 1 0 1 0
1 1 1 1 1 0 0 1 1 1
х=х. (1-6)
X X X
0 1 1 0 0 1
x> ф x2 = (X! V xJ (x> V x2).
(1-7)
Справедливость этой формулы вытекает из формул
(1-4) и (1-5).
х1х2 = х1\/х2. (1-8)
Х1 х2 XjX2 Xi Ха Х1 х2 Xj V х,
Xi V Хз
0 0 0 0 0 1 1 1 0
0 1 0 0 1 1 0 1 0
1 0 0 1 0 0 1 1 0
1 1 1 1 1 0 0 0 1
Xj V х2 = х х2. (1-9)
Xj ха Х1 V х, Xj Хз Xi X, ХхХа Х1Х2
0 0 0 0 0 1 1 1 0
0 1 1 0 1 1 0 0 1
1 0 1 1 0 0 1 0 1
1 1 1 1 1 0 0 0 1
1-4. СВОЙСТВА КОНЪЮНКЦИИ, дизъюнкции
И ОТРИЦАНИЯ
Функции конъюнкции и дизъюнкции обладают рядом
свойств, аналогичных свойствам обычных операций ум-
ножения и сложения. Легко убедиться в том, что для
этих функций имеют место сочетательный
Х1(хгХз,) = (х1Х2.)х3;
х, V (х2 V *з) = (A V хг) V х3,
переместительный
XiX2 = X2Xi;
xt \/ х2 = V xt
и распределительный
х. (х2 \/ х3) — (х&) V (х,х3)
законы. Кроме того, имеет место распределительный за-
кон дизъюнкции относительно конъюнкции:
х> V (X2XS} (Xj \/ х2) (xt \/ Х3).
Проверим справедливость этого закона путем срав-
нения таблиц для функций, состоящих в левой и правой
частях рассматриваемого соотношения.
х3 *3 Х2Хз х, V V(xax3) Хз X1VX3 (X,VX2) & & (Ъ V *з)
0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 1 0 1 0
0 1 0 0 0 0 1 0 1 0 0
0 1 1 1 1 0 1 1 1 1 1
1 0 0 0 1 1 0 0 1 1 1
1 0 1 0 1 1 0 1 1 1 1
1 1 0 0 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1
Совпадение построенных таблиц доказывает наше ут-
верждение.
Рассмотрим теперь ряд простых, но весьма важных
соотношений
X V х — х;
XX = Х;
(1-Ю)
XV1 = 1;1
x\=x; j
x V 0 = x; 1
xO = 0; j
x V x = 1; 1
xx = 0. J
(1-11)
(М2)
(М3)
Из (1-10) как следствие получаем:
х v * V ••• Vх—м
ХХ...Х — Х.
Как обобщение формул (1-8) и (1-9) получаем сле-
дующие формулы, обычно называемые формулами де
Моргана:
М \/\/ ... \/xn = xt х2 ...хп; (1-14)
xtx2... xn = xt у х., V ••• V хп- (1-15)
1-5. СВОЙСТВА СЛОЖЕНИЯ ПО МОДУЛЮ 2
ИМПЛИКАЦИИ И ФУНКЦИЙ ШЕФФЕРА И ВЕББА
Свойства функции сложения по модулю 2 и функции
импликации часто бывают полезными при анализе и син-
тезе различных дискретных устройств.
Для функции сложения по модулю 2 имеют место
переместительный и сочетательный законы, а также рас-
пределительный закон относительно конъюнкции:
М & (х2 ф х8) = (Xj & х2) ф (х, & х8).
Имеют место также очевидные соотношения:
хфх = 0;'
х ф 0 = х;
хф1=х;
хфх= 1.
(1-16)
Кроме того, имеет место формула
-^-1 V "^"2-----------(В "^'2 СЭ •^'1-^'2 •
(1-17)
В отличие от всех ранее рассмотренных функций
для импликации не имеют места переместительный и со-
четательный законы1:
х—>х=1;
х —» х = х;
х —> 1 = 1;
х —> 0 = х;
0—*х=1;
1 —-х = х;
Х1 = Х2 = Х2 — XjJ
x,—^x2—^xi = xi.
(1-18)
Функции дизъюнкции и конъюнкции могут быть вы-
ражены через импликацию следующим образом:
(М9)
Для функций Шеффера и Вебба имеет место переме-
стительный закон
х1/х2 = х2/х1;
Сочетательный закон для них несправедлив:
'’'ч/О'аМз) 5^
Х1 I (^2 1 хз)^*(Х1 I хг) 1 хз* 1
1 В дальнейшем запись Xi——>-х3 будет пониматься как
(xi—>х2)—>хз.
Имеют место следующие очевидные соотношения,
проверка которых представляется читателю:
х)х = х, х | х = х;
xfx — 1, х | х = 0;
х/1 = х, х | 1 = 0;
х/0 = 1, х | 0 = х;
(1-20)
В силу отсутствия сочетательного закона действия
раскрытия скобок и вынесения за скобки для функций
Шеффера и Вебба специфичны и выполняются по сле-
дующим правилам:
(х1/х2)/(х,/х3) = х1/(х2/х3) = х1 | (х2 | х3);
(х, | х2) | (Xj | х,) = х, | (х2 | х3) = х,/(х2/х3);
(х,/х2) I (х1/х3) = х,/(х2 I х8) = х, I (г2/х3);
-------=—=— _ (1-^1)
(х, I х2)/(х, I х3) = х, I (х2/х3) = х,/(х2 I х3);
(х, I х2)/(х3 I х4) = х,/х2/х3/х4.
Доказательство справедливости этих соотношений ана-
логично. Докажем, например, справедливость равенства
(х, | х2)/(х, | х3) = х, | (х2/х3).
Используя два последних соотношения из (1-20),пре-
образуем обе части этого соотношения следующим обра-
зом:
(х, | х2)/(х, | х3) = х1\/х2/ х, V х3 =
= (х, v *2) V (*. V *3) = V V
X, I (х2/х3) = х, У (x2fx3) = x1\/ (х2\/ Х3) = Хг V^VX3’
Совпадение левой и правой частей после проведения
эквивалентных преобразований доказывает равенство.
Функции Шеффера и Вебба связаны между собой
соотношениями, аналогичными формулам де Моргана
для функций конъюнкции и дизъюнкции:
ха;1 (122)
X, 1 x2 = xtfx2. J
Для доказательства справедливости первого из этих
соотношений заметим, что на основании двух последних
равенств из (1-20) можно первое из соотношений (1-22)
переписать в следующем виде:
х1х2 = х1 \/ х2;
Так как полученное соотношение есть формула де
Моргана, то первое из соотношений (1-22) справедливо.
Для второго соотношения доказательство аналогично.
1-6. ОСНОВНЫЕ КЛАССЫ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ
Для решения ряда принципиальных вопросов, связан-
ных с теорией функций алгебры логики и с практиче-
ским применением результатов этой теории для анализа
и синтеза схем, полезно рассмотреть основные классы
функций алгебры логики.
В качестве первого класса таких функций мы рас-
смотрим класс функций, сохраняющих константу нуль,
т. е. таких функций, для которых имеет место равенство
f (0, 0,. ,.,0)=0.
Этот класс функций мы будем обозначать буквой Ко-
Очевидно, что при фиксированном п число функций это-
го класса составляет половину всех функций алгебры ло-
гики, т. е. 22'1 1 функций.
Аналогично класс функций, сохраняющих константу
единица, будет определен как класс функций, для кото-
рых имеет место равенство
f(l, 1,...,1) = 1.
Этот класс, состоящий также из 22" функций, бу-
дем обозначать символом Кх.
Определение 1-4. Функция f*(xi,.. .,хп) называ-
ется двойственной к функции f (xi,..хп), если имеет
место равенство
f* (Xi, . . Хп) = f (xi,.. ; Хп)-
Определение 1-5. Функция f(xi, ..., хп) называ-
ется самодвойственной, если она совпадает с двойствен-
ной себе функцией, т. е. имеет место равенство
>f(Xl, . . ., Хп) =f (xi, . . ; Хп)-
Класс самодвойственных функций будем обозначать
буквой U. Число членов этого класса равно 22’1~', так
как самодвойственная функция от п аргументов пол-
ностью определяется на половине наборов значений
аргументов.
Определение 1-6. Функция f(xi,...,xn) называет-
ся линейной, если она представима в следующем виде:
f = со ф cixi ф ... фСп-^п»
где коэффициент щ может принимать значение 0 или 1.
Класс линейных функций будем обозначать буквой L.
Число членов этого класса равно 2п+1.
Будем говорить, что набор значений аргументов Л, =
= <xj , х^,..., х^> не меньше набора значений аргу-
ментов Л2 = < х, , х2,..., хп>, если между всеми ком-
понентами наборов X, и установлено соотношение
х1 >x*(i=l, 2, ...,п). Отметим, что при таком опреде-
лении набор <1, 0, 1, 1> не меньше набора <1,0,1,0>,
а наборы <1, 0, 1, 1> и <0, 1, 1, 1> несравнимы.
Определение 1-7. Функция f(Xt,...,xn) называет-
ся монотонной, если для любых двух наборов Xi и Хг,
таких, что Xi^Xz, имеет место равенство
f(Xi)^f(X2).
Класс монотонных функций мы будем обозначать
буквой М. Число функций класса М оценивается асимп-
тотически
М И
2С" <т(п)<2''С“ ,
где ср(п) — число монотонных функций алгебры логики,
зависящих от п аргументов, а А — некоторая константа.
Нижняя оценка получена Э. Н. Гильбертом, а верх-
няя— В. К. Коробковым.
Определение 1-8. Функция f(xit.хп) называет-
ся симметричной, если она не изменяется при произволь-
ной перенумерации аргументов:
f(Xi,..., xn)=f(yi„ .., уп), (1-23)
где (у-,,..., уп) — любая перестановка аргументов
(Xi, . ., Хп).
Класс таких функций будем обозначать буквой S.
1-7. АНАЛИТИЧЕСКАЯ ЗАПИСЬ ФУНКЦИЙ
АЛГЕБРЫ ЛОГИКИ
В этом параграфе изложены универсальные методы
перехода от таблицы задания функции алгебры логики
к аналитическому представлению этой же функции.
Пусть мы имеем двоичный набор <х*ь х*2, . •., х*п>.
Сопоставим ему число i, определяемое следующим об-
разом:
i = x*i2n^ + х*22п~2 +... + х*п2°.
Число i будем называть номером набора
<х*ъ х*2,..х*п>- Рассмотрим функцию F,(Xi, х^,..., хп),
определяемую следующим соотношением:
„ 1 1, если номер набора есть i, .. _.v
гг = (1’24)
( 0, в противном случае.
Такую функцию мы будем называть характерис-
тической функцией единицы. Предположим,
что нам удалось построить аналитическое выражение для
функций Fi (как это можно сделать, описывается ниже).
Тогда имеет место следующая теорема.
Теорема 1-3. Любая таблично заданная функция
алгебры логики может быть задана в следующей ана-
литической форме:
f(x„ х2, ...,xn)=F у F у ...\/ = V /у, (1-25)
где 1\ есть множество номеров наборов, на которых функ-
ция обращается в единицу.
Справедливость этой теоремы вытекает из следующе-
го. Возьмем произвольный набор аргументов из таблицы,
задающей функцию. Возможны два случая. Если на этом
наборе функция равна единице, то в соотношении (1-25)
в его правой части найдется у которой ij соответст-
вует номеру рассматриваемого набора. Но тогда на осно-
вании (1-24) на данном наборе Fi-будет равна единице.
В силу (1-11) при этом вся правая часть (1-25) также
будет равна единице. Если же на рассматриваемом на-
боре аргументов функция f равна нулю, то, как это сле-
дует из формулировки теоремы, среди характеристиче-
ских функций Fi. входящих в соотношение (1-25), не
будет такой, у которой индекс совпадает с номером
рассматриваемого набора аргументов. Но тогда в силу
(1-24) все члены дизъюнкции в правой части (1-25) бу-
дут равны нулю, что эквивалентно обращению всей пра-
вой части в нуль. Так как мы показали, что левая и
правая части соотношения (1-25) совпадают на любом
наборе аргументов, то теорема 1-3 доказана.
В теореме 1-3 мы воспользовались дизъюнкцией ха-
рактеристических функций. Посмотрим, нельзя ли вместо
дизъюнкции использовать какую-либо другую функцию
алгебры логики. Для того чтобы выполнялось соотноше-
ние, подобное соотношению (1-25), необходимо, чтобы
при обращении любой из характеристических функций
в единицу все выражение обращалось в единицу, а при
обращении всех характеристических функций в нуль все
выражение также становилось равным нулю. Если обоз-
начить неизвестную операцию значком V, то сформули-
рованные нами условия можно записать в виде следую-
щей таблицы:
0 0 0
о 1 1
1 о
1 1
1
Знак вопроса в последней строке таблицы соответст-
вует такой комбинации значений характеристических
функций, которая никогда не может встретиться (i¥=j)-
Поэтому искомая функция V может быть определена
двумя различными способами. Если в ее определяющую
таблицу вместо вопросительного знака дописать едини-
цу, то полученная функция будет дизъюнкцией. Этот слу-
чай рассматривался нами в теореме 1-3. Если же вопро-
сительный знак в таблице заменить нулем, то мы полу-
чим функцию сложения по модулю 2.
Следствие. Любая таблично заданная функция ал-
гебры логики может быть представлена в следующей
аналитической форме:
f(xt, хг......= = ф F (1-26)
* ‘jGr>
Представление функции в виде (1-25) мы будем на-
зывать дизъюнктивным представлением,
а представление ее в виде (1-26) — полиномиаль-
ным представлением.
Для получения представлений другого типа рассмот-
рим функции ФДХ1, х2, ..., хп), определяемые, как
О, если номер набора есть I,
1, в противном случае.
Такие функции мы будем называть характерис-
тическими функциями нуля. Из соотношений
(1-24) и (1-27) Fi(xi, х2, ..., хп)=Ф»(Х1, х2, ..., хп).
Теорема 1-4. Любая таблично заданная функция
алгебры логики может быть задана в следующей ана-
литической форме:
f(x„ х2, ...,л:п) = Ф.>.Ф./...-Ф(. = & Ф; , (1-28)
k i
где То есть множество номеров наборов, на которых
функция f обращается в нуль.
Доказательство теоремы 1-4 проводится точно также,
как и теоремы 1 -3.
Вместо конъюнкции в соотношении (1-28) можно
взять любую функцию, которая удовлетворяет следую-
щим условиям:
ф* I
О О
О 1
?
О
При записи в первой строке правого столбца таблицы
нуля получаем конъюнкцию, рассматривавшуюся в тео-
реме 1-4, а при замене знака вопроса единицей — функ-
цию эквивалентности.
Следствие. Любая таблично заданная функция ал-
гебры логики может быть представлена в следующей
аналитической форме:
f(x>, х2,...)хп) = Ф1.~Ф/а^...^Ф/1 (1-29)
1 * ft
где ij^T0.
Представление функции в виде (1-28) мы будем на-
зывать конъюнктивным представлением.
Представление ее в виде (1-29) не имеет традиционного
установившегося названия.
Найденные нами четыре представления с использо-
ванием характеристических функций являются основ-
ными для всего дальнейшего исследования *.
Перейдем теперь к аналитическому выражению са-
мих характеристических функций.
Условимся о ряде обозначений. Введем в рассмот-
рение «степень» аргумента х, котору(ю будем обозна-
чать х\ Положим, что
x“=[5a = i’ (1-зо)
( х, а = 0.
Рассмотрим конъюнкцию
.«а
2 ’
. х
(1-31)
Набор <ai, аг,..ап> двоичный и существует ровно
2" различных таких наборов. Таким образом, число раз-
личных конъюнкций вида (1-31) также равно 2П.
Сопоставим каждой конъюнкции (1-31) номер, опре-
деляемый номером набора <щ, аг,...,ап>- Тогда за-
пись
V (x“’x2“’...Z")f
‘е3
означает дизъюнкцию всех конъюнкций с номерами из
множества о.
1 При доказательстве теорем 1-3, 1-4 и формулировке обоих
следствий не рассматривались функции константы, аналитическое
представление которых имеет некоторые особенности. Константа
нуль может быть представлена лишь в виде (1-28) и (1-29). Пред-
ставление нуля содержит при этом 2П характеристических функций
для всех возможных наборов аргументов. Константа единица пред-
ставляется в виде (1-25) или (1-26) в виде набора 2П характеристи-
ческих функций.
Введенный нами знак V является аналогом знака
суммы в математике
Аналогично запись
& (x-v^2V-V<n)z
означает конъюнкцию всех дизъюнкций с номерами из
множества о. Знак & аналогичен знаку произведения.
Покажем, что = \ тогда и только тогда, когда
выполняется равенство
Xi КЦ.
Это вытекает из рассмотрения следующих четырех
возможных случаев:
хг=0] _
ь 1 = хг = 1;
аг=0) ‘
2. х ‘=хг = 0;
аг=1] 1
3. Xi= 1’|х“‘ = хг = 0;
аг• = О J 1
Таким образом, конъюнкция х^х*2... х^ не обра-
щается в нуль только в том случае, если одновременно
выполняются следующие i равенств:
х, = <%,;
Х2 = а2;
(1-32)
Из (1-32) вытекает, что
Fi (Х,, Х2, ..., Хп) = Х1Х22... х“"
при условии, что
i=at2"-1 + a22"-2 +... + an2°.
1 Если а совпадает с множеством всех 2" номеров, то мы бу-
дем опускать знак под V И &•
Тогда на основании теоремы 1-3 можно утверждать,
что любая функция алгебры логики, кроме нуля, может
быть представлена в следующей форме:
....хп) = \/ х^... х\ (1-33)
1
При этом дизъюнкция в правой части (1-33) берется
только по тем номерам наборов аргументов, на которых
функция, заданная таблицей, обращается в единицу.
Представление функции алгебры логики в виде
(1-33) мы будем называть дизъюнктивной совер-
шенной нормальной формой этой функции.
Доказанная теорема дает возможность сформулиро-
вать алгоритм перехода от табличного задания функции
к записи этой функции в виде дизъюнктивной совершен-
ной нормальной формы (ДСНФ). Этот алгоритм фор-
мулируется следующим образом:
1. Выбрать в таблице задания функции все наборы
аргументов, на которых функция обращается в единицу.
2. Выписать конъюнкции, соответствующие этим на-
борам аргументов. При этом, если аргумент Xi входит
в данный набор как 1, он вписывается без изменения
в конъюнкцию, соответствующую данному набору. Если
же Xi входит в данный набор как 0, то в соответствую-
щую конъюнкцию вписывается его отрицание.
3. Все полученные конъюнкции соединяются между
собой знаками дизъюнкции.
Пример 1-6. Пусть задана функция f(Xi, х2, х3) следующей
таблицей:
X, Xi Х3 f (X,, х2, х3) Xj Xi Х3 f (хь ха, х3)
0 0 0 0 1 0 0 1
0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 1
0 1 1 1 1 1 1 0
Требуется получить для нее дизъюнктивную совершенную нор-
мальную форму.
Для нахождения дизъюнктивной совершенной нормальной фор-
мы выбираем из таблицы только те строки, в которых стоят наборы
значений аргументов, обращающие функцию в единицу. Это четвер-
тая, пятая и седьмая строки. Выписываем конъюнкции, соответст-
вующие выбранным строкам:
Х1Х2Х3, Х1Х2Х3, Х1Х2ХЗ-
Соединяя эти конъюнкции знаками дизъюнкций, окончательно
получаем:
f (Xi, %21 Х'з) - Х1Х2Х3 XjXg Х'З \/ XjXg Хд.
Если вместо соотношения (1-25) воспользоваться со-
отношением (1 -26), то мы получим полиномиальную
совершенную нормальную форму (ПСНФ).
ПСНФ получается из ДСНФ путем замены знака дизъ-
юнкции знаком сложения по модулю два. Так, для функ-
ции, рассмотренной нами в примере 1-6, ПСНФ имеет
следующий вид:
Кроме представления функции алгебры логики
в ДСНФ, возможно представление ее в некоторой дру-
гой форме, двойственной по отношению к ДСНФ.
Теорема 1-5. Любая функция алгебры логики, кро-
ме единицы, может быть представлена в следующей
форме:
f (х„ х2, ..., хп) = & (x“*V x2“*V - V <”). (1-34)
о я
Символ & означает, что конъюнкция берется только
о
по тем наборам <щ, аз, ..., а«>, для которых выпол-
няется равенство
ffai, а2,..ап)=0.
Переходим к доказательству соотношения (1-34).
Имеем:
7(х„ х2, ..., хп) = V х^'х? • • •
или
Ж, х2....*п) = у х^'х^ .../я7(а1>а2, -,an).
Как известно, равенство не нарушается, если от обеих
его частей взять отрицание:
f (хи х2....хп) = V хрх22... x“nf (a,, a2,..., an).
К правой части теперь можно применить соотношение
(1-14); ________________________
f (х„ х2..хп) = & х^'х*’... х“п7(а„ а2.... ап).
К конъюнкциямх?‘, х*2 ...xanf применим формулу де Мор-
1 Л 71
гана (1-15):
f х2, ..., хп)
= & (х“2 V < V - V V f («>.......ап))-
На тех наборах, для которых
f(ai, а2, •.ап) = 1,
соответствующая дизъюнкция
х“’ V х’2 V ... V ХУ V f(ai> а2, •••, ап)= 1.
Такие наборы в силу (1-11) на значение конъюнкции
не влияют, и ими можно пренебречь:
/ (х„х2,..., хп) = & (х“‘ V x^V ... V х“п).
Теорема доказана для всех п^1. Для функции f, тож-
дественно равной нулю, на основании (1-13) имеем:
0=Xixi.
Теорема полностью доказана.
Представление функции алгебры логики в виде
(1-34) носит название конъюнктивной совершенной нор-
мальной формы (КСНФ).
Из сравнения (1-28) и (1-34) вытекает, что
ФЛ (х„ Х2 ..., хп) = х”1 V x’2 V ••• V х*
нрн условии, что
/=0^”-* + аг2п~2+... + аГ12°.
Вместо доказательства теоремы 1-5 можно было бы
воспользоваться тем фактом, что характеристические
функции Фг- получаются как отрицание функций Fi.
Из теоремы 1-5 вытекает алгоритм построения
КСНФ:
1. Выбрать в таблице задания функции все наборы
аргументов, на которых функция обращается в нуль.
2. Выписать дизъюнкции, соответствующие этим на-
борам аргументов. При этом, если аргумент х» входит
в данный набор как 0, он вписывается без изменения
в дизъюнкцию, соответствующую данному набору. Если
же Xi входит в данный набор как 1, то в соответствую-
щую дизъюнкцию вписывается его отрицание.
3. Все полученные дизъюнкции соединяются между
собой знаками конъюнкций.
Пример 1-7. Написать КСНФ для функции, заданной следующей
таблицей:
Xi xs f xa, X%) Xi X2, *3 f (x,, x2, x3)
0 0 0 0 0 0 0 1
0 0 1 1 1 0 1 1
0 1 0 1 1 1 0 1
0 1 1 0 1 1 1 0
f (х„Хг, Х3) = (х, V М V хз) (х> V М V хз) (х> V ’Ч V хз)-
Как следует из алгоритмов построения ДСНФ и
КСНФ, выбор той или иной формы аналитической запи-
си определяется видом таблицы заданной функции. Если
большинство значений данной функции нулевое, то вы-
годно записывать ее в ДСНФ, в противном случае бо-
лее экономную запись дает КСНФ.
Если вместо конъюнкции в (1-34) использовать функ-
цию эквивалентности, то мы получим представление
в форме (1-29). Для функции из примера 1-7 это пред-
ставление имеет следующий вид:
f (х„ х2, xs) = (х, V хзу х3) со (х, V *2 V хз)
co(xt \/х2\/х3).
Характеристические функции Ft и Ф4 могут быть вы-
ражены через функции, отличные от конъюнкции и от-
рицания или дизъюнкции и отрицания. Можно, напри-
мер, выразить их с помощью отрицания и импликации.
Теорема 1-6. Любая функция алгебры, логики, кро-
ме тождественной единицы, может быть представлена
в следующей форме:
f (xt,x2, ...,хп) =
= х”’1-1 —> x"n). (1-35)
Q ' 1 * n - 1 n '
Для доказательства заметим, что для любого набора
значений аргументов <x*lt х*2, , х*п>, для которого
f(xi, хг,..хп)==0, найдется в конъюнкции имплика-
ция ф£
ф.---- /“1 , у-*»» , , ‘“п
т 1 ~ «А- 1 ' • • • ' "А- ’ ’'Х »
‘1 1 2 п-1 п г
обращающаяся в нуль на этом наборе и принимающая
значение единицы на всех остальных наборах. Для этого
достаточно вхождения всех аргументов Xi, кроме Xi, в ф4
с отрицанием, если х*4=1, и без отрицания —в против-
ном случае. Для Xi условия вхождения противоположны.
При желании в (1-35) можно заменить конъюнкцию
импликацией и отрицанием на основании (1-19):
Пример 1-8. Пусть задана функция f(xi, Хг, Хз, xi) таблицей
х3 *3 X, f Xi х2 Хз х4 f
0 0 0 0 1 1 0 0 0 1
0 0 0 1 0 I 0 0 1 1
0 0 1 0 1 I 0 1 0 1
0 0 1 1 1 1 0 1 1 0
0 1 0 0 1 1 1 0 0 1
0 1 0 1 0 1 1 0 1 1
0 1 1 0 1 I 1 1 0 1
0 1 1 1 1 I 1 1 1 0
Записать эту функцию в импликативной форме.
Составляем импликативные функции <Рг."
! = х 1 * х% Л'з * х^;
— Х\ ~~Х% •Х'з ~~X<^t
3 — Л» 1 ~~Л»2 Х$ Х^,1
= Х1 "* Х% * %з > %4.
Записываем функцию f (х,, х2, х3, х4) в форме (1-35):
f (Xi, Хз> Х3, Х4) = (х, * Хз * Хз ~л Х4) &
& (X, -» Х2 -> Х3 -> Х4) & (х, -> Хз -* Хз -> х4) &
—* Х3 —* Х4).
& (X, -»х2
После применения (1-19) получим:
/(%!, х2, х3, х4) = -* [f2 (<ps — f4)J.
Импликативная форма записи (1-35) является анало-
гом КСНФ. Аналогом ДСНФ является вторая форма
импликативной записи.
Теорема 1-7. Любая функция алгебры логики, кро-
ме тождественного нуля, может быть представлена в сле-
дующей форме:
f (ХИХг, хп)= \/хр—* Xj2—*... — xj. (1-36)
i 71
Для доказательства справедливости (1-36) достаточ-
но заметить, что функции
устроены так, что каждая такая функция обращается в
единицу на наборе, соответствующем набору <ai, аг,....
...,аи>, и равна нулю на всех остальных наборах.
При желании дизъюнкция в (1-36) может быть заме-
нена через импликацию и отрицание на основании (1-19):
X1V Х2 = Х1-^Х2.
Ф» = —> xt —» X,.
На основании (1-36) получаем:
f (Xj, Х3, Х>) — (X, —* Х2 - Xt) (X, > X, —* Х3).
или, применяя (1-19),
/ (Хз, Х2, Хз) ==.(Х| * Х2 * Х3) * (X1 - Х2 * Х3).
1-8. ПОЛНЫЕ СИСТЕМЫ ФУНКЦИЙ
Определение 1-9. Система функций алгебры логи-
ки {fi, h> • • •> fm} называется полной в классе R, если лю-
бая функция ср, принадлежащая R, может быть представ-
лена суперпозицией функций ф, ф,..fm.
Определение 1-10. Система функций {fi, f2, ... fm},
являющаяся полной в классе R, называется базисом.
Определение 1-11. Минимальным базисом назы-
вается такой базис, для которого удаление хотя бы од-
ной из функций fi, образующих этот базис, превращает
систему функций {ф, ф,---,{т} в неполную.
В качестве класса R будем рассматривать класс всех
функций алгебры логики, зависящих от п аргументов.
Этот класс будем обозначать как Мп-
В силу теоремы 1-1 общее число различных функций,
2^ т—г
зависящих от п аргументов, равно 2 . Поэтому сущест-
вует тривиальная полная система в классе Мп, состоящая
из всех 22 функций этого класса. Рассмотрим другие
полные системы функций в классе Мп.
В предыдущем параграфе мы показали, что любая
функция может быть представлена в виде ДСНФ или
КСНФ [соотношения (1-33) и (1-34)]. Следовательно,
оказывается верным утверждение о полноте системы,
состоящей из трех функций: конъюнкции, отрицания и
дизъюнкции. Если воспользоваться формулами де Мор-
гана
Х,Хг = Xt V Х2; Xi\/X„ = XiX2,
то в ДСНФ или КСНФ можно заменить конъюнкцию
через отрицание и дизъюнкцию или дизъюнкцию заме-
нить через отрицание и коньюнкцию. Легко проверить,
что базисы {—, <&} и {—, V} являются минимальными.
Из того факта, что всякая функция представима
в совершенной полиномиальной форме, следует полнота
системы, состоящей из функций конъюнкции, сложения
по модулю 2 и отрицания. Из этой системы можно ис-
ключить отрицание, воспользовавшись соотношением
(1-16) Т = х@1. Если в ПСНФ произвести такую заме-
ну, то мы получим представление функции через сложе-
ние по модулю 2, конъюнкцию и константу 1. Такое пред-
ставление носит название полинома Жегалкина
(полинома по модулю 2).
Пример 1-10. Записать п виде полинома по модулю 2 функцию
f (х,, х2, х3) = (х2сох3) \/ (х21 х2).
Применяя соотношения (1-4), (1-5), (1-14), (1-17) н распреде-
лительный закон сложения по модулю 2 относительно конъюнкции,
получаем:
f (Xi, х2, х3) — (х2 V ^з) V (X i V ^s) ~
— (Х2 Ф Х3 ф 1) V (X i ® Х2 ф Х2Х2) —
= (Х2 фх3 ф 1) V (*1 ® *2 ф Х,Хг ф 1) =
= Х2®Х3ф 1 фХ1фхгфЛ1Хгф 1 ф(ХгфХ3ф 1) &
& (X, фх2ф ХгХ2 ф 1) =
= х, ф Х3 ф Х,Х2 ф ХА ф Х2 ф ХЛ ф х2 ф XtX3 ф
CD Х2Х3 CD Х3Х2Х3 CD Х3 CD Xi CD x2CD х3х2 CD 1
== х2 CD XjX3 CD х2х3 ф Х]Х2х3 ф 1.
Из соотношения (1-29) и способа построения харак-
теристических функций вытекает, что полную систему
функций образуют отрицание, дизъюнкция и эквивалент-
ность, а из теоремы 1-6 вытекает представимость любой
функции в системе, состоящей из конъюнкции, отрица-
ния и импликации. Для последного представления мож-
но заменить конъюнкцию через отрицание и импликацию
(х1х2 = х1—а отрицание — через импликацию и кон-
станту нуль (х=х—-И)). Импликация и нуль образуют
минимальный базис.
Теорема 1-8. Функция Шеффера образует в Мп
полную систему.
Доказательство теоремы вытекает из таблицы
Xi Х1 Xi/x, %1 хЛ хЦх, %1/х.
0 0 1 1 1 0 1 0
0 1 1 1 1 1 0 0
Таким образом,
XlX2 = Xi/%2; Х1 = Х1/Хь
т. е.
х^х^Сх^х^хфхг).
Теорема доказана, так как отрицание и конъюнкция
образуют в Мп полную систему.
Теорема 1-9. Функция Вебба образует в Мп пол-
ную систему.
Доказательство теоремы проводится так же, как р
теоремы 1-8.
В дальнейшем будем рассматривать в основном пол-
ную систему, состоящую из отрицания, конъюнкции я
дизъюнкции.
Пример 1-11. Записать, используя только функцию Вебба, функ-
цию алгебры логики _
f (Xj, Хг, Х3) ” V ХгХз*
Используя последовательно соотношения
X 1 — X1 4 X1, X1X2 — X1 4 X 2 И X 1 \У Х2 — X । 4 %2 >
получаем:
f (Х), Х2, Х3) = Х\ (%2 1 %з) = Xi 4 (Х-2 4 Х‘з) =
“ {Х1 1 [(^2 1 Х-2) 4 Х3]} 1 4 [(-^2 4 Х2) 4 -Х-з]}’
Задача о полноте состоит в следующем. Дана
система функций алгебры логики {fi, f2, ..., fm}. Ответ
на вопрос, является ли эта система полной в классе ЛД,
дает следующая теорема Поста — Яблонского, которую
мы приводим без доказательства.
Теорема 1-10. Для того чтобы система функций
{/’1, /г, • • •, fm} была полной, необходимо и достаточно,
чтобы она содержала функции: 1) не сохраняющую
константу нуль, 2) не сохраняющую константу единица,
3) не являющуюся самодвойственной, 4) не являющую-
ся линейной, 5) не являющуюся монотонной.
Применим теорему 1-10 к доказательству полноты
системы функций {—,V}- Функция отрицания не со-
храняет константы нуль и единицы и не является моно-
тонной.
Функция дизъюнкции не является самодвойственной
и линейной.
На основании критерия полноты можно утверждать,
что система {—, V} является полной.
При определении полноты некоторой системы удобно
пользоваться таблицей, в которой принадлежность эле-
ментарных функций тому или иному из классов, исполь-
зуемых в теореме 1-10, отмечена крестиком.
Функция Ко Xi L м S
Отрицание Дизъюнкция + + + + +
Конъюнкция + + +
Импликация Сложение по модулю 2 + + +
Функция Шеффера Функция Вебба
Эквивалентность + +
Пример 1-12. Доказать, что система функций {—, -^) неполна
в классе Мп.
Для показательства проверяем условия теоремы 1-10. Функция
отрицания не сохраняет константы и не является монотонной. Одна-
ко и функции отрицания и функция эквивалентности являются ли-
нейными. Необходимые условия критерия полноты не выполнены и,
следовательно, система {—, неполна.
Интересна следующая теорема, связанная с пробле-
мой построения минимального базиса в классе Мп.
Теорема 1-11. Из всякой полной системы функций
можно выбрать полную подсистему, состоящую не более
чем из четырех функций.
Пусть {fi, f2, ..., fm} — полная система. Тогда среди
fi найдется в силу теоремы 1-10 функция /*, не сохра-
няющая константу нуль. Если
,f*(l, 1, ..., 1) = 1,
то эта же функция является несамодвойственной. Ес-
ли же
f*(l, 1....1) =0,
то f* является функцией, не сохраняющей константу
единица и немонотонной.
Присоединяя к f* недостающие три функции, полу-
чаем систему, состоящую не более чем из четырех функ-
ций алгебры логики. При этом возможен случай, когда
минимальный базис будет состоять в точности из четы-
рех функций алгебры логики.
Обобщим понятие функций Вебба и Шеффера.
Многоместной функцией Шеффера бу-
дем называть любую функцию f(xf, х2, ..., хп), которая
является одновременно функцией, не сохраняющей кон-
станты 0 и 1, и является несамодвойственной, немонотон-
ной и нелинейной. Такая функция на основании теоре-
мы 1-10 образует полную систему.
Можно показать, что достаточно потребовать лишь
того, чтобы функция не сохраняла константы и была бы
несамодвойственной. Из этих требований будет вытекать
ее немонотонность и нелинейность.
Общее число различных функций Шеффера на осно-
вании результатов предыдущего параграфа можно оце-
нить следующим образом:
= НтЗЩ>=4-
п->оо *
Полученная оценка показывает, что число различ-
ных функций Шеффера бесконечно и, следовательно,
в двоичной логике существует бесконечное число ба-
зисов.
Следуя Г. А. Шестопал, назовем базис простым, если обра-
зующие его функции обладают следующим свойством: при любом
отождествлении аргументов получающаяся система функций не явля-
ется базисом. Простые базисы изучались Г. А. Шестопал, которая
показала, что для двоичной логики существует всего 44 различных
простых базиса; 2, содержащих одну функцию; 16, содержащих
две функции; 23, содержащих три функции, и 3, содержащих четыре
функции.
Для не полностью определенных функций критерий полноты
был получен Р. В. Фрейвалдом. Прежде чем его сформулировать
введем восемь специальных классов функций. К классу Afi относят-
ся всюду определенные функции алгебры логики или нигде не опре-
деленные функции; к Мг относятся такие функции, которые либо
сохраняют константу нуль, либо не определены на наборе, в котором
все аргументы принимают нулевое значение; к Л13 относятся все
функции, сохраняющие константу единица, либо не определенные
на наборе, в котором все аргументы принимают значение единица;
к Mt относятся функции, сохраняющие одновременно константы
нуль и единица либо не определенные хотя бы на. одном из двух
наборов: нулевом и единичном. Класс Л45 составляют функции, кото-
рые могут быть доопределены до монотонных, а класс Afe — функ-
ции, которые возможно доопределить до самодвойственных функ-
ций. Два последних класса Mr и ЛК имеют более сложную струк-
туру. Введем в рассмотрение линейную функцию <p(xi, хг, х3, xt) =
= х1®х2фх3фх4.
Определим функцию ф(хц xz, х3, xt) как функцию, отличаю-
щуюся от ср только на наборах <0, 1, 1, 0> и <1, 0, 0, 1>. Класс
Mr состоит из функций f(xi, хг, .. ., Хп), удовлетворяющих следую-
щему условию: если для любой упорядоченной четверки наборов
п
(не обязательно различных) & ср(ан, а->:, а3ц ct4i) = l, то либо
cp[f(alf, а12, .... аш), f(a21, а2г, .... а2„), f(a31, а32, .... а3„), f(a41,
atz, ..., am)] равна единице, либо она не определена. Класс Мя
получается аналогичным образом с заменой функции <р на ф.
Обозначим через множество всех неполностью определенных
функций алгебры логики.
Теорема 1-12. Для того чтобы в .V система функций {fb /2,...
..., fm} была полна, необходимо и достаточно, чтобы эта система
не содержалась целиком ни в одном из вышеперечисленных клас-
сов.
Для неполностью определенных функций можно доказать тео-
рему, являющуюся аналогом теоремы 1-11 для .-полностью опреде-
ленных функций.
Теорема 1-13. Из всякой полной системы функций в N мож-
но выбрать полную подсистему, состоящую не более чем из пяти
функций.
Доказательство этой теоремы проводится по аналогии с дока-
зательством теоремы 1-11.
Роль функции Шеффера в N играет функция
р v v \_______J^iV ^2,
I не определено, хг/х;.
Эти функция образует в .V полную систему (минимальный базис).
Р. В. Фрейвалдом показано, что в У это единственная функция,
образующая в единичном количестве полную систему.
1-9. НЕКОТОРЫЕ ВЫВОДЫ ПРИКЛАДНОГО ХАРАКТЕРА
Во введении мы рассматривали принцип работы
конечного автомата без памяти (рис. В-1). Такой ав-
томат полностью определялся заданием конечной таб-
лицы соответствия входных слов Р, выходным словам
Qj. Как было указано, можно рассматривать случай,
когда слова Р{ и Q; представляют собой двоичные сло-
ва, соответственно поступающие на вход автомата и
снимаемые с его выходов. В этом случае работа автома-
та может быть полностью описана с помощью следую-
щей системы функций алгебры логики.-
= Л (*,, X.....хп);
г/2= fs(x„x,, ...,x„);
(1-37)
Ут----Im Ци Х3, •Xп
Здесь P = xi, х2, ..., хп, a Q = z/i, у2, ..., ут.
Вся работа автомата задана либо в виде конечных
таблиц, либо в виде аналитической записи для функ-
ций Е.
Проблема полноты, рассмотренная в предыдущем
параграфе, эквивалентна проблеме выбора стандартно-
го набора логических элементов, из которых будет
строиться автомат. При этом все функции системы
(1-37) будут заменяться аналитическим выражением
через базисные функции. Если, например, за базис
выбраны функции отрицания, дизъюнкции п конъюнк-
ции, что соответствует выбору стандартного набора
логических элементов, состоящего из элементов трех
типов, то все функции из (1-37) могут быть представ-
лены в ДСНФ или КСНФ и после этого реализованы
на стандартных элементах. Уменьшение числа функций,
входящих в базис, соответствует уменьшению числа раз-
личных логических элементов, принятых за стандартные.
Однако следует учитывать и другую сторону вопро-
са. При реализации автомата важно не только количе-
ство типов стандартных элементов, но и общее число их,
затраченное на построение автомата. При этом слож-
ность автомата с точки зрения количества использован-
ных элементов существенно зависит от вида функций
(1-37) и вида функций, выбранных в качестве базиса.
Возникает задача о «простейшем» представлении функ-
ций из системы (1-37) через систему базисных функций.
Решению этой проблемы посвящена следующая глава
книги.
ГЛАВА ВТОРАЯ
МИНИМИЗАЦИЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ
2-1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
В § 1-7 показано, что любая функция алгебры логики
может быть записана в виде ДСНФ или КСНФ. Пока-
жем теперь, что такая запись в ряде случаев является
неэкономной, для чего рассмотрим следующий пример.
Пример 2-1. Пусть задана ДСНФ
f (X,, Х2> Х3) = XiX2X3 V Х)ХгХ3 V Х!Х2Х3 V хгх3 х3 V XiX2X3.
Преобразуем эту ДСНФ следующим образом. Добавим еще
один конъюнктивный член xiXzX?,. Это добавление не меняет данной
функции, так как
х V х = х;
f (Хь Х2. Х3) — Х)Х2Х3 XiX3X3 Х)Х2Х3 \/ Х3Х2 Х3
V X]X2X3 V Х1Х2Х3.
Теперь преобразуем это выражение, используя сочетательное и
распределительное свойства конъюнкции и дизъюнкции:
f (Xj, Х2, Х3) — Х^Х2 (х3 у/ Х3) \/ Х]Х3 (х3 \/ х31 \/
V Х2Х3 (X! V X,).
Используя свойство дизъюнкции х V х = 1, получаем:
f (х,, х2, х3) = XiX2 V XiX2 V х2х3.
Аналогично предыдущему делаем дальнейшие преобразован!!
f (х 1, х2, х3) = х, (х2 \/ х2) V Х2Х3 Х1\/Х2Х3.
Из примера видна неэкономность совершенных нор-
мальных форм для представления функций алгебры
логики. Проблема простейшего представления функций
сводится к проблеме выбора базиса и проблеме наибо-
лее экономного представления функций в этом базисе.
В настоящее время существенные результаты в решении
задачи минимизации получены лишь для базиса, со-
стоящего из отрицания, конъюнкции и дизъюнкции.
Именно этот базис и будет рассматриваться на протя-
жении всей этой главы, за исключением последних пара-
графов. Для уточнения постановки задачи о минимиза-
ции дадим ряд определений.
Определение 2-1. Конъюнкция х^'х^ ... х“п назы-
вается элементарной, если в этой конъюнкции каждая
переменная встречается не более одного раза.
Определение 2-2. Рангом элементарной конъюнк-
ции называется число букв, образующих эту конъюнк-
цию.
Определение 2-3. Дизъюнкция элементарных
конъюнкций называется дизъюнктивной нормальной
формой (ДНФ).
Определение 2-4. Дизъюнктивная нормальная
форма для функции f(xlr х2, ..., хп), состоящая из эле-
ментарных конъюнкций ранга п, называется дизъюнктив-
ной совершенной нормальной формой.
Из этого определения следует, что в ДСНФ входят
конъюнкции наибольшего возможного для данной функ-
ции ранга. Поэтому с точки зрения ранга конъюнкций,
входящих в ДНФ, ДСНФ является наиболее сложной.
Определение 2-5. Длиной ДНФ назовем число
элементарных конъюнкций, образующих эту ДНФ.
Длину ДНФ будем обозначать буквой L.
Определение 2-6. Дизъюнктивная нормальная
форма, имеющая наименьшую длину по сравнению со
всеми другими ДНФ, эквивалентными данной функции,
называется кратчайшей ДНФ (КДНФ).
Определение 2-7. Дизъюнктивная нормальная
форма, содержащая наименьшее число букв по
сравнению со всеми другими ДНФ, эквивалентными
данной функции, называется минимальной ДНФ
(МД НФ).
Определения, аналогичные определениям 14—20,
можно дать и для случая конъюнктивных нормальных
форм. Ё дальнейшем ограничимся рассмотрением клас-
са дизъюнктивных нормальных форм. При необходимо-
сти читатель сам может повторить все нижеследующие
утверждения для случая конъюнктивных нормальных
Еще раз подчеркнем, что мы рассматриваем лишь
класс аналитических представлений для функций
л'2, ..., хп), определяемый общей формулой
f=V ъ-.
1
(2-1)
где \i представляет собой элементарные конъюнкции
различных-рангов.
Вернемся вновь к геометрической интерпретации
области определения функции алгебры логики. Для
наглядности будем рассматривать функцию трех пере-
менных. При этом в наших рассуждениях нигде не будем
опираться на выбранное число аргументов, поэтому все
полученные результаты будут носить универсальный ха-
рактер.
На рис. 2-1 показана область определения для про-
извольной 'функции трех переменных. Элементам куба
сопоставлены конъюнкции различного ранга: вершинам
куба сопоставляются конъюнкции третьего ранга, реб-
рам куба — конъюнкции второю ранга, граням куба —
конъюнкции первого ранга. Отметим при этом, что сум-
ма размерности геометрического эквивалента и ранга,
сопоставляемой этому геометрическому эквиваленту
конъюнкции, постоянна и равна числу аргументов функ-
ции (в нашем случае она равна трем). Каждый геомет-
рический эквивалент меньшей размерности покры-
вается всеми геометрическими эквивалентами боль-
шей размерности. По аналогии будем говорить о покры-
тии конъюнкции большего ранга соответствующими
конъюнкциями меньшего ранга. Так, например, конъ-
юнкции Х1Х2Х3 и Х1Х2Т3 покрываются конъюнкцией Х1Х2.
В общем виде операцию покрытия можно представить
так:
AB\JAB = A. (2-2)
Для этой операции чаще употребляется термин склеи-
вание, которого мы и будем придерживаться в даль-
нейшем. Условимся называть геометрические эквива-
ленты интервалами.
Определение 2-8. Интервалом l-го ранга назы-
вается подмножество вершин куба, соответствующее
конъюнкции l-го ранга.
Например, конъюнкции Xi соответствует множество
вершин с координатами (1, 0, 0), (1, 0, 1), (1, 1, 0) и
(1, 1, 1). Соответствующий интервал 1-го ранга совпа-
дает с гранью куба, покрывающей четыре указанные
вершины.
Теперь заметим, что при задании некоторой функции
алгебры логики автоматически задается множество ее
единичных значений. Вершины, соответствующие набо-
рам аргументов, на которых функция принимает еди-
ничное значение, образуют множество ТУ. Задание не-
которой ДНФ для данной функции эквивалентно зада-
нию некоторого покрытия множества интервалами,
определяемыми конъюнкциями, входящими в ДНФ.
Пример 2-2. На рис. 2-2 последовательно показано построение
покрытия для функции /, заданной в ДСНФ
f (Х>, Х2, Х3) — Х]Х2Х3 у/ XiX2X3 Х|Х2Хз \/ Х,Х2Х3
и преобразованной за счет вынесения за скобки
f (X,, х2, х3) = х,х3 у/ х2х3.
На рис. 2-2,а изображено покрытие интервалами третьего ранга,
что соответствует представлению функции в ДСНФ, а иа рис. 2-2,6—
покрытие интервалами второго ранга, что соответствует представ-
лению функции в виде упрощенной ДНФ.
Таким образом, установлено взаимно однозначное
соответствие между заданием функции в виде некоторой
ДНФ и покрытием множества Т\ для дайной функции
интервалами некоторого ранга.
Будем теперь рассматривать задачу о минимизации
данной функции алгебры логики как задачу о нахожде-
нии минимальной дизъюнктивной нормальной формы
для этой функции. Если обозначить ранги всех интер-
валов, образующих покрытие для данной функции,
через Г1, г2, ..., гт, то величина
т
^=2^ (2-3)
характеризует собой суммарный ранг ДНФ, который
численно совпадает с числом букв, входящих в данную
днФ.
- Учитывая определение 2-7, можно сформулировать
теперь задачу о минимизации как задачу о нахождении
покрытия множества 1\, при котором величина R, опре-
деляемая с помощью (2-3), будет минимальной.
Определение 2-9. Интервал J называется макси-
мальным, если не существует интервала Г с рангом
меньшим, чем у J, и такого, что имеет место соотно-
шение
JciJ'cit..
Рис. 2-3.
Рис. 2-4.
Пример 2-3. Для функции приме-
ра 2-1 максимальными интервалами
будут интервалы Ji и h (рис. 2-3).
Интервал Л, например, макси-
мальным не будет, так как для него
имеет место соотношение
/гСЛСЛ-
Определение 2-10. ДНФ,
соответствующая покрытию
множества 1\ всеми макси-
мальными интервалами, назы-
вается сокращенной ДНФ
(С ДНФ).
Пример 2-4. На рис. 2-4,а пока-
зано покрытие множества 7\ для
функции примера 2-2 с помощью
максимальных интервалов. Соот-
ветствующая этой функции сокращен-
ная ДНФ имеет вид:
f (X j, Xg, Xд) — XjXз XjXg ХаХд.
Необходимо отметить, что
СДНФ в общем случае не яв-
ляется минимальной. В этом
можно убедиться, сравнив
покрытия, приведенные на
рис. 2-2,6 и 2-4,а. Покрытие,
показанное на рис. 2-2,6, дает
МДНФ, а покрытие показан-
ное на рис. 2-4,а — СДНФ. При
этом число букв в МДНФ рав-
но четырем, а в СДНФ —
шести.
Теорема 2-1. Минималь-
ная ДНФ получается из сокра-
щеной ДНФ путем выбрасыва-
ния из покрытия множества
максимальными интервалами
некоторых интервалов.
Для доказательства доста-
точно показать, что покрытие,
соответствующее МДНФ, со-
стоит только из максимальных
интервалов. Это очевидно, так
как в противном случае
в МДНФ можно было бы заменить немаксималь-
ные интервалы включающими их максимальными
интервалами и число букв в ДНФ сократилось бы. Это
противоречит тому, что рассматриваемая ДНФ явля-
ется минимальной. Теорема доказана.
Определение 2-11. Дизъюнктивная нормальная
форма называется тупиковой, если при удалении из нее
любой конъюнкции получаемая в результате ДНФ не
является эквивалентной исходной.
Для того чтобы показать отличие МДНФ от КДНФ,
рассмотрим функцию
f (х1( Л'2, х3) = Xj V Х,Х2Х3.
Этой функции соответствует покрытие, показанное
на рис. 2-4,6. Заметим, что никакое сокращение числа
максимальных интервалов для нее невозможно. Однако
ясно, что минимальное покрытие состоит из грани (имею-
щейся на рисунке) и ребра, соединяющего эту грань
с вершиной, соответствующей конъюнкции ацХгХз
(рис. 2-4,в). При этом f(xlt х2, х3) =%i V х2х3.
2-2. ПОСТАНОВКА ЗАДАЧИ МИНИМИЗАЦИИ В КЛАССЕ ДНФ
В предыдущем параграфе мы наметили основные
пути построения МДНФ для данной функции алгебры
логики. На первом этапе однозначно по данной функции
строится СДНФ, а на втором
этапе, выбрасывая из СДНФ
лишние максимальные интер-
валы, находим МДНФ. В от-
личие от первого этапа второй
этап неоднозначен. Эта не-
однозначность нахождения
МДНФ определяется двумя
факторами: во-первых, для
данной функции может сущест-
вовать несколько МДНФ; во-
вторых, само выбрасывание
Рис. 2-5.
максимальных интервалов де-
лается на основании перебора.
Пример 2-5. На рис. 2-5 показано покрытие, соответствующее
СДНФ для функции
f{Xit X2t Х3) =%1%2Х3 V V Wa V
V Xl%2^3 V ^2^3*
На рис. 2-6,а и б показаны два возможных варианта покрытия,
полученных путем выбрасывания некоторых избыточных интервалов
из покрытия рис. 2-5. Эти варианты покрытия соответствуют двум
возможным МДНФ для данной функции:
f (*1, *2> *з) -- Xl%2 V *1*3 V *2*3
И
f(X1( Х2, *з) = *1*3 V *1*2 V *2*з-
Необходимость перебора на втором этапе минимиза-
ции вызывает серьезные затруднения при автоматиза-
ции процесса нахождения МДНФ. Определенные труд-
ности вызывает и построение СДНФ.
Если к исходной ДНФ применять лишь операции
склеивания (2-2) и э л е м е н т а р н о г о поглощения
AB\JA = A,
то наступит момент, когда эти преобразования окажут-
ся уже невозможными. В этом случае получим тупико-
вую ДНФ (ТДНФ). Среди множества ТДНФ содержит-
ся и МДНФ. Получая все возможные тупиковые ДНФ
для данной функции и сравнивая их по числу букв, вхо-
дящих в них, можно найти все минимальные формы
для данной функции. При этом встает вопрос о величине
перебора при таком подходе к проблеме минимизации.
Величина перебора определяется числом элементов
класса тупиковых ДНФ для функции алгебры логики,
зависящей от п аргументов. Оценка числа тупиковых
ДНФ была дана Ю. И. Журавлевым. Оказалось, что
для достаточно больших п число тупиковых ДНФ оце-
нивается как
(I \ 2П
—• (2-4)
V т.п '
Таким образом, уже для п порядка 10—15 перебор
становится весьма большим и подобный процесс нахо-
ждения МДНФ — малоэффективен.
Встает вопрос: нельзя ли ограничиться нахождением
только произвольной тупиковой ДНФ? Другими слова-
ми, не является ли справедливым утверждение о том,
что тупиковые ДНФ отличаются от МДНФ на неболь-
шое число букв. Как показал Ю. Л. Васильев, это
утверждение несправедливо.
Существуют такие функции алгебры логики, завися-
щие от п аргументов, для которых тупиковая ДНФ мо-
жет быть в 2" с1/” раза сложнее МДНФ, где с — некото-
рая константа. Для таких функций прекращение мини-
мизации на уровне получения тупиковой формы может
привести к неэкономной записи.
Ввиду трудностей, связанных с задачей нахождения
минимальных ДНФ, можно попытаться провести при-
ближенную минимизацию не по числу букв, входящих
в ДНФ, а по ее длине. Такая постановка задачи приво-
дит к проблеме нахождения не МДНФ, а КДНФ. Алго-
ритм нахождения кратчайшей ДНФ для данной функ-
ции был построен Е. К- Войшвилло. Однако, как показал
Ю. И. Журавлев, среди КДНФ может и не содержаться
минимальных ДНФ н для достаточно больших п су-
ществуют такие функции алгебры логики, для которых
кратчайшая ДНФ содержит на 2П”12 букв больше, чем
МДНФ, построенная для той же функции. А. Д. Коршу-
новым был получен еще более неприятный для прак-
тики результат. Оказалось, что для почти всех функций
кратчайшие ДНФ п тупиковые ДНФ не совпадают.
Если для достаточно больших п наугад построить
ТДНФ, то с вероятностью, близкой к единице, она не
будет кратчайшей ДНФ.
Трудности, связанные с проблемой минимизации,
хорошо видны при формулировании проблемы миними-
зации в виде задачи целочисленного линейного про-
граммирования. Сведение задачи минимизации к задаче
целочисленного линейного программирования было осу-
ществлено Т. Л. Майстровой. Покажем, как осущест-
вляется это сведение.
Пусть для функции f(xi, x-г, .... хп) СДНф имеет
вид:
т
D=\J di.
i=i
Здесь dt соответствуют конъюнкциям, входящим
в СДНФ данной функции, а индекс i означает некото-
рую нумерацию этих конъюнкций. Пусть теперь
F = \/di
1^3
есть ДНФ, эквивалентная данной функции и получаю-
щаяся путем отбрасывания некоторых конъюнкций из
СДНФ. Множество индексов является подмножеством
номеров 1, 2, ..., т.
Определение 2-12. Вектор (ylt у2, ..., ут), коор-
динаты yi которого определены с помощью соотношения
следующего вида:
Уг=(?’1Э3’ <2-5)
называется соответствующим для ДНФ F.
Легко видеть, что конъюнкция di может быть полу-
чена как дизъюнкция некоторого количества элементар-
ных конъюнкций Sj, входящих в СДНФ функции f (xi,
х2, Хп), т. е.
k
S = \/ Sj.
/=1
Таким образом,
di = V sj. (2-6)
<0 .
г
Здесь со, — множество индексов элементарных конъ-
юнкций Sj, образующих конъюнкцию d,.
Сопоставим теперь СДНФ и ДСНФ данной функции
алгебраические суммы
m k
2 Viai и 2 Zjbi’
i=l 7=1
где а,- и bi — буквы, сопоставленные соответствующим
конъюнкциям di и Sj, а у; и Zj — некоторые числовые
коэффициенты.
Поставим теперь в сумму, сопоставляемую D, вме-
сто о, на основании (2-6) S&j. Получим:
2 yi(Ж
пли после очевидных преобразований
2 f2^V
/=1 < pt J
Здесь pi соответствует множеству индексов i, таких,
что у{ после преобразования являются коэффициентами
при bj.
Из этих преобразований вытекает, что
2 (2 Уг) — 2 zA’-
(2-7)
Это равенство возможно, если все коэффициенты
справа и слева соответственно равны между собой, т. е.
^yi = zj,
р*
/ = 1,2,
(2-8)
Теорема 2-4. Координаты соответствующего век-
тора (z/i, у2, ..., ут) для F удовлетворяют системе не-
равенств
2^;
(2-9)
/= 1, 2, ..., k.
Множество индексов j определяет соответствующее
множество различных pj.
Справедливость теоремы следует из того, что для
каждого номера уравнения / существует по крайней
мерё одно Xi —1; в противном случае F не была бы
эквивалентной /.
Теорема 2-5. Если координаты вектора (tji, уъ ...
.. ., ут) принимают значения 0 или 1 и удовлетворяют
(2-9), то этому вектору соответствует ДНФ, члены
которой определяются на основании (2-5), эквивалент-
ная функции f (Х1, Хг, ..., Хп) .
Доказательство очевидно.
Теоремы 2-4 и 2-5 устанавливают соответствие меж-
ду ДНФ, эквивалентными данной функции, и системой
неравенств (2-9).
Теперь можно сформулировать задачу о нахождении
КДНФ или МДНФ для данной функции алгебры логики
в виде следующих задач линейного программирования:
Задача нахождения КДНФ. Найти минимум
L = Xt + Хг + ... + Хт
при условии, что
I; / = I, 2, ..., k
р*
и
Xj = 0,1.
Задача нахождения МДНФ. Найти минимум
К,— CiXt + СгХг + ... Ц~стхт
при условии, что
У, xt 1; / = 1,2, ..., k\
Р*
Xi = 0, 1,
Где Сг —ЧИСЛО букв В КОНЪЮНКЦИИ di.
Как известно, решение задачи линейного программи-
рования такого типа требует производства большого
количества операций. Однако малоэффективный при
ручном счете метод линейного программирования может
оказаться весьма удобным при решении задачи о мини-
мизации функции алгебры логики в классе ДНФ с по-
мощью средств современной вычислительной техники.
Кроме сведения задачи минимизации к типовой за-
даче линейного программирования, возможно построе-
ние специальных методов, приспособленных для реше-
ния подобных проблем. Одним из эффективных методов,
такого рода является метод псевдобулевского програм-
мирования, предложенный П. Иванеску, И. Розенбер-
гом и С. Рудяну. С сущностью этого метода можно,
познакомиться по работе этих авторов, указанной в спи-
ске литературы к гл. 2.
В последующих параграфах рассмотрим несколько
методов, пригодных для нахождения МДНФ.
2-3. МЕТОД НЕОПРЕДЕЛЕННЫХ КОЭФФИЦИЕНТОВ
Описываемый здесь метод может быть применен
для минимизации функций алгебры логики от любого
числа аргументов, однако для простоты изложения и
большей наглядности его рассмотрение будем произво-
дить на примере минимизации функции, зависящей от
трех аргументов.
Представим функцию f(xi, х2, Хз) в виде следующей
ДНФ:
f (х„ х2, х3) = к\ х, V -й v xj л; \/№, х2 V
V К\ х3 V х? \/ К'^хгх2 V V V
V V V V Kj Д'Л V K?^xtx3 V
V V -С-^з V -С*2лз V' ^23*2*3 V
V ^123 ’^й’^'2'^'з V ^123 XyX2Xs \J К]23 \/
V №“ х^х2х3 v С V К™ w, V
V x3x2xs \/ С3° ^х2х3. (2-10)
Здесь представлены все возможные конъюнктивные
члены, которые могут входить в дизъюнктивную форму
представления f(xt, х2, х3). Коэффициенты К с различ-
ными индексами являются неопределенными и подби-
раются так, чтобы получающаяся после этого дизъюнк-
тивная форма была минимальной. Если теперь задавать
всевозможные наборы значений аргументов <Xi, х?, Хз>
п приравнивать полученное после этого выражение (от-
брасывая нулевые конъюнкции) значению функции на
выбранных наборах, то получим систему 23 уравнений
для определения коэффициентов К:
К\ V*2 VK'12 V ^3 v С v С =
v v a v v с v v с=
= f(l,l,0);
< v v v С v С v С v С =
= f (1,0, 1);
V *2 V *3 V С V С V С V Сз =
= f (1,0,0),
< V V V С V С V С V С =
= f(0,1,1);
v v Кз v С v С v С v С =
= f (0,1,0);
к° v *2 v v С v к°1 v С v С =
= f (0,0, 1);
v к2 V Кз v С v С v С V С =
= f (0, о, 0).
(2-11)
Пусть таблично задана некоторая функция f(xi,
х2, %з). Задание некоторой конкретной функции опреде-
ляет значения правых частей системы (2-11). Если на-
бор <xi, х2, Хз> таков, что функция на этом наборе
равна нулю, то в правой части соответствующего урав-
нения будет стоять нуль. Для удовлетворения этого
уравнения необходимо приравнять нулю все коэффи-
циенты К, входящие в левую часть рассматриваемого
уравнения. (Это вытекает из того, что дизъюнкция рав-
на нулю только тогда, когда все члены, входящие в нее,
равны нулю).
Рассмотрев все наборы, на которых данная функция
обращается в нуль, получим все нулевые коэффициен-
ты Д. В уравнениях, в которых справа стоят единицы,
вычеркнем слева все нулевые коэффициенты. Из остав-
шихся коэффициентов приравняем единице коэффициент,
определяющий конъюнкцию наименьшего возможного
ранга, а остальные коэффициенты в левой части дан-
ного уравнения примем равными нулю (это можно еде-
лать, так как дизъюнкция обращается в единицу, есЛи
хотя бы один член ее равен единице). Единичные коэф-
фициенты Kt определят из (2-10) соответствующую
ДНФ.
Пример 2-6.
f (X-j, Xg , TCj) \/ \/ \/ ^-1^-2 Xj \/ Xg Xj*
Составляем систему (2-11):
к; vk^vk1vkBvkBvkBvk12‘ = i;
К\ V к'2 V Кз V №12 V к\1 V *23 v к’В = 1;
к) V Kl V К'з V *ы V *)з V *23 V *;°23 = 1;
I *} V *2 V *3 v K\l v K\l v К$ V *123 = 1;
К°1 V *2 V К'з V КЙ V С v кВ V К?‘°з = 0;
К] V *2 V к°з V с V V кВ V к?В = 0;
К? V *2 V к| v к^ v К?1 v К^ V К?В = 0;
K?V K^v K°V K?^V Cv KBv K?“ = 1.
Из пятого, шестого и седьмого уравнений в силу свойств
дизъюнкции вытекает, что
д-0 д-0 д-1 д-0 д-1 _ д'00 д-01 _ д-00
к, = К2^К2 = Кз = Л3 — A12 = Kl2~ *13"=
д-01 д-01_Д-10__ д-11 _ д-001 _010_ д-011 _л
л13 — л23 - а21" л23 — А123 — 123 ~ 123 — и-
После этого данная система примет вид:
’ k;vKBvkBvK}B=1;
к; vkBvkJ°3vk{B= 1;
к; vk;°2v кВ 7*^=1;
к! VKBvKBvK20gvK^= 1;
K230 VK?2°3°=l.
Приравняем нулю в каждом уравнении все коэффициенты, кро-
ме тех, которые отвечают конъюнкциям, содержащим наименьшее
число переменных:
jzll jzlO izll ‘/.’’IO 1г 111 If ПО ix'-IOl t^lOO j/000 q
Л12 Л12 — д 13 "Л 13 — Д12 3 — д123 — Д123 — Д123 ~ Д123 ~ U*
После этого получаем систему:
Л{ = 1;
К} = 1;
К}=1;
к} 1;
C=i-
Отсюда находим МДНФ для данной функции:
f (Х>, х2, х3) = Xi V х2 х3.
Описанный метод эффективен лишь для минимиза-
ции функций, число аргументов в которых не больше
5—6. Это связано с тем, что число уравнений равно 2,!.
Более эффективным является выписывание не всех
возможных конъюнкций для функции п переменных,
а только тех, которые могут присутствовать в ДНФ,
эквивалентной минимизируемой функции. Этот прием
позволяет уменьшить таблицу и перебор, который мы
проводим с целью нахождения МДНФ. В следующем
параграфе опишем метод, основанный на подобной идее.
2-4. МЕТОД КВАЙНА—МАК-КЛАСКИ
При минимизации по методу Квайна предполагается,
что минимизируемая функция задана в ДСНФ. Для
простоты будем называть элементарные конъюнкции
ранга п, входящие в ДСНФ минимизируемой функции,
минитермами ранга п. Метод Квайна состоит из после-
довательного выполнения следующих этапов:
1. Нахождение первичных импликант. Все минитер-
мы данной функции сравнивают между собой попарно.
Если минитермы /и,- и nij таковы, что они имеют вид aXi
и axi, то выписывается конъюнкция а, являющаяся
минитермом (п—1)-го ранга. Минитермы n-го ранга,
для которых произошло склеивание, отмечаются. После
построения всех минитермов (п—1)-го ранга вновь срав-
нивают их попарно, выписывают минитермы (п—2)-го
ранга и отмечают склеивающиеся минитермы (п—1)-го
ранга и т. д. Этап заканчивается, когда вновь получен-
ные минитермы l-го ранга уже не склеиваются между
собой. Все не отмеченные минитермы называются пер-
вичными или простыми и м п л и к а н т а м и.
Пример 2-7.
f (Xj. Х2, Х3, Х4) —1 X1 Х2Х3Х4 X1X2X3 Х4 XiX2XgX4^/
V Х1Х2Х3Х4 V Xtx2 Х3Х4 V XiX2X3X4 V X,X2X3X4 V xlx2x3x4.
Минитермы 4-го ранга:
£1£гХзХ*4, £1Х2£з£*4, £1Х2£зХ*4, £1Х2ХзХ*4,
Х1£2£зХ*4, Х!Х2ХзХ*4, Х1Х2£з£*4> X1X2£3X*4
Образуем минитермы 3-го ранга:
£1X3X4, £2X3X4, £1Хг£*3, Х2£3£*4,
Х1Х2Х4, Х2ХзХ*4, Х1Х2Х4, Х1Х3Х4, Х|Х2.г’’:з.
Теперь находим минитермы 2-го ранга:
Х2Х3.
Так как дальнейшее склеивание невозможно, то этап получения
простых импликант закончен. Простыми импликантами являются
следующие минитермы:
£1X3X4, £2X3X4, £1X2X4,
Х1Т2Х4, Х1Х3Х4, х3£з.
2. Расстановка меток. Для данной функции
I (х„хг, ...,хп) = \/Лг-, (2-12)
i
где Xi — простые импликанты, полученные нами на пер-
вом этапе. Соотношение (2-12) определяет СДНФ для
данной функции. Для нахождения минимального покры-
тия интервалами максимального ранга необходимо те-
перь произвести выбрасывание некоторого количества
первичных импликант. На этапе расстановки меток со-
ставляется таблица, число строк которой равно числу
полученных первичных импликант минимизируемой
функции. Число столбцов совпадает с числом минитер-
мов ДСНФ. Если в некоторый минитерм ДСНФ входит
какой-либо из первичных импликант, то на пересечении
соответствующего столбца и строки ставится метка.
Пример 2-7 (продолжение). Составим таблицу с метками
для рассматриваемой функции, в которой будет шесть строк и
восемь столбцов.
3. Нахождение существенных импликант. Если в ка-
ком-либо из столбцов составленной таблицы имеется
только одна метка, то первичная импликанта, стоящая
в соответствующей строке, называется существенной
импликантой. Существенная импликанта не может
быть исключена из правой части (2-12), так как без нее
не будет получено покрытие всего множества Ту данной
функции. Поэтому из таблицы меток исключаются стро-
ки, соответствующие существенным импликантам, и
столбцы минитермов, покрываемых этими существенны-
ми импликантами.
Пример 2-7 (продолжение). Для нашей функции сущест-
венной импликантой является х2хз.
Она покрывает минитермы Х1Х2хзху, xiX2xsXi, XyX2X3Xf и Xi.v2f2X4.
При переходе к следующему этапу эти мииитермы могут быть вы-
черкнуты.
4. Вычеркивание лишних столбцов. Исследуется таб-
лица, полученная после третьего этапа. Если в ней есть
два столбца, в которых имеются метки в одинаковых
строках, то один из них вычеркивается. Это можно
сделать в силу того, что покрытие оставшегося столб-
ца будет осуществлять покрытие выброшенного ми-
нитерма.
Пример 2-7 (продолжение). После вычеркиваний сущест-
венной импликанты и минитермов, которые она покрывает, табли-
ца меток принимает вид:
Х}Х2>х'зХ1 XiXiXzXi
Х1Х3Х4 V V
%2 Хд Х4 V V
X1X2X4 V
Х1Х2Х4 V V
X1Х3 Х4 V
В данном ел учае одинакс вых столбце з нет.
5. Вычеркивание лишних первичных импликант. Если
после выбрасывания некоторых столбцов на четвертом
этапе в таблице появляются строки, в которых нет ни
одной метки, то первичные импликанты, соответствую-
щие этим строкам, исключаются из дальнейших рассмот-
рений, так как они не покрывают оставшиеся в рассмот-
рении минитермы.
6. Выбор минимального покрытия максимальными
интервалами. Исследуется полученная таблица. Выби-
рается такая совокупность первичных импликант, кото-
рая включает метки во всех столбцах (по крайней мере
по одной метке в каждом столбце). При нескольких воз-
можных вариантах такого выбора отдается предпочте-
ние варианту покрытия с минимальным суммарным чис-
лом букв в простых импликантах, образующих покры-
тие.
Пример 2-7 (окончание). Для рассматриваемой функции
выбираем покрытие из импликант 11X3X4 и так как они сов-
местно покрывают все оставшиеся после четвертого этапа миннтер-
мы. Минимальная ДНФ для этой функции имеет вид:
f (хр Хз Хз хД — Х1Х3Х4 \/ Х1Х2Х4 V Х2Х3
Пример 2-8. Найти минимальную формулу для функции
f (X,, Х2> Х3. X Д -— Х1Х2Х3Х4 Х1Х2Х3Х4 \/ Х1Х2Х3Х4
V Х1Х2 х3 Х4 V Х1Х2 Х3х4 V Х1Х2Х3Х4.
Составляем первичные импликанты.
Минитермы 4-го ранга:
Х1ХгХзХ*4, Х1.т2Х3Х*4, Х1Х2Х3ХД,
X1XJX3X*4, Х1Х2^зХ*4, Х1ХгХ3Х*4.
Мипитермы 3-го ранга:
Х1ХгХ*3, Х1ХзХ*4, Х1.Т2Х*3,
Х1Х2Х1,4, Х1Х2Х*з, Х1Х2Х*4,
Х1ХзХ*4.
Минитермы 2-го ранга:
Х1Х3, Х1Х2.
Составляем таблицу меток.
Xi.va,r3x1 XiXiX^Xi x1xix3xi XiX^X^Xi
V V V V
Х1Х2 V V V V
Первичные имнликанты Х1Хз и xix2 являются существенными.
Эти существенные импликанты покрывают все множество Тi для
данной функции. Таким образом, МДНФ этой функции есть
f (Xv Х2, Х3, Х4) = Х,Х3 V Х1Х2-
В методе Квайна есть одно существенное неудобст-
во. Оно связано с необходимостью полного попарного
сравнения на этапе- нахождения простых импликант.
С ростом числа минитермов, определяющих ДСНФ дан-
ной функции, растет число этих сравнений. Этот рост
характеризуется факториальной функцией. Поэтому при
достаточно большом числе минитермов применение ме-
тода Квайна становится затруднительным. В 1956 г.
Мак-Класки предложил модернизацию первого этапа
метода Квайна, дающую существенное уменьшение чи-
сла сравнений минитермов.
Идея Мак-Класки заключается в следующем. Если
записать минитермы в виде их двоичных номеров, то
все номера можно разбить по числу единиц в этих номе-
рах на непересекающиеся группы. При этом в i-ю груп-
пу войдут все номера, имеющие в своей двоичной записи
ровно i единиц. Попарное сравнение можно производить
только между соседними по номеру группами, так как
только эти группы отличаются для входящих в них
минитермов в одном разряде. При образовании мини-
термов с рангом выше нулевого в разряды, соответствую-
щие исключенным переменным, пишется знак тире. Такая
модификация, кроме того, на практике чрезвычайно
удобна, так как позволяет избежать выписывания гро-
моздких минитермов и импликант, заменяя эту про-
цедуру выписыванием их двоичных номеров.
Пример 2-9. Функция задана в ДСНФ минитермами с номерами
О, 1, 2, 3, 4, 6, 7, 8, 9, 11, 15. Запишем эти минитермы по группам
в двоичном коде.
Нулевая группа: 0000*.
Первая группа: 0001*, 0010*, 0100* 1000*.
Вторая группа: ООН*, ОНО*, 1001*.
Третья группа: 0111*, 1011*.
Четвертая группа: 1111*.
Сравнивая соседние группы, получаем по группам минитермы
3-го ранга:
Нулевая группа: ООО-- *, 00—0*, 0—00*, —000*.
Первая группа: 00—1*, —001*, 001—*, 0—10*, 01—0*, 100—*.
Вторая группа: 0—11*, —ОН*, ОН-*, 10—1*.
Третья группа: —111*, 1 —11*.
Теперь находим минитермы 2-го ранга:
Нулевая группа: 00-----, —00—, 0-----0.
Первая группа: —0—1, 0—1—.
Вторая группа: ——11.
Составляем таблицу меток:
f (Xj, Х2, Х3, Х4) -= Х2Х3 V X, Х4 V XiXj.
С. Петрик предложил использовать таблицу покры-
тия для решения задачи нахождения всех тупиковых
ДНФ заданной функции, из которых путем анализа их
сложности можно выбрать минимальную ДНФ. Сущ-
ность метода Петрика состоит в следующем. По табли-
це покрытий Квайна — Мак-Класки строится конъюнк-
ция дизъюнкций, каждая из которых есть совокупность
тех импликант, которые в данном столбце имеют метки
(число дизъюнкций в конъюнкции равно числу столбцов
таблицы покрытий). После этого происходит раскрытие
скобок с учетом свойства поглощения. Каждая конъюнк-
ция в полученном после этого выражении соответствует
некоторой тупиковой ДНФ рассматриваемой функции.
Пусть, например, таблица покрытий некоторой f(xlt х2,
х3, х.',) имеет вид:
Обозна- чение Имиликанты 0030 ООН оы 01 гэ 0111 1011 1191 1110
А II V V V
В —1 —1 V V V
С —11 — V V V
D ООО- V
Отсюда (£>) (А) (В) (С) (А V в V 9 И) (9 (9 = ABCD
и у функции f существует только одна тупиковая ДНФ
(конечно, совпадающая с МДНФ) f = A\/B\/C\/D =
= Х3Х4 V *2*4 V *2*3 V *1*2 *3 •
2-5. МЕТОД БЛЕКЛ—ПОРЕЦКОГО
Недостатком рассмотренных нами методов минимизации явля-
ется то, что для их применения необходимо, чтобы минимизируемая
функция была представлена в ДСНФ. Процесс такого представления
для функций с большим числом аргументов зачастую является
весьма громоздкой задачей. Например, если функция f задана в ви-
де ДНФ _
f (х,, Х2, Х3, Xt, Х5) = Х]Х2Х3Х3 v X2X3X4XS V Xi
И требуется минимизировать эту функцию, то предварительно надо
выписать ДСНФ этой функции, состоящую из 18 минитермов.
Было бы желательно иайти возможность построения сокращенной
ДНФ не по ДСНФ, а по произвольной ДНФ данной функции.
Идея такого построения была рассмотрена в работах А. Блека и
П. С. Порецкого. Идея построения СДНФ по произвольной ДНФ
вытекает из следующей леммы.
Лемма. Если в ДНФ для данной функции f(xt, х2, ..., хп)
входят две конъюнкции вида Axi и Вхц то имеет место равенство
P^-P\JAB, (2-13)
где Р — ДНФ, эквивалентная функции f.
Для доказательства нужно показать, что левая и правая части
соотношения (2-13) принимают одинаковые значения на всех воз-
можных наборах значений аргументов. Рассмотрим произвольный
набор <x*i, х*2, .... х*п>, для которого
f(x*i, х*2, ..., х*„) = 1.
В силу эквивалентности между f и Р имеет место равенство,
вытекающее из (2-13): (=1 V АВ. Это равенство тождественно, так
как в дизъюнкции, стоящей справа, имеется единица.
Рассмотрим теперь произвольный набор значений аргументов,
для которого
f(x*L, х*г, х*п)=0.
На основании (2-13) имеем:
О = 0V АВ.
Это равенство может выполняться лишь при услов-ии, когда
45=0. Таким образом, надо доказать, что на наборах значений ар-
гументов, на которых функция / обращается в нуль, обязательно об-
ращается в нуль А или В или одновременно А и 5. ДНФ Р по пред-
положению имеет вид: _
P = SV Axt \/ Bxt.
Так как на рассматриваемых наборах 5=0, то одновременно
выполняются следующие три равенства: 5 = 0, Ах; = 0 и 5.т;=0. Из
двух последних равенств вытекает, что либо А, либо В, либо А
и В одновременно обращаются в нуль, так как X; и х, одновремен-
но в нуль обратиться не могут.
Из доказанной леммы вытекает метод построения СДНФ.
Для этого необходимо провести пополнение исходной ДНФ новыми
членами согласно лемме. После этого надо провести элементарные
поглощения и вновь повторить пополнение ДНФ. Процесс необхо-
димо производить до тех пор, пока будут возникать новые конъ-
юнкции. После получения СДНФ можно использовать метод Квайна,
начиная со второго этапа (т. е. с построения таблицы меток).
Пример 2-10. Найти СДНФ для функции
f (XjI Х%, Xj) — Xj Хз XjXj^/ XjXjXj XjXjXg.
Выпишем пары, удовлетворяющие лемме. Таких пар пять:
(Х1Х2, XjX2Xs), (Х2Х3, Х1Х2Хз), (X1X2, Х1Х2Хз),
(.Г2Хз, Х1Х2Хз), (Х1Х2Хз, XjX2X3) .
Построим пополненную ДНФ, не выписывая тех дополнитель-
ных членов, которые обращаются в нуль:
f (Х1, Хз, Xj) - Xj Xj Х2Х3 XjX2Xj X 1X3X3 Xj Х3 XjXg,
После элементарных поглощений получим:
f (Xj, Х2, Х3) — Xj Xj \/ Х2Х3 Xj Хз V Х2Х3.
В этой ДНФ есть только одна пара, удовлетворяющая условиям
леммы (xix2, х2хз). Однако пополнение за счет этой пары не вно-
сит ничего нового в ДНФ. Полученное выражение есть СДНФ.
2-6. АБСОЛЮТНО МИНИМАЛЬНЫЕ ПРЕДСТАВЛЕНИЯ
До этого мы рассматривали проблему минимизации
функций алгебры логики как задачу о нахождении тако-
го аналитического представления функции, при котором
число букв в представлении минимально, а само анали-
тическое представление относится к клавсу дизъюнктив-
ных нормальных форм. Теперь несколько ослабим наши
ограничения и будем искать минимальные скобочные
представления функций. Проблема минимизации с ис-
пользованием скобочного представления рассматрива-
лась в точной постановке в работах Абхъянкара. В этом
параграфе мы остановимся на некоторых аспектах про-
блемы нахождения абсолютно минимальных представле-
ний функции в виде скобочной записи этой функции
в базисе отрицания, конъюнкции и дизъюнкции.
Определение 2-13. Q представляет собой аб-
солютно ми имальное представление для функции f,
если не существует в базисе , &, V} представле-
ния более минимального, чем Q, каким бы способом ни
получалось это выражение.
Отметим прежде всего, что МДНФ зачастую не дает
абсолютно минимального выражения.
Пример 2-11. Для функции
f (Xj, Хз> Хз > Х41) —- Х1ХзХзХ4 \/ Х1Х2Х3Х4 Х)Х2Х3Х4 У/
у/ X1X2 X3X4 Х1Х2 Х3Х4 у/ X1X2X3X4
в примере 2-8 была найдена следующая МДНФ по методу Квайна:
f (х,, х2, х3, х4) — Xi х3 V XiX2.
Если же произвести вынесение за скобки, то
f (Хр Хз, Х3, Х4) ~ Xi (Хз V Хз).
При этом полученное выражение содержит три буквы вместо
четырех и, следовательно, является более простым, чем МДНФ этой
функции.
Встает вопрос, не являются ли абсолютно минималь-
ными выражения, которые получают из МДНФ путем
всевозможных вынесений за скобки и выбором наиболее
простого выражения из этих скобочных форм. В 1952 г.
Беркхарт (Burkhart) дал отрицательный ответ на постав-
ленный вопрос. Он показал, что существуют такие аб-
солютно минимальные выражения, которые не могут
быть получены за счет операции вынесения за скобки
в минимальной ДНФ или КНФ. Абхъянкаром был дан
алгоритм непосредственного нахождения абсолютно ми-
нимальных выражений для данной функции алгебры
логики. Однако этот алгоритм практически неприменим
уже при весьма небольших и. Как показал В. Д. Каза-
ков, число необходимых элементарных логических опера-
ций т только на последнем этапе получения абсолютно
минимального выражения функции п переменных оце-
нивается как
при /1 = 4 мы имеем:
2257<,m<2e5 536.
Таким образом, нахождение абсолютно минимальных
выражений функций с числом переменных, большим
трех, по методу Абхъянкара становится невозможным
даже при использовании средств современной вычисли-
тельной техники. Более практичной является минимиза-
ция МДНФ за счет вынесения за скобки.
2-7. МИНИМИЗАЦИЯ В ДРУГИХ БАЗИСАХ
Все рассмотренные нами методы минимизации отно-
сились к тому случаю, когда система базисных функций
состояла из функций отрицания, конъюнкции и дизъюнк-
ции. Проблема минимизации может быть сформулирова-
на и для случая любого другого базиса.
Пусть имеется полная система {Д, f2,...,fr}- Тогда
для представления некоторой функции <p(xi, х2,...,хп)
в этой системе нужно решить две задачи: в какой форме
искать запись функции ф по функциям Д, f2,...,fr и как
найти минимальную запись <р по этим функциям. Для
решения первой задачи можно предложить некоторый
регулярный метод. Вторая задача в общем виде пока
еще не нашла своего решения.
Рассмотрим сначала проблему разложения произ-
вольной функции ср по полной системе функций {Д, Д,...
• • •, М-
Воспользуемся представлениями (1-25) и (1-28), по-
лученными нами в § 1-7. Если в этих соотношениях за-
менить характеристические функции Fi и дизъюнкцию
или характеристические функции Ф; и конъюнкцию че-
рез функции Д, Д, ...,Д, то мы .получим один из воз-
можных методов решения поставленной задачи о нахож-
дении представления любой функции алгебры логики
в системе функций {Д, f2,...,fr}. Вместо выражений
(1-25) и (1-28) можно воспользоваться выражениями
(1-26) и (1-29). В этом случае через fit нужно
выразить соответствующие характеристические функции,
а также функции сложения по модулю два или эквива-
лентности.
Пример 2-12. Найти формулу представления для произвольной
функции в базисе, состоящем из импликации и отрицания.
Эта задача была решена в § 1-7 с помощью теорем 1-6 и 1-7,
в которых было показано, что произвольная функция cp(%i, х2, ...
..., хп) может быть представлена в форме
Ч> (Xi> Хг.... Х„) =
или
V (х„ Х2, .... хп) = -» 4’ -* -* хп-1 ' -* хпП-
Заменяя теперь операции конъюнкции и дизъюнкции на осно-
вании (1-19)
Xi V х2 = xi -» Х2,
ХхХ2 = -»х2,
окончательно получаем:
¥ (х„ х2, .... хп) --Ft -» /д -» ... -+Ft
1 * h - 1 r
f (*1- X2.%„) = Фг1 -»Фц -»••• -*Ф<р_1 ~*Ф<р-
Здесь k и р — числа номеров в множествах а, и а0.
Буквами F: и Ф, обозначены импликативные функции, стоящие
з з
под знаками дизъюнкции и конъюнкции.
Решение задачи минимизации существенно сложнее.
Как уже отмечалось выше, в настоящее время не суще-
ствует никакого общего подхода к решению этой про-
блемы.
Отметим, что проблема минимизации имеет весьма
большое значение для практических целей. Если выбор
той или иной базисной системы функций предопределяет
выбор стандартного набора типовых логических элемен-
тов, то решение проблемы минимизации связано с проб-
лемой экономной реализации различных схем и
устройств на базе выбранных типовых элементов. Мы
рассмотрели весьма подробно проблему минимизации
лишь для случая, когда стандартными логическими эле-
ментами являются элементы, реализующие функции от-
рицания, конъюнкции и дизъюнкции. Для остальных си-
стем стандартных элементов эта проблема по существу
рассматривалась лишь для базиса, состоящего из суммы
по модулю два, конъюнкции и константы единица и для
базиса, состоящего из функций Вебба или Шеффера.
К рассмотрению этих базисов мы и переходим.
2-8. ПОЛИНОМИАЛЬНЫЕ ПРЕДСТАВЛЕНИЯ
И ИХ МИНИМИЗАЦИЯ
Определение 2-14. Полиномиальным представле-
нием функций алгебры логики будем называть сумму по
модулю два любого конечного множества попарно раз-
личных элементарных конъюнкций и констант.
В гл. 1 рассматривались два частных случая полино-
миальных представлений ФАЛ: полиномиальная совер-
шенная нормальная форма и полином Жегалкина.
Представим f (xi, х2,..., хп) в виде ПСНФ
f (xlt х„, ..., хп) — ф х^'х^ ... х\ (2-14)
где символ ф означает, что сумма по модулю 2 берется
только по таким наборам <аь аг, ..., ап>, на которых
f(ai, аг, ..., an) = 1.
Если в (2-14) представить х как хф 1, произвести
умножение (конъюнкцию) и применить (1-16), то полу-
чим полиномиальное представление заданной функции
в виде полинома Жегалкина. Любая функция имеет
единственное представление такого вида.
Кроме представления (2-14), существует еще один
способ полиномиального представления функций алгеб-
ры логики, заданных таблично.
Введем следующее обозначение:
f == / (-^i > • • •> -^г -1> 0> + • • • > ф
ф/(*„..., хг-_„ 1, xi+i, ...,хп). (2-15)
Определение 2-15. Выражение f назовем про-
Xi
изводной функции алгебры логики f относительно пере-
менной Xj.
Исходя из (2-15), можно доказать следующие свойст-
ва производной:
(Гф = ф; ]
I (2-16)
(/®й'Ф = ФФй'.ц; ।
(^ф=^;фф£©ф£х;. I
Если функция задана в виде полинома, то производ-
ную можно формально получить, применяя известные
правила нахождения частной производной для аналити-
ческих функций. Чтобы это показать, заметим, что лю-
бая функция может быть представлена в виде
f = Ахг- ф Вхь (2-17)
где А и В — некоторые полиномы.
Применяя (2-15), получаем:
Если для (2-17) найти частную производную, то, учи-
тывая первое и третье соотношения из (2-16), получаем:
Условие того, что функция f не будет существенно
зависеть от переменной xt (определение 1-3), может
быть теперь представлено в виде
ф = 0.
Используя понятие производной, можно доказать
справедливость следующего полиномиального представ-
ления (его можно было бы назвать разложением в ряд
из-за своей сходности с рядом Тейлора для аналитиче-
ских функций):
f(xlt ...,xitxi+l, ..., xn) =
2"-i
== ф if ci (*71» ?Z> "4’+l> -^n)> (2'18)
/=0
где q могут принимать независимо друг от друга зна-
чения 0 или 1; Cj представляет произведение тех пере-
менпых, которым в /', выраженном в двоичной системе
счисления, соответствует единица; fCj есть производная
функция f относительно всех переменных, найденная до
подстановки значений qi, входящих в су, c'j представляв!
произведение членов xt для тех переменных, кото-
рые входят в Cj. Например, для функции пяти перемен-
ных числу /=10110 соответствуют
Ci = X,X3Xs И
Разложение (2-18) непосредственно вытекает из сле-
дующего представления любой функции алгебры логики:
/ (Х1г Xi_i, Х{, Х2+1, .•-Vn)
— f C^i> • • • > -1 > 7г> -^г' +1 > • • •, -^п) (5
ф (-^z ® *7г) fxi (Xlt Xj_,, qi, X/+1, ..., -Vn), (2-19)
где qi может принять любое из значений 0 или 1.
Доказать (2-19) можно простой проверкой.
Пример 2-13. Функция f(xi, хг, хз, ху на основании (2-18) мо-
жет быть представлена в виде
f (хх, х2, хг, xj = f (1, 0, х3, х4) фхДА (1,0, х3, х4) ф
фхгДа (1, 0, х3, х4) ф x.xj^ (1,0, х3, х4),
где ?! = 1; ?2 = 0.
Разложение (2-18) позволяет при i=n найти полином
функции, заданной таблично. Особенностью такого поли-
нома является то, что одна и та же переменная входит
во все члены (элементарные конъюнкции) или с отри-
цанием, или без него. Если выбрать qt = q2= ... =qn = 0,
то можно получить полином Жегалкина этой функции.
Пример 2-14. Найти аналитическое представление функции двух
переменных, заданной таблицей.
xt хя Г (М, Xl хя f (Xl, Х2)
0 0 0 1 1 0 1 0 1 1 0 1
В общем виде любая функция двух переменных имеет вид:
f (Xl х2) = ?г) ф (Xi ф ?i) fXl (Чъ Чг) ф
ф(х2ф?2)^ (?1,?2)ф(Х1ф?!) (х2ф?2) fxlxa(ql,q2'),
где V=f(O. *2Ш(1.*2); fx =/(*.. °)Ф f(xt, I); [хл f (0, 0) ф
ef(o, о®/i).
Если выбрать <?, = у, = 0, то f (x,, x2) = 1 ф x, ф x2.
Выбирая в наборе <<7i, qz, ...,qn> разные значения
q (всего 2" комбинаций), получаем разные представле-
ния одной и той же функции, которые будут содержать
различное число букв.
Пример 2-15. Если для функции примера 2-14 выбрать qt— 1,
q2 = 0, то получим f (х,, х2) = х, ф х2.
Еще большее уменьшение числа букв в полиноме
можно получить, если одна и та же переменная входит
в полином и с отрицанием и без него. Рассмотрим три
метода минимизации, похожие на методы, рассмотрен-
ные в начале этой главы.
Метод неопределенных коэффициентов
Рассмотрим применение этого метода на примере
функции трех переменных. Функцию f(xi, х2, ^з) пред-
ставим в виде полинома, аналогичного ДНФ (2-10), в ко-
тором вместо дизъюнкции стоит ©ив котором еще
будет член Ко.
Пример 2-16. Пусть задана функция
f (X], Х2, Х3) = X! Х2 Х3 фХ! Х2 Х3 фХ]Х2Х3 фх,х2ха.
Задавая всевозможные наборы значений аргументов, получим
следующую систему уравнений:
К» ф К?ф К2° Ф к3°ф;к?2ф К™ Ф *23°Ф *1°з = f (°- 0> 0)= 1;
*о®*?Ф ”*Г ®*3®*12®*?3® *2le*i23 = H°.°.l)=l;
*о ® *? Ф *2 Ф *3 ® *?2 Ф *13 ® *23 © *123 = f (0, 1,0) = 0;
*»гф *i ф *| Ф *з Ф *12 Ф *в Ф *23 ® *123 = f (0. 1. 1) = 0;
*оФ*1Ф *2° Ф*3Ф*!2Ф *!з° ®*23®*123-
= f (1, 0, 0) = 0;
*о®*}®| *2 Ф*|Ф*{2®*1зФ*2зФ*11°2М(1>0, 1) -=1;
*O®K;©*2®*3®*!2 Ф [*1з| © К23 ® *123 = f (1 • 1 >0) = 11
Ко ф *{ Ф *2 Ф *3 Ф *12 ® *}| ® *й Ф *123 =
Задание некоторой функции определяет значение правых частей
этой системы. Если на некотором наборе функция равна нулю, то
для удовлетворения уравнения необходимо приравнять нулю все
коэффициенты К, входящие в левую часть, кроме четного числа
коэффициентов, равных единице (нуль считаем четным числом.).
Эти коэффициенты подбираем так, чтобы они определяли члены
возможно меньшего ранга. В уравнениях, в которых справа стоят
единицы, необходимо, чтобы слева нечетное число коэффициентов
было отличным от нуля. Такой прием следует из свойств (1-16).
Для заданной функции получим f(xi, Xi, х3) =X2®Xi.T3. Выбран-
ные в каждом уравнении коэффициенты обведены в рамку.
Геометрический метод
Многомерный куб покрывается максимальными ин-
тервалами, причем вершины, в которых функция равна
единице, покрываются нечетное число раз, а вершины,
в которых функция равна нулю, — четное число раз.
Пример 2-17. Для функции f —х2 х3 ф хгхг х3 ф лдХаХаФ^Л^з
покрытие представлено на рис. 2-7; f - X, ф XiX2.
М е т о д и м п л и к а н т н ы х т а б л и ц
Этот метод представляет модификацию метода Квай-
на— Мак-Класки (см. § 2-4). Все минитермы записыва-
ются в виде их двоичных номеров. Кроме минитермов,
на которых заданная функция
принимает значение 1 (их в
дальнейшем будем называть А-
минитермами), в таблицу им-
пликант включаются и некото-
рые из минитермов, на которых
функция принимает значение 0.
Они определяются следующим
образом: производим попарное
сравнение всех Л-минитермов.
Если в сумме Л4 ф А2 име-
ются две единицы, то берется
любой из минитермов At, А2
и пишутся четыре минитерма,
которые получаются из А или 42 пвдстановкой на
местах, соответствующих единицам, всех возможных
комбинаций из Он 1. Если некоторые из полученных
минитермов не Л-минитермы, то они будут искомыми
минитер-мами. Их будем называть В-минитермами.
Пример 2-18.
1000 =А,
° 1101 =А2
0101
I I
' 1000 =А,
I I
4GGO-
1001 —в
-не& =в
-М Of-
Затем 'Производится попарное склеивание всех А и
В-минитермов. При этом из-за свойства (1-16) не будем
отмечать минитермы, для которых произошло склеива-
ние.
Пример 2-19. Для функции примера 2-18 таблица импликант
имеет вид:
Л в
ООО 100 010 111 по 101 011
ООО V
100 V
010 V
111 V
по V
101 V
011 V
—00 V V
0—0 V V
1—0 V V
10— V
—10 V V
01 — V V
11— V V
1—1 V V
—11 V V
0 V V V V
—1— V V V
1— V V у V
В таблицу импликант включаются все А и В-мини-
термы, причем Л-минитермы и В-минитермы разделяют-
ся, а в строках включаются все возможные полученные
импликанты (включая А и В-минитермы).
Исследуется таблица импликант. Выбирается такая
совокупность импликант, которая покрывает все столбцы
Л-минитермов нечетное число раз и некоторые столбцы
В-минитермов — четное число раз и которая содержит
минимальное возможное число букв.
Недостатком приведенных выше методов является то,
что при увеличении числа переменных перебор стано
вится большим.
Полиномиальные представления позволяют зачастую
записать функции, зависящие более чем от двух аргу-
ментов, проще, чем в ДНФ или КНФ, но они не нашли
широкого применения из-за отсутствия хорошего техниче-
ского элемента для суммирования по модулю 2.
2-9. ПРЕОБРАЗОВАНИЯ И МИНИМИЗАЦИЯ В БАЗИСЕ,
СОСТОЯЩЕМ ИЗ ФУНКЦИИ ВЕББА ИЛИ ИЗ ФУНКЦИИ
ШЕФФЕРА
Ранее было показано, что функции Вебба и Шеффе-
ра образуют базисы, состоящие только из одной функ-
ции. Будем называть такие базисы монофункцио-
нальными.
В последнее время возник большой интерес к моно-
функциональным базисам. Поэтому рассмотрим их бо-
лее подробно. В § 1-2 и 1-5 были введены двухместные
функции Вебба и Шеффера. По аналогии с ними введем
с помощью таблицы «-местные функции Вебба и Шеф-
фера:
П - j -^-2 1-^3 I * * * I ^П>
Sn xt Iхг!xj.../хп.
Xi Хд Х3 • . . Xn_i xn wn Sn
ООО... 00 ООО... 01 ООО... 1'0 111... 01 111... 10 111... 11 1 0 0 0 0 0 1 1 1 1. 1 0
При п = 2 из этой таблицы получаются двухместные
функции Вебба и Шеффера, а при п=1 обе функции вы-
рождаются в функцию отрицания. Поэтому мы в даль-
нейшем будем вместо х[х и х/х писать соответственно х.
Для введенных функций по-прежнему справедлив пе-
реместительный закон и несправедлив сочетательный за-
кон.
По аналогии с (1-20) можно написать следующие
соотношения:
x/х/х/.../х^’х; х j х j х j ... | х=х\
х/х/...1х/х/.../х= 1; х I х I ... |-х I х | ...
... | х = 0;
x,/.../xz/l/.../l = x,/.../xz; X, | ... I Xi I 1 I ...
- I 1=0;
x1/.../xz/0/.,./0=l; x,|... | Xz | 0 | ...
... | 0=x, | ... | xz;
(2-20)
x,/x2/.../xn=x1x2... xn = x,\/x2V-.-V-*n;
x2 I ... I xn = X,V-^2V • • Vxn=^xji2 ...xn.
При раскрытии скобок аналогично соотношениям
(1-21) получим:
(х1/х2/.../хг) | =
= х, ) хг | ... \Xt\y, \у2\ ... ( ут-,
(х, I х2 I ... I xz)'(y, I у>\ ... I ут) = ' <2'21)
=xjx2l...!xllyifytl... !ут.
Заметим, что если I или т равны единице, то эти
соотношения выразятся несколько иначе. Например, при
Z=1
Ху I I У< I Уг I I Ут’,
*1,'(У1 ! Уг ! ••• 1 ут) = хУГу1'уг' ;у,п-
Наконец, приведем соотношения, показывающие
связь между многоместными функциями Вебба и Шеф-
фера:
(2-22)
х, I х„ I ... I х|1 = х1/х,/... 1хп.
Эти соотношения аналогичны соотношениям (1-22)
и формулам де Моргана.
Справедливость всех вышеприведенных соотношений
можно установить при помощи таблиц функций.
В дальнейшем мы в основном будем рассматривать
базис, построенный на основе многоместной функции
Вебба.
Рассмотрим равенство (1-25) из § 1-7. Из (1-25) лег-
ко получить:
( (-^1, -^2> • • •> -^п) —’ f, V ^/а V •" V Flk----------------- V
если выбрать характеристические функции единицы для
множества То номеров наборов, на которых функция
обращается в нуль. Применяя последнее из соотношений
(2-20), получаем одну из двух совершенных нормальных
форм в базисе Вебба:
= \ Fir (2-24)
Если использовать характеристические функции еди-
ницы для множества Л, то получится другая совершен-
ная нормальная форма, которая проще предыдущей, ес-
ли у функции в таблице истинности нулей больше, чем
единиц:
f (х„ хг.....хп) = F | F | ... | Fif = | F. (2-25)
* з
Если f обращается в нуль только на одном наборе,
то в правой части (2-24) останется только один инвер-
тированный операнд. Если же f обращается в единицу
только на одном наборе, то отрицание в правой части
соотношения (2-25) исчезает.
Для получения аналогичных нормальных форм в ба-
зисе Шеффера можно использовать (1-28) и характери-
стические функции нуля.
Перейдем теперь к аналитическому выражению ха-
рактеристических функций единицы в базисе Вебба.
В § 1-7 было получено выражение
Fi(xlt х2,..., хп) = х’гх’*... х’л
Если применить последнее из соотношений (2-20), то
и мы можем написать, что
__ Г3. f xj, при a, — 0;
3 * I Xj, при aj = 1,
и получить выражение для характеристической функции
единицы:
Л- (*i, х2.хп) = .у1 | х’2 | ... | х’л (2-26)
при условии, что
i = 01,2л-1 а22"*2 + ... + ап2°.
Теперь мы можем сформулировать алгоритм пере-
хода от табличного задания функции к ее записи в ви-
де совершенной нормальной формы в базисе «-местной
функции Вебба вида, например, (2-24):
В Выбрать в таблице задания функции все наборы
аргументов, на которых функция обращается в нуль.
2. Выписать термы типа (2-26), соответствующие
этим наборам аргументов'. При этом, если аргумент Xi
входит в данный набор как нуль, он вписывается без
изменения. Если же Хг входит в данный набор как еди-
ница, то вписывается его отрицание.
3. Все полученные выражения характеристических
функций объединяются ^-местной операцией Вебба, где
k — количество нулей заданной функции.
Пример 2-20. Построить совершенную нормальную форму вида
(2-24) для следующей таблично заданной функции:
Xi х3 f (Л, Xi, Хз) Xi Ха Хз f (Xi, хг, хг)
ООО 0 0 1 0 1 0 о .1 1 В соответствии 1 1 0 1 с алгоритмом 1 0 0 1 0 1 1 1 0 1 1 1 получаем: 1 0 1 0
f (Х1> Хг, Х3)— ______ __ ____
= (Xj 1 Хг | Хз) | (х, | Хг Х3) | (X, Хг 1 Х3).
Перейдем 'теперь к- проблеме минимизации в моно-
функциональных базисах; Существует.два подхода кпро-
блеме минимизации: либо по аналогии с минимизацией
в классе ДНФ строится специальный метод минимиза-
Цйи для монофункционального базиса, либо минимиза-
ция производится в классе ДНФ, а затем строится спе-
циальный метод перехода от базиса конъюнкция, дизъ-
юнкция, отрицание к монофункциональному базису.
Рассмотрим сначала первый подход на примере мини-
мизации в базисе, состоящем из функции Вебба.
Все определения из § 2-1 имеют свои аналоги для
рассматриваемого базиса. Совершенной нормальной фор-
мой в дальнейшем будем считать выражение (2-24),
операнды которого будут иметь наибольший возмож-
ный для данной функции ранг. Определение мини-
мальной нормальной формы вполне аналогично опреде-
лению 2-13.
Понятиям интервал и максимальный интервал из
геометрической интерпретации области определения
функции алгебры логики соответствовали понятия имп-
ликанта и простая импликанта при минимизации в клас-
се ДНФ. В базисе Вебба соответствующие понятия бу-
дем называть инверсантой и простой инвер-
сантой.
Инверсанта и функции f характеризуется тем, что
всегда из u—i следует f=0. Очевидно, что все Fi из
(2-24) являются инверсантами заданной функции f. От-
метим, что / тоже является инверсантой функции f:
По аналогии с классическим базисом будем говорить,
что выражение в базисе Вебба, операндами которого яв-
ляются все простые инверсанты заданной функции,
является сокращенной нормальной формой функции.
Минимальная нормальная форма будет получаться из
сокращенной выбрасыванием некоторых диверсантов.
Определение тупиковой формы в рассматриваемом ба-
зисе формулируется по аналогии с определением 2-11 из
того же § 2-1.
Прежде чем перейти к рассмотрению применения
в базисе Вебба некоторых известных из классического
базиса методов минимизации, рассмотрим эквивалент-
ные преобразования, приводящие к операциям склеива-
ния и поглощения в алгебре Вебба.
Через Zn будем обозначать выражение, которое опи-
сывает «-местную операцию Вебба над п операндами.
Лемма. Если то Zn эквивалентно Zn_k+t,
которое получается из Zn объединением в одном операн-
де любых k операндов с помощью введения общего для
них отрицания.
Другими словами,
А ! | | Ак+1 | | An = A, | ... | Ak | Лл+1 | ... | An,
(2-27)
где Ai — произвольные термы и \<k<n.
Чтобы доказать справедливость леммы, рассмотрим
все возможные случаи, полагая А, | Л2 | ... | АЛ = В.
1. Для все Л, = 0. Но тогда и В = 0 и в согласии
с четвертым тождеством (2-20) обе стороны равенства
(2-27) превращаются в Ak+l | ... | Ап.
2. Среди А{ (i<^k) имеется хотя бы одна единица.
Но тогда и В=1 и в согласии с третьим тождеством из
(2-20) обе стороны равенства (2-27) обращаются в нуль.
Введем теперь операции следующих типов:
склеивания __
Л | (х, | х2 | ... | хп) | (х, | хг | ... | хп) =
= Л |(х2 | ... |х„), (2-28)
неполного склеивания
Л | (х, | xs | ... | xn)J (х, | х2 | ... | x„) =
1 (-^1 I -^2 I ••• I -^n) 1 | -^2 I I *n) | (-^2 ! ••••^-n)
(2-29)
и поглощения
Л | (x, | ... | xft) | (x, | ... | xft | xfe+1 | ... | xn) =
= Л | (Xj | ... | xfe). (2-30)
В этих выражениях включен произвольный терм Л,
указывающий на то, что операции производятся между
операндами внутри многоместного терма. Отсутствие А
привело бы к двухместным операциям и к вырождению
некоторых операндов.
Для двухместного случая аналоги операций склеива-
ния и поглощения имеют вид:
(х1/х2)/(х1/х2) = х2; (х, | х2) | (х, | х2) = х2 (2-31)
и
^./(х./х,) = х,; х, | (X. | х2) = х,; 1 (2 3
-*i/(-*i/-*3) = *>', I (*i I *2) = X..J
Справедливость всех этих соотношений легко дока-
зать, используя лемму и два последних соотношения из-
(1-20).
Рассмотрим теперь аналоги методов минимизации,
рассмотренных нами для базиса конъюнкция, дизъюнк-
ция, отрицание.
Метод неопределенных коэффициентов
Применение этого метода для минимизации выраже-
ний функций алгебры логики в классическом базисе бы-
ло рассмотрено в § 2-3. Покажем теперь, что его можно
применить для этой же цели и в базисе Вебба, если
только учитывать особенности этого базиса. Как и
в классическом базисе, запишем функцию с неопределен-
ными коэффициентами для случая трех переменных:
f (х>, х2, х3) = j | К°х31 Л'}*! | К12хг | К3Х3 I
| (X i I | Kj2 (Xi | Х2) | (Xi I Хз) 4 К\2 (Xi 4 Х2) 4
4 ^13 (Х1 I Хз) 4 К13 (X, | Х3) | /Cjg (X, | Х3) | (Xi |
I х3) | К23 (хз | х3) j Л23 (х21 х3) 4 Л23 (Хг J, х3) 4
4 К2з (х2 4 х3) 4 Kj23 (xi i х2 4 х3) 4 ^123 1 х2 4 х3) 4
4 ^123 (Х1 I Xs 4 Х3) 4 ^123 (х! I Хз 4 х3) 4
4 4гЗ (-1С1 I Хз 4 Х3) 4 ^123 (Х1 I Xs 4 х3) 4
4 ^123 (х 1 4 х2 4 х3) 4 ^123 (х 14 х2 4 х3). j
Получаем систему из 23 уравнений для определения
неизвестных коэффициентов. При нахождении их следует
помнить, что обращение в единицу некоторого выраже*-
ния, стоящего при неизвестном коэффициенте, требует
обращения в нуль всех аргументов этого выражения.
Пример 2-21. Найти минимальную нормальную форму для
функции из примера (2-20).
Переходя к системе уравнений с неопределенными коэффициен-
тами для данной функции, получаем:
1 = 4 I 4 I 4 I 4г I №13 I 4з I 4г3;
1 = К] 4 ^2 I *3 I ^12 I 43 I К-23 4 ^>123’
0 = К? 4 4 4 44 С 4 4з I 4з I
1 = Л? 4 4 4 4 4 4г 4 4з 4 *2° 4
1 = 4 4 4 4 4 4 «и 4 4з 4 4з 4 4^;
0 = К{ 4 К°2 4 4 4 4г 4 ^з I 4з I
1 =4 4 4 4 43 4 /<?2 4 41 4 4з 4 42°з;
0 = 4 4 4 4 4 4 4U К°°з 4 Л’2°з 4 4а-
С учетом того, что все коэффициенты для уравнений, у кото-
рых в левой части стоит единица, равны нулю, преобразуем исход-
ную систему к следующему виду:
КиН
1Х?2з=о;
jzOO [ n
Л13 ^123 — и-
Как следует из этой системы, Xj1^— 1. Наиболее экономное ре-
шение для двух оставшихся уравнений Х?® -= 1. Х^з ’= Х™ ~ °-
Окончательно
f (Хр %2’ Х3) — (X1 I %2 I Хз) | (Х1 | Хз).
Метод Квайна
Метод Квайна для минимизации функции алгебры
логики в классическом базисе был рассмотрен в § 2-4.
Все сказанное там о принципах метода и последователь-
ности выполнения этапов минимизации остается в силе.
Только , здесь неотмеченные минитермы будут простыми
диверсантами функции, и необходимо учитывать возмож-
ное вырождение минитермов, сопровождающееся инвер-
тированием оставшейся переменной.
Пример 2-22. Найти минимальную нормальную форму для сле-
дующей совершенной нормальной формы функции:
f (Xi 4 Ха 4 Х3) J, (X1 4 Ха 4 Х3) 4 (Хз 4 Ха 4 Хз) 4
4 (Х) 4 Ха 4 Хз) 4 (Xi 4 Ха 4 х3).
Минитермы третьего ранга
(Х!4х24х3)*, (х14Ха4х3)*, <Х, 4 Х2 4 Хз)*,
(X1 4 Ха 4 Хз)*, (X1 4 х2 4 Хз)' .
Используем соотношение (2-29) и производим все. возможные
неполные екленвания между этими минитермами. .Минитермы, кото-
рые участвовали хотя бы в одном склеивании, отмечаем звездочкой,
так как они в дальнейшем будут поглощены минитермом второго
ранга, являющимся результатом склеивания на основании соотно-
шения (2-30). Получим минитермы второго ранга
(xs4x,)*, (XjiX,), (Х1 4ха), (хДх,)*. (Ха4х3)*.
В результате склеивания между первым и последним мини-
термом получится вырожденный мииитерм, который инвертирует-
ся. Тот же самый результат получится из склеивания третьего и
четвертого минитермов. Не будет поглощаться только второй ми-
нитерм.
Минитермы первого ранга
Х'2.
Удаляя из нормальной формы все поглощающиеся пнверсанты,
получаем сокращенную нормальную форму, содержащую только про-
стые инверсанты:
f = X2 I (х, I х3).
Для данного примера сокращенная нормальная фор-
ма совпадает с минимальной и построение таблицы ме-
ток, и поиск минимального покрытия не дает ничего но-
вого. Отметим, что построение таблицы и операции с нею
полностью аналогичны работе с таблицей Квайна. Един-
ственная разница состоит в том, что вырожденная ин-
версанта, состоящая из единственной переменной, по-
глощает те минитермы, которые содержат ее отрицание.
Для нашего примера для строки, соответствующей
инверсанте х2, мы должны расставлять метки в столб-
цах, которые содержат в соответствующем им выраже-
нии Хг.
Метод Мак-Класки
Усовершенствование первого этапа метода Квайна,
предложенное Мак-Класки, применимо и в базисе Вебба.
Напомним, что в методе Мак-Класки применяются дво-
ичные номера минитермов. Если принять номер мини-
терма совпадающим с двоичным номером набора значе-
ний переменных, на котором минитерм, являющийся ха-
рактеристической функцией единицы, принимает значе-
ние единицы, или минитерм, являющийся характеристи-
ческой функцией нуля, принимает значение нуля, то, оче-
видно, применение метода Мак-Класки не зависит от
базиса.
Пример 2-23. Найти минимальную нормальную форму функции,
принимающей значение нуль на наборах с номерами 0, 2, 4, 6, 8,
10, 12, 13, 14.
Воспользуемся случаем показать одну возможность табличного
расположения минитер.мов, преимущество которого состоит в боль-
шей наглядности. В этой таблице минитермы одного ранга обра-
зуют столбец, а различные группы выделены горизонтальными ли-
ниями;
Составление таблицы начинается с первого столбца для мини-
термов четвертого ранга, которые соответствуют нулям функции.
Слева показаны номера групп только для этого столбца.
Группа Ранг
4 3 2
0 ссоо* 00—0* 0 0* 0
1 сою* 0100* 0—со* —000* —0—0* со*
1000* 0—10* 10*
2 оно* 1010* нос* —010* 01—0* — 100* — 1—0* 1 0*
3 1101* 1110* 10—0* 1—00*
—но* 1 — 10* no- il—0*
По неотмеченным наборам строится сокращенная нормальная
форма, учитывая что нулю в наборе соответствует xi, а едини-
це — л.:
f --=х.! I (Xi I *2 I х3)-
Как н в предыдущем примере, единственная переменная вы-
рожденного минитерма хь инвертируется.
В данном случае сокращенная нормальная форма совпадает
с минимальной. Если бы этого не было, то пришлось бы строить
таблицу инверсант и производить расстановку меток обычным спо-
собом.
Отметим, что минимальная ДНФ этой же функции более
сложна:
f = XtXt V *2*4 V х3х4.
Рассмотрим теперь второй из подходов к минимиза-
ции, о котором мы говорили выше. Напомним, что в этом
случае минимизация проводится в классическом базисе,
а затем полученное минимальное выражение переводит-
ся в монофункциональный базис таким образом, чтобы
по возможности сохранялась минимальность. Е. И. Пу-
пыревым было показано, что существует такой метод
перехода от минимальной ДНФ к ее представлению
в монофункциональном базисе, при котором сложность
вновь получаемого представления либо минимальна
в данном монофункциональном базисе, либо отличается
От этой сложности на одну букву. Этот результат гово-
рит еще раз о тесной связи этих базисов между собой.
Метод перехода, предложенный Е. И. Пупыревым, ука-
зан в литературе, приведенной в конце книги.
2-10. ФУНКЦИОНАЛЬНАЯ ДЕКОМПОЗИЦИЯ
С ростом числа аргументов ФАЛ быстро возрастает
сложность задачи минимизации. Как показали многочис-
ленные исследования, даже при использовании совре-
менных вычислительных машин практически оказывает-
ся возможным минимизировать функции с числом аргу-
ментов, не превосходящим 30—35. Выходом из этого по-
ложения может служить нахождение не минимальной
формы данной функции п переменных, а представление
ее в виде
f (Xi, %2, - • , Хп) =фт{<Рт—1{Хгп *},...
...,ф1(Х1), АО}, (2-33)
где функции epi зависят от меньшего числа переменных
(Х’сгХ), с последующей минимизацией выражений для
функций (pi И фт.
Представление функции f в виде (2-33) называется
функциональной декомпозицией этой функ-
ции.
Если множества аргументов Х\ от которых зависят
функции ф7, и множество Х° не имеют общих элементов,
то функциональная декомпозиция называется разде-
лительной, или непер есек аю ще й с я. Если это
не так, т. е. имеется хотя бы один аргумент Xj, входя-
щий более чем в одно подмножество X* (i=0, 1,...
..., т—1), то функциональная декомпозиция называется
неразделительной, или пересекающейся.
Если функция f представима в виде
f (X) =Фй[ф|1(Х1), Х°], (2-34)
то функциональная декомпозиция называется простой.
Простая функциональная декомпозиция может быть как
разделительной, так и неразделительной. Функциональ-
ную декомпозицию вида (2-33) будем называть
(т—1)-кратной функциональной декомпозицией. Про-
стая функциональная декомпозиция при этом может
быть названа однократной функциональной деком-
позицией.
Примером функциональной декомпозиции может слу-
жить представление функции f(xit х2,...,хп) в виде раз-
ложения по г-му аргументу:
/ (A')==xJ(x1, х2,.... 1, х/+1, .... xn)\j
\j Xjf (Хи X, ..., Xi-!, О, хг+1, ..., хп), (2-35)
которое может быть представлено в виде
((Xi, х2,..., хп) = <рз{фй(Х2), epi(X1), X0},
где
ф»(Х2)=((%1, x2,...,Xi-i, 1, xi+i,..хп);
Ф1 (X1) = f (Х1, х2,..о, Xi+1,..Хп);
РО = ^2 POV*/?. РИ;
X* — {Xi, Х2, • • • , Xi~ 1, Xf-f-1, . . ., Хп},
X2={xi, x2,..Xi-!, xi+i,..Xn};
X° = {xi}.
В полученном представлении обозначим X1 и X2 через
Ха, а Х° — через Xй. Через |М| будем обозначать число
элементов множества М. В нашем случае |Ха|=п—1,
а |ХЬ| = 1.
Обобщим функциональную декомпозицию на случай
2<|X«| = n —|Xb|</z — 1;
JfaQXb— 0; Xa\jXb = X.
Значок 0 означает, что пересечение множеств Ха и
Xй пусто. Как следует из (2-34), рассматриваемый нами
случай есть простая разделительная функциональная де-
композиция, отличная от тривиальной декомпозиции та-
кого вида — разложения функции по ее аргументу. Для
нахождения декомпозиции такого типа воспользуемся
методом, предложенным А. Кертисом.
Пусть мы имеем функцию f(xi, х2, ..., хп), (м>3),
для которой проверяется возможность ее представления
в виде (2-34) при условии, что IX1] L>2, |Х°| ^2. Зада-
дим некоторое разбиение множества аргументов функ-
ции f на два неиересекающихся подмножества, содержа-
щих каждое не менее двух аргументов.
Каждому набору из множеств X1 и Х° сопоставим их
номера (это сопоставление описано в § 1-7). Тогда мно-
жество номеров наборов из X1 содержит все номера от
О до 2'* 1— 1 включительно, а множество номеров на-
боров из Х° содержит все номера от 0 до 21X01 — 1 вклю-
чительно. Построим теперь матрицу размером 2|х°1Х2|х’1 .
Строки и столбцы этой матрицы перенумеруем соответ-
ственно от 0 до 2 |Х ।—1 и от 0 до 2 1Х1|~1. На пересечении
строки с номером I и столбца с номером / запишем
значение исходной функции на наборе аргументов, кото-
рый является композицией наборов с номерами i и j.
При получении этой декомпозиции следует учитывать
истинную нумерацию аргументов в X.
Пример 2-24. Записать в матричной форме описанного вида
функцию y = f(xt, Хг, х3, Xt), заданную следующей таблицей,
при условии, что хь}, а Х° = {х2, Хз}.
Xj х3 Хз Xi У Xj Хз Хз Xi У
0 0 0 0 0 1 0 0 0 1)
0 0 0 1 0 1 0 0 1 1
0 0 1 0 0 1 0 1 0 0
0 0 1 1 1 1 0 1 1 1
0 1 0 0 0 1 1 0 0 0
0 1 0 1 1 1 1 0 1 0
0 1 1 0 0 1 1 1 0 1
0 1 1 1 0 1 1 1 1 0
Матрица данной функции имеет вид:
X1 X1
У0 0 12 3 У0 0 12 3
0 1 Для задания Наприме строки наборе 0 0 0 1 0 10 1 получения элементов эт функции с учетом принят р, элемент матрицы /(1, 2 третьего столбца, ест <1, 0, 1, 0>. 2 3 ой матр ой нумер ), стоящ значен} 0 10 0 0 0 10 ицы используем таблицу ации наборов в Р и X1. ий на пересечении второй те исходной функции на
Будем для удобства обозначать элементы множест-
ва Х° как {ui, uo, • пт}, а элементы множества X1 —
как {Ш1, w2, ...,Wk}. При этом m+k = n. Каждый стол-
бец матрицы можно рассматривать как функцию вида
y=F(ut, u2,...,um, U7*), где W* — фиксированный на-
бор значений аргументов из X1, номер которого соответ-
ствует номеру данного столбца. Аналогично каждую
строку матрицы можно рассматривать как функцию ви-
да y=F(JU*, Wi, w2,...,Wk), где U*— фиксированный
набор значений аргументов из Х°, номер которого соот-
ветствует номеру данной строки. Тогда нетрудно видеть,
что возможно представление исходной функции f в двух
следующих формах:
f (-г„ х2,..., хп) =
= V [Г'и''7... u"f (а„ <х2, ...» ат, wIt w2, wk)
по всем
<аъ а2, ... , ат>
(2-36)
и
f(xiy х2,..., хп) =
= V wV7 ...w^f (щ, щ, ..., ит, а1у а2, ... , а.к).
по всем
<«ь а ..
(2-37)
Постави.м теперь задачу о нахождении условий, при
которых функция f(xi, х2,...,хп) допускает простую
разделительную декомпозицию нетривиального типа (от-
личную от разложения по аргументу). Эта задача ре-
шается с помощью следующей теоремы.
Теорема 2-6. Функция алгебры логики f(xlt х2,...
..., хп) допускает простую разделительную функцио-
нальную декомпозицию нетривиального вида тогда и
только тогда, когда матрица, соответствующая заданно-
му разбиению множества X на подмножества X1 и Х°,
содержит не более двух различных столбцов.
Докажем сначала необходимость. Пусть функцию f
можно представить в виде
f (Х1, Х2, . . .,Хп)= Ф2[ф1 (X1) , Х°].
Из (2-37) следует, что
f (хи х2,.... хп)= V wV3...w^f(ult иг,..., ит,
по всем 1 2
<«1, «2, ...
а1( а2,..., aft)= V w“lw*‘ ...
по всем
<«i, аз. ••• , а^>
&?2 [?! (а» aft), а1; и2, ... , ит].
Функция <p2[q>i(ai, •»,..., ал), Mi, и2,..ит] соответст-
вует функции y=F(u.i., и2, IF*) в нашей матрице.
Но (pi как функция алгебры логики может принимать
лишь два различных значения, откуда вытекает необ-
ходимость условия, сформулированного в теореме.
Докажем теперь достаточность условий теоремы.
Пусть матрица содержит не более двух различных
столбцов. Покажем тогда, что исходная функция может
быть представлена в виде (2-34). Так как каждый стол-
бец есть функция вида f(w)( м2, ...,мт, IF*), то сопоста-
вим два различных столбца, имеющихся по условию
в матрице, произвольным образом функциям F (О, Х°) и
F(l, Х°) (если в матрице нет различных столбцов, то
исходная функция не зависит от аргументов, входящих
в множество X1).
Определим теперь функцию cpi следующим образом.
Она равна нулю на всех наборах <w*i, w*2,..
для которых имеет место равенство f(uir и2,...,ит,
IF*)=F(O, Х°), и равна единице для всех наборов W*,
для которых имеет место равенство и2,...,ит,
W*)=F(1, Х°). Заменяя после этого F на <р2, получаем:
С(^)=Ф1ф2(0, Х°) VwHl, ^°) =<ЙФ'1(^1), ^°]-
Теорема доказана.
Эта теорема может быть обобщена на случай
(т—1)-кратной разделительной декомпозиции, дающей
представление функции в виде
f (Xi, х2,.. ,,хп) =
= фт{фт-1(Х1), фт--2(^‘), •ф1(АД, X0}.
В этом случае необходимым и достаточным условием
существования (тга—1)-кратной разделительной деком-
позиции при заданном разбиении множества X на мно-
жества X1, Х° является условие наличия в матрице функ-
ции не более 2т~1 различных столбцов. Доказательство
этого утверждения представляется читателю.
Отметим, что при поиске простой разделительной де-
композиции, отличной от тривиальной или разделитель-
ной (т—1)-кратной декомпозиции, необходимо про-
смотреть различные разбиения множества X на множе-
ства X1, Х°, и процесс перебора таких разбиений закан-
чивается либо при нахождении такого разбиения, кото-
рое удовлетворяет условиям теоремы 2-6, либо при ис-
черпании всех возможных способов разбиения, число
которых равно 2п—2.
Заметим, что поиск декомпозции некоторой ФАЛ
приводит в случае успеха этого поиска к построению не-
которой скобочной формы представления данной функ-
ции.
Пример 2-25. Найти простую разделительную декомпозицию
для функции f(xi; хг, Хз, xt, хз), принимающей значение 1 на на-
борах аргументов с номерами 0, 6, 7, 8, 13, 15, 17, 19, 22, 23, 24, 25,
27, 28. На остальных наборах функция принимает значение, рав-
ное 0.
Произведем разбиение множества X на подмножества Х° —
= {xi, х5} и X'=--{Xi, х2, Хз}- В соответствии с заданием функции
строим матрицу:
А'0 X1 X1
0 1 2 3 4 5 6 7 х° 0 1 2 3 4 5 6 7
0 1 10 10 0 0 11 0 0 0 1 10 10 2 3 0 10 0 0 10 0 0 10 11110
Так как число различных столбцов в этой матрице больше двух,
то для выбранного разбиения множества X на подмножества Х°
и X1 простая разделительная декомпозиция невозможна. Читателю
предлагается проверить, что при любом нетривиальном разбиении
множества X на подмножества Х° и X1 (разбиение нетривиально,
если |Х°| ^2 и Х‘^2) для данной функции невозможно получить
простую разделительную декомпозицию.
Однако возможно получить разделительную кратную декомпо-
зицию того вида, который был рассмотрен в обобщении теоремы
2-6. Для построенной нами матрицы число различных столбцов рав-
но четырем. Эти столбцы имеют вид:
построение декомпозиции исходной функции в следую-
щем виде:
f(xit х2, Хз, х4, хй) =фз[ф2(А1), (pi, (А1), Х°].
Определяем фз(0, 0, х4, х5), ср3(0, 1, х4, х5), <р3(1, 0, х4)
х5) п фз(1, 1, х4, х5), для чего сопоставляем этим функ-
Ниям четыре различных столбца в том порядке, в кото-
ром они написаны. Тогда
фз(0, 0, х4, x5)=f(0, Xi, х5) =
=7(2, Xi, Xs)=f(7, Xi, x5)=XiX5;
?3 (0, 1, x4, x5) = f (1, x4, x6) = f (5, x4, x5) = x4x6V'W,
0, x4, x5) = f (3, x4, x5) = /(4, x4, xs) = x4x,Vvs;
<p3(l, 1, X4, X5)=f(6, X4, X>xJsVX4X5Wr
Отсюда
фч(0) =<pi(2) =<pi(7) =ф1(1) =Ф1(5) =0;
Ф1(3) =Ф1(4) = ф1 (6) = 1.
Следовательно,
?!(%!, Х2, Л"3) = х,х,х3\/х1х2х3\/х1х2х3.
Аналогично
Ф2 (0) =ф2(2) *=фг(7) =ф2(3) =Ф2(4) =0;
фг (1) =фг(5) =ф2(6) = 1;
?2(хп х2, x3)-=.v1x,.v3'\/a'1.v2.v3Vx1-Ax3.
Окончательно после упрощений получаем:
?1(хп х,, х3) = х1х2х3\/х1х3;
?2(х,, х2, х3) = х2х3\/х1х2х3;
?з(?2, х4, X3) = ?1(xJ2X5Vx4<f>2)V<f).(-^<f)2V^)-
Можно рассмотреть задачу нахождения функцио-
нальной декомпозиции функции с несколько иной точки
зрения. Пусть задана некоторая функция f(xi, х2, ...,хп).
Пусть также из множества X аргументов этой функции
выделено некоторое подмножество А1.
Будем говорить, что два набора и значений пе-
ременных из множества X1 совместимы, если f(A’1i,
гДе означает множество перемен-
ных, не вошедших в Х‘, но содер?кащихся в АС В про-
тйвйом случае два набора и будем называть не-
совместимыми. Отношение совместимости разбивает
все множество наборов значений переменных из X1 на
классы, в каждый из которых попадают лишь совмести-
мые наборы. Число таких классов зависит от вида ис-
ходной функции f и выбранного множества X1. Обозна-
чим его как r(f, X1). Рассмотрим теперь функцию <р1э ко-
торая принимает различные значения на различных
классах совместимости. Значения этой функции мы бу-
дем представлять двоичной записью в q разрядах, где
q — l, если г=2; и <7=(log2r]+ 1, если г=у=2;. Каждую ком-
поненту в этой записи будем рассматривать как функ-
цию, определенную на множестве X1.
Пример 2-26. Пусть имеется функция шести переменных, прини-
мающая значение 1 на наборах с номерами 2, 12, 17, 28, 44, 45, 50,
61, 62. В качестве множества X1 возьмем множество {xi, ха, хз}-
Выпишем классы совместимых наборов <x*i, х*г, х*3>. Для удоб-
ства запишем наборы, на которых функция по условию принимает
значение 1 в двоичном виде:
<000010» <001100>, <010001» <011100»
<10110» <101101» <110010>
<111101» <111110»
1-й класс {<000>, <Н0»; 4-й класс {<100»
2-й класс {<001» <011»; 5-й класс {<101»
3-й класс {<010», 6-й класс {<111».
Если же в качестве множества X1 взять множество аргументов
{х3, Х4, Ха, хе}, то разбиение на классы совместимых наборов будет
выглядеть следующим образом:
1-й класс {<0000>, <0011>, <0100» <0101»
<0110» <0111» <1000» <1001»
<1010» <1011» <1111»;
2-й класс {<0001»;
3-й класс {<0010»;
4-й класс {<1100»;
5-й класс {<1101»};
6-й класс {<1110».
В обоих случаях функция <pi должна принимать шесть различ-
ных значений. Эти значения кодируются тремя двоичными функ-
циями. Есть некий произвол, состоящий в том, как кодируются
шесть значений <pi восемью комбинациями значений <», ф<
ср31>, где ф’1—кодирующие двоичные функции.
Если выбрать кодирование, совпадающее с номером класса
совместимости, то для первого рассмотренного случая получим:
Xi Xi xz 1 2 3 91 91 П *i Х3 1 2 3 91 91 91 91
ООО 0 0 1 0 1 0 0 1 1 Для второг таблицу: 0 0 1 0 1 0 0 1 1 0 1 0 о случая, ра 1 2 3 2 ссмот 1 0 0 1 0 1 1 1 0 1 1 1 ренного нами, г 1 0 0 1 0 1 0 0 1 1 1 о меем следук 4 5 1 6 ицую
*з xt хй х& 1 2 3 Ф1 91 91 ¥1 Хз Xi *5 *6 1 2 3 91 91 91 91
0 0 0 0 0 0 0 1 0 0 10 0 0 11 0 10 0 0 10 1 0 110 0 111 Определи! 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 з выражен 1 2 3 1 1 1 1 1 ие 10 0 0 10 0 1 10 10 10 11 110 0 110 1 1110 1111 для функции 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 Ф1, нетр; 1 1 1 1 4 5 6 1 /ДНО
найти выражение для функции f(xi, Хг, ...,хп), рассмат-
ривая ее как функцию от cpi и Хп:
f(xt, х2,.. .,х„) =f(<pi, Х°),
т. е. получить простую относительно разделительную
декомпозицию функции f.
Пример 2-27 (продолжение). Для второго случая выбора мно-
жества X1 получим:
Х1 X, 1 91 2 91 3 91 f Xi Xi г 91 2 91 3 91 f
0 0 0 0 0 * 1 0 0 0 0 *
0 0 0 0 1 0 1 0 0 0 1 0
0 0 0 1 0 0 1 0 0 1 0 0
0 0 0 1 1 1 1 0 0 i 1 0
0 0 1 0 0 1 1 0 1 0 0 1
0 0 1 0 1 0 1 0 1 0 1 1
0 0 1 1 0 0 1 0 1 1 0 0
0 0 1 1 1 * 1 0 1 1 1 *
0 1 0 0 0 * 1 1 0 0 0 *
0 1 0 0 1 0 1 1 0 0 1 0
0 1 0 1 0 1 1 1 0 1 0 1
0 1 0 1 1 0 1 1 0 1 1 1
0 1 1 0 0 1 1 1 1 0 0 0
0 1 I 0 1 0 1 1 1 0 1 1
0 1 1 1 0 0 1 1 1 1 0 1
1) 1 1 1 1 * 1 1 1 1 1 *
Звездочка в этой таблице стоит против тех наборов, на кото-
рых функция / не определена. Эти наборы никогда не возникают,
так как функция ф! не принимает значений, равных 0 и 7. Исход-
ная функция f, зависящая от шести переменных, сведена нами
к функции, зависящей от пяти переменных,
f (х,, х2, х3, х4. х5, х6) f (х„ х2, у}, о,),
что привело нас к разделительной трехкратной декомпозиции спе-
циального вида, рассмотренного в обобщении теоремы 2-6. Если те-
перь произвести доопределение функции / в полученной таблице
нулями, то мы получим следующее выражение:
f(x„ х,, х„ х4, х., V
v^?: ?! ?! ?! v^.x?; ?! ?! v
v-*^?; ?! ?! v-wj ?! ?! v *>*!?; ?! ?! v
v w! ?! ?! v -r-x2?‘i ?! ?! v -w! ?! ?! •
Заметим, что при первом способе выбора множества X* мы не
получили фактически никакого уменьшения числа переменных в f,
так как вместо аргументов хь х2. х3 в ней появились аргументы
¥1- Н. ?!•
Как следует из приведенного примера, в процессе
построения декомпозиции функции f в двух местах воз-
никал произвол: при кодировании значений функции cpi
и при доопределении функции f. Минимальность окон-
чательного выражения тесно связана с тем выбором, ко-
торый мы осуществляем на этих шагах. Полностью
проблема получения минимального выражения при на-
хождении разделительной декомпозиции пока не имеет
решения.
Мы рассмотрели лишь самый простой вид функцио-
нальной декомпозиции. В § 3-8 мы рассмотрим некото-
рые проблемы, связанные с неразделительной функцио-
нальной декомпозицией.
ГЛАВА ТРЕТЬЯ
ВОПРОСЫ АНАЛИЗА И СИНТЕЗА
НЕВРЕМЕННЫХ СХЕМ
3-1. ЛОГИЧЕСКИЕ СЕТИ
При математическом описании тех или иных физи-
ческих объектов, как правило, отвлекаются от целого
ряда второстепенных факторов и процессов, действую-
щих в этих физических объектах. Такая абстракция не-
обходима для создания общей математической теории
для целого класса родственных между собой физиче-
ских процессов.
Целью настоящей книги является математическая
теория анализа и синтеза физических устройств, пред-
назначенных для переработки дискретной информации.
Мы будем изучать не сами эти устройства, а неко-
торым образом адекватные им математические схемы.
Эта адекватность выражается в том, что работа обеих
схем (физической, реально действующей и математиче-
ской, абстрактной) описывается с помощью одних и тех
же математических соотношений.
Такую адекватную математическую схему мы будем
называть логической сетью.
Дадим более четкое определение понятия логической
сети. Пусть мы имеем конечное множество А
А = {1, 2, 3, ...,т}.
И пусть нам задано множество В, элементами кото-
рого являются упорядоченные пары элементов множест-
ва А
B = {(i, j)}.
Здесь i, j — любые из элементов множества A, i=£j.
Пусть, наконец, нам задано некоторое множество F,
элементами которого являются логические функции
F={f,
Установим однозначное отображение множества А на
F, т. е. сопоставим каждому элементу множества А один
из элементов множества F.
Определение 3-1. Совокупность множества А и В
совместно с однозначным отображением множества А
на множестве F называется логической сетью.
Геометрической интерпретацией логической сети слу-
жит некоторая схема логической сети, которая
строится следующим образом. На плоскости в произ-
Рис. 3-1.
вольном порядке располагаются элементы множества А
(для их обозначения будем использовать кружок). Эти
элементы называются вершинами графа (рис. 3-1,а).
Символ соответствующего данному кружку элемента г
(т. е. номер) пишется рядом с этим кружком. Внутри
кружка вписывается элемент множества F, сопоставлен-
ный при отображении А на F элементу, соответствующе-
му данному кружку. Наконец, все кружки соединяются
между собой ориентированными стрелками согласно эле-
ментам множества В. Элементу (i, /) соответствует
стрелка, идущая от кружка, сопоставленного элементу i,
к кружку, сопоставленному элементу /. Эти стрелки но-
сят название дуг графа.
Пример 3-1. Пусть
Л = {1, 2, 3, 4, 5, 6};
В—{(1, 2), (3, 4), (4, 5), (2, 5), (3, 5)};
F = {fi, fi, ft}
и отображение А на F задано как
0-<-1, 4, 5, 6;
/з4-3.
Соответствующая схема заданной логической сети показана на
рис. 3-1,а.
Рассмотрим множество аргументов
X = {xi, Х2, . . .,Хп}.
Произведем теперь отображение некоторых подмно-
жеств множества X на некоторые элементы множества Л
где X* — некоторое подмножество множества X.
При геометрической интерпретации элементы множе-
ства X будем изображать жирными точками и назы-
вать входами .схемы логической сети. Зада-
ние отображения подмножества X* на элементы аг- экви-
валентно заданию множества С следующего вида:
С={(Х*, 0}.
Геометрической интерпретацией множества С являют-
ся дуги, проведенные из соответствующих входов схемы
к вершинам графа, сопоставленным нужным элементам
множества А.
Пример 3-2. Для логической сети рис. 3-1,а заданы:
Х={Х1, хг, хз, xt, хв};
С={(хъ Хг, Хз; 1), (хц 2), (х3; 3), (х5; 4),
(xi, xt, хв; 6)}.
Соответствующая схема логической сети приведена на рис. 3-1,6.
Потребуем теперь, чтобы элементы множества В об-
ладали тем свойством, что для всякого элемента (/, /)
1</. Подобную логическую сеть назовем упорядо-
ченной или логической сетью без обрат-
ных связей.
Теперь ограничим отображение множества А на F
следующим образом. Потребуем, чтобы функция fi, со-
поставляемая вершине с номером i, зависела от столь-
ких аргументов, сколько дуг входит в данную вершину.
Эквивалентным требованием является органичение на
элементы множеств В и С при заданном отображении
А на F. Суммарное число пар вида (i, /) и (х», j) не
должно превышать числа аргументов, имеющихся
у функции, сопоставленной вершине с номером /. Логи-
ческую сеть, для которой выполнено это требование, на-
зовем правильной.
Определение 3-2. Упорядоченная и правильная
логическая сеть называется регулярной логической сетью
(РЛС).
В дальнейшем будем рассматривать только правиль-
ные логические сети, а на протяжении этого раздела
ограничимся рассмотрением только регулярных логиче-
ских сетей. Рассмотрим, наконец, множество выходов
^={«/1, У2, • • •> Ук}.
Произведем теперь взаимно однозначное отображе-
ние некоторого подмножества А* множества А на мно-
жество Y. Геометрической интерпретацией этого отобра-
жения будут дуги, направленные от элементов множе-
ства А* к соответствующим элементам множества Y.
Элементы множества Y, как и элементы множества X,
будем обозначать жирными точками.
Пример 3-3. Для логической сети рис. 3-1,6 определено мно-
жество
Y={yt, у А
и взаимно однозначное отображение
5-i—н/2.
Соответствующая схема логической сети приведена на рнс. 3-1,в.
После отображения некоторых вершин графа на мно-
жество Y в графе могут остаться вершины, из которых
не выходит ни одной дуги. Такие вершины назовем ту-
пиковыми и исключим их, а также ребра, идущие
к ним. Оставшуюся после этого схему логической сети
будем называть логическим многополюсником. Если мно-
жество X содержит п элементов, а множество У содер-
жит k элементов, то такой логический многополюсник бу-
дем называть логическим (п, &)-по л юсником.
Пример 3-4. Для регулярной логической схемы, данной на
рис. 3-1,б, вершина 6 является тупиковой. После ее удаления оста-
ется логический (5, 2) -полюсник, вход хь у которого является фик-
тивным, поэтому он опущен на схеме логической сети (рис. 3-1,г).
Теория логических сетей включает в себя целый ряд
различных разделов. В этих разделах изучаются вопро-
сы, связанные с поисками методов эффективного преоб-
разования информации, оптимальным кодированием, гео-
метрией сетей, проблемами надежности сети и т. д. Из
всего множества этих проблем мы в настоящей книге
рассмотрим только проблемы, связанные с анализом и
синтезом логической сети. В последующих параграфах и
главах будут рассмотрены проблемы анализа и синтеза
регулярных логических сетей, во втором разделе рас-
сматриваются подобные же проблемы для сетей с обрат-
ными связями.
3-2. ТЕОРЕМА АНАЛИЗА И ЭКВИВАЛЕНТНЫЕ СХЕМЫ
Рассмотрим решение задачи получения общей логи-
ческой функции (или системы функций), отражающей
структуру логической сети. Для логического (п, k)-no-
люсника эти функции имеют вид:
|= Ъ(х„ х3,..., хп);
Уг^Л*" х2........ хп); (ЗД)
I £/fe = cFfe (-^1, х2,..., Хп).
Система (3-1) называется системой собственных
функций (п, /г)-полюсника. Таким образом, задача
анализа данной схемы логической сети сводится к напи-
санию системы собственных функций для этой сети.
Пример 3-5. На рис. 3-2 показана схема логического (4,2)-по-
люсника. Система собственных функций для этой сети будет:
Ух — Xi \J х2 х3; у2 ~ х2 \J х3 \/ х4.
Пример 3-6. На рис. 3-3 показана схема логического (4, 2)-по-
люсника, система собственных функций которого имеет вид:
У\ Xi (X'lX'a V Xz V Х3);
У 2 ™ Х]%2 \/ Х3 \/ Х3 \/ Х4 .
Произведем преобразование этой системы функций:
У\ — Х1 (%1%2 \/ ^2 \/ хз) — Xi \J (%2 \J хз) — Х1 \/ %2 Х3,
У% ~ ^2 \/ хз \/ Х4.
Совпадение преобразованных собственных функций примера 3-6
с соответствующими функциями примера 3-5 показывает, что с точ-
ки зрения логического описания эти схемы логических сетей совпа-
дают.
Определение 3-3. Две схемы логических сетей,
у которых собственные функции равны, называются эк-
вивалентными.
Схемы (4, 2) -полюсников на рис. 3-2 и 3-3 эквива-
лентны между собой. Подчеркнем, что собственные функ-
ции нс определяют вид схемы логической сети, т. е. не
обязательно являются структурными функциями. Эти
функции описывают лишь логическую связь между мно-
жеством входов и множеством выходов схемы.
В дальнейшем удобно несколько изменить правила
геометрической интерпретации логических сетей. Во-пер-
вых, вместо обозначений вершин графа с помощью круж-
ков будем использовать стандартные обозначения для
наиболее часто встречающихся логических функций
(эти обозначения приведены на рис. 3-4), при этом бу-
дем предполагать, что все логические элементы, кроме
элемента, моделирующего функцию отрицания, имеют
А/В
два входа. Кроме того, в даль-
нейшем не будем указывать мно-
жество вершин, сопоставляемых
множествам X и Y. Эти вершины
будут просто подразумеваться.
Соответствующие стрелки, иду-
щие от вершин множества X
к вершинам множества А и от
вершин множества А к вершинам
множества У, будут обрываться,
а у места обрыва будет указы-
ваться вершина X или У, с которой
АОВ
АДВ
Рис. 3-4.
связана эта дуга. Наконец, не будем ставить там, где это
не вызывается особой необходимостью, номера вершин Л.
В соответствии с этими изменениями на рис. 3-5 изо-
бражена схема логической сети, представленная ранее
на рис. 3-3.
Подчеркнем, что анализ схемы дает однозначное на-
писание ее собственных функций и это написание отра-
жает структуру схемы. Особенно наглядна связь между
написанием собственных функций и структурой схемы,
если пользоваться скобочной формой записи.
Пример 3-7. Для схемы, изображенной на рис. 3-2, скобочная
запись «от входов к выходам» выглядит следующим образом:
(х,) V [(^) ю;
%2 V \/ (Xj) У2.
Анализ реальных схем с точки зрения логики их ра-
боты проводится в два этапа. Сначала из имеющейся
принципиальной схемы удаляются все несущественные,
вспомогательные элементы, которые не влияют на ло-
гику работы схемы, а служат для обеспечения устойчи-
вости работы схемы, нормальной крутизны фронтов
импульсов и т. д. После этого получаем схему, состоя-
щую лишь из элементов, выполняющих логические
функции, и связей между ними. Такая схема эквива-
лентна заданию некоторой схемы логической сети. Для
ее анализа можно воспользоваться вышеизложенными
соображениями.
3-3. СИНТЕЗ ЛОГИЧЕСКИХ СХЕМ с одним выходом
Как известно, задача синтеза обратна задаче анали-
за. Синтез состоит в построении реальной схемы, исходя
из «физического описания» ее работы. Под физическим
описанием работы схемы подразумевается формулиров-
ка основных технических требований, по тем или иным
соображениям предъявляемых к синтезируемому устрой-
ству. Синтез состоит из трех этапов. Сначала по задан-
ному физическому описанию составляются некоторые
математические соотношения, адекватно отображающие
данное физическое описание. На втором этапе получен-
ные математические зависимости реализуются в неко-
торой функциональной схеме. Наконец, на третьем эта-
пе полученная функциональная схема преобразуется
в некоторую принципиальную схему.
Из этих трех этапов нас будет в основном интересо-
вать лишь второй этап, так как третий этап полностью
определяется конструктивными требованиями, предъяв-
ляемыми к синтезируемому устройству, а первый этап
не является алгоритмизированным и зависит в подавля-
ющем большинстве случаев от опыта и интуиции инже-
нера или математика.
Рассмотрим задачу синтеза (п, 1)-полюсников, т. е.
схем, имеющих п входов и один выход (рис. 3-6). На
основании результатов, полученных нами ранее, можно
утверждать, что математическое описание интересующих
нас схем может быть получено с помощью использова-
ния аппарата функций алгебры логики. Таким образом,
будем всегда считать, что при решении задачи синтеза
вначале имеется некоторая функция алгебры логики
Г/=ф(Х1, Х2, , Хп)
и задача состоит в составлении схемы логической -сети,
отрабатывающей на выходе функцию ф. Если при этом
не оговаривается способ реализации этой схемы, то под
схемой логической сети будем пони-
мать схему, реализованную на элемен-
тах НЕ, И и ИЛИ.
При дальнейшем изложении часто
будем употреблять термин «функцио-
нальная схема» вместо термина «схе-
ма логической сети», подчеркивая
этим, что синтезируемые логические Рис. 3.6.
сети описываются с помощью задан-
ных функций алгебры логики в том
смысле, что множество X отображено на множество У
с помощью данной системы собственных функций.
Пример 3-8. Начертить функциональную схему, работа которой
определяется -следующей функцией:
У (Xj, Хг , Х3, Х4) = [(Xj \/ Х2) “* (Х3 \/ Х4)] Х2.
Запишем эту функцию, выразив импликацию и эквивалентность
через отрицание, конъюнкцию и дизъюнкцию согласно формулам
(1-3) и (1-5):
f (X, Х2, Х3, Х4) = [(X, \/ Х2) V Х3 V Х4] ~ Х2
— {[(Xi V Хг V Х3 \/ Х4] \/ Х2} &
& {(XjX/Хг) V Х3 V Х4 V Хг}.
Рис. 3-7,
Разбиваем эту функцию па следующие менее сложные функции:
у, = х, \/ х2;
Уг = Уi V «» V Х4;
¥з = ?2\/л2;
?4 = У2 V *2-
Тогда
¥ = ¥з&?4-
На рис. 3-7,а показана функцпопальнаясхема на уровне функ-
ций ф,-. На рис. 3-7,6 показана реализация ср в системе базисных
элементов НЕ, И, ИЛИ.
Пример 3-9. _
у(х,, х2, х3) — (х,/х2) ф (х3 -»Xi);
<? (X,, Х2, Х3) = (XjXa) ф (X, \/ Xj) =
= (XjXg \/ Х3 \/ Xi) & (Х,Х2 \/ Х3 \/ Xi).
Разбивая функцию ф на отдельные более простые функции, по-
лучаем:
cp^XjXsVXsVX,; <fs = Х,Х2 У/ХзУ/Хн ¥ = ¥1?2.
Соответствующая функциональная схема приведена на рис. 3-8.
Легко установить следующее правило синтеза функ-
циональной схемы на элементах НЕ, И и ИЛИ.
Для получения функцио-
нальной схемы, соответст-
вующей данной собственной
функции этой схемы, доста-
точно выразить эту функцию
через отрицание, конъюнк-
цию и дизъюнкцию и сопо-
ставить каждой элементар-
ной функции в полученной
суперпозиции функциональ-
ный элемент, моделирующий
эту элементарную функцию.
В общем виде при выборе
стандартных логических эле-
ментов, отрабатывающих
полную систему функций
{fi, /г, • • •, fr}, это правило
аналогично. Только дан-
ную функцию <р надо раз-
лагать не по базису (—,
&,V }, а по функциям дан-
ного базиса.
Пример 3-10. Построить функциональную схему для функции
<Р (X,, Хг, Х3) — Xj -> (Х1Х2 V *з)>
если в качестве стандартных логических элементов используются
элементы импликации и отрицания.
Выражаем дизъюнкцию и конъюнкцию по формулам (1-19) че-
рез отрицание и импликацию:
ф(Х], Х2, Х3)=Х1-—>х2)—>-х3].
Соответствующая функциональная схема приведена на рис. 3-9.
В силу понятия эквивалентности схем существуют
различные схемы, имеющие
функцию. Это свидетельст-
вует о том, что задача син-
теза в отличие от задачи ана-
лиза всегда имеет бесчислен-
ное множество решений. Дру-
гими словами, можно по-
строить бесконечно много
различных функциональных
схем, обладающих заданной
одну и ту же собственную
собственной функцией. Сре-
ди этих схем будут схемы разной сложности, требующие
разного количества оборудования. Нас, естественно, бу-
дут интересовать лишь те схемы, которые отрабатывают
требуемый выход при минимально возможном количестве
элементов. Задача синтеза функциональных схем при та-
ком дополнительном условии обычно носит название
задачи оптимального синтеза. В общем виде эта задача
до сих пор не решена и представляет большие трудности.
Однако целый ряд частных результатов, относящихся
к этой проблеме, позволяет уже сейчас решать некото-
рые практически важные задачи в этом направлении.
Наиболее существенные результаты получены для
случая базисных элементов, состоящих из стандартных
элементов отрицания, конъюнкции и дизъюнкции. Для
такого базиса можно рассматривать задачу оптимально-
го синтеза как задачу о синтезе функциональной схемы,
соответствующей минимальной аналитической записи
этой функции. Как следует из гл. 2, решение этой задачи
сводится к нахождению МДНФ, МКНФ или минималь-
ного скобочного выражения для данной функции. После
этого осуществляется синтез функциональной схемы по
найденной записи собственной функции.
Пример 3-11. Обратимся к рассмотренной нами в примере 3-8
функции и составим таблицу, определяющую ее:
Х1 х2 *3 Х4 X1V.«2 х4 -ГзУх, (XiVXj)-»-(x»Vx<) ч>
0 0 0 0 0 1 1 1 0
0 0 0 1 0 0 0 1 0
0 0 1 0 0 1 1 1 0
0 0 1 1 0 0 1 1 0
0 1 0 0 1 1 1 1 1
0 1 0 1 1 0 0 0 0
0 1 1 0 1 1 1 1 1
0 1 1 1 1 0 1 1 1
1 0 0 0 1 1 1 1 0
1 0 0 1 1 0 0 0 1
1 0 1 0 1 1 1 1 0
1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1
1 1 0 1 1 0 0 0 0
1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 1 1 1
Запишем функцию q> в ДСНФ:
у -- Х1%2^3 ^4 \/ Х1%2^3 ^4 \/ ^1^2^3^4 \/
\/ ^3^4 \/ ^1^2^3^4 \/ % 1%2^3 ^4 \/ АС|Хз^3^4*
Применим к этой функции метод минимизации Квайна—Мак-
Класки. Исходные миннтермы имеют номера 4, 6, 7, 9, 12, 14 и 15.
Запишем эти миннтермы по группам в двоичном коде.
Нулевая группа: 0100*.
Вторая группа: 0'110*, 1001, 1100*.
Третья группа: 0111*, ИГО*.
Четвертая группа: 1111*.
Сравнивая соседние группы, получаем по группам миннтермы
3-го ранга:
Первая группа: 01—0*, —100*.
Вторая группа: ОН—*, —ПО*, И—0*.
Третья группа: —111*, 111—*.
Теперь получаем миннтермы 2-го ранга:
Первая группа: —4—0.
Вторая группа: — 1.1—.
Сокращенная ДНФ для минимизируемой функции имеет вид:
(Xj, %2, Хд, ^4) Х3Х4 \/ Х2Х4 \/ ^2^3*
Составляем функцию меток._____________________________________
0100 оно 0111 1001 1100 1110 1111
1001 —1—0 —11— V V V V V V V V V
Из этой таблицы вытекает, что СДНФ совпадает с МДНФ.
Произведем теперь возможные вынесения за скобки:
у (Xi,xs, х3, х4) = x,xs x3x4‘\/fxs(x3 V £).
Функциональная схема, соответствующая этой записи функции,
приведена на рис. 3-10. Интересно
схемой на рис. 3-7. Для схемы на
рис. 3-7 требуются четыре эле-
мента НЕ, один элемент И, пять
элементов ИЛИ. Для схемы на
рис. 3-10 требуются три элемента
НЕ, четыре элемента И и два
элемента ИЛИ. Если считать, что
элементы типа И и ИЛИ одинако-
вы по сложности, а элементы типа
НЕ в 2 раза проще их, то
в -пересчете на элементы типа НЕ
для схемы на рис. 3-7 требует-
ся затратить 16 таких элементов,
а для схемы на рнс. 3-10— 15 эле-
ментов. Если же допущение об
эквивалентности сложности реали-
зации элементов типа И и ИЛИ
неверно, то схема на рис. 3-10
может оказаться сложнее схемы
на рис. 3-7, при построении
которой минимизация не прпме-
сравнить полученную схему со
мялась.
Пример 3-12. Пусть задана функция
Ф следующей таблицей:
Хг Х3 ф Xi Xj Х3 ф
0 0 0 0 1 0 0 1
0 0 1 1 1 0 1 0
0 1 0 1 1 1 0 0
0 1 1 0 1 1 1 0
При минимизации этой функции воспользуемся методом неопре-
деленных коэффициентов:
К} V *1 \/ *1 \/ *11 v *11 \/ \J Kill = о;
*1 v *1 v *3° v *1" \/ *11 v *1з° V *12з = °;
*’1 V *1V *1V *11 \/ *’11V *11 \/ *}201 = 0;
*1V *1V *°з V *11V *1°з V *11V *111 = 1;
*? V *1V *1V *Щ V *й V *11V *?Ц = 0;
К1V *1V *1V *11V *1з V *1з V *?2°з = 1;
*? V *1V *1V *11V *й V *11V Kill = 1;
*? V *1V *1V *щ V *?! V *21V *123 °-
Отсюда
— К2 = Кз = ^12 ~ — ^23 = ^123 = О’
7/-0 _ iz 10_ г*-10_ if НО_л,
&3 — 'ЧЗ — Л23 ^123 — и»
К°2^К\°2^К23 = К123= °;
тгЗ _ ъ-01 _ IzOl __ IfOl 1_n.
Aj — Л|2 — Л 13— Л123 — и>
rzOO_ ь-00_ izOO__т ггООО _ л
Л12 — Л13 — Л23 “.Л 123 — и-
Система принимает следующий вид:
^1оо_ 1-
Л 123 ~ *>
жно — 1 •
Л123 — *> '
ь-001 _ 1
К123” *•
Следовательно, МДНФ для <р запишется следующим образом:
ср = XtX2 Х3 V Х1Х2Х3 \/ XiXa-^s.
После вынесения за скобки получаем минимальную скобочную
форму _ _ _ _ __
¥ (Хр Х2> Х3) — (XiX2 \/ XjXg) Х3 \/ Xi Х2Х3.
Соответствующая функциональная схема приведена на рис. 3-11.
Из рассмотренного в этом
параграфе материала
можно сделать следующие
выводы относительно синте-
за функциональных схем с
одним выходом:
1. При любой заданной
собственной функции всегда
можно синтезировать функ-
циональную схему, соответ-
ствующую этой функции.
2. Для одной и той же
заданной собственной функ-
ции можно построить беско-
нечное множество различ-
ных функциональных схем.
3. При решении задачи
оптимального синтеза в ка-
честве первого шага можно
Рис_ 3-11. использовать метод мини-
мальных нормальных форм.
Необходимо учитывать, что получающиеся при этом
функциональные схемы, как правило, еще не являются
минимальными.
Более общие соображения по синтезу схем будут
рассмотрены в § 3-4.
3-4. СИНТЕЗ ЛОГИЧЕСКИХ СХЕМ СО МНОГИМИ ВЫХОДАМИ
Рассмотрим следующую задачу. Имеется система из
k собственных функций:
?i(x„ ..., хп) = у1;
Фг (a-i, х2,..., а:п) = У2; (3-2)
<PR(X1( х2,..., хп) = ук.
Требуется построить схему, в которой работа /-го
выхода определялась бы
функцией ф;.
На первый взгляд, зада-
ча синтеза (п, А)-полюсника
практически ничем не отли-
чается от задачи синтеза
(п, 1)-полюсника, которая
рассматривалась в предыду-
щем параграфе. Это дейст-
вительно так, если рассма-
тривать задачу синтеза схе-
мы для собственных функ-
ций (3-2) как задачу о раз-
дельном синтезе для каждой
из <рг- Каждая такая функ- Рис 3_12
ция определяет некоторый
(«, 1)-полюсник, а схемой для всей системы (3-2) будет
совокупность k таких («, 1)-полюсников.
Пример 3-13. Синтезировать функциональную схему с системой
собственных функций следующего вида:
У1 = <?i (х2,х3) = х2х3;
у2 = е2 (Х1, х2, х3) --- х, \/ х2х3;
Уз = ¥з (Xi. Х2, х3) = XiX2x3;
. = ¥. (Xl, Х2) = Xl V Л=2-
Если при синтезе действовать вышеуказанным образом, т. е.
строить для каждой из <р> свою функциональную схему, то мы по-
лучим совокупность четырех (3, 1)-полюсников, показанную на
рис. 3-12.
Легко видеть, что такой синтез будет неоптимальным, так как,
например, элемент, реализующий конъюнкцию х2хз, оказывается
дублированным. Очевидно, более разумным явилось бы исполь-
зование этого элемента для синтеза <р4 и <р3 один раз. Полученная
схема является неоптимальпой и по другой причине. Рассмотрим
следующие выкладки:
¥1 & f2 = Х2Х3 (%1 \/ Х2Х3) — ^63^62^3= ?3
У1 \/ ^2 = Х2Х3 \/ X, ' /\X2X3 == Х,\/ ^2 ^4-
Они показывают, что можно существенно упростить функцио-
нальную схему, если учесть взаимную связь самих функций <р,-.
При решении проблемы оптимального синтеза (п,
AJ-полюсников возникает еще много трудностей, не пре-
одоленных до сих пор.
Можно указать на несколько достаточно общих ме-
тодов синтеза (п, AJ-полюсников. Однако все эти мето-
ды не дают решения задачи оптимального синтеза. Рас-
смотрим два таких метода. В гл. 5 будет рассмотрен еще
один подобный метод.
Идея первого метода связана с нахождением про-
стых импликант системы функций алгебры логики.
Определение 3-4. Простой импликантой множе-
ства функций алгебры логики {fi, /2, . .., М, зависящих
от п аргументов, называется всякая элементарная
конъюнкция
«••• ХрР (/’<«)>
которая является простой импликантой какой-либо из fi.
Пример 3-14. Найти простые импликанты для системы функ-
ций _
УI ¥ 1 (1 >2 > -^з) ^1^2 \/ Л'1^'2^'3»
У 2 ®2 (^1» ^2 > #3) 1-^2 ^3 \/ 1 ^2 -^3 \/ ^2 ^3»
Уз ’ " (я 1J % 2 > ^з) ~^1^3 \/ ^2 %3*
На основании определения 3-4 получаем пять простых импли-
кант:
Xl%2, X1T2-V3, ^2^3, £1^2, Х1Х3.
Очевидно, что ДНФ
где Jj — простая импликанта системы, а о — множество
номеров этих импликант, полностью определяет все
множество Ту для всех функций системы.
Теперь можно сформулировать очевидное утвержде-
ние, вытекающее из определения понятия простой им-
пликанты системы.
Простые импликанты всех возможных произведений
fie f ••••> fi функций данной системы, и толь-
ко они, образуют множество простых импликант данной
системы.
Это утверждение дает нам возможность построить
метод синтеза (п, Л^-полюсника и показывает, что для
случая системы функций
алгебры логики может
быть использован аппарат
минимизации, развитый
нами в гл. 2. Для системы
функций можно ввести по-
нятие СДНФ и понятие
минимального покрытия.
Предоставляя это сделать
читателю, отметим, что
схемы, получающиеся в
этом случае, будут в ряде
случаев далеки от мини-
Рис. 3-13.
мальных.
Пример 3-15. Построить функциональную схему для системы
функций
1/1 := fl (Х1, Х2> Хз) —Х1%2%3 \/ Х1Х2 Хз \/ Х1Х2 Хз,
У2 ~ fz (Xi, Ха, Хз) ~ Х}%2 \/ Х2Х3.
Легко видеть, что простые импликанты для системы имеют
вид: Х1Х2, Х2Х3, Х1Х3. _
При этом У1 = х,х2 V Х1Х3 и у2 == Х]Х2\/'х2х3. Соответствую-
щая схема показана на рис. 3-13.
Переходим к изложению другого метода синтеза
функциональных схем. Основная идея этого метода за-
ключается в том, что любая функция п переменных мо-
жет быть записана в следующем виде:
Мл,, х2,..., xn) = xnfiVA:nf2. (3-3)
В этом соотношении fi и /г— функции, зависящие уже
от (п—1) переменной. Далее процесс продолжается ана-
логичным образом:
f 1 (-^-1, -^-2> * • 1 Хп_ i) -^n- if и\/ Х1г • if lai
fsfai, Х2, ..., Xn_i) — Хп-if 21\^ *n-if га-
ФуНКЦИИ fn, fiz, /21 и f^ зависят от (п—2)-х аргу-
ментов. Продолжая этот процесс далее, мы придем
В конце концов к соотношениям, у которых справа будут
стоять функции, зависящие только от двух аргументов.
Подобный метод применяется для всех собственных
функций из системы, причем если в последующих разло-
жениях встречаются функции, которые встречались при
синтезе предыдущих функций, то они используются при
моделировании последующих функций.
Пример 3-16. Начертить функциональную схему в соответствии
со следующей системой собственных функций:
У] — Х,Х2Х3 \/ XjXaXa \/ XiX2X3;
у2~ Х!Х2Х3 V XjXaXj V X] х2 х3;
Уз '— XjXgXg \/ X 1Х2Х3 \/ X, Ха Х3.
Разлагаем q>i, <р2 и фз:
У1 = Х3 (XtXaVXiXa) V*3 (XiX2) ;
__ Zu _ fia
In —— XiX2\/XiX2 — X2 (Xj\/Xi) ==2 X2 j
у2 Хз (Х1Х2)\/Хз (xiX2\/xjX2);
f21 122
f22 X1X2 VX1X2 —- x2 (xi\/Xj) = Ха 1
уз ~~ x3 (x ,x2 Vx jX2\/x 1X2);
________________ . 1з2 _ ____
f 32 X 1Ха\/X1 (X2V_~~ X iX 2VX j X 3\/X3
На рис. 3-14,а изображена структура последовательного разло-
жения. а на рис. 3-14,6 приведена искомая функциональная схема.
Пример 3-17. Начертить функциональную схему для системы
собственых функций, заданных в виде таблицы
у2 =
Уз —— X iX2X3^/X jX2X3,
У4 ~ X jX2X3\/X 1Х2Хз\/Х iX2X3 J
Уз = XjX2X3\/ XiX2X3\/XiXsX3'
Раскрывая в <pi скобки и производя склеивание и поглощение
в фг, ф4 и q>5, получаем:
У । — X i \/ X1X 2 \/ X1X g \/ X1X 2 \/ X 2 X з X1X з \/ X 2 X з — X1 \/ X 2 X з \J X 2 X 3
У2 = X^X^jXxXz\
Уз = XxXlX^\JX-lX.iXi\
у 4 = х \ Х^\/ xzx z\
Уз = Х\Х^\/ X \Х %•
Используя соотношение (3-3), последовательно получаем:
у [ = х 1^/ xzx z\/ х^х з;
у2 X1 (X2V^з)»
Уз.=
fa?
У4 — xz (%1\/Хз);
fa?
?5 — Xt (X2VХз)-
fsi
Схема, соответствующая этому разложению, показана ва
рис. 3-15.
Описанный нами метод синтеза известен под назва-
нием метода каскадов. Сложность схемы, получаемой
по методу каскадов, существенно зависит от порядка вы-
бора аргументов, по которым производится разложение.
В ряде работ проблема выбора последовательности ар-
гументов исследовалась с точки зрения простоты даль-
нейшей минимизации ДНФ функции, а также с точки
зрения простоты получаемой схемы. Например, если
f (xi, х2, ..., хп) =x{ft V где и f2 удовлетворяют со-
отношению fifs—-О, то МДНФ для функции f может быть
получена как дизъюнкция МДНФ для функций и
%ifz- Однако практически проблема выбора оптимальной
последовательности разложения до настоящего времени
в общем случае не решена.
3-5. СИНТЕЗ СХЕМ ПО НЕПОЛНОСТЬЮ ОПРЕДЕЛЕННЫМ
СОБСТВЕННЫМ ФУНКЦИЯМ
На практике неполностью определенные функции
встречаются весьма часто. Из некоторых технических
или физических соображений тот или иной набор зна-
чений аргументов не может появиться на входе синте-
зируемого устройства. Такие наборы значений аргумен-
тов будем называть запрещенными. На запрещен-
ных наборах синтезируемая функция не определена.
Пример 3-18. Пусть задана неполностью определенная функ-
ция следующей таблицей:
Л3 f(x, Л2) Л2 f(X, Ла)
0 0 0 1 0 *
0 1 1 1 1 1
Эта таблица на самом деле определяет не одну, а две полно-
стью определенные функции.
При переходе к аналитической записи неполностью
определенные функции необходимо доопределить,
в противном случае переход от табличного задания
функции к ее аналитической записи в виде ДСНФ или
КСНФ невозможен. Это доопределение произвольно и
зависит от тех целей, которые ставятся при доопределе-
нии. Если в дальнейшем предполагается производить ми-
нимизацию функции, то доопределение выгодно произво-
дить таким образом, чтобы минимальная форма функции
для данного доопределения получилась проще, чем
МДНФ, получаемая при других возможных доопределе-
ниях. Однако, например, доопределение при решении за-
дачи о повышении надежности схемы является другим.
В этом параграфе рассмотрим некоторые задачи, свя-
занные с использованием неполностью определенных
функций при синтезе схем.
Пример 3-19. Доопределить функцию f с учетом ее дальнейшей
минимизации в классе нормальных форм
X- х2 Хз f(Xl, Хг, Xi А'-. Г X? ' 1(х,, х2, Хз)
0 0 0 0 1 0 0 1
0 01 1 * 1 0 1 1
0 1 0 1 1 1 0 0
0 н 1 * 1 1 1 *
На рис. 3-16 показано множество 7\ для заданной функции.
Вершины куба, соответствующие запрещенным комбинациям, отме-
чены треугольниками (рис. 3-16).
Если на всех запрещенных комбинациях доопределить данную
функцию нулями, то, как это видно из рис. 3-17, МДНФ для функ-
ции f будет иметь следующий вид:
f (Xj, Хз, Х3) X1Х 2 \/Х 1Х2Х 3 .
Рис. 3-16.
Если же произвести доопределение единицами, то МДНФ при-
мет вид: _ _
f(x„ Х2, Х3) = Х3\/ХхХг\/ XiX2,
Соответствующее покрытие показано на рис. 3-18. Легко ви-
деть, что другие возможные доопределения дадут результат ие луч-
ший, чем доопределение единицей на наборе <0, 1, 1> и нулями
иа остальных запрещенных наборах. Это доопределение показано
на рис. 3-19. При этом
f (X1, Хз, Хз) — Х3Х2\/Х2Х2.
Если функция f(Xi, Х2,...,хп) не определена на q
наборах значений аргументов, то существует 2« пол-
ностью определенных функций, значения которых сов-
падают со значениями исходной функции на тех набо-
рах, на которых она определена. Эти функции, которые
мы будем называть доопределенными относи-
тельно f, отличаются друг от друга по крайней мере
на одном из q наборов, на которых f не определена.
Минимальным доопределением функции f назовем
такую доопределенную относительную f функцию, МДНФ
которой содержит наименьшее количество букв по срав-
нению с любой МДНФ, соответствующей другой доопре-
деленной относительно f функцией. Определим две до-
определенные относительно f функции: функцию
cpi(xi, Хг, хп), которая на всех q наборах, на кото-
рых f не определена, принимает значение 1, и функцию
фо(Xi, Хг, ..., хп), принимающую значение 0 на всех q
наборах, на которых f не определена. Имеет место сле-
дующая теорема.
Теорема 3-1. МДНФ неполностью определенной
функции [(xi, х2,..., Хп) получается как дизъюнкция
наиболее коротких (по числу букв) импликант cpifxi,
хг,. ., хп), которые в совокупности покрывают все импли-
канты в ДСНФ для фо(Д1, Хг,..., хп), причем среди вы-
бранных импликант нет лишних.
Для доказательства теоремы рассмотрим произволь-
ную доопределенную относительно f функцию срДхц
Хг, .хп). Запишем ее в ДСНФ. Все конъюнкции из
ДСНФ этой функции обязательно войдут в ДСНФ
функции <pi(xi, Хг,..., хп). Отсюда любая импликанта
rpi будет либо иметься среди простых импликант фЪ ли-
бо поглощаться какой-либо простой импликантой фЬ Та-
ким образом, самыми короткими импликантами, покры-
вающими единицы фо, являются простые импликанты фЬ
Среди всех доопределенных относительно f функций
функция фо имеет минимальное число простых импли-
кант, так как ее множество Л содержит наименьшее
число наборов значений аргументов. Так как для по-
крытия Т1 этой функции потребуется минимальное чи-
сло простых импликант фь Если взять дизъюнкцию этих
покрывающих импликант, то мы получим некоторую до-
определенную относительно f функцию, дающую мини-
мальное представление.
Пример 3-20. Для функции f из примера 3-19 найти минималь-
ное доопределение.
ДСНФ фо имеет вид:
(X j, Хз) — X ^ХзХз^/х 1X2X3^^% 1X3X3 •
ДНСФ имеет вид:
91 (X 1Х2Х3) :== VX 1ХзХз VХ1ХзХз\/Х1ХзХз\/Х]ХзХз\/X1X3X3•
Получаем для <fi сокращенную ДНФ, используя для этого ме-
тод Квайна—Мак-Класки до этапа построения таблицы покрытий.
Тогда _ _
У1 (X1, Хз, X3) —: X 1Хз\/X 1X3 VХ3.
Построим таблицу, аналогичную таблице покрытий в методе
Квайна — Мак-Класки, с той только разницей, что строкам таблицы
мы соотнесем найденные простые импликанты чи, а столбцам таб-
лицы мы соотнесем конъюнкции, входящие в ДСНФ ф0. Для на-
шего примера эта таблица имеет следующий вид:
Ф1 Фо
Xt X, Х3 Xi Х2 Х3 Xi X 2 Х3
%1 Х2 + +
X, Хз +
Х3 +
Крестик в клетке этой таблицы означает, что соответствующая
простая импликанта <pi накрывает конъюнкцию из ДСНФ <р0. Вы-
бирая минимальное покрытие, получаем минимальное доопределе-
ние для f в следующем виде:
f (Xj, Хз. Хз) = XIX2\/XIX2.
Этот результат совпадает с результатом примера 3il9, найден-
ным методом перебора всех возможных доопределений.
Покажем теперь возможность использования метода
доопределения неполностью определенных функций.
Метод такого синтеза (п, AJ-полюсников рассмотрим
для случая системы, состоящей из двух собственных
функций. Как будет ясно из дальнейшего изложения, это
ограничение никак не сказывается на идее метода и оп-
ределяется только стремлением к большей наглядности
изложения.
Пусть необходимо построить функциональную схему
для системы двух собственных функций:
Z/1 fl (М, ••• , Ml),
Уг fz (М» ..., Mi)-
Потроим схему для реализации одной из них, напри-
мер yi, и рассмотрим новую функцию:
y*2.=f*z(yi, Х1, Хг,..Хп).
Так как аргумент этой функции У\ зависит от Xi,
х2,. , хп, то f*2 зависит от тех же п переменных, что и
f2, хотя формально число аргументов f*2 равно п+1. По-
требуем теперь выполнения равенства
f*z(yi, Xi, х2, .... xn) =\fz(Xi, х2, Хп). (3-4)
Выполнения равенства (3-4) можно добиться, так как
функция у*2 является не полностью определенной.
Пример 3-21. Пусть задана следующая система собственных
функций:
{//, = Х!Х2х3\/Х1Х2Х3уХ1Х2Хз;
у2 == х 1X2X3\/Х1Х2Х3У/х 1X2X3\/х 1X2X3.
Рассмотрим табличное значение yi и уг:
Л'т х3 Хз У1 Л'а Xi ха Хз //я
0 0 0 0 1 1 0 0 1 1
0 0 1 1 0 1 0 1 0 0
0 1 0 1 0 1 1 0 0 0
0 1 1 0 1 1 1 1 0 1
Запишем теперь таблицу для )ункции у*г:
*1 х2 х3 У1 У\ Х1 Х2 - Х3 У1 У**
0 0 0 0 1 1 0 0 0 *
0 0 0 1 * 1 0 0 1 1
0 0 1 0 * 1 0 1 0 0
0 0 1 1 0 1 0 1 1 •
0 1 0 0 * 1 1 0 0 0
0 1 0 1 0 1 1 0 1 *
0 1 1 0 1 1 1 1 0 1
0 1 1 1 * 1 1 1 1 *
Звездочки в таблице задания у*г определяют запрещенные на-
боры значений аргументов <х, х2, х3, щ>. Эти наборы не могут
появиться в силу определения функции yi на наборах значений
аргументов <xi, хг, хз>.
Запишем теперь у*2 в следующем виде:
f*2(x1; хг, х3, Уг) = \/ Х^х^, (3-5)
_______11, если минитерм входит в ДСНФ для уг,
(О, если минитерм в ДСНФ уг не входит.
При этом очевидно, что соотношение (3-4) выполня-
ется.
После синтеза функции yi и разумного доопределе-
ния у*2 с последующей минимизацией этой функции
синтезируем соответствующую функциональную схему.
Область определения f*2 представляет собой сово-
купность вершин единичного четырехмерного куба. Для
его построения воспользуемся следующими соображе-
ниями:
1. Для построения одномерного единичного куба на-
до взять два нуль-мерных единичных куба (точки) на
расстоянии, равном единице. Соединив эти точки отрез-
ком прямой и приняв направление этой прямой за пер-
вое координатное направление, получим одномерный куб.
2. Для построения двумерного единичного куба на-
до взять два одномерных единичных куба и соединить
соответствующие вершины этих кубов отрезками, па-
раллельными друг другу. Если при этом взять исходные
одномерные кубы так, что длины соединяющих отрезков
равны единице выбранного масштаба, и принять на-
правление прямой, являющейся продолжением одного
из соединяющих отрезков, за второе координатное на-
правление, то получим двумерный единичный куб.
3. Для построения трехмерного единичного куба на-
до взять два двумерных единичных куба и соединить
параллельными отрезками соответствующие вершины
этих кубов. Если принять продолжение одного из этих
отрезков за третье координатное направление, тогда
получим единичный трехмерный куб.
4. И вообще, если взять два m-мерных единичных ку-
ба и соединить отрезками единичной длины все их соот-
ветствующие вершины, приняв продолжение одного из
этих параллельных между собой отрезков за (т+1)-е
координатное направление, то получим (тп+1)-мерный
единичный куб.
На рис. 3-20 показано последовательное построение
одномерного, двумерного, трехмерного и четырехмерно-
го кубов. На рис. 3-21 показано множество 1\ для
функции f*2 из примера 3-21. При этом, как и раньше,
треугольниками обозначены те вершины куба, которые
соответствуют запрещенным комбинациям аргументов
ДЛЯ f*2.
При доопределении всех запрещенных комбинаций
нулями получим: ___ _______
)*2(.х,, х, х3, yl) = xlx„x'yl\J х.х.х^^
V Х3Х^ух.
х3
Рис. 3-21.
Рис. 3-22.
Это доопределение не самое хорошее. На рис. 3-22
показано другое доопределение, полученное в соответст-
вии с теоремой 3-1, при котором функция /*2 принимает
вид: ___
Г2(Х1; х,, х3, у1) = х2х3\/х1у1\/х1х3х3.
Построим теперь функциональную схему для задан-
ной системы собственных функций |(рис. 3-23).
Эта реализация требует 4 элементов НЕ, 9 элементов
И и 4 элементов ИЛИ. Читателям предлагается прове-
рить, что при построении сначала схемы для уъ а затем
для недоопределенной функции Хг, Хз, уг) по-
лучится более простая схемная реализация, содержащая
только 4 элемента НЕ, 4 элемента И и 2 элемента ИЛИ.
Это показывает, что для получения экономных схемных
реализаций необходимо выбрать нужную последователь-
ность синтеза функций.
3-6. СИНТЕЗ СХЕМ ДЛЯ НЕКОТОРЫХ КЛАССОВ
СОБСТВЕННЫХ ФУНКЦИЙ
При синтезе схем, работа которых описывается симметричными
функциями или функциями, 'принадлежащими к некоторым другим
классам, рассмотренным в § 1-6, можно указать частные методы и
приемы синтеза, дающие лучший результат, чем синтез с помощью
общих приемов, описанных в предыдущих параграфах этой главы.
Прежде всего рассмотрим проблему синтеза для класса симме-
тричных функций. Напомним, что функция алгебры логики назы-
вается симметричной, если она не изменяется при любом переиме-
Новации аргументов этой функции. Из этого сразу же вытекает
основное свойство всякой симметричной функции.
Если среди минитермов ДСНФ симметричной функции от п пе-
ременных есть минитерм, в который входят m букв с отрицаниями,
то в ДСНФ обязательно входят все возможные минитермы с пг от-
рицаниями над буквами.
Основные результаты по синтезу функциональных схем для сим-
метричных функций были получены Эпштейном и Г. Н. Поваровым.
Следуя Эпштейну, введем понятие фундаментальных симметричных
функций.
Определение 3-5. Фундаментальной симметричной функци-
ей индекса пг называется такая функция алгебры логики, у которой
все минитермы, входящие в ДСНФ этой функции, имеют ровно m
букв без отрицания.
Фундаментальную симметричную функцию индекса т, зависящую
от п переменных, мы будем обозначать как S;" .
Пример 3-22. Написать ДСНФ для функции S^. Исходя из опре-
деления 3-5, получаем:
-- X{Х^ХуХ^./X'lX^X^X^J
Теорема 3-2. Любая симметричная функция есть дизъюнкция
фундаментальных симметричных функций, индекс которых опреде-
ляется однозначно заданной симметричной функцией.
Доказательство справедливости этого утверждения вытекает из
того, что в соответствии с основным свойством симметричной функ-
ции, если в ее ДСНФ содержится какой-либо минитерм с пг отри-
цаниями, то в этой ДСНФ содержатся все такие минитермы.
Дизъюнкция же таких минитермов дает S" , т. е. теорема дока-
зана. Доказанное положение позволяет ввести для обозначения любой
симметричной функции символ 1Па m • гДе mi> m2, > mr—
индексы фундаментальных симметричных функций, входящих
в ДСНФ данной функции.
Пример 3-23. Записать в ДСНФ функцию S, 3:
g — х 3Х2Х3х^\/ x3X2X3x^\J х\X2X3x^\J Х\Х%х3х x^x^x^x^sj
\/ X\Х%Х 3Х&\/ X тХ^Х^Х^^ х^х^х^х^.
Рассмотрим теперь следующие симметричные функции п аргу-
ментов:
—1;
т, = Х1\/Х2\/...\/Хп-,
т2 ~ Х\Хг\/Х^Х3\/.. Хп_ \Хп‘у
т„ — х3х3...
= 0.
Эти функции будем называть простыми симметричны-
ми функциями. Имеет место следующая теорема.
Теорема 3-3. Для. любой имеет место равенство
Sm^Vm+i- (3-6)
Справедливость (3-6) вытекает из следующих соображений:
хт = Vxt ...Xi ;
1 * tn
'.„.^-Л/Х:X: Xi Xi
1 2 tn m +1
Тогда
'cm'cm+ i ~ (V^j. )& -^(2 * • ’ , ) ’
12 tn 12 ni+l
Применяя формулы де Моргана, получаем:
+Л,+ 1 = (\Дг х^ ...xt )(&Xi Xi ...Xi ) =
12 tn 12 tn+1
= (VXi Xi ......Xi ) &(Xi \/x{y...\7Xi \/Xi ).
12 tn 1 2 tn m+1
Теперь ясно, что при конъюнкции выражений, стоящих в скоб-
ках, все члены, в которые одновременно входят xi и х(, исчезнут.
Оставшиеся после перемножения конъюнкции будут содержать ров-
но по т букв без отрицания. Теорема доказана.
Из справедливости доказанной теоремы вытекает следующее
интересное для задачи синтеза утверждение.
Следствие. Любая S” может быть реализована при
использовании только одного элемента отрицания.
Пример 3-24.
у = XjXaXsV *1*2*3 V ХхХ2Х^.
Заметим, что у = S] . Применяя теорему 3-3, получаем:
У — (Хг\/ Хг\/ Х3) (XtXz\/X}Xs\/Х2Х3).
Введем понятие фундаментального симметричного
многополюсника.
Определение 3-6. Фундаментальным симметричным много-
полюсником для переменных xi, хг, > хп называется функцио-
нальная схема, на вход которой поступают xi, Хг, . ., хп и xi,
хг, . ., хп, а на выходе получаются все фундаментальные симме-
тричные функции m
Имеет место следующая теорема (В. М. Глушков).
Теорема 3-4. Фундаментальный симметричный многополюс-
ник для переменных Xi, хг, ., хп может быть реализован при ис-
пользовании 1/гп(п—1) элементов ИЛИ и (п—1) (п+2) элемен-
тов И.
Доказательство будем вести по индукции. При п= 1 теорема,
очевидно, справедлива, так как в этом случае имеются всего две
фундаментальные симметричные функции xi и xt и для реализации
этих функций элементов типов И и ИЛИ не нужно. Предположим
теперь, что утверждение теоремы верно для некоторого n=k:
Nh = (k— il)(fe+2);
= 1).
Здесь Nk и Mk — числа, необходимые для реализации фунда-
ментального многополюсника элементов типов И и ИЛИ.
Покажем, что теорема остается справедливой и для n — k + \.
Имеют место следующие очевидные соотношения:
ofe+l _ 77 с4.
Оц --- 1OQ,
= m = (\, 2, ...£);
cfe+l _ v ck
^k+l ~ x^+^k‘
Из них вытекает, что при конструировании фундаментального
многополюсника для n=k+\ можно использовать уже синтезиро-
ванный фундаментальный многополюсник для n + k, присоединив
к нему каскад, состоящий из 2k+2 элементов И и k элементов
ИЛИ. Отсюда
^+1=(й—1) (fe+2) +2k + 2=k(k+3};
= Чгк(к—1 )+^ = 1/2^(^+1).
Теорема доказана.
Теоремы 3-2—3-4 дают возможность производить синтез схем
для симметричных функций более простым способом, чем с помо-
щью описанных выше универсальных методов синтеза. Следует
подчеркнуть, что синтез схем на основании теорем 3-2—3-4 часто
не будет оптимальным.
Теперь рассмотрим один из аспектов синтеза схем, собственная
функция которых является монотонной. Для монотонных функций
имеет место следующее утверждение, полученное С. В. Яблонским,
которое здесь приводится без доказательства.
Теорема 3-5. Сокращенная ДНФ для монотонной функции,
отличной от константы, совпадает с МДНФ для этой функции.
Эта теорема показывает, чго при синтезе схем с монотонными
собственными функциями нет необходимости проводить полную ми-
нимизацию аналитической записи этих функций. Для получения
МДНФ в этом случае достаточно получить СДНФ, используя для
этого, например, метод Блека — Порецкого, описанного в § 2-5.
3-7. ПРИМЕРЫ СИНТЕЗА НЕКОТОРЫХ УСТРОЙСТВ
Рассмотрим синтез схем некоторых устройств, часто
встречающихся в телемеханике и вычислительной тех-
нике. На примере синтеза этих устройств еще раз оце-
ним возможности того аппарата, изложению которого
посвящена настоящая книга.
Преобразователь кодов
Преобразователем кодов служит устройство, осуще-
ствляющее взаимно однозначное соответствие между
словами из некоторого входного алфавита {хц, х2,..хп}
и словами выходного алфавита {yi, у2,..уг}.
Как уже указывалось во введении, любой конечный
автомат без памяти может рассматриваться как неко-
торый преобразователь кодов. Рассмотрим синтез функ-
циональных схем преобразователей кодов на примере
преобразователя из двоично-десятичного кода прямого
замещения в код 2421 и преобразователя из кода пря-
мого замещения в циклический код.
1. Преобразователь из кода прямого замещения
в код 2421. Код прямого замещения и код 2421 опреде-
ляются следующим образом.
Десятичная цифра Код прямого замещения Код 2421 Десятичная цифра Код прямого замещения Код 2421
0 0000 0000 5 0101 1011
1 0001 0001 6 оно 1100
2 0010 0010 7 0111 1101
3 0011 ООН 8 1000 1110
4 0100 0100 9 1001 1111
Если через xi, х2, xs, xi, обозначить слово кода прямо-
го замещения, а через «л, уъ у3, y>L— слово кода 2421, то
можно записать табличное задание четырех логических
функций г/t, у2, у3, yt, зависящих от аргументов xi, х2,
Хз, Xt.
*1 ха Хз х4 У1 1/2 Уъ Х1 х2 *3 х4 У1 У2 Уъ У*.
0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0
0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1
0 0 • 1 0 0 0 1 0 1 0 1 0 * * * *
0 0 1 1 0 0 1 1 1 0 1 1 * * *
0 1 0 0 0 1 0 0 1 1 0 0 * * * *
0 1 0 1 1 0 1 1 1 1 0 1 * * * *
0 1 1 0 1 1 0 0 1 1 1 0 * * * *
0 1 1 1 1 1 0 1 1 1 1 1 * * * *
Таким образом, можно получить четыре неполностью
определенные функции алгебры логики. На рис. 3-24—
3-27 показаны области определения для всех четырех
функций. Жирным, как всегда, показано покрытие, по-
лученное при выбранном доопределении (доопределен-
Рис. 3-24.
Рис. 3-25.
Рис, 3-26.
Рис. 3-27.
ное значение показано внутри треугольника неопреде-
ленности). В соответствии с этим доопределением полу-
чаем МДНФ для наших четырех функций:
У> = х^х2х^/х2х3 = (x^xj;
У2 = х^ x2xt\f х2х3 = х, V х2 (х3 \/х4);
Уз = х>ух2х3\/х2х3х<,
. У 4 == Xv
На рис. 3-28 изображена функциональная схема для
этой системы собственных функций. Эта функциональ-
ная схема построена на принципе простого синтеза для
каждой из tji отдельно.
2. Преобразователь из кода прямого замещения в ци-
клический код. Если слово zp z2; z3; Zt означает цикличе-
ский код, соответствующий слову кода прямого замеще-
ния хр х2; х3; Xi, то возможно определить с помощью та-
бличного задания четыре логические функции Zt, z2, z3
В отличие от предыдущего случая для рассматривае-
мого преобразователя нет запрещенных комбинаций. Для
минимизаций функций Используем Метод Квайна —
Мак-Класки:
Миннтермы 4-го ранга Z1 Za Z3
Первая группа 1 000* 0 100* 0010* 0 001*
— 1 000* 0 100* 0 010*
Вторая группа 1 001* 0 101* ООН* 0 101*
1 010* 0 110* 0 101* 0 110*
1 100* 1 001* 1 010* 1 001*
— 1 010* 1 100* 1 010*
Третья группа 1 он* 0 111* 1 он* 1 101*
1 101* 1 он* 1 101* 1 110*
1 но* — — —
Четвертая группа 1111* — — —
Теперь составляем таблицу для нахождения минитер-
мов 3- го ранга:
Миннтермы 3-го ранга Z1 Z2 Z3 z4
Первая группа 100—* 010—* 001—* 0—01*
01—0* —010* 0—10*
100—* 010—* —010*
10—0* —100* —001*
Вторая группа 10—1* 01 — 1* —001* —101*
1—01* Oil—* —101* —по*
100—* 10—1* 101—* 1—01*
1—10* 101—* 110—* 1—10*
110—*
11—0*
Третья группа 1—11*
11—1*
111—*
Находим минитермы ^-го ранга:
Минитермы 2-го ранга Z1 za Z4 Z4
Первая группа Вторая группа 10 * 1—01—* 1 1* 1—1—* и * 01 10 —01 — —10— 01 10
Единственным минитермом 1-го ранга является мини-
терм 1------ДЛЯ ФУНКЦИИ 21.
Выписывая СДНФ для всех четырех функций по неот-
меченным мпннтермам, получаем:
z, = x1; z2 — х,х2\/х3хг; г3 = х2х3\/х2х3;
Z4 Х3Х^\/ Х3Хц.
Функциональная схема преобразователя в цикличе-
ский код приведена на рис. 3-29. Интересной особен-
ностью этой схемы является
то, что схемы для реализа-
ции функций 22, ?з и z4 иден-
тичны между собой. Если
в качестве типовой логиче-
ской схемы рассмотреть схе-
му, показанную отдельно на
рис. 3-30, то можно считать,
что преобразователь из кода
прямого замещения в цикли-
ческий код состоит из трех
таких типовых ячеек. Работа этих ячеек отличается друг
от друга лишь значениями аргументов, подаваемых па
входы (рис. 3-30).
Дешифратор
Полнымдешифратором на п входов называет-
ся схема, имеющая п входов и 2” выходов. Каждый вы-
ход схемы однозначно сопоставлен одной пз возможных
двоичных комбинаций аргументов на входе. Единица на
этом выходе появляется тогда п только тогда, когда на
вход поступает сопоставленная данному выходу входная
комбинация аргументов. Таким образом, дешифратор яв-
ляется схемой, на выходе которой реализуются все ха-
рактеристические функции Fi для данного п (характе-
ристические функции рассмотрены в § 1-7). Будем пред-
полагать, что на вход схемы одновременно с аргументом
Xi подается его отрицание. Для этого предположим, что
где-то вне схемы дешифратора имеется п стандартных
логических элемента типа НЕ.
Если некоторые из входных комбинаций являются
запрещенными, то соответствующий дешифратор назы-
вается неполным. Рассмотрим синтез полного де-
шифратора, так как синтез неполного дешифратора
полностью предопределяется количеством и качеством
запрещенных комбинаций и должен проводиться с уче-
том оптимального доопределения неполностью опреде-
ленных собственных функций этого дешифратора.
Очевидно, что система собственных функций полного
дешифратора на п входов имеет следующий вид:
Е0 = х1х2...хп_1хп;
F\ — ххх%... хп _ .хп. ГЗ-7)
Будем строить функциональную схему для системы
собственных функций дешифратора по методу каскадов.
Первый каскад состоит из четырех элементов И, дающих
на своих выходах все минитермы для ДСНФ функции
/(Хь Хг). Выходы элементов первого каскада являются
входами элементов типа И второго каскада. Кроме то-
го, на второй каскад поступают аргумент х3 и его отри-
цание. Во втором каскаде имеется восемь элементов ти-
па И, на выходах которых образуются функции, совпа-
дающие с множеством минитермов для ДСНФ функции
/'(хь х2, Хз). Эти выходы совместно с аргументом Х4 и
его отрицанием являются входами третьего каскада,
и т. д. (рис. 3-31). Ясно, что в r-м каскаде схемы дешиф-
ратора будет 2r+1 элементов типа И, а общее число всех
элементов типа И, необходимых для синтеза дешифра-
тора по методу каскадов, определится из соотношения
^ = 4 + 8+16+ ... + 2п = 2(2п—2). (3-8)
Полный дешифратор, построенный по методу каска-
дов, часто называют пирамидальным дешифра-
тором.
Пирамидальный дешифратор не является минималь-
ной схемой полного дешифратора на п входов. Это выте-
кает из справедливости следующего утверждения.
Полный дешифратор на п входов может быть постро-
ен из двух полных дешифраторов на m и п — m входов и
2п элементов типа И.
Рис. 3-31.
Доказательство справедливости этого следует из
того факта, что любую собственную функцию Fi полного
дешифратора на п входов можно представить в виде
конъюнкции двух соответствующих собственных функ-
ций для полных дешифраторов на ш и п — m входов.
Отсюда ясно, что пирамидальный дешифратор пред-
ставляет собой полный дешифратор на п входов, по-
строенный за счет объединения полного дешифратора
на п—1 вход и полного дешифратора на один вход.
Ясно, что увеличение числа элементов типа И с увеличе-
нием числа входов дешифратора определяется следую-
щим рекуррентным соотношением
N п — 2п + Nm+N п-т. (3-9)
Величина Nn достигает минимума при пг = п—т. Это
возможно при четном п. При нечетном п минимум будет
достигаться, если in и п—т отличаются друг от друга
на единицу. Дешифратор, построенный по принципу раз-
биения п «почти пополам», обычно называется прямо-
угольным дешифратором. Экономия в элементах
типа И в прямоугольном дешифраторе по сравнению
с пирамидальным дешифратором иллюстрируется сле-
дующей таблицей:
п 2 3 4 5 6 7 8 9
Пирамидальный 4 12 28 60 124 252 508 1 020
11рямоугольный 4 12 24 48 88 164 304 584
На рис. 3-32 показана схема прямоугольного деши-
фратора па четыре входа.
Сумматор
Сумматор является основным устройством всякой
современной вычислительной машины дискретного дейст-
вия. Его работа сводится к выполнению алгебраиче-
скоро сложения двух /г-разрядпых двоичных чисел. Бу-
дем предполагать, что это сложение осуществляется
параллельно, сразу во всех разрядах суммируемых чи-
сел. Как известно, для облегчения логики операции пря-
мого вычитания в современных вычислительных машинах
отрицательные числа представляются в виде специаль-
ных кодов. Эти коды позволяют заменить операцию пря-
мого вычитания операцией сложения чисел в этих ко-
дах. В современных машинах числа могут представлять-
ся прямым, обратным или дополнительным кодом со-
гласно следующим соотношениям:
х>0 [x], = [.r]2=[x]3 = x;
Л<0 [.г], = 1 — х;
[х]2 = 2 + х;
[х|3 2 —х — 2 п\
л = 0 |х]1 = 0.00... 0= 1.00...0;
[х]2 = 0.00... 0;
[х]3 = 0.00... 0= 111 ... 1.
(3-10)
Здесь [xji означает прямой код числа х, а [х]3 и [х]г—
обратный и дополнительный коды.
Рассмотрим случай прямого кода. В этом случае опе-
рации сложения и вычитания должны осуществляться
по различным правилам. Рассмотрим сложение в неко-
тором /г-м разряде, т. е. рассмотрим одноразрядный сум-
матор. Тогда имеем таблицу работы такого сумматора:
хк Рк ^-1 *к Рк хк Рк Рк-l sk Рк
0 0 0 0 0 1 0 0 1 0
0 0 I 1 0 1 0 1 0 1
0 1 0 1 0 1 1 0 0 1
0 1 1 0 1 1 1 1 1 1
В этой таблице через Хк и ук обозначены слагаемые,
стоящие в /г-м разряде исходных двоичных чисел, через
pk-i обозначен перенос из (/г—1)-го разряда в k-и.
sk означает двоичную сумму, получаемую в k-м разря-
де, a pk означает перенос в следующий (7г+1)-й разряд.
Величины Хк, Ун и рк-i являются для синтезируемой
схемы входными, а величины sk и рк образуют систему
собственных функций для рассматриваемой схемы.
Запишем функции sk и рк в ДСНФ:
= j (3.И)
А = ХкУкРк-гУ ХкУкРк-У/ ХкУкРк-гУ ХкУкРк.х- J
Для синтеза функциональной схемы применим к этим
функциям метод каскадов, предварительно преобразо-
вав выражение для рк по методу Блека — Порецкого:
Sk = рк _ 1 (ХкУк У ХкУк)У Рк -1 (ХкУк У ХкУк)',
Рк = ХкУкРк-1У Хк у к Рк-'У ХкУ кРк-\У ХкУкРк -хУХкУкУ
У УкРк-СУ Хкрк-, = ХкУк (Рк-1У Рк_1УУУУкРк-У1Ухк)У
ухкРк-,(УУУк) = ХкУкУУкРк-УУХкРк-й
Рк = Рк_, (УкУХк)УХкУк-
Соответствующая функциональная схема одноразряд-
ной суммирующей схемы показана на рис. 3-33.
Однако рассмотренная схема не является оптималь-
ной. В этом можно убедиться, построив более простую
функциональную схему двоичного сумматора. Исходя
из таблиц задания функций sk и Рк, можно утверждать,
что для всех наборов аргументов, кроме наборов
<0, 0, 0> и <1, 1, 1>, имеет место соотношение
Это позволяет нам предположить, что более опти-
мальную схему одноразрядного сумматора можно полу-
чить по методу недоопределенных функций. Будем счи-
тать синтезированной схему для переноса рк, так как эта
схема проще схемы для суммы sk. Теперь составим таб-
лицу функции:
хк 4% Рк sk хк «к Рк- 1 Рк sh
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 * 1 * 1 * * 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 * * 0 * 0 * 1
На рис. 3-34 показано доопределение этой не опреде-
ленной функции. При этом
Рк == Хкук 'У V У к) Рк -1, 1 ।2^
Sk = (XkVУк\/Рк-1)Рк\/Хкцкрк_>. J
Соответствующая схема одноразрядного двоичного
сумматора показана на рис. 3-35,а. На рис. 3-35,6 пока-
Рис. 3-34.
зано схематическое изображение одноразрядного сумма-
тора.
Имеется строгое доказательство того факта, что схе-
ма сумматора, показанная на рис. 3-35,а, абсолютно ми-
нимальна.
Рассмотренная схема предназначается для сложения
в одном разряде. Если сумматор машины предназначен
Рис. 3-36.
для производства операции сложения двух «-разрядных
двоичных чисел, заданных в прямом коде, то логические
соотношения, определяющие работу такого сумматора,
имеют следующий вид:
Ро = 0;
рк = хкук\Дхкуук')рк_у, _
sk = (хкукухкук)рк_,у (хкукухкук) рк_,,
k— I, 2, п.
Реализация такого сумматора показана на рис. 3-36.
При сложении чисел в обратном коде связь, показанная
на этом рисунке пунктиром, от старшего разряда сум-
матора в младший существует. При сложении в прямом
или дополнительном коде эта связь отсутствует.
Преобразователь в дополнительный код
Из определения дополнительного кода [см. (3-10)]
следует, что перевод из прямого кода в дополнительный
описывается следующими логическими функциями:
да,=0; ]
wk+, = xk\/wk-, I (3-14)
dk = x3a (xkwk\/xkwk) \/x3axk. J
Здесь x3H означает содержимое знакового разряда. На
рис. 3-37 показана функциональная схема преобразова-
теля дополнительного кода для одного разряда.
Преобразователь в обратный код
Из (3-10) вытекает, что обратный код числа х есть
число, совпадающее с х при неотрицательном х, и число,
получающееся поразрядным отрицанием разрядов числа
при неположительном х (чи-
сло нуль имеет два пред-
ставления: положительное и
отрицательное). Отсюда
ск = (3-15)
На рис. 3-38 показана
функциональная схема для
одного разряда преобразо-
вателя в обратный код.
3-8. СИНТЕЗ ЛОГИЧЕСКИХ СХЕМ С УЧЕТОМ
ТЕОРЕТИКО-СТРУКТУРНЫХ СВОЙСТВ БУЛЕВЫХ ФУНКЦИЙ
До сих пор мы рассматривали задачу минимизации
в ее классической постановке как нахождение ФАЛ с ми-
нимальным числом букв в классе ДНФ. Такая постанов-
ка позволила построить нам несколько методов миними-
зации. Однако при переходе от записи ФАЛ в виде ДНФ
или МДНФ к реализующей ее схеме, мы не всегда полу-
чали минимальную схему. Другими словами, задача ми-
нимизации ФАЛ в классе ДНФ не эквивалентна задаче
минимизации схемы, реализующей эту ФАЛ в заданном
элементном базисе. Поэтому в последнее время начали
разрабатываться другие подходы к проблеме минимиза-
ции, учитывающие структурные свойства данной ФАЛ.
В этом параграфе мы рассмотрим один из таких доста-
точно общих подходов к проблеме минимизации. По-
скольку при изложении этого подхода используется из-
вестное в математике понятие структуры, то вначале это
понятие вводится со всей строгостью. Для тех, кто зна-
ком с понятием структуры, можно пропустить следую-
щий ниже текст, напечатанный петитом, и сразу перейти
к изложению сути рассматриваемого подхода.
Пусть имеется множество А:
A = {ait аг, .... ап}-
Определим на множестве А две операции: пересечениеА
и объединение Ui удовлетворяющие следующим законам:
а) и д е м п о т е н ц и и
а\ (3-16а)
a(Ja = a; (3-166)
б) коммутативности
А П ар, (3-17а)
at U а1 = (J ар, (3-176)
в) ассоциативности
Hi П <о) А йь = щ А (л CW; (3-18а)
(«4 и <И) и «к== at и (aj и йД; (3-186)
г) поглощения
«4 А (й4 U «;) = «г! (3-19а)
«4 U («4 A «j) = «4- (3-196)
Определение 3-7. Созоку то'пь <4, Q, (J>> опера
цаа (J удозле пворлю п соо пномзн'лям (3-16а) — (3-19(7), на
зывается структурой S.
Рассмотрим структуру S и докажем следующую лемму.
Лемма. Если. at, aj&S, то равенства
а^ О ^3 — |
ai U <ij f
выполняются или не выполняются одновременно.
Пусть
а, П d-j = a,.
Тогда согласно (3-17) и (3-196) имеем:
(3-20)
«г и аз = («4 A аз) U <4 = aj U (^ A ai) = a3 U (йг А <?г) = «з-
Следовательно, если at aj = то at (J aj = aj.
Положим теперь аг (JUj — Uj. Тогда согласно (3-19а) получим:
at A ai = at А (Й1 U аз) = at-
Следовательно, если at (J aj = aj, то at aj = at.
Будем писать at < aj, если для элементов at и aj структуры S
имеет место равенство (3-20), при этом будем говорить, что эле-
менты ш и aj находятся в бинарном отношении «=С».
Введем более строго понятие бинарного отношения.
Пусть имеется множество А. Назовем множество всех упорядо-
ченных пар ((л,, aj) квадратом А и будем обозначать его как
АхА, и возьмем некоторое подмножество R из множества АхА.
Тогда подмножество R определяет в множестве А бинарное отно-
шение Од следующим образом.
Если («j, aj)^A, то говорят, что элемент at находится в отно-
шении Од к элементу а,- в том и только том случае, если пара
(at, aj),принадлежит к подмножеству R.
Следовательно, записи
atORaj
и
(ai, Uj)^R
равносильны.
Покажем, что введенное выше бинарное отношение «^» в А
обладает свойствами:
рефлексивности, а^а;
антисимметричности,
если a,^aj н aj^at, то ai=aj\
транзитивности,
если at^.aj и то a-iS^at.
Действительно, согласно (3-16) имеем:
n^Za.
Пусть далее ins^Uj и UjS^ai, т. е.
at р aj и aj at = aj.
Тогда согласно (3-17а) имеем:
Ui < aj.
Следовательно, если at < щ н^/^Сл,, то at — ctj. Наконец,
если иа^^ак. т. е. ai(]aj = at и a3A"ft~ aj, то со-
гласно (3-18а) имеем:
(it А "л = ("t А «А А "л = "i A (ai А "л) ~"'г A"i "о
т. е.
Следовательно, если и то ats^an.
Определение 3-8. Бинарное отношение со свойствами
рефлективности, антисимметричности и транзитивности будем назы-
вать отношением частичной упорядоченности.
Множество /1 с заданным в нем отношением частичной упоря-
доченности называется частично упорядоченным.
Рассмотрим частично упорядоченное множество А,
в котором:
а) для всякой пары элементов а{, а^А существует
такой элемент а^А, что
(3-21 а)
причем если некоторый элемент а\ также обладает свой-
ствами a'k^aj, то ak,^,a'h-,
б) для всякой лары элементов di, а^А существует
такой элемент ат^А, что
(3-216)
причем если некоторый элемент а'т также обладает
свойствами dj^d'm, ТО dm^~a'm.
Покажем, что и ат, удовлетворяющие (3-21), могут быть
рассмотрены как результаты операций А и (J соответственно. Для
этого запишем, что
«н= «I А*«Г.
ат = at U*«i-
и докажем, что операции и (J*, определяемые (3-21), обладают
свойствами идемпотентности, коммутативности, ассоциативности и
поглощения. Следовательно, и U* есть операции А н U соот-
ветственно.
Свойства идемпотентности операций и (J* очевидны. Дока-
жем свойство ассоциативности, например, для
Согласно условию (3-21а) имеем:
("i А A *"ft "i А >
(«4 А* "?) A*«ft<«t А*"?<«Д
(«I A*aj) А*«л< "л-
Отсюда согласно тому же условию
(<Ч А*«з) А*«&<йз А*«ю
(«4 А*я1) А*а&<аг А* (йз А* «О-
Таким образом, мы доказали свойство ассоциативности операции
А*- А
Аналогично доказывается свойство ассоциативности и опера-
ции и*-
Докажем свойство поглощения операций [")*, (J*- Пусть
«4П’(«4 и*«4)<«4.
Согласно свойству рефлексивности отношения имеем:
^4 й4 •
По условию (3-216) имеем:
аг<ал (J* aj.
Тогда согласно условию (3-21а) получим:
«4 <«4 А* (Й4 U* йз) •
Следовательно,
й4 А* (Д U* «з) ~ «г-
Аналогично доказывается условие (3-196) для операций (J*.
Следовательно, операции (J*, Q* совпадают с операциями (J, |”|.
Определение 3-9. Структурой S называется ча-
стично упорядоченное множество, в котором для любой
пары элементов выполнены вышеприведенные условия
(3-21), где аь, ат есть соответственно пересечение и объ-
единение но всем элементам А.
Введем бинарное отношение — отношение по-
крытия.
Будем говорить, что элемент а{ покрывается
aj(a{, a^S), если aj<a{, и не найдется в 5 элемента ah
такого, что aj<ak<ai.
Диаграмма, представляющая структуру S, строится
следующим образом.
Каждому элементу структуры S ставится во взаимно
однозначное соответствие вершина в диаграмме. Верши-
ны и, и Vj, соответствующие элементам at и aj, соединя-
ются стрелкой (дугой), направленной от v: к vit если и
только если элемент покрывает элемент aj.
Диаграмму, построенную таким образом, обычно на-
зывают диаграммой Хассе.
Нас будут интересовать логическиеструктуры,
под которыми понимают структуру, каждый элемент ко-
торой взвешен логической функцией.
Например, функцию
f(xt, х2, х3') = х1х2\/х2х3\/х1х3
можно рассматривать как логическую структуру, элемен-
тами которой являются функции алгебры логики <р, (л:,,
х2) = х1х2-, ?2 (х2, х3) = х2х3; <р3(хг, х,) = х,х3; <р4(х,)=
= л,; ?5(л2) = л2; ?6(л3) = л3; ?2, ?3)= V ?г-,
t=i
причем отношение покрытия в данном случае означает
подстановку покрываемой _____
функции в покрывающую. . | ф7 |
Диаграмма Хассе в дан- 1"
ном случае имеет вид |
рис: 3'39- „ ПГ] Г%1 [%1
Из определении диаграм- < '""Т 1
мы Хассе и декомпозиции - Т |
функции очевидно, что пост- —&—।— р 1 । р । ।
роение декомпозиции функ- —Д—I I—1S-J LI
цип можно рассматривать Ри,с 3.39.
как частный случай построе-
ния диаграммы Хассе.
Наибольший интерес представляет собой построение
неразделительной декомпозиции функции f(xi, хг, ,. хп)
и особенно такой, когда функции {ср;} представляют со-
бой функции, реализуемые элементами заданного базиса.
Рассмотрим задачу построения неразделительных
декомпозиций функции
f(xlt х2, ..., хп)
через функции {ср,-}, соответствующие базисным элемен-
там.
Для исследования этой задачи введем понятие взве-
шенной структуры.
Определение 3-10. Структура называется взве-
шенной, если каждому ее элементу сопоставлен первич-
ный терм, т. е. переменная или ее отрицание.
Взвешенную структуру будем считать соответст-
вующей функции f(xi, Х2,...,хп), если каждой элемен-
тарной конъюнкции функции f взаимно однозначно соот-
ветствует путь в диаграмме Хассе, вершинам которого
соответствуют первичные термы, образующие эту эле-
ментарную конъюнкцию. ,
При решении поставленной выше задачи используем
два ограничения: на вид взвешенной структуры и на
вид функций, соответствующих базисным элементам.
Будем рассматривать функции f(x±, х2,. .., хп) такие,
что соответствующие им взвешенные структуры пред-
ставляют собой диаграммы Хассе, в которых не найдет-
ся ни одного подграфа, вершинами которого являются
первичные термы:
причем подграф можно было бы заменить вершиной
с весом cp(%, х2,...,хг) так, чтобы окончательная диаг-
рамма Хассе соответствовала бы заданной функции f.
Построение неразделительной декомпозиции f проис-
ходит в два этапа: на первом этапе строится взвешен-
ная диаграмма для f, а на втором этапе эта диаграмма
преобразуется в логическую структуру, элементы кото-
рой взвешены функциями заданного базиса.
При построении взвешенной структуры используется
критерий решетчатост и, устанавливающий вза-
имно однозначное соответствие между первичными тер-
мами f и элементами взвешенной структуры. Если такое
соответствие можно найти, то f называется решетча-
той функцией.
Лемма. Функция f (xi, х2,..., хп) является решетча-
той тогда и только тогда, когда в графе G(f), задающем
эту функцию, не содержится подграфа Q, характеризую-
щегося следующими свойствами:
а) он является циклом, составленным из нечетного
числа вершин (| V | = 2k + 1);
б) во множестве номеров, сопоставленных его вер-
шинам, имеется подмножество {N, , N., , N. } номе-
ров конъюнкций, соответствующее его вершинам j„
•••, /2fc+i вида, представленных на рис. 3-40.
Вершина этого графа /1 /а
Номева конъюнк-
ций, входящие во мно-
жество номеров, со-
ответствующих вер-
шине этого графа
Ni ’Ni
2k ‘2k+l
Граф G(f) строится следующим образом: каждой
вершине G(f) взаимно однозначно соответствует первич-
ный терм функции и веса, представляющий собой номе-
ра элементарных конъюнкций, в
которые входит первичный терм,
соответствующий этой вершине,
причем вершины v{, v, (Vi=/=Vj)
графа G(f) смежны, если пере-
сечение соответствующих им мно-
жеств номеров конъюнкций не-
пусто.
Для построения взвешенной
структуры предварительно при-
ведем заданную функцию к
решетчатому виду. Для это-
го строим специальную решетчатую таблицу.
Каждой строке этой таблицы взаимно однозначно сопо-
ставляется первичный терм функции f, а столбцу — под-
граф QczG(f). Если первичный терм, соответствующий
строке I, входит в веса вершин подграфа Q, соответст-
вующего столбцу /, то в клетке (i, j) ставится звездочка,
в противном Случае клетка остается незаполненной.
В таблице покрываем столбцы строками аналогично по-
крытию импликантной таблицы Квайна, причем первич-
ный терм, соответствующий выбранной строке, расщеп-
ляем (рис. 3-41). Тогда после покрытия все выделенные
подграфы типа Q<^G(f) перестают быть циклами нечет-
ной длины, а следовательно, перестают быть подграфа-
ми типа Q. В результате этого покрытия заданную функ-
цию приводим к решетчатому виду.
Проиллюстрируем изложенный метод на следующем
примере.
Пример 3-25. Пусть функция f( Xi, xz, х3) равна 1, если четное
число ее входов возбуждено, в противном случае равна 0, т. е.
функция f(xt, Xz, Хз) = 1 на выборах 0, 3, 5, 6. Необходимо
Рис. 3-42.
построить декомпозицию заданной функции через импликацию и
функцию, тождественно равную нулю.
Приведем заданную функцию к решетчатому виду. Граф G(f),
задающий эту функцию, представлен на рис. 3-42, причем на
рис. 3-42,а граф G(f) представлен до покрытия решетчатой табли-
цы, а на рис. 3-42,6 — после покрытия. Находим подграфы типа
QcG(f), для чего рассматриваем следующие всевозможные соче-
тания по три вершины из шести:
<Т, , Т2 , Х3>)
<-.XrrX3 j-^r»- (<Х, , Т2 , Х3>)
-ч ж,, -х, . х >
»- (<Хз, X, , Х2>)
^.r2,x,.x> <х,,.г,
< х2- - ад, х2 > <-х3, А ,х->-
Наборы, не соответствующие подграфам типа Q, вычеркиваем,
соответствующие — обводим.
Например, набор <xi, х2, хз> обводим, так как он согласно
строению подграфа соответствует подграфу типа Q. Набор <х<, хг,
х,> вычеркиваем, так как вершины, сопоставленные с буквами на-
бора, не образуют цикла. Набор <xi, х2, хз> также вычеркиваем,
так как хотя вершины, сопоставленные с буквами набора, образуют
цикл, но этот набор не удовлетворяет свойству «б» из леммы.
Сочетания Се5 не рассматриваем, так как число элементарных
конъюнкций заданной функции меньше пяти и, следовательно, со-
четаниям этого вида заведомо не будут соответствовать подграфы
типа Q (согласно свойству «б» леммы).
Выделенные подграфы QcG(f) есть:
Qi={{xi, х2}{х2, хз}{х3, xt}};
Q2={{X1, £2}{®2, £з}{£з, Xi}};
<2з = {{Х1, Х2}{х2, хз}{хз, Xi}};
Ql = {{Xi, Хз}{х3, Х2}{Х2, £1}}.
После выделения подграфов типа QczG(f) строим решетчатую
таблицу. Решетчатая таблица, соответствующая заданной функции,
имеет следующий вид:
X . г Qi Xi <?4
Qi Q. Q. Qt Q. Q3
Xi * * Xj * *
^2 X, * * * * %2 * *
Xj
Аналогично покрытию таблицы Квайна покрываем решетча-
тую таблицу, выбирая минимальное число строк. Всего возможно
три покрытия: первая, четвертая строки; вторая, пятая строки и,
наконец, третья, шестая строки. Эти покрытия равносильны, так
как при каждом -из покрытий получаем взвешенную структуру
с восемью элементами (коль скоро функция, полученная в резуль-
тате покрытия, является решетчатой). В результате покрытия ре-
шетчатой таблицы и расщепления соответствующих первичных тер-
мов получаем следующую решетчатую функцию (выбрали первое
покрытие):
f = x'tXs Xs V XtX2X3 V Х^ХгХз V XiX2X3.
Диаграмма Хассе, соответствующая полученной решетчатой
функции, имеет вид рис. 3-43.
Когда размеры решетчатой таблицы настолько вели-
ки, что поиск покрытия затруднителен, построение диаг-
раммы Хассе производим непосредственно по тупиковой
ДНФ.
Рассмотрим этот метод. Введем ряд понятий.
Уровнем типа А называется подмножество Х'л мно-
жества букв X = {xt/i= 1 ~т} такое, что
1) = Чл = 0-
*i&C’A Xt^=Xj\ Xi, Xj^X'A,
где f —собственная частота буквы лу; f, —взаимная
xt ti
частота пары букв Xt, Xj1; R— число простых импликант
в ДНФ функции f(x), которое обычно называют рангом
ДНФ; буквы являются пер-
вичными термами рассма-
триваемой функции;
2) в диаграмме Хассе,
реализующей эту функцию,
найдется ярус, вершины ко-
торого взаимно однозначно
взвешены буквами подмно-
жества Х'а, так что не най-
дется ни одной вершины, не
принадлежащей этому ярусу
и взвешенной буквой
Уровнем типа В называется подмножество Х'в мно-
жества X такое, что для него справедливо первое усло-
вие предыдущего определения и не справедливо второе
условие.
При взвешивании яруса в диаграмме Хассе буквами
Х'в так, что ни одна буква х{ (х^Х'в) не повторялась
дважды в диаграмме Хассе, получаем граф, не эквива-
лентный искомому с числом путей, превосходящим R.
Для удаления лишних путей необходимо расщепить
некоторые буквы Х'в. После расщепления Х'в преобра-
зуется в подмножество, образующее уровень типа А.
Операцию приведения уровня типа В к уровню типа А
назовем операцией расщепления первого типа.
Введем два понятия. Подграф G(va)(G'—<V', t/'>)
графа G = <V, U> называется подграфом с начальной
вершиной va, если для каждой его вершины v^V' име-
ется ХОТЯ бы ОДИН путь [va, . V{].
Вершина Vj называется покрывающей вершину vt,
если в графе G = <V, U> имеется дуга вида (щ, пДеСЛ
1 Определение fx х и fx см. на стр. 158.
Расщепление первого типа производим в следующем
случае.
Пусть построено I ярусов диаграммы Хассе, причем
вершины /-го яруса взвешены множеством первичных
термов и пусть в этом ярусе содержатся две верши-
ны Vi и Vj с весами соответственно х, и х> (xt, xj^Xi)
такие, что при построении (/+1)-го яруса множества
весов X'(г+1) и X'вершин, покрывающих соот-
ветственно Vi(xi) и являются пересекающимися
^0+0^^ (г+i)^ 0-
Тогда, если подграф с начальной вершиной va, взве-
шенной первичным термом ха ха&¥'(г+1) QA'/ г+1) и по-
крывающей Vi(Xi), и подграф с начальной вершиной
взвешенной тем же первичным термом хп и покрываю-
щей вершину Vj(xj), реализуют различные булевы функ-
ции, то вес ха расщепляется.
Уровнем типа С называется подмножество Х'с мно-
жества букв X такое, что
1) 3 fx>R;
г
2) 2 Щ,¥=°:
х^х^Х'с 1
3) подмножество Х'с является покрытием матрицы
инцидентности, задающей функцию f(X).
Пример 3-26. Задана булева функция, ТДНФ которой имеет
следующий вид:
f (лщ х2, х3) = Х,Х.,Х3 V V х АХз-
Матрица инцидентности, задающая эту ТДНФ, имеет вид:
Xi xt х2 х3 х3
1 10 10 1
2 10 0 10.
3 0 1110
Определим подмножества букв, которые могут претендовать
на взвешивание вершин первого яруса искомой диаграммы Хассе.
Очевидно, что претендентом на веса первого яруса могут быть
уровни типа А или С.
Подмножество букв, претендующее взвесить первый ярус, долж-
но покрывать своими элементами все строки матрицы инцидентно-
сти. Согласно матрице инцидентности имеем следующие покрытия
этой матрицы:
{xi, -Т1}, {Хь Хг}, {xb Хз}, {х2, Хз}, {х3, хз}-
Первое и последнее подмножества являются уровнями типа А,
остальные — типа С.
Операцией расщепления второго типа будем называть
приведение уровня типа С к уровню типа А или В.
При расщеплении второго типа из подмножества Х'с
удаляются расщепленные элементы, образующие под-
множество Ag такое, что
3 /, = 3 f,
1 *1&'С 1
3 fx = 3 fx •
xt, 1X3 x.*Xj, X., Xj&>c lXi
При расщеплении второго типа порождаются новые
подмножества уровней типов А, В и С.
Результат операции расщепления первого типа есть
повторение некоторых букв внутри одного яруса, а ре-
зультат операции расщепления второго типа есть повто-
рение некоторых букв между ярусами.
Рост мощности множества XA\JXB\JXC проиллюстри-
руем следующим примером.
Пример 3-27. Пусть функция f задана своей матрицей инци-
дентности
Xj Xj Xg %2 ^3 ^3
1 10 0 10 1
2 10 10 10.
3 0 110 0 1
Допустим, что в качестве первого яруса At выбраны вершины,
взвешенные буквами уровня типа C{xt, хг}. Тогда, расщепляя бук-
ву хг, получаем матрицу инцидентности вида
X1 Xj Xg X2 Xз Xз X 2
1 1 0 О ’ 1 О 1
2 10 0 0 10 1
3 0 11 0 0 1 о
Если для первой матрицы инцидентности имеем шесть покры-
тий
{xt, xt}, {xi, х2}, {Xi, xs}, {x2, x2}, {x2, хгз}, {x3, is},
то для второй матрицы инцидентности (после расщепления) имеем
восемь покрытии {хь ,n}, {xi, х2}, {л'<, .тз}, {й, х'г, ,т2}, {х2, х'г, i2},
{Хг, Хг, Хз}, {х2, {х'2, .т;}.
Используя введенные понятия, рассмотрим следую-
щий метод синтеза диаграмм Хассе.
Для снижения трудоемкости при синтезе оптималь-
ных диаграмм Хассе в этом методе используется поня-
тие производной от модели1.
Подграф с начальной вершиной Vi, являющейся кон-
цом дуги (v^ Vi), будем называть подграфом, покрываю-
щим вершину Vj (рис. 3-44,а).
Объединение подграфов с начальными вершинами у;}
vt , являющееся концом дуг, начала которых есть
вершины, у., у,,..., У- , образующие подъярус, будем на-
J1 Ja Jn
зывать подграфом, покрывающим подъярус {у., v^,..., у. }
(рис. 3-44, б).
Матрица инцидентности Q=[^ij] модели ф, по которой
производится оценка, строится следующим образом.
Каждой строке взаимно однозначно сопоставляется пер-
1 Модель — это конечное множество с заданными на нем s
отношениями. Если в качестве исходного множества рассматривает-
ся множество вершин некоторого графа, то з его вершин находятся
в з отношении, если можно выделить подграф, связывающий эти
вершины.
вичный терм булевой функции, столбцу •-выделенный
подуровень и
1, если веса вершин подграфа, покрывающего
подъярус, взвешенный /-м подуровнем содер-
жат i-й первичный терм;
О — в противном случае.
Уровни, взвешивающие начальные вершины подгра-
фов, покрывающих вершины построенного яруса, будем
оценивать с помощью функции
(д±а hi
являющейся обратно пропорциональной производной
dtyldS от модели ip и характеризующей степень пересече-
ния этих уровней.
В качестве уровня, взвешивающего синтезируемый
ярус, будем выбирать уровень с максимальной оценкой.
Заметим, что понятия уровень и ярус совпадают, если
булева функция является решетчатой. В этом случае
уровень является идентификатором яруса.
Перед изложением метода синтеза рассмотрим слу-
чай неодинаковой длины путей синтезируемого графа.
В этом случае имеем четвертый тип уровня — уровень
типа D.
Подмножество X'D множества X называется уровнем
типа D, если выполняются следующие условия:
О 2
2) 2 Щ=0;
xi^xi' хг xi&'D 1
3) не существует такого элемента хт^Х, включение
которого в подмножество Х'ъ приводит подмножество
X'D к уровню типа А.
Пусть дан граф (рис. 3-45), реализующий булеву функ-
цию
f(x„ х2,...,
\/х2х^х2х,хл\/хгх,х7.
Уровнем типа D является подмножество первичных
термов {х3, х4, х5}.
Предлагаемый алгоритм осуществляет синтез диа-
граммы Хассе по ярусам, т. е. на каждом шаге находят-
ся первичные термы Хъ такие, что
3 2 /,,,=»
хт&ъ хХхг хг х,ехь
Следовательно, для получения таких подмножеств
первичных термов (уровней типа А) необходимо в уро-
Рис. 3-45.
вень типа D включать первичный терм Xd такой, что
f,=«- 2
а ч. J_v/ г d_i
Xi^zx D
С помощью такого включения производится выравни-
вание длин путей.
В рассматриваемом примере при синтезе графа
в качестве подуровней, взвешивающих подграфы, по-
крывающие вершины, с весами Xi и хг, выбираем соот-
ветственно {xs, Xt} и {ха, х8}.
Очевидно, что подграф G , покрывающий вершину,
с весом х8 является частью подграфа Gxe покрывающе-
го вершину, с весом л4, следовательно,
где f* — взаимная частота подуровней, взвешивающих
подграфы G%j и Gx ; — собственная частота подуров-
ней, взвешивающих подграф G
Частоты и f вычисляются по матрице инцидент-
ности ф, построенной на этом шаге синтеза.
Опишем процедуру выравнивания длин путей:
1) отыскивается пара первичных термов Xi, Xj, для
которых справедливо =f ;
2) проверяется равенство длин путей, началом кото-
рых являются соответственно вершины, взвешенные х.;
и Xj',
3) если длины путей пс равны, то в покрытие верши-
ны, входящей в путь с меньшей длиной, включается рас-
щепленный ее вес.
Для рассматриваемого примера повторяем вес x's
(рис. 3-45,6, 4-2,6).
Входной информацией для алгоритма синтеза диаг-
рамм Хассе является матрица инцидентности модели ф,
задающая ДНФ функции /.
Опишем теперь алгоритм синтеза диаграммы Хассе.
1. Выделяем множества уровней типа Л и С, претен-
дующих на взвешивание первого яруса. Каждый уровень
выделяется с помощью покрытия в матрице инцидентно-
сти строк столбцами. Каждое покрытие взаимно одно-
значно сопоставляется выделяемому уровню.
Число выделенных уровней определяет число различ-
ных диаграмм Хассе, которые необходимо построить
для поиска графа минимальной сложности.
Выбираем уровень, соответствующий первому покры-
тию матрицы инцидентности.
2. Для каждого первичного терма xt в выбранном
уровне строим подматрицу инцидентности, соответствую-
щую подграфу, покрывающему вершину с весом х<.
Покрытием подматриц инцидентности находим под-
уровни, взвешивающие вершины следующего яруса.
3. Для найденного множества подуровней B = i =
— \~N} строим модель для оценки уровней, претенду-
ющих на взвешивание строящегося яруса.
Каждый уровень Хг={6,|j= 1 д-Л] оцениваем с по-
мощью функции
k—1 k
i=I/=«+1
где частоты f{, fn, fj являются элементами частотной
матрицы отношений F(ф)[Р(ф) = QTQ].
4. При наличии нескольких максимальных значений
оценок, полученных в п. 3, оцениваем число расщепле-
ний первого типа, как расщеплений, оказывающих наи-
большее влияние на сложность синтезируемого графа.
Выбираем уровень с наибольшим значением p(Xi);
при наличии уровней с несколькими максимальными зна-
чениями p(Xi) выбираем из них уровень с минимальной
оценкой числа расщеплений первого типа.
5. Производим выравнивание длин путей.
6. Если диаграмма Хассе не построена, т. е. поряд-
ковый номер синтезированного яруса не равен макси-
мальной длине пути графа, то переходим к п. 2, в про-
тивном случае производим подсчет сложности L(Gjt) син-
тезированного графа.
1. Если L(Gl,) — n(f)(n(f) — число первичных термов
исходной ДНФ функции f), то получена бесповторная
реализация графа и осуществляем переход к п. 9.
Если L(Gk)>n(f), то выбираем граф G из следую-
щего соотношения:
L(G)=min (L(Gft), Z,(G/£_i)),
где L(Git-i) — сложность графа, полученного на преды-
дущем этапе; L(Gh)—сложность графа, полученного на
данном этапе.
8. Выбираем следующий элемент из множества уров-
ней, претендующих на покрытие первого яруса, и пере-
ходим к п. 2. Если для всех уровней, полученных в п. 1,
графы синтезированы, то процесс закончен.
Проиллюстрируем предлагаемый метод синтеза диаг-
раммы Хассе на следующем примере.
Примеры 3-28. Синтезировать диаграмму Хассе, реализующую
булеву функцию вида f, f (xlt х2, , х-я) = XiX2xs V ЗД xs V
''У Х1Х3Х5 V Х\Х$Х^\/ Х1Х3Х5 \/ Х2Х4Х5.
Заданной ТДНФ этой
функции сооюетствует матрица ннцн-
дентиости вида
X, Х1
1 1 о
2 1 О
3 1 О
4 0 1
5 0 1
6 0 0
х2
1
о
о
о
о
1
Х3 Х3 Х1
ООО
0 1 о
1 о о
1 о о
1 о о
0 0 1
Х,^ Хз Хз
О 0 1
0 0 1
0 1 о
1 о о
0 о 1
0 1 о
Выделяем множество претендентов на первый ярус. Каждый
претендент на взвешивание первого яруса является покрытием ма-
трицы инцидентности (уровнем типа А или С).
В нашем случае имеем следующие покрытия:
{Xf, XI, Хг}', {ХЬ Хз, Хз}, {Т|, Хз, .Га};
{Xl, Xl, Х4}; {Хг, Хз, Хз}, {х4, Хз, хз};
{xi, xi, хз}', {хг, Хз, хз}, {xi, хг, х4, х5};
{xi, хг, хз}; {хз, xi, хз}, {х\, xi, х4, х5};
{xi, хз, xi}; {хз, хз, хз}; {xi, хг, х3, хз}-
Всего имеем 15 покрытий (| X'A IJ Х'с | = 15). Следовательно,
для нахождения графа минимальной сложности необходимо синте-
зировать 15 графов и выбрать граф с минимальной сложностью.
Взвесим первый ярус уровнем {хь xt, хг}, расщепив Хг.
Элементам выбранного уровня соответствуют подматрицы
Q,
Л1
Xi Xi Хг Х3 Хз X Х4 Хз Хз
0 0 10 0 0 0 0 1
0 0 0 0 10 0 0 1-
0 0 0 10 0 0 1 0
X,
о
о
X,
о
о
Хг Х3 Хз Х.\ Хз Хз
0 10 0 1 0 0 1
0 1 О 0 0 О 1 Г
Xi Xi Хг Х3 Х3 Х4 Х4 Хз Хз
QXa = ]|0 0 0 0 0 10 1 0||.
Длина всех рассматриваемых слов одна и та же.
Производя покрытие подматриц Q— и Q<a 'выделяем поду-
ровни.
В результате покрытия подматрицы QA. шмеем следующие мно-
жества:
{хз, Та}; {хг, хз, хз};
{хз, х5}; {Хг, Хз, Хз}.
Подуровни {х3}, {х4, х5} образуют множество покрытий под-
матрицы Q—.
Покрытиями подматрицы QXa являются {х5}.
Веса подграфов, покрывающих полученные подуровни, образу-
ют следующие множества.
Для подуровней буквы xi
bi(X3, хз) = {хг, Хз, хз}; Ь3(хг, х3, хз) = {хз, хз};
Ьг(х3, хз) = {х2, Хз, Хз}; &i(x3, Хз, Хз) = {Хз, х5}.
Для подуровней буквы xi
&5(хз) = {?4, х5};
b6(xi, хз) — {хз}.
Для подуровней буквы хг
bj(xs) = {xi};
bs(xi) = {х5}-
Матрица инцидентности QW имеет следующий вид:
&i &2 Ьз &4 &,
1 1 0 0 0 0 0 0
Хз 1 0 0 1 0 1 0 0
Хз 1 1 0 0 0 0 0 0
Xt 0 0 0 0 0 0 1 0
Xt 0 0 0 0 1 0 0 0
х3 0 1 1 0 0 (1 0 1
Х5 0 0 1 1 1 0 0 0
Каждый уровень, взвешивающий синтезируемый ярус, оцени-
вается суммарной величиной обратных значений производных, вы-
численных для каждой пары подуровней, входящих в оценивае-
мый уровень:
&5. &,)= S г=^4+;~гтт^г+т;+
i = l, 5 j-K, 7
+ Л - 2f’, + f, + f5 - 2/+ f7 = 04-0 + 0=0;
,, , , ,f 16 f 17।fsj
= 3-2-1 + 1 + 0 + 0 = 0,5;
,, , , ._______fss_____, ____f38_____<
b5, ^~-f3^2f33 + f+f3-2f3a + f^
, f68 1 . ' , 0 , ,
^^-2f58+/s 2 — 2-1 + 2 2 — 2 • 1 + 1 +2-2-1 + 1
Оценка принимает наибольшее значение для уровня {Ь3, Ь5, &8},
элементы которого выбираются в качестве весов второго яруса.
Следовательно, вершины второго яруса взвешивают подуровни
&з={%2, хз, «з}; Ь5={х3}\ йа={х4}-
Подматрицы инцидентности, соответствующие X3S63 и хз£&5,
не равны друг другу, следовательно, имеем расщепление первого
типа буквы хз-
Дальнейшее построение искомого графа однозначно. Сложность
полученной диаграммы Хассе (рис. 3-46) равна 11 [L(Gi) = ll].
Остальные 14 диаграмм Хассе синтезируются аналогичным об-
разом. Среди них графы Ga и G* (рис. 3-47) со сложностью 10
являются абсолютно минимальны-
ми графами, реализующими за-
данную ТДНФ функции f.
Перейдем ко второму
этапу синтеза. Преобразуем
построенную ранее диаграм-
му Хассе (см. рис. 3-43) в
логическую структуру в за-
данном базисе {—0}.
Выразим базисную функ-
цию импликации через дизъ-
юнкцию и отрицание. Пред-
ставим геометрически функ-
ции дизъюнкции и отрица-
ния в виде графов на рис.
3-48. Тогда функции импли-
кации будет соответствовать граф вида, показанного
на рис. 3-49.
Наложим ограничение на вид базисных функций; это
будет вторым ограничением на исследуемую задачу. Это
ограничение заключается в следующем: в графе, соот-
ветствующей функции, реализуемой базисным элемен-
том, не должно быть цикла.
Для более наглядного изложения алгоритма построе-
ния логической структуры по диаграмме Хассе, соответ-
с^вующей взвешенной структуре, преобразуем диаграм-
му Хассе в ориентированную сеть так, чтобы каждой
вершине с весом хг диаграммы Хассе соответствовала
дуга с тем же весом X* и существовало бы взаимно
однозначное соответствие между путями диаграммы Хассе
-Г‘
Рис. 3-48.
и ориентированной сети, причем пути были бы взвеше-
ны одной и той же элементарной конъюнкцией с точ-
ностью до умножения ее на 1. Такое преобразование,
как нетрудно видеть, всегда возможно, если использо-
вать при построении ориентированной
сети помимо дуг, взвешенных первич-
ными термами, и дуги с весом 1, обла-
дающие свойством
хМ =х1.
г г
Ориентированная сеть, соответст-
вующая заданной функции, имеет вид,
показанный на рис. 3-50.
Алгоритм построения логической
структуры в заданном базисе по ори-
ентированной сети заключается в по-
следовательном разложении ориенти-
рованной сети и построении инверсных сетей согласно
структуре графа, соответствующего базисной функции.
Введем операцию разложения ориентированной сети
на направления и операцию построения инверсной сети.
Подсеть St является i-м элементом разложения ори-
ентированной сети S на направления {а, р,..., i,..ю},
если ее можно получить следующим образом: отмечаем
полюс «—» в ориентированной сети S и затем поочеред-
но отмечаем дуги at, аг,.. .,ak, принадлежащие i-му на-
правлению, концом которых является отмеченный полюс;
начала дуг ал, аг,..а^; дуги bt, Ьг, Ьп, конец которых
есть начало дуги ад начала дуг blt Ьг, ..Ьп; дуги, конец
каждой из которых есть начало любой из дуг bj, и т. д.
до тех пор, пока не будет отмечен полюс « + ».
Будем называть путь ориентированной сетью вида л,
а совокупность дуг, имеющих одно и то же начало и
один и тот же конец, отличный от начала,— ориентиро-
ванной сетью вида о. Ориентированную сеть, являющую-
ся суперпозицией ориентированных сетей вида л и о,
будем называть ориентированной сетью вида ла. Опера-
ция построения инверсной сети применима лишь к сетям
вида ла, поэтому если ориентированная сеть не являет-
ся сетью вида ла, то она приводится к виду ла путем
разложения подсетей, не являющихся подсетями ви-
да ла, и представлением сети в виде теоретико-множест-
венного объединения подсетей вида ла.
Ориентированная сеть вида ла с добавленной к ней
дугой, соединяющей полюсы (источниковой дугой), раз-
бивает плоскость, на которой она расположена, на об-
ласти.
Построить сеть 5, инверсную к сети S, приведенной
к виду ла,— это значит в каждой области, на которую
сеть разбивает плоскость, взять по точке (вершины сети
S), и если взятые точки va и иъ (va^=Vb) лежатв сосед-
них областях, имеющих на своей общей границе дугу
с весом то необходимо соединить эта точки дугой
м-« + 1 (mod 2)
с весом х
Точки, взятые в соседних областях, разделенных ис-
точниковой дугой, считаем полюсами сети S. Ориента-
цию дуг сети S выбираем от одного полюса сети к дру-
гому, не изменяя его по мере построения дуг (т. е. слева
направо или справа налево, если сеть S ориентирована
сверху вниз или снизу вверх), при этом не начинаем
строить новый ярус сети, пока не построен полностью
предыдущий ярус_ сети S (при таком ярусном построе-
нии дуг в сети S ориентация дуг будет выбрана пра-
вильно). Результат такого построения есть сеть, инверс-
ная к данной.
Проиллюстрируем алгоритм построения логической
структуры на рассматриваемом примере для базиса, со-
стоящего из импликации и нуля (рис. 3-51).
Построенная логическая структура задает следующую
^разделительную декомпозицию функции f(Xi_, х2, х3)
через функции импликации н константы нуля
f(Xi, х2, х3) = ((х3—>0)—н( (Х1—>х2)—>
—> ((х2—>Xi) —>0))) —> ((((xi—>х2)—>
---*"( (Х2->-Х1) >0) )->fX3—>0))—->0).
Аналогично строится декомпозиция заданной функ-
ции и через другие функции, в соответствующем графе
которых не содержится цикла. Например, в качестве уп-
ражнения читатель может построить неразделительную
декомпозицию этой же функции через функцию Шеффе-
ра. Эта декомпозиция имеет следующий вид:
f(xi_, х2, х3) = ((((х1/х2)/х1)/((х1/х2)/х2))/х3/
/ ( ( ( ( (х4/х2) /х4) / ( (Х1/Х2) /х2) ) / ( ( (Xi/X2) /х4) /
/((х1/х2)/х2)))/(хз/х3)).
Излагаемый подход построения декомпозиций функ-
ции f через заданные функции {tpj может быть распрост-
ранен и на случай произвольных функций f(xlt х2,...,хп)
3-9. ОЦЕНКА СЛОЖНОСТИ СХЕМ И ФУНКЦИЙ
Для любой схемы из функциональных элементов
(точнее, для любой логической сети) введем некоторую
оценочную функцию F(S). Потребуем, чтобы эта функ-
ция сопоставляла каждой логической сети однозначным
образом некоторое положительное число, которое будем
называть индексом простоты данной логиче-
ской сети.
Индекс простоты сети 5 будем обозначать симво-
лом Ls. Практически индекс простоты может характе-
ризовать число функциональных элементов, исполь-
зованных при реализации данной сети с учетом их
стоимости, геометрию сети с учетом ее эксплуатацион-
ной надежности и т. д. Выбор той или иной оценочной
функции эквивалентен выбору критерия оптимальности,
в соответствии с которым будут сравниваться между со-
бой различные реализации для одной и той же логиче-
ской функции.
Пусть задана некоторая логическая функция f и
требуется реализовать ее с помощью некоторой опти-
мальной функциональной схемы. Пусть {£$} означает
множество таких схем, которые пригодны для реализа-
ции f. Это множество определяет некоторое множество
индексов простоты, сопоставленных схемам из множест-
ва {Si};
Если через Z.* обозначить наименьшее Ls , то задача
оптимального синтеза функции f схемами из множества
{Si} будет решена, если функция f будет реализована
функциональной схемой с индексом простоты L*. Таким
образом, задача оптимального синтеза сводится к пере-
бору всех возможных схем из {Si} и нахождению схемы
с наименьшим индексом простоты.
Пусть мы имеем некоторую полную систему функций
{fi, fz, • •fm}, которая выбрана нами в качестве базис-
ной системы. Обозначим через а{ функциональный эле-
мент, реализующий Тогда множество функциональных
элементов
Af={ai, а2,..ат}
составляет базисное множество элементов при постро-
ении любой функциональной схемы для любой задан-
ной функции ср. Через Li обозначим индекс простоты
базисного элемента а<. Индексом простоты для данной
функциональной схемы, реализующей <р, назовем сумму
следующего вида:
Z,9 = w„L> + w2L2 4- ... + wmLm, (3-23)
где Wi — число базисных элементов вида а,, использо-
ванных при построении данной схемы.
Отметим, что оценка простоты схемы вида (3-23)
отражает только состав функциональных элементов ai,
использованных при построении схемы, но не отражает
геометрию этой схемы (напомним, что для ряда функ-
ций она может осуществляться просто за счет парал-
лельного или последовательного соединения функцио-
нальных элементов в схеме). Если функциональный эле-
мент at реализует функцию п переменных, то назовем
удельной стоимостью этого элемента следующую
величину -Vi'-
Ъ = 7Г=Т’ «>’• (З-24)
Рассмотрим теперь некоторый класс функций {Л}, ко-
торый мы желаем реализовать в системе базисных эле-
ментов Af. Функции Fi являются векторными функци-
ями, так что
Fi — <fi, fr>
и
fit — fl' (•£]>
Х2э •••>
-Xn
t = l, 2,..., r.
Другими словами, мы рассматриваем реализацию
в данной системе базисных элементов Aj класса (п,
г) -полюсников.
Рассмотрим теперь индекс Шеннона:
Lntr = max {LF }. (3-25)
I
Если ввести обозначение
p = mm (vj,
(3-26)
то можно сформулировать основную предельную теоре-
му об оценке сложности функциональных схем, реализу-
ющих (л, г) -полюсники.
Теорема 3-6. Если
то
п + г— >-оо; (3-27)
loga г п + Г — о, (3-28)
1 2n2i- 1_,0 (2”-1)2'’ (3-29)
г Гр п + г hrp п + г
Если через N обозначить число функций Ft из мно-
жества {Л}> то имеет место при тех же условиях (3-27) и
(3-28) следующая теорема.
Т е о р ем а 3-7. Для достаточно больших п имеет место
эквивалентность
\ogzN ~ (2"—1)5л2'.
(3-30)
Если теперь произвести подстановку (3-30) в (3-29),
то мы получим:
Lnr^p-r . (3-31)
log2log2/V v ’
Рассмотрим более
При г = 0 соотношение
подробно полученный результат.
(3-31) приобретет вид:
2”
Ln Р
(3-32)
где Ln есть функция Шеннона для оценки сложности
функциональных схем без памяти для реализации функ-
ций алгебры логики, зависящих от п аргументов.
Оценку, аналогичную оценке (3-32) для релейно-кон-
тактных схем, О. Б. Лупанов получил для схем, в ко-
торые входят любые базовые функциональные эле-
менты.
Соотношения (3-30) и (3-32) дают асимптотическую
оценку сложности реализации произвольной функции ал-
гебры логики в виде некоторой логической сети. Однако
не надо думать, что столь сложно реализуются все функ-
ции алгебры логики. Приведенные оценки — это в неко-
Тором смысле оценки сложности реализаций наиболее
«плохих» функций.
Доля плохих функций растет с ростом п. Однако на
практике, как правило, встречаются не плохие функции,
сложность реализации которых велика, а «внутренне
организованные» функции с достаточно простой схемной
реализацией.
ГЛАВА ЧЕТВЕРТАЯ
СИНТЕЗ СХЕМ ДЛЯ ОТДЕЛЬНЫХ КЛАССОВ
ФУНКЦИОНАЛЬНЫХ ЭЛЕМЕНТОВ
4-1. ВВОДНЫЕ ЗАМЕЧАНИЯ
В этой главе рассматривается реализация логической
сети на реальных функциональных элементах различной
конструкции. В качестве примера будут рассмотрены
электронные транзисторы, диоды, ферриты и пороговые
элементы (параметроны, криотроны и т. д.). На примере
рассмотрения этих элементов мы выясним трудности, ко-
торые возникают при использовании для синтеза функ-
циональных схем на реальных элементах.
На протяжении всего изложения будем пользоваться
одной из следующих возможных аналогий между двоич-
ными значениями логической переменной и физическими
характеристиками в данной точке схемы:
, f Высокое напряжение —1;
( Низкое напряжение—0;
„ / Наличие импульса—1;
( Отсутствие импульса—0;
□ / Наличие положительного импульса—1;
I Наличие отрицательного импульса—0.
Кроме того, можно, естественно, пользоваться систе-
мами аналогий, где 1 и 0 сопоставляются физическим
сигналам противоположным способом. При этом будем
рассматривать идеализированные функциональные эле-
менты и функциональные схемы. Например, не будем
учитывать нагрузочные возможности функциональных
элементов, необходимую длительность импульсов, требо-
вания к крутизне их фронтов и т. д. Все эти вопросы
в той или иной степени всегда встают перед проектиров-
щиком, синтезирующим схему на реальных функциональ-
ных элементах, и должны, конечно, учитываться при
синтезе функциональной схемы.
4-2. СХЕМЫ НА ТРАНЗИСТОРАХ И ЛАМПАХ
С ХОЛОДНЫМ КАТОДОМ
Будем рассматривать плоскостные транзисторы типа
р-п-р с управлением по базе (рис. 4-1).
Выберем следующую систему аналогий;
запирающее значение входного сигнала—1;
отпирающее значение входного сигнала — 0.
Следует отметить, что запирающее напряжение поло-
жительно по отношению к эмиттеру.
Такой транзистор реализует функцию отрицания.
Функция дизъюнкции может быть получена путем парал-
лельного включения транзисторов, как это изображено
на рис. 4-2.
На рис. 4-3,6 дана схема, с помощью которой можно
получать одновременно утверждение и отрицание пере-
менной на транзисторах типа р-п-р. На рис. 4-3,а пока-
зано получение х и х с помощью схемы, состоящей из
двух транзисторов типа п-р-п. В этих схемах на базу
левого транзистора подается либо + £7,. либо —U. На-
пример, если подано + U, то на рис. 4-3,6 левый тран-
зистор запирается (подана единица), а правый открыт.
При подаче на вход левого транзистора сигнала — U
этот транзистор отпирается, а правый запирается, так
как на его эмиттере потенциал будет ниже, чем на его
базе. На транзисторах можно получить функции Шеффе-
ра и Вебба. На рис. 4-4,а показана схема на двух тран-
зисторах типа р-п-р, дающая реализацию функции Шеф-
фера, а на рис. 4-4,6 —схема на двух транзисторах ти-
па п-р-п, реализующая функцию Вебба. Необходимо от-
мстить, что практические схемы, реализующие функции
Шеффера и Вебба, весьма часто допускают не два, а не-
сколько входных аргументов.
Весьма удобными для использования в различных
логических схемах оказались лампы с холодным като-
дом. Схемы, построенные на этих лампах, дешевы, на-
дежны, потребляют ничтожную мощность. Для возник-
новения тлеющего разряда в таких лампах необходима
некоторая, вполне определенная величина напряжения
зажигания. Как правило, такие лампы выполняются
в виде тетродов с раздельным управлением по обеим
сеткам. На рис. 4-5 схематически показано осуществле-
ние основных логических функций на таких лампах,
t/i и U2 совпадают с потенциалом на сетках тетрода
с холодным катодом. Заштрихованная область является
областью возникновения тлеющего разряда в лампе. На
рис. 4-5,а показано осуществление конъюнкции: для за-
жигания лампы необходимо появление обоих входных
Рис. 4-5.
напряжений. На рис. 4-5,6 дано изображение работы
ламп при выполнении операций дизъюнкции. Через лампу
начинает протекать ток при подаче любого из напряже-
ний Ui или Ui. На рис. 4-5,в показана схема работы тет-
рода в режиме отрицания, вспомогательное напряжение
U2 при этом подается раньше входного напряжения Ui.
На рис. 4-6,а показана схема элемента дизъюнкции на
несколько входов. При этом число аргументов может
быть достаточно велико. Например, при использовании
лампы ТХ4Б в триодном режиме число входов может
достигать пятидесяти. При тетродном режиме практиче-
ски допустима дизъюнкция лишь трех аргументов. На
рис. 4-6,6 изображена схема, реализующая конъюнкцию.
В системе аналогий, сопоставляющей проводящей
лампе нуль, с помощью подобных схем можно реализо-
вать функции Шеффера и Вебба.
Подведем некоторые итоги. Как мы видели, при реа-
лизации схем с помощью транзистора и ламп с холод-
ным катодом наиболее просто реализуются функции от-
рицания, дизъюнкции и функции Шеффера и Вебба. Реа-
лизация конъюнкции
не всегда удобна. Под-
черкнем, что при ис-
пользовании транзи-
Рис. 4-8.
Рис. 4-7.
сторов и ламп с холодным катодом допустимы многовхо-
довые элементы, позволяющие реализовать логические
функции от многих аргументов. Эти особенности долж-
ны учитываться при синтезе соответствующих схем. На-
пример, при реализации функции
f (%,, хг) = xtx2 V х,х,
выгодно преобразовать ее к виду
f(A. хг) = (х1 | х2)\/(А I х2).
После этого реализация f станет более простой.
Можно указать на выбор некоторой другой системы
аналогий, при которой транзисторные схемы становятся
схемами, работающими в базисе {—, &, VI- Рассмотрим
плоскостной транзистор типа р-п-р, показанный на
рис. 4-7. Выберем следующую систему аналогий:
запирающее входное напряжение — 0;
отпирающее входное напряжение— 1,
При этом отпирающий потенциал отрицателен по от-
ношению к эмиттеру. Подберем параметры схемы так,
чтобы базовый ток всегда был меньше тока в цепи кол-
лектор— эмиттер. В этом случае транзистор работает
аналогично замыкающему контакту реле. На рис. 4-8
показана реализация на таких транзисторах операций
конъюнкции и дизъюнкции.
Синтез логических схем, использующих только тран-
зисторы, пока не нашел широкого применения. Более
экономичными являются схемы, в которых наряду
с транзисторами используются вентильные и магнитные
элементы. Логика синтеза схем на подобных элементах
будет рассмотрена в последующих параграфах.
4-3. СХЕМЫ НА ФЕРРИТАХ
Весьма широко применяются в настоящее время ло-
гические элементы, использующие свойства прямоуголь-
ной петли гистерезиса. Магнитный элемент, служащий
для запоминания двоичного сигнала, поступающего на его
вход, устроен следующим образом (рис. 4-9,а). На
магнитном сердечнике с почти прямоугольной петлей
гистерезиса (на рис. 4-9,6 дана идеализированная пет-
ля) размещены четыре обмотки. Сердечник может нахо-
диться в одном из двух возможных устойчивых состоя-
ний (точки 0 и 1 на рис. 4-9,6). Одно из этих состояний
соответствует единице, другое—нулю. При записи (т. е.
запоминании) двоичной цифры происходит следующее.
Сначала возмущается обмотка гашения wr. Ток, проте-
кающий в этой обмотке, вызывает магнитный поток, на-
правление которого на рис. 4-9,а указано стрелкой. Этот
поток переводит магнитный сердечник в положение О
(т. е. в нулевое). После этого включается в работу вход-
ная обмотка г^вх. Если на данный сердечник записывает-
ся нуль, то ток во входной обмотке не появляется и
процесс записи заканчивается. Если
сать единицу, то возбуждается
входная обмотка, ток в которой вы-
зывает магнитный поток, переводя-
щий сердечник в положение 1 (т. е.
в положение, соответствующее еди-
нице). При считывании возбуждает-
ся обмотка управления wy. Направ-
ление магнитного потока, возника-
ющего под влиянием тока в обмот-
ке управления, совпадает с направ-
лением магнитного потока, возника-
ющего при возбуждении обмотки
гашения. Таким образом, если сер-
дечник до считывания находился
в состоянии 0, то он не перемагни-
необходимо запя-
чивается, в противном случае возникает перемагничива-
ние сердечника (переход из положения 1 в положение
0), которое возбуждает ток в выходной обмотке аувьтх.
Таким образом, при считывании единицы на выходе по-
явится выходное напряжение.
Покажем теперь, что если изменить направление маг-
нитного потока, возникающего при возбуждении обмот-
ки управления, то такой сердечник будет реализовать
функцию отрицания (рис. 4-10). В самом деле, в этом
случае процесс записи (запоминания) будет совпадать
с записью на сердечнике обычного типа, а при считыва-
нии перемагничивание сердечника (т. е. возбуждение вы-
ходной обмотки) будет происходить только в том слу-
чае, когда сердечник до возбуждения управляющей об-
мотки находился в состоянии 0. Для моделирования функ-
ций конъюнкции и дазъюнкции необходимо иметь на сер-
дечнике вместо одной две входные обмотки.
Для получения дизъюнкции применяют сердечник,
показанный на рис. 4-11. Сердечник переходит при запи-
си в состояние 1 в том случае, когда возбуждаются либо
обе входные обмотки, либо одна из них. Ток обмотки уп-
равления перемагничивает сердечник из состояния 1
в состояние О, что вызывает появление единицы на вы-
ходе элемента.
При моделировании функции конъюнкции применяет-
ся схема, показанная на рис. 4-12. Эта схема получена
комбинацией двух сердечников, дающих отрицание вход-
ных величин, и сердечника, дающего отрицание дизъюнк-
ции этих отрицаний. В силу формул де Моргана имеем:
Если в качестве сердечника с двумя входными обмот-
ками в схеме, данной на рис. 4-12, взять сердечник, мо-
делирующий дизъюнкцию, то на выходе такой схемы мы
получим функцию Шеффера, так как
х,/х2 = xt х2 = х, V х2.
Сердечники с большим числом входных обмоток мо-
гут моделировать конъюнкцию и дизъюнкцию большого
числа аргументов. Для условного обозначения ферритов
в логических схемах весьма удобна символика, предло-
женная Карно. В этой символике феррит обозначается
вертикальной линией, а его обмотки рисуются в виде от-
резков прямых, составляющих с горизонтальной прямой
угол в 45 и 135°. Входы и выходы изображаются с по-
мощью стрелок, расставленных надлежащим образом на
горизонтальных прямых. Если импульс тока на входе
положителен, то условно считают, что направление вход-
ной стрелки справа налево. В противном случае стрелка
на горизонтальной линии направлена слева направо. На-
правление перемагничивания сердечника определяется
по правилу зеркального отражения. При этом перемаг-
ничивание «вверх» будем считать перемагничиванием
сердечника в состояние, сопоставленное единице, а пере-
магничивание «вниз» — перемагничиванием сердечника
в нулевое состояние В таких обозначениях схемы, реа-
лизующие функции отрицания, конъюнкции и дизъюнк-
ции, примут вид, как это показано на рис. 4-13.
На рис. 4-14,а изображен феррит, с помощью которо-
го может быть реализована функция Вебба, а на
рис. 4-14,6 — дизъюнкция большого числа переменных.
Пример 4-1. Реализовать на магнитных сердечниках функцию
f (X1 Хз > Хз) X1 Ха Xз V X 1X3X3.
Соответствующая схема дана на рис. 4-15,а. Интересно отме-
тить, что скобочная МДНФ для заданной функции
f (X1, Хз. Х3) — Х2 (X 1 X3VX1X3)
реализуется гораздо сложнее (рис. 4-15,6).
Рис. 4-15.
Этот пример показывает, что обычный путь минимизации
для схем на магнитных сердечниках непригоден. Если
оценивать сложность логической схемы на ферритах чис-
лом витков обмоток, использованных при синтезе схемы,
то задачу минимизации для таких схем можно поставить
в виде задачи линейного программирования.
Работу каждого сердечника, входящего в функцио-
нальную схему, определяет некоторая функция
(4-1)
i
Здесь Ц означает наличие или отсутствие тока в об-
мотке с номером i (/,=- О, 1), а = —wa, где —
число витков, намотанных по часовой стрелке, a Wa —
число витков обмотки, намотанных в противоположном
направлении. Сердечник будет реализовать некоторую
функцию алгебры логики f(%i, Хг, •••, хп), если имеет
место соотношение
( F 1, если f = 1, 2
I F < 0, если f — 0.
Составляем теперь 2п неравенств:
„ fl, если f на данном наборе,
X Л (®zi — ' </,, /2, ..., /„> равна 1, (4-3)
;=1 I < 0 — в противном случае.
Путем введения фиктивных переменных у: эта система
неравенств сводится к системе линейных алгебраических
уравнений. Ищется такое решение этой системы, при ко-
тором функция
ф = X + X wi2 + k X Уг (4-4)
i = l Ь=1 i = l
достигает своего минимума. Коэффициент k является
произвольным и оценивается по ходу решения задачи.
Решение дает необходимые значения wfl и ау{2 для дан-
ного сердечника и устанавливает (с помощью фиктивных
аргументов) связь для цепочки сердечников, необходи-
мых для реализации функции f.
Конечно, такой метод решения практически неприме-
ним вручную уже при весьма скромном числе аргументов
функции (практически вручную можно решать задачу
при «8^4). Подобный метод минимизации эффективен
только при использовании средств современной вычисли-
тельной техники. Впоследствии появился целый ряд фер-
ритовых элементов с более сложной структурой, чем
сердечник, показанный на рис. 4-9. Эти элементы (транс-
флюкторы, леддики и т. д.) отличаются сложной конфигу-
рацией самого сердечника, в результате чего магнит-
ный поток через различные сечения сердечника неоди-
наков по величине. Рассмотрим, например, реализацию
логических функций при использовании в качестве функ-
циональных элементов леддиков. На рис. 4-16,а показана
конфигурация леддиков. Число отверстий произвольно.
Требуется достаточно точное соотношение размеров про-
дольных частей магнитопровода и поперечных его частей.
Если в качестве входных используются п левых или пра-
вых перемычек леддика, то ширина горизонтальных пере-
кладин сердечника должна в п раз превосходить шири-
ну любой из вертикальных перекладин. На рис. 4-16,6
показаны магнитные потоки, которые возникают в лед-
дике при подаче во входную обмотку импульса тока, ве-
личина которого подобрана так, чтобы распределение
магнитных потоков было таким, как показано на этом
рисунке. Параметры сердечника и входных сигналов
подбираются так, чтобы выходная обмотка, расположен-
ная на j-м месте от последней входной обмотки, возбуж-
далась при одновременном возбуждении не менее чем
/ любых входных обмоток. Для установления начально-
го состояния леддика имеется специальная обмотка
сброса. Действие обмотки сброса на леддик показано на
рис. 4-16,в. Из рисунка видно, что под влиянием сигнала
сброса все входные перекладины перемагничиваются
в одно из крайних положений, все выходные переклади-
ны перемагничиваются в противоположном направлении.
Для определенности будем считать, что под воздейст-
вием сигнала сброса входные перекладины перемагничи-
ваются в нуль, а выходные — в единицу.
Рассмотрим теперь реализацию на элементах типа
леддик основных функций алгебры логики. На рис. 4-17,а
показан леддик с тремя отверстиями.
Леддик имеет две входные обмотки и две выходные.
Если на любую из входных обмоток подач сигнал (что
сопоставляется значению х{, равному единице), то в си-
лу логики работы леддика возбудится выходная обмот-
ка, расположенная на первом месте от последней вход-
ной обмотки. Таким образом, на этом выходе леддика
моделируется функция дизъюнкции. Обмотка, располо-
женная на втором месте от последней входной обмотки,
возбудится лишь при возбуждении двух входных обмоток
Рис. 4-16.
одновременно. Выход этой обмотки дает нам реализа-
цию конъюнкции. На рис. 4-17,6 показан сердечник
с пятью отверстиями. Логика его работы аналогична.
Выходные функции выписаны около соответствующих
выходов на рисунке.
Рассмотрим теперь сердечник, изображенный на
рис. 4-18. В леддике выходная обмотка на второй и
Рис. 4-17.
третьей перекладинах намотана в противоположном друг
другу направлении. Если обмотка Xi возбуждена, обмот-
ка х2 не возбуждена, то возбуждена выходная обмотка
X,
х2
Сброс
Рис. 4-18.
на второй перемычке. Противоположно намотанная часть
выходной обмотки на третьей перекладине не возбужде-
на, и э. д. с. противоположного знака отсутствует. При
возбуждении только входа х2 выход равен нулю, так как
одного возбужденного входа для второй и третьей пере-
кладин выхода недостаточно. При одновременном воз-
буждении входов Xi и %2 наведенные во второй и третьей
выходных перекладинах э. д. с. взаимно компенсируют-
ся и выход с леддика равен нулю. Таким образом, схема,
показанная на рис. 4-18, реализует функцию y—Xix2. Ес-
ли теперь на вход Xi подать единицу, то леддик дает от-
рицание №• Возможность реализации на леддике любых
функций алгебры логики нами доказана, так как мы
реализовали на этих элементах полную систему с ба-
зисом {—, &, VJ-
Пример 4-2. Найти реализацию сднсразряднсй суммирующей
схемы с помощью леддиков.
Подобная функциональная схема, реализованная на элементах
типа НЕ, ИЛИ и И, рассматривалась нами в § 3-7. Для получения
этой схемы требуется реализовать (3, 2)-пслюсник, работа кстсрс-
го определяется следующими собственными функциями:
Sh='(Xst/i,V хк Ук)Ркч V (ХкУи У1хпун) А-г/
Рк = ХкУк V (X* V Ук) Рк-!‘
На рис. 4-.19 изображен леддик с пятью отверстиями, с помощью
которого реализуются эти функции. Обметка для Sk проходит по
всем трем выходным перекладинам последовательно. При этом на-
правление обмотки для Sk на второй перекладине противоположно
направлению этой обмотки на первой и третьей выходных пере-
кладинах. Таким образом, при одном возбужденном входе s/t = l,
так как возбуждается только часть обмотки sk, расположенная на
первой выходной перекладине. При возбуждении любой пары вхо-
дов Sk=0, так как э. д. с., наводящиеся в обмотке Sk на первой
и второй перекладинах, взаимно компенсируются. При возбужде-
нии трех входов sa = 1, ибо, несмотря на компенсацию э. д. с.,
в частях обмотки для Sk, расположенных на первой и второй вы-
ходных перекладинах, на выход этой обметки поступает э. д. с.,
возникшая за счет возбуждения части обмотки для ss, расположен-
ной на третьей выходной перекладине. Для обмотки рк возбужде-
ние происходит при возбуждении любых двух входных обмоток или
при одновременном возбуждении всех трех обмоток на входе лед-
днка. Отметим большую простоту полученной реализации при срав-
нении со схемой на типовых элементах, показанной на рис. 3-35.
Сброс
Рис. 4-20.
Пример 4-3. Произвести анализ работы леддика, показанного
на рис. 4-20. Выходная обмотка yi на первой н второй переклади-
нах намотана в противоположных направлениях. Обмотка у2 намо-
тана в противоположных направлениях на второй и третьей пере-
кладинах леддика (рис. 4-20). Таблица работы такого леддика вы-
текает нз характера его работы и имеет следующий внд:
Xj х2 *3 У1 Z/2 Х1 х2 х3 Z/1 У*
0 0 0 0 0 1 0 0 1 0
0 0 1 1 0 1 0 1 0 1
0 1 0 1 0 1 1 0 0 1
0 дс 1 НФ дл 1 я функ Vi У 0 ДНЙ у! X1 А = XjX 1 И Z/2 НМ 2^3 V 2Хз V* 1 еют вн; X 1 Х2Хз 1 1: \/ X X iXqX^ 1 Зс3; 0 0
Отметим, что функции у< и у2 — симметричные. Подчеркнем,
что в предыдущем примере при синтезе одноразрядной суммирую-
щей схемы мы также рассматривали симметричные функции.
При рассмотрении логики работы ферритовых схем
мы не касались целого ряда вопросов, связанных с вы-
бором режима подачи сигналов на феррит (одновремен-
ный или разнесенный во времени), проблем нагрузоч-
ных возможностей одного феррита, минимизации числа
усилителей, размещения разделительных диодов и т. д.
Все эти вопросы, конечно, должны учитываться в процес-
се построения ферритовых схем. Целью нашего изложе-
ния является показ логических возможностей ферритов
и на основании этого подтверждение основного положе-
ния, рассматриваемого на протяжении всей этой главы —
невозможности получения минимальной схемы для мно-
гих типов реальных элементов при использовании толь-
ко обычных методов минимизации функций алгебры ло-
гики.
4-4. СХЕМЫ НА ДИОДАХ
Важным классом элементов, моделирующих функции
алгебры логики, являются всевозможные вентильные
элементы. В качестве таких элементов в настоящее вре-
мя наиболее часто употребляются либо электронные
лампы, либо германиевые или селеновые выпрями-
тели.
Рассмотрим, например, работу лампового диода
(рис. 4-21,а, б). Если на вход такого диода подается на-
пряжение полярности, показанной на рис. 4-21,а, то диод
а)
Рис. 4-21.
проводит и на выходе схемы низкое напряжение. Если
же полярность входного напряжения такова, как на
рис. 4-21,5, то диод заперт и на выходе схемы высокое
напряжение.
Аналогичным образом работают и остальные вен-
тильные элементы. Общее обозначение вентильных эле-
ментов дано на рис. 4-21,в и г.
На рис. 4-22 показаны схемы, моделирующие на дио-
дах конъюнкцию от п аргументов.
На диодах не удается реализовать полную систему
функций, так как с их помощью нельзя реализовать от-
рицание, импликацию,.
Д’, ,т2
б)
Рис. 4-22
ции Шеффера и Вебба и т. д.
Непосредственно на диодах
возможна реализация лишь
конъюнкции (рис. 4-22,а) и
дизъюнкции (рис. 4-22,5).
Поэтому в дальнейшем бу-
дем предполагать, что на
вход логической схемы, реа-
лизуемой на диодах, вместе
с аргументом х,- всегда по-
ступает и отрицание х,, ко-
торое получено на элемен-
тах другой природы.
Синтез схем на диодах
сводится к нахождению
МДНФ или МКНФ реализу-
емой функции и непосредст-
венному синтезу по ним на
основе схем, приведенных
на рис. 4-22.
Пример 4-4. Реализовать на диодах функцию
f (Хр Х2, Х3) = Х,Х2Хз V Х,Х2Хз VXiXaX3 V XiX2X3
МДНФ для этой функции имеет вид:
f (Хр Х2, Х3> XД — Х,Х2 \/ Х2Х3.
Соответствующая схема дана на рис. 4-23.
При синтезе диодной схемы по такому способу схе-
ма всегда получается двухкаскадной. В первом каскаде
образуются все необхо-
димые конъюнкции,
входящие в МДНФ
(или дизъюнкции в
случае использования
МКНФ), а во втором
каскаде эти конъюнк-
ции объединяются на
схеме типа ИЛИ (для
случая МКНФ на схе-
ме типа И). Однако
такой непосредствен-
ный синтез схем на диодах встречает большие
практические трудности. При синтезе схем, реали-
зующих функции большого числа аргументов, ста-
новится невозможным построение двукаскадной схемы,
так как при большом п не удается реализовать надеж-
но работающие элементы типа И и ИЛИ. При переходе
к многокаскадным схемам возникают трудности, связан-
ные с физической реализацией каскадного соединения
пассивных схем. Для работы схемы в целом необходи-
мо, чтобы входное сопротивление последующего каскада
было значительно больше выходного сопротивления пре-
дыдущего пассивного каскада. При необходимости по-
следовательного соединения большого количества подоб-
ных каскадов возникает неприемлемое с точки зрения
практики требование к сопротивлениям источников
электропитания и становится практически невозможным
снятие выходного сигнала с сопротивления огромной
величины, характеризующегося числом порядка 10пг,
где п—число последовательно соединенных каскадов,
а г — входное сопротивление первого каскада схемы.
Рассмотрим метод синтеза вентильных схем, который
может быть назван методом диодных сеток.
Сущность этого метода состоит в следующем. Пусть
имеется функция f(x1( хг, хп), записанная в МДНФ
(или произвольной ДНФ). Возьмем столько горизон-
тальных шин, сколько конъюнкций входит в данную
МДНФ. Поставим каждой шине во взаимно однознач-
ное соответствие одну из конъюнкций МДНФ.
Возьмем теперь столько вертикальных шин, сколько
разных символов (х, и считаются при этом разными
символами) входит в данную МДНФ, и установим
взаимно однозначное соответствие между этими шина-
а . а .
ми и символами.*: . Если символ х 1 входит в конъюнк-
i г
цию, то соответствующие вертикальная и горизонталь-
ная шины соединяются между собой с помощью диода,
проводящего от горизонтальной шины на вертикальную
(рис. 4-24,а). На горизонтальные шины подается высо-
кий потенциал, а на все вертикальные шины — напря-
жения, соответствующие входному набору значений
аргументов. Если на данную вертикальную шину посту-
пает высокий потенциал, сопоставляемый единице, то
все диоды, связывающие горизонтальные шины с дан-
ной вертикальной шиной, не проводят. Если же на дан-
йую вертикальную шину поступил сигнал нуль (низкий
потенциал), то высокий потенциал с горизонтальной
шины проходит через открытый диод и шунтируется не-
большим сопротивлением диода. Все горизонтальные
Рис. 4-24.
шины с помощью диодов образуют дизъюнкцию. Эта
дизъюнкция сопоставляется с выходом схемы.
Пример 4-5. Синтезировать с помощью диодной сетки функ-
цию _ _
f (X I ! Xg, Xg, Х4) - XjXgXgX^ \у XjXgXgX^ \/
\/ Х]Х2Х3Х4 ХдХзХд Х4.
Для данной функции имеем четыре горизонтальные шины и
восемь вертикальных. Соответствующая диодная сетка показана на
рис. 4-24,я.
Пример 4-6. Синтезировать с помощью диодной сетки однораз-
рядную суммирующую схему
Sfc = хкукрк -1 V xh урк. t \JxkykpK _ t V xkykph _,;
Рк. — ХкУк V Хкрк_ । \/ УкРк- I
Для данной функции необходимо иметь семь горизонтальных
шин и шесть вертикальных. Соответствующая схема дана на
рис. 4-25,а.
Рис. 4-25.
Схема, реализованная по методу диодных сеток,
является взаимно однозначным отображением реализуе-
мой ДНФ для данной функции. Такая схема принципи-
ально не реализует скобочные формы и поэтому может
быть не минимальной.
Будем говорить, что конъюнкции А и В подчинены
конъюнкции R, если А и В имеют вид RT п RQ. При
получении конъюнкций А и В желательно только 1 раз
реализовать конъюнкцию R, а потом использовать ее
для получения А и В. Построенные на таком принципе
диодные сетки отображают скобочные ДНФ.
Пример 4-7. Реализовать указанным способом функции из при-
меров 4-5 и 4-6.
Записываем функцию f и функции sk и рк в скобочной форме:
f (X1, Xg, Х3, X.) — X1X3 (Х2Х4 Х2 хА\/ X[Хз(х3X4 \у Х3Х4);
(Xfcf/kV хкук) рк. J у xkyk) /
Pk = хкук\/ (xk V Ук) Рк -1
На рис. 4-24,6 и 4-25,6 приведены соответствующие схемы. Из
рассмотрения этих схем вытекает, что при такой реализации умень-
шается число сопротивлений R и одновременно с уменьшением
диодов, требующихся для организации связи между горизонталь-
ными и вертикальными шинами, в схеме появляются новые разде-
лительные диоды. Поэтому пр 1 переходе от бесскобочной реализа-
ции на диодных сетках к скобочной реализации надо каждый раз
оценивать целесообразность такого перехода.
4-5. СХЕМЫ НА ФЕРРИТ-ТРАНЗИСТОРАХ
В настоящее время широко распространенными
элементами устройств автоматики и вычислительной
техники являются различные типы ф е р р и т-т р а н з и-
сторных элементов. Принципиальная схема од-
ного из таких элементов изображена иа рис. 4-26,а.
Сопоставим намагничиванию сердечника при оста-
точной индукции +В значение 1, а состоянию сердеч-
ника при остаточной индукции —В — значение О
(рис. 4-26,6). Перемагничивание сердечника из одного
состояния в другое происходит под влиянием тока в об-
мотке записи ити в обмотке считывания. На одном
сердечнике может быть размещено несколько обмоток
считывания и записи.
Если в обмотке имеется импульс тока /.з, то сердеч-
ник перемагничивается в состояние 1. При этом транзп-
стор остается запертым и в нагрузке тока нет. При
наличии импульса тока в обмотке считывания происхо-
дит перемагничивание сердечника в состояние 0. Если
при этом сердечник до считывания уже находился в со-
стоянии 0, то в выходной обмотке э. д. с. не наводится
и импульс коллекторного тока не возникает. В против-
ном случае э. д. с., наведенная при перемагничивании
сердечника в выходной обмотке, открывает транзистор
и в его коллекторной цепи появляется импульс тока,
который является управляющим для других феррит-
транзисторов и нагрузки.
Таким образом, работа феррит-транзисторной ячейки
носит двухтактный характер.
Для повышения надежности логических схем на
ячейках описанного типа необходимо отказаться от за-
висимости работы элементов схемы от точных значений
амплитуды, формы и длительности токов, протекающих
в считывающих и записывающих обмотках. В связи
с этим оказываются неприемлемыми схемы, использую-
щие принцип суммирования перемагничивающих токов
или работающие на принципе, компенсации токов.
Для всех типов схем, рассматриваемых в параграфе,
появление импульса тока в любой из обмоток сердеч-
ника приводит к перемагничиванию сердечника в соот-
ветствующее положение.
Все феррит-транзисторные схемы могут быть разде-
лены на два класса: однотактные и двухтакт-
н ы е.
Для однотактных схем считывание со всех элемен-
тов схемы происходит одновременно, и для возможности
управления выходами одних элементов схемы входами
других элементов необходимы линии задержки между
элементами схемы, управляющими друг другом.
В двухтактных схемах все элементы делятся на две
группы. Если с одной из групп происходит считывание.
то на вторую группу элементов производится запись
считанных значений. В настоящее время наиболее ши-
рокое распространение получили элементы двухтактно-
го типа. Именно такие фер-
рит-транзисторные элемен-
ты мы и будем рассматри-
вать в дальнейшем.
Все входные обмотки
феррит-транзисторного эле-
мента мы разделим на два
типа: разрешающие и
запрещающие. Появле-
ние тока в разрешающей
Рис. 4-27. обмотке перемагничивает
ветствующее единице.
сердечник в состояние, соот-
Импульс тока в запрещающей
входной обмотке действует противоположным образом.
Условное обозначение феррит-транзисторного элемента
показано на рис. 4-27. Из логики работы элемента, по-
казанного на рис. 4-26, вытекает, что при п разрешаю-
щих обмотках и т запрещающих собственная функция
такого элемента имеет вид:
у = \f х2 V ... V ... zm.
В частности, при одной разрешающей и одной запре-
щающей обмотке
«/=XiZi = Xi—+zi = q(xi, Zi).
В § 1-7 получены следующие соотношения, справед-
ливые для любых функций алгебры логики:
f х2.... хп) = &(%“'——... — J \п)
и
f(xt, Х2, ..., Лп) = у (4‘-*X22
Обозначая, как и выше, операцию х—ы/ через q (х, у),
можно представить эти соотношения в следующей форме:
f(xIt х,, ..., хп)= &q {q[q(... q (х^', х*1)...), х°^] х*”}
О п - 1 п
(4-5)
и
f(A, А..... хп) = у q{q[q(...q(x]', х^)...), х\п^'\х*"}.
(4-6)
Полученные соотношения могут быть использованы
при синтезе функциональных схем.
Рассмотрим теперь класс феррит-транзисторных
схем, в которых используются элементы, не имеющие
обмоток запрета. Такие элементы обладают весьма
высокой надежностью работы и интересны с точки зре-
ния их логических возможностей.
Отсутствие цепей запрета приводит к необходимости
каким-то образом восстановить логическую универ-
сальность схем, построенных на феррит-транзисторных
элементах. Для этих целей вводится и а р а ф а з н ы й
кол, дающий на входе и выходе схемы наряду с двоич-
ной переменной х и ее отрицание х.'
Основным логическим элементом описываемых схем
является транзистор, работающий в режиме насыщен-
ного ключа. Такой клапан является аналогом замыкаю-
щего контакта в релейно-контактных схемах. Объеди-
нение цепей, содержащих феррит-транзисторные ячейки
и транзисторные клапаны, возможно как с помощью
соединительных трансформаторов, выполняемых наокси-
ферах, так и непосредственно (при необходимости при-
меняя диоды).
Условимся о следующих обозначениях, которые бу-
дем применять при построении функциональных схем.
На рис. 4-28 показано обозначение феррит-транзпстор_-
ной ячейки для запоминания информации. Цепи АЛ
и ВВ являются обмотками записи и считывания. Харак-
тер обмотки определяется указанным направлением то-
ка на функциональной схеме. Цепь С соответствует
выходной обмотке феррпт-транзисторного элемента. На
рис. 4-29 показано условное обозначение транзисторного
клапана с k управляющими цепями B^Bi, BiB->, ..., BkBk
и с одной неуправляющей цепью СС. Такой клапан
выполняется в виде импульсного трансформатора
с k входами и одним пли несколькими выходами, от-
крывающими ключ в цепи АА. Направление тока в цепи
BiBi от Bi к Bi (в точку) является отпирающим, а на-
правление от Bi к Bi (из точки)—запирающим. Все
остальные условные обозначения, которые будут исполь-
зоваться при построении функциональных схем, явля-
ются общепринятыми. Отметим некоторые особенности
построения схем рассматриваемого класса.
В, ВкС
Рис. 4-29.
При синтезе схем необходимо следить, чтобы вы-
полнялось следующее правило: если при данном состоя-
нии схемы через некоторый элемент нагрузки проходит
какая-либо цепь тока, то через него проходят все цепи
тока, образующиеся при данном состоянии схемы и
имеющие общие точки с этой выделенной цепью. Вы-
полнение этого правила гарантирует от шунтирования
нагрузки и появления внутри схемы параллельной на-
грузки.
Необходимо проверять синтезированную схему для
выявления замкнутых порочных цепей (когда несколько
клапанов управляют друг другом, т. е. выходные цепи
одного клапана служат управляющими цепями для
другого клапана, а выходная цепь последнего управляет
первым клапаном).
При непарафазном коде функции конъюнкции и
дизъюнкции реализуются весьма просто. Их реализация
показана на рис. 4-30. На рис. 4-30,а показана реализа-
ция конъюнкции, а на рис. 4-30,6 — дизъюнкции. На
рис. 4-30,в показан способ моделирования конъюнкции
с помощью клапанов с одной управляющей обмоткой.
При этом предполагается, что при реализации конъ-
юнции в соответствии с рис. 4-30,а одного управляюще-
го сигнала недостаточно для открытия клапана. При
реализации же конъюнкции
в соответствии с рис. 4-30,в
и дизъюнкции для открытия
клапана достаточно одного
управляющего сигнала. Од-
нако при непарафазном ко-
де на феррит-транзисторных
элементах без запрещающих
входных обмоток невозмож-
на реализация функции от-
рицания или каких-либо
других функций, с помощью
которых можно было бы до-
полнить функции конъюнк-
ции и дизъюнкции до пол-
ной системы функций.
Введем теперь в рассмот-
рение парафазный код. Для
каждой переменной х, используем две вспомогательные
переменные х\ и х°, которые будем называть единичной и
нулевой фазой х,.
Равенство X/—1 означает, что х' = 1, а х°=0. Если
же Xi~0, то х =0, а х°=1. Таким образом, фазовые
значения переменной х/удовлетворяют следующим соот-
ношениям:
Единичная и нулевая фазы каждой переменной хг-
выполняются в виде самостоятельных токовых цепей.
Каждая фаза (х' или х°) может рассматриваться как
обычная непарафазная двоичная переменная.
Рассмотрим теперь реализацию функций отрицания,
дизъюнкции и конъюнкции в случае парафазного кода.
Будем обозначать буквами zl и z° единичную и нулевую
фазы функции:
г=ф(хь х2, ..., хп).
Тогда для функции отрицания па основании таблицы
ее задания можно написать следующее соотношение,
связывающее фазы аргумента х и функции z;
zl = х°; 1
г9 = л1, J
(4-9)
Схемная реализация отрицания сводится к простои пере-
коммутации фаз (рис, 4-31,а).
Для дизъюнкции необходимо найти связь между фа-
зами аргументов и фазами функций. Используя соотно-
шения (4-7) и (4-8), получаем эту связь в следующем
виде:
или, применяя для z° формулу
Xt V Л'г = Х1 х2
и учитывая (4-23), получаем следующее выражение:
Производя соответствующую замену в (4-10), прихо-
дим к системе равенств, определяющих дизъюнкцию Xi
и х2:
г1 = х\ V х‘ ;
z9 = x°t Х2 .
(4-И)
Функциональная схема, построенная па основании
(4-11), дана на рис. 4-31,6,
Для моделирования конъюнкции используется следу-
ющее соотношение, связывающее между собой фазы ар-
гументов и функции:
г° —- х[ л*2 .
(4-12)
Применяя к Нулевой фазе функции z соотношение
получаем:
(4-13)
Функциональная схема, реализующая конъюнкцию
в соответствии с соотношением (4-13), показана па
рис. 4-31,в.
Таким образом, мы реализовали па схемах с пара-
фазным кодом базис полной системы, состоящей из
функции отрицания, конъюнкции и дизъюнкции.
Рис. 4-31.
Рис. 4-32.
Пример 4-8. Реализовать в классе феррит-транзисторных эле-
ментов без запрещающих входов одноразрядную суммирующую
схему.
Соответствующая схема ‘приведена на рис. 4-32. На этом ри-
сунке х, и уi означают слагаемые, pt — перенос из младшего раз-
ряда, S, и pt+i—сумму п перепое в старший разряд.
4-6. СХЕМЫ НА ПАРАМЕТРОНАХ
В 1954 г. сотрудником Токийского университета
Е. Гото была открыта возможность использования явле-
ния возбуждения параметрических колебаний для осу-
ществления логических операций и функции запомина-
ния в электронных цифровых машинах. Основанный на
этом принципе элемент получил название параметрон.
Параметрон содержит в себе конденсаторы, катуш-
ки индуктивности с ферритовыми сердечниками и рези-
сторы. Это обеспечивает исключительно высокие надеж-
ность, устойчивость и долговечность параметронов. В на-
стоящее время большое число эксплуатируемых япон-
ских вычислительных машин выполнено на парамет-
ронах.
Параметрон — резонансный контур с периодически
меняющимся реактивным сопротивлением. При измене-
нии этого параметра с частотой 2<р в контуре возникают
колебания с частотой ср. Возбужденные колебания мо-
гут существовать в двух фазах, отличающихся друг от
друга на л радиан. Для параметрона имеет место сле-
дующая система аналогий:
О—0 рад;
1—л рад.
На рис. 4-33,а дан емкостный вариант параметрона.
На этом рисунке цифрами обозначены следующие эле-
менты: 1 — входные обмотки; 2 — трансформатор связи;
3 — сопротивление для демпфирования и связи; 4 — вы-
ходные клеммы; 5 — трансформатор связи со следую-
щей ступенью; 6 — клеммы возбуждения.
Задание режима работы параметрона происходит
с помощью подачи соответствующего сигнала па клем-
мы возбуждения.
Состояние параметрона па выходе определяется
алгебраической суммой сигналов входных аргументов,
т. е. f(xlt х2, г) (рис. 4-33,6) принимает то состояние,
в котором находится большинство входов параметрона.
Если теперь на вход z подать константу единица, то
f (х„ х2, 1) = х, У/ х2
и соответствующий параметрон моделирует операцию
дизъюнкции. Если же на вход z подать константу нуль,
то
f(xi, х2, O)=xix2
и параметрон моделирует функцию конъюнкции.
Для моделирования функции отрицания можно ис-
пользовать схему, изображенную на рис. 4-33,в. В этой
схеме осуществлено обратное включение обмотки связи.
Таким образом, на параметронах реализуется базис
V}.
Если параметрон имеет т (нечетное число) входов,
то легко видеть, что его работа описывается с помощью
простейшей симметричной функции гт, введенной нами
в § 3-6. Этот факт будет использован в § 4-7. Практи-
чески допустимое число входов па один параметрон
в реальных устройствах не превышает семи.
Пример 4-9. Реализовать фупкцпопал'-’’yio схему на параметро-
нах для функции
f (Х [ , Хд) - Х]Ха Хд У/ X,XgXg У/ Xj XgXg.
Соответствующая схема дана на рис. 4-34,а.
Подчеркнем, что для схем па параметронах допуще-
ние об одинаковой сложности х,- и которое использо-
валось при построении алгоритмов минимизации в бази-
се {—, &, У/}. является неверным. Как уже было пока-
зано, именно функция отрицания является наиболее не-
удобной при построении параметронных схем. Поэтому
при минимизации ДНФ или КНФ функций в этом слу-
чае следует отдавать предпочтение конъюнкциям, содер-
жащим минимум инверсий.
Пример 4-10. Функция, рассмотренная в примере 4-9, является
симметричной.
Рис. 4-34.
Тогда в силу соотношений (3-6) из § 3-6 можно написать:
S] = Х,Х2 х3 V *1Мз V Х1 Х2Х3
или
“ jTjTg = (Х 1 V Х2 V Хз) \/ 1^2 V V ^2^з) *
Соответствующая схема приведена на рис. 4-34,6. Число вход-
ных обмоток на этой схеме но сравнению со схемой, приведенной на
рис. 4-34,а, уменьшилось на три,
4-7. ПОРОГОВАЯ И МАЖОРИТАРНАЯ ЛОГИКА
Рассмотрим некоторые теоретические вопросы, воз-
никающие при синтезе схем из пороговых и мажо-
ритарных элементов.
Определение 4-1. Пороговым элементом называ-
ется элемент с п входами и одним выходом, поведение
которого описывается соотношением
(п
S — "П
/=1
(4-14)
где у — значение сигнала на выходе элемента; х3е{0,1}—
значение сигнала на j-м входе; т] — порог; — вес j-го
входа;
Sgn/1 =
О, если А<^0,
1, если А 5^0.
Без ограничения общности можно полагать, что и
ц — целые неотрицательные числа.
Определение 4-2. Совокупность весов входов и
порога называется структурой порогового элемента.
В векторном виде соотношение (4-14) можно запи-
сать как
y=Sgn (1^—ц), (4-15)
где |= (§1, ..., In);
Хп I
Определение 4-3. Булева функция f (xj, х2, ..., хп)
называется пороговой, если существуют такие и т,, что
ее можно представить в виде
f (х„ х2. хп)=Sgn | S SjXj — ») j •
\/=i 7
Таким образом, пороговые функции — это такие функ-
ции, которые могут быть реализованы на одном порого-
вом элементе.
Возникает вопрос о мощности класса пороговых функ-
ций. Если через П(п) обозначить число ФАЛ от п аргу-
ментов, которые являются пороговыми, то имеет место
следующая оценка:
in («—1) + 2
2 2 для 2 <п <7;
п (П + 1) 8
2 2 для п > 7.
Свойство функции быть пороговой тесно связано
с монотонностью функции. Для 11 <g:7 свойство монотон-
ности является необходимым и достаточным условием
того, что функция является пороговой. Для ni>9 это
условие является лишь необходимым. Например, для
н=12 был построен пример функции
f (х„ х3, х3, xv х8, хй, х,, ха> х9, х10, хп, х12) =
V а2 Ф4Тз V .Vf., V Ш V а> to V ?зГ5) V fAL-
где а={Х1, х2, х3}; Р = {х4, х5, х6, х7}; у = {х8, хд, xi0, Хц, xl2},
которая хотя и является монотонной, но не является
пороговой.
Для н = 8 проблема остается нерешенной.
Довольно большое число реально существующих тех-
нических устройств можно рассматривать как пороговые
элементы. В общем случае пороговый элемент представ-
ляет собой устройство, состоящее из суммирующего зве-
на с релейной характеристикой. К таким элементам от-
носятся ферритовые сердечники с прямоугольной петлей
гистерезиса, параметроны, пары Гото на туннельных
диодах, суммирующие усилители постоянного тока с на-
сыщением и ряд других схем.
Можно выделить две основные задачи пороговой ло-
гики. Первая задача — это синтез порогового элемента,
реализующего данную функцию алгебры логики. Под
синтезом порогового элемента понимается поиск его
структуры. Поскольку не все функции пороговые, то воз-
никает вторая задача, состоящая в синтезе сети из по-
роговых элементов, реализующей данную функцию алге-
бры логики. Под синтезом сети понимается поиск конфи-
гурации сети и структур составляющих пороговых эле-
ментов.
Рассмотрим сначала первую задачу. Пусть 1\— мно-
жество наборов значений переменных, па которых функ-
ция равна 1, а То — множество наборов значений пере-
менных, на которых функция равна 0. Рассмотрим си-
стему линейных неравенств:
Е tiXj — т]5?-0 для A:gT,;
/=1 } (4-16)
Е tjXj — 7] < о для X G то.
j=i J
В соответствии с определением 4-3, если в функции
существуют такие и ц, что они удовлетворяют системе
(4-16), то эта функция является пороговой, и наоборот,
если данная функция пороговая, то структура порогового
элемента, реализующего данную функцию, удовлетворяет
системе (4-16). Иначе говоря, считая Ер- и ц неизвестны-
ми, можно сказать, что необходимым и достаточным
условием пороговости данной функции является суще-
ствование решения системы (4-16), причем это решение
определяет структуру порогового элемента, реализую-
щего данную функцию.
Таким образом, для того чтобы синтезировать поро-
говый элемент, нужно установить, имеет ли система
(4-16) решение, и если имеет, то найти его1. Это может
быть выполнено путем использования методов линейно-
го программирования, однако в случае большого п ре-
шение системы (4-16) может оказаться весьма сложной
задачей, особенно в связи с требованием целочисленно-
сти gj и г). Поэтому, как правило, применяют методы
синтеза, не связанные с линейным программированием.
Мы остановимся на двух методах синтеза. Первый
метод удобен в случае, когда функция зависит от срав-
нительно небольшого числа переменных, и состоит
в установлении соотношений между весами входов и по-
следующем подборе величин весов, удовлетворяющих
установленным соотношениям.
Пусть соотношение ft^fz означает, что на любом на-
боре значение функции ft не меньше значения
функции fz, а соотношение fi^>fz означает, что, кроме
того, обязательно найдется хотя бы один такой набор,
1 Нужно заметить, что некоторые неравенства в системе (4-16)
во многих случаях являются избыточными и их можно исключить,
чю приводит к упрощению задачи синтеза.
на котором значение функции ft больше значения функ-
ции fa. Если для некоторой функции f(Xi, х2, хп) вы-
полняется
f(xu х,,..., хг_„ 1, хг-+„.... Xj.,,
О, х?+„x„)Df(x,, х,,..., xi_1, О,
Xf + 1I Xj_„ 1, Xj+,. xn),
то будем говорить, что Xt тяжелее чем х, и обозна-
чать это как Хг >Xj. Если левую и правую части соотно-
шения связывает знак равенства, то будем говорить, что
Хг и Xj равновесны, и обозначать Xj~Xj. Заметим,
что равновесность хг и х, означает, что функция сим-
метрична относительно хг- и Xj. Если функция пороговая,
то все ее аргументы можно упорядочить по тяжести. Об-
ратное утверждение справедливо лишь для функций ме-
нее чем шести переменных. Если данная функция поро-
говая, то из Xi следует, что а из сле-
дует, что £i = £j. Упорядочив веса всех входов, можно
произвести подбор значений gj, удовлетворяющих (4-14),
задаваясь значением gMHH. Однако следующие за ним
значения оказываются ограниченными лишь сверху.
Для сокращения перебора можно произвести упорядо-
чение сумм весов входов. Пусть, например, для функции
f(xt, Хг, ..., хп) удалось установить соотношение
f (П1, 0-2, . . ., Oh, Xhj-1, . • ., Хп) —}f (@1, (12, . . ., O-k-Xh+l, • . ,, Хп) ,
где Oi, а2, ... Ok — некоторые фиксированные значения
переменных Xi, х2, ..хп соответственно. Тогда
k k
J=1 /=1
Отсюда можно установить соотношение между суммами
некоторых 1). Заметим, что из f (си, а2, ..., Oh, Xk+i, ...
..., xn)=f(ai, аг, ..., аь, Xh+i, ., хп) равенство соответ-
ствующих сумм следует лишь для k = 2.
Пример 4-11. Реализовать на одном пороговом элементе функ-
цию
f (xlt Хг, Х3, Х4, X;,) ХгХ3\/ ХгХ5\/ Х>Х2Х4\/ ХгХ3Х5.
1. Устанавливаем соотношения тяжести между аргументами
Xi и хз:
f (Xi ~ , Х2 = О, Х2, X Х5) “ Х2 \/ Х5‘,
f(X, = O, Х2=1, Х2, Х4, Х-а) = Х3Х3.
Так как х3 V Z) хах5, то х, >> хг.
2. Устанавливаем соотношение между х2 и х3:
f(xt, Х2=1,Х3~ 0, Xj, Х-) -= XjX5 V XjXjJ
f (xt, Х2 = 0, х3— 1, X,, Х5) = Xt V Х1Х5 = хг,
х, ZD х,х5 V XiX4, поэтому х2 < х3.
3. Устанавливаем соотношение между х3 н х4-
f (х,, х2, х3 = 1, х4 = 0, х5) = Xj V XiX5 V х2х3 = х, V х2х5;
f (х,, х,, х3 = 0, х4=1, х3) = х,х3 V х2х5;
х, V х2х8 Z) XjX5 V х2х5, поэтому х3 У х4-
4. Устанавливаем соотношение между х4 и xs:
f (Х„ х2, х3, х,, - -1, х5 0) Х,х3 \/ Х,х2;
f (Xj. х2, х3, х4 = 0, х5 —1) == х.х2 V х, V х2х3 ---• х, V х2х3;
X! V х2х3 ZD х,х3 \/х2х4, поэтому х4< х5.
5. Устанавливаем соотношенье между Xj и х3:
f (х, — 1, х2, х3 = 0, х4, х5) — х3 V х2х4;
f(x, = O. х2, х3=1, х4, х5)—х2х5;
х5 V х2х4Д) х2х3, поэтому х, >х3.
6. Устанавливаем соотношение между х3 и х3:
f (Х3- Х2, Х3=1, X.,, Х-, = 0) = X, V XjX2Xt = х,;
f (Xt, X-i, X3 = 0, x4, X5 1) = Xt V X,X2X4= Xj.
Следовательно, x3 ~ x3.
7. Устанавливаем соотношение между x2 и x4:
f (Xp x2=l, x3, Xj —0, x5) = x,x3 V XiXs V *зХ3;
{(х,, x2 = 0, x3, x4=l, xs) = x,x3 V XjX6;
XjX3 V *iX5 V x3xsOXjX3 V XiX5, поэтому x2 > x4.
Таким образом, Xi < x3 x3 > x2 >x4.
Отсюда устанавливаем соотношения между весами:
Далее производим сравнение функций
f(xi = l, хг, Хз, х-,=0, х5 = 0)=х3;
f(xi=O, х2, хз, х4=1, хз=1)=х2хз;
Так как х3Эх,х3, то gi>g4 + g3-
Исходя из произведенного упорядочения, выбираем минималь-
но возможные веса:
?,!--= 5, Ь = 2, £з~3, |4=1. Ь = 3.
Очевидно, что прл т) = 8 пороговый элемент с такой структурой
реализует данную функцию.
Второй метод синтеза порогового элемента основан
на минимизации некоторого функционала.
Запишем систему (4-16) линейных неравенств в виде
I — 2 + 7j 0 для х ТI;
п
2 — Tj < — 1 ДЛЯ х&Т0.
I 1=1
Рассмотрим выражения
(— 2 ^H-4|Sgn(- 2 );
\ 1=1 / \ /=1 /
(2 ^xi — 4 + Ч Sgn [ — 2 %xi — 71+1
\j=i ; \ j=i
Очевидно, что оба эти выражения всегда больше или
равны нулю. Просуммируем первое из них по всем набо-
рам x^Ti, а второе — по всем наборам х^Тп и сло-
жим полученные суммы. Тогда получим функционал ви-
да
ф(+ 2 ( - 2 ^+?jx
\ /=1 /
XSgnf — ^ + ^ +
\ /=1 /
+ 2 (2 ^-4 + l"jsgnf-2 ^-7]+1\ (4-17)
^т0\/=1 / V /=1 /
Очевидно, что Ф(^, Ь, • • •> +> л) +0- При этом, функ-
ционал равен нулю лишь в том случае, когда все и ц
удовлетворяют системе линейных неравенств (4-16). Та-
ким образом, задача синтеза порогового элемента в этом
случае сводится к минимизации функционала O(gi,
£2, •л)- Сначала описанным выше способом про-
изводится упорядочение значений g,. Затем задаемся ве-
личинами gj и т), удовлетворяющими произведенному
упорядочению, и такими, что Sg, + r| минимальна. Вы-
числяем значение функционала. Если оно не равно нулю,
то увеличиваем па единицу одно из При этом может
оказаться необходимым измелить и другие так чтобы
они соответствовали упорядочению. Если функционал
уменьшился, то снова увеличиваем на единицу это gj, и
так до тех пор, пока происходит уменьшение величины
функционала. Если на каком-либо шаге произошло уве-
личение функционала, то возвращаемся к предыдущему
значению изменявшегося и начинаем увеличивать дру-
гое gj, т. е. осуществляем обычный покоординатный
спуск. Процесс продолжается до тех пор, пока функ-
ционал не станет равным нулю. Если минимальное зна-
чение функционала превышает 0, то данная функция не
является пороговой.
В настоящее время методы синтеза сетей произволь-
ной конфигурации из пороговых элементов еще не раз-
работаны. Однако для некоторых частных видов сетей
такие методы существуют. Мы рассмотрим здесь один
метод синтеза сетей глубины два. Сеть глубины два из
пороговых элементов показана на рис. 4-35. Работа та-
кой сети описывается уравнением
f т
y=sgtJi;
i/=i
(т
Xj “Чт
/=1
--Д. (4-18)
Если положить gj=l (у —1, 2, ..п) и т| = 1, то вы-
ходной элемент будет выполнять операцию дизъюнкции.
Логическую функцию, реализуемую такой сетью, можно
представить в виде
(.^х,,.... х,, хп), (4-19)
1 = 1
где fi(xi, хг, ..., хп)—функция, реализуемая i-м поро-
говым элементом входного уровня.
Очевидно, что задача синтеза такой сети сводится
к разбиению исходной функции на пороговые подфунк-
ции, дизъюнкции которых дают исходную функцию.
Пример 4-12. Требуется построить сеть вида, показанного на
рис. 4-36, реализующую функцию, заданную следующей таблицей:
х2 Хз f Xl •Ч Хз f
0 0 0 1 1 0 0 0
0 0 1 1 I 0 1 1
0 1 0 0 1 1 0 1
0 1 1 1 1 1 1 1
Дизъюнктивная нормальная форма этой функции имеет вид:
f (х,. х2, Х3) = V Х,Х2Х3 V X2X3V
V Х]Х2Х3 V XtX2X3 V Х!Х2Х3.
Эта функция не пороговая, так как она не монотонна
Находим сокращенную дизъюнктивную нормальную форму
функции
f (XjX2X3) = Xi х2 V х,х2 V xi-
Разбиваем функцию па две подфункции
I (х>. х2, х3) = fi (Xj, х2) V ft (Xi, х2, х3),
где _____
fl (Х,Х2) — X] Xg
и
f2 (Xl, X2, X3) — XiX2\/x3.
Обе эти функции пороговые. Находим структуру порогового
элемента, реализующего fi(xi, х2). Так как эта функция симме-
трична, то очевидно, что |i=^2. Выбирая |н = 1, £21=—1 и £1=0,
убеждаемся, что пороговый элемент с такой структурой реализует
фуНКЦИЮ /1(Х1, х2).
Находим структуру порогового элемента, реализующего [г(х1,
Хг, xs). Устанавливаем, что £з>|2 = |1. Выбирая §i='l, |г=1, Ь = 2 и
11 = 1, убеждаемся, что пороговый элемент с такой структурой реали-
лизует функцию fz(.xlr х2, х3).
Полученная сеть представлена па рис. 4-36.
Легко показать, что любая функция алгебры логики
может быть реализована сетью описанного вида, содер-
жащей не более 2”~1 + 1 пороговых элементов.
Определение 4-4. Мажоритарным элементом с по-
рогом т| и п входами называется элемент, описываемый
собственной функцией1
Тт = \/ V
Мы будем рассматривать мажоритарные элементы
с нечетным числом г входов. Если порог такого элемен-
та
то говорят, что данный мажоритарный элемент работает
по принципу большинства, откуда и берется название
элемента. Выходной сигнал
элемента совпадает с тем
двоичным значением, кото-
рое имеет большинство сиг-
налов на входе.
Логику таких элементов
впервые начали изучать
С. Мурога, Р. Уиджингтон
и Р. Линдеман. Они же вве-
ли в рассмотрение специаль-
ный оператор Maj (хь х2 ...,
хг). Собственная функция
y=Maj (xi, х2, ..хг)
определяет работу мажори-
тарного элемента от г входов,
работающего по принципу большинства. При этом допу-
скается возможность обратного включения некоторых
входных обмоток или другие приемы, позволяющие вме-
сто аргумента Xi подавать на вход мажоритарного эле-
мента его отрицание.
1 Функции Tt определены в § 3-6.
Поскольку работа мажоритарного элемента весьма
специфична, то следует ожидать, что синтез функцио-
нальных схем из подобных элементов, проводимый на
базе минимизации одним из способов, описанных в гл. 2,
не будет давать оптимальной схемы.
Линдеманом и Коном была предложена канониче-
ская форма представления функций алгебры логики
в случае использования для ее реализации трехвходовых
мажоритарных элементов, работающих по принципу
большинства. (В дальнейшем мы будем рассматривать
только такие элементы и называть их просто мажори-
тарными элементами.) Работа такого элемента может
быть описана с помощью следующей собственной функ-
ции:
y = Maj(x,, х2, х3)~ хух, \/ ^sV х2хз- (4-20)
Операция, которую осуществляет элемент, записыва-
ется как
Maj(x1, х, x3) = xi # х, # x3. (4-21)
Нетрудно видеть, что мажоритарный элемент рассма-
триваемого типа представляет собой частный случай
порогового элемента, когда число входов равно трем,
веса всех входов равны единице и порог равен двум.
Таким образом, техническая реализация мажоритарных
элементов оказывается еще более простой, а надежность
элементов более высокой, что является основным пре-
имуществом мажоритарных элементов перед пороговы-
ми.
Функциональная полнота мажоритарной операции
совместно с инверсией и одной из констант 1 или 0 была
показана еще Дж. фон Нейманом.
В работе Линдемана и Кона указан ряд очевидных
эквивалентных преобразований в мажоритарном базисе:
1) Х1#Х1#Х2 = ХГ,
2) Xi#xi#X2 = x2;
3) Х1#х2#Хз=Х1#Х2#х3; (4-22)
4) (Х1#х2#хз) # (Х1#х>#хз) =H=xi = Х1#х2#Хз;
5) Л4-|фх2ф^ (Х1 2-ф-Тз)
6) (Х14Нх2=Н=Хз) # (xi#x2#x4) =
# (х3фх4#х5) И т. д.
Легко видеть, что базисные операции булевой алгеб-
ры выражаются через мажоритарную операцию следую-
щим образом:
xix2=*i#*2#0; (4-23)
л, V х2 = х, # х2 # 1.
Линдеманом и Коном доказана теорема, применение
которой позволяет реализовать на мажоритарных эле-
ментах любую функцию алгебры логики. Предваритель-
но введем следующие обозначения.
Пусть дана функция f(xi, х2, .., хп) п переменных.
Выделим те наборы, где Xj = x{. Пусть на них задана
функция от п—1 переменного, совпадающая с данной
на этих наборах. Будем называть эту функцию оста-
точной по отношению к данной по подстановке .г, —Xj
и обозначать
f(Xj = Xi) =f(xi, Х2, .. ., Xi, ..., Xj-t,
Xi, Xj+l, . . ., Xn)
Выделяя наборы, где х,-=х/, точно так же образуем
остаточную функцию по подстановке Xj=xi. Обозначим
ее как
f — Xi) = f (-^1, Х2, . . ., Xi, . . ., Xj—1, Xi,
» *^n)
Теорема 4-1. Всякая функция алгебры логики
f(xi, х2, ..., хп) может быть представлена через любые
два свои аргумента Xt и х-, и остаточные функции по
подстановке Xj = Xi и по подстановке Xj = xt одним из
следующих способов-.
a) f (х„ х2,..., хп) = \Xi # Xj # f (Xj = хг)] #
# [Xf # Xj # f (Xj = Xf)] # f (Xj = Xi)-
6) f(x„ x2).... xn) = [x/#xj#/(xj=x/)] # (4 24)
#[xz#xj#f (Xj = xJ|#f (xj#xz-); |
в) f (x„ X,, .... Xn) = [Xi # Xj # f (Xj = хг)] #
# [Xi # Xj # f (Xj = X/)] # Xj.
Применив одно из преобразований типа (4-24) доста-
точным функциям f(Xj = X{) и f(Xj = xi), перейдем уже
к функциям п—2 переменных. Таким образом, на каж-
дом шаге число переменных, от которых зависят рассма-
триваемые функции, уменьшается на единицу. Последо-
вательно применяя разложение типа (4-24), в конце кон-
цов получим представление функции только через ее
аргументы и константы.
Пример 4-13. Реализовать на мажоритарных элементах функ-
циональную схему проверки кода па четность, т. е. схему, на вы-
ходе которой сигнал возникает при четном числе единиц в прове-
ряемом коде.
Собственная функция рассматриваемого устройства имеет вид:
f (Х, ’ Х3) - Х,Х2Х3 Х]Х2Х3 Х]Х2Х3У/ Х2 Хз-
Используем первое разложение из теоремы 4-1
/(x2=xi) =х3;
f(xa=.Ti) =хз;
f (X,, хг, х3) = (х, # Х2 # Х3) # (X, -# х2 #х3) # х3.
На рис. 4-37 показана соответствующая функциональная схема.
Можно использовать и другие способы последова-
тельного исключения переменных. Так, например, всякая
Рис. 4-37.
функция алгебры логики
может быть представлена в
мажоритарном базисе через
какой-либо свой аргумент xi
и остаточные функции по
подстановкам х;=1 и х,=0.
Известно, что всякую функ-
цию алгебры логики можно
представить в виде
f(x„ хг, ...,_хп) =
= M-f (Xi = 1) V Xif (^ = 0).
Тогда согласно (4-22) получим
f (Xl, Хг, . . ., Хп) = [f (Xi = 1) ф=Хг=Н=0] #
#[f (М = 0)#Т;#0]#1.
Исключая еще одну переменную х;, получим:
f(xi, х2, ..., хп) ={{[/(ху= 1,
#{{[f(M = 0, Xj=l)#x5-#0]#
# [f (Xi = о, Xj = 0) # 1 1.
Учитывая преобразование
[ (м#х2#0) # (х3#Т2#0) # 1 ] #Х4#0 =
= (Х1#Х3#0) # (х3#Х2#0) #х4,
получим:
f(Xi, Х2, .... Хп) ={[f(Xi= 1, Xj==l)#Xi#0]#
#{[f(*i = 0, Xj=l)#Xj#0]#[f(Xi = 0,
*j = O)#Xj#O] #Хг}#1. (4-25)
Сложность сетей, получаемых при синтезе методом
последовательного исключения переменных, как прави-
ло, существенно зависит от порядка, в котором исключа-
ются переменные. Эвристический метод нахождения наи-
лучшего порядка исключения переменных предложен
В. И. Варшавским и Л. Я. Розенблюмом. Суть этого
метода состоит в следующем. Используется понятие про-
изводной булевой функции, введенное нами в '§ 2-8,
fx = Xn) = f (Xi = 1 )®f (Xi = 0).
Легко видеть, что — —— является функци-
ей п—1 переменных и не зависит от xt. Весом производ-
ной p(df/dxi) называется число наборов значений пере-
менных, па которых производная принимает значение 1.
Предлагается первой исключать ту переменную, произ-
водная по которой имеет наибольший вес.
Пример 4-14. Реализовать функцию
| (х) - Х,ХдХз \/ Xj Х0Х3 \/ X,ХдХ^ \У Хз Х3Х4
на мажоритарных элементах.
Используем разложение типа (4-25). Предварительно устанав-
ливаем, какие переменные следует исключать в первую очередь:
^7 = f(xJ = i)®f(xI = o) =
- (%2^3 \/ ^2 ^3^1) СЕ) (^2 ^3 \/ ^3’^1) “^З^З ^4 \/ ^'2-^3-^4 \/ -^2^3‘
Функция df(x)/dxi имеет следующую таблицу истинности:
Х2 Х3 Л'4 д^(х) х2 Хз Х4 £М 0х,
0 0 0 1 1 0 0 0
0 0 1 0 1 0 1 1
0 1 0 0 1 1 0 1
0 1 1 0 1 1 1 1
Из этой таблицы видно, что
Точно таким же способом устанавливаем, что
Этого и следовало ожидать, так как данная функция симме-
трична относительно переменных xi п хг. Далее находим, что
Таким образом, наибольший вес имеет производная данной
функции по переменной Хз- Производим исключение переменной Хз-
Остаточные функции по подстановке фиксированных значений хз
имеют вид:
f (Х'з 1) ~ X1X3»
f (Х3 = 0) = Xj Х2 \/ XjXt \ / Х2Х3.
В соответствии с (4-23)
f(X3=l)=x1#x2#0.
В соответствии с (4-20)
f (х3 = 0)
Окончательно получаем следующее выражение, описывающее
данную функцию:
/(х) = [x3#(Xi#x2#0)#0J#
#[.Гз#(Т1#.Г2#Х1)#'0]#1.
Схема реализации данной функции представлена на рис. 4-38.
Схемы, получаемые методом последовательного
исключения переменных, как правило, неоптимальны.
Более близкие к оптимальным схемы можно получить
путем использования методов функциональной деком-
позиции. Функция f(xi, х2, ..., хп), представляется в ви-
де
f(xlt х2, ..., хп) = F[cpi(xi, ..., хп),
ф2 (Х1, . . . , Хп) , , фт (Х1, .. •, ],
причем т<п.
В случае синтеза схем в мажоритарном базисе удоб-
но выбирать функцию F соответствующей мажоритарной
операции, т. е. представлять исходную функцию в виде
/ (^Ь ^2, - • • , Хп) — ф1 (Xi, . . ., Хп) фр
#ф2 (Х1, • , хп) #фз (хь .... хп). (4-26)
Понятно, что такое представление имеет смысл лишь
в том случае, когда функции cpi, ср2 и ср3 «проще», чем
исходная функция (например, зависят существенно не
от всех аргументов Xi, х2, • • •
...,хп, симметричны, моно-
тонны и т. п.). В ряде слу-
чаев на функции cpi, ср2, ф.ч
налагаются некоторые до-
полнительные ограничения,
определяемые свойствами ре-
альных элементов (напри-
мер, ограниченной нагрузоч-
ной способностью, наличием
временной задержки и др.).
Функции ф1, фг и Срз в свою
очередь также могут быть разложены па более простые
подфункции, и так до тех пор, пока подфункции не бу-
дут представлять собой одну из переменных Xi, х2, ..., хп
или констант или же не будут реализовываться на одном
мажоритарном элементе.
Естественно, что подбор cpi, ср2 и срз, удовлетворяющий
наложенным на них ограничениям, не всегда возможен.
Выражение (4-26) можно рассматривать как уравнение,
где неизвестными являются функции cpi, <р2 и <рз. Развер-
нув это уравнение по всем наборам значений перемен-
ных Xi, х2, Хз, ..., хп, получим систему уравнений, где
неизвестными являются значения функций cpi, ср2 и <рз
на соответствующих наборах и, следовательно, неизвест-
ные могут принимать лишь два значения — 0 и 1:
aj fn
а[ # «2 * а2 — h’
а\ # (% # а] = fi,
(4-27)
а2П а2П й2П----^2”’
<G{0, 1},
где а', а2, а\ — соответственно значения функций <р,,
фг, фз, f на 1-м наборе аргументов xlt х2, ..хп.
Для того чтобы функция f(x1; х2, ..хп) допускала
представление в виде (4-26), необходимо и достаточно,
чтобы система (4-27) имела решение. Это решение опре-
деляет функции фЬ ср2 и ф3. Суть метода решения систем
логических уравнений в мажоритарном базисе состоит
в том, что в пространстве неизвестных систем (4-27)
строится вспомогательная функция С(у). Эта функция
строится следующим образом.
Введем сквозную нумерацию для неизвестных системы
(4-27), т. е. обозначим: а\=Ь., а2.=Ь„, а‘=-Ь„,а‘=-Ь.,
а2 —b. и т.д. Пусть система (4-27) имеет г неизвестных
(очевидно, что г^З-2"). В этом случае система (4-27)
будет иметь вид:
Ь, # Ьг # Ь3 = Ц;
# F. # ba = f2;
bk#bn + , #6fe+2 = jFp; (s<2n)
Рассмотрим s r-мерных векторов у1, у2, ..., уг, таких,
что
у‘=(1, 1, 1, 0, 0, 0, ..., О, 0);
у2= (О, 0, 0, 1, 1, 1, ..., О, 0);
ур=(0, 0, ..., yft=l, уА+1=1, yft+2=l, ..., о, 0);
у®= (0, 0, .... 0, 0, 0, 1, 1, 1).
Определим на этих векторах вспомогательную функ-
цию F(y), такую, что F(y?)=fp. Для того чтобы систе-
ма логических уравнений имела решение, необходимо и
достаточно, чтобы функция F(у) была пороговой с поро-
гом 2 и весами переменных, принимающими значения 0
и 1. Веса переменных при этом совпадают со значениями
соответствующих неизвестных системы.
Таким образом, для решения системы (4-27) доста-
точно построить описанным образом функцию F (у).
Установив далее, что она пороговая, найти веса пере-
менных, имея в виду, что порог равен 2, а веса могут
принимать лишь значения 0 и 1. Для этого можно вос-
пользоваться, например, методом минимизации функцио-
нала, описанным в этой книге. Несмотря на то что раз-
мерность функции F (у) очень велика, использование это-
го метода достаточно просто, так как функция F(у)
определена на очень небольшой части наборов (из об-
щего числа 2Г).
Пример 4-15. Реализовать из мажоритарных элементов функ-
цию
| (% J, X 2 , X J , Х4 ) X [XgX g X gX 3X4 \/ X ,Хg X 3 \/ X gX gX4.
Разбиваем функцию на три подфункции, каждая из которых
зависит от трех переменных:
ДХ1, Х2, Х'З, Х4)=ф1(х2, Xi, Х4)#
#<₽2(xi, Хз, Х4)#фз(Х1, Х2, Х4).
Находим функции <р4, и <₽з. Система логических уравнений
имеет вид:
# «9 # а17 = 0;
а2 # а9 #а1а = 1;
а3 #а,8 # а,, = 0;
а4 #а10 # а18 = 0;
# «п #а19 = 0;
# ^20 = 0;
а. # at. # а19 — 0;
«8 # «12 # «20
а. # а13 # а21 = 0;
# «13 #а22 = 1;
а3 # а,4 # a.,t = 1;
а4 # «14 # а, 2 = 1;
CL # а, 5 #а23 = 1;
ав # й15 # Й04 = 1;
а. #а1в # а23 = 0;
аа # «1а #а24
Таблица истинности функции имеет вид:
Х2 Х3 X, Х5 Л’е Xj Xs Х2 Х]0 Хц Х12 Х13 Х1( Х15 Х1е Х17 Х1е Х1Э Х20 Х21 х22 х23 x24 F
1 00000001 00000 0 01 000 0 000
01 0000001 000000001 000000
00 1 0000 0 01 0000001 0000000
0001000001 00000001000000
00001 000001 00000001 00000
00000100 0 010000000010000
0000001 0000 10000001 00000
00000001 0 001000 0 00010000
1 000000000001000000 0 1 000
01 0000000000100000000100
001000000000010000001000
00010000 0 00001 00000001 00
000010000000001 000000010
000001 000000001 000000001
0000001 0000000001 0000010
000000010000000010000001
о
I
о
о
о
о
о
1
1
1
1
1
1
1
о
1
В таблице указаны лишь те наборы, на которых функция F(y)
определена. Построив функционал Ap(6i, 62, ..Ьг) вида (4-17) и
минимизировав его, убеждаемся,
что он принимает нулевое значе-
ние при
а1 = аз = «4 = а7 = Д9 = (310 —
— Я13 = 017 — ^19 = <720 — ’ 0Z-2.3 — 0;
а2 ~ аь~а5 = <78 = = —
= fll5 = £Z16 = <718 = n2l = /222 = «2i= 1.
Тогда имеем следующие таб-
лицы истинности для cpi, ср2 и (рз-
Х2 *3 <Т' ^2 -^3 #4 •"'Н -"^4 ?3
0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 1 0 0 0 1 1
0 1 0 0 0 1 0 0 0 1 0 0
0 1 1 0 0 1 1 1 0 1 1 0
1 0 0 1 1 0 0 0 1 0 0 1
1 0 1 1 1 0 1 1 1 0 1 1
1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1
Отсюда легко видеть, что
ЦЧ (xi, хг, х3) =л'1#х2#Хз;
ф2 (Хг, Хз, Л) =Х2#Хз#А;
Фз(Х|, Хз, Х4) =Х1#Хз#Х4.
Схема, реализующая данную функцию /(лц, Хг. хз, xi), представ-
лена на рис. 4-39.
4-8. СИНТЕЗ ОДНОРОДНЫХ СХЕМ НА ИНТЕГРАЛЬНЫХ
МОДУЛЯХ
В этой главе были приведены краткие описания прин-
ципов работы различных реальных функциональных эле-
ментов, нашедших практическое применение. Общими
недостатками, в той или иной степени присущими раз-
ным конструкциям элементов, являются довольно боль-
шие габариты и масса, недостаточная надежность, вы-
сокая потребляемая мощность и значительная стоимость.
Принципиальные трудности, возникшие в связи с этим
при построении сложных схем, требовали создания новой
технологии изготовления электронных деталей и
устройств. Относительные успехи были достигнуты бла-
годаря использованию микромодульной техники, основой
которой явились микроминиатюризация компонентов
электронных схем и их монтаж с высокой плотностью.
Однако этот путь оказался неперспективным из-за слож-
ности автоматизации технологии изготовления микромо-
дулей и недостаточно высокой их надежности.
Решить возникающие проблемы позволяют полупро-
водниковые интегральные схемы, представляю-
щие собой кремниевую подложку, на поверхности кото-
рой в едином технологическом процессе формируются
все компоненты схемы и соединения между ними. Одно-
типность технологических процессов и оборудования спо-
собствуют резкому снижению стоимости и увеличению
надежности интегральных схем по сравнению со схема-
ми из дискретных компонентов и микромодулями. Суще-
ствующий уровень техники производства интегральных
схем позволяет выполнить в одном кристалле кремния
достаточно сложные схемы. В каждом модуле может
содержаться несколько сотен взаимосвязанных логиче-
ских элементов. Имеется тенденция к увеличению уров-
ня интеграции (числа компонентов, заключаемых в один
корпус), но вопрос о том, какие типовые схемы выгоднее
разместить в одном модуле, по-прежнему дебатируется
среди специалистов.
Наиболее технологичными из интегральных схем яв-
ляются модули из МОП (металл — окисел — полупровод-
ник)-транзисторов, сформированные на монокристалли-
ческих пластинках. Основная переключаемая схема на
МОП-транзисторах — это инвертор, изображенный па
Рис.
4-40.
рис. 4-40,а. Электроды, обозначенные на рис. 4-40,а
цифрами 1—3, называются соответственно затвором,
стоком и истоком (последние симметричны). При
подаче между затвором и истоком некоторого напряже-
ния (знак которого зависит от типа проводимости тран-
зистора, превышающего пороговое) величина тока стока
/ заметно возрастает, что дает возможность использо-
вать транзистор в ключевом режиме. В качестве нагру-
зочного резистора обычно используется другой МОП-
транзистор, на затвор которого подается напряжение
питания. Выполнение логических функций х^ V%2 и Х\Х>
обеспечивается параллельным (на общую нагрузку) и
последовательным включением транзисторов, как пока-
зано на рис. 4-40,6 и в. Это дает ключ к синтезу схем:
непосредственным соединением транзисторов в различ-
ных последовательно-параллельных комбинациях без
использования дополнительных компонент можно реали-
зовать любые логические функции.
Особенности интегральных схем оказывают сущест-
венное влияние на принципы построения и конструиро-
вания логических устройств. При этом возникают ие-
Сколько иные задачи анализа и Сийтезй й критерии опти-
мизации, нежели применяемые при проектировании элек-
тронных устройств на обычных элементах. Из-за требо-
ваний в отношении надежности, стоимости и плотности
компоновки желательно регулярное соединение одно-
типных модулей. Наилучшим способом реализации пре-
имуществ интегральной электроники является использо-
б)
Рис. 4-41.
вапие модулей в качестве элементов однородных
структур (схем).
Однородными схемами будем называть схемы, со-
ставленные из одинаковых и одинаково соединенных
модулей — например, таких, какие изображены на
рис. 4-41.
Однородные схемы (сети) могут отличаться не толь-
ко по типу используемых модулей, по также и по сле-
дующим признакам:
по типу связей. (односторонними будем называть се-
ти, у которых подача выходного сигнала (-го модуля на
вход /-го модуля исключает связь /-го модуля со входом
f-го модуля, н двусторонние — сети, в которых одна
связь предполагает наличие второй);
по размерности пространства в принятом способе
расположения модулей в сети (одномерные, обычно на-
зываемые цепочками, пример которых дан на рис. 4-4Г,а;
двумерные или решетки — рис. 4-41,6 и т. д.).
Все входы и выходы модуля, которые без наруше-
ния общности будем считать двоичными, можно разде-
лить на межмодульные (в цепочках—боковые) и внеш-
ние. На межмодульные входы модуля поступают сигна-
лы с выходов других непосредственно с ним связанных
модулей, а на крайние модули сети — сигналы извне,
которые будем называть граничными. Если число воз-
можных боковых сигналов модуля равно т, то число
двоичных входов модуля должно быть не меньше цело-
го числа, ближайшего сверху к log2/n. В некоторых слу-
чаях будем также пользоваться термином межмодуль-
ный (боковой) канал, под которым будем понимать
связь входа данного модуля с выходом другого модуля,
предполагая, что по каналу передается двоичный сиг-
пат. Остальные входы считаются внешними. Иногда
внешние входы удобно делить на информационные и на-
строечные. На информационные входы подаются двоич-
ные переменные, на настроечные — сигналы настройки
(константы), набор которых определяет режим работы
настраиваемого модуля. Будем считать также, что пере-
менные подаются на внешние входы сети одновременно.
Значения переменных при этом не изменяются в течение
некоторого времени работы. Длительность переходного
процесса зависит от ряда характеристик сети.
Нас будут интересовать лишь следующие вопросы,
возникающие при исследовании однородных сетей: ка-
кие классы булевых функций реализуются цепочками и
решетками из различных типов простых модулей; какие
конструкции цепочек и решеток являются универсаль-
ными, т. е. позволяют реализовать любые булевые функ-
ции; какова сложность реализации произвольных буле-
вых функций и функций некоторых классов; каковы ме-
тоды синтеза цепочек и решеток.
Следует заметить, что понятие функциональной пол-
ноты, обычно принятое в теории переключательных схем,
в случае однородных схем неприменимо. Дело в том,
что при синтезе пирамидальных схем элементы, образу-
ющие функционально полный базис, могут соединяться
каналами неограниченной длины и выход одного элемен-
та может быть подключен ко входу любого другого.
Иначе говоря, заданная функция представляется в виде
некоторой суперпозиции элементарных функций, реали-
зуемых базисными элементами. Однородность схем на-
кладывает ограничения на виды суперпозиции. Поэто-
му следует говорить об универсальности структуры.
Функциональная полнота набора ее элементов являет-
ся лишь необходимым условием универсальности.
Одноканальные бесповоротные цепочки
из настраиваемых модулей (каскады Майтра)
Пусть каждый модуль в цепочке, показанной на рис.
4-42, реализует любую из 10 булевых функций, сущест-
венно зависящих от двух переменных. Если допустить
возможность подачи на внешний вход как переменной,
так и ее инверсии, то, как
легко показать, можно ис-
пользовать модуль, который
реализуют лишь три логи-
ческие операции: &, V и ®
(конъюнкцию, дизъюнкцию
и сумму по модулю 2 со-
ответственно). Таким обра-
зом, в этом разделе зада-
Рис. 4-42.
чу синтеза однородных це-
почек нам удобно свести к синтезу сетей, составленных
из элементов трех типов. По имени автора, начавшего
исследования таких цепочек, они часто называются май-
тровскими каскадами. Настроечные входы модуля пока
не будем принимать во внимание, но отметим, что если
подача инверсий переменных не допускается, это можно
сделать введением дополнительного настроечного входа а:
ф аз •
Сделаем также следующее допущение: вместо посто-
янного граничного сигнала (константы) будем пода-
вать на боковой вход крайнего левого элемента одну
из переменных.
Ограничимся сначала рассмотрением одномерных се-
тей типа рис. 4-42, в которых каждая переменная
Xifl^/^n) подается только на один внешний вход эле-
мента. Исключение составляет только крайний левый
элемент, па который подаются две переменные. Такую
схему естественно назвать бесповторной. Входы схемы
могут быть упорядочены произвольно. Поведение схемы
на рис. 4-42 описывается выражением
f(Xi, ..хп) =
= fn-l(Xn, fn-2(Xn-i, fn-3 ( ... (Хз, fl(Xi, Х2)) ... ))),
где через fk обозначена функция на выходе &-го эле-
мента, причем если f существенно зависит от всех своих
переменных, то каждая из функций fk (l^ks^n—1) дол-
жна существенно зависеть от &+1 переменных.
Процедура синтеза майтровских каскадов основана
па следующей теореме и следствии из нее.
Теорема 26. Для того чтобы логическая функ-
ция f(X) —f(xlt ..., хп) допускала тривиальную де-
композицию относительно переменной Х{С <Р2(Х), рав-
ным либо (Х‘)\/Хо, либо (Х’)& Х°, либо
где х,....л-г_„ xi+1, .... хп}, X =Х* (J Х° и
А’°=хг-, необходимо и достаточно выполнять одно из
двух условий: а) одна из остаточных функций f(Xi=l)
или f(Xi = O) обращалась в константу; б) f(xi = Q) =
= /(х;=1).
Следствие 1. По значению остаточной функции
вид тривиальной декомпозиции (если она возможна)
может быть определен однозначно следующим образом:
если /(хг = 0)=0, то f = Xif (Xi==l);
если f(x3=l) = 0, то f = хф (Xi = 0);
если )(л-г- = 0) = 1, то )=хгу(Мг-= 1);
если f(x3=l)=b то f = Xi V (fxi = 0);
если f (х3 = 0) = f (хг= 1), то f = ® f = 0)
ИЛИ f = Xi^f(Xi= 1).
Синтез ведется справа палево от выхода схемы по-
следовательным исключением переменных, как это де-
лается в методе каскадов. Порядок выбора переменных
безразличен.
Пример 4-16. Логическая функция f(xt, ..., x4)=XiX3x4V
V хгх3 х4 V Х4Х2Х4 V х3х4 существенно зависит от всех четырех пе-
ременных, поскольку
/(х,= 1)^/(х;=0), l=SSis=54.
Ни одна из остаточных функций 1), 1 </<4 не обра-
щается в константу. Условие f (xt — 1)= f(xt = 0) выполняется лишь
для одной пары остаточных функций при 1=4. Таким образом, пер-
вый справа элемент будет ф. на внешний вход его должна быть
подана переменная х/,, по которой оказалась возможной тривиаль-
ная декомпозиция: f(xi, ..xt)=xi ф((х4=0). На втором этапе сле-
дует рассмотреть остаточную функцию f(xt=O) = (xi \/ х2) х3.
По виду записи можно
сразу же сообразить, что вто-
рым справа элементом будет
элемент &, на внешний вход
которого должна быть подана
переменная ,г3. Третий элемент
реализует функцию хЛ/х2.
Цепочка, представленная на
рис. 4-43, имеет собственную
функцию, рассматриваемую в
примере.
Очевидно, что не всякая логическая функция может
быть реализована цепочкой типа рис. 4-42.
Пример 4-17. В мажоритарной функции f = XiX2 \/ х,х3 \/ х2х3
ни одна из остаточных функций, полученных фиксацией перемен-
ной .Vi, не обращается в константу: f(xt = l) = х2 V х3, f(xt=O) =
= x2xs. В то же время f (xt= 1) ¥=/(xi=0). Соответствующая про-
верка по другим переменным может быть опущена вследствие сим-
метрии мажоритарной функции по всем переменным. Следователь-
но, заданная функция не реализуется одномерной бесповторной
схемой.
Схема, реализующая функцию п переменных, содер-
жит точно п—1 элемент, поэтому проблемы минимиза-
ции по числу элементов в рассматриваемом классе схем
не существует. Однако отсюда еще не следует, что реа-
лизуемой функции соответствует одна сеть. Участки
одномерной бесповторной схемы, состоящие из одноимен-
ных элементов, будем называть итеративными. По-
скольку каждая из операций V, & иф коммутативна,
то в пределах участка (но не вне него) порядок следо-
вания переменных может быть выбран произвольно. По-
этому если найдена какая-либо бесповторная сеть,
реализующая заданную функцию, все остальные сети
могут быть найдены перестановками переменных внутри
итеративных участков.
Различные вариации схемы могут быть получены при-
менениями формул де Моргана всеми возможными спо-
собами.
Остается предложить конструкцию модуля, допускаю-
щего настройку на реализацию функций уЩх, ух, у\/х.
Пусть при а = Ь = 0 реализуется; операция \/, приа=1,
Ь = 0 — &, при а = 0, Ь=1—ф, а настройка а = 6=1
запрещена. Тогда модуль (рис. 4-44,а) может иметь, на-
х а Ъ л а Ь с
ш дц
а) б)
пример, следующую собст-
венную функцию:
f = yxb \/ уха V уха.
В дальнейшем нам также
понадобится модификация
Рис. 4-44. этого модуля, позволяющая
реализовать функцию f=y
(пусть этот режим осуществляется настройкой а = Ь =
= 1), а также использовать инверсию входной перемен-
ной (для этого нужен третий настроечный вход с). Та-
кой модуль (рис. 4-44,6) имеет собственную функцию
f =--У(х^с)Ь \/ у (лфс) а\/ у(х^с)а V yab.
Каждый такой модуль вполне может быть выполнен
в одном корпусе в интегральном исполнении и использо-
ван как для реализации рассмотренного выше класса
функций, так и для класса, описываемого в следующем
разделе. Отметим также, что цепочка не более чем из
k модулей типа рис. 4-44,6 может реализовать, в част-
ности, любой минитерм ДНФ или КНФ с числом букв&.
В качестве упражнения читатель может прикинуть,
сколько МОП-транзисторов потребуется для реализа-
ции обеих модификаций модуля.
Одноканальные повторные сети
Если допустить подачу одной переменной на внеш-
ние входы нескольких модулей одпоканальных сетей,
преследуя цель расширить класс реализуемых ими функ-
ций, то, как можно доказать, в безызбыточпой сети пе-
ременные имеют смысл подавать повторно лишь па
элементы типа ф , если это не рядом стоящие элементы
и не элементы одного пли соседних итеративных участ-
ков. В противном случае реализация заведомо не будет
минимальной.
Процедура синтеза повторных сетей совпадает
с изложенной в предыдущем разделе, но включает про-
Верку выполнения еще. одного условия. Если на неко-
тором этапе выясняется, что реализация бесповторной
сетью невозможна, следует искать повторную реализа-
цию в соответствии с разложением (2-18). Из вида раз-
ложения следует, что переменную Xi можно исключить,
если одна из остаточных функций f(Xt = Q) или f(xt=l)
представима в виде суммы по модулю 2 своих перемен-
ных.
Пример 4-18. Функция f(xt, хг, х3) = хгх3\/ XjXsV х2х3, как
легко убедиться, нереализуема в классе бесповторных сетей, но по-
скольку f (х! = 0) = х1фх3, то f(x,, х2, х3) = (х1фх3)фх2(х1ф
Фхзф((*1 \/хз))- Упрощая, получаем f = х3 ф х3 (х2 \/ х3). Соот-
ветствующая сеть показана на рис. 4-45. Не представляет труда
перерисовать ее на модулях типа 4-44,6.
В то же время мажоритарная функция, очевидно, не реали-
зуется одномерной повторной сетью, поскольку ни одна из ее оста-
точных функций не представима в виде суммы своих аргументов
по модулю 2.
Доля реализуемых в повторных сетях функций (от
общего числа функций п переменных) с ростом п стре-
мится к 0, однако их чис-
ло все же больше, чем
бесповторных.
Как видно из примера
4-18, в случае повторных
сетей существует пробле-
ма минимизации. Семей-
ство сетей можно полу-
чить теми же способами,
что и в бесповторных.
Увеличение числа внешних входов и повторная пода-
ча переменных расширяет класс реализуемых однока-
нальпымп сетями функций, но не обеспечивает универ-
сальности этих сетей.
Двухканальные сети
Идея реализации произвольной логической функции,
представленной полиномом Жегалкина, на двухканаль-
ной одномерной сети из модулей типа рис. 4-46,а состо-
ит в следующем. Пусть в верхнем канале происходит
формирование члена полинома (конъюнкции), а в ниж-
нем канале к текущему значению полинома (т. е. ранее
вычисленной его части) прибавляется по модулю 2 оче-
редкое значение конъюнкции. Это легко сделать, если
fi = a\/ у.х;
Ъ = Уг®УгХа.
Как происходит в этом случае настройка элементов
цепочки, ясно из примера.
Пример 4-19. Реализация функции f (х,.х3) = x,x2x3 ф х4х3
на элементах типа рис. 4-46, а показана на рис. 4-46, б.
Максимальная длина сети, реализующей произволь-
ную функцию п переменных, равна (2,г— макси-
Рис. 4-46.
мальное число конъюнкций в полиноме Жегалкина,
п/2—-средняя длина одной конъюнкции).
Аналогично можно реализовать функции, заданные
и ОДНФ !, если в верхнем канале по-прежнему форми-
ровать импликапты, а в нижнем — текущее значение
ОДНФ. Но в этом случае нужно иметь дополнительный
настроечный вход b для получения инверсии входной
переменной. Система собственных функций соответству-
ющего модуля (рис. 4-47,а) имеет вид:
f>=a\J у^х^Ь)-,
V У^(х^Ь).
Призер 4-20. Реализация функции f(xt, .... х4) —X! \/х2 х3х3
показана на рт.с. 4-47, б.
Максимальная длина сети в этом случае равна л2п.
1 ОДНФ — ортогональная ДНФ, в которой конъюнкция любой
пары импликант равна нулю.
Минимизация числа модулей типа рис. 4-46,а и 4-47,а
в цепочках может быть достигнута за счет подачи пере-
менных на граничные боковые входы крайних модулей
(что и сделано в вышеприведенных примерах), а в не-
которых случаях — и на настроечные внешние входы а
и Ь. Кроме того, если в модуле рис. 4-46,а добавить еще
один настроечный вход для получения инверсии х, то
можно минимизировать число букв, если представить
заданную функцию в виде разложения (2-18) с инвер-
сиями переменных.
Теперь рассмотрим возможность реализации функ-
ций, представленных в скобочной форме типа произве-
х а Ъ
Рис. 4-47.
дений сумм произведений переменных и их отрицаний,
т. е. в виде
Цх., ..., хп)= (F1)(F2)...(Fm), ...\/KiP,
В записи такого скобочного выражения встречаются
символы хь, Xk, (,), V • Пусть число модулей в одно-
мерной сети, реализующей заданную функцию, равно
числу символов в скобочной форме этой функции. На
внешние входы модулей сети слева направо будем по-
давать коды символов в порядке, соответствующем по-
явлению символов в скобочной записи функции.
Покажем, как может быть найдена конструкция мо-
дуля, цепочки из которых решают поставленную задачу.
Будем считать, что по цепочке распространяются че-
тыре боковых сигнала s0, $i, s2 и $з, имеющие следую-
щий смысл. Пусть сигнал означает, что вычисленное
значение выражения (F;) равно 0; сигнал $i вырабаты-
Ьаётся в том случае, когда текущее значение вычисляе-
мой конъюнкции Kij и текущее значение дизъюнкции
конъюнкций Fi равны 0; сигнал s2 соответствует слу-
чаю, когда текущее значение Fi равно 1 (т. е. когда
одна из вычисленных ранее конъюнкций Кц равна 1);
сигнал $3 используется в том случае, если текущее зна-
чение конъюнкции Кц равно 1, но, пока еще Л = 0. Про-
цесс последовательного вычисления слева направо зна-
чения заданной функции f(xi, ..., хп), представленной
скобочной формой рассматриваемого вида, может быть
представлен в виде последовательности изменения боко-
вых сигналов. При этом боковой выходной сигнал моду-
ля является функцией от его входного бокового сигнала
и значений внешних сигналов. Будем пока считать, что
значения внешних входов модулей определяют следую-
щие режимы их настройки: «&», « V », «,» («,»)». Тогда
функционирование модуля в данной задаче может быть
описано в виде таблицы, в которой на пересечении боко-
вого входного сигнала Sj и соответствующего режима
настройки записывается значение бокового выходного
сигнала. В режиме & выходной сигнал зависит от зна-
чения входной переменной. Звездочками в таблице от-
мечены позиции, на которых боковой сигнал может быть
определен произвольно.
/5=1 1 1 .V‘
«0 So So ‘S’o So So
S] S1 S, 83 * So
s2 s2 S2 S2 * S3
8з 53 s3 8 2 S3 S3
Граничным боковым сигналом является s3, значение
вычисляемой формулы равно 1 и 0, если выходной боко-
вой сигнал крайнего правого модуля равен s3 и s0 соот-
ветственно.
Кратко поясним, как составлена таблица. Граничный
боковой сигнал s3 подается на крайний левый модуль
цепочки, находящейся в режиме «(». Тот же сигнал
будет на выходе этого модуля. На внешний вход вто-
рого модуля, работающего в режиме «&», подается пе-
ременная х*”. Если она равна 1, то на его боковом
выходе вновь появляется сигнал s3, в противном слу-
чае— сигнал Si. На боковом выходе (^ + 1)-го модуля
будет либо сигнал s3, если Ки= 1, либо сигнал sb если
для какого-либо j =
Сигналы s3 и sb достигнув входа модуля, настроен-
ного па режим « V>>, изменяются соответственно на S2
(поскольку = и s3 (7Ci = 0). Сигнал s2 без изме-
нения (поскольку Кн=1) дойдет до модуля в режиме
«)» и перейдет в s3. Сигнал s3 используется далее для
вычисления Kiz- Если Ei = 0, то боковой сигнал Si на
входе модуля в режиме «)» обеспечит па выходе сигнал
So, который всегда распространяется, не изменяясь. Да-
лее аналогично будут последовательно вычисляться F2,
F3 и т. д.
Теперь остается закодировать значения боковых и
внешних сигналов. Это может быть сделано, например,
так:
а ь с Режим Сигнал
0 0 0 х=0 ) 0 0 So
1 0 0 1 1 0 S,
0 1 0 х=1 ( & 0 1 s2
1 1 0 х=0 ) 1 1 «3
0 0 1 V
1 0 1 ). (
0 1 I 1 1 1 *
Кодировка режимов «)» и «(» совпадает, если пред-
положить, что сигналы, обозначенные в предыдущей
таблице звездочками, доопределены так же, как
в столбце «)».
Принятая кодировка показывает, что модуль имеет
два боковых канала и три внешних входа а, b и с, ис-
пользуемых как информационные, так и настроечные.
В первых четырех режимах (с = 0) значение переменной
подается на вход а, а на вход b подается 0 или 1 в за-
висимости от того, используется ли эта переменная без
инверсии или с инверсией соответственно.
После минимизации и доопределений получим сле-
дующее выражение для собственных функций искомого
модуля ( рис. 4-48,а):
Л = (eV («ФО V
А = У2 ((афб) Vc).
Граничные сигналы в цепочке у\ = у2=\, значение
скобочной формы равно 1, если на выходе крайнего пра-
вого модуля z/2=l, и рано 0 при z/2='O.
a b с
Рис. 4-48.
Пример 4-21. Реализовать на модулях типа рис. 4-48,а функцию
/ — ХЛ \_/ Х3Х5 \/ \/
Прежде всего эту функцию надо представить в скобочной фор-
ме типа произведений сумм произведений, в данном случае в виде
f = (xt \/ х3) (х,х4 \/ х5).
Число символов в ней равно И. Значит, схема должна состоять
из 11 модулей типа рис. 4-48,а. Заметим, что при реализации на
модулях типа рис. 4-47,а потребовалось бы на один модуль больше.
Разводка внешних входов показана на рис. 4-48,6. Для нагляд-
ности модули помечены символами режимов, на которые они на-
страиваются. Для двух наборов значении внешних переменных
(второй пз них указан в скобках) на схеме указаны вычисленные
значения сигналов и выходов модулей.
О. Б. Лупановым показано, что произвольная булева
функция от п переменных может быть задана скобочной
формой типа произведения сумм произведений перемен-
ных и их отрицаний с числом символов переменных и
их отрицаний, асимптотически не превышающим
2n/logn. Легко видеть, что если формула содержит d
символов переменных и их отрицаний, то она содержит
не более (d—1) символов \/ , не более (d—1) открыва-
ющих скобок и не более (d—1) закрывающих скобок,
т. е. общее число символов не превосходит 4d—3. Ис-
пользуя этот результат, получаем, что конструкция мо-
дуля типа рис. 4-48,а позволяет реализовать произволь-
ную булеву функцию от п переменных одномерной се-
•2П
тью, содержащей не более —3 комбинационных
модулей, т. е. по порядку не более 2"/logn модулей.
Полученная оценка с точностью до порядка является
минимальной, т. е. с точки зрения оценки предложен-
ная конструкция является неулучшаемой. Переход к се-
тям с памятью или к двумерным системам в смысле
оценки сложности не может привести к лучшим резуль-
татам. Однако другие конструкции модулей могут дать
определенный выигрыш либо по их числу при реализа-
ции конкретных функций, либо по времени вычисления
(в двумерных системах).
Все задачи, которые мы рассмотрели в этом разделе,
не требовали использования двусторонних сетей — в этом
не было особого смысла. В случае одномерных двусто-
ронних сетей возникают более сложные задачи. Их ра-
бота может зависеть от времени, даже если собственные
функции составляющих модулей невременные.
Двумерные универсальные сети
С точки зрения технологии более естественно (по
сравнению с одномерными) рассматривать двумерные
однородные сети: функциональные модули удобно раз-
мещать на плоскости регулярным образом, например
в узлах прямоугольной решетки. В двумерных сетях мож-
но использовать достаточно сложный рисунок межмо-
дульных связей, что повышает логические возможности
схем. Наконец, двумерные сети в некоторых случаях
более предпочтительны по быстродействию.
На рис. 4-14,а изображен феррит, с йоМоЩью которо-
го может быть реализована функция Вебба, а на
рис. 4-14,6 — дизъюнкция большого числа переменных.
Пример 4-1. Реализовать на магнитных сердечниках функцию
f (X, Хг, Х3) = Xj Хг Х3 V XjXgXg.
Соответствующая схема дана на рис. 4-15,а. Интересно отме-
тить, что скобочная МДНФ для заданной функции
f (X,, Х3, Х3) — Хз (#1 Х3 \/ Х,Х3)
реализуется гораздо сложнее (рис. 4-15,6).
Рис. 4-15.
Этот пример показывает, что обычный путь минимизации
для схем на магнитных сердечниках непригоден. Если
оценивать сложность логической схемы на ферритах чис-
лом витков обмоток, использованных при синтезе схемы,
то задачу минимизации для таких схем можно поставить
в виде задачи линейного программирования.
Работу каждого сердечника, входящего в функцио-
нальную схему, определяет некоторая функция
(4-1)
Здесь Л означает наличие или отсутствие тока в об-
мотке с номером I (Л = 0, 1), a Wt = wti—wi2, где и>ц—
число витков, намотанных по часовой стрелке, a wi2—
число витков обмотки, намотанных в противоположном
направлении. Сердечник будет реализовать некоторую
функцию алгебры логики f(Xi, х2, ..., хп), если имеет
место соотношение
f Р 1, если f = 1,
I F < 0, если f = 0.
Составляем теперь 2" неравенств:
п ( 3s 1, если f на данном наборе,
S Л(®г'1 — ®гз) ' <7И /2, ..., равна 1, (4-3)
i=1 (< 0 — в противном случае.
Путем введения фиктивных переменных г/, эта система
неравенств сводится к системе линейных алгебраических
уравнений. Ищется такое решение этой системы, при ко-
тором функция
ф = f Wil 4- f wi2 + k S Уг (4-4)
;=1 i — i i=t
достигает своего минимума. Коэффициент k является
произвольным и оценивается по ходу решения задачи.
Решение дает необходимые значения а/ц и wi2 для дан-
ного сердечника и устанавливает (с помощью фиктивных
аргументов) связь для цепочки сердечников, необходи-
мых для реализации функции f.
Конечно, такой метод решения практически неприме-
ним вручную уже при весьма скромном числе аргументов
функции (практически вручную можно решать задачу
Пусть первой исключается переменная х>. Имеем
f (х2 =- 1)-=х1(х3фх4), f(xt = 1) - хД/ (х3фх,);
f (х2 = 0) хГ(х3\/ х,).
Остаточные функции /(х2=1) п ,f(*2 = 0) реализуются, как легко
видеть, бестювторными сетями, как показано на рис. 4-50. Крайний,
слева модуль в верхнем ряду является избыточным. Возможная
минимизация решеток по числу модулей достигается варьировани-
ем порядка исключения переменных и использованием методов
функциональной декомпозиции.
Рис. 4-50.
Другим возможным подходом к реализации логиче-
ских функций в двумерных однородных сетях является
использование принципа «вложения». Методы синтеза,
развитые для различных базисов, как правило, ориенти-
рованы на построение пирамидальных схем. Получив
соответствующую схему, можно попытаться «вложить»
ее в однородную решетку с заданным рисунком меж-
модульных связей. Для того чтобы представить себе
суть возникающих здесь проблем, рассмотрим простей-
ший пример вложения.
Пример 4-23. Использование разложения (4-25) для построения
пирамидальной схемы из трехвходовых мажоритарных элементов
приводит при исключении двух переменных к рис. 4-51,а. Изобра-
женная на этом рисунке схема позволяет реалшонать любую функ-
цию трех 'переменных, если каждая из функций [(I, j) может при-
нимать одно из четырех значении: О, 1, х?„ ад. Пусть задана одно-
сторонняя решетка типа рис. 4-41,6, поведение модулей которой
Рис. 4-51.
также описывается мажоритарной функцией, а информация распро-
страняется только слева — направо и сверху — вниз. Результат вло-
жения схемы рис. 4-51,а в решетку такого типа показан на
рис. 4-51,6. Нумерация «функциональных» модулей совпадает
с принятой на рис. 4-51,а. Остальные 17 модулей не несут логиче-
ской нагрузки — они служат либо для транспортировки сигналов
(«соединительные» модули заштрихованы), либо для их блокировки
(«буферные» модули зачернены).
Приведенный пример наглядно демонстрирует боль-
шую избыточность, свойственную схемам, полученным
методом вложения. Если в пирамидальной схеме, реали-
зующей произвольную функцию п переменных, число
мажоритарных элементов равно 2"—1, то в схеме типа
рис. 4-51,6 их порядка п2п.
Лучшие результаты достигаются при применении
специальных методов, ориентированных на синтез схем
с заданной топологией и учитывающих особенности ис-
пользуемых модулей. Для сравнения на рис. 4-51,8
приведена решетка для реализации произвольной функ-
ции трех переменных. Решетка содержит 9 модулей
вместо 24 в схеме рис. 4-51,6.
Часть вторая
СИНТЕЗ И АНАЛИЗ СХЕМ, РАБОТА КОТОРЫХ
ЗАВИСИТ ОТ ВРЕМЕНИ
ГЛАВА ПЯТАЯ
ВРЕМЕННЫЕ БУЛЕВЫ ФУНКЦИИ
И СИНТЕЗ МНОГОТАКТНЫХ СХЕМ
5-1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
Рассмотрим множество векторов У? = {<_К1, х2, ...
..., Хп-и>}. Будем предполагать, что координаты
х2, ..., хп в этих векторах принимают значения 0 или 1,
а координата xn+i — любые целочисленные значения от
О до s—1 включительно. Для удобства будем в даль-
нейшем координату хп+1 обозначать буквой t и называть
временной координатой или просто временем.
Как и ранее (см. § 1-1), совокупность координат неко-
торого фиксированного вектора из 7?, представляющую
собой совокупность значений х{ и t (i=l, 2, ..., «),
будем обозначать как 7?* = <x*i, х*2, х*п, t*> и
называть набором.
Сопоставим каждому вектору из /? число 0 или 1,
т. е. произведем однозначное отображение множества А?
на множество У={0, 1}.
Определение 5-1. Временной булевой функцией
ВБФ называется функция, дающая однозначное отобра-
жение В на Y.
Теорема 5-1. Общее число различных векторов
в множестве ^В равно S-2n. Доказательство теоремы сле-
дует из оценки числа различных комбинаций значений
координат векторов В*.
Нетрудно понять, что если временная булева функ-
ция
t/=q>(xi, х2, ..., хп, t) (5-1)
зависит от времени несущественно, то она превращается
в обычную функцию алгебры логики.
Общее число различных ВБФ, зависящих от Xi,
Х2, ..., хп и t, определяется с помощью следующей тео-
ремы.
Теорема 5-2. Общее число различных временных
булевых функций вида
t/=<p(xi, х2, .... хп, t),
где
с 0^
равно 2
Доказательство этой теоремы полностью совпадает
с доказательством теоремы 1-1 для функций алгебры
логики.
Сформулированные теоремы свидетельствуют о том,
что любую ВБФ можно полностью описать с помощью
конечной таблицы.
Пример 5-1.
</=<р(хь х2, 1), 0^1^2.
В силу теоремы 5-2 имеем 3-22='12 различных наборов значений
аргументов и 212=4096 различных ВБФ, для одной из которых таб-
лица будет следующей:
Х1 t 4>(х,, х2, 0 Xj ха t 4>(X1, Ха, t)
0 0 0 0 1 0 1 1
0 1 0 1 1 1 1 1
1 0 0 0 0 0 2 0
1 1 0 0 0 1 2 0
0 0 1 0 1 0 2 1
0 1 1 1 1 1 2 0
Однако подобного рода табличная запись, хотя она
и дает наибольшую «наглядность» рассматриваемой
функции, в большинстве случаев неприменима из-за
своей громоздкости.
В самом деле, если нас интересует поведение функ-
ции, зависящей от трех переменных, для t, изменяюще-
гося от 0 до 10, то для построения таблицы потребова-
лось бы выписать 88 строк, соответствующих 88 воз-
можным наборам значений аргументов этой функции.
Поэтому для временных булевых функций подобно
функциям алгебры логики, было бы удобно ввести более
компактную и приемлемую для работы форму записи.
Рассмотрим некоторую временную булеву функцию:
г/=ф(х1, х2, хп, t), 1. (5-2)
Если дать t некоторое фиксированное значение (t=k,
где —1), то эта функция примет вид:
Ук=х2, ..., Хп). (5-3)
Функция (5-3) есть уже обычная функция алгебры
логики и может изучаться с помощью тех средств, кото-
рые рассматривались ранее. Заставляя t пробегать всю
последовательность допустимых значений, мы получим
последовательность функций алгебры логики
фО, ф1, . . . , ф'8—1.
Таким образом, любой временной булевой функции
можно сопоставить последовательность функций алгеб-
ры логики.
Пример 5-2. Для ВБФ, рассмотренной в примере 5-1, имеем:
ср0 = х1х2; j
fi = ХЛ/ Хг! / (5-4)
<f2 = XiX2- J
Для более удобной записи введем теперь специаль-
ную функцию та, определяемую соотношением
> О, i ф а;
= (1, f = а.
В новых обозначениях функция (5-1) записывается
следующим образом:
? = '?оЧ\/Т1Т1\/\/ (5-5)
Пример 5-3. Для ВБФ примера 5-1 имеем:
¥ = \/ (xt V Xthi V Х1Х2Т2.
Для функции та верны соотношения
\/ Ti 1; \/ = 0.
В первом из них дизъюнкция берется по всем I, а во
втором — по всем (=#/.
Эти два соотношения эквивалентны утверждению о
том, что в любой фиксированный момент времени t =
= a(0<a<s—1)та и только равна единице, а все
остальные т:г = 0.
5-2. СВОЙСТВА ВРЕМЕННЫХ БУЛЕВЫХ ФУНКЦИЙ
В силу результатов предыдущего параграфа любая
временная булева функция может быть представлена
в виде
? = V^iV -
где ср; (i = 0, 1, s—1) есть функция алгебры логики.
Используя тот факт, что любая функция алгебры
логики может быть представлена либо в дизъюнктив-
ной, либо в конъюнктивной совершенной нормальной
форме, дадим следующие два определения.
Определение 5-2. Если во временной булевой
функции ¥ = V (Pi'ci V все ФуНКЦии ft
(i = 0, 1, ..., s—1) представлены в ДСНФ, то соответст-
вующее выражение для ф называется дизъюнктивной
совершенной нормальной формой временной булевой
функции ф.
Если во временной булевой функции Д — V'Pi'hV
V [все. 'функции <рДг = О, 1, ..., s—1)
представлены в ДСНФ, то соответствующее выражение
для ф называется конъюнктивной совершенной нормаль-
ной формой временной булевой функции ф.
Из этих определений и соответствующих теорем для
функций алгебры логики вытекает следующая теорема.
Теорема 5-2. Любая временная булева функция
может быть представлена в ДСНФ или ДСНФ.
Пример 5-4. Записать в ДСНФ и КСНФ следующую временную
булеву функцию.
Ха Хз t Хз Хз, t) Xi Ха Хз t 4>(х,. Хз, Хз, t)
о 0 0 0 0 0 0 0 1 1
6 0 1 0 0 0 0 1 1 1
0 1 0 0 0 0 1 0 1 1
0 1 1 0 1 0 1 1 1 1
1 0 0 0 1 1 0 0 1 0
1 0 1 0 1 1 0 1 1 0
1 1 0 0 0 1 1 0 1 0
1 1 1 0 0 1 1 1 1 1
Составляем ДСНФ и КСНФ для <р0 и cpi:
¥0--Х1Х2Х3 \/ Хз \/ X1X2X3J
9о = (Xt \/ х2 V х3) (X, V Х2 V Хз) (хЛ/ Х2 V х3) &
& (X1 \/ Х2 V Х3) (Xj \/ х2 \/ х3);
<Pi = Х,Х2 Х3 \/ XjX2X3 \/ Х]Х2Х3 \/ Х,Х2Х3 \/ Х]Х2Х3,
== (Xi \/ Х2 \/ Хз) (Xi \/ Х2 \/ Х3) (Xi \ Х2 \/ Хз).
После этого запишем ДСНФ и КСНФ данной временной булевой
функции <р:
<р = (XiX2X3 \/ XiX2 Х3 \/ Х1Х2Х3) т0 \/
\/ (X 1 Х2Х3 \/ X, Х2Х3 \/ XiX2X3 \/ Х]Х2Х3 \/ XiX2X3) Tj,
Т = [(Xl V х2 V Х3) (Xt V Х2 \/ Хз) (X, V Х2 V Хз) (X, V х2 V Хз) &
& (Xi V Х2 \/ Х3)] т0 \/ [(Хх \/ Х2 \/Х3) (Xi \/ Х2 \/ Х3) (Х1 \/ х2 \/ Х3)]тР
В силу вышесказанного ясно, что задача минимиза-
ции временных булевых функций может быть решена
с помощью средств, подобных тем, какие рассматрива-
лись для случая минимизации функций алгебры логики.
Пример 5-5. Рассмотрим следующую функцию <р(хь х2. О-
Xl xs t 9(xi, xt, t) Xl x? t !f(X,, x2, t)
0 0 0 1 0 0 1 1
0 1 0 1 0 1 1 1
1 0 0 1 1 0 1 0
1 1 0 1 1 1 1 0
Согласно определению 6-1 .получим ДСНФ этой функции:
<р = (Xi Х2 \/ Х3Х2 \/ Х,Х2 \/ XiX2) V (Xi Х2 \/ XiX2)tj.
Составим для этой функции общее выражение с помощью неоп-
ределенных коэффициентов:
<f(Xj, x2, t) = KjX! V К^х2 \/ KJxi \/ К^,х2 \/ K^Xi х2 V
\/ КjgXiX2 \/ К|2-Х1Х2 \/ К|2% 1Х2 \/ LqIq \J
\/ ^i^X^q \/ Lj^X^d Z.|jX1T1 \/ 1цХ|Ч| \/ Z.2qX2t0 \/
\/ V ^21X2^1 \/ ^21X2^1 \/ ^'123X1 Х2т0 \/ Л|2()Х1Х2т0 \/
123Х 1Х2ТО \/ |2)Х iX2Tq \ / Z. |2jX, Х2Т, \ / A J2|X iX2"2j \/
V ^'121X1X2^-1 \/ i]21XiXaTi-
Переходим к системе уравнений дтя данной функции:
' <р (0, 0, 0) = К? V Ki V <2 V ^0 \/ L°n \/ L°21 \J Щ - 1;
НО, о, i) = K]vKivK]ivi.Vi?iV4Viiii = i;
но. 1. о) = к°\/ k'vK°ivc,v4iv43v4io = i;
но. 1. 1) = к? v к* v K?i v м v 4i v 4i v 4г1 = 1;
' hi, о. о) = к\ v к^ \/ к;°2 v ' / 43 v 4j v ^iso =1
hi . о, 1) = к; - / к} \/ к],' v V 4j v 4i v 4ii = °;
ни 1. о) = к* v 4 v к}2 \/ а» v 40 \/ 4о v 4L =1;
ни и i) = K;vKi\/Kliv^v4iv4ivC = °-
Приравнивая нулю коэффициенты, стоящие в уравнениях с нуле-
вой правой частью, получаем:
' к? V К?2° V Ъ V 4о' / 4о v 4i3= 1 ;
k'vk°2°\/4,7 4^1 = 1;
Ki \/ К]2 \/ uvuov 4о v 420= 1 ’
K°\/K°iv4iV4ii = i;
V 4о ^20 V ^12) = 1 >
^0 V 4о V ^20 V ^12) ~ ' •
Минимальная форма имеет вид « (хь х2, t) = хх\/ т„-
Из приведенного примера видно, что минимизация
в случае временных булевых функций достаточно гро-
моздка и при числе переменных х более трех или при
большом количестве допустимых значений t затрудни-
тельна. В подобных случаях можно проводить неполную
минимизацию. Неполная минимизация проводится сле-
дующим образом. Пусть ДСНФ временной булевой
функции ф имеет вид:
? = V'Mi V - V'Ps-t^s-p
Находим по обычным правилам МДНФ для фв,
фЬ ..., ф5-1 и за приближенное минимальное выражение
для ф берем:
где ф‘< — МДНФ функции ф>< (t = 0, 1, ..., s—1). При
большом (s—1) и малом количестве аргументов х
в функциях ф7 такой метод достаточно продуктивен.
Пример 5-6.. Применяя метод неполной минимизации для функ-
ции примера 5-5, получаем:
?о — X) Х2 \/ Х|Х2 \/ XjX2 \/ Х]Х2 —
= X, (Х2 '•/ Хг) V Х1 (Х2 \/ Х2) = X; \/ х, = 1;
<f, = X, Х2 \/ Х,Х2 = Х1 (Х2 \/ Х2) = Х1-
За неполную минимальную форму принимаем выражение
V = Ч V x,t,.
Пример 5-7. Теперь применим метод неполной минимизации для
временной булевой функции примера 5-4:
?о = Х1Х2Хз \/ х,х2 (х3 \/ Хд) — XiX2x3 \/ х^;
¥1 = х,х2 (Х3 V Хз) V Х,Х2 (Хз V Хз) V Х1Х2Х3 =
= х, (Х2 V Х2) V Х1Х2Х3 ~ X, V Х1Х2Х3 = Х1 V х2х3.
Неполная минимальная форма для <р запишется в виде следую-
щего выражения:
= (Х!Х2Х3 \/ X, х2) \/ (Xi \/ х2х3) тР
Пример 5-8. Найдем неполную минимальную форму для следую-
щей временной булевой функции:
х, ха t х2, t) Xj Х2 t 1р(х,, ха. i)
ООО 0 0 0 2 0
0 1 0 1 0 1 2 1
1 0 0 1 1 0 2 1
1 1 0 0 1 1 2 0
0 0 1 0 0 0 3 1
0 1 1 0 0 1 3 1
1 0 1 1 1 0 3 1
1 1 1 1 1 1 3 0
Выписываем ДСНФ для функций <р0, <Pi, фг и ф3:
<Ро == XjX2 \/ XjX2; yi = Х]Х2 \/ х3х2;
<р2 = XjX2 V Xj х2; <р3 = Xj х2 Х/ял V XiX2.
После минимизации каждой из этих функций получим:
<?0 = xtx2 \/ Xi х2; ?! = х,; у2 = xtx2 V *1Х2; ?3 = V *г-
В результате получаем минимальную формулу для ф:
у ~ (XiX2 \/ Х,Х2) т0 \/ XjTj \/ (Х|Х2 \/ Xj Х2) т2 \/ (Xj \/ Х2) т3.
Будем говорить, что ВБФ является периодической
с периодом q, если для любого t имеет место соотно-
шение
Ф(+<7 = Фг. (5-6)
При табличной форме задания периодических вре-
менных булевых функций достаточно иметь в таблице
q строк и соотношение (5-6). Другими словами, для
периодических ВБФ можно считать, что величина t не
ограничена сверху. Это последнее обстоятельство чрез-
вычайно важно для задач анализа и синтеза схем,
работа которых описывается с помощью временных
булевых функций. Рассмотрим несколько примеров пе-
риодических временных булевых функций.
Пример 5-9. Имеем <p(xi, хг, t), 0^/< + оо.
Xi Xi t 9(-Ч. ха, t)
ООО 0
0 1 0 0
1 0 0 0
1 1 0 1
0 0 1 0
0 J 1 1
1 0 1 [
1 1 1 I
Xt x2 t 9(Xi, xa, t)
0 0 2 0
0 1 2 0
1 0 2 0
1 1 2 1
0 0 3 0
0 1 3 1
1 0 3 1
1 1 3 1
Из рассмотрения таблиц» вытекает, что
«,л(х1, x2) = XiX2, k = 0, 1...;
Т2К+1 (Xi, Х2) — V Х2 , k = 0, 1...
Период функции (₽ равен двум.
Пример 5-10. Рассмотрим функцию
V — \/ \/ Х3т3 \/ XjX2X3t3 \/ \/ Х2Т5
Эта функция не является периодической, так как она определена
лишь для 1^5. Однако мы можем произвольным образом доопреде-
лить ее для />5. Если это доопределение будет подходящим образом
выполнено, то получим периодическую временную функцию. В нашем
случае наиболее естественно получить периодическую ВБФ с перио-
дом, равным четырем:
х2, *8) =Х1, 6 = 0,1...;
¥тк+1 (Xj, Х2, Х3) х2, k 0, 1 ... ;
94к + 2 (Xj, X 2, X 3) = X3 , k 0, 1 ... J
^4й+з(Х1> Х2, X,) — - X,Х2Х8, k 0, 1 ...
Пример 5-11.
f = х,х2ч V Ti V *2^3 \/ (*i V А) Ч-
Эта функция может быть доопределена до периодической с пе-
риодом, равным пяти:
Tsh (Xi, Х2) ==%1%г, 6 = 0, 1 ..
?5Л+1(%1, х2) = I, й = 0, I ...
? 5Й+ 2 (X j , Х2) = 0, Л = 0, 1 ..
Cf5h+3(X1> х2) = х2, k = o, 1 ..
Х2) = Х,,\/Х2, Ь = 0, 1 ..
Следствие. Любая временная функция ср(х4,
х2, хп, t), —1, может быть доопределена до
периодической временной булевой функции с периодом,
большим чем s—1.
5-3. СИНТЕЗ И АНАЛ1ИЗ СХЕМ
С ПОМОЩЬЮ ВРЕМЕННЫХ БУЛЕВЫХ ФУНКЦИЙ
Рассмотрим некоторое устройство (рис. 5-1), требо-
вания к работе которого таковы, что при подаче на его
вход некоторого набора значений входных сигналов на
его выходе появляется во времени выходная двоичная
последовательность длины г. При этом значения вход-
ных переменных сохраняются неизменными во время
получения всей выходной последовательности. Ясно, что
работу такого устройства можно описать с помощью
временной булевой функции.
<£= V V - V Тг-зТг-.,
где фг определяет i-ю компоненту в необходимой выход-
ной последовательности.
Однако при преобразовании устройства таким обра-
зом оно превращается в (п, г)-полюсник, и задача син-
теза такого устройства сводится к задаче синтеза, рас-
смотренной нами в § 3-4.
Но можно рассмотреть другой тип многотактного
устройства. Время в нем независимо от появления или
непоявления наборов остальных входных аргументов.
Поэтому приход на вход устройства некоторого конкрет-
ного набора <х*ь х*2, , х*п> происходит не обяза-
тельно в начальный момент времени ti, который харак-
теризует определенное состояние устройства. Действие
Входного набора прекращается со сменой значений t
или может сохраняться на протяжении некоторого за-
ранее не фиксированного числа временных интервалов.
Именно в таких схемах появляется прямая зависи-
мость значений выходных сигналов от времени поступ-
ления входных сигналов.
К рассмотрению задач, свя-
занных с анализом и синте-
зом подобных схем, мы и пе-
реходим.
Будем рассматривать во-
просы анализа и синтеза
схем, работа которых описы-
вается периодическими бу-
левыми функциями вида
Рассмотрим сначала за-
дачу синтеза. Так как функ-
ции фо, ф1, • ., фв-1 явля-
ются обычными функциями
X, _______
Рис. 5-2.
Рис. 5-1.
алгебры логики, то синтез схемы по функции ср сводится
к нахождению функциональных схем для функций сро,
cpi, ..., cps-j и устройству, включающему в момент t = i
схему, реализующую функцию ср,-. Общая принципиаль-
ная схема для получения функции ср дана на рис. 5-2.
Переключатель П на схеме поочередно включает схемы,
реализующие функции <р0, cpi, ..., <ps-i. Через s пере-
ключений цикл повторяется. За единицу времени (ча-
стота переключения переключателя П) может быть при-
нята любая величина. В качестве такой единицы часто
выбирают физическое время выполнения одного такта
работы в машине. До начала синтеза необходимо мини-
мизировать данную временную булеву функцию, при-
меняя либо методы полной минимизации, либо метод
приближенной минимизации, рассмотренный в предыду-
щем параграфе. Если после этого в минимизированной
функции появятся члены, не содержащие та, то это
означает, что схемы, реализующие эти члены, соединены
с выходом синтезируемой общей схемы непосредствен-
но, минуя переключатель.
Если в минимальной форме временной булевой функ-
ции появятся члены, состоящие только из та, то это
означает, что в момент времени t = a на выход синтези-
руемой схемы подается постоянная величина, сопостав-
ляемая единице.
Пример 5-12. Функциональная схема для ВБФ примера 5-7 изо-
бражена на рис. 5-3.
Интересно отметить, что метод минимизации, изло-
женный в предыдущем параграфе, позволяет выделять
в схеме, реализующей данную ВБФ, цепи, не зависящие
от времени.
Пример 5-13. Произвести анализ функциональной схемы, изобра-
женной на рис. 5-4. Последовательно получаем:
?о = *1*2 V х3;
¥ 1 ~~ Х2Х3>
?2 = х2 \/ xtx2x3;
Окончательно
¥ = (Х1%2 V *з) "» V Х2Х3Т1 V (%2 V XjXsXs) т2 V т3.
Рассмотрим теперь использование аппарата ВБФ
для решения задачи синтеза (п, т)-полюсников. Пусть
имеется (п, т)-полюсник, работа которого определяет-
ся системой собственных функций:
Z/o = ?o(^l> -^2, •••, ^п);
= х,, •••> хп);
Ут - 1 СРгп - 1 (xi, х2, ” хп). J
Пусть т = 2г. Если это не так, то добавим недостаю-
щие выходы, которые будут моделировать функции,
совпадающие с константой пуль. Введем, следуя
А. Д. Закревскому, двоичные параметрические перемен-
ные £i, ^2, , Zr и функцию
Ф(*1, Х2, . . . , Хп, £1, £2, • • • , Sr) =
т—1 г п. И}
= V ], (5-7)
1=0 й=1 л
где aft (i) — значение в А-м разряде двоичного кода нату-
Л,(‘)
рального числа t; 5 определяется следующим образом:
* М0 = о.
(5-8)
Тогда, если имеет место равенство
= (5-9)
k=\ к
то справедливо равенство
Ф(Х1, Хг, ..., Хп, gl, §2, • • , Sr) = фг (*1, Х2, ..., Хп) .
(5-Ю)
Отсюда вытекает следующая теорема.
Теорема 5-4. Функция (5-7) эквивалентна исход
ной системе собственных функций, так как совпадавi
с любой на наборе <gi, g2, •••, Sr>, определяемо.^
с помощью соотношения (5 9).
Функция Ф(xi, хг, ..., хп, ti, |2, •••, tr) есть собст-
венная функция [(п + г), 1]-полюсника. Пусть gi, £2,
задаются с помощью соответствующих значений в раз-
рядах двоичного счетчика, считывающего по модулю 2Г
подаваемые на его вход тактовые импульсы. Пусть
<Xi, Хг, .... х„> сохраняют свое значение в течение
тактов, совпадающих с периодом работы счетчика. При
этом значения всех функций фо, ф1..фш-i будут вы-
даны схемой последовательно за т тактов. Значение до-
будет выдаваться тогда, когда на счетчике будет стоять
число, равное i.
Общий вид схемы совпадает со схемой, показанной
на рис. 5-2. Переключатель П реализуется как двоич-
ный счетчик с tn положениями (рис. 5-5) и дешифратор,
управляющий открытием схем типа И. На рис. 5-5
DC обозначает генератор стандартных импульсов.
глава Шестая
РЕКУРРЕНТНЫЕ БУЛЕВЫ ФУНКЦИЙ
6-1. ОБЩИЕ ОПРЕДЕЛЕНИЯ
Будем рассматривать некоторую функцию <р, завися-
щую от времени. Через yt будем обозначать значение
этой функции в момент времени t аналогично тому, как
это делалось для ВБФ. Предположим, что yt может
принимать значения 0 или 1.
Рассмотрим множество векторов
<Э = {<Хщ Хаь xnt, yt-i, yt-k>}, (6-1)
координаты которых принимают значения 0 или 1.
Набором будем называть фиксированный вектор из
множества Q, где Q* = <x*i/, ..., x*nt, y*t-i, ..., y*t-h>-
отображение векторов из Q
на множество У = {0, 1}.
Определение 6-1.
Функция, дающая однознач-
ное отображение множества
Q на множество У, называ-
ется рекуррентной булевой
функцией первого рода
(РБФ-1).
Рекуррентная булева
функция первого рода в наи-
более общей форме может
быть записана следующим
образом:
yt = q(xn, .. •, Xnt,
yt-t, ..., yt-k). (6-2)
В этом соотношении k
может иметь значение от 1
до t.
В частности, если k = t,
Произведем однозначное
б)
Рис. 6-1.
то в число аргументов вхо-
дит значение у0, совпадающее с значением yt в начале
процесса (при t = 0). В дальнейшем всегда будем счи-
тать, что это начальное значение является заданным.
Таким образом,
Уо = а; ) (6-3)
У1 = <? (Х>Ь -Xnt, yt-г, ..., yt-k), J
где « = {0, 1}.
При определении значений yt, для которых i<k,
среди аргументов <р будут получаться значения функ-
ции, определяемые в отрицательные моменты времени.
Во всех случаях будем считать, что для любого /<0
имеется равенство yt = yo-
Окончательно получим следующее соотношение, опре-
деляющее рекуррентную булеву функцию первого рода:
z/t = a, /<0;
= xnt, yt.,. .... />0.
Физически эта собственная функция реализуется
в виде схем с п входами и k линиями обратной связи
(рис. 6-1,а).
Определение 6-2. Рекуррентная булева функция
первого рода, не зависящая от аргументов xit (i=l,
2, ..., п), называется вырожденной рекуррентной буле-
вой функцией первого рода (ВРБФ-1).
ВРБФ-1 задается следующим соотношением:
z/t = a, t<0;
yt = 4(yt-i, yt-2, yt-k), t>0.
Физически в схеме, соответствующей собственной
функции (6-4), отсутствуют внешние входы (рис. 6-1,6).
Рассмотрим ряд примеров.
Пример 6-1.
Уо = 0;
yt = yt-i V ’•
Ясно, что данная ВРБФ-1 может быть определена соотношением
r/=0, yt = l (/=!, 2 ...).
Пример 6-2.
1 уо = 0;
I yt = »it v yt-,-
Рассмотрим несколько первых значений этой функции:
t/j = Xj 1V у о ==5 Хц V 0 -^i 1;
У 2 ~ ^12 V У\ == ^11 V ^12»
^/з = Xi з V У — X] 1 \/ X12V ^13 •
Отсюда получаем Для любого t‘.
t
yt = V Xlm.
Пример 6-3. Имеем следующую схему задания функции:
У о = 1;
yt = (Xlt V X2t) Vt - 1 V XitVi - 2*
Подсчитаем несколько первых значений функции ср:
У1 — (Xll V ^21) Ун \/ ХН\У - 1 •
Напомним, что Уи при любом k совпадает с уа- Тогда получим:
У1 = Хц \/ Х21 V Х21 — Xll V Х2О
Ун = (Х12 V Х2н) У1 V ХНнУй = (#12 V ^22) (^11 V Х12) \/ Х22
и т. д.
Рассмотрим теперь наборы следующего вида:
= X*2i, X*ni, X*1(t_1), ...
X'-'T’ X'-'T’
..., X .......... X t(t_r), X t(t_r), X a(t _r), ..., X n(t-r)^,‘
(6-5)
В этих наборах соответствует значению /-го
входного аргумента в момент времени t—i. При этом
Xj(i-i) равно либо 0, либо 1.
Определение 6-3. Функция, дающая однознач-
ное отображение множества О на множество У={0, 1},
называется рекуррентной булевой функцией второго ро-
да (РБФ-2).
Пример 6-4.
yt — X\t \/ X2tX2 U - 1).
Пусть па вход устройства, реализующего функцию, подаются по-
следовательности следующего вида:
{Xlf} = 0, 1, 0, 1, 0, 1, 0... ;
{x2f} = 0, 0, 0, 1, 1, 1, 0...
Тогда
r/o = OVO-O = O;
(/, = 1 VO-0=1;
</2 = 0V0-0 = 0;
(/3 = 1V1-O=1;
Ун = 0 V 1 • 1 = 1
и т. д.
Пример 6-5.
yt =х1(,-1) v X,t.
Пусть входная последовательность имеет вид:
{xif}=0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0...
На выходе в соответствующие моменты времени будут появлять-
ся следующие значения функции:
{«/4=0, 1, 1, 1, '1, 1, о, 1, 1, 1, 1, 1...
Рассмотрим множество векторов
• ••> • ••, -^n(t-i), •••
• ••, -^i((_r). -^n(t-r), yt-i> Dt-k^>}- (^"6)
В конкретных наборах величины г и k могут прини-
мать следующие значения:
г=1, 2, ..., t\
k=0, 1, 2, t.
Векторы из (6-6) представляют собой объединение век-
торов из tj и Q. Получим определение, обобщающее оп-
ределения 6-2 и 6-3.
Определение 6-4. Функция, дающая однознач-
ное отображение множества Т в множество У = {0, 1},
называется рекуррентной булевой функцией (РБФ).
Пример 6-6.
{/о=В
i/f =
{Xii} =0, 0, 0, 0, 1, О, 0,0, 0, 1...
Имеем:
Щ = Хц{/о V х10 = 0-1 V0 = 0;
{/г = xl2i/i V»ii = О-о V 0 = 0;
Уз = x13i/2 V Х12 = 0-0 \/ 0 = 0;
У4 = х13{/3 V Х13 = 0-0 V ° = 0;
{/5 = X \зУц \/ Х34 — 1*0 V 0 = 0;
{/о = х33{/3 \/ Xis = 0• 0 \ / 1 = 1
и т. д.
Пример 6-7. Дана система рекуррентных булевых функций:
{/ю =
Узо',= 0;
Узо = 1;
у it= Хц у/ Хц\/ у2 (t -1);
Угг = Хц{/2 (t -1) V Уз (t-a)>
У зг = УзЦ-МзЦ-РМ Уг (t-i).
Вычислим несколько первых значений функций
Ун, У21, Уз1-
Пусть
{х1(}=0, 1, 0, 1, 0...
Тогда имеем для /=1
.Ухх= Ян V Узй — 0;
Ун = хцу^оV^i(_ ) = °;
Уз1 ” УюУзо V Уго — 0;
для t = 2
для t — 3
t/i2 — х12 \/ y2i — 1;
z/22 = Xiai/ai \/ Ун —
Узз = Уз^Узз V Узз = 0;
Ун = ^1з V У22 — 0;
У 23 Х'АзУзй \/ УзЗ —
Узз — У12У32 \/ У 22 = 1
и Т. д.
6-2. АНАЛИЗ И СИНТЕЗ СХЕМ, ОПИСЫВАЕМЫХ РБФ-2
В этом параграфе будем рассматривать схемы, рабо-
та которых может быть описана с помощью рекуррент-
ной булевой функции второго рода (РБФ-2):
//; = ф(Х1Ц %2t, •••, Xnt, Xl(f-l), %2(t-l), •••
• . • , Xn(t-t), • • • , Xl[t—r), . • . , Xn(t—г))*
Введем следующую замену переменных:
•Xii — 1) — ^n + б •••, A-i(t— r)—
•Xst — •X2(t -1) = ^n + a> •••> ^rn + 2> (6-7)
~Xnt — ^n, ~Xn(t-1) — •••! -^n(f-r) — ^rn + n*
Тогда наша функция yt примет вид:
У — ф(Щ» V2, Vn, Vn+l, Vrn+n)
(6-8)
Так как аргументы xyt-j) принимают значения либо 0,
либо 1, то функция у, определенная с помощью равен-
ства (6-8), есть обычная функция алгебры логики.
Совокупность соотношений (6-7) и (6-8) определяет
полностью нашу функцию yt. Вопросы синтеза и анализа
схем, описываемых функциями вида (6-8), мы уже рас-
сматривали. В связи с этим для решения задачи син-
теза и анализа для функции yt нам еще остается рас-
смотреть синтез соотношений (6-7). Для этого рассмот-
рим следующую простейшую функцию:
= (6-9)
Уравнение (6-9) описывает схему, у которой выход-
ной сигнал в некоторый момент времени t равен вход-
ному сигналу, поступившему на эту схему в момент
времени (^=1). Другими словами, входная величина
должна задерживаться в этой схеме на некоторую «еди-
ницу времени». Эта единица времени может быть любой
и не обязана совпадать с физической единицей времени.
Схемы, отрабатывающие функцию (6-9), получили в тех-
нике название однотактных линий задержки. Эти схемы
могут быть весьма различны по своей природе и способу
работы. В настоящее время применяются индуктивные,
акустические, магнитострикционные и другие линии за-
держки. В частности, в качестве линий задержки могут
быть использованы электромагнитные или электронные
реле.
Независимо от физической реализации однотактной
линии задержки в функциональных схемах мы их будем
обозначать так, как это показано на рис. 6-2,а. Если
требуется получить задержку не на один такт, а на
k тактов, т. е. требуется реализовать функцию
yt = Xt(t-k), (6-10)
то такой элемент задержки можно получить либо после-
довательным соединением k однотактных элементов за-
держки (рис. 6-2,6), либо используя специальное уст-
ройство й-тактной задержки. Схемное изображение
fe-тактной линии задержки дано на рис. 6-2,в.
Таким образом, возвращаясь к уравнению (6-8),
можно теперь утверждать, что любая рекуррентная
булева функция второго рода реализуется с помощью
линий задержки и набора функциональных элементов,
реализующих обычные функции алгебры логики.
Пример 6-8. Построить функциональную схему, реализующую
следующую собственную функцию:
У — Xi Ц _ i) V XjjXit V (t- г)-
Делаем замену переменных:
у, = xlt; v3 = Xi ((_i);
У2 = %2t» У4 ~ ^2 (t - 2)>
У = V3 V «А V
Входные аргументы *i и х2 подаются на вход схемы в виде
двоичных временных последовательностей. Для получения аргумен-
тов v3 и щ применяются линии задержки. Общая функциональная
схема дана на рис. 6-3.
Рис. 6-2.
Если мы имеем схему с
задержками внутри, между
ее элементами, то в ряде
случаев бывает удобно пре^
образовать ее к эквивалентной схеме, в которой все
задержки вынесены на вход схемы. Если исходная схе-
ма одновыходная и представляет собой дерево, то такую
операцию всегда можно осуществить. Для этого необ-
ходимо выделить все пути в дереве и просуммировать
задержки, имеющиеся для каждого из путей. В экви-
валентной схеме надо взять столько входов, сколько
путей было в исходной схеме, и поставить на' каждом
из этих входов соответствующую задержку. Структура
эквивалентной схемы при этом будет совпадать со струк-
турой исходной схемы. Если же исходная схема пред-
ставляет собой не чистое дерево, а некоторую произ-
вольную структуру, в которой нет цепей обратной связи,
то процесс построения эквивалентной схемы с задерж-
ками на входе несколько усложняется. Некоторые эле-
менты исходной схемы надо предварительно «размно-
Рис. 6-4.
Жить» и превратить ее в деревообразную схему, а после
этого воспользоваться предыдущим приемом. При нали-
чии в схеме цепей обратной связи вынесение задержек
описываемую с помощью РБФ-2. Выделим на этой схеме все пути,
ведущие от выхода к входу, и определяем суммарную задержку на
каждом из путей. Получаем схему, показанную на рис. 6-4,6. РБФ-2,
соответствующая этой схеме:
У = (х2 (f- ч+n)) V хз It- (l + n))) (х2 (t- h' + h + n)) V
V У * * * * Х1 (t - _(t +n))) V x2 (t— (m + з)) V x3
С помощью простых схем, работа которых описыва-
ется РБФ-2, можно реализовать многие важные для
практики устройства. Для примера на рис. 6-5 показаны
три простые схемы такого типа. Соответствующие вре-
менные диаграммы, показывающие зависимость выход-
ного сигнала от входного, даны на рис. 6-6. Схема, по-
казанная на рис. 6-5,а, удлиняет любой импульс на
г тактов (рис. 6-6,а). Остальные две схемы укорачивают
любой импульс длительностью больше г на г тактов.
Отличие их состоит в том, что схема, показанная на
рис. 6-5,6, сдвигает начало импульса на г тактов и уко-
рачивает его (рис. 6-6,5),
рис. 6-5,в, производит это
укорачивание без сдвига на-
чала импульса (рис. 6-6,в).
Импульсы, длина которых
меньше г, не вызывают еди-
ничного сигнала на выходе
этих схем.
При использовании схем
подобного типа могут воз-
никать некоторые трудно-
сти, связанные с наличием
всплесков и провалов в исходном импульсе, длитель-
ность которых во времени меньше г. На рис. 6-7 пока-
зано, что при работе схемы, данной на рис. 6-5,5, на
выходе могут появиться два провала при наличии во
входном импульсе провала, длительность которого q
меньше г. В гл. 7 мы исследуем это явление более по-
дробно, а в § 6-7 укажем на другую реализацию схем,
выполняющих удлинение и укорачивание импульсов, не
дающих паразитных провалов и всплесков.
6-3. АНАЛИЗ И СИНТЕЗ СХЕМ, ОПИСЫВАЕМЫХ ВРБФ-1
Рассмотрим задачи анализа и синтеза схем, работа
которых задается системой собственных функций вида:
f/i(t+D = ?,(«/!(, y2i, f/st, ...|
•••, •••, ys(t-R));
Z/a(t+i) Z/at> •••> IJst’ ZA(t-i)>
yi(t-k), Z/sft-fc)); (6-И)
J/stt+i) =?syit, y2t, •••> У st, У1(1-1), •••
•••> Z/i(t-R)» •••> ys(i-k))-
В силу определения (6-1) все функции, определяемые
этой системой, есть вырожденные рекуррентные булевы
функции первого рода. Для описания работы схемы
t помощью системы собственных функций (6-1) к урав-
нению этой системы необходимо добавить начальные
значения:
0.0 = ^;
f/го ^2>
yso = as-
(6-12)
Общий вид принципиальной схемы с системой соб-
ственных функций вида (6-11) дан на рис. 6-8.
Рассмотрим случай, когда функции <рг в системе
(6-11) зависят только от аргументов yit, y2t, у st',
У^+^ЫуЛ, У^ f/st);
f/2(t-t-l) =?2 (f/.t. f/2b У St)',
У s(i + i) =r ?s(y it’ y^t. У si)
при начальных условиях
=
t/2o = «2;
(6-1 )
yso = as-)
Схемы с системой собственных функций (6-13),
(6-14) носят название автономных конечных автоматов'.
Они являются частным случаем конечных автоматов,
которые мы определили с помощью определения В-2.
Определение 6-5. Назовем состоянием АКА в мо-
мент времени t+ 1 набор
Yt+i = Ун, , y«t>.
При заданной системе (6-13) вся работа АКА опре-
деляется заданием его состояния при /=1, т. е, на-
бором
<ZHi, аг, ,.,, а8>,
Работу любого АКА можно задать в виде таблицы,
позволяющей по заданным значениям находить значе-
ния
Ущ+Р, У2(1+Л), . , . ,
Пример 6-10. Зададим АКА с помощью следующей таблицы:
A(t+l )^2<t +1 )^з(* +1) ^l(t+1 + l)A(t+1)
ООО 0 0 1 0 1 0 0 1 0 1 0 1 11 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0
Пример 6-11. Записать в ДСНФ функции примера 6-10:
1/1 (t +1) — У it УаУи \/ У чУнУзг \/ УмУа У st V УмУыУзР,
Уз (t+1) = У it VstVst V УиУи Ун V УаУз/Уи \/
\/ УмУн Уз/ \/ У и У zt У st V УнУмУзо
Уз (t + i) ~ УчУнУи \j УнУнУзг V УнУнУзг V УнУ^Узо
Синтез схем АКА сводится к задаче синтеза схем, описываемых
функциями алгебры логики, и синтезированию обратных связей, по-
казанных на рис. 6-8.
Пример 6-12. Начертить функциональную схему для АКА из при-
мера 6-10. ДСНФ для этой таблицы получена нами в примере 6-11.
1 Сокращенно вместо названия «автономный конечный автомат»
будем писать АКА.
Эти функции минимизируем с помощью метода неопределенных ко-
эффициентов:
’ 1. 1);
№ V 4 V К°3 V КЦ V №°3 V *23 V = /(1.1.0);
к} v v v v к|| у 4з v ^12з = f (1.0.1);
к\ V К°2 V К°з V V ^!з V v Л'$ = f (1. °- 0);
K?V^VK|VK?|VK?|vxUVA^ = f(0.1, 1);
v v ^з v у -Кв v *23 v-C = f (0.1.0);
К? V к°2 у К3 < к°° V КТз V V = f (О, О, 1);
К° V V К°з V V Л?з V V К?2°з = f (0. О, 0).
Из этой системы для y-itt+i) гполучаем:
К1 = ^=Х| = К?=^=^--=0;
ft-U _ „11 _ „11 _ „10 „10 _ „01 „01 _ n.
Л12 — Л13— -К23 — А13 = а23 — А12 — А13 — и.
^ = ^з = ^з = °;
izlll_ izllO_ «-ОН _ izOOO_л.
A123 — А12з — A123 — Л123 “ и»
I ^VKHV^VK^l-.
izOlO 1.
Л123 — 1,
Кгз\/К12з^ 1;
откуда имеем:
i/i(t+i) = УиУи V УаУи V УиУиУз1‘
Для уг (f+1) из исходной системы получаем:
^^ = ^^ = KJ = ^°=^ = ^з0=0.
ifП__ izlO_ «40_ «-00_ R-01_ izOl — л.
А12— А13 = Д23 = Л12 — Л13— Л23 “ и*
izOOl- л.
А123 — А 123 = w(
^13 V K23 \/ ^123 = 1 ’
к1В VKJIV к}2| = 1;
К^\/К^\/К^=1;
' ^V^V^ = i;
^VK?3°V/<?23 = i;
K?3VKSvC = l.
Из этой системы лолучйМ:
y^it + i) — УнУз1 V f/atf/st V УиУп-
Наконец, для y3(f+1) из исходной системы [уравнений получим:
к; = К2 = К| = К? = К2 = Кз = 0;
1/00 _ 1/ОО _ R-OO__ _ izll _ izll _ izlO _ Г1Э Г,ю д-01 п.
А 12 — Л13 — Л23 — Л12 — А13 — Д2з — Д12 А13 — К2з — Д23 = О,
izOOO_ izlll ___. ь-ПО_ ,zl01 Л.
А 123 — А123 — А123 — А123 ~ и>
Г х-100 _ ].
А123 ~ 1.
rrOl , / izOl izOl 1 1.
I Д12\/А13= Д123= 1;
I
| K?lv*?2°l = i;
Имеем:
i/s(t + i) — УпУиУи V УнУм V УнУзг-
Несколько преобразуем полученные функции
Уз (t+i) — Уъз (i/it V Узз) V УгзУъзУз^
У% (t + i) = УзлУзз \/(УззУзз\/ УззУзз*
•Уз (t+i) ~ Узз(.У23 \/ Узз} V PitPatPst-
Функциональная схема АКА, 'построенная на основании этой си-
стемы собственных функций, приведена на рис. 6-9,а.
Теперь вернемся к таблице работы этой схемы, данной в приме-
ре 6-10, и проанализируем работу схемы во времени. Состояние схе-
мы в начальный момент (при 1=1) и задано и равно <0, 0, 1>. По
этому состоянию на выходах схемы при 1=1 появятся сигналы, соот-
ветствующие набору <1, 0, 1>, которые после прохождения линий
задержки станут состоянием схемы при t=2. По этим состояниям при
1=2 на выходах появится набор <1, 1, 0>, который после линий за-
держки превратится в состояние схемы при 1=3 и т. д. Диаграмма
работы этой схемы дана на рис. 6-9,6. На этом рисунке маленькими
кружками обозначены состояния схемы в данный момент времени.
Сами состояния написаны около каждого из кружков. Начальное со-
стояние заштриховано. Переход из состояния в состояние показан
стрелками. Из рисунка видно, что после попадания схемы в состояние
<1, 1, 1> начинается циклический переход схемы поочередно в со-
стояния <0, 1, 0> и <1, 1, 1>. Если в качестве начального состоя-
ния задать состояние <0, 0, 0>, то ничего нового мы не получим,
так как все эти состояния уже используются при начальном состоя-
нии <0, 0, 1>. В случае начального состояния <1, 0, 0> схема пе-
реходит на первом этапе работы в состояние <1, 1, 1> (пунктирная
стрелка на рис. 6-9,6) и таким образом попадает на цикл <1, 1, 1>—
—<0, 1, 0>. Если за начальное состояние взять состояние <0, 1,1>,
то в силу заданной таблицы работы АКА будет все время выполнять
вырожденный цикл работы <0, 1, 1>—<0, 1, 1>.
6'9 3Md
Пример 6-13. Произвести анализ работы АКА, данного на
рис. 6-10,а: _
У1 (t + i) — yttl/at \/ yzt't
У211+1) — y^t {.y^t \/ y^t) \/ У2(г
Уз (t + i) =
По этой системе строим таблицу работы АКА:
'• ltV2ty3t yi(t +1 )^2<t +l)ys(t + 1) ^fV2t^t
0 0 0 0 0 1 1 0 0 1 1 1
0 0 1 0 0 0 1 0 1 0 0 0
0 1 0 1 1 0 1 1 0 1 1 0
0 1 1 1 1 0 1 1 1 1 1 0
Исследуем работу этой схемы при различных начальных состоя-
ниях. Начальные состояния <0, 0, 0> и <0, 0, 1> приводят нас
Рис. 6-10.
к циклу <0, 0, 0> — <0,0, 1>, остальные начальные состояния
приводят к вырожденному циклу <1, 1, 0>—<1, 1, 0>. Диаграмма
переходов дана на рис. 6-10,6.
Вернемся к системе функций (6-11).
Определение 6-6. Состоянием схемы в момент
времени t+ 1 называется набор
Yt+i = <yit, • • , У st, ypt-t), • • •, ys(t-i),
, yt(t-k), • • , l/s(t—fe)> •
Нетрудно видеть, что это определение сводит задачу
исследования схем, описываемых системой собственных
функций вида (6-11), к исследованию соответствующей
схемы АКА.
Пример 6-14. Начертить функциональную схему со следующей
системой собственных функций:
l/i (t+i)= УиУх (t-1) V 1/2 (t -1)’>
1/2 (t+l)=J/l(t-l) !/211/2 lt-1)-
Составляем таблицу работы по заданным собственным функциям
i'lt y2t y2(t-l) ^ilt + i) ^(t+i) Jlit
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 1 1 0 0
0 0 1 1 0 0 0 0
0 1 0 0 1 0 0 1
0 1 0 1 0 0 0 1
0 1 1 0 1 0 0 1
0 1 1 1 1 0 0 1
1 0 0 0 1 0 1 0
1 0 0 1 0 0 1 0
1 0 1 0 1 1 1 0
1 0 1 1 0 0 1 0
1 1 0 0 1 0 1 1
1 1 0 1 0 0 1 1
1 1 1 0 1 0 1 1
1 1 1 1 1 0 1 1
В этой таблице слева указано состояние схемы в момент времени
1+1 (т. е. набор <ум, y2t, yut-i}, l/2(t-i)), а справа—состояние схе-
мы в момент времени 1 + 2, которому соответствует набор <г/щ+1)>
l/2<i+i). Уи, l/2t>. Аргумент уи является фиктивным в момент време-
ни i+1, но используется в момент времени 1 + 2. Функциональная
схема с данной системой собственных функций приведена на
ряс. 6-11,а.
На рис. 6-11,6 приведена диаграмма переходов для рассматри-
ваемой схемы при начальных состояниях <1, 1,1, 1> и <0, 1,0, 1>.
Из приведенных примеров легко видеть, что для схем, описываемых
системой собственных функций вида (6-Г1), справедливо следующее
утверждение.
Теорема 6-1. Работа любой схемы, имеющей в ка-
честве собственных функций систему вида (6-11), носит
периодический характер и полностью определяется на-
чальным состоянием схемы и видом срг- в системе (6-11).
Будем рассматривать бесконечные двоичные после-
довательности
«1, «2...аг ... (6-15)
Предположим, что для любого t члены этой после-
довательности удовлетворяют соотношению
Такие последовательности будем называть перио-
дическими с периодом q. Устройство, на вы-
ходе которого получается такая последовательность,
называется датчиком периодического двоич-
ного кода.
Подобные устройства широко применяются в совре-
менных системах автоматики, телеуправления и при
конструировании различных устройств вычислительной
техники.
Из теоремы 6-1 следует, что работа датчиков перио-
дических двоичных кодов описывается системой функций
вида (6-11). Поэтому при синтезе таких датчиков мож-
но использовать результаты, полученные нами при изу-
чении свойств ВРБФ-1. При этом полезно придержи-
ваться следующего порядка операций при синтезе дат-
чика:
1) определение периода данной последовательности;
2) определение необходимого числа компонент на-
бора состояний;
3) построение диаграммы переходов;
4) построение таблицы ВРБФ-1;
5) переход к аналитической записи ВРБФ-1;
6) минимизация;
7) построение функциональной схемы.
6-4. ЛОГИЧЕСКИЙ АНАЛИЗ РАБОТЫ ТРИГГЕРНОЙ ЯЧЕЙКИ
Прежде чем перейти к рассмотрению вопросов ана-
лиза и синтеза схем, описываемых системой собствен-
ных функций, состоящей из рекуррентных булевых
функций первого рода, мы рассмотрим подробно работу
функционального устройства, которое для дальнейших
исследований будет играть весьма важную роль. Рас-
смотрим схему, приведенную на рис. 6-12. Эта схема
обладает способностью находиться в течение неограни-
ченного времени в одном из двух возможных устойчи-
вых состояний, которые будем условно называть нуле-
вым и единичным.
Первое устойчивое состояние характеризуется про-
водящим левым транзистором и запертым правым.
Второе устойчивое состояние возникает при проводяшем
правом транзисторе и запертом левом. Для перехода из
первого устойчивого состояния во второе необходимо
подать положительный импульс на левый транзистор.
Подача положительного импульса происходит лиШь
в тот момент, когда сигнал w, от генератора стандарт-
ных сигналов меняет свое значение с 1 на 0. Например,
при w=l, xlt=l и Хгг = 0 левый конденсатор заряжен
по отношению к общей точке отрицательно, а правый
конденсатор вообще не заряжен. Когда w меняет свое
значение с 1 на 0, на нижней обкладке левого конден-
Рис. 6-12.
сатора потенциал мгновенно станет равным нулю и ле-
вый транзистор запрется. Схема перейдет при этом
в другое устойчивое состояние. Необходимым условием
работы схемы, показанной на рис. 6-12, является недо-
пустимость одновременного обращения в 1 xit и x2t
в момент прекращения импульса от генератора.
Построим теперь собственную функцию для такой
схемы. Будем говорить, что в момент времени t схема
находится в состоянии 1, если yt = l, и в состоянии 0,
если г/г = О. Таблица работы схемы имеет следующий
вид:
хп X2t ^-1 «t xlt X2t Vt
0 0 0 0 1 0 0 1
0 0 1 1 1 0 1 1
0 1 0 0 1 1 0 *
0 1 1 0 1 1 1 *
Звездочками здесь отмечены недопустимые комби-
нации. Если комбинацию <1, 1, 0> доопределить нулем,
а комбинацию <1, 1, 1> — единицей, то после упроще-
ния ДСНФ для данной функции мы получим:
yt+i i)^2(t+i) V yt V
V -^з(1+1)У4 = •^i(t+i)'^2(t+i) V (^(t-n) V (6-16a)
Если же доопределить указанные две комбинации
соответственно единицей и нулем, то мы получим сле-
дующую собственную функцию:
У1+1 —^2(t+i)yt V у и
(6-166)
Определение 6-7. Схема, имеющая своей собст-
венной функцией функцию, определяемую соотношением
6-16а, называется двухвходовым триггером типа SR,
а схема, имеющая своей собственной функцией функ-
цию, определяемую соотно-
шением 6-166 — двухвходо-
вым триггером типа JK.
Отметим, что физическая
реализация триггера типа
JK несколько отличается от
схемы триггера типа S/?,
показанной на рис. 6-12.
Для триггера типа JK допу-
стима одновременная пода-
ча единичных сигналов на
входы Х1Ц+1) и %2(г+1). При
этом триггер меняет свое
устойчивое положение. На рис. 6-13 приведена функцио-
нальная схема, эквивалентная триггеру типа JR. Анало-
гично может быть построена и функциональная схема
для триггера типа
Транзисторная реализация триггера совершенно не
обязательна. Триггер можно реализовать, используя
разнообразные современные средства электроники и
микроэлектроники.
Оба входа триггера можно объединить в один и по-
лучить триггер со счетным входом (триггер
типа Т), работа которого определяется следующей таб-
лицей;
xi(t+i>vt »t+i
0 0 0 1 0 i
0 1 1 i i 0
или /t+i —V yt- (6-17)
Определение 6-8. Схема, работа которой описы-
вается с помощью собственной функции вида (6-17),
называется одновходовым триггером или триггером со
счетным входом.
Физическая реализация как одновходового триггера,
так и двухвходового может быть весьма различной.
При использовании триггеров в различных дискрет-
ных устройствах часто бывает необходимо получать
выходной сигнал при переходе триггера из одного со-
стояния в другое. Очевидно, что условие появления
такого сигнала для случая перехода триггера из еди-<
ничного состояния в нулевое для двухвходового тригге-
ра имеет вид:
21Ц+1) = ytXmt+ц- (6-18)
Для одновходового триггера подобное же соотноше-
ние выглядит следующим образом:
Zyt+l} = ytXyt+p.
(6-19)
Условием появления сигнала при переходе триггера
из нулевого состояния в единичное является обращение
в единицу функции, определяемой соотношением
Z2(t+l) = Z/tXl(f+l)-
(6-20)
Это соотношение справедливо как для двухвходово-
го, так и для одновходового триггера.
6-5. АНАЛИЗ И СИНТЕЗ СХЕМ, ОПИСЫВАЕМЫХ РБФ-1
В этом параграфе мы рассмотрим задачи, связанные
с вопросами анализа и синтеза схем, работа которых
задается системой собственных функций следующего
вида. (-^i<t+ib •••> //и, • ••
yki, > У1 (t-11), ys(t-k)',
//2(t + l) = ?2 + Xn(t + l),. У it , •••
•••> yst, •••> //i(t-ft), • //s(t-ft);
//s!t + i) == Ts (•^1(1 + 1), •••> -^nft + i), //it, •••
•••, yst, , //i(t-ft), •••, //S(t-ft);
2l(t+l) = Ф1 (-^l(t + l), •••, -^nft + l), //it, •••
•••, yst..............//l(t-ft), //s(t-ft);
23(i+i) — Фа (-^ilt + i), •••> -^n(t + i), //it,
..., yst, //i(t_k), • //S(i-ft>;
2r(t + l) фг ('>'-l(t + l ), •••, -^71(1+1), //it, •••
— Л//ь*..... //i(t-ft), •••> //s(t-k))- ‘
Здесь первые s уравнений характеризуют внутреннее
состояние схемы, а последние г уравнений характеризуют
Рис. 6-14.
выходные значения схемы.
Общий вид схемы с подроб-
ной системой собственных
функций дан на рис. 6-14.
Из сравнения его с рис. 6-4
вытекает, что схема, зада-
ваемая системой вырожден-
ных рекуррентных булевых
функций первого рода, яв-
ляется наиболее простым
случаем схемы, данной на
рис. 6-14.
Для схем с системой соб-
ственных функций вида
(6-21) введем важное поня-
тие состояния схемы в мо-
мент времени /+1. Мы оп-
ределим это понятие анало-
гично тому, как это было
сделано в § 6-3.
Определение 6-9. Со-
стоянием схемы, описывае-
мой системой собственных
функций вида (6-21), в мо-
мент времени t + 1 назы-
вается двоичный набор
yt+i=(y*it, •••, У*st, У*щ-п, - y*s(t-i), •••
. y*s(t--k)-
Выход схемы в момент /+1 (т. е. значения функций
2ц1+ц, ..., гг(ж)) полностью определяется состоянием
схемы и значениями входных аргументов в этот момент
времени. Рассмотрим более подробно частный случай
системы (6-21). Положим & = 0; тогда система собствен-
ных функций примет следующий вид:
У1(1 + \) + •••> + Ун........ Ул),
y2(t+i) = (-£i(t+i)> •••, -£n(t+i)> Уа.. 1/sf);
i/s(t + i) = ?s(хщ +i)> •••> Pit, ys\)', (6-22)
Zi(t+1) = <I'1(x1(t+1), ..., x„((+1), ylt, ..., ysi);
4- 1) <p2 (•£) (t +1), •••, + У1/, •••> yst),
Zr(t+i) Фг + i)> Xn(t + i'), Уа, yst). J
Согласно определению 6-9 набор <уц, угг, ..., yst>
задает состояние подобной схемы в момент времени
£+1. Введем следующие обозначения:
Xt = (Xit, х,(, ..., xni)\ '
= y2t.............. yst);
Zf — (z,f, Z,t, ..., Zrf).
Тогда уравнения принимают вид:
yt+1 = 0(Xf+1, у(); 1
Zt+1 = T(Xf+1, rf). J
Из соотношений (6-22) или из эквивалентных им со-
отношений (6-24) вытекает, что состояние схемы в мо-
мент времени Z-j-1 и значение входа в тот же момент
времени полностью определяют выход схемы в момент
времени Z-I-1 и состояние схемы в момент времени t + 2.
Сформулируем одно важное утверждение.
Теорема 6-2. Любая схема с системой собствен-
ных функций вида (6-22) может быть реализована с по-
мощью элементов НЕ, И, ИЛИ и триггеров.
(6-23)
(6-24)
Доказательство этой теоремы весьма несложно.
Легко видеть, что для любой функции алгебры логики
имеет место следующее равенство:
<?_(х, Хк_х, хк, хк+1, хп) =
== Хк(? (х,, ..., xk_t, О, Xfc+), хп)\/
\/хк<р(х„ Хк_1, 1, xft+1, Хп).
В то же время, как было показано в § 6-4, уравне-
ние, описывающее работу двухвходового триггера,
имеет вид:
yt+I= 'x2[i+i)yt \/xl(t+l)yt. (6-25)
Положим в j-м уравнении системы (t=l, 2, s):
+ (-Xilt + i), , Xn(t + i), yxt, •••
•> У(г-1)Ь 6> y(z’ + i)t> •••> //si)! (6 26)
•^2(t+l)==^ (-^Ht + i), •••, У1Ь ••• I
•••> L f/(z’+i)i, > ysl)- j
Тогда i-e уравнение примет вид:
Уг({ + 1)=УгЧ-’С1^ + 1) V У^Л2(< + 1) •
Таким образом, первое уравнение системы (6-24)
требует для своей реализации s триггеров.
Вместо двухвходовых триггеров можно использовать
одновходовые триггеры. В этом случае в первых s урав-
нениях системы надо сделать следующую замену:
+ i == Ун <Pz(-^i(t4-1)» •••> -^n(t+i)> У16 •••
•••> У(2-1)Ь 0» У(г + 1)1> Ун) V
V Уг1?г (*!(«+!).. Xn(t + i), y.t, ... /6’27)
•••»{/(<-!)> 1, У(г’+1) t> ••• > i/st)>
i = 1, 2, ..., S.
Тогда t-e уравнение системы может быть переписано
в следующем виде:
yi(t + i)z==Xf + ^ yt Xf + j yt.
Полученное уравнение есть уравнение одновходо-
вого триггера. Уравнения, определяющие величины
z2(f+i), ..., 2щ+1), реализуются обычным образом
без применения триггеров. Теорема доказана.
Пример 6-15. Начертить функциональную схему, работа которой
задается следующей системой собственных функций:
У1 (t+i) = ^i(tV ^2 (t+i)‘>
• Уг (t+i) = У-it \/ Уи>
.zi(f+i) = Уц\/*i(t+i>-
Используя соотношения (6-26), получаем:
( (f+D = %2 (t+i);
j x2 (i + 1) = X1 (t + i) V (t + iK
Y2 — I’
x2 (/ + 1) ~ *>
. (t+v>= Ун-
Тогда данную систему уравнений можно 'переписать в следую-
щем виде:
I + — xz(t +1) V\t\/ (хЛг + i) V ^2(t+i)) Ун<
1 Уъ (t + i) = Ун \/ УнУи'г
I г1 t+ i) —Ун \/ (t+ !>•
Соответствующая функциональная схема приведена на рис. 6-15,а.
При необходимости использования одновходовых триггеров к исход-
ной системе функций надо применять подстановку (6-26):
xt + \ = Учх2 (t +1) V Ун (*i (t+1) V ^2 (t+ i)) — У-, txs (t+i) V
V Унх1 (f + i) x2 (f + i)l
X"t + I — УггУн V fe’O — УнУн-
При этом данная система принимает вид:
У\t+i = (Унхг (t+1) V Унх1 (t + i) х2 и+i) Ун V
V (!/lf^2 (t + i) V Унх1 (t + l) Х2 (f +1)) Унг
У2 (t + i) = УнУиУн V УиУиУгй
Z1 (f+l) V2t V Х1 (f + 1)-
Соответствующая схема дана на рис. 6-1’5,б. На этих рисунках
приведены стандартные обозначения триггеров типа JK и Т.
6-6. КОНЕЧНЫЕ АВТОМАТЫ С ПАМЯТЬЮ
Рассмотрим устройство с п входами и г выходами.
Входом устройства в момент времени t будем называть
двоичный набор
Xt= <Xit, X2t, ..., Xnt>, (6-28)
в котором компонента Хц характеризует значение пере-
менной xt, поступившее на вход устройства в (-м такте
его работы (в момент времени /). Выходом устройства
назовем двоичный набор
Zt = <C^tt, z2t, ..., zri>, (6-29)
в котором компонента zit характеризует значение пере-
менной Zi, появившееся на выходе устройства в t-м. так-
те его работы. Наконец, состоянием в момент времени t
мы будем называть двоичный набор вида
Yt= <!/«, Ун, . . . , Ут1>. (6-30)
Перенумеруем все входы, выходы и состояния.
Очевидно, что если в качестве номера набора брать
его двоичный эквивалент, то все входы, выходы и со-
стояния рассматриваемого устройства перенумерованы
номерами от 0 до 2«—1 включительно, где q = n для вхо-
дов, q = r для выходов и q = m для состояний. Составим
теперь две таблицы следующего вида:
Состояния
о
1
2"— 1 '
Элемент этой таблицы, стоящий на пересечении
г-й строки и /-го столбца, обозначим через ац. В первой
таблице, называемой таблицей переходов, эле-
мент ац совпадает с номером состояния, в которое
переходит наше устройство в том случае, если в момент
времени /+1 оно находилось в состоянии с номером /
и на вход устройства поступил набор значений входных
переменных с номером i. Во второй таблице, называе-
мой таблицей выходов (или таблицей реакций),,
на месте элемента ац стоит номер выхода, который ха-
рактеризует выходные значения устройства, находяще-
гося в состоянии с номером /, и на вход которого подан
набор значений переменных с номером I.
Определение 6-10. Устройство, работа которого
задается с помощью таблиц переходов и выходов, назы-
вается конечным автоматом с памятью.
Нетрудно установить эквивалентность определений
В-2 и 6-10. И в том и в другом случае речь идет об
устройстве, работа которого зависит не только от того,
что поступило на его вход в данный момент времени,
но и от предыстории этого.
Конечный автомат, задаваемый парой таблиц (табли-
цей переходов и таблицей выходов), часто называют
автоматом Мили.
Если выход автомата не зависит от того, что подано
на его вход, а определяется лишь состоянием автомата,
то такой конечный автомат называют автоматом
Мура. Для автомата Мура таблица выходов превра-
щается в таблицу, состоящую из одной строки (все
строки таблицы выходов для автомата Мура идентичны).
Пример 6-16. Проанализировать работу автомата Мили, задйййе-
мого с помощью следующих таблиц переходов и выходов:
Входы Состояния Входы Состояния
0 1 2 3 0 1 2 3
0 3 3 3 3 0 0 1 1 0
1 2 2 2 0 1 0 0 0 0
2 1 1 2 0 2 0 0 1 1
3 3 3 3 1 3 0 1 1 1
Из этих таблиц вытекает, что автомат имеет два входа, Ьдин
выход и число компонент набора состояний также равно двум. Пусть
на вход автомата подается входная последовательность периодиче-
ского вида
2, 2, 3, 0, 2, 2, 3, 0, 2, 2...
Если за начальное состояние автомата взять состояние 0, то по-
лучим следующую выходную последовательность:
О, 0, 1, 0, 1, 0, 1, 0, 1, 0. . .
При этом смена состояний автомата будет происходить следую-
щим образом:
О, 1, 1, 3, 3, О, 1, 3, 3, О, 1...
Если же, например, начальным состоянием автомата было со-
стояние с номером 2, то при той же входной последовательности по-
следовательность смены состояний автомата имеет следующий вид:
2, 2, 2, 3, 3, 0, 1, 3, 3, 0, 1...
Последовательность выходов — соответственно
1, 1, 1, 0, 1, 0, 1, 0, 1, 0, ...
Таким образом, можно проанализировать работу конечного авто-
мата для данной входной последовательности.
Преобразуем таблицы задания автомата к следующей, привычной
для нас форме:
Входы Состояния Состояния
*1 (f + l) *2(f + l) . . • *л(^ + 1) Уц • • ymt УХ (i + 1) У2 (f + 1) • • ym(t + \>
0 0. . . 0 0 0 . . . 0
0 0 . . . 1 0 0 . . . 0
1 1 . . . 1 1 1. . . 1
Входы Состояния Выходы
*1 (*ч И) *2 (/ + !)-• хп («+1), «и ^2t ' * ' vmt , Z1 (f + l) я=2 (f+l) - • (f + l)
0 0. . . 0 0 0. . . 1 1 1 . . . 1 00... 0 00... 0 1 1. . . 1
Пример 6-17. Преобразовать таблицы задания автомата из при-
мера 6-16.
Новая форма задания автомата выглядит в виде следующих
двух таблиц:
Входы Состояния Выходы
•И (/ + 1) *2(/ + l) «м y2t Z1 (1 + 1)
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
Входы Состояния Выходы
И (*4-1) *2 (/4-1) Ум 02t Z1 (1+1)
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Входы Состояния Состояния
*1 (1 + 1) х2 (1 + 1) Ум Ум У1 (1+1) 112(1 + 1)
0 0 0 0 1 1
0 0 0 1 1 1
0 0 1 0 1 1
0 0 1 1 1 1
0 1 0 0 1 0
0 1 0 1 1 0
0 1 1 0 1 0
0 1 1 1 0 0
1 0 0 0 0 1
1 0 0 1 0 1
1 0 1 0 1 0
1 0 1 1 0 0
1 1 0 0 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 0 1
По этим таблицам можно яаписать аналитическое выражение
для функций переходов и выходов. На рис. 6-16 показаны области Tt
для функций Ук1+1), У2(1+1) и определяемые вышеприведенны-
ми таблицами. Соответствующие МДНФ для этих функций имеют
вид:
Hi (t+i) = (xi (t+1) V хг (t+i) V Ум Ум V Л2 (t + i) Ум V
V xl (t+l) X2 (t + 1y,
Уг (t + i) = xi (f+ i) X2 (f+ i) V xi (t +1) (x2 (t+i) V Hit)
и
zi м+i 1 = xi (t+i) (Ум \/ хг (t+ i) Ум) V xi (f+ i) хг (t+1) &
& Q/it Ум \/ УмУм)
Рис. 6-16.
Если в общем виде для любого конечного автомата
Проделать переход от его табличного задания к анали-
тическому заданию функции переходов и функции вы-
ходов, то мы получим систему собственных функций
автомата в следующей общей форме:
У1Ч + 1) ---?i(-^i(t + i), •••, -£n(t + i)> {/it, •••> Umt)',
+ + •••, -^n(t + i), {/it, •••>
{/m(f + i) ?m(A(t+i)i •••> -^-n(t + i), {/it,
21(t + l) = Ф1 .... -^n(l + i), {/if,
(6-31)
•••, Dmt)j
• {/mt)i
Zr(t + 1) — 'KfAtt + i), •••, -*m(t + i), У tit •••, У mt) )
Рис. 6-17.
или в Векторной форме!
П+1 = Ф(^+1, Yt)-, 1
Zt+1 = T(Xt+11 Kt). J
(6-32)
Сравнивая между собой (6-24) и (6-26), с одной сто-
роны, и (6-31) и (6-32), с другой стороны, мы видим, что
эти соотношения совпадают. Таким образом, верно сле-
дующее утверждение.
Теорема 6-3. Любой конечный автомат полностью
описывается системой РБФ-1 вида (6-31).
Эта теорема сводит задачу анализа и синтеза конеч-
ных автоматов к задаче анализа и синтеза схем, работа
которых описывается с помощью РБФ-1.
Пример 6-18. Начертить функциональную схему для конечного
автомата примера 6-16.
Используя МНДФ для функций и выхода этого автомата, полу-
ченных в примере 6-17, получаем функциональную схему, изображен-
ную на рис. 6-17.
Синтез конечного автомата путем сведения этой за-
дачи к задаче синтеза системы функций типа РБФ-1
становится весьма громоздким и малоэффективным при
числе компонент состояний и входов, в сумме превы-
шающем пять. Поэтому весьма желателен синтез конеч-
ного автомата непосредственно по таблице переходов
и таблице выходов автомата. В настоящее время рядом
авторов предложены различные методы такого синтеза.
Читатели, интересующиеся этими методами, отсылаются
к литературе, указанной к данной главе в конце книги.
6-7. ПРИМЕРЫ СИНТЕЗА КОНЕЧНЫХ АВТОМАТОВ
Рассмотрим синтез некоторых конечных автоматов,
которые широко применяются при построении различ-
ных узлов и устройств в современной вычислительной
технике и автоматике.
Сумматор последовательного действия
В качестве первого примера рассмотрим работу уст-
ройства известного под названием сумматора последо-
вательного действия. Это устройство должно осущест-
влять операцию сложения двух двоичных чисел х± и хг.
А-ail -^22 >
А-гп-
В отличие от сумматора параллельного действия,
работа которого подробно разбиралась в гл. 3, сумма-
тор последовательного действия имеет в своем составе
только одну одноразрядную суммирующую схему Si.
На соответствующие входы этой схемы подаются числа
Xi и хг, начиная с младших разрядов. На выходе фор-
мируется последовательность — сумма
z-----z>; z2;...;zn; z = x,-|-x2.
Так как операция сложения происходит поразрядно,
то на каждом шаге работы необходимо помнить значе-
ние переноса из младшего разряда. Операция сложения
в некотором i-м разряде (г = 1, 2, ..., п) в общем виде
задается следующей системой собственных функций:
А = ?1(-«1Й xti,
Zi = Фх Хгг, Pi_,) =Xli^X3i^Pi_1.
Здесь pt означает перенос из i-ro разряда в (1-Ь1)-й,
a pi-i — перенос в i-й разряд из (г—1)-го.
Система функций, полу-
ченная нами, есть система
вида (6-31). Таким обра-
зом, сумматор последова-
тельного действия является
конечным автоматом. Роль t
здесь играет индекс i. Схема
имеет два состояния (отсут-
ствие и наличие переноса из
младшего разряда) и один
Рис. 6-18.
выход. Отсюда таблица-переходов и выходов имеет вид:
Входы
Состояния
0 I 1
Входы
Состояния
° I 1
ООО
1 0 1
2 0 1
3 1 1
о
1
2
3
о
о
о
1
1
1
о
Переходя к аналитическому заданию функции, полу-
чаем:
(X,iX3i \у Х12Х22) р, (г-,) \/ (Х1гХ22- \у X>2Xsi) р, (i-ijl
Pit ^iiX^i \/ (х12 \/ Х2г) р, (г-i)-
Так как эти уравнения формально полностью совпа-
дают с соответствующими соотношениями для однораз-
рядной суммирующей схемы, полученными нами в гл. 3,
то, учитывая связь между ри и рщ-ц, как это принято
для РБФ-1, мы получаем функциональную схему для
сумматора последовательного действия, показанную на
рис. 6-18.
Схема сравнения на равенство
Схема сравнения на равенство работает следующим
образом. При подаче на входы схемы двух чисел и х2
последовательно, начиная со старшего, сравниваются их
разряды. Выход схемы определяется следующим обра-
зом:
z=0, Xi = x2;
2 0, Xi ~/—х2.
При этом .можно считать, что состояние схемы и ее
выход совпадают. Таблица, определяющая работу этого
конечного автомата, имеет вид:
Входы Состо-шия Входы Состояния
0 1 0 1
0 1 0 1 1 1 2 3 1 0 1 1
Отсюда имеем собственную функцию вида
У1 (t + 1) == (-^1 (t + 1) -^2 (t + 1) V -^1 (t+1 ) -^2 (t + 1)) V У11'
Соответствующая функциональная схема приведена
на рис. 6-19,а. На рис. 6-19,6 показана реализация этой
же схемы с использованием двухвходового триггера. Эта
схема получена на основании применения соотношения
(6-26) к полученной собственной функции, для которой
= -^i (t + i) -Х-г (f +1) V -*-1 (t + i)^2 6 + ')’
Схема сравнения на неравенство
Рассмотрим более сложный пример синтеза. Построй
им схему сравнения «больше, меньше, равно». Схема
имеет два входа и два выхода, На вход схемы подаются
двоичные числа Xi и х2.
Выходные последовательности:
2\ 2ц, z12,..., zin;
2^2 ^*2 1 > #2 > • • * >
определяют числа Zj. и z2 по следующему правилу:
21 = 0,
22=0,
если
Х1 = х2,
21=# 0,
22= 0,
если
Xi>x2;
21 = 0,
22=# о,
.если
•Х1<Х2.
Соответственно этому схема на каждом такте работы
может находиться в одном из трех состояний: «равно»
(О, 0), «больше» (0,1) и «меньше» (1,0). Для реализа-
ции трех состояний в схеме должны быть предусмот-
рены две обратные связи, которые, как и в схеме срав-
нения на равенство, могут быть взяты с выходов синте-
зируемой схемы. Числа и х2 подаются на соответст-
вующие входы, начиная со старших разрядов.
Опять считаем, что соответствующие выходы, схемы
совпадают с двумя компонентами вектора состояний,
т. е. рассматриваем конечный автомат Мура. Соответст-
вующая таблица переходов — входов для этого автомата
Соответствующая этим собственным функциям схема
приведена на рис. 6-20.
Рис. 6-20.
Сдвигающий регистр
На рис. 6-21, а показан n-й разряд сдвигающего ре-
гистра. Регистр должен управляться тремя сигналами
хп.3, хи и хл, означающими соответственно параллельную
запись числа на регистр, сдвиг записанного числа впра-
во и сдвиг записанного числа влево. Пусть %оп означает
содержимое n-го разряда регистра при параллельной за-
писи в него числа из источника чисел, t/ni(t+i) означает
содержимое этого разряда после подачи некоторых
команд сдвига (при этом допускается отсутствие команд
сдвига). Если на регистр не подается ни одна из выше-
перечисленных команд, то его содержимое должно со-
храняться.
Из описания работы регистра следует, что
У, (f + 1)== хп.з*оп V *пУ„ \J Хау\J Хи3ХпХпу
Соответствующая функциональная схема приведена
на рис. 6-21,6.
Дискриминатор
Дискриминатором называется устройство, которое
выдает на выходе единицу, если длительность единич-
ного сигнала на входе не меньше г. В § 6-2 мы рассма-
тривали схемы, построенные на основе РБФ-2, которые
решают подобную задачу (см. рис. 6-5,6 и в). Однако,
как там указывалось, эти схемы не всегда хорошо рабо-
тают. Используя структуру конечного автомата, можно
построить дискриминатор, свободный от недостатков
схемы, построенной с помощью РБФ-2. Пусть, например,
нам необходимо построить дискриминатор, выдающий
единицу на выходе только при условии, что входной сиг-
нал принимает единичное значение не меньше трех так-
тов подряд. Возьмем конечный автомат с четырьмя со-
стояниями и следующей таблицей переходов:
Вход Состояния
0 1 2 3
0 0 0 0 0
1 1 2 3 3
В качестве автомата возьмем автомат Мура. Выход-
ной сигнал в состояниях 0, 1, 2 равен нулю, а в состоя-
нии 3 равен единице. В начальный момент устройство
находится в нулевом состоянии. Как видно из таблипы
переходов, в состояние 3 автомат попадет лишь при
условии, что единица на входе будет сохраняться в тече-
ние трех тактов. Таким образом, на выходе схемы еди-
ница появится лишь при выполнении указанного усло-
вия. Обозначим вектор состояний как <.уи, у-и>. Если
состояния автомата закодировать соответствующими
двоичными числами, то выходной сигнал автомата опре-
делится следующей собственной функцией:
а собственные функции, определяющие переходы, будут
иметь следующий вид:
(t + 1) = {УаУг1 V W2t V М+и
У г (t + i) = (i/itJM V У it У it \/ УаУгд M + i-
Схема дискриминатора показана на рис. 6-22.
Необходимо отметить, что проблема синтеза автома-
тов с памятью отличается от проблемы синтеза автома-
тов без памяти в одном весьма существенном пункте.
До составления таблиц переходов и выходов автомата
необходимо определить число компонент вектора состоя-
ний синтезируемого автомата, так как величина глубины
памяти автомата существенно влияет на сложность
функциональной схемы, его реализующей. Методы та-
кой минимизации изложены в литературе, список кото-
рой дан в конце книги.
6-8. СВЯЗЬ МЕЖДУ ВРЕМЕННЫМИ ФУНКЦИЯМИ
И КОНЕЧНЫМИ АВТОМАТАМИ
Модель конечного автомата, рассмотренная нами
в § 6-6, позволяет описывать схемы, работа которых опи-
сывается как с помощью ВБФ, так и с помощью РБФ.
Таким образом, модель конечного автомата обладает
весьма универсальными свойствами. Покажем истин-
ность этого утверждения. Начнем с рассмотрения задачи
о сведении любой ВБФ к паре автоматных функций
вида (6-32). Пусть мы имеем некоторую ВБФ
V . . . V Fqtq.
Возьмем вектор Yer компонентами, где 2r>q. Каж-
дую из функций Хг закодируем некоторым вектором ви-
да <уь уг>, где у г есть либо ух либо ух Зададим
теперь следующее соответствие. Если вектор У, кодирует
хг, а вектор F,+t кодирует т;+ь то Yi—► (Л, Уг+i).
Если же i = q и ВБФ периодическая, то Yq—*-(Fq, Уо),
где Уо — вектор, кодирующий то. Если же i—q и ВБФ
непериодическая, то Уд—*~(Fq, Yq). Полученное соответ-
ствие имеет в общем случае вид:
У4+1 = Ф(У4);
Zt+, = T(Xt+„ К).
(6-33)
Сравнивая полученные соотношения с векторной
формой задания конечного автомата (6-32), можно убе-
диться, что ВБФ сведена к частному виду автоматных
функций. При этом функция переходов автомата не за-
висит от Xt+i.
Пример 6-19. Осуществить переход от ВБФ
У — V V 0*1 V Х2) Ъ
к конечному автомату.
Введем двухкомяонентный вектор Y=<yt, yY>. Поставим в со-
ответствие то, Ti, т2 векторы <yi, уг>, <ух уг>, <Ух уг>- По-
строим автоматные таблицы
Входы Состояния Состояния Выход
и у + 1) х2 (t +1) у» Я U+I) У2 Ц + 1) г; + 1
0 0 0 0 0 1 0
0 0 0 1 1 0 0
0 0 1 0 1 0 0
0 0 1 1 * * *
0 1 0 0 0 1 0
0 1 0 1 1 0 0
0 1 1 0 1 0 1
0 1 1 1 * * *
1 0 0 0 0 1 1
1 0 0 1 1 0 1
1 0 1 0 1 0 1
1 0 1 1 * * *
1 1 0 0 0 1 1
1 1 0 1 1 . 0 0
1 1 1 0 1 0 1
1 1 1 1 * * *
Ut
Рис. 6-23.
На рис. 6-23 показана минимизация полученных функций. После
минимизации .получаем:
У\ (t + i) ~ Ун V Ун’>
Уг (t + i) = УиУгй
zt + i ~ xi (t + i) (хг (t + i) V Ун) \/ хг (t + i) Ун-
На рис. 6-24,а показана реализация исходной ВБФ с помощью
переключателя. Так как исходная ВФБ не предполагалась периодиче-
ской, то переключатель, дойдя до положения 2, должен остановиться.
На рис. 6-24,6 показана реализация полученных после минимизации
функций с помощью задержек в цепях обратной.связи. Читателю
предлагается сравнить сложность этих реализаций с учетом оценки
сложности реализации переключателя, приведенной в гл. 5.
Рассмотрим теперь сведение РБФ-2 к конечному
автомату. Пусть задана некоторая РБФ-2
2( = f(Xif, . . ., Xnt, . . ., Xn(t—fe)) •
Легко видеть, что с помощью «fe-мерного вектора Y
можно записать эту функцию в следующей эквивалент-
ной форме:
Zt == f (Xtt, ... , Xnt, Уi > Упк (t~ i))>
= (t-i)
Упк (t-i) — Уп (ft - i) (t -2)'
От нее легко перейти к записи в виде векторных
функций конечного автомата (6-32):
Kt+i=ФYt)\
Zi+1 = Y (Xi+1, Yt).
Из сравнения (6-32) и (6-34) вытекает, что с по-
мощью РБФ-2 описываются конечные автоматы, у кото-
рых функция перехода описывается всегда некоторым
стандартным образом.
Заметим, наконец, что теорема 6-3 устанавливает тес-
ную связь между РБФ-1 и конечными автоматами. Со-
всем очевидно, что любая РБФ-1 может быть реализо-
вана в виде конечного автомата.
Таким образом, модель конечного автомата оказы-
вается универсальной в классе временных схем,
ГЛАВА СЕДЬМАЯ •
ДИНАМИЧЕСКИЕ ПРОЦЕССЫ В СХЕМАХ
7-1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
В предшествующих главах мы рассматривали весьма
идеализированные схемы. Все задержки срабатывали
абсолютно точно, все импульсы имели идеально прямо-
угольную форму, все изменения сигналов в логических
элементах происходили без искажений. К сожалению, на
практике эти предположения оказываются справедливы-
ми далеко не всегда. Поэтому в этой главе мы рассмо-
трим влияние на работу схемы во времени тех переход-
ных процессов, которые возникают в результате разбро-
са параметров физических задержек, имеющихся в схеме
(в частности, в самих физических элементах, реализую-
щих те или иные логические функции).
Реальные физические задержки осуществляют сдвиг
сигнала в момент времени t не на фиксированную вели-
чину Т, а на некоторую величину, распределенную с не-
которой плотностью вероятности и(^) на отрезке
[а, 0] = |У-1-7’—т, /+Т+р]. Этот отрезок можно назвать
зоной разброса задержки или зоной флуктуации.
Основной задачей синтеза с учетом разброса задержек,
имеющихся в схеме, является выяснение влияния этого
разброса на функционирование будущей схемы. О том,
что это влияние может быть весьма существенным, гово-
рит результат, полученный О. П. Кузнецовым. Им было
показано, что если в логической сети имеются несоизме-
римые между собой задержки, то функционирование та-
кой сети может оказаться неэквивалентным никакому
конечному автомату. Правда, предположение, о несоиз-
меримости задержек не имеет никакого практического
значения (на практике все задержки, конечно, рацио-
нальны, а значит, соизмеримы), но сам по себе этот
факт говорит о том, что при большом разбросе задер-
жек функционирование схемы может сколь угодно силь-
но отличаться от предполагаемого.
На величину задержки оказывает влияние несколько
параметров: температура окружающей среды, крутизна
фронтов сигналов, характер фронта сигнала и т. п. Сле-
дуя В. Н. Рогинскому, на работах которого основан
§ 7-2, будем называть задержку линейной, если ее
величина не зависит от параметров самого сигнала.
В дальнейшем нами будут рассматриваться только та-
кие задержки.
Кроме того, будем предполагать, что все задержки,
имеющиеся в схеме, распределены по входам логических
элементов, а сами элементы идеальны, т. е. не вносят
никакого дополнительного запаздывания сигналов. Та-
кое предположение не сужает класса исследуемых схем.
В дальнейшем через б<, мы будем обозначать задержку,
имеющуюся на i-м входе /-го элемента схемы. Будем
считать, что известно некоторое число А такое, что с уче-
том разброса все задержки б,;, имеющиеся в схеме, не
превосходят А. В этом случае будем говорить, что схема
является анализируемой. Рассмотрим одну и ту же
логическую сеть и будем варьировать задержки по ве-
личине, не выходя из класса анализируемых схем при
заданном значении А. В этом случае мы получим целый
класс физических схем, отличающихся друг от друга
своим функционированием. Для определения функциони-
рования конкретной схемы необходимо производить спе-
циальный анализ. Задача анализа поведения схемы
в переходные моменты практически возникает тогда,
когда либо сигналы имеют длительность, соизмеримую
с длительностью переходного процесса, либо схема рабо-
тает по асинхронному принципу и не тактируется по счи-
тыванию и подаче входных сигналов от внешнего гене-
ратора. В следующем параграфе мы изложим методику
такого анализа.
7-2. АЛГЕБРА ВРЕМЕННЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Введем набор специальных функций алгебры логики,
которые мы будем называть элементарными переходами.
Элементарный переход типа 0,1 в момент времени t*,
обозначаемый как s , есть функция такого вида, как
это показано на рис. 7-1,а. На рис. 7-1,6 показан эле-
ментарный переход типа 1,0
в момент времени /**. Этот
переход мы будем обозна-
чать как о***. Рассмотрим
теперь некоторую времен-
ную последовательность
v(t). Эта последовательность
представляет собой последо-
вательность переходов типа
0,1 и типа 1,0. Поэтому ее
можно выразить в виде со-
|E(t)
вокупности элементарных пе-
реходов. Для этого вос-
пользуемся выражением че-
рез элементарные пере-
ходы одиночных импульсов
(рис. 7-1,в) и одиночных
пауз (рис. 7-1,г). Как следу-
ет из этих рисунков,
а
Пример 7-1. Выразить 'последовательность, показанную на
рис. 7-2, через элементарные переходы.
Заменяя каждый имлульс соответствующей конъюнкцией и беря
дизъюнкцию этих конъюнкций, получаем:
v (t) .
Аналогично, заменяя каждую паузу соответствующей дизъюнк-
цией и беря конъюнкцию этих дизъюнкций, получаем:
V (0 = в'» (?• V (?» V (?» V ?•) (Д’ \/
Таким образом, можно утверждать, что любая вре-
менная последовательность v(t) может быть представ-
лена в следующей форме:
при четном q и при 0
= Vs^
пли
р^^у*'*)^'1) - (^”V*S; (7-1)
при нечетном q и при у(^<^0) = 0
V (t) = г ° а' \/ е*2 <?3 \/ ... \/ е 4 ~1 а 4
ИЛИ
v (/) = (?’ V е*’) (^3 V ®'*) • • • (3<?'2 V е<’"') Л (7-2)
при четном q и при &(/<>/0) = 1
a(i) = a,,Ve',a'!V-
8(i) = (?V e^VeVV^Vs'’-1)^- (7-3)
Наконец, при нечетном q и при u(t </0)=1
V = s^’V- V^-2^9-1 v*S 1 (
0(o=(^v^’)(^vsVV9-‘vs4 .1
Представление в виде суперпозиции элементарных переходов лю-
бой временной последовательности v(t) тесно связано с бурно разви-
вающимися исследованиями по спектральной теории функций алгеб-
,^(t)
1-П ;-------! П ;------ ;
: ; i : i , -)______
t0 t, t2 t3 t4 tb t6 t7 f8 t
Рис. 7-2.
ры логики. 'В спектральной теории функции алгебры логики представ-
ляются в виде разложения по системе ортогональных функций Хаара,
Радамахера — Уолша, Фурье, и т. п. Такой подход позволяет иссле-
довать характеристики, аналогичные корреляционным и автокорре-
ляционным функциям в обычной математике, и получать полезное опи-
сание переходного процесса. В данной книге мы не имеем возможно-
сти подробно останавливаться на этом подходе, чуждом по аппарату
данной манере изложения. Заинтересованных читателей отсылаем
к работам М. Г. Карповского, Э. С. Москалева и Р. Г. Фараджиева,
указанным в списке литературы.
До сих пор мы рассматривали идеальные последо-
тельности, для которых выполнялись требования мгно-
венной схемы сигналов. Пусть теперь каждый переход
совершается не в точно определенный момент времени
t*, а в некоторой зоне разброса, которую, как и ранее,
мы будем обозначать отрезком [а, 0] = [/*—т, ^* + р].
На отрезке [а, 0] может быть задана плотность вероят-
ности смены значений сигнала. На рис. 7-3 показаны
временные диаграммы для такого случая. Зоны разброса
заштрихованы. На рис. 7-3,а зоны разброса не пересе-
каются, а на рис. 7-3,6 имеются пересекающиеся зоны.
Последовательности первого типа мы будем называть
регулярными, а второго типа — нерегулярны-
ми. В нерегулярных последовательностях могут возникнуть
всплески и провалы в момент пересечения зон раз-
броса. Обозначим, через yt вероятность того, что на от-
резке [а,-, 0,] может появиться всплеск. Через уг обозна-
чим вероятность появления провала на том же интер-
вале.
Проанализируем поведение последовательности v(f)>
показанной на рис. 7-3,6. Нерегулярность этой последо-
вательности обусловлена пересечением зон разброса
элементарного перехода ?'и элементарного перехода s'.
Вели фактическое время перехода з?3 таково, что он со-
вершается паныпе фактического пепехода s{\ то после-
довательн ;сть v(t) содержит необходимые три импульса
и две паузы. Если же фактическое время перехода а3
больше, чем время возникновения перехода е*4, то пауза
между вторым и третьим импульсом исчезает. Так как
при этом в реальной схеме фронты импульсов неидеаль-
ны, то на участке [щ, 0з] возможно появление кратко-
временных всплесков.
Пусть мы имеем некоторую схему без задержек, реа-
лизующую функцию алгебры логики. Однако на вход
этой схемы поступает не идеальная последовательность
двоичных сигналов, а последовательность типа тех, кото-
рые показаны на рис. 7-3. При этом на выходе схемы
возникнет последовательность w(t), у которой также
будут иметься зоны разброса во время смены значений
сигнала. Величина этих зон легко находится следую-
щим образом. Рассмотрим случай схемы с двумя входа-
ми Vi и п2. Если в момент времени t на оба входа посту-
пают сигналы 0 и 1 в чистом виде (т. е. в этот момент
времени нет переходного процесса ни по одному из вхо-
дов), то выходной сигнал определяется обычным обра-
зом на основании вида собственной функции схемы.
Если по одному из входов идет переходный процесс, а по
второму такого процесса нет, то зона разброса выход-
ного сигнала для случая инвертора, схемы И и схемы
ИЛИ определяется из следующих соотношений (здесь
л — любой из переходов, е — о, а о=е):
₽)=-ки.
(7-5)
(7-6)
Если в момент времени t и на том и на другом вхо-
дах устройства идет переходный процесс, то для схем И
и ИЛИ зона разброса для w(f) определяется следую-
щим образом (здесь T) = min(a, a'), &=min(0, 0'), ц =
= гпах (a, a'), v = max (0, 0'))
g[a, ₽] g[a'>₽'!__ glP-, ’Г 4
o(a, ₽]o[a'₽']_oh, W. |
S[«,P] \y gla'.fi'l—glMl,
aI«,
(7-7)
(7-8)
[a, [3]
c u ----
Y[a'? 1, a' <p и a <{$',
(7-9)
0, a>p';
8[»-?]\y 3[“'-3'L=
1, a > p,
Yta’’ ?1, a' <3 и a <3',
s[a.3]ya(a',g']) a>p,_
(7-Ю)
Если схема содержит несколько соединенных между
собой элементов, то, последовательно переходя «от вхо-
да к выходу» каждого элемента, мы через конечное чис-
ло шагов получим распределение зон разброса в выход-
ной последовательности всей схемы.
Пример 7-2. Для схемы, показанной на рис. 7-4,а, и входных по-
следовательностей, показанных на рис. 7-4,6, построить распределе-
ние зон разброса выходной последовательности схемы. При этом для
определенности положим ai=l0, fJ( = a3 = 20, р3=25, a2 = 40, р2=50.
На рис. 7-5 последовательно показаны этапы построения выход-
ных последовательностей для элементов схемы. На рис. 7-5,а и б
показаны выходы инверторов, на рис. 7-5,в, г — выходы схем И,
а на рис. 7-5,д — выход схемы ИЛИ, совпадающий с выходной по-
следовательностью всей схемы. Заметим, что в процессе его построе-
ния мы пользовались лишь соотношениями (7-5) — (7-7), так как зоны
разброса для vt(t) и v2(t) нигде не пересекались.
Пример 7-3. Для той же схемы и входных последовательностей,
доказанных на рис. 7-6, построить распределение зон разброса для
выходной последовательности схемы.
Искомое распределение построено на нижнем графике, имеющем-
ся на .рис. 7-7, 1 " ' “ ' .
Рис. 7-7.
В предыдущем параграфе мы характеризовали за-
держку такой же зоной разброса, как и моменты смены
значений сигналов. Наличие зоны разброса у задержки
приводит к изменению длительности сигнала, поэтому
сдвинутый сигнал может иметь не ту длительность, кото-
рую он имел до задержки. Если задержка линейна, то
она обладает свойством аддитивности: если имеется по-
следовательное соединение
двух задержек на /у тактов
и на г2 тактов, которые ха-
рактеризуются зонами раз-
броса (cti, Pi] и [аг, Рг], то
такое соединение задержек
эквивалентно задержке на
П + гг тактов с зоной разбро-
са [ai + аг, Pi + Ра].
Пример 7-4. Для входной по-
следовательности, показанной на
рис. 7-8, найти выходную последо-
вательность, реализуемую схемами,
показанными на рис. 7-9. Задерж-
ка равна 10 единицам условного
времени. Задержка характеризует-
ся зоной разброса (<+5, <+15].
Выходные последовательности
показаны на рис. 7-10. На
в) рис. 7-10,а показан результат про-
хождения входного сигнала через
Рис. 7-9. ' задержку. Как видно из этого ри-
сунка, на отрезке [5, 25] возникла
зона разброса. В этой золе где-то находится импульс входной по-
следовательности, который был подан в начале процесса. От второго
входного импульса 'возник импульс в зоне [30, 75]. При этом зоны
разброса импульса увеличились за счет разброса, внесенного задерж-
кой. Вся картина стала довольно «смазанной». Детерминировано
только наличие импульса на отрезке (45, 60]. При взаимодействии
задержанной последовательности с входной на элементе И возникает
выходная последовательность, показанная на рис. 7-10,6. Импульс,
имеющийся на отрезке [5, 10], на выходе схемы может появиться или
не появиться. Для его возникновения нужно выполнение двух усло-
вий: «затягивания» спада входного импульса и смещение зоны раз-
броса задержки к левому концу. Как следует из -соотношения (7-10),
на выходе элемента И либо возникнет кратковременный всплеск, либо
на выходе схемы импульса не будет.
Для случая, когда на выходе схемы стоит элемент ИЛИ, выход-
ная последовательность показана на рис. 7-10,0. В зоне (5, 20] нмеет-
Рис. 7-10.
Ся единичныйимПульс, местонахождение которого недетерминировано.
В зоне £10, 30J возможно появление всплесков и провалов — см. со-
отношения (7-11). Зона |[60, 75] возникла из-за увеличения зоны
разброса заднего фронта второго импульса входной последователь-
ности за счет разброса, вносимого задержкой.
Для схемы, показанной на рис. 7-9,в, выходная последователь-
ность изображена иа рис. 7-'10,е. На рис. 7-10, г, д .показаны последо-
вательности, получаемые при прохождении входной последовательно-
стью инвертора и задержки. Как следует из рис. 7-10,е, на выходе
схемы возможно появление всплесков, если задний фронт импульса,
полученного после задержки, будет достаточно «затянут», чтобы
взаимодействовать со вторым импульсом входной последователь-
ности.
Рассмотрение простых примеров, приведенных выше,
показывает, что задача анализа функционирования схе-
мы во время переходных процессов весьма трудоемка.
Тем не менее описанная методика . анализа позволяет
исследовать достаточно сложные комбинационные схе-
мы. При этом бывает удобно предварительно вынести
все задержки на входы схемы, как это делалось в § 6-2.
Для схем, имеющих петли обратной связи, положе-
ние существенно хуже. Анализ по предлагаемой методи-
ке становится весьма трудоемким и малоэффективным.
Поэтому для таких схем разумнее пользоваться некото-
рыми общими результатами об их функционировании
при наличии разброса в форме сигналов и задержек.
Некоторые из этих общих результатов мы приведем
в следующем параграфе.
7-3. ОБ АНАЛИЗЕ СХЕМ С ОБРАТНЫМИ СВЯЗЯМИ
Часто на практике предполагается, что у устройства
имеется некоторое фиксированное начальное состояние,
с которого всегда начинается нормальное функциониро-
вание. В связи с этим возникает задача установки уст-
ройства в это начальное состояние. Если известно те-
кущее состояние схемы и диаграмма смены состояний,
то можно подобрать такую входную комбинацию сигна-
лов, при которой устройство перейдет в начальное со-
стояние. Однако на практике представляет интерес на-
хождение универсальной установочной комбинации
входных сигналов, которая не зависела бы от текущего
состояния схемы. Требование универсальности позволяет
не знать текущего состояния схемы, которое из-за раз-
броса параметров физической схемы может оказаться
вообще не таким, как предполагаемое состояние по диа-
грамме переходов. Кроме того, при реальной работе,
если не фиксировать входные последовательности, . то
в некоторый момент времени мы вообще не можем ска-
зать, в каком внутреннем состоянии находится схема.
Для ответа на поставленный вопрос мы построим
специальную процедуру ранжировки элементов схемы,
предложенную Э. А. Добро-
чаевой.
Рассмотрим логическую
сеть, в которой допустим су-
ществование любых петель
обратной связи. Единствен-
ное ограничение состоит в
том, что не допускается со-
единения выхода элемента с
несколькими входами одно-
го и того же элемента. При-
своим нулевые ранги вход-
ным полюсам сети. Рассмот-
рим теперь элементы, выход
которых однозначно опреде-
ляется некоторой фиксиро-
ванной входной комбинаци-
ей сигналов. Этим элементам
присвоим первый ранг и за-
фиксируем их выходные зна-
чения. Рассмотрим затем
множество элементов, выход-
Рис. 7-11.
ные'значения которых однозначно определяются элемен-
тами нулевого и первого ранга (или только элементами
первого ранга). Таким элементам присвоим второй ранг
и т. д. Процесс ранжирования будет закончен либо пос-
ле присвоения рангов всем элементам сети, либо в слу-
чае, когда для некоторых элементов при заданной фик-
сированной входной комбинации ранжирование окажет-
ся невозможным.
Пример 7-5. Для логической сети, показанной на рис. 7-11, най-
ти ранжирование при входах (0, 0, 0), (1, 1.0).
При входе (0, 0, 0) первые ранги присваиваются элементам 1, 4,
7, 9; вторые ранги присваиваются элементам 2. 5, 8-. третий ранг —
элементу 3 и четвертый ранг — элементу 6. Таким образом, все эле-
менты сети оказываются ранжированными входом (0, 0, О') и схема
в результате подачи этой входной комбинации устанавливается
в определенное статическое состояние. При входе (1, 1, 0) первые
ранги присваиваются элементам 1, 4, 9\ вторые .ранги — элементам
2, S; третий ранг (присваивается элементу 3. Элементы 7, 5, 6 остают-
ся неранжированными.
Определение 7-1. Схема называется ранжируе-
мой, если все ее элементы ранжируемы. Имеет место
следующая теорема.
Теорема 7-1. Если для входной комбинации X*
анализируемая схема ранжируема, то выходной сигнал
элемента с номером i, которому присвоен ранг rt, уста-
новится и не будет больше изменяться через время
^гмакс {б,,}, где и гк<Г{. При этом схема устано-
вится в устойчивое состояние, соответствующее вхо-
ду X*.
Таким образом, условие ранжируемости всех элемен-
тов схемы обеспечивает возможность установки схемы
в определенное состояние независимо от того состояния,
в котором до этого находилась схема.
Справедливо и следующее утверждение, в некотором
смысле обратное последней теореме.
Теорема 7-2. Если схема не ранжируема при дан-
ном входе X*, то всегда найдется такое начальное со-
стояние схемы и такие задержки что ни один
из неранжированных элементов при подаче на вход схе-
мы X* не устанавливается в устойчивое состояние.
Как следствие из этих теорем, вытекает утверждение
о том, что для автономных автоматов, описываемых
ВРБФ, всегда существует такой набор задержек 8ц<Л
и такое начальное состояние, что все элементы схемы
будут находиться в колебательном режиме и никогда не
примут установившихся значений.
ПРИМЕНЕНИЕ МНОГОЗНАЧНОЙ ЛОГИКИ
ПРИ АНАЛИЗЕ И СИНТЕЗЕ СХЕМ
ГЛАВА ВОСЬМАЯ
6-ЗНАЧНЫЕ ЛОГИКИ И ИХ ПРИМЕНЕНИЕ
8-1. ОБЩИЕ ОПРЕДЕЛЕНИЯ
Рассмотрим множество векторов
V={<Vi, v2, ..., vn>}, (8-1)
координаты которых могут принимать любые целочис-
ленные значения от 0 до k—1 включительно.
Набором будем называть совокупность значений ко-
ординат некоторого фиксированного вектора V* из V.
Произведем однозначное отображение множества V на
множество U7={0, 1, ..., k—1}.
Определение 8-1. Функция, дающая однозначное
отображение множества V на множество W, называется
k-значной логической функцией или функцией k-значной
алгебры логики.
Легко показать, что число различных векторов V
равно 6”, а число различных 6-значных логических функ-
ций, определенных на этих наборах, также конечно и
равно 6fe". Эти результаты являются естественным обоб-
щением соответствующих результатов для функций
алгебры логики. Подобно функциям алгебры логики 6-
значные логические функции могут быть заданы в виде
конечной таблицы. При этом число строк в этой табли-
це будет равно 6”.
Понятие равенства функций и существенной зависи-
мости функций от своих аргументов вводится аналогич-
но тому, как это было сделано для функций алгебры
логики.
Рассмотрим систему 6-значных логических функций
Wi = fi(Vi, ...........on);
^2 = f2 (^i, Ц» •••» »n);
(8-2)
Пусть мы имеем автомат с п входами и т выходами,
работа которого описывается системой (8-2). Для этого
автомата система (8-2) будет системой собственных
функций. При этом необходимо, чтобы на входе и выхо-
де автомата все сигналы были квантованы по своим зна-
чениям так, чтобы мы имели возможность установить
аналогично между k значениями переменных vt и Wj и k
различными физическими характеристиками сигнала.
Устройство для которого такая аналогия установлена и
работа которого описывается системой функций вида
(8-2), будет называться й-значным автоматом
без памяти.
Если работа некоторого устройства описывается си-
стемой вида
v2t, ...,vni, да, 1();
= V2t,...,Unt, W, (t.,;, ... , Wr (t-,))*,
y2i, sy.u-.),(8-3)
Ult = (f>l(vli, v2t, ... ,vni, w, wr (t_1();
«st=?1(Uli, «2(, ... ... , Wr
то такое устройство будет в дальнейшем называться k-
значным автоматом с памятью.
Такие автоматы весьма широко используются в раз-
личных системах телемеханики, связи, автоматики и вы-
числительной техники. Однако логический аппарат, ко-
торый мог бы быть использован при логическом синтезе
и анализе таких устройств, в настоящее время еще на-
ходится в стадии становления. Это связано с целым
рядом трудностей теоретического и практического поряд-
ка, возникающих при попытке построения и использо-
вания многозначного аналога булевой алгебры.
8-2. ОСНОВНЫЕ й-ЗНАЧНЫЕ ЛОГИЧЕСКИЕ ФУНКЦИИ
В этом параграфе мы введем некоторые из важных
логических функций й-значной логики:
1. Константы, т. е. функции, для которых все аргу-
менты являются фиктивными. В й-значной логик?
имеется k константных функций /о = 0, А = 1. •••
• • •, fk-i—k—1.
2. Функции одной переменной. (Наиболее важными
функциями одной переменной являются характери-
стические функции, число которых равно k. Ха-
рактеристическая функция ср,, называемая характери-
стической функцией i-ro порядка, определяется следую-
щим образом:
. . f k — 1, если v = i;
М0 = л , .
( 0, если v =jt=i.
(8-4)
Весьма важными являются также функция ин-
версии, служащая обобщением функции отрицания, и
функция циклического отрицания:
f(v) = k — 1 —v;
f (v) = v 4- 1 (mod k).
(8-5)
3. Функции двух переменных. Среди функций двух
переменных особо важную роль играют функции k-з н а ч-
ной дизъюнкции и А-значной конъюнкции.
Эти функции определяются на основании соотношений
f(vlr щ)=шах(о,, ц2); |
w2) = min(nu п2). J
(8-6)
Кроме того, весьма интересна й-значная функ-
ция Вебба, которая определяется с помощью следую-
щего соотношения:
f(vi, U2)=max(vi, vz) +1 (mod k). (8-7)
Наконец, важными функциями й-значной логики
являются функция сложения по модулю k и
функция умножения по модулю k без учета
переносов.
Пример 8-1. Построить таблицы, задающие все введенные функ-
ции в четырехзначной логике.
В силу вышеуказанного функция п переменных в рассматривае-
мой логике определяется таблицей, состоящей из 4" строк. Функция-
ми-константами являются следующие четыре функции:
Д>=0; А = 1; Л=2; Л=3.
Характеристические функции и функции инверсии определяются
с помощью следующей таблицы:
V Vo Vi 9а 9з Инверсия Цикл
0 3 0 0 0 3 1
1 0 3 0 0 2 2
2 0 0 3 0 1 3
3 0 0 0 3 0 0
Для функций двух переменных имеем следующую таблицу:
Оа min (оь с>а) max (Oi, и2) Функция Ве55а Сложение по mod 4 Умножение по mod 4
0 0 0 0 1 0 0
0 1 0 1 2 1 0
0 2 0 2 3 2 0
0 3 0 3 0 3 0
1 0 0 1 2 1 0
1 1 1 1 2 2 1
1 2 1 2 3 3 2
1 3 1 3 0 0 3
2 0 0 2 3 2 0
2 1 1 2 3 3 2
2 2 2 2 3 0 0
2 3 2 3 0 1 2
3 0 0 3 0 3 0
3 1 1 3 0 0 3
3 2 2 3 0 1 2
3 3 3 3 0 2 1
8-3. ПОЛНЫЕ СИСТЕМЫ ФУНКЦИЙ В 6-ЗНАЧНОЙ ЛОГИКЕ
Проблема полноты для многозначной логики при
k>3 в настоящее время еще не решена. Если для двух-
значной логики имеется критерий полноты, сформули-
рованный нами в виде теоремы 1-10, то для А-значной
логики А. В. Кузнецовым получен следующий резуль-
тат.
Теорема 8-1. В k-значной логике можно эффектив-
но построить систему замкнутых классов Mlt ЛК, ..
..., Mq, каждый из которых целиком не содержится ни
в каком другом классе, такую, что система функций fi,
fz, • • •, fп, является полной тогда и только тогда, когда
она целиком не содержится ни в одном из построенных
классов.
Для двоичной логики классы Mi были указаны в фор-
мулировке теоремы 1-10. Для ^-значной логики, за
исключением случая k = 3, эти классы пока не удалось
построить. Поэтому теорема Кузнецова носит скорее тео-
ретический, нежели практический характер.
Имеет место следующая теорема.
Теорема 8-2. Для того чтобы система функций
в k-значной логике, содержащая все функции одного
переменного, выпускающие хотя бы одно значение, бы-
ла полна, необходимо и достаточно, чтобы эта система
содержала функцию, существенно зависящую более чем
от одного аргумента и принимающую k значений.
Для порождения множества всех функций одной пе-
ременной можно воспользоваться функциями, предло-
женными Пикаром.
Теорема 8-3. Все функции одной переменной мо-
гут быть порождены тремя функциями:
ср(х)=х—1 (mod й);
( х, 0 <x<k -- 3,
£(*)=р- 1, x=k-2,
(k — 2, x = k — 1;
Вместо функций Пикара можно воспользоваться си-
стемой функций, определяемой следующей теоремой.
Теорема 8-3. Все функции одной переменной могут
быть получены из системы следующих k функций:
{I, х = 0,
0, х=г,
х, хД=0, i,
i = 1, 2...k- 1;
Кроме этих общих теорем о полноте, можно указать
еще на целый ряд результатов, принадлежащих А. Са-
ломаа, Е. Ю. Захаровой и другими авторами. Однако для
наших целей более интересно рассмотрение конкретных
систем, которые являются базисами в любой ^-значной
логике.
Число различных базисов в Л-значной логике беско-
нечно, а число простых базисов (определение простого
базиса дано в § 1-8) ограничено сверху величиной
Поэтому, аналогично тому как это мы сделали в дво-
ичном случае, ограничимся рассмотрением только таких
базисов и полных систем, которые оказались удобными
для представления функций в многозначной логике и
для синтеза схем,
Важнейшие и наиболее интересные с точки зрения
практики системы такого типа следующие;
1) Система Поста, Постом показано, что в любой
А-значной логике полна система, состоящая из дизъюнк-
ции и цикла.
2) Система Россера и Тьюкетта. Полную систему
функций в А-значной логике составляют характеристи-
ческие функции, функции конъюнкции, дизъюнкции,
функции константы.
3) Система Вебба. Полную систему составляет для
любой й-значной логики функция Вебба.
4) Модульная логика. Если k — простое число, то
функции сложения по модулю к и умножения по моду-
лю k образуют в й-значной логике полную систему.
Н. Н. Айзенбергом и 3. Л. Рабиновичем была пред-
ложена полная система, состоящая из следующих функ-
ций:
(х, у = 1,
Ф(*, У) = \у, х=1,
(о, х=£1, у^1,
| х, у = О,
«/) = / у, х = 0,
( min {х, у}, х=£0, у^=0
(8-8)
(8-9)
и циклического отрицания, определяемого соотношени-
ем (8-5). Ими же была предложена полная система, со-
стоящая из функций (8-8), константы единица и сложе-
ния по модулю k. Для Л-значной логики можно опреде-
лить полиномиальные представления, аналогичные тем,
которые рассматривались нами в § 2-8 для двоичной ло-
гики. В настоящей книге мы ограничимся рассмотре-
нием лишь системы Россера и Тьюкетта, первой из си-
стем Н. Н. Айзенберга и 3. Л. Рабиновича и полиноми-
альными представлениями. Остальные полные системы
могут быть исследованы аналогичными методами.
8-4. ПРЕДСТАВЛЕНИЕ 6-ЗНАЧНЫХ ФУНКЦИЙ
В ВИДЕ НОРМАЛЬНЫХ ФОРМ
Рассмотрим конъюнкцию
^^Ду.)?^)-^ (уп), (8-Ю)
п
которую назовем характеристической. Исходя из свойств
характеристических функций и конъюнкции, можно
утверждать, что равенство Fj=k—1 для набора <u*i,
у*2, • • • , у*п> будет выполняться только в том случае,
когда имеет место система равенств v*i = at, где i = 0, 1,
2,..., п. Для прочих наборов значений аргументов ха-
рактеристическая конъюнкция равна нулю.
Таким образом, характеристическая конъюнкция играет
в многозначной логике такую же роль, как характери-
стическая функция единицы в двоичной логике.
Теорема 8-4. Любая функция k-значной логики
может быть представлена в следующей форме:
fen_I
f(vlt v2, ...,vn)= V Ajf(an a2, ..., an). (8-11)
/=o
Справедливость теоремы очевидна. Представление
функции в соответстви с теоремой 8-4 будем называть
k-значной дизъюнктивной совершенной нормальной фор-
мой (КДСНФ).
Пример 8-2. Записать в ТДСНФ функцию, заданную следующей
таблицей:
V1 Vs. f Vi f Vi V» f
0 0 2 1 0 0 2 0 0
0 1 0 1 1 1 2 1 0
0 2 0 1 2 ° 2 2 2
В соответствии с (8-11) выписываем ТДСНФ данной функции,
опуская те наборы <щ ог>, на которых/=0:
/(01, v2) = f<, (0i)<?„ (иг) 2 '/ (о,) у, (о2) 1 V Ъ (с,) (о2) 2 =
= То (^1) Vo ("2) V Vi (^1) Vi (Уг) 1 \/ Vo (^1) <?2 (у2).
Рассмотрим теперь дизъюнкцию
^=?ai(y.)V?ai(«2)V.-V?a
п
которую назовем характеристической. Из свойства ин-
версии (8-5) и дизъюнкции следует, что для всех набо-
ров <y*i, v*2,..., v*n> таких, что хотя бы для одного
tv*i=#kxj, —1, и только для набора, для которого
все равенства v*i = cti одновременно выполнены для всех
i, характеристическая дизъюнкция обраща-
ется в нуль. Таким образом, характеристическая дизъ-
юнкция играет в й-значной логике роль характеристи-
ческой функции нуля.
Т еор е м а 8-5. Любая функция k-значной логики
может быть представлена в следующей форме:
kn-\
f(v1,v2,...,vn)=& (Ф,\/f(a„ <х2.....ап)). (8-12)
/=о
Это представление носит название А-значной
конъюнктивной совершенной нормальной
формы (ККСНФ).
Пример 8-3. Записать в ПКСНФ (пятизначной КСНФ) функцию,
определенную следующей таблицей:
Uj и2 0 12 3 4
0 1 2 3 4 4 3 0 4 4 0 110 4 4 4 4 4 1 4 0 4 4 3 4 4 4 1 4
Для компактности записи мы изменили форму таблицы задания
функции. При стандартной форме потребовалось бы написать таб-
лицу, содержащую 25 строк.
Используя соотношение (8-12), пишем ПКСНФ:
f (t'i. г2) = [3 V Vo (Г1) V Vi (y2)J• [Vo (г>) V ?2 (r2)J • [Vi (yi) V
V Vo (Га)Н1 V?i (Г1) V (г2)? [1 V?i (yi) Vvo (^а)] ’ [Vi (ui) V
V ?з (r2)Hi V MW?» (г2)И?з (v.) V ?i (MI X
X [3 V Ve (M V Vi (Ml • I1 V?»(M V Vo (MJ.
Функции конъюнкции и дизъюнкции в й-значной ло-
гике имеют свойства, аналогичные свойствам двузнач-
ных функций конъюнкции и дизъюнкции, В частности,
с помощью инверсии они связаны между собой форму-
лами де Моргана: ______
п, \/V'2 = vt-v2-,
V v2-
Это позволяет исключить из полной системы, состо-
ящей из характеристических функций, констант, дизъ-
юнкций, инверсии и конъюнкции, либо дизъюнкцию, ли-
бо конъюнкцию. Соотношение (8-10) показывает, что
инверсия также может быть исключена при сохранении
конъюнкции и дизъюнкции. Отметим, что доказательст-
во теоремы 8-4 соответствует доказательству полноты
системы Россера и Тьюкетта.
Полная система Россера и Тьюкетта является пря-
мым аналогом двузначных представлений в виде ДСНФ
и КСНФ. Проблема минимизации ставится здесь также
аналогичным образом. Более подробно этот вопрос бу-
дет рассмотрен в гл. 9, для случая трехзначной логики.
Перейдем теперь к рассмотрению аналитического представления
в системе, .предложенной Н. Н. Айзенбергом и 3. Л. Рабиновичем.
Операцию, определенную в соответствии с (8-8), назовем ква-
зиконъюнкцией и будем обозначать значком &, а операцию,
определенную с помощью (8-9), — квазидизъюикцией и будем
обозначать ее значком V Эти операции обладают следующими свой-
ствами, которые могут >быть доказаны читателями самостоятельно:
ViVy2=V2\M; 1
01&с)2 = J
v & 1 = v;
v & 0 = 0;
у V 0 = и;
(oi&o2) &v2 = О] & ф2 & с'3); 1
(^1 V^2) Vys== V й’АД’з); J
v & v & v = v &v;
v\/ u==v;
Vi V (v3 & o2) = о,; ,
C’i V v-2) & v3 = (t4 & v3) \7 (o2 & v3).
(8-13)
(8-14)
(8-15)
(8-16)
(8-17)
г
Введем обозначение v для r-кратного применения циклического
отрицания к V. Операцию квазиконъюнкции вида v&v будем обозна-
чать как V2. Имеют место следующие соотношения:
.1.2. .А-1
и\/ v\/v\/ ... V v= !;
(у, \/ = V? & .
(8-18)
(8-19)
Соотношение (8-19) является обобщением формулы де Моргана.
Введем характеристические функции следующего вида:
'ССх>
_ f 1 , О1, у2, ..., Уп> = <“1. а2, ••• ап>.
ап \ 0, V2.... У„> Ф а2 • • • > ап>-
Для выражения этих функций в рассматриваемой системе пока-
]-at 1-«2
жем, ЧТО = V2. При V = at at (at ф- 1 — aj2 = 1, а при V ф щ
правая часть принимает вид (и+1—а,)2. Но v +1—aj^l (mod/г) и
по свойству квазиконъюнкции мы получаем в этом случае нуль. Из
сказанного вытекает, что
ХЯ1Я».ая = ХЯ1&Ха,&--&Хая- (8'2°)
Теорема 8-6. Любая функция в k-значной логике может быть
представлена следующим образом:
, U„)=V “а. — “»)&ХЯ1, a,...а- (8‘21)
I (*1, «2. .. J “
Пример 8-4. Записать в виде разложения (8-21) функцию из при-
мера 8-2:
f(vt, и2) = (2 & \7 (1 V(2& у2& v22).'\
Определенный интерес представляют такие формы
записи функций, в которых вместо операций конъюнк-
ции и дизъюнкции используются операции модульного
сложения и модульного умножения. Одной из форм
представления, использующего эти операции, является
представление функций А-значной логики в виде так на-
зываемых— 2—П форм (сигма —пи форм). Для
получения такого представления можно воспользовать-
ся характеристическими функциями следующего вида:
. . . (1, если =
Фя (0 = ' ,
* (0, если v^at.
(8-22)
Тогда легко доказывается следующая теорема.
Теорема 8-7. Любая функция в k-значной логике
может быть представлена в виде X—П формы:
... ,vn)= 2 f(a„ a2, ...,an)X
<ax, сц, ... , an>
Ш <8-23)
В соотношении (8-23) используются операции сло-
жения и умножения по модулю k.
8-5. ПОЛИНОМИАЛЬНЫЕ ПРЕДСТАВЛЕНИЯ
В УЗНАННОЙ ЛОГИКЕ
При исследовании полных систем функций в Узнан-
ных логиках особый интерес представляют системы, по-
зволяющие записать любую функцию в виде выраже-
ния, похожего на полиномы в обычной алгебре. Такая
запись функций значительно облегчает работу при син-
тезе и упрощении схем.
Система функций Узнанной логики, состоящая из
операций суммы по модулю •k« + '», произведения по мо-
дулю /г« •» и констант, позволяет записать любую функ-
цию в виде полинома по модулю <k в случае, если
k — простое число. В случае составного k эта систе-
ма не полна, что является ее существенным недо-
статком.
Полиномиальным представлением в мно-
гозначных логиках будем называть сумму по мо-
дулю k некоторого конечного множества элементарных
произведений, представляющих собой произведение по
модулю k некоторых их членов
а, и, N2V, NsV, . . ., Nk-tv,
где а — константа, а представляют одноместные опе-
раторы над переменными.
В общем случае элементарное произведение имеет
вид:
У2цг У3игз... (8-24)
причем некоторые из членов могут отсутствовать.
Исходя из представления функций Л-значной логики
в виде S—П формы, можно написать следующее соот-
ношение:
f(v„ ... Vi, Vi+i......Vn) = ф0 (Vi) f (Vf = 0) +
+ Ф, (о,) f (Vf = 1) + ... + (Vi) f (Vi = k - 1) =
fe-i
= 2 Фг («/)/(«/= 0- (8-25)
г=о
где знак S означает суммирование по модулю k,a f(vi =
= 1) представляет сокращенную запись для f(vi, ...
• • •, Vi—ц, Vi+l, • • •, Vn) .
Выражение (8-25) назовем формулой разложе-
ния функций f по характеристическим
функциям переменной у,-. Мы ее можем напи-
сать в более общем виде:
k-i
f(v„...,Vi_„ vi+1..On) =2 ФЖ ~ ?г) Ж == <7г + О,
1=0
(8-26)
где 7, может принимать любое из значений 0, 1, 2, ...
..., k—1, a vi—qi — Vi+(k—V)qi представляет наимень-
ший неотрицательный вычет по модулю k.
Покажем справедливость соотношения (8-26). Для
этого докажем, что функции, стоящие в левой и правой
частях соотношения (8-26), совпадают для любого зна-
чения Vi.
Пусть vt = s, —1. Из всех членов, стоящих
в правой части (8-26), только в одном характеристи-
ческая функция принимает значение 1. Это будет функ-
ция с индексом l=s—qt. Таким образом, всегда и
с левой и с правой стороны получаем f(Vi = s).
Будем искать представление любой функции одной
переменной в й-значной логике в виде полинома
f(v) =a0+alv + a2N2v+ ... + alt-ilVk-iV, (8-27)
где аД/=0, 1, ..., k—1)—константы, a Njv(j=2, 3, ...
..., k—1)—одноместные операторы над V, представ-
ленные в общем виде в таблице, приведенной ниже.
Если существует однозначное представление любой
функции одной переменной, то можно найти представле-
ние характеристических функций. Представляя их в фор-
ме сигма — пи и производя умножение и сокращение,
получаем полином относительно v и операторов Nzv, ...
..., Nk-iV.
V Ntv NK~1V
0 jV20 N3O Wb-iO
1 jv2i .... Д-il
k-l Ar2(&—1) . N3(k~l) .... Nb-r (k-l)
Выражение (8-27) эквивалентно следующей системе
сравнений, получаемой в результате подстановки всех
возможных значений v:
ао Ч-0 -f- a2N20 + ... -f- = f (0);
ао 4~ ai + + - + ал-Лк-1 = f (1);
ао 4~ ai — 1) Ч-azN2 (k — 1 )-}“••• +
(mod k) (8-28)
Покажем, что условие единственности представления
любой функции одной переменной в й-значной логике
в виде (8-27) является:
(D,k) = [,
(8-29)
т. е. числа D и k должны быть взаимно простыми, где
D — определитель системы (8-28):
D = 1 0 M20 Nk-i o 1 1 AU 1 (8-30)
П-1 N2(k— 1)
Система сравнений (8-28) равносильна системе
(mod k), j = 0, 1,..., k—1,
где Dj — определитель, получающийся из D заменой
j-ro столбца столбцом значений функции из правой ча-
сти системы (8-28).
Из теории сравнений известно, что любое из сравне-
ний первой степени (8-28) имеет единственное решение
по aj, если (Z), А) = 1, откуда следует наше утверждение.
В качестве примера приведем следующую систему
операторов:
V Nav N*-2V Л .v Л — 1
0 0 0 0 0
1 1 1 1 1
• • •
k—2 i 2 k—3 k—3
k— 1 i 2 k—3 k—2
Можно показать, что определитель D этой системы
операторов всегда принимает значение 1 при любом k.
Определяя из сравнений (8-30) коэффициенты ад ха-
рактеристических функций ф/, получаем:
Фо СО — Ро,о + ov + D2iQN2v -|- ... -|-
4” оМг_1^);
ф, (v) = -L (DOil + + Р2,Л2п + ... +
4”
фй-1(и)=-^г(-0о, ь-i 4-^>. 4"
4“ ^2> 4- ••• 4“ j
где Dji — определитель, получающийся из D заменой
/-го столбца (/ = 0, 1 k—1) столбцом значений ха-
рактеристической функций фь При этом,используя свой-
ства модульных операций, 1/D можно всегда привести
к наименьшему неотрицательному вычету В из сравне-
ния В-D— 1 (mod k).
Подставляя значения характеристических функций
(8-31) в формулу разложения (8-26), получаем:
*-1
f(vt....vt_t, Vi, ul+1, ...,t’„) = -p-^Z)0,zf(ul = ?/ + /) +
z=o
k—\
+ (vi ~ 4i) ~Jj- . if (vi = 4i + 0 +
/=0
4-1
+ Nг (Vj — qi) -jj D2, if (vi=qi + /) +
1=0
4-1
+ • • • + Nh _, - qi) A- £ Dk _,, tf (Vi = 4i + /). (8-32)
1=0
Выражение (8-32) представляет собой формулу раз-
ложения функции 1&-значной логики по переменной
и операторам N2Vi, N$Vi,..., Nk-iVt.
Введем следующие обозначения:
4-1
К = (Ul = Ul' + Z);
1=0
4-1
fvt = В D' ^Vt = Vi + Z);
z=^o
A—1
U=BSD,jf<1''=l,'+');
1=0
(8-33)
4-1
ч - =в s=Vi+z)-
to )
Выражения fsi, fVt, fN . fN* vt назовем произ-
водными функции f относительно свободного чле-
на переменной v{ и операторов NzV,, ..N^Vi.
Такое определение производных представляет обобще-
ние понятия производной, введенное в § 2-8.
Теперь формула разложения (8-32) принимает вид:
f (v...Vi.,, Vi, vi+1,..., vn) = fSf (Vi = qi) +
+ — qi) fVi (Vi = + N2 (Vi — qi) (Vi = qi)-\--------F
+ ^n.1(»<- qi)fN v (Vi = qi). (8-34)
h — 1 t
Исходя из определения производных (8-33), легко
доказать следующие их свойства:
1. Если f=g+h, fz=gz + hz, где z=sit vit N2Vi, ...
..., Nk^iVi.
2. Если f = ag, где a — постоянная, то fz = agz.
3. =
Покажем, что любую функцию ^-значной алгебры
можно разложить в ряд вида
Ап-1
f (и» • ••, vn, vn_f.t, ..., vr) = 2 V ifcs (q,, • qn, vn+l,..., vr),
/=o 1
(8-35)
где qi = 0, 1, k — 1; с® представляет собой произве-
дение членов S{ViN2Vi, ..., N^.-Pi.
При этом нулю в /, выраженном в системе счисления
с основанием k, соответствует Si в с®; единице соответ-
ствует Vi, двойке N2Vi, ..., k — 1 соответствует N^_,Vi,
для каждого Vi, c'i представляет произведение членов
(Vi~qi), ^2(vi — qi)..... ^n-i(Vi — qi) для тех перемен-
ных, которые входят в e®fcs, является производной отно-
сительно всех членов, входящих в с®.
3
Для k—4 и п = 5 числу j = 20 130 соответствует
и c'i^=N2(v, — q,)(v3 — q3) Ns(vt—qt).
Пример 8-5. Для k—3 и п—г=2 полином имеет в самом общем
случае вид:
f{v„ Vi) = fStSi(ql, qj + (Vi — qJ vViSt(q,, q2) +
+ N2 (y, — q,) (qi, 4«)+(u2 — q2) fSiVi (q„ q2) +
+ (ui — 4i) (^2 — q2) fViVt (q„ q2) + N2 (u, — qt) (u2 —
— 4a) fN2vtv2 (<h> ?2) + N2 (o2 — qz) fS1xaVt (q,, qz) +
+ (°i — <71)^2 (°2 — (4i, <72) + Wa (v, — q,) N2 (v2 —
~ 4г) (4i- 42)-
Для доказательства разложения (8-35) применим
метод математической индукции. При г=1 разложение
имеет место на основании (8-34). Предположим, что оно
имеет место для 1—п—1, и покажем, что оно будет иметь
место и при i=n.
Разложим функции fvi,..., vn-i, vn> vn+i, , vr) no
переменной vn на основании (8-34):
f(vlt »n-i, vn, vn+l, ..., M = fs„(°n=:?n) +
4“ (pn J?n) f Vn (Vn == <7n) 4“ ^2 (Pn <?n) f.Va-Jn fan == 4n) ’
----— 4n)fN (vn — qn).
h- ivn
Но, по предположению, каждую из функций ft , fv ,
In# ’ In v м°жно разложить в ряд по первым
(тг—1) переменным. Тогда
f(P!.... Vn, On+i> vr) =
= S •••’ Чп, vn+i...... цг) +
n i
j=.O 1
+ («n-<7n) У CX««(<7>.......... <7n, fn+i, . MH------------
i=o " i
•• • + ^ft_,(0„-<7n) 2 C'^N vA<h’-
A”-l
•••> </n» ^n + i, •••» M== 2 •••> 4n> ^n+it •••> M-
/=0 /
Если NzO = N3Q= ... =ЛД_10=0, разложение (8-35)
не будет содержать производные относительно свобод-
ного члена, которые для этого случая не определяются.
Следовательно,
f(Ui, ..., vn, vn + l, ..., vr) =
kn-\
= 2 .... Яп, vn+l..... vr), (8-36)
/=0
где а отличается от cs} в том, что в нем нет членов Sj.
При п=г разложения (8-35) и (8-36) позволяют най-
ти коэффициенты полинома по заданной таблице истин-
ности функций. Выбор тех или иных значений q< дает
возможность отыскать полином с минимальным числом
букв.
Доказанное условие единственности представления
любой функции i^-значной логики в виде (8-27) являет-
ся не чем иным, как дополнением системы функций
суммы и произведения по модулю \k, k—2 одноместны-
ми функциями N2.V, N3v,..., Nk-iV до полной системы
функций. Эта система дает возможность полиномиаль-
ного представления функции.
Число одноместных операторов, дополняющих опе-
рации суммы и произведения до полной системы функ-
ций, можно уменьшить. В четырехзначной логике пред-
ставление функции одной переменной можно искать, на-
пример, в виде
f (v) =a0 + aiV + a2Nzv + a3vN2V.
Применяя критерий (8-29), находим, что этому усло-
вию удовлетворяют 64 функции одной переменной в че-
тырехзначной логике. Введенное понятие полиномиаль-
ного представления в этом случае расширяется за счет
того, что в элементарном произведении переменная п,
или операторы NjVt могут иметь некоторую степень.
Нетрудно видеть, что одноместные операторы NjV
можно представить следующим образом:
NjV = min(j— 1, v), /=2, 3,..., k—1.
Отсюда видно, что функции суммы и произведения
по модулю k и функция конъюнкции, представляя в лю-
бой £-значной логике полную систему функций, позво-
ляют любую функцию &-значной логики записать в виде
полинома.
Понятие полиномиального представления можно
рассматривать в более общем виде, если вместо (8-27)
искать представление любой функции одной переменной
в виде
} (п) = a0NoV + axNxV + a2N2v + . . . + (8-37)
Для такого представления полученное условие (8-29)
также остается действительным. Понятие элементарного
произведения расширяется тем, что оно будет содер-
жать произведение некоторых (или всех) операторов
NjV, / = 0, 1,2, 1.
Рассмотрим способ получения полиномиальных пред-
ставлений для случая, когда k = p— простое число. При
этом достаточно будет найти полиномы, представляю-
щие характеристические функции. Подставляя их в S—П
форму и производя умножение и сокращение, получим
искомый полином.
При простом модуле р из теоермы Ферма для срав-
нений следует:
1 (mod р)п=#0.
Умножая левую и правую части этого сравнения на
р— 1 и прибавляя 1, получим:
1+(р—l)uP~1sO(modp), о=#0.
Так как переменная v принимает значения 0, 1, ...
...р—1^все выводы можно перенести и на случай, когда
р~ 1 л р—1 \
переменная принимает значения ———, ..., О..... ~2 - 1,
можно записать:
фо(п) = 1 + (р— 1)vp-1.
Отсюда получаем:
фг(у) = 1 + (р—1) (V—Z)p-i, /=0, 1, .... р— 1, (8-38)
так как v—I становится равным нулю только при v = l.
После того как в (8-38) произведено возведение
в степень, умножение и сокращение, получаются поли-
номы характеристических функций. Степень этих поли-
номов не будет больше р—1, что следует из свойств
сравнений и что видно из (8-38).
Рассмотрим более общий случай представления ха-
рактеристических функций полиномами. Выражение
(8-38) можно записать и в виде
фг(п) = 1 + (p-l)[(v-9) + (8-39)
q, 1 = 0, 1,. .., р—1.
Из (8-39) непосредственно следует, что каждая
функция в р-значной логике может быть представлена
в виде полинома по переменным вида 0, = ^, ^ = 0, 1,. . .,
.. р—1. При этом для каждой переменной v{ значение
qi можно выбрать произвольным образом [см. (8-39)].
От выбора значений qi будет зависеть число членов по-
линома, что дает возможность частичной минимизации.
Пример 8-6. При р=3 и числе переменных, равном двум, поли-
ном имеет вид:
f(vt, v2) =a0 + ai(vi—qi) +a2(vi—<7i)2+a3(o2—Qs) +
+ ^4(0i—Qi) (v2—q2) +05(01—<7i)2(°2—?2) +fle(^2—Чг)2 +
+a7(oi—<7i) (v2—q2)2+as(Vi—qi)2(v2—q2)2,
где а7=0, 1, 2 — постоянные коэффициенты, зависящие от значений
функций на отдельных наборах '(таблицы истинности функции) и от
выбранных значений qb q2. Бодрое об определении значений а, будет
рассмотрен ниже.
Возводя в степень по биномиальной формуле выра-
жение (8-39) и подставляя в (8-25) значения ф/, полу-
чаем:
f(Vt, V2, Vr)=f (»i = 0) + f (Vi= 1)-]-H
+ Ш = l) + (p- 1)(^7 1)[t7P-1f(nl = O) +
+ (<? - l)p-*f (»< = 1) + •. • + (q - (p - l))p-*f (Vi =
=p- 1)]+(v-<?)(p- 1)(p7' [<?p‘Wi=°)4-
+ (q- l)p-2f (иг= 1) + • • • + (q - (p - 1))p-2[ (Vi =
= p-i)] + --- + (v~q)P^(p-l)^-^[f(v = O) +
+ f (°i— 1) H— ’ + f (°i = P — Ol-
Преобразуя дальше это выражение, получаем сле-
дующий результат:
р—1
f(»>...... »г->, Vi + 1, ..., 0r) = 2 =
(8-40)
где
Ч (рп ! 9Е(-/)р'г‘№==/)+
I \ t J \р —1—lJ ы
р-1
+... + ир->-^ о1 (_W(t,.=/) ,(8.41)
Назовем выражение (8-41) производной фунции f отно-
сительно v*. Из самого способа определения производной
очевидно, что выражение (8-41) эквивалентно выраже-
нию (8-33), где NjV = vi. Нетрудно также видеть, что
представление в виде полинома по степеням vf является
частным случаем (8-27). Определитель D представляет
в этом случае хорошо известный определитель Вандер-
монда.
Пример 8-7. Для р=2 выражение (8-43) дает fv =/(гп=0) +
i
+f(Ui = l). Это выражение совпадает с производной функции алгеб-
ры логики {см. (2-15), § 2-8].
Пример 8-8. Для р=3 выражение (8-40) имеет вид:
f(f>... vt-i. «о vt+i... vr) = Ж = <7t) +
+ (vi — Qi) fv (vi ~ Qi) + (vi Ql)2 f^2 (vl ~ Qi)
По формуле (8-41) получаем следующие определения производ-
ных в трехзначной логике:
= 2f (vt = 1) + f (vt = 2) + Vi If (vt = 0) + f (vt = 1) +
+ f (f* =2)];
f„2 = 2 If (Vi = 0) + f (vf = 1) + f (vt = 2)].
i
Исходя из формулы разложения (8-12), получаем разложение
в ряд вида (8-36).
Особенностью представления функций fe-значной ло-
гики в виде полинома, получаемого разложением в ряд,
является то, что одна и та же переменная входит вовсе
члены полинома в виде Vi—qt. Покажем, что в случае
простого k=p можно не во всех членах брать перемен-
ную v—qi.
Разложение (8-36) при qi = qz = • • • =qP-i = 0 для
п = г можно представить в виде
f (fi,.... »г) =ao + airi+ • • •
...+ajCj+... + apr_J cpr_t , (8-42)
где a, = fCi(O, 0, ..., 0), а, как и в (8-36), a NjV = vj.
Множество всех функций г переменных, представ-
ленных в виде (8-42), дает рг — димензиональное век-
торное пространство над полем чисел mod р. Базис это-
го векторного пространства составляют Cj, j—i, 2,...,
..р—1 и константа 1, что следует из единственности
представления любой функции р-значной алгебры по
этим векторам. Тогда определитель, составленный из ко-
ординат этих векторов, отличен от нуля:
£) =
1 С] (0,0....О, 0) с2 (0, 0...О, 0) ... с . (О, 0...О, 0)
р — 1
1 с, (0, 0...0, 1) с2(0, 0.....0, 1) ... с г (0. 0, ..., 0, 1)
р —1
1 с, (0,0.....1,0) с2 (0,0.....1,0)... с _ ,(0,0....1,0)
р —1
1 с.(р—1.Р—2) сг(р— 1.р—2)...СрГ_1(р—\,...,р—2)
1 САР—1..Р— О с2(р—1.........р—1)
7^ 0 (mod р}.
Обозначим через вектор, который от а отличается
тем, что i-я компонента Cj в Cj4i имеет вид Vi — qt, qi =
= 1, 2, ..., р— 1. Его можно однозначно представить
в виде
—• b0 -[- bicl + • • • + bjCj + • —|- Ьрг_хсрг_у
Отсюда
BjCj -]- • • • Bj _ tcj _ j
Ч~ а -ф- Bj+1cj+1 + • • • + y (8-43)
где
Если в j-й столбец определителя D добавить осталь-
ные члены, умноженные на коэффициенты Bit i = 0, 1, ...
..., pr—1, то D не изменится. Но тогда /-й столбец пред-
ставляет собой вектор Bcjq,.
Отсюда делаем вывод, что получили новый базис,
имеющий вместо вектора а вектор с,ч_.
Можно показать, что это свойство обобщается и для
любой системы одноместных операторов в р, удовле-
творяющих условию полиномиального представления
(8-29). Для этого надо в с, вместо v^, t = 2, 3, .. ., р—1,
подставить операторы NjCj.
Будем говорить, что й-значная логическая функция <р(х) пред-
ставляется полиномом
a1xs + as-lxa~l+ ... -t-aiX-t-Oo
по модулю k, если
<р(х) =asxs + as_ixs-1+ ... +aix + ao(modi6).
Аналогично определяется полиномиальная представимость по мо-
дулю k логических функций от п переменных.
Обозначим символом R(k, п, I) множество всех тех и только тех
fe-значных логических функций от п переменных, которые представ-
ляются полиномами от п переменных, степень которых по каждой пе-
ременной не выше I. Символом m(k) обозначим такое наименьшее
натуральное число, что множество R(k, п, m{k)) совпадает с множе-
ством 7?(й, п).
Минимальным полиномиальным представле-
нием й-значной логической функции <p(xi, х2, .... хп) от п пере-
менных будем называть представление ее таким полиномом от п пе-
ременных, что его степень по каждой переменной не выше m(k).
Полиномы, представляющие тождественно равные нулю й-знач-
ные логические функции, будем называть нулевыми полино-
мами. Полиномы со старшим коэффициентом, равным единице,
будем называть нормированными.
Рассмотрим сначала />а-значные логические функции, где р —
простое число, a — любое натуральное число. Укажем метод нахож-
дения т(ра) и составим таблицу значений т (р1') для некоторых
значений р и а.
Теорема 8-8. Если s! = О (mod ра), то fs~x(x — 1)... [х—
— (з—1)]—нормированный нулевой полином по модулю ра.
Действительно,
f«(0) =0, f, (1) = 0, ... , f, (s — 1) = 0, f, (s) = s! = 0 (mod У1).
Далее имеем
(s 4- fe)1
f. (s + k) =--L-=s-cs+k= 0(modA"1).
что и требовалась доказать.
Легко доказать и обратное утверждение.
Теорема 8-9. Если f (х) — х3 + а^рс3-1 + ... + а0 — нор
мированный нулевой полином по модулю р”', то з! = 0 (mod ра).
Обозначим символом s (р11) наименьшее целое положительное
число, удовлетворяющее условию з (/?“)! = 0 (mod />“). Тогда т (ра) =
= « (ра) - 1 •
Так как s (р“)! = 0 (mod ра), то fs (р*) = х (х—!)...[%—-
— з (р)а—1] — нормированный нулевой полином по модулю ра. Но
так как (s (р11) — 1)! ф 0 (mod ра), то не существует нормированного
нулевого полинома по модулю р’1' степени, меньшей з (р11). Пусть
?(x)G^(Jo11, 1) и f (х)— полином, представляющий у (х) по модулю
/?“. Вычитанием из полинома [ (х) нормированного нулевого полино-
ма fs(pOt^ ПО модулю р* можно
полином f (х) заменить полиномом
g(x), представляющим функцию у(х), но имеющим степень, равную
s (ра) — 1. Из этого следует, что /?(ра, 1) совпадает с R(pa, 1,
s (ра) — 1). Пусть теперь (х) р“-значная логическая функция, ко-
торая представляется нормированным полиномом f, (х) степени
s (/>“) — 1. Так как не существует нормированных нулевых полино-
мов по модулю р’1' степени s (р* )—1, то степень полинома Л(х)
понизить нельзя. Из этого следует, что R(pa, 1, s(p“)—1) — соб-
ственное подмножество множества R (р*, 1), т. е. s (ра) — 1 удов-
летворяет определению т (/>“).
Заметим, что s (ря) = 0 (mod /Л), т. е. s (ря) = ур, что следует
из определения s (р11).
Вычисление s (/>“) можно производить по следующей рекуррент-
ной формуле.
Если s (р“—') — \р, а у! = р^х', где (у', р)=1, то
s(p’l)= J s(/,a ) = ж если * +
I (У + 1) Р, если k + у < 0.
Действительно, так как s (/»“ 1)=ур, то
(у/>)! = 0 (mod'), (у/)—1)! ф Ofmodp11 ').
Но если (ур)! =/>7у! У1. где (уь p) = 1, то (у/;)! = /’Т+*У1У'.
где (уп', р) = 1.
Из последнего равенства н того, что (ур—l)!^-.0(mod /»“), сле-
дует справедливость показываемой формулы.
Используя равенство т (ра) = s (/>“) — 1 и доказанную рекур-
рентную формулу, составим таблицу значений т (ра)
а р
2 3 5 7 11 13 17 19 о о 29
1 1 2 4 6 10 12 16 18 22 28
2 3 5 9 13 21 25 33 37 45 57
3 3 8 14 20 32 38 50 56 68 86
4 5 8 19 27 43 . 51 67 75 91 115
5 7 11 24 34 54 64 84 94 141 144
6 7 14 24 41 65 77 10 113 137 173
7 7 17 29 48 76 90 118 132 160 202
8 9 17 34 48 87 103 135 151 173 231
9 11 20 39 55 98 116 152 170 206 260
10 11 23 44 62 109 129 169 189 229 289
11 13 26 49 69 120 142 186 208 252 318
12 15 26 49 76 120 155 203 227 275 347
13 15 26 54 83 131 168 220 246 298 376
14 15 29 59 90 142 168 237 265 321 405
Пусть теперь /г = р^'р^ р*а — разложение k на взаимно про-
стые множители, тогда справедлива следующая формула:
т (k) = max {т (р*1), fnfpg'), ... , m(p*s)}.
Действительно, представим полином f (х) по модулю k в системе
остаточных классов с основаниями р*', р??, , p*s‘ в виде вектора
(fi (х), f2 (х).fs(x))’ гДе fi (*) являются полиномами по модулю
р*1. Но для каждого полинома ft (х), i = l, 2...s, можно ука-
зать такой полином Д<(х), где i= 1, 2, ... , s, степени не выше
т (р**), который представляет ту же //д-зиачную логическую функ-
цию, что и полином fi(x). Тогда, очевидно, полином g(x), который
в системе остаточных классов изображается вектором. (gi(x),
gz(x).....gs(x))> будем представлять ту же й-значную логическую
функцию, что и полином f(x).
Так как, кроме того, существуют такие /^‘-значные логические
а .
функции, которые не представляются полиномами по модулю p-t 1
степени ниже т (р**), то имеем:
т (k) = max {т (р*1}, т (р^), ... ', т (/£“)},
что и требовалось доказать.
Обозначим символом Р | (/г, п) |—мощность класса fe-значных
логических функций от п переменных, представимых полиномами по
модулю k. Символ J (р*, п) обозначает множество полиномов по мо-
дулю k от п переменных, представляющих функцию, тождественно
равную нулю.
Перейдем к вычислению ]/?(&, 1)| или k — р'1 (р— простое чис-
ло), для чего докажем несколько вспомогательных утверждений.
Теорема 8-10. Произвольный полином g (х)& (ра, 1), не
Являющийся, нуль-полиномом, имеет степень s ,= р.
Действительно, для а=1 утверждение очевидно. Пусть утверж-
дение справедливо для a^t и допустим, что для а=Д+1 оно не
верно, т. е. предположим, что существует полином
(%) = ap-jX?"1 + ар_гхР-2+ ... + ajX; gt (x)(=J (р‘+‘, 1).
Тогда для всех bi, таких, что 6i=ai(modp()> полином
Й2(Х) =&Р-1ХР-1 + &р-2ХР-г +... 4-&1Х
принадлежит /(р1, 1).
По предположению индукции 6i=0(modp()> т- е- ai = ₽iPi. Под-
ставив значения а, в gi (х) и сократив затем все коэффициенты щ и
модуль на р‘, мы получим полином gs(x) с ненулевыми коэффициен-
тами из I(р, 1) степени, меньшей р, что противоречит индуктивному
предположению.
Заметим, что полином степени р
и (х) = р'1 'х₽ — ра ’х
представляет функцию, тождественно равную нулю по модулю
т. е. и (х)(=/(/А 1), что следует из теоремы Ферма.
Пусть g (х) = J (рл, 1) — полином степени s (ра) = т (/>“) + 1.
старший коэффициент которого взаимно прост с р, и пусть при этом
старшие коэффициенты всех полиномов из J (рл, 1), степень каждого
из которых меньше или равна т (рл), делится на р. Все функции из
класса R(p\ 1) можно представить полиномами степени, меньшей
или равной т (рл), в чем можно убедиться,используя теорему о деле-
нии с остатком. Если [!>а, то, очевидно, т (р$) т (/>“).
Теорема 8-11. Если
g(x) = pl-x‘ + a.-jX’-’-b ... + а>х, g (х)е/ (р“. 1),
где s удовлетворяет неравенству /п (//*~~T)<s < и (//’1~T+I), то
все коэффициенты at делятся на р^ (af=a'tp\ i—l, 2, ... ,s—1).
Каждый коэффициент at можно представить в виде at =
Y
= а-ip *, (a4, p)=\t и пусть для определенности , = min {yt}.
I
Тогда полином
gi (x) = P T,-Ixs + a.-jX®'1 + ... + ОЦ//1 T,-Jx,
g, (xje^/-7®-1, 1).
Так как s m (pa~т), то существует полином
g2 (x) = x! + ^-jX’-* + ... + p3x; g2 (x)eJ (p01-1, 1).
Тогда полином
g3 (*) = p1~1,-'x‘ + &s + 1/ Ts-*x’-’ + ... + 's~’x<=
D-
Полином gi (x) — g3 (x) из J (p* T>-1, l) равен
(“s-i —&.-i)x‘-’+...+(ац»Т1 т*-* — ^р* 1‘~'}х.
Старший коэффициент этого полинома взаимно прост с р, поэто-
му т (рЛ Т*“ ’) < s — 1 < з. Но так как по условию т (рЛ~^ ) <з<
s<: т (,рЛ~т+'), то т (рЛ т,->) < т (рЛ~т+1), откуда у,_1 >
>у — 1 или Y»-i>Y-
Последнее и означает, что af можно представить в виде af =
= (a'f, р)=1. _
Если s удовлетворяет неравенству т(ра т) < s < т (рЛ 1+1 ),
то существует некоторый полином вида
g(x) = р^х‘ + а,_!Х!-* + ... -}- aiX G / (р“. 1).
Действительно, из з > т (рл *) следует существование полинома
вида
gI(x)=xs + &s-1xs-*4-...+61xS/(рл~\ 1),
откуда
g2(x)=-/’Tx, + pT&,->x*-* + +p76,xs/(/’“, 1).
Теорема 8-12 Пусть s удовлетворяет неравенствам
<s=</n (/>”‘~т + 1). Пусть далее Тогда всякий иол«-
ном вида g (х) = $х‘ + bs _ tx’ ~1 + ... -|- btx не может принад-
лежать J (ра, 1).
Предположим, противное: пусть g(x) €=/(/>“, 1). По доказан-
ному (t = 1, 2... s—1), откуда gi (%) = №-Ms-iX
Xxs-*+ ••• +P,xS/(p“^).
Так как (5<у, то_т (ра~& т (pII“T + 1 ) з.
Но тогда £1(х)ё=/ (РЛ~$. О- Полученное противоречие дока-
зывает сформулированное утверждение.
Теорема 8-13. Для любой функции <р (х) €= R(p*, 1) суще-
ствует один и только один представляющий эту функцию по-
лином степени ^.т(рЛ), такой, что
(V I) {т (р“~₽)) < т(/Л~?+1) =?> а*<р₽).
Так как <р (х) €= R (рЛ, 1), то у (х) представляется некоторым
полиномом f (х) степени ^т(рЛ).
Путем последовательного вычитания многочленов
/^Х‘ + &1_1Х‘+* + ... + &iX €=/ (р*, 1)
можно этот многочлен заменить многочленом, который представляет
функцию 1<р(х) и удовлетворяет условиям теоремы.
Допустим, что два различных полинома, удовлетворяющих усло-
виям теоремы, задают функцию <р(х). Тогда их разность г(х) будет
многочленом из 1(рЛ, 1) степени IsZm (рЛ). Пусть I удовлетворяет
неравенствам
т (рЛ~?) <1<т (р“-?+1).
Тогда at<Zp^ и по теореме 8-12 полином г(х) не может при-
надлежать /(/>“, 1). Полученное противоречие доказывает утверж-
дение.
Так как мощность класса всех полиномов, удовлетворяющих ус-
ловию теоремы 8-13 равна | R. (рЛ, 1)] то получим следующую основ-
ную формулу:
1) I =(ух)т(Р)+» ... р”ЧРа)-т(Ра‘~1) .
(8-43)
Положим //г(р°)=—1, тогда формула перепишется более ком*
пактно
а
2 >["1(Ра“‘ + 1 )— т(рЛ~1)]
|R(p“. i)l=pi=1 )•
Пусть теперь функция у (хп х2.........хл) представима в виде
полинома х*[, (х2....х„)+...+^(х2, , х„) по модулю р*. т. е.
?(%!, х2, .... хп) £=, п). Рассмотрим теперь произвольный на-
бор (а2, а3....ап) значений аргументов функции f(x2, х3....хп) е
€=/?(/>“, п—1). Каждое aj(j = 2, п) заменим сравнимым с ним
вычетом pj, взятым из полной системы наименьших неотрицательных
вычетов по модулю р'. Значение функции f(x2, хз, ..., хп), равное
f(a2, аз, .. ., ап), заменим сравнимым с ним вычетом из системы
наименьших неотрицательных вычетов ио модулю р'. Этот последний
обозначим через £(р2, ₽з, ..рл). Тем самым мы определим функ-
цию g(x2, Хз, .... хп) из R(p', п—1). Описанный способ построения
функции g(x2, Хз.....Хп) естественным образом определяет отобра-
жение
п — 1) -> R^p*, п — 1); (1 = 1, 2, .... а).
Разобьем множество Р(рл, п—1) на классы: в один и тот же
класс будем относить те элементы R(pa‘, п—1), образы которых
при отображении ф совпадают. В каждом классе зафиксируем по
одному элементу. Обозначим через М(р', п—’1) множество фиксиро-
ванных представителей этих классов. Ясно, что |Al(pY, п—1)] =
= \R(p{, п—1)|.
Теорема 8-14. Для. любой функции <f (хп ...,хл)£=/? (Ра, п)
существует один и только один полином вида
т(рх)
gi (Х2> ..., Хп),
1=0
где gi(x2...... х„) е -W (/Я, п — 1). если т (р“—т) < г
«С т (/?a—T+I).
Как следствие этого утверждения, получим следующую формулу:
a
|/?(/А «) I =П|/?(Р‘. n — 1) I + 1 . (8-44)
1=1
Представляя полиномы по модулю k в системе остаточных классов
с основаниями />“*, .... p^s, легко устанавливается справедливость
следующей формулы:
k
|7?(fe, «)|=П |Я (р“‘, п)|, (8-45)
1=1
которая вместе с формулами (8-44), (8-45) позволяет вычислить мощ-
ность класса fe-значных логических функций от п переменных, пред-
ставимых полиномами по модулю k.
В качестве примера подсчитаем количество функций, представи-
мых полиномами по модулю 24-32.
По таблице значений т (рл) находим:
/п(2) = 1, m(22)=3, m(2»)=3, m(2‘)=5, т(3)=2, /п(32)=5.
Применяя формулу (8-43), вычисляем значения
|/?(2, 1)| =22, |7?(22, 1)| =2», |/?(2», !) [ =210,
|/?(24, 1)1=21», |/?(3, 1)|=33, |7?(32, 1)|=3».
Подставляя эти значения в формулу (8-44), находим:
|7?(24, 2) |=25», |Я(32, 2) |=3»»,
а по (8-45) получаем:
R |'( 144,2) | = |7?(24, 2) | |7?(32, 2) | =25» 3»».
ГЛ АВА ДЕВЯТАЯ
ТРЕХЗНАЧНАЯ ЛОГИКА
9-1. ОСНОВНЫЕ ПОНЯТИЯ
При k = 3 получаем, что функции п переменных за-
даются с помощью таблиц с числом строк, равным Зп,
и существует З3" различных логических трехзначных
функций, зависящих от п переменных. Основные логи-
ческие функции, введенные нами в предыдущей главе,
задаются с помощью следующих таблиц:
V 4>о Ф2 Инверсия Цикл
0 2 0 0 2 1
1 0 2 0 1 2
2 0 0 2 0 0
fl fa min (fn fa) max (Pl, p2) Функция Вебба Сложение no mod3 Умножение по mod 3
0 0 0 0 1 0 0
0 1 0 1 2 1 0
0 2 0 2 0 2 0
1 0 0 1 2 1 0
1 1 1 1 2 2 1
1 2 1 2 0 0 2
2 0 0 2 0 2 0
2 1 1 2 0 0 2
2 2 2 2 0 1 1
Функции, определяемые этими таблицами, мы будем
обозначать обычным образом, используя символику,
введенную нами для функций алгебры логики:
цикл f(u) =v;
инверсия f (v) =v\
minfcj, t»2), f(y, у2) = о1&у2 = о1у2;
max(yi, v2), f(Vi, v2)=vi\/ v2;
функция Вебба f(vlt v2) = v! j v2;
сложение no mod 3 f (vlt v2) = v1^v2,
умножение no mod 3 f (vlt v^ = v^v2.
Для введенных нами функций имеют место следую-
щие соотношения, справедливость которых вытекает из
способа задания основных трехзначных логических
функций:
ц = W — V, у©0 = у;
и-0 = 0; v\/-v = v,
о (9-1)
и- 2 = v; v = v;
ц\/2 = 2; У0О = О;
уХ/О — v’ u®l=v.
Функции конъюнкции, дизъюнкции и инверсии связа-
ны между собой формулами де Моргана.
•и V & V vVv v\/v
0 1 2 1 2 2
1 2 0 2 1 2
2 0 1 2 2 1
Из этой таблицы следует:
?<> (v)=v\/ V,
?! (v) — v V v\ ! (9-2)
?2 (v) = v\/v. )
Кроме того,
Vy Vy — 2. (9-3)
Рассмотрим таблицу задания функции следующего
вида:
f(v) = ?o(v) V?2(y)-
V V V <Ро W Т»(“) f
0 1 2 2 0 1 2
1 2 0 0 0 1 1
2 0 1 0 2 0 0
Отсюда вытекает, что
v = v \/ v v \/ V.
Из соотношений (9-2), (9-4) и формул де Моргана
вытекает теорема о полноте системы Поста в трехзнач-
ной логике.
Теорема 9-1. Любая троичная функция может быть
выражена через дизъюнкцию и циклическое отрицание.
Теорема 9-2. Функции Вебба образуют полную си-
стему (систему Вебба).
Справедливость этого утверждения вытекает из того,
что
С J
j V2 = V\/ V2
И
v = V j V.
Полнота системы, состоящей из циклического отри-
цания и дизъюнкции, доказана в предыдущей теореме.
Следовательно, функция Вебба образует полную систе-
му.
Теорема 9-3. Функции сложения по модулю три,
умножения по модулю три и константа единица обра-
зуют полную систему (эта система есть модульная ло-
гика).
Для доказательства отметим, что
Теперь рассмотрим таблицу следующего вида:
Vi fl и*1 ра* f
0 0 0 0 0 0 0 0
0 1 0 2 0 0 1 1
0 2 0 0 0 0 2 2
1 0 2 0 0 0 1 1
1 1 2 2 1 1 2 1
1 2 2 0 0 2 0 2
2 0 0 0 0 0 2 2
2 1 0 2 0 2 0 2
2 2 В эт< 0 эй табли 0 це V*i- 0 = Vi ® (у i=l,2 1 2-Ф1), 1 2
и
f = [f*i 0 f*2] ф Ь 0 ф ф У21-
Из рассмотренной таблицы следует, что
». V »! = К»1 0 ф 1 )) ® (^2 ® (V2 ф 1))] Ф
ФЬ0у2]'Фкфу2]-
Теорема доказана.
В полных системах Поста, Вебба и модульной систе-
ме аналитическое выражение функций трехзначной ло-
гики получается довольно громоздким и менее прозрач-
ным, чем в системе Россера, Тьюкетта или при пред-
ставлении функции в виде ТДСНФ или ТКСНФ.
Рассмотрим теперь полиномиальные представления
в трехзначной логике, общий вид которых рассматри-
вался нами в предыдущей главе. Для любой троичной
функции будем искать ее представление в следующем
виде
f (у) = аоФа1уФа2^>
где у = 0, 1, 2, а о —некоторая функция одного перемен-
ного.
1 Для удобства знак умножения по модулю 3 опущен.
Когда v принимает последовательно значения 0, 1, 2,
о принимает значения «о, mi, т2. При этом в соответст-
вии с (8-28) имеем
D=- m = m0 ф wij 0 m2 0 (mod 3).
Этому условию удовлетворяют 18 трехзначных функ-
ций одной переменной, представленные в следующей
таблице:
Любая из этих функций вместе с функциями сложе-
ния и произведения по модулю 3 образует полную си-
стему. В частности, при n = /iia=u2 (mod 3) мы получаем
базис, дающий полиномиальное представление по степе-
ням V. Для любого выбора из 18 перечисленных функ-
ций !.
f(vlt v2, .... vn) = fSi(vi = qi)^(vi — qi')fv.(vi =
= Яг) © (v~—qij fv~& = 4i), (9-5)
где производные определяются по формулам:
^=н^=^Фо)е^[/(цг.=Уг.фо)ен^=
= vi Ф 1) ф f (Vi = пг-ф 2)1;
~ Ф 2m2)j f = vt ф 0) ф (2m0 © m2) f (vt =
= vi © О Ф (m0 © 2m2) f = Vi © 2)j;
= ^©2)].
(9-6)
1 Знак вычитания есть знак операции вычитания по модулю 3.
Нетрудно показать, что можно определить производ-
ные другим, эквивалентным (9-6) способом:
h7=4 &=°) Ф 1) Ф f <v*=2)1;
\ = пГ Кт’ Ф 2т^ f ^ °) Ф (2т0 Ф т2) f (Vi =
— 1) ф (2т, © тв) f (Vi = 2) © ;
fSf = f (vi=Vi © 0) © 2tnaf-- .
* I
Для любого выбора а из 18 указанных функций
имеет место разложение в ряд типа (8-34), а для
случая v = h3, he, h9, h^, hK, fi2i, для которых выпол-
няется условие то = О, имеет место разложение вида
(8-35).
Как уже отмечалось в гл. 8, для трехзначной логики С. В. Яб-
лонским был найден критерий полноты. Для того чтобы сформулиро-
вать этот критерий, введем. 18 специальных классов троичных функ-
ций:
1. Класс М,, состоящий из монотонных функций, дли которых
при сравнении наборов аргументов принято, что 0<1 <2 (см. § 1-6).
2. Класс ЛК, состоящий из монотонных функций, для аргументов
которых принят порядок 1 <2<0.
3. Класс монотонных функций Мз, для аргументов которых при-
нят порядок 2<0<1.
4. Класс Т,, состоящий из функций, существенно зависящих
только от одного переменного, и из функций, у которых в столбце,
их определяющем, отсутствует любое одно значение.
6. Класс Т2, состоящий из функций, которые на наборах аргумен-
тов, содержащих только 0 и 1, принимают значения 0 или 1.
6. Класс Т3, состоящий из функций, которые на наборах аргу-
ментов, содержащих только 0 и 2, принимают значения 0 или 2.
7. Класс Г4, состоящий из функций, которые на наборах аргу-
ментов, содержащих 1 и 2, принимают значения 1 или 2.
8. Класс Т5, содержащий функции, сохраняющие константу нуль.
9. Класс Т6, состоящий из функций, сохраняющих константу 1.
10. Класс Т7, состоящий из функций, сохраняющих константу 2.
Г1. Функции класса R,, относящиеся к этому классу, обладают
следующим свойством. Пусть <»*i, v*2, .... о*п>—-некоторый на-
бор значений аргументов, состоящий только из 1 и 2.
Зафиксируем его. Рассмотрим все возможные <v,, v2, . . vn>,
такие, что На множестве этих наборов функция может при-
нимать значении 1 и 2, но не значение 0.
12. Класс ^2- Формируетси аналогично классу Ri, но с заменой 1
на 0 и 0 иа 1.
13. Класс R3. Формируется аналогично классу R,, но с заменой
2 на 0 и 0 на 2.
14. Класс C/i. Функция f принадлежит этому классу, если для
любых чисел lsgtisgi2< ... иа всех наборах аргументов
<щ, ц2, • • •. «»>, таких, что
= /2, / = <т(от = 1. 2..q),
j (0 или 1—в остальных случаях,
функция f либо принимает лишь значения 0 или 1, либо тождествен-
но равна 2.
15. Класс U2. Формируется аналогично классу Ui, но с заменой
2 на 1 и '1 на 2.
16. Класс Us. формируется аналогично классу Uit но с заменой
2 на 0 и 0 на 2.
17. Класс L, состоящий из линейных функций.
48. Класс S, состоящий из самодвойственных функций. Функция
f(vi, о2, ..., vn) является самодвойственной класса S, если имеет
место равенство
f(Vi® 1. «i®l, •••, Wn®l) = f(fi. V2, .... ti„)©l.
Теорема 9-4. Для того чтобы система функций ft, f2, ..., fn
была полна в трехзначной логике, необходимо и достаточно, чтобы
эта система не содержалась целиком ни в одном из вышеуказанных
классов.
Следствие. Из всякой полной системы можно выбрать пол-
ную подсистему, состоящую не более чем из 18 функций.
9-2. МОДЕЛИРОВАНИЕ ОСНОВНЫХ ТРЕХЗНАЧНЫХ ФУНКЦИЙ
В этом параграфе мы рассмотрим в качестве приме-
ра два возможных способа моделирования основных
трехзначных логических функций.
Первый способ исходит из того, что необходимо смо-
делировать трехзначные (и вообще й-значные) логиче-
ские функции на базе двоичных элементов. Общая по-
становка такого подхода была рассмотрена во введе-
нии. А именно, было показано, что при переходе от
й-ичных логических элементов к двоичным элементам
число двоичных элементов, затрачиваемых на модели-
рование одного й-ичного элемента, определяется из сле-
дующего соотношения:
N== ([log2*l+ 1,
I n, k = 2n.
Таким образом, для трехзначных элементов при за-
мене каждого троичного элемента двоичными требуется
[logs 3]+1 = 2 двоичных элемента.
Но два двоичных элемента имеют четыре устойчивых
положения. В результате этого при реализации трех-
значной функции возникнут неиспользуемые комбина-
ции, т. е. двухзначные функции, кодирующие трехзнач-
ные функции, будут не полностью определенными.
Рассмотрим, например, двоичное кодирование пол-
ной системы, приводящей к нормальной сигма — пи
форме.
Для реализации этой системы необходимо произве-
сти моделирование констант 0, 1 и 2, функций фДц) и
функций сложения и умножения по модулю 3. Если
установить систему кодирования троичных значений
в двоичном коде в виде
0 — 0 0;]
1-0 1; (9-8)
2 - 1 0,1 ।
то для записи и передачи любого троичного переменного
необходимо использовать две двоичные переменные xi
и хг. Между переменными и и парами (xi, х2) установ-
лено взаимно однозначное соответствие (9-8).
Функции фДц) кодируются следующим образом:
V Xi х3 fl f2 ’о 'о fl f2 0 'о f1 f2 2 *2
0 1 2 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
или
Xi x3 fl f2 0 'o a f2 'i 'i fl f2 '2 '2
.0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0
X1 X3 fi f2 '0 '0 4 f2 fl f2 2 2
1 0 1 1 0 0 * * * 0 * 0 0 1 * *
На последнем наборе функции не определены. Оче-
видно, что в рассматриваемом случае наиболее выгод-
ным доопределением всех этих функций на наборе
<1, 1> является доопределение нулем. Тогда мы полу-
чим:
fo = fi=f2 = 0’ fo = MX2;
Теперь рассмотрим кодирование функций сложения
и умножения по модулю 3. На основании таблицы опре-
деления этих функций и соотношения (9-8) получаем:
fl v. fl Vl®vt
Хз Xt Хл х4 fl f, fa ft Xi Xa Хз х4 fl f, f, fl
0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0
0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0
0 0 1 1 * * * * 1 0 1 1 * * * *
0 1 0 0 0 1 0 0 1 1 0 0 * * * *
0 1 0 1 1 0 0 1 1 1 0 1 * * * *
0 1 1 0 0 0 1 0 1 1 1 0 ♦ ♦ * *
0 1 1 1 * * * * 1 1 1 1 * * * *
На рис. 9-1 показаны кубы и доопределение до мини- мальной ДНФ для всех функций __ fi С^х» -^2» "%3t Х4) — f2(x„ х2, х3, X4) = X1XSV Х3Х3Х^\/ XiX3Xt, f3(xt, х2, х3, Х2, х3, Х4) = Х3Х^ х,х3.
На рис. 9-2 и 9-3 показаны функциональные схемы,
Рис. 9-2.
выполненные на типовых
двоичных элементах типов
НЕ, И и ИЛИ, реализующие
полную систему трехзнач-
ных логических функций.
Второй способ моделиро-
вания трехзначной логики за-
ключаются в создании функ-
циональных элементов с тре-
мя устойчивыми -состояния-
ми, с квантованием сигнала
до трем условиям.
В качестве первого при-
мера такого подхода рас-
смотрим полупроводниковые
схемы для трехзначных
функций, разработанные в
США и опробованные в ря-
де специальных устройств
автоматики и телемеханики.
В этих элементах приня-
та следующая система ана-
логий:
положительный потенци-
ал— 0;
нулевой потенциал — 1;
отрицательный потенциал — 2.
Практически в описываемых схемах положительным
потенциалом считается потенциал, больший или равный
Рис. 9-3.
1,5 в, нулевым — потенциал, по модулю не больший
0,6 в, а отрицательным — потенциал, меньший или рав-
ный—1,5 в. В схемах использованы обычные промыш-
ленные транзисторы и сопротивления.
1. Инвертор. Инвертор является функциональным
элементом, реализующим функцию инверсии. Схема ин-
вертора дана на рис. 9-4. Если уровень входного сигна-
ла примерно равен нулевому потенциалу, то оба тран-
зистора закрыты и уровень выходного сигнала также
приблизительно нулевой. При положительном входном
потенциале (т. е. при подаче нуля на вход инвертора)
транзистор Л открывается
Рис. 9-4.
и потенциал его коллектора
уменьшается. Когда уровень
входного сигнала достигает
+ 2 в, Т\ открыт полностью,
а на выходе инвертора об-
разуется отрицательный по-
тенциал, величина которого
определяется напряжениями
и U*z и сопротивлениями
7?i, Т?2 и 7?3. При £7*2=—6 в,
£71=1,5 в и выход-
ной потенциал равен —2 в
или еще меньше.
Если входной сигнал яв-
ляется отрицательным, то от-
крывается транзистор Тг, и
при входном сигнале—1,5 в
или более низком на выходе
элемента инверсии появля-
ется потенциал, больший или
равный +2 в.
2. Троичный триггер. Со-
единим с выходом построен-
ного нами инвертора вход обычного инвертирующего
усилителя. Выход с этого усилителя подадим на вход
того же инвертора. В результате получим схему с тремя
устойчивыми состояниями — троичный триггер (рис.
9-5). Точка А характеризует выход троичного инверто-
ра. В этой точке мы получим инверсию входного значе-
ния. Рабочий режим транзистора Т3 выбран таким обра-
зом, что имеется соответствие между потенциалом в точ-
ке А и потенциалом на коллекторе Tst
Потенциал в точке А
—2 в
О
+2 в
Потенциал иа коллек-
торе Т,
+3 В
О
-3 в
Таким образом, напряжение на коллекторе Т3 совпа-
дает по фазе с входным напряжением полной схемы, но
по величине оно несколько превышает входные номи-
налы, за счет чего и обеспечиваются необходимые устой-
чивые состояния.
3. Троичный цикл. Такой функциональный элемент
предназначен для осуществления операции циклическо-
го отрицания в соответствии с таблицей задания соот-
Рис. 9-5.
ветствующей функции. Схема такого элемента дана на
рис. 9-6. Если на вход схемы поступает нуль (т. е. +2 в
или больше), то за счет подбора величин сопротивле-
ний Ri, R2 и R3 транзистор Т2 открывается. При этом
на выходе каскада повторителя на транзисторе Т3 уро-
вень сигнала равен приблизительно 0 (т. е. на выходе
выдается единица). Если входной сигнал близок к 0, то
потенциал базы близок к нулевому, и при правильном
подборе сопротивлений в делителе Rh R2, R3 транзистор
Т2 поддерживается в открытом состоянии. При этом вы-
ходнои сигнал транзистора Т3 составляет около — 2 в.
Наконец, при подаче на вход схемы логической двойки
(—2 в) Т2 закрывается и делитель, состоящий из Rlt Rz
и Rlt обеспечивает выходной сигнал около +2,3 в.
Другой вариант элемента, реализующего цикличе-
ское отрицание, предложен
+ 6в
Рис. 9-6.
Б. В. Белоусовым. Этот эле-
мент показан на рис. 9-7.
Элемент состоит из инверто-
ра, источников напряжения
1 и 2 диода и нагрузочного
+
Рис. 9-7.
резистора. Когда на входе элемента имеется напряже-
ние, соответствующее значение аргумента 0 или 1, ин-
вертор остается запертым за счет источника 2, а на вы-
ходе элемента появляются напряжения, соответствую-
щие входному со сдвигом на величину напряжения
источника 1. Уровень, даваемый этим источником, под-
бирается так, чтобы добавление этого напряжения пере-
водило 0 и 1 на входе соответственно в 1 и 2 на выходе.
Если на вход элемента поступает напряжение, сопостав-
ляемое значению аргумента 2, то источник напряже-
ния 1 открывает инвертор, диод запирается и на выходе
элемента — потенциал, сопоставляемый значению аргу-
мента 0. Инвертор может быть выполнен как на лампах,
так и на полупроводниках. В качестве источника 2
Б- В. Белоусов использовал полупроводниковый стаби-
литрон Д-808, а в качестве источника 1 — делитель на
сопротивлениях.
4. Элемент, реализующий характеристические функ-
ции фг(у). На рис. 9-8 приведена принципиальная схема
такого элемента. Основным узлом схемы является пара
транзистора со связанными коллекторными цепями
(дифференциальный усилитель). Если входные сигналы
отличаются друг от друга не более чем на 0,5 в,
Рис. 9-8.
то они считаются совпадающими. В этом случае оба
транзистора проводят. Транзистор Т3 п-р-п типа при
этом открыт, поскольку потенциал его базы выше потен-
циала эмиттера за счет падения напряжения на фикси-
рующих диодах при пропускании тока через 7\ и Т2. Со-
противление выходной цепи R шунтируется проводящей
цепью с транзистором Т3, и на выходе уровень сигнала
около —2Ь (т. е. выход равен двум). При несовпадении
входных напряжений либо Л, либо Т2 закрыт и на его
коллекторе напряжение понижается. В результате этого
Т3 запирается и выходной сигнал становится равным
логическому значению нуль.
5. Сумматор по модулю 3 (рис. 9-9). Транзисторы 7\
и Т2 составляют пару взаимно дополнительных усили-
телей, сигнал на выходе которой совпадает по фазе
с входным сигналом и вдвое больше его по амплитуде.
Напряжение смещения транзистора Т3 выбирается так,
чтобы сигнал через сопротивление Ri и Т?2 переключал
ток, протекающий через Д1 и /?3. При этом выходной
ток транзистора Га увеличивается.
В качестве второго примера построения троичных
элементов рассмотрим реализацию трехзначных логи-
ческих функций с помощью трехфазного кода. В каче-
стве примера рассмотрим моделирование полной систе-
Рис. 9-9.
мы трехзначных логических функций, дающей возмож-
ность строить представление любой трехзначной функ-
ции в виде ТДНСФ или ТКСНФ.
Определение 9-1. k-фазным кодом k-значной пе-
ременной называется совокупность k двоичных перемен-
ных Xi, Х2, . . ., Хь, для которых выполняется соотношение
\/ х*’ (9-9)
где дизъюнкция берется по всем
<0.1, 02, ..., «fc>,
таким, что щ=1, aj=0(/=#/), причем каждому из этих
переменных соответствует одно, и только одно значение
истинности k-й переменной.
Данное определение k-й переменной х (со значения-
ми истинности 1, 2,..., k) соответствует двухзначному
характеру высказываний вида:
«х принимает значение г», xi~ 1;
«х принимает значение j=£i», х» = 0.
Другими словами, й-фазный код позволяет сводить
реализацию ^-значных логических функций к реализа-
ции двухзначных логических функций. В частности, из
определения А-фазного кода еле-
дует, что обычный парафазный 1—----------------------*'
код двоичной переменной получа- х______
ется путем сопоставления значе- 2
нию «1» самой переменной х, т z.:
а значению «О» — ее отрицания
(или наоборот).
Для трехфазного кода на ос-
новании (9-9) имеет следующее
соотношение, связывающее фазы
Xi, х2 и х3:
XiX,A"3 \/ ХгХ2Х, \/ хгх2х, — 1.
Для значений истинности 0, 1,
2 соответствующие фазы будем
обозначать как а0. ai, «2- Для
меньшей громоздкости обозначений условимся, что х0, х<,
х2 и у0, уи у2 обозначают соответствующие фазы аргу-
ментов, a z0, zi, z2 соответствуют фазам функции. Связи
Рис. 9-11.
между фазами функции и фазами аргументов определя-
ются на основании таблиц задания этих функций:
1. Функция инверсии. Из таблицы определения ин-
версии следует, что
2г = х0; ?1=хг, г0 = х2.
Коммутация фаз показана на рис. 9-10,а, а функцио-
нальная схема, реализующая инверсию, — на рис. 9-10,6.
Обозначение на этой схеме и на последующих схемах
были введены в § 4-5.
2. Характеристические функции. Для ф0 получим:
z2=x0;
Zi=0;
za = x1 \/ х2.
Для epi и ф2 аналогично:
z2=Xi;
Zi = 0;
ха \/ хг
и
z2=Хг;
Zi = 0;
za = x0 V Х1-
Соответствующие схемы даны на рис. 9-11,6. На
рис. 9-11,а показана коммутация фаз.
3. Дизъюнкция. Из таб-
лицы задания дизъюнкции
следует, что
= хг\/ у2;
Ъ=^Да)\Кхгу;)\Дха-уау,
2» == -^о' Уо-
Соответствующая функ-
циональная схема приведе-
на на рис. 9-12,а. Конъюнк-
ция фаз осуществлена по-
следовательным включением
клапанов, дизъюнкция фаз—
либо простым объединени-
ем, как это делалось при мо-
делировании характеристи-
ческих функций, либо с по-
мощью клапанов, управляе-
мых несколькими аргумен-
тами.
4. Конъюнкция.
Z2=X2-y2-,
z, (xt-y2)\/ (х.-у.)^ (х2-у2\,
Z0 = Xg V у0.
Соответствующая функциональная схема приведена
на рис. 9-12,6.
Рис. 9-13.
В качестве примера использования рассмотренной
системы моделирования на рис. 9-13 приведена схема
одноразрядной суммирующей схемы с учетом переноса,
работающая в троичной системе счисления с кодом О,
1, 2. На этой схеме «г и bi — это значения слагаемых
в i-м разряде, сг-_! — перенос из предыдущего разряда,
Ci — перенос в последующий разряд и — значение сум-
мы в данном разряде. Фазы отмечены обычным обра-
зом.
9-3. МИНИМИЗАЦИЯ АНАЛИТИЧЕСКИХ ВЫРАЖЕНИЙ
ТРЕХЗНАЧНЫХ ЛОГИЧЕСКИХ ФУНКЦИЙ
При переходе к троичным логическим элементам при
синтезе схем вновь возникает вопрос об их миними-
зации.
Рассмотрим функцию, заданную следующей табли-
цей:
С2 7(Х'Х. о,) о» f (»1, Vi о» f (fx.
0 0 1 1 0 2 2 0 2
0 1 0 1 1 1 2 1 2
0 2 0 1 2 0 2 2 2
Запишем ее в сигма — пи нормальной форме:
f (Р„ »2) = Фо (»,) 0 Фо fa) ф Фх fa) 0 Фо fa) ® 2 ф ф1 (а,) 0)
0 Ф. fa) ф Ф2 fa) 0 Фо fa) 0 2 ф ф2 (у,) ® ф, fa) ®
02фф2(о.)0ф2 (у,)® 2.
Так как сложение по модулю является ассоциатив-
ной операцией, то вынесем из последних слагаемых об-
щий множитель
f (v„ о2) = фо fa) 0 фо fa) ф Фх (».) ® Фо fa) 0 2 ф
Ф фх fax) 0 фх fa2) ф (ф2 fax) 0 2) [фо fa2) ф фх fa2) ф ф2 fa2)]-
Но, как легко видеть,
Фо ф Фх fa/) ф’Фз fai) = 1 >•
поэтому получим:
f fa„ О2) = фо (У,) 0 фо (у2) ф ф, (vj 0 фо fa2) 0 2 ф
ф фх (»х) 0 Фх (»2) ф ф2 (»2) 0 2.
На рис. 9-14 показан куб рассматриваемой функции.
В отличие от двухзначной логики здесь куб имеет ребра
длиной, равной двум, и, кроме вершин куба, в область
определения функции входят еще точки, лежащие на
пересечении граней куба с плоскостями (на рисунке
с прямыми), проходящими через середины граней,
а также точки, лежащие на пересечении этих секущих
плоскостей. Множество этих точек разбивается на три
непересекающихся подмножества1 То, Л и Т2. К То от-
носятся те точки, которые соответствуют наборам зна-
чений аргументов, на которых данная функция прини-
мает значение, равное нулю, к Т{ и Т2 относятся соот-
ветственно точки, сопоставляемые с наборами значений
аргументов, на которых данная функция принимает еди-
ничное и двоичное значения. Нормальная сигма — пи
форма соответствует заданию суммы подмножеств Л и
Т2. Аналогичную задачу решает ТДСНФ, ТДСНФ за-
дает сумму подмножеств То и Т^.
Таким образом, задача минимизации вновь сводится
к задаче покрытия некоторого множества точек интер-
валами максимальной размерности. В то же время ясно,
что задача минимизации существенно усложняется, так
как теперь имеют место не два множества Та и Л, а три
множества То, Ли Т2. Кроме того, растут чисто техни-
ческие трудности, так как число точек области опреде-
ления функции в случае трехзначной логики с ростом
аргументов растет как Зп, т. е. значительно быстрее, чем
1 На рис. 9-14 эти подмножества отмечены различными точ-
ками.
в двухзначном случае. Геометрическое изображение ста-
новится ненаглядным практически уже при п = 4.
Пример 9-1. Написать аналитическое выражение для трехзначной
логики функции, область определения которой показана на рис. 9-15.
Пусть необходимо написать данную функцию в ТДСНФ. Для
этого мы должны учесть подмножества 7\ (на рисунке точки, отно-
сящиеся к этому подмножеству, обведены двойным кружком) и Т2
(точки этого подмножества на рисунке зачерчены). С целью возмож-
ного сокращения аналитической записи постараемся покрыть точки
соответствующих подмножеств интервалами возможно большего ран-
га. Мы видим, что все точки Tt, кроме точки с координатами (1,1, 0),
покрываются гранью куба, на которой Oi постоянно, а о2 и t>3 прини-
мают всевозможные значения. С этой гранью, естественно, сопостав-
ляется конъюнкция ф2(Г1)&1- Кроме того, точки множества Т2 могут
быть покрыты .прямыми, которые на рисунке выделены жирными ли-
ниями. Сопоставляя с этими прямыми соответствующие конъюнкции,
мы окончательно можем написать ТДСНФ данной функции:
f (u,, v2, v3) = <p2 (a,) & 1 V (ri) &fi (»2) &fo (Ц3) &1 V
V fi (ri) &fo (v2) \/ (ti,) &<f2 (a3) V f2 (г’г) &fi (Г1)-
Эти соображения показывают, что для трехзначных
логических функций можно применять классические ме-
тоды минимизации, описанные в
гл. 2, предварительно несколько
модифицировав их с учетом осо-
бенностей трехзначной логики.
Можно попытаться свести за-
дачу минимизации й-значных ло-
гических функций к минимизации
двухзначных логических функций.
Для этого необходимо ввести
специальное разбиение множест-
ва значений й-значной логики на
пересекающиеся подмножества,
содержащие по два значения.
Один из возможных способов та-
кого разбиения рассмотрен в
работе 3. Л. Рабиновича и
Ю. Л. Иваськива. На рис. 9-16,а
показано разбиение множества
значений /г-значной логики на пе-
ресекающиеся подмножества, использованное в этой ра-
боте. Элемент, входящий в общее пересечение всех под-
множеств, играет роль нуля. Для трехзначной логики
разбиение на подмножества показано на рис. 9-16,6.
Введем теперь характеристические функции б (у) и
Р(у), определяемые соотношениями:
v ,k: (9-ю)
(О, v=/=k-,
М’)= In "зФ (9-Н)
(О, v=f=k,
k'=fi, 1, 2.
Очевидно, что любая трехзначная функция может
быть представлена в следующей форме:
f(.V„ V2, Vn) = V
i=0
(9-12)
где — означает конъюнкцию либо характеристических
функций б (у), либо характеристических функций |3(у).
Выражение (9-12) распадается на две части, пред-
ставляющие собой ДНФ в двухзначной логике со зна-
чениями (0,1) и (0,2) соответственно. Отличие этих
ДНФ от ДСНФ двухзначной логики в том, что вместо
аргументов в элементарные конъюнкции входят харак-
теристические функции б (у) или р(у). Минимальное
выражение для функции из (9-12) совпадает с дизъюнк-
цией двух минимальных форм для двухзначных логиче-
ских функций из (0, 1) и (0, 2), полученных обычным
образом.
Если вместо обычной конъюнкции использовать
функцию p(vi,-V2), удовлетворяющую соотношениям
P-(vX> У2) =
(0, vIy^=v2,
1у„ vl = vs,
(9-13)
то в (9-12) вместо импликант /ф можно использовать
импликанты Qi, получающиеся из -Rt заменой операции
конъюнкции операцией, определяемой функцией ц.
В этом случае возможно дальнейшее упрощение пред-
ставления для функции f(vlt V2,. • •, vn), заключающее-
ся в замене функций б (у) и р(у) аргументами в виде v,
v или V. Возможность такой замены вытекает из следу-
ющей теоремы, доказанной в работе 3. Л. Рабиновича
и Ю. Л. Иваськива.
Теорема 9-5. Для того чтобы некоторая преобра-
зованная импликанта Qi, полученная в результате вы-
полнения в исходной импликанте всех возможных опе-
раций замены, была равносильна исходной, необходи-
мо и достаточно, чтобы в ней содержался хотя бы один
оператор из числа операторов
м»)(м»))> -61(f) (м*)). (9-м)
Решение проблем построения схем на троичных ма-
жоритарных или пороговых элементах проводится теми
же методами, что и для двоичного случая (см. § 4-7).
Интересующиеся этими проблемами могут ознакомить-
ся с работами, указанными в списке литературы к гл. 9.
Отметим, что по аналогии с материалом, изложен-
ным в гл. 5 и 6, можно развить теорию временных тро-
ичных функций и рекуррентных троичных функций. При
этом роль триггеров будут играть схемы, логика рабо-
ты которых описывается следующими соотношениями *:
1) тристабил со счетным входом
и»4+1 = ¥о (fit) wt V (fit) wt \/ <р2 (f>t) wt; (9-15)
2) тристабил типа А
wt + 1 = fit V fo (fit V fat) ®tVfi (fat) - 1; (9-16)
3) тристабил типа В
®t+1 = f it V Vo (f it V fat V fst) “»t V
V fi (fat) • 1 V (f.O “>t V ?2 (fst) tft; (9-17)
4) тристабил типа С
Wt+, = (fit V Oat) wt \/ ?o (fit) ?1 (f2t) • 1 V
V fitfo (fat) V fo (fit. fat) V wt- (9‘18)
Используя элементы такого типа, можно строить раз-
личные троичные схемы с цепями обратной связи.
1 Такие элементы и схемы из них исследовались Л. Джордже-
вичем и Ж. Тасичем.
СПИСОК ЛИТЕРАТУРЫ
В описке литературы указаны лишь те источники, которые ис-
пользовались при написании книги.
Работы общего характера
II. Логика, автоматы, алгоритмы. М.„ Физматгиз, 1963. Авт.:
Айзерман М. А., Гусев Л. А., Розоноэр Л. И. и др.
2. Вавилов Е. Н., Портной Г. П. Синтез схем электронных циф-
ровых машин. М., «Советское радио», 1963.
3. Гаврилов М. А. Теория релейно-контактных схем. М„, Изд-во
АН СССР, 1950.
4. Глушков В. М. Синтез цифровых автоматов. М., Физматгиз,
1962.
5. Лазарев В. Г., Пийль Е. И. Синтез управляющих автоматов.
М., «Энергия», 1970.
6. Миллер Р. Теория переключательных схем. Т. 1, 2. М., «Нау-
ка», 19711.
7. Рогинский В. Н. Построение релейных схем управления. М.,
«Энергия», 1964.
Глава первая
1-11. Фрейвалд Р. В. Критерии полноты для частичных функций
алгебры логики.— «Доклады АН СССР», 1966, Т. 167, № 6.
1-2. Шестопал Г. А. О числе простых базисов булевых функ-
ций.— «Доклады АН СССР», Г961, Т. 140, № 2.
il-З. Яблонский С. В. Функциональные построения в fe-значной
логике.— «Труды математического института им. В. А. Стеклова»,
1958, г. 51.
Глава вторая
2-1. Васильев Ю. Л. О сравнении сложности тупиковых и мини-
мальных ДНФ.— «Проблемы кибернетики», 1963, вып. 10.
12-2. Войшвилло К. К. Метод упрощения форм выражения функ-
ций истинности, Научные доклады высшей школы.—«Философские
науки», 1958, № 2.
2-3. Журавлев Ю. И. О различных понятиях минимальности
ДНФ. — «Сибирский математический журнал», 1960, г. 1, № 4.
2.4. Журавлев Ю. И. Оценка для чйсла тупиковых ДНФ функ-
ций алгебры логики.— «Сибирский математический журнал», 1962,
т. 3, № 5.
2-5. Иванеску П., Розенберг И., Рудяну С. Применение дискрет-
ного линейного программирования к минимизации булевых функ-
ций.— «Revue de matematiques pures et appliques», 1963, г. VIII.
2-6. Казаков В. Д. О скобочных минимальных выражениях бу-
левых функций, Duexieme Congres Mathematique Hongrois, Budapest,
1961, v. 2.
2-7. Коршунов А. Д. Сравнение сложности длиннейших и крат-
чайших ДНФ и нижняя граница числа тупиковых ДНФ, для почти
всех булевых функций.— «Кибернетика», 1969, № 4.
2-8. Майстрова Т. Л. Линейное программирование и задача
минимизации нормальных форм булевых функций.— «Проблемы пе-
редачи информации», 1963. вып. 12.
2-9. Пашев С. Г. Еквивалентпи преобразования в базиса на
Шефер.— «Автоматика и изчислителна техника», 1968, кн. 6.
2-40. Пашев С. Г. Изразяване на булевите функции в алгебрата
на Веб.— «Автоматика и изчислителна техника», 1967, кн. 2.
2-1111. Пупырев Е. И. Минимизация булевых функций в базисе
ИЛИ — НЕ (И — НЕ).— «Автоматика и телемеханика», 1972, № 3.
2-12. Тошнч Ж. Полиномиальные представления булевых функ-
ций и их минимизация.— «Известия АН СССР. Техническая кибер-
нетика». 1967, № 3.
2-13. Abhyankar S. Absolute minimal expressions of Boolean fun-
ction.—«IRE Tr. on EC.», 1959, v. EC-8, № 1.
2-14. Akers S. On theory of Boolean functions.— «Т. Soc. Ind.
and Appl. Math.», 1959, v. 7, № 4.
2-16. Burkhart W. H. Theorem minimization. .Pr. of the ACM Con-
ference, 1952, № 2, 3.
2-16. Cohn M. Inconsistent, canonical forms of switching fun-
ction.—«IRE Tr. on EC.», 1962, v. 411, № 2.
2-17. Curtis H. A. A new approach to the design of switching cir-
cuits. Princeton, Toronto, 1962.
2-18. Hauseublas A. Schaltungssynthese mit Koinzidens und Anti-
valenzgattern. — «Elektronische Rechenanlagen», 1962, Bd 4, № 5.
2-49. Me Cluskey E. Minimization of Boolean functions.—«The Bell
System Technical Journal», 1956, № 6.
2-20. Juine W. V. A way to simplify truth functions.—«American
Mathematical Monthly», 1952, v. '59, № 6.
2-21. Quine W. V. The problem of siinplyfying truth functions,
American Mathematical Monthly, 1962, v. 59, № 6.
2-22. Waligorski S. Calculation of Quine’s table for truth fun-
ctions. Prace Zakladu Aparat. Matemat., PAN, 1962, v. 2, № A15.
2-23. Wallach J. Bemerkungen zur Schaltungssynthese mit Koin-
zidenz- und Antivalenzgattern.—^«Elektronische Rechenanlagen», 4965,
Bd 7, № 6.
Глава третья
3-1. Горбатов В. А. Синтез логических схем в произвольном
базисе. Теория дискретных автоматов. Рига, «Зинатне», 1967.
3-2. Горбатов В. А. Схемы управления ЦВМ и графы. М., «Энер-
гия», 1971.
3-3. Лупанов О. Б. О сложности реализации функциями алгеб-
ры логики.— «Проблемы кибернетики», 4960, вып. 3.
3-4. Поваров Г. Н. К синтезу симметричных контактных схем.
Сборник по автоматике и телемеханике. М., Изд-во АН СССР, 1956.
3-5. Поваров' Г. Н. О логическом синтезе электронных вычисли-
тельных и управляющих схем.— В кн.: Логические исследования. М.,
Изд-во АН СССР, 1959.
3-6. Epstein G. Synthesis of electronic circuits for symmetric fun-
ctions.— «IRE Tr. on EC», 1958, v. EC-7, № 1.
3-7. Okada S. Topology applied to switching circuits. Pr. of the
Symposium on Information Networks, 1954, v. 3, April.
Глава четвертая
4-|l. Александриди T. M. Вопросы синтеза на переключателях то-
ка с согласованием ячеек на р-п-р- и п-р-п-транзисторах.— В кн.:
Автоматическое регулирование и управление. М., «Наука», 1962.
4-2. Боголюбов И. Н., Овсиевич Б. Л., Розеиблюм Л. Я. Синтез
схем из пороговых и мажоритарных элементов.— В кн.: Сети пере-
дачи информации и их автоматизация. М., «Наука», 1965.
4-3. Бутаков Е. А. Методы синтеза релейных устройств из поро-
говых элементов. М,, «Энергия», 11970.
4-4. Однородные структуры. М., «Энергия», 1972, Авт.: Варшав-
ский В. И., Мараховский В. Б., Песчанский В. А. и др.
4-5. Закревокий А. Д. Метод синтеза диодных схем.—«Труды
сибирского физико-технического института», 1961, выл. 40.
4-6. Реализация булевых функций одномерными однородными
сетями.— «Известия АН СССР. Техническая кибернетика», 1972,
№ 1. Авт.: Макаровский А. Я.„ Варшавский В. И., Мараховский В. В.
и др.
4-7. Поспелов Д. А. Реализация логических функций в одном
классе функциональных схем.— «Известия вузов. Радиофизика», 1962,
выл! 4.
4-8. Микроэлектроника и однородные структуры для построения
логических и вычислительных устройств. М., «Наука», 4967. Авт.:
Прангишвили И. В., Абрамова Н. А., Бабичева Е. В. и др.
4-9. Рамеев Б. И., Шрейдер Ю. А. Анализ и синтез некоторых
бесконтактных схем дискретного действия.— «Автоматика и телеме-
ханика», 1959, № 1.
4-iK). Рогинский В. Н. Построение схем релейного действия на
транзисторах. — «Проблема передачи информации», 1963, вып. 12.
4-11. Черевычник Ю. К. Элементарные схемы и функциональные
узлы вычислительных машин на лампах с холодным катодом. М.,
Изд. ВЦ АН СССР, 1962.
4-12. Цетлин М. Л., Шехтман Л. М. Двухтактные ферротранзи-
сторные схемы и алгебраический метод их синтеза.—«Проблемы
кибернетики», 1959, вып. 2.
4-13. Cohn М., Lindeman R. Axiomatic majority decision logic.—
«IRE on EC», 1961, v. ECHO, № 1.
4-14. Dadda L. La sintesi delle refi di commutazione composte da
circuit! a soglia.— «Alta frcquenza», 1961,, v. 30, № .1.
4-15. Einhorn S. N. The use of the simplex laglorithm in the
mechanization of Boolean switching functions by means of magnetic
cores—«IRE Tr. on EC», 1961, v. EC-10, № 4.
4416. Hennie F. S. Iterative arays of logical circuits. N. Y., Wiley
1961.
4-17. Lindeman R. A theorem for diriving majority logic net-
works within an augmenteg Boolean algebra.— «IRE Tr. on EC»,
196Q,w. EC-9, № 3.
4-18. Winder R. 0. More about threshold logic. Swithing circuit
theory and logical design. Proc. 2 nd Annual Symp., 1961.
Глава пятая
5-1. Закревский А. Д. К синтезу логических многополюсников.—
«Известия вузов. Радиофизика», 4959, вып. 5.
5-2. Поспелов Д. А. Синтез схем, работа которых описывается
временными булевыми функциями.— «Автоматика и телемеханика»,
1960, № 10.
Глава шестая
б-d. Глушков В. М. Некоторые проблемы синтеза цифровых ав-
томатов.— «Журнал вычислительной математики и математической
физики», 1961,, № 3.
6-2. Цетлии М. Д., Эйдус Г. С. Алгебраический метод синтеза
схем на триггерных ячейках.— «Известия вузов. Радиофизика», 11958,
вып. 5, 6.
Глава седьмая
7-1. Доброчаева Э. А. Теорема об однотактном гашении. Сб.
Автоматизированная система контроля.— «Труды ИНЭУМ», (19711,,
вып. 15.
7-2. Карповский М. Г., Москалев Э. С. Реализация системы логи-
ческих функций при помощи разложения в ортогональные ряды.—
«Автоматика и телемеханика», 1967, № 12.
7-3. Кузнецов О. П. Об одном классе асинхронных логических
сетей.— В кн.: Абстрактная и структурная теория релейных уст-
ройств. М., «Наука», 1966.
7-4. Рабинович 3. Л. Векторно-временные переключательные
функции как язык для описания схем и процессов переработки ин-
формации.— «Кибернетика», 1968, № 3, 4.
7-5. Рогинский В. Н. Динамические автоматы и временные буле-
вы функции.— «Известия АН СССР. Техническая кибернетика», 1970,
№ 2, 3.
7-6. Сиймон А. О языке для аналитического описания логиче-
ских схем в потенциально-импульсной элементной структуре.— «Из-
вестия АН ЭССР. Физика, математика», 1968, № 4.
7-7. Фараджев Р. Г. О спектральном подходе к задачам после-
довательностных машин.— «Автоматика и телемеханика», 1966, № 5.
Глава восьмая
8-,1. Айзенберг Н. Н., Рабинович 3. Л. Некоторые классы функ-
ционально полных систем операций и канонические формы пред-
ставления функций многозначной логики.—«Кибернетика», 11965, № 2.
8-2. Айзенберг Н. Н., Иваськив Ю. Л., Поспелов Д. А. Об од-
ном обобщении пороговых функций.— «Доклады АН СССР», 1971,
т. 196, № 6.
8-3. Иваськив Ю. Л. Принцип построения многозначных физи-
ческих схем. Киев, «Наукова думка», 1971.
8-4. Саломаа А. Некоторые критерии полноты для множества
функций многозначной логики.— «Кибернетический сборник», 1964,
вып. 8.
8-5. Яблонский С. В. О суперпозициях функций в Р*. «Про-
блемы кибернетики», 1963, вып. 9.
Глава девятая
9ч1. Ахманов С. А., Рошаль А. С. Троичные триггеры на пара-
метрических генераторах,— «Известия вузов. Радиофизика», 1963,
вып. 5.
9-2. Белоусов Б. В. Функционально полная троичная потен-
циальная система элементов.— В кн/ Многозначные элементы и
структуры. М,, «Советское радио», 1967.
9-3. Боголюбов И. Н., Варшавский В. И. Троичные пороговые
элементы и вопросы их синтеза.— В кн/. Синтез релейных структур.
М., «Наука», 1965.
9-4. Варшавский В. И. Троичная мажоритарная логика.— «Авто-
матика и телемеханика», 1964, № 5.
9-5. Иваськив Ю. Л. Об одном классе трехзначных алгебр и при-
менении его для синтеза троичных логических сетей из троичных эле-
ментов.— «Кибернетика», 1965, № 2.
9-6. Овсиевич Б. Л. Синтез схем из троичных мажоритарных
элементов методом решения систем логических уравнений.— «Авто-
матика и вычислительная техника», 1966, вып. 12.
9-7. Поспелов Д. А., Фальк В. Н. Реализация троичных функ-
ций с помощью трехфазных кодов.— «Известия вузов. Радиофизика»,
1962, вып. 4.
9-8. Рабинович 3. Л., Иваськив Ю. Л. Об одном классе кано-
нических форм представления трехзначных функций. — «Известия
АН СССР. Техническая кибернетика», 1963, № 5.
9-9. Тошич Ж. Полиномиальные представления в одном классе
трехзначных логик.— «Известия АН СССР. Техническая кибернети-
ка», 1967, № 2.
ОГЛАВЛЕНИЕ
Предисловие к первому изданию............................ 3
Предисловие к третьему изданию........................... 4
Введение .................................................. 6
Часть первая
СИНТЕЗ И АНАЛИЗ СХЕМ,
РАБОТА КОТОРЫХ НЕ ЗАВИСИТ ОТ ВРЕМЕНИ
Глава первая. Функции алгебры логики и их основные
свойства..............................................12
1-1. Основные определения..........................12
1-2. Элементарные функции алгебры логики .... 16
1-3. Выражение одних элементарных функций через другие 20
1-4. Свойства конъюнкции, дизъюнкции и отрицания . 22
1-5. Свойства сложения по модулю 2 импликации и функ-
ций Шеффера и Вебба............................... 23
Гб. Основные классы функций алгебры логики .... 26
1-7. Аналитическая запись функций алгебры логики . . 28
1-8. Полные системы функций.............................39
1-9. Некоторые выводы прикладного характера ... 44
Глава вторая. Минимизация функций алгебры логики . 45
2-1. Основные определения..........................45
2-2. Постановка задачи минимизации в классе ДНФ . . 51
2-3. Метод неопределенных коэффициентов............57
2-4. Метод Квайна — Мак-Класки.....................60
2-5. Метод Блека — Порецкого.......................66
2-6. Абсолютно минимальные представления .... 67
2-7. Минимизация в других базисах..................69
2-8. Полиномиальные представления и их минимизация 71
2-9. Преобразования и минимизация в базисе, состоящем
из функции Вебба или из функции Шеффера ... 77
2-10. Функциональная декомпозиция.......................87
Глава третья. Вопросы анализа и синтеза невремеиных
схем................................................ 97
3-1. Логические сети.................................. 97
3-2. Теорема анализа и эквивалентные схемы . ... 101
3-3. Синтез логических схем с одним выходом . . . . 104
3-4. Синтез логических схем со многими выходами . . 111
3-5. Синтез схем по неполностью определенным собствен-
ным функциям........................................116
3-6. Синтез схем для некоторых классов собственных
функций.............................................125
3-7. Примеры синтеза некоторых устройств..............128
Преобразователь кодов..............................129
Дешифратор.........................................134
Сумматор...........................................137
Преобразователь в дополнительный код .... 142
Преобразователь в обратный код.....................142
3-8. Синтез логических схем с учетом теоретико-структур-
ных свойств булевых функций.........................143
3-9.-Оценка сложности схем и функций..................166
Глава четвертая. Синтез схем для отдельных классов
функциональных элементов...............................169
4-1. Вводные замечания................................169
4-2. Схемы на транзисторах и лампах с холодным катодом 170
4-3. Схемы на ферритах................................174
4-4. Схемы на диодах..................................185
4-5. Схемы на феррит-транзисторах.....................190
4-6. Схемы на параметронах............................198
4-7. Пороговая и мажоритарная логика..................201
4-8. Синтез однородных схем на интегральных модулях 219
Одноканальные бесповторные цепочки из настраивае-
мых модулей (каскады Майтра).......................223
Одноканальные повторные сети.......................226
Двухканальные сети.................................227
Двумерные универсальные сети.......................233
Часть вторая
СИНТЕЗ И АНАЛИЗ СХЕМ,
РАБОТА КОТОРЫХ ЗАВИСИТ ОТ ВРЕМЕНИ
Глава пятая. Временные булевы функции и синтез много-
тактных схем..........................................239
5-1. Основные определения ...........................239
5-2. Свойства временных булевых функций..............242
5-3. Синтез и анализ схем с помощью временных булевых
функций...........................................247
Глава шестая. Рекуррентные булевы функции .... 252
6-1. Общие определения..............................252
6-2. Анализ и синтез схем, описываемых РБФ-2 . . . 256
6-3. Анализ и синтез схем, описываемых ВРБФ-1 . . . 261
6-4. Логический анализ работы триггерной ячейки . . . 270
6-5. Анализ и синтез схем, описываемых РБФ-1 . . . 273
6-6. Конечные автоматы с памятью....................278
6-7. Примеры синтеза конечных автоматов.............284
Сумматор последовательного действия.............284
Схема сравнения на равенство....................286
Схема сравнения на неравенство..................287
367
Сдвигающий регистр................................289
Дискриминатор.....................................290
6-8. Связь между временными функциями и конечными
автоматами........................................291
Глава седьмая. Динамические процессы в схемах . . 295
7-1. Основные определения.............................295
7-2. Алгебра временных последовательностей .... 297
7-3. Об анализе схем с обратными связями .... 306
Часть третья
ПРИМЕНЕНИЕ МНОГОЗНАЧНОЙ ЛОГИКИ
ПРИ АНАЛИЗЕ И СИНТЕЗЕ СХЕМ
Глава восьмая, ft-значные логики н их применение . . 309
8-1. Общие определения................................309
8-2. Основные ft-значные логические функции .... 310
8-3. ‘Полные системы функций в ft-значной логике . . 312
8-4. Представление ft-значных функций в виде нормаль-
ных форм.........................................315
8-5. Полиномиальные представления в ft-значной логике 319
Глава девятая. Трехзначиая логика........................337
9-1. Основные понятия.................................337
9-2. Моделирование основных трехзначных функций . 343
9-3. Минимизация аналитических выражений трехзначных
логических функций...............................356
Список литературы........................................361
ДМИТРИЙ АЛЕКСАНДРОВИЧ ПОСПЕЛОВ
ЛОГИЧЕСКИЕ МЕТОДЫ
АНАЛИЗА И СИНТЕЗА СХЕМ
Редактор В. Г. Лазарев
Редактор издательства Н. Б. Фомичева
Переплет художника Г. Д. Целищева
Технический редактор Н. А. Галанчева
Корректор И. А. Володяева
Сдано в набор 24/IV 1974 г. Подписано к печати 7/Х 1974 г.
Т-16663 Формат 84х108'/за Бумага типографская Ms 1
Усл. печ. л. 19,32 Уч.-изд. л. 18,97
Тираж 12 000 экз. Зак. 756 Цена I р. 16 к.
Издательство «Энергия», Москва, М-114, Шлюзовая наб., 10.
Московская типография № 10 Союзполнграфпрома
При Государственном комитете Совета Министров СССР
по делам издательств, полиграфии и книжной торговли.
Шлюзовая наб., 10.