Специальные формы КНФ — различия между версиями
Rybak (обсуждение | вклад) (→КНФ в форме Хорна) |
Rybak (обсуждение | вклад) (→КНФ в форме Хорна) |
||
Строка 20: | Строка 20: | ||
= КНФ в форме Хорна = | = КНФ в форме Хорна = | ||
+ | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
Строка 27: | Строка 28: | ||
<tex> (\overline x_1 \vee \overline x_2 \vee ... \vee \overline x_n ) \wedge (x_1 \vee \overline x_2 \vee ... \vee \overline x_n)\wedge ...</tex> | <tex> (\overline x_1 \vee \overline x_2 \vee ... \vee \overline x_n ) \wedge (x_1 \vee \overline x_2 \vee ... \vee \overline x_n)\wedge ...</tex> | ||
− | |||
Каждая скобка представляет собой [http://ru.wikipedia.org/wiki/Дизъюнкт_Хорна''Дизъюнкт Хорна'']. | Каждая скобка представляет собой [http://ru.wikipedia.org/wiki/Дизъюнкт_Хорна''Дизъюнкт Хорна'']. | ||
Строка 36: | Строка 36: | ||
*Существует алгоритм, который за полиномиальное время проверяет, что функцию, заданную в форме Хорна можно удовлетворить. | *Существует алгоритм, который за полиномиальное время проверяет, что функцию, заданную в форме Хорна можно удовлетворить. | ||
− | + | *Функцию <tex>F</tex> можно задать в форме Хорна <tex> \iff </tex> выполнено следующее следствие: | |
− | |||
− | *Функцию <tex>F</tex> можно задать в форме Хорна <tex> \iff </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> | ||
− | ==См.также== | + | == См.также == |
* [[СКНФ]] | * [[СКНФ]] | ||
* [http://en.wikipedia.org/wiki/2-satisfiability 2-SAT(КНФ в форме Крома)] | * [http://en.wikipedia.org/wiki/2-satisfiability 2-SAT(КНФ в форме Крома)] |
Версия 01:39, 25 сентября 2011
Рассмотрим две формы, с помощью которых можно представить формулы, заданные в конъюнктивной нормальной форме, то есть имеющей вид конъюнкции выражений в скобках, каждое из которых представляет собой дизъюнкцию одного или нескольких литералов:
КНФ в форме Крома
Определение: |
Конъюнктивная нормальная форма(КНФ) в форме Крома - это конъюнкция выражений в скобках, каждое из которых представляет собой дизъюнкцию нескольких литералов, количество которых не превышает двух. |
Пример :
Утверждения:
- Существует алгоритм, который за полиномиальное время проверяет, что функцию, заданную в форме Крома можно удовлетворить(т.е КНФ в форме Крома не является тождественным ).
- Функцию можно задать в форме Крома выполнено следующее следствие:
КНФ в форме Хорна
Определение: |
Конъюнктивная нормальная форма(КНФ) в форме Хорна - это конъюнкция выражений в скобках, каждое из которых представляет собой дизъюнкцию литералов, в которой присутствует не более одного литерала без отрицания. |
Пример:
Каждая скобка представляет собой Дизъюнкт Хорна.
Любую формулу можно представить в виде КНФ в форме Хорна. Для этого формулу необходимо преобразовать в конъюнкцию элементарных дизъюнкций и далее каждую дизъюнкцию представить в форме дизьюнкта Хорна.
Утверждения:
- Существует алгоритм, который за полиномиальное время проверяет, что функцию, заданную в форме Хорна можно удовлетворить.
- Функцию можно задать в форме Хорна выполнено следующее следствие: