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