Совершенные нормальные формы

 

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

называется литерой. Литеры и называются контрарными.

Отметим, что тогда и только тогда, когда .

Теорема (о разложении функций по переменным): Каждую функцию алгебры логики при любом можно представить в следующей форме:

 

,

 

где дизъюнкция берется по всем возможным наборам .

Это представление называется разложением функции по переменным.

 

Следствие 1: Разложение функции по одной переменной, например имеет вид:

.

 

Следствие 2: Разложение функции по переменным имеет вид:

.

 

Элементарной конъюнкцией, или конъюнктом называется конъюнкция литер. Элементарной дизъюнкцией, или дизъюнктом называется дизъюнкция литер.

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

Дизъюнкция конъюнктов называется дизъюнктивной нормальной формой (ДНФ); конъюнкция дизъюнктов называется конъюнктивной нормальной формой (КНФ).

Например, формула – ДНФ, формула – КНФ, а формула является одновременно КНФ и ДНФ.

Теорема: 1) Любая формула эквивалентна некоторой ДНФ. 2) Любая формула эквивалентна некоторой КНФ.

Опишем алгоритм приведения формулы к ДНФ (КНФ).

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

2. Используя законы де Моргана, перенести все отрицания к переменным и сократить двойные отрицания по правилу .

3. Используя закон дистрибутивности, преобразовать формулу так, чтобы все конъюнкции (дизъюнкций) выполнялись раньше дизъюнкций (конъюнкций).

В результате применения пп. 1 – 3 получается ДНФ (КНФ) данной формулы.

Например, для формулы имеем:

, то есть получено две ДНФ:

ДНФ ; ДНФ .

Для формулы можно получить (выполнить самостоятельно): КНФ , КНФ .

Любая булева функция может иметь бесконечно много представлений в виде ДНФ и КНФ. Особое место среди этих представлений занимают совершенные ДНФ (СДНФ) и совершенные КНФ (СКНФ).

Пусть – набор логических переменных, – набор нулей и единиц. Конституентой единицы набора называется конъюнкт . Конституентой нуля набора называется дизъюнкт . Отметим, что (или ) тогда и только тогда, когда , , … , .

Совершенной ДНФ называется дизъюнкция некоторых конституент единицы, среди которых нет одинаковых, а совершенной КНФ называется конъюнкция некоторых конституент нуля, среди которых нет одинаковых. Итак, СДНФ (СКНФ) есть ДНФ (КНФ), в которой в каждый конъюнкт (дизъюнкт) каждая переменная из набора входит ровно один раз, причем входит либо сама , либо ее отрицание .

Например, формула есть конституента единицы , формула есть конституента нуля , формула – СДНФ, формула – СКНФ, а формула не является СДНФ.

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

Теорема (о функциональной полноте): Для любой булевой функции найдется формула , представляющая функцию . Если , то существует представляющая ее формула, находящаяся в СДНФ:

,

и такое представление единственно с точностью до порядка следования конституент единицы. Если , то существует представляющая ее формула, находящаяся в СКНФ:

,

и такое представление единственно с точностью до порядка следования конституент нуля.

 

Константа 0 может быть представлена только СКНФ ( ), а константа 1 – только СДНФ ( ).

 

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

Решение: Строим следующую таблицу.

 

Конституенты единицы Конституенты нуля
 
 
 
 
 
 
 
 

 

По пятому столбцу таблицы формируем:

СДНФ ,

а по шестому столбцу формируем:

СКНФ .

Описанный в примере 9 способ нахождения СДНФ и СКНФ по таблице истинности бывает часто более трудоемким, чем следующий алгоритм.

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

1) если в конъюнкт входит некоторая переменная вместе со своим отрицанием, то удалить этот конъюнкт из ДНФ;

2) если в конъюнкт одна и та же литера входит несколько раз, то удалить все литеры , кроме одной;

3) если в некоторый конъюнкт не входит переменная , то этот конъюнкт заменить на эквивалентную формулу и, применяя закон дистрибутивности, привести полученную формулу к ДНФ; если недостающих переменных несколько, то для каждой из них к конъюнкту добавить соответствующую формулу вида ;

4) если в полученной ДНФ имеется несколько одинаковых конституент единицы, то оставить только одну из них. В результате получается СДНФ.

Алгоритм приведения КНФ к СКНФ аналогичен описанному выше алгоритму приведения ДНФ к СДНФ (составить самостоятельно).

 

Пример 10: Найти СДНФ для формулы: .

Решение:

ДНФ .

= ДНФ =

СДНФ .

Ответ: СДНФ = .

 

Пример 11: Для формулы из примера 10 найти ее СКНФ, предварительно приведя ее к КНФ.

Решение: =КНФ .

=КНФ =

СКНФ .

Ответ: СКНФ .

 

Пример 12: Для формулы из примера 10 найти СКНФ, записав предварительно СДНФ ее отрицания, а затем применив принцип двойственности.

Решение: СДНФ .

СКНФ =

.

 

 








Дата добавления: 2016-05-25; просмотров: 1567;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.028 сек.