Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебники 80131

.pdf
Скачиваний:
4
Добавлен:
01.05.2022
Размер:
572.51 Кб
Скачать

качестве своей подформулы. Пусть СВ получается из СА заменой А в этом вхождении на В. Тогда если A B, то и

СA СB.

Справедливы также следующие утверждения [1, 2].

1. Для каждой формулы можно указать равносильную ей формулу, не содержащую логических символов эквиваленции и импликации.

Например, формулу (X1 X2)

(X3 X1) можно пре-

образовать следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X1

X2) (X3

X1) ( X1

X2) (X3

X1)

 

 

 

 

 

 

 

 

 

 

 

 

(( X1

X2) (X3

X1)) ( (X1

X2 ) (X3

X1 ) ).

2. Для каждой формулы существует эквивалентная ей формула с тесными отрицаниями, то есть формула, в которой нет символов , и отрицания стоят при пропозициональных переменных.

Действительно, применяя законы де Моргана, получим:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(( X1 X2) (X3

X1)) ( (X1

X2 ) (X3

X1 ) )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(( X1

X2) X3

X1) ( (X1

X2 ) (X3

 

X1 ) )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(( X1

X2) X3

X1) ( X1

 

X2 (X3

X1 ) ).

4.ДВОЙСТВЕННОСТЬ

Вэтом пункте будем рассматривать формулы, содержащие только логические символы , , .

Символы , называются двойственными друг другу. Формула А* называется двойственной формуле А, если она получена из А одновременной заменой всех символов , на двойственные. Очевидно, что (А*)* есть А. Набор значений переменных X1, X2, ... называется двойственным какому-либо набору значений этих же переменных, если он получается из первого набора заменой всех 1 на 0 и 0 на 1.

Пример 4. Рассмотрим две формулы ((X1 X2) X3) X1 и ((X1 X2) X3) X1, двойственные друг другу. Соста-

9

вим для них таблицы истинности.

Таблица 6

X1

X2

X3

X1 X2

(X1 X2) X3

((X1 X2) X3) X1

1

1

1

1

1

1

1

1

0

1

1

1

1

0

1

0

1

1

1

0

0

0

0

0

0

1

1

0

1

0

0

1

0

0

0

0

0

0

1

0

1

0

0

0

0

0

0

0

 

 

 

 

 

Таблица 7

 

 

 

 

 

 

X1

X2

X3

X1 X2

(X1 X2) X3

((X1 X2) X3) X1

1

1

1

1

1

1

1

1

0

1

0

1

1

0

1

1

1

1

1

0

0

1

0

1

0

1

1

1

1

1

0

1

0

1

0

0

0

0

1

0

0

0

0

0

0

0

0

0

Из таблиц истинности видно, что если формула ((X1 X2) X3) X1 принимает значение 1 на каком-либо наборе значений переменных X1, X2, X3, то двойственная формула принимает значение 0 на двойственном к данному набору. Можно показать, что это свойство справедливо и в общем случае.

Важное значение в теории логики высказываний имеет основной принцип двойственности [3, 4]: если А B, то А* B*. Этот принцип обычно применяют для получения новых равносильностей. Например из первого закона де Моргана

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(A B) A B , заменив символы

,

на двойственные, по-

 

 

 

 

 

 

 

 

лучим второй закон де Моргана (A

B)

A B .

10

5. НОРМАЛЬНЫЕ ВИДЫ ФОРМУЛ

Определим теперь некоторые канонические виды формул. Формула называется элементарной конъюнкцией, если она является конъюнкцией, может быть, одночленной, пере-

менных и их отрицаний. Например, формулы X1, X 2 , X1

X 2 , X1 X 2 X3 есть элементарные конъюнкции.

Формула находится в дизъюнктивной нормальной фор-

ме (ДНФ), если она является дизъюнкцией элементарных конъюнкций. Формулы X1, X 2 , (X2 X3) X1 , X2 X3,

(X2 X3) ( X1 X4) находятся в дизъюнктивной нормальной

форме.

Справедливо следующее утверждение [1]. Для любой формулы А можно найти такую формулу В, находящуюся в ДНФ, что А В. Для приведения ПФ к ДНФ рекомендуется: исключить операции и с помощью равносильностей 16) и 17); с помощью законов де Моргана привести отрицания к независимым переменным; а затем по дистрибутивному закону раскрыть скобки.

Пример 5. Привести к ДНФ формулу (X1 X2) ( X 2

X3).

