Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АС10И1-2, Мат. лог. Лекция 2.doc
Скачиваний:
13
Добавлен:
20.08.2019
Размер:
314.37 Кб
Скачать

2.2.3. Как преобразовать формулу в сднф

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

Построение СДНФ осуществляется в два этапа. Сначала строится ДНФ. А затем ДНФ превращается в СДНФ. Чтобы превратить формулу в ДНФ, нужно выполнить следующие действия.

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

2. Раскрыть скобки и привести подобные, пользуясь законами дистрибутивности и другими равносильностями, а затем упростить формулу. В результате будет построена ДНФ.

3. Преобразовать ДНФ в СДНФ. Все ПЭК нужно превратить в полные ПЭК, для чего поступить так. Если в ПЭК не входит, например, переменная y, нужно домножить эту ПЭК на скобку и раскрыть скобки. Повторить операцию столько раз, сколько нужно, чтобы все ПЭК стали полными. Если появятся одинаковые конъюнкции, нужно убрать повторения, ведь .

Пример. Построить СДНФ формулы

Сначала построим таблицу истинности этой формулы (табл. 3), а затем преобразуем формулу в СДНФ

Таблица 3

x

y

z

0

0

0

1

0

1

1

0

0

0

0

1

1

0

0

1

1

1

0

1

0

1

0

1

0

1

1

0

1

1

1

0

0

0

0

0

1

0

0

1

0

1

1

0

1

1

0

1

1

0

0

1

1

1

1

1

0

0

1

0

0

0

1

1

1

1

0

1

0

0

0

1

Эта функция равна 1 на шести наборах значений переменных, ее СДНФ содержит шесть слагаемых и такова

.

Преобразуем формулу

; ;

;

. Преобразуем ДНФ в СДНФ

;

; .

2.2.4. Как преобразовать формулу в скнф

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

Построение СКНФ осуществляется в два этапа. Сначала строится КНФ, затем КНФ превращается в СКНФ.

Чтобы превратить формулу в КНФ, нужно выполнить следующие действия.

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

2. Воспользоваться законом дистрибутивности и превратить формулу в КНФ.

3. Упростить получившуюся КНФ.

4. Преобразовать КНФ в СКНФ.

Все ПЭД нужно превратить в полные ПЭД, для чего поступить так. Если в ПЭД не входит, например, переменная y, нужно прибавить логически к этой ПЭД выражение и воспользоваться законом дистрибутивности . Повторить операцию столько раз, сколько нужно, чтобы все ПЭД стали полными. Если появятся одинаковые ППЭД, нужно убрать повторения, так как .

Пример. Построим СКНФ формулы из параграфа 2.3. СКНФ этой формулы такова: , так как функция равна 0 на двух наборах  (0,0,0) и (0,1,1).

Преобразуем формулу. Как уже было показано

.

Тогда

.