NP-полнота задачи о выполнимости булевой формулы в форме 3-КНФ — различия между версиями
Строка 1: | Строка 1: | ||
− | + | ==Теорема== | |
− | <tex>3SAT \in NPC </tex> | + | <tex>3SAT \in NPC </tex> |
− | + | ==Доказательство== | |
− | |||
− | |||
Для того, чтобы доказать <tex>NP</tex>-полноту задачи, необходимо установить следующие факты: | Для того, чтобы доказать <tex>NP</tex>-полноту задачи, необходимо установить следующие факты: |
Версия 17:56, 17 марта 2010
Теорема
Доказательство
Для того, чтобы доказать
-полноту задачи, необходимо установить следующие факты:- .
- ;
Для того, чтобы доказать первый факт, предъявим сертификат: набор , удовлетворяющий формулу. Итак, .
Теперь докажем
-трудность . Для этого покажем, что , то есть сводится по Куку к .Рассмотрим один член булевой формулы в форме КНФ (скобку). В форме 3-КНФ этот член должен иметь вид
. Научимся приводить члены вида , , к нужному виду.- заменим на . Ясно, что последняя формула выполнима тогда и только тогда, когда выполнима исходная, при любых ;
- заменим на - свели задачу к предыдущей;
- Если встречается скобка вида , введем новых переменных и заменим нашу скобку на скобки:
Таким образом, мы свели
к , следовательно . Теорема доказана.