ДНФ, КНФ Файл

advertisement
Булева алгебра. Представление произвольной функции алгебры
логики в виде формулы алгебры логики.
Пусть F( x1 , x2 ,..., xn )- произвольная функция алгебры логики n переменных.
Рассмотрим формулу
F (1, 1, 1)  x1  x 2 ...  x n 
F (1, 1, 1, 0)  x1  x 2 ...  x n 1  x n 
(1)
 F (1, 1, 1, 0, 1)  x1  x2 ...  xn2  x n1  x n 
… F (0, 0, 0, 0)  x1  x2 ...  x n
Ясно, что (1) определение функции F( x1 , x2 ,..., xn ), те значения F и формулы (1) совпадают на
всех наборах значений переменных x1 , x2 ,..., xn .
Свойства:
1. Каждое логическое слагаемое формулы содержит все переменные, входящие в функцию
F( x1 , x2 ,..., xn )
2. Все логические слагаемые формулы различны.
3. Ни одно логическое слагаемое формулы не содержит одновременно переменную и ее
отрицание.
4. Ни одно логическое слагаемое формулы не содержит одну и ту же переменную дважды.
Свойства 3, 4 – свойства совершенства им свойства (С).
Для каждого набора значений переменных, на котором функция F( x1 , x2 ,..., xn ) принимает
значение 1, заменим конъюнкцию элементарных переменных высказываний, взяв за
конъюнкции xk ,если значения xk на указанном наборе значений есть 1 и отриц. xk . Если
значение xk лишь 0. Дизъюнкция всех записанных конъюнкций и будет формулой.
Пусть, например, функция F( x1 , x2 ,..., xn ) имеет следующую таблицу истинности:
X1
1
1
1
1
0
0
0
0
X2
1
1
0
0
1
1
0
0
X3
1
0
1
0
1
0
1
0
f ( x1 , x2 ,..., xn )
0
1
1
0
0
1
0
1
Для набора значений переменных (1,1,0), (1,0,1), (0,1,0), (0,0,0), на которых функция
принимает значение 1, занятом конъюнкции x1  x2  x 3 , x1  x 2  x3 , x1  x2  x 3 ,
x1  x2  x3 , а формула обладающая свойствами (С), имеет вид:
x1x2 x3  x1 x 2 x3  x1 x2 x3  x1 x 2 x3 .
Закон двойственности.
Пусть формула A содержит операции конъюнкции, дизъюнкции и отрицания.
Назовем операцию конъюнкции двойственной операцией дизъюнкции, а операцию
дизъюнкции - двойственной операцией конъюнкции
Определение: формулы A и A A назовем двойственными, если формула A A получается из
формулы A путем замены в ней операции на двойственную. Например, для формулы
A  x  y   z , двойственной формулой будет формула A A  x  y   z
Теорема: Если формулы A и B равносильны, то равносильны и их двойственные
формулы, то есть A A  B B .
Дизъюнктивная нормальная форма и совершенная
дизъюнктивная нормальная форма (ДНФ и СДНФ).
Определение 1:Элементарной конъюнкцией n переменных называется конъюнкция
переменных или их отрицаний
Элементарная конъюнкция переменных может быть записана в виде:
x ,  1
x1 1  x2 2 ...  xnn , где xkk   k n
xk , n  0
Определение 2:Дизъюнктивной нормальной формой (ДНФ) формулы A называется
равносильная ей формула, представляющая собой дизъюнкцией элементарных конъюнкций.
Для любой формулы алгебры логики нужных равносильных преобразований можно
находить ее ДНФ, причем не единственную.
Например, для формулы A  x  x  y  имея: A  x  x  y  x  x  x  y   x  y , та



 
ДНФ A  x  x  x  y  , ДНФ A  x  y
Единственная ДНФ A , для которой 4 свойства совершенства (С).

СДНФ формулы A - получается из таблиц истинности.
Другой способ: - из равносильных преобразований формулы состоящих в следующем:
1. Пути равносильных преобразований формулы получает одну из ДНФ A .
2. Если в ДНФ A , конъюнкция B не содержит переменную x1 ,то, используя


B  x1  x1  B , B заменить на B  xi и B  xi , каждая из которых содержит xi .
3. Если в ДНФ A входят 2 одинаковых элементарные конъюнкции B , то 1 из них
можно отбросить, т. е B  B  B
4. Если некоторые элементарные конъюнкции B входят в ДНФ A содержит xi и
xi , то B  0 и B испомогается из ДНФ A , как нулевой член дизъюнкции.
5. Если некоторые элементарные конъюнкции, входящие в ДНФ A содержат
переменную xi дважды, то одну из них можно отбросить, xi  xi  xi
→СДНФ A
Например, для A  x  y  x  y ДНФ A  x  x  y  y  y B  x не содержит y , то




