Специальные формы КНФ — различия между версиями
м |
(→КНФ в форме Хорна) |
||
Строка 40: | Строка 40: | ||
− | *Функцию <tex>F</tex> можно задать в форме | + | *Функцию <tex>F</tex> можно задать в форме Хорна <tex> \Leftrightarrow </tex> когда выполнено следующее следствие : |
<tex> F(x_1, ..., x_n)=F(y_1, ..., y_n)=1 \Rightarrow F(x_1 \wedge y_1, x_2 \wedge y_2, ..., x_n \wedge y_n)</tex> | <tex> F(x_1, ..., x_n)=F(y_1, ..., y_n)=1 \Rightarrow F(x_1 \wedge y_1, x_2 \wedge y_2, ..., x_n \wedge y_n)</tex> |
Версия 21:11, 19 января 2011
Рассмотрим две формы, с помощью которых можно представить формулы, заданные в конъюнктивной нормальной форме, т.е имеющей вид конъюнкции выражений в скобках, каждое из которых представляет собой дизъюнкцию одного или нескольких литералов:
КНФ в форме Крома
Определение: |
Конъюнктивная нормальная форма(КНФ) в форме Крома - это конъюнкция выражений в скобках, каждое из которых представляет собой дизъюнкцию нескольких литералов, количество которых не превышает двух. |
Пример :
Утверждения:
- Существует алгоритм, который за полиномиальное время проверяет, что функцию, заданную в форме Крома можно удовлетворить(т.е КНФ в форме Крома не является тождественным ).
- Функцию можно задать в форме Крома когда выполнено следующее следствие :
КНФ в форме Хорна
Определение: |
Конъюнктивная нормальная форма(КНФ) в форме Хорна - это конъюнкция выражений в скобках, каждое из которых представляет собой дизъюнкцию литералов, в которой присутствует не более одного литерала без отрицания. |
Пример:
Каждая скобка представляет собой Дизъюнкт Хорна.
Любую формулу можно представить в виде КНФ в форме Хорна. Для этого формулу необходимо преобразовать в конъюнкцию элементарных дизъюнкций и далее каждую дизъюнкцию представить в форме дизьюнкта Хорна.
Утверждения:
- Существует алгоритм, который за полиномиальное время проверяет, что функцию, заданную в форме Хорна можно удовлетворить.
- Функцию можно задать в форме Хорна когда выполнено следующее следствие :