Решение. Применяя равносильность 17), получаем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X1

X2) ( X 2

X3) (X1

X2 ) (X2

X3 )

 

 

 

 

 

 

 

 

 

 

 

 

( X1

X 2 ) ( X 2

X3) X1

X 2 ( X 2

X3).

Таким образом исходная формула приведена к ДНФ. Заметим, что полученная ДНФ не является единственной и, используя закон поглощения, ее можно упростить:

X1 X 2 ( X 2 X3) X1 X 2 .

Формулу называют элементарной дизъюнкцией, если она является дизъюнкцией, возможно, одночленной, переменных и отрицаний переменных. Например, элементарными

дизъюнкциями являются формулы X1, X 2 , X1 X 2 , X1

11

X 2 X3.

Формула находится в конъюнктивной нормальной фор-

ме (КНФ), если она является конъюнкцией, возможно, одночленной, элементарных дизъюнкций. Формулы X1, X 2 , X1

X 2 , (X1 X 2 ) X3 находятся в КНФ.

Используя понятия двойственности, можно дать равносильное определение КНФ. Формула А находится в конъюнктивной нормальной форме, если А* - определена (то есть в А

нет символов

и ) и находится в ДНФ.

Можно показать, что для любой формулы А существует

такая формула В, что В находится в КНФ и А В [1].

Пример

6. Привести к КНФ формулу

(X1 X2 (X2 X1 )) .

Решение. Используя законы де Моргана, получаем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X1

X2 (X2 X1 )) (X1

X2 ) (X2

X1 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X1 X2 )

(X2

X1 )

((X1 X2 )

 

X2 ) ((X1

 

X2 ) X1 ))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X1 ) .

 

 

 

(X1

 

X2 ) (X2

 

X2 ) (X1

 

X1 ) (X2

 

 

Последняя формула находится в КНФ, но ее можно уп-

ростить, используя равносильность 20):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X1

X2 ) (X2

X2 ) (X1

X1 ) (X2

X1 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X1 ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(X1

 

X2 ) (X2

 

 

 

 

 

Отсюда следует, что для любой ПФ существует множе-

ство равносильных между собой КНФ.

 

 

 

 

6. СОВЕРШЕННЫЕ НОРМАЛЬНЫЕ ФОРМЫ

 

Совершенной

дизъюнктивной нормальной формой

(СДНФ) данной ПФ относительно переменных X1, X2, ... Xk называют такую ее ДНФ, в которой в каждой элементарной конъюнкции на r-м месте (1 r k) обязательно находится или переменная Xr или ее отрицание.

Совершенной конъюнктивной нормальной формой

12

(СКНФ) данной ПФ относительно переменных X1, X2, ... Xk называют такую ее КНФ, в которой в каждой элементарной дизъюнкции на r-м месте (1 r k) обязательно находится или переменная Xr или ее отрицание.

Рассмотрим два способа перехода к совершенным формам – аналитический и табличный. При аналитическом приведении ДНФ к СДНФ следует элементарные конъюнкции, в которые входят не все переменные, умножить на дизъюнкцию недостающей переменной с ее отрицанием, затем в соответствии с дистрибутивным законом раскрыть скобки и исключить повторения.

Приведение КНФ к СКНФ осуществляется аналогично, но только к элементарным дизъюнкциям, содержащим не все переменные, прибавляют нули, представленные в виде конъюнкций каждой недостающей переменной с ее отрицанием.

При табличном способе приведения к СДНФ составляется таблица истинности данной ПФ. Затем рассматриваются те строки, в которых формула принимает истинностное значение 1. Каждой такой строке ставится в соответствие элементарная конъюнкция, в которую переменная, принимающая истинностное значение 1, входит без отрицания, а 0 – с отрицанием. После этого образуется дизъюнкция всех элементарных конъюнкций, которая и составляет СДНФ.

При приведении к СКНФ рассматриваются те строки таблицы истинности, в которых формула принимает значение 0. Каждой такой строке ставится в соответствие элементарная дизъюнкция, причем переменная, принимающая значение 1, входит в нее с отрицанием, а 0 – без отрицания. Затем образуется конъюнкция всех полученных элементарных дизъюнкций, которая и составляет СКНФ.

Заметим, что из табличного способа построения совершенных нормальных форм следует, что тождественно-лож- ные формулы не имеют СДНФ, а тождественно-истинные не имеют СКНФ. Если же для ПФ существуют СДНФ и СКНФ, то они единственны. Поэтому две ПФ, имеющие совпадающие СДНФ (СКНФ) обязательно равносильны.

13

Пример 7. Составим СДНФ и СКНФ для формулы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= (X

 

 

Y ) (Y X).

 

 

 

 

 

 

 

 

 

Решение. Таблица истинности для данной ПФ имеет

вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

Y

Y

X Y

X Y

(X

Y) (X Y)

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

0

 

0

 

 

1

 

0

 

1

 

0

1

 

1

 

 

1

 

1

 

0

 

1

0

 

1

 

 

1

 

1

 

0

 

0

1

 

1

 

 

0

 

0

 

В этой таблице выберем строки, в которых

принимает

значение 1 (вторую и третью). Во второй строке

= 1, если Х

= 1, а Y = 0, поэтому элементарная конъюнкция имеет вид Х

Y . В третьей строке Х = 0, а Y = 1, следовательно, ей соот-

ветствует конъюнкция X Y. Объединяя полученные конъюнкции связкой дизъюнкции получим СДНФ для : = (Х

Y ) ( X Y).

Для построения СКНФ отметим строки, в которых = 0. (первую и четвертую). Составим элементарные дизъ-

юнкции X Y (для первой строки) и X Y (для четвертой строки). Соединяя их в конъюнкцию, получаем СКНФ для :

 

 

 

 

 

 

= ( X Y ) (X Y).

 

 

В равносильности формул ,

и нетрудно убедиться,

составив таблицы истинности для

и и сравнив их с табл.

8.

 

 

 

 

 

Табличный способ построения СДНФ и СКНФ может быть использован и для построения ПФ по заданной булевой функции.

Пример 8. Для булевой функции, заданной табл. 9 составить ПФ.

Решение. Для тех строк, в которых f = 1, составляем эле-

ментарные конъюнкции: (Х1 Х2 Х3), (Х1 X 2 X3 ),

14

 

 

 

Таблица 9

 

 

 

 

X1

X2

X3

f (X1, X2, X3)

1

1

1

1

1

1

0

0

1

0

1

0

1

0

0

1

0

1

1

1

0

1

0

0

0

0

1

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( X1

 

Х2

Х3), ( X1

X 2

Х3). Объединяя их связкой дизъ-

юнкции, получаем искомую ПФ в СДНФ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 Х2 Х3)

1 X 2

 

X3 )

