Минимизация представлений логических функций в базисах Шеффера и Пирса
Автор: Меньших Валерий Владимирович, Никитенко Виталий Алексеевич
Рубрика: Математика
Статья в выпуске: 4 т.14, 2022 года.
Бесплатный доступ
Рассмотрено представление произвольных логических функций в базисах Шеффера и Пирса. Для этого первоначально найдены рекуррентные зависимости представления дизъюнктивных и конъюнктивных одночленов в указанных базисах и сделаны обобщения на произвольные логические формулы, представленные в виде дизъюнктивных и конъюнктивных нормальных форм. Получены оценки на количество операций в логических формулах при переходе к базисам Шеффера и Пирса.
Дизъюнктивный одночлен, конъюнктивный одночлен, базис шеффера, базис пирса, булева переменная, булева функция
Короткий адрес: https://sciup.org/147239235
IDR: 147239235 | DOI: 10.14529/mmph220403
Текст научной статьи Минимизация представлений логических функций в базисах Шеффера и Пирса
Результаты, полученные в математической логике, нашли широкое применение в конструировании электронных микросхем [1-3]. В частности, важной является задача представления произвольных логических функций с помощью формул, содержащих логические операции из заданного набора. Такие наборы операций называются функционально полными. Для того чтобы набор логических операций был функционально полным, необходимо и достаточно, чтобы он удовлетворял критерию Поста [1, 3]. Также рассматривается задача сокращения количества используемых операций заданного набора в логических формулах, связанная с задачей сокращения количества логических элементов в устройствах цифровой техники.
Наиболее изученными функциональными наборами логических операций являются стандартный базис (« л », « v », « — »), в котором логические функции представляются в виде конъюнктивных и дизъюнктивных нормальных форм, и базис Жегалкина (« © », « л », «1»), в котором логические функции единственным образом представляются полиномами Жегалкина [2].
Среди функционально полных наборов логических операций выделяются два набора, каждый из которых включает только одну операцию: базис Шеффера, включающий штрих Шеффера «|», и базис Пирса, включающий стрелку Пирса « Ф ». В связи с тем, что указанные наборы включают только по одной операции, логические формулы с их использованием, как правило, являются очень громоздкими.
В данной работе рассматривается вопрос сокращения количества операций в логических формулах в базисах Шеффера и Пирса.
Представление дизъюнктивных и конъюнктивных одночленов в базисах Шеффера и Пирса
Операция «штрих Шеффера» является комбинацией конъюнкции и отрицания, а операция «стрелка Пирса» - комбинацией дизъюнкции и отрицания. Поэтому традиционный подход к переходу к базисам Шеффера и Пирса заключается в использовании законов де Моргана и двойного отрицания.
Рассмотрим логическую функцию, заданную дизъюнктивным одночленом
X v ... v x n . (1)
и приведём примеры её представления в базисе Шеффера для случаев n = 3 и n = 4.
-
1) Пусть n = 3 . Тогда, используя законы де Моргана и двойного отрицания, получим:
X 1 v X 2 v X 3 = X 1 л X 2 v X 3 = X 1 | X 2 v X 3 | X 3 = X 1 | X 2 v X 3 | X 3 = X 1 | X 2 л X 3 | X 3 = ( ( X 1 | X 2 ) | ( X 1 | X 2 ) ) |
| ( ( X 3 I X 3 ) I ( X 3 I X 3 ) ) .
Данная запись является громоздкой и содержит 7 логических операций.
Количество операций можно сократить, применив, например, закон Порецкого:
X1 л X2 V X3 = (X1 л X2 л X3 ) V X3 = (X1 л X2 л X3 ) V X3 = (X1 л X2 л X3 ) л x3•
Данная запись является более компактной по сравнению с предыдущей записью и включает только 3 логические операции.
-
2) Пусть n = 4. Тогда, используя аналогичные рассуждения, получим:
XY V x2 V x3 V x4 = xY л x2 л x3 V x4 = xY л x2 л x3 V x4, применив закон Порецкого
(x л x2 л x3 л x4 ) V x4 = (x л x2 л x3 л x4 ) л x4 = (x л x2 л x3 | x4 ) | исходя из формулы для n = 3, получаем
(x л x2 л xз | x4 ) | x4 = ((((x | x2 ) | xз ) | xз ) | x4
- 4 •
Полученные результаты позволяют заметить рекурсивную зависимость при представлении одночлена (1) в базисе Шеффера.
Теорема 1. x v x 2 v x 3 v ... v xn = ( ... ( ( ( ( X i | x^ ) | x 3) | x 3) |... ) | x „) | x „ •
Доказательство. Для доказательства воспользуемся методом математической индукции, учитывая явно прослеживающуюся в приведённых примерах рекурсивную зависимость.
Введем функцию y такую, что
-
Y 1 = X 1 | X J Y 2 = X 1 | x 2 ; Y k = ( Y k - 1 | x k ) | x k , k > 2.
При n = 1 x = X j | X j = y ; при n = 2 xY л x 2 = x | x 2 = y2 ; при n = 3
x л x2 V X- x3 = Y3•
Полученные зависимости используем как базу индукции. Далее предположим, что для n = m выполняется равенство
X1 V x 2 V x 3 V ... V x m = ( ••• ( ( ( ( X 1 | X 2 ) | X 3 ) | X 3 ) k) | x m ) | Xm = Y m , докажем, что утверждение верно для n = m + 1:
X 1 V x 2 V x 3 V ... V x m V x m + 1 = X 1 л X 2 л X 3 л - л Xm V Xm + 1 = ( X 1 л X 2 л X 3 л - л Xm л Xm + 1 ) V Xm + 1 =
= ( X 1 л X 2 л X 3 л ... л Xm л Xm + 1 ) л Xm + 1 = ( X 1 л X 2 л X 3 л - л Xm | Xm + 1 ) | Xm + 1
) 1 Xm + 1 = Y m + 1 .
Использование данной теоремы позволяет уменьшить количество логических операций при переходе к базису Шеффера. К примеру, при «традиционном» переходе от дизъюнктивного одночлена к базису Шеффера (с использованием только закона де Моргана и двойного отрицания) для n = 3 и n = 4 количество логических операций равно 7, для n = 5 -16, а при применении теоремы 1 количество операций можно сократить до 3, 5, 7 соответственно.
Следствие. / f = ( ... ( ( ( ( f . | f 2 ) | f , ) | f , ) |... ) | f n ) | f n , где ^ - произвольная булева функция.
Математика
Следствия из теорем 1 и 2 используются при описании перехода от минимальной дизъюнктивной нормальной формы (МДНФ) и минимальной конъюнктивной нормальной формы (МКНФ) к базисам Шеффера и Пирса соответственно.
Алгоритм перехода от МДНФ и МКНФ к базисам Шеффера и Пирса
Вначале разработаем алгоритм перехода от МДНФ к базису Шеффера и по аналогии построим алгоритм для МКНФ. Основанием того, что переход осуществляется именно от МДНФ к базису Шеффера, является то, что запись, полученная в результате перехода, будет содержать меньшее количество логических операций.
Рассмотрим функцию n переменных
k f (xx,™, xn ) = vV<>
I = 1
n где Vi = A“tgt, at = t=i
0, если gt несодержитсяв v , gt - литерал (переменная или её отрицание).
Применяя следствие из теоремы 1, получаем
V1 a ... a Vk = ((...((( V1 IV2 ) IV3) | V3) |...) | v ) | v .
Для перевода V в базис Шеффера также воспользуемся теоремой 1. Введем обозначение:
V i = A « t g t = Y Vl , t = 1
тогда с учетом обозначения получаем
(...(((V1 1V2)1V3)1 V3)k)1 Vk)1 Vk = ((...(((Yv1 1 Yv2 )1 Yv3 )1 Yv3 )h")1 Yv, )1 Yv,
Полученные выкладки положены в основу алгоритма перехода от МДНФ в базис Шеффера, представленный ниже.
Шаг 1. Рассматриваем Vi как переменные и осуществляем переход в базис Шеффера, но при этом сохраняем инверсию Vi•
f ( x 1 ,..., xn ) = ( (." ( ( ( V 1 | V 2 ) | V з ) | V 3 )h-) | V k ) | V k .
Шаг 2. Осуществляем преобразование V i,..., V применяя теорему 1. Если есть инверсия x , то преобразование осуществляется по формуле x = x | x .
Шаг 3. Записываем окончательный результат.
Замечание . Для уменьшения количества логических операций необходимо сдвинуть на первые места переменные x в конъюнктивном одночлене ( xx a x2 a x3 a x 4 = x3 a x4 a xx a x 2).
По аналогии получаем алгоритм для МКНФ с аналогичным замечанием.
Шаг 1. Рассматриваем v как переменные и осуществляем переход в базис Пирса, но при этом сохраняем инверсию Vi• f (x1,...,xn
V1 Ф V2 ) Ф V3) Ф V3) Ф...) Ф Vk)
Ф V k
Шаг 2. Осуществляем преобразование V i,..., V , при помощи теоремы 2. Если есть инверсия x ,уто преобразование осуществляется по формуле x = x Ф x .
Шаг 3. Записываем окончательный результат.
Численный пример
Рассмотрим логическую функцию
Меньших В.В., Минимизация представлений логических функций
Никитенко В.А. в базисах Шеффера и Пирса f (Xj, X2 , x3, x4 ) = (Xj A x2 A x4 ) V (Xj A X2 A X3 ) v( X, A X3 A X4 ) = (Xj A X2 A X4 ) V (Xj A X2 A X3 ) v( Xj A X4 A X3 )
^ = (X A X2 A X4 ), ^2 = (Xy A X2 A X3 ), ^3 = ( Xy A X4 A X3 ) .
Опишем результаты реализации алгоритма.
Шаг 1.
f ( Х^ X 2 , Х 3 , X 4 ) = ^ V ^ 2 V ^ 3 = ^ V ^ V^V ^ = ^ A V 2 A^A ^ = ((^ | t^M) I ^ 3 .
Шаг 2.
^ 1 = X 1 A х 2 A х 4 = (( х 1 1 х 2) | х 4) | х 4; ^ 2 = X 1 A x 2 A X 3 = ( ( X 1 |( X 2I X 2 ) 1 X 3 ) 1 X 3 ;
V 3 = X A X 4 A X 3 = ((( х 1 X 1 ) I ( x 4 1 x 4 ))! X 3 ) | X 3 ;
Шаг 3.
f ( X , , x 2 , X 3 , X 4 ) = [ (( X I X 2)| X 4 )1 X 4 ] I [ (( X I ( X 2 I x2)) I X^ X 3 ] I [ ((( X I X 1 ) |( X 4 I X 4 )) I X 3 )1 X 3 ] I
I [ ((( X 1 | X 1 )|( X 4| X 4 ))| X^ X 3 ] •
Полученная функция в базисе Шеффера имеет 20 логических операций. Стоит заметить, если бы мы не последовали замечанию алгоритма, то функция имела бы 22 логические операции.
Замечание
Одним из недостатков перехода в рассматриваемые базисы является то, что, как правило, увеличивается количество логических операций. Однако следует отметить, что при переходе в данные базисы количество операций может и уменьшится. Примером может быть функция f (х,x2,x3) = (x1| x2)| x3. (2)
При переходе в стандартный базис она будет иметь вид f (X, X2, X3 ) = (X a x2 )v x3 . (3)
Расчет количества логических операций в базисах Шеффера и Пирса
На основе анализа приведённых выше алгоритмов была получена зависимость для количества логических операций. Обозначим:
f ( Х з,•••, х и) = Х з a х2 a х3 a ••• a x„ = f n - конъюнктивный одночлен;
f ( X 1 ,
• ••
. X . ) = f n - (-( ( ( < X , | X 2 ) | X 3 ) | X 3 ) |- ) | X , ) | X , - запись f . в базисе Шеффера (исполь
зуя теорему 1);
Хп - количество операций «|» в f ” ;
к - количество конъюнктивных одночленов в формуле;
. - количество переменных в ^ .;
Г 1, если . = 1,
Nt = < - количество «|», возникающих при переходе от конъюнктивных
^ 2 . - 3, если . > 2, одночленов к базису Шеффера;
jt < . - количество инверсий переменных в ^ .;
'О, если j t = 0,
I = з 1, если j = 1, - количество «|», возникающих при переходе от инверсии к «|»;
2 j - 2, если j > 2,
GJj'’."• jkk - количество «|» при переходе в базис Шеффера. . ] ,..., n k
Лемма 1. Пусть был осуществлен переход f . в f ” , тогда \ имеет вид:
f 1, если n = 1,
Л = З , ,
1 2 n - 3, если n > 2^
Математика
Доказательство. Для доказательства воспользуемся методом математической индукции. Ба- за индукции
При n = 1
%! = %! | %!, A = 1 .
При n = 2
%! V %2 = %! | %2, A = 1 = 2 • 2 - 3 .
При n = 3
%! V %2 V %3 = ((%! | %2 ) | %3 ) | %3 , A = 3 = 2 • 3 — 3 .
Предположим, что для n = m выполняется равенство
%1 V %2 V %3 V ... V %т =(...((((%1 | %2 ) | %3 ) | %3 ) |...) | %m ) | %m , Am = 2m - 3 , докажем, что выполняется для n = т +1, имеем равенство
% 1 V % 2 V % 3 V ... V % m V % m + 1 = ( ( ( ... ( ( ( ( % 1 । % 2 ) | % 3 ) | % 3 ) |- ) | % m ) | % m ) | % m + 1 ) | % m + 1 • (4)
Количество операций для функции f m + 1 получается путем прибавления к A двух логических операций, как видно из равенства (4). Тогда имеем рекуррентное соотношение A m + i = A m + 2 . По предположению индукции, что A m = 2 m - 3, получаем A m + 1 = A m + 2 = 2 m - 3 + 2
= 2 m + 2 - 3 = 2( m +1)-3 = A+!•■
Лемма 2. Поставим в соответствие каждому %, из выражения f n литерал gt. Пусть количество литерал, которые являются инверсией %,, равно n ' , тогда количество логических операций «|» при переходе от инверсии к «|» A' имеет вид:
0, если n ' = 0,
A n - =1
1, если n ' = 1, 2 n '- 2, если n '> 2.
Доказательство. По аналогии с леммой 1 воспользуемся методом математической индукции для доказательства. Для случая n' = 0 очевидно, что a = 0 • База индукции n' = 1. Рассмотрим fn вида g1 Л g2 Л ... Л %Л ... Л gn .
Так как количество литералов, которые являются инверсией x , равно 1, то согласно замечанию переместим его на первое место, в силу коммутативности операции « л »
% Л g 2 Л ... Л g 1 Л ... Л g n .
При переходе к базису Шеффера получаем
( ( ... ( % | g 2 ) |- ) | g n ) | g n = ( (-( ( %i | % i ) | g 2 ) к. ) | g n ) | g n ^ М 1 = 1 .
-
n ' = 2. По аналогии с шагом для n ' = 1 рассмотрим f n с двумя инверсиями %, и % без ограничения общности i < 3 2, получаем
% i 1 Л % 3 2 Л ... Л g n = ( ( ... ( % i 1 | % i 2 ) | ... ) | g n ) | g n = ( ( ••• ( ( % i 1 | % i 1 ) | ( % i 2 | % i 2 ) ) | ... ) | g n ) | g n ^ М 2 = 2 = 2 • 2 - 2 .
n ' = 3 , %Ц , % /2 , % /3 , i1 < i 2 < 33
% 1 Л % i 2 Л % i 3 Л ... Л g n = ( ( ... ( ( % i 1 | % 2 2 ) | % i 3 ) | % i 3 ... ) | g n ) | g n =
= ( ( ... ( ( ( % i 1 । % i 1 ) । ( % i 2 । % i 2 ) ) । ( % i 3 । % i 3 ) ) । ( % з 3 | % i 3 ) ... ) | g n ) | g n
^ М3 = 4 = 2 • 3 - 2.
Предположим, что для n = m выполняется равенство
X: л xi л xi Л ... Л X,- л ... л g„ = i 1 i 2 i 3 im n

I g n =
( ( ■■■ ( ( ( ( X 1 1 X ) 1 ( x 2 1 x 2 ) ) 1 ( x 3 1 x 3 3 ) ) 1 ( x 3 1 x 3 ) ) 1... ) 1 ( x m 1 x m ) ) 1 ( x m 1 x m ) } 1... j 1 g n J 1 g n =
^ ^ m = 2 • m - 2.
Докажем, что выполняется для n = m +1. Имеем равенство xi1 Лx2 лx33 л...лxm+1 л...л gn =
= "•^^( (" • ( ( ( ( x 1 1 x i 1 ) 1 ( x2 1 x2 ) ) 1 ( x i 3 1 x3 ) ) 1 ( x i 3 1 x e ) ) 1... ) 1 (5)
| x | x | x | x | x | x | ... | g | g .
1 \ 1 m ' m ))'\ 1 m 1 1 m )) ' \ mi +1 1 im +1 / у 1 n \ on n\on
Количество операций для функции fm+1 получается путем прибавления к ^ двух логических операций, как видно из равенства (5). Тогда имеем рекуррентное соотношение ^+х = ^ + 2. По предположению индукции, что ^m = 2 m - 2, получаем ^m+1 = ^m + 2 = 2 m - 2 + 2 =
= 2 m + 2 - 2 = 2 ( m + 1 ) - 2 = ^ +P^
Теорема 3.
-
1. Если k = 2, то
-
2. Если k > 3, то
Gnjn = S(Ii + N) +1 ■(6)
2 k
Gj™j = Z(I + N) + 2L(I + N) + 2* - 3 .(7)
-
i=1
Доказательство.
-
1. Рассмотрим конъюнктивный одночлен вида
-
3. Рассмотрим конъюнктивный одночлен вида
(g1 л ... л )V( g12 л ...л gl22 ) , при переходе к базису Шеффера получаем f ((g,1 । g 1 ) |-) । g 1 g,1 J । f ((g2 । g2 ) |-) । g2 g2 j . (8)
Ц V l l1 ' ) ln / S J Ц W l 1 l1 ’ ) ln 2 / ln 2 )
Согласно лемме 1 в каждой скобке выражения (8) логических операций будет 2 n - 3 и 2 n 2 - 3 (если n , n 2 > 2, иначе одна логическая операция), что соответствует обозначению
N , N . Если количество литералов в каждой скобке выражения (8), являющихся инверсией переменных, равно n ', n ‘ , то согласно лемме 2 их численное значение имеет вид In ‘ , Iп.г соответственно. Также добавляется еще одна логическая операция « | », стоящая между скобами, выражения (8).
I g 1 л ... л g ,1 |V| g[ 2 л ... л g, 2 |V ... V| g * л ... л g * I (9)
V 1 n1 J V 1 n 2 J v 1 n* J при переходе к базису Шеффера получаем
( ( ... ( g i 11 | g i\ ) | ■■■ ) | g i n ) | ( ( ■■■ ( g i2 | g i 12
) |... ) 1 g^ ) 1 ( ( ... ( g i 3 1 g i 13
) 1 ... ) 1 g l n 3 ) 1 ... 1 ( ( ■■■ ( g l 1 * 1 g l 1 *
)^ .. ) | g l n* ) .(10)
Разобьем пункт 2 теоремы 3 на 3 части. Докажем, что: 2
1') ^ ( I + N ) выполнятся для 1-й и 2-й скобки;
i = 1
Математика
k
2') 2 ^ ( It + N ) выполнятся для скобок 3,..., к ; i = 3
3') 2 к - 3 дополнительное слагаемое.
1') Смотрите доказательство пункта 1 теоремы 3.
2') Скобки 3,..., k
порождают ( 1 ^ + ... + In t) + ( N „3 + ... + N t) , как было показано в пункте 1
доказательства теоремы 3. Когда количество конъюнктивных одночленов к > 3, то каждая скобка, начиная с 3-й повторяется 2 раза, следовательно, количество логических операций« | » удваи- вается 2 -TfI +... +1 1 + (N +... + N 11.
L\ n 3 nk / \ n 3 nk /J
3') Обозначим ^ g v л ... л gv J = ^ , тогда выражение (9) будет иметь вид
CTj V СТ2 V ... V ст3, переходя к базису Шеффера получаем
(™ ( ( ( ( ° i I ^ 2 ) I ^ 3 ) I ^ 3 ) |... ) I ° к ) I ^ к , где количество символов согласно лемме 1 равно 2 к - 3 . ■
Полученные формулы (6) и (7) справедливы при выполнении замечания алгоритма. Однако предложенная формула не срабатывает при малом количестве переменных в дизъюнктивных одночленах. Примером может служить случай, который рассматривался в начале раздела (2), (3). Применяя формулу, получаем G 0,1 = 4, хотя логических операций всего 2. Аналогичная формула и для перехода к базису Пирса.
Заключение
При осуществлении перехода от стандартного базиса к базисам Шеффера и Пирса «традиционным» образом количество операций возрастает нелинейно. Анализ полученных формул для количества логических операций G показывает, что в случае использования предложенных алгоритмов количество логических операций, а в свою очередь и количество логических элементов в устройствах цифровой техники, будет увеличиваться линейно в зависимости от количества переменных подаваемых на вход микросхемы, что определяет практическую ценность полученных результатов.
Список литературы Минимизация представлений логических функций в базисах Шеффера и Пирса
- Горбатов, В.А. Фундаментальные основы дискретной математики / В.А. Горбатов. - М.: Наука, 2000. - 540 с.
- Кузнецов, О.П. Дискретная математика для инженера / О.П. Кузнецов. - СПб.: Изд-во "Лань", 2009. - 394 с.
- Меньших, В.В. Дискретная математика: учебник / В.В. Меньших, А.Н. Копылов, В.А. Кучер, С.А. Телкова. - Воронеж: Воронежский институт МВД России, 2016. - 228 с.