NP-полнота задачи о выполнимости булевой формулы в форме КНФ — различия между версиями
(→Доказательство) |
(→Доказательство принадлежности классу NP) |
||
Строка 13: | Строка 13: | ||
* <tex> CNFSAT \in NPH </tex> | * <tex> CNFSAT \in NPH </tex> | ||
==== Доказательство принадлежности классу NP ==== | ==== Доказательство принадлежности классу NP ==== | ||
+ | В качестве сертификата выберем набор литералов <tex>\{y_1, ...,y_n\}</tex>, представляющий собой набор из нулей и единиц. Верификатору останется подставить эти значения в качестве аргументов в формулу <tex>\phi(x_1, ..., x_n)</tex> и проверить, выдает ли она единицу. Длина сертификата и время работы верификатора, очевидно, удовлетворяют условиям полиномиальности. | ||
+ | |||
==== Доказательство принадлежности классу NPH ==== | ==== Доказательство принадлежности классу NPH ==== |
Версия 15:20, 17 марта 2010
Содержание
Определения
- Литералом является переменная или отрицание переменной. Например, или .
- Дизъюнктом называется логическое ИЛИ одного или нескольких литералов. Например,
- Говорят, что формула записана в конъюнктивной нормальной форме (КНФ), если представляет собой логическое И дизъюнктов.
Определение
SAT — задача о выполнимости булевой формулы в форме КНФ.
в КНФ,Теорема
Доказательство
Для доказательства теоремы необходимо установить два факта:
Доказательство принадлежности классу NP
В качестве сертификата выберем набор литералов
, представляющий собой набор из нулей и единиц. Верификатору останется подставить эти значения в качестве аргументов в формулу и проверить, выдает ли она единицу. Длина сертификата и время работы верификатора, очевидно, удовлетворяют условиям полиномиальности.