( X1 Х2 Х3)

( X1 X 2 Х3).

В СКНФ эта же ПФ имеет вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( X1

X 2 Х3) ( X1

Х2 X3 ) (Х1 X 2 Х3)

 

1 Х2 Х3).

7. МНОГОЧЛЕНЫ ЖЕГАЛКИНА

Рассмотрим булеву функцию f (X, Y) = X + Y, где под сложением подразумевается сложение по модулю 2.

 

 

 

Таблица 10

 

 

 

 

X

Y

X + Y

X·Y

1

1

0

1

1

0

1

0

0

1

1

0

0

0

0

0

Вместо символа конъюнкции ( ) в данном случае удобно писать символ · или вообще его опускать, как это делается в арифметике. Тогда функцию X Y можно записать как X·Y или просто XY. Составим таблицу истинности для

функции X + Y и XY. (табл. 10). Условимся, что X = X + 1. По таблице истинности нетрудно проверить, что выпол-

няются тождества:

15

X + Y = Y + X; XY = YX; X·(Y + Z) = XY + XZ; 0 + X = 0;

0 ·X = 0; 1·X = X; X + X = 0; X·X = X.

Все соотношения, кроме двух последних, аналогичны обычным правилам алгебры многочленов. Поэтому булеву функцию можно представить в виде многочлена от своих переменных.

Многочленом Жегалкина называется многочлен, являющийся суммой константы 0 и 1 и различных одночленов, в которые все переменные входят не выше, чем в первой степени.

Для представления формулы многочленом Жегалкина необходимо, используя равносильности, перейти в формуле только к конъюнкциям и отрицаниям (причем отрицаниям не всегда тесным), конъюнкции заменить умножением, а отри-

цания преобразовать по равенству X = X + 1. В информатике операция отрицания, которая меняет значение 0 на 1 и 1 на 0 называется инверсией.

Пример 9. Представить многочленом Жегалкина функ-

ции X Y Z, X Y Z .

