Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_ДМ_2часть.doc
Скачиваний:
91
Добавлен:
17.12.2018
Размер:
1.72 Mб
Скачать
    1. Аналитическое построение сднф и скнф

Под аналитическим построением будем понимать получение формулы вида СДНФ или СКНФ с помощью эквивалентных преобразований заданной формулы.

Пусть функция представлена формулой со связками {, &, }. Тогда для преобразования формулы в совершенную дизъюнктивную нормальную форму необходимо вначале представить формулу в виде – логической суммы логических произведений. Этого можно добиться с помощью законов дистрибутивности или других тождеств. Затем добавить к каждой элементарной конъюнкции (каждому логическому произведению переменных) единичные множители, составленные по закону исключенного третьего из символов тех переменных, которых недостает в данной конъюнкции до полного набора переменных, и далее выполнить преобразования, раскрывая скобки и приводя «подобные члены» по закону идемпотентности.

Например, f(x,y,z)=. Первое слагаемое в формуле преобразуем по закону Де Моргана, во втором слагаемом раскроем скобки с помощью закона дистрибутивности и поменяем местами сомножители, используя закон коммутативности. Тогда f(x,y,z)= – это выражение имеет требуемую форму: логическая сумма логических произведений переменных или их отрицаний, такая форма называется также дизъюнктивной нормальной формой (ДНФ). Теперь к каждой элементарной конъюнкции в ДНФ добавим единичный множитель: к первой –, ко второй – и к третьей . Получим:

f(x,y,z)==

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

Для представления функции в виде совершенной конъюнктивной нормальной формы необходимо вначале представить её в виде произвольной конъюнктивной нормальной формы (КНФ) – это выражение вида (логическое произведение логических сумм переменных или их отрицаний, или конъюнкция элементарных дизъюнкций). Этого можно добиться с помощью приведенных выше законов. Затем в каждую элементарную дизъюнкцию добавить нулевые слагаемые, составленные по закону противоречия из недостающих ей до полного набора переменных. Далее выполнить преобразования, применяя законы дистрибутивности, коммутативности и идемпотентности.

Например, . Приведем к виду КНФ:

f(x,y,z)=. В этом выражении 4 элементарных дизъюнкции, причем в первой из них не хватает до полного набора переменных y и z, во второй – переменной z, в третьей – х и в четвертой – у. Добавим их в виде нулевых слагаемых, пользуясь законом противоречия. Тогда f(x,y,z)==

=

. Теперь воспользуемся законами идемпотентности и коммутативности и получим СКНФ(f(x,y,z))=

=

    1. Теорема о тройке связок

      1. Всякая истинностная функция может быть выражена формулой, содержащей только связки {, &, }.

Доказательство:

Рассмотрим два случая: (1) если f(х1,х2,…,хn)0 – противоречие. Тогда очевидно, f(х1,х2,…,хn)=, если f(х1,х2,…,хn)1 – тавтология, то f(х1,х2,…,хn)=, (2) если f(х1,х2,…,хn)0 (и 1). Представим её в виде СДНФ или СКНФ. Тогда в полученной формуле имеются только связки из множества {, &, }.

Следствие 1: о парах связок

Для любой из следующих пар связок {Ø,&}, {Ø,Ú} и {Ø,®} и для любой функции алгебры логики можно построить формулу, реализующую эту функцию и содержащую связки только из заданной пары.

Доказательство:

Пусть для функции построена совершенная дизъюнктивная (или конъюнктивная) нормальная форма, т.е. формула, содержащая только связки {Ø,&,Ú}. Заметим, что выражение , является тождеством. Поэтому все выражения вида хÚу можно заменить эквивалентными и содержащими только связки {Ø,&}. Тем самым, полученная в результате проведенных преобразований формула, содержит только связки из заданной пары.

Для представления функции формулой со связками {Ø,Ú} аналогичным образом можно воспользоваться тождеством . И, выполнив замены всех подформул вида х&у на эквивалентную формулу , получить в результате формулу со связками из заданной пары.

Для перехода в формуле к последней паре связок {Ø,®} можно воспользоваться тождествами: и

Следствие 2: об уникальных связках

Любая истинностная функция может быть выражена формулой с использованием лишь одной связки стрелки Пирса – {¯}или штриха Шеффера – {½}.

Доказательство:

x

у

x¯у

x½у

0

0

1

1

0

1

0

1

1

0

0

1

1

1

0

0

Таблица 16

СДНФ(x¯у)=

СКНФ(x½у)=

Нетрудно также проверить, что имеют место следующие тождества: и .

Тем самым, х = = (x¯x) ¯ (у¯у) и х  = = (xx)  (уу). Последние тождества можно использовать для перехода в формуле от связок {Ø,&,Ú} к стрелке Пирса или к штриху Шеффера.

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

Рассмотрим применение следствий 1 и 2 на примере.

Запишем формулу ху с использованием только связок {Ø,&}: ху =. С использованием связок {Ø,Ú}: ху =. С использованием только {¯}: ху = ((х¯х) ¯ у) ¯ ((х¯х) ¯ у). И, наконец, с использованием только {}: ху = (x (уу)).