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