Решение.1) Используя равносильность 18), получаем:

X Y Z = X Y Z = X Y Z = X Y Z =

=(X + 1)(Y + 1)(Z + 1) + 1 = XYZ + XY + XZ + Z + YZ +

+Y +1 + 1 + Z = XYZ + XZ + YZ + X + Y + Z.

2)Переходя к конъюнкциям и отрицаниям, получаем:

X Y Z = (X Y Z) = (XY + 1)(Z + 1) + 1 =

= XYZ + XY + Z + 1 + 1 = XYZ + XY + Z.

Можно показать [3], что каждая булева функция может быть представлена многочленом Жегалкина и притом единственным образом.

16

8. АЛГОРИТМЫ ПОСТРОЕНИЯ МНОГОЧЛЕНА ЖЕГАЛКИНА

Рассмотрим алгоритмы построения многочлена Жегалкина булевой функции, заданной различными способами: совершенной ДНФ, произвольной ДНФ и таблицей истинности.

Алгоритм построения многочлена Жегалкина по СДНФ.

Пусть задана совершенная ДНФ функции f x1,..., xn .

Шаг 1. Заменяем каждый символ дизъюнкции на символ дизъюнкции с исключением.

Шаг 2. Заменяем каждую переменную с инверсией X равносильной формулой X 1.

Шаг 3. Раскрываем скобки.

Шаг 4. Вычеркиваем из формулы пары одинаковых слагаемых.

Таким образом, получаем многочлен Жегалкина функ-

ции f

x1,..., xn .

 

 

 

 

 

 

 

 

 

 

 

 

Пример 10. Найдем многочлен Жегалкина булевой

функции по ее совершенной ДНФ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XYZ

XYZ

XYZ

XYZ

XYZ

XYZ

XYZ

XYZ

 

 

X

1 YZ

X Y

1 Z

XY Z

1

 

 

XYZ

 

 

YZ

XYZ XZ XYZ XY XYZ XYZ YZ XZ XY.

 

 

Алгоритм построения многочлена Жегалкина по ДНФ

основан на равносильности K1 K2

 

K1

K2

K1K2 .

Пусть задана произвольная ДНФ функции f x1,..., xn .

Шаг 1. Разбиваем ДНФ на пары конъюнкций. Если число конъюнкций нечетно, одна из них остается без пары.

Шаг 2. Заменяем дизъюнкцию каждой пары конъюнкций K1 K2 формулой K1 K2 K1K2 .

Шаг 3. В полученной формуле находим очередную дизъюнкцию A1 A2 и заменяем ее формулой A1 A2 A1 A2 . Повторяем шаг 3 до тех пор, пока это возможно.

17

Шаг 4. Заменяем каждую переменную с инверсией X равносильной формулой X 1.

Шаг 5. Раскрываем скобки.

Шаг 6. Вычеркиваем из формулы пары одинаковых слагаемых.

Таким образом, получаем многочлен Жегалкина функ-

ции f x1,..., xn .

Пример 11. Найдем многочлен Жегалкина булевой

функции по ДНФ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XYZ XZ YZ

XYZ

XZ

YZ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XYZ

XZ

YZ

 

XYZ

XZ

YZ

XYZ

XZ YZ

 

 

 

 

 

 

 

 

 

 

 

XYZ

XZ

YZ

XYZ

 

XY Z

1

XZ YZ

XYZ

XY

XYZ

XZ

YZ XYZ

XY

XZ YZ.

 

Алгоритм построения многочлена Жегалкина по табли-

це истинности основан на методе неопределенных коэффициентов.

Продемонстрируем идею метода на примере произвольной булевой функции двух аргументов f X ,Y . Представим

ее многочленом Жегалкина с неизвестными коэффициентами:

Pf c0 c1Y c2 X c3 XY .

Подставив в данное равенство наборы значений аргументов, получим систему из четырех линейных уравнений с четырьмя неизвестными c0 , c1, c2 , c3 :

f 0, 0 c0

c1 0 c2 0 c3 0 0 c0 ,

f 0,1

c0

c11 c2 0

c3 01

c0

c1 ,

f 1, 0 c0

c1 0 c21 c310 c0

c2 ,

f 1,1

c0

c11 c21

c311

c0

c1 c2 c3 .

Заметим, что наборы подставлены в равенство в естественном порядке, и система имеет треугольный вид: в первом уравнении обратились в ноль все слагаемые, следующие за

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]