B  B  y  y  x  y  x  y , деля на 2 элементарные конъюнкции x  y и x  y .
Получим ДНФ A  x  y  x  y  x  y  y  y .
Лишнее отбросим, используя, x  y  x  y  x  y . Имея, получим,
ДНФ A  x  y  x  y  y  y , y  y  0 , то получим окончательно.
СДНФ A  x  y  x  y .
Конъюнктивная нормальная форма и совершенная
конъюнктивная нормальная форма (КНФ и СКНФ)
Определение 1: Элементарной дизъюнкцией n переменных называется дизъюнкция
 xk ,  n  1
переменных или их отрицаний: x1 1  x2 2  ...  xnn , где xkk  
xk , n  0
Определение 2: Конъюнктивной нормальной формой (КНФ) формулы A называется
равносильная ей формула, представляющая собой конъюнкцию элементарных
дизъюнкций.
Для любой формулы алгебры логики измененной равносильных преобразований можно
получить ее КНФ причем не единственную.
Пример.
A  x y  x y

 



A  x  y  x  y  x  y  x  y  x  y  x  y   x  y  x  y  x  x  y   x  y  y  

 

 x  y  x  x  y  y  КНФA

 

Но x  x  x ; y  y  y ; x  x  x ; y  y  y , то КНФ A  x  y    x  y   x  y  x  y ,

 
 



но x  y   x  y   x  y ; x  y  x  y  x  y , то КНФ A   x  y   x  y .
Определение 3: КНФ A - совершенная КНФ формулы A (СКНФ A ), если для нее
выполняются условия:
1. Все элементарные дизъюнкции, входящие в КНФ A ,различны.
2. Все элементарные дизъюнкции, входящие в КНФ A , содержат не переменные.
3. Каждая элементарная дизъюнкция, входящая в КНФ A , не содержит 2 одинаковые
переменные
4. Каждая элементарная дизъюнкция, входящая в КНФ A . Не содержит переменную
и ее отрицание.
Способ получения СКНФ:
Используем таблицу истинности для A , получим СДНФ A , получим СКНФ A , взяв
отрицание СДНФ A , т. Е СКНФ A  СДНФ A .
Другой способ:
1. Из формулы A получим одну из КНФ A .
2. Если в ней элементарные дизъюнкции не содержат xi , то B  xi  xi  B ,


элементарную дизъюнкцию B заменим на B  xi и B  xi ,каждая из них содержит
xi
3. Если в КНФ A входят 2 одинаковые элементарные дизъюнкции B , то лишнее
можно отбросить, т. е B  B  B .
4. Если переменная xi содержится дважды, то лишнее можно отбросить используя
xi  xi  xi
5. Если элементарные дизъюнкции. Входящие в КНФ A , содержат переменную xi и
ее отбросить, то xi  xi  1 и все дизъюнкции  1,ее можно отбросить, как
единственный член конъюнкции получим СКНФ A .
Пример.

A  x y x y


КНФA  x  y   x  x  y



.
КНФA  x  y   y  СКНФA
Проблема Разрешимости.
Все формулы могут разделяться на 3 класса:
1. Тождественно истинные
2. Тождественно ложные
3. Высказывания
Формулу A называют высказыванием, если она принимает значение истины хотя бы на 1
добора переменных, входящих в нее переменных n не является тождественно истинной.
К какому классу относить формулы?
Формулы приводящие к КНФ и ДНФ.
Теорема 1:Для того, чтобы элементарная дизъюнкция была тождественно истинной.
Необходимо и достаточно, чтобы в ней содержались переменная и ее отрицание.
Теорема 2: Для того, чтобы формула алгебры логики была тождественно истиной,
необходимо, чтобы любая элементарная дизъюнкция , входящие в КНФ A . Содержала
переменную и ее отрицание.
Теорема 3: Для того, чтобы элементарная конъюнкция было тождественно ложной,
необходимо и достаточно, чтобы в ней содержались ее переменная и ее отрицание.
Теорема 4:Для того, чтобы формула алгебры логики A была тождественно ложной,
необходимо и достаточно, чтобы любая конъюнкция , входящая в ДНФ A , содержала
переменную и ее отрицание.
Download