NP-полнота задачи о выполнимости булевой формулы в форме 3-КНФ — различия между версиями
| Строка 12: | Строка 12: | ||
# <tex> 3SAT \in NPH </tex>; | # <tex> 3SAT \in NPH </tex>; | ||
| − | ===Доказательство принадлежности | + | ===Доказательство принадлежности 3SAT классу NP=== |
Возьмем в качестве сертификата набор <tex>x_1 \ldots x_{n}</tex>, где <tex>x_i \in \{0,1\}</tex>. | Возьмем в качестве сертификата набор <tex>x_1 \ldots x_{n}</tex>, где <tex>x_i \in \{0,1\}</tex>. | ||
Верификатор подставляет <tex>x_1 \ldots x_n</tex> в формулу и проверяет её на равенство единице. | Верификатор подставляет <tex>x_1 \ldots x_n</tex> в формулу и проверяет её на равенство единице. | ||
Время работы верификатора и длина сертификата, очевидно, полиномиальны. Итак, <tex>3SAT \in NP</tex>. | Время работы верификатора и длина сертификата, очевидно, полиномиальны. Итак, <tex>3SAT \in NP</tex>. | ||
| − | ===Доказательство принадлежности | + | ===Доказательство принадлежности 3SAT классу NPH=== |
Покажем, что <tex>CNFSAT \le 3SAT</tex>, то есть <tex>CNFSAT</tex> сводится по Куку к <tex>3SAT</tex>. | Покажем, что <tex>CNFSAT \le 3SAT</tex>, то есть <tex>CNFSAT</tex> сводится по Куку к <tex>3SAT</tex>. | ||
Версия 18:12, 17 марта 2010
Содержание
Задача
в 3-КНФ,
Теорема
Доказательство
Для того, чтобы доказать -полноту задачи, необходимо установить следующие факты:
- .
- ;
Доказательство принадлежности 3SAT классу NP
Возьмем в качестве сертификата набор , где . Верификатор подставляет в формулу и проверяет её на равенство единице. Время работы верификатора и длина сертификата, очевидно, полиномиальны. Итак, .
Доказательство принадлежности 3SAT классу NPH
Покажем, что , то есть сводится по Куку к .
Рассмотрим один дизъюнкт булевой формулы в форме 3-КНФ. Он должен иметь вид . Научимся приводить члены вида , , к нужному виду.
- заменим на . Ясно, что последняя формула выполнима тогда и только тогда, когда выполнима исходная, при любых ;
- заменим на - свели задачу к предыдущей;
- Если встречается скобка вида , введем новых переменных и заменим нашу скобку на скобки:
Таким образом, мы свели к , следовательно . Теорема доказана.