
КДМ / КДМ_Лаб9
.docПрактическое занятие №9
Тема: Нормальные формы формул. Проблема разрешения.
Цель работы: овладение умением приведения булевых функций к ДНФ (СДНФ), КНФ(СКНФ).
Теоретическая часть
В силу ассоциативности операций и как бы мы не расставляли скобки в выражениях A1&A2&…&Ak, всегда будем приходить к равносильным формулам. Каждое из этих выражений будем считать формулой, и называть соответственно многочленной конъюнкцией и дизъюнкцией формул .
Канонические виды формул
Определение 1: Формулу называют элементарной конъюнкцией, если она является конъюнкцией переменных и отрицаний переменных.
Пример 1: .
Определение 2: Формула находится в дизъюнктивной нормальной форме (ДНФ), если она является дизъюнкцией элементарных конъюнкций.
Пример 2: .
Теорема 1 ( о приведении к ДНФ): Для любой формулы А можно найти такую формулу В, находящуюся в ДНФ, что АВ. Формула В называется ДНФ формулы А.
Аналогично читается теорема для КНФ (конъюнктивной нормальной формы).
Необходимо отметить, что ДНФ и КНФ может быть сколько угодно. Конечно, например все ДНФ данной формулы равносильны. Выделим среди ДНФ так называемую совершенную дизъюнктивную нормальную форму формулы.
Теорема 2: Пусть формула А зависит от списка переменных . Говорят, что А находится в совершенной дизъюнктивной нормальной форме (СДНФ) относительно этого списка, если выполняются следующие условия:
-
А находится в ДНФ;
-
каждый дизъюнктивный член А является – членной конъюнкцией, причём на L – месте
(1L) этой конъюнкции обязательно стоит либо переменная X, либо её отрицание .
-
все дизъюнктивные члены А попарно различны.
Теорема 3 (о единственности СДНФ): Если В1 и В2 – совершенные дизъюнктивные нормальные формы формулы А относительно списка переменных , то В1 и В2 могут отличаться только порядком своих дизъюнктивных членов.
Аналогично определяется СКНФ.
СДНФ и СКНФ можно использовать для распознавания равносильности двух формул.
Критерий равносильности: две формулы А1 и А2 зависящие от списка переменных и не равные тождественно Л (И), равносильны в том и только в том случае, если они приводятся к СДНФ (СКНФ), отличающимся лишь порядком своих дизъюнктивных (конъюнктивных) членов.
Проблемой разрешимости для логики высказываний называют следующую проблему: существует ли такая процедура, которая позволяла бы для произвольной формулы в конечное число шагов определить, является ли она тавтологией?
Решающим методом, во-первых, может служить составление таблицы истинности, которое позволяет всегда, для любой данной формулы, ответить является ли она тавтологией или нет. Он дает принципиальное решение проблемы, но при большом числе переменных таблица истинности становится очень громоздкой.
Второй способ решения основан на приведении формул к нормальной форме применением эквивалентных преобразований. Эта разрешающая процедура позволяет уже по структуре нормальной формы узнать является ли эквивалентная ей исходная формула тавтологией или нет. Приведение данной формулы к ее КНФ и может служить такой разрешающей процедурой.
Действительно, если каждый член КНФ - элементарная дизъюнкция - будет содержать хотя бы одну переменную вместе с ее отрицанием, то эта дизъюнкция получит значение 1, а значит, и вся конъюнкция будет иметь значение 1 при всех наборах значений переменных, т.е. тождественно истинной.
Если же хотя бы один член КНФ не содержит ни одной переменной вместе с ее отрицанием, то конъюнкция не является тождественно истинной, ибо найдется такой набор значений переменных, при котором этот член (элементарная дизъюнкция), а значит и вся конъюнкция имеет значение 0.
Это будет означать, что исходная формула является либо нейтральной, либо противоречием (всегда ложной).
Если из КНФ некоторой формулы можно узнать, является ли она всегда истинной (тавтологией), то ее ДНФ позволяет решить, является ли эта формула всегда ложной (противоречием).
Контрольные вопросы
-
Что называется дизъюнктивной нормальной формой булевой функции?
-
Дайте определение СДНФ и СКНФ переключательной функции.
-
В чем состоит проблема разрешимости для логики высказываний?
-
Какие есть разрешающие методы?
Индивидуальные задания
1. Найдите СДНФ следующих формул, применяя соответствующие эквивалентные преобразования.
-
~D 11) DС 21) СDС
-
DС~С 12) D~ 22) DС
-
С~D 13) DС 23) СD
-
DС~ 14) С~D 24) DСС;
-
~DС 15) ~СDС 25) D~С
-
С~D 16) DСС26) DС;
-
~D 17) С~С 27) С~D;
8 D~С 18) ~DСС 28) DС~С
9) СD 19) СD 29) СD
10) D~С 20) ~DСD; 30) DС.
2. Формула с тремя переменными имеет таблицу истинности. Какова наиболее простая эквивалентная ей формула?
А |
В |
С |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
3. Выпишите СКНФ всякой тождественно ложной формулы, содержащей одну переменную, две переменные, три переменные. Сколько элементарных дизъюнкций содержит СКНФ тождественно ложной формулы, состоящей из n переменных?
4. Если СДНФ некоторой формулы из четырёх переменных содержит пять членов, то сколько членов содержит СКНФ этой же формулы?
5. СКНФ некоторой формулы из трёх переменных содержит 6 членов. Какая из двух совершенных нормальных форм этой формулы проще -СДНФ или СКНФ?
6. Определите, какие из данных формул являются тавтологиями, приведя их к КНФ:
-
С
-
САС
-
С
Результаты задачи проверьте при помощи таблиц истинности.
7. Установите, какие из данных формул являются противоречием, приведя каждую из них к ДНФ:
1) (AB)~(A; 2) ((A((A));
3) (AC)C).
Результаты решения проверьте при помощи таблиц истинности.
8. Для каждой из следующих формул определите, является ли она тавтологией или противоречием, или нейтральной приведением формулы к ДНФ и КНФ:
1) (A;
2) ((;
3) CC;
4) ;
5) (( ACC;
6) CCCC.