Полиномиальные сводимости и NP-полные задачи. Классы NP, coNP, NPC/Полнота/3ESAT
Материал из DISCOPAL
< Полиномиальные сводимости и NP-полные задачи. Классы NP, coNP, NPC | Полнота
Версия от 23:40, 2 марта 2022; StasFomin (обсуждение | вклад)
- Заголовок
- Полиномиальные сводимости и NP-полные задачи. Классы NP, coNP, NPC/Полнота/3ESAT
- Автор
- Стас Фомин
- Нижний колонтитул
- Полиномиальные сводимости и NP-полные задачи. Классы NP, coNP, NPC/Полнота/3ESAT
- Дополнительный нижний колонтитул
- Стас Фомин, 06:38, 3 марта 2022
Содержание
Постановка.
3SAT.
3SAT или «3-Выполнимость» — частный случай задачи SAT, в которой все дизъюнкции имеют не более чем три терма.
Однако, показано, что несмотря на это ограничение, 3SAT является NP-полной задачей.
3ESAT.
Частный случай 3SAT, когда в каждой скобке ровно три литерала[1].
NP?…
- ?
- Что будет сертификатом?
NP!.
Cертификат → вектор, на котором формула истинна.
Кого сводим к ней?.…
- 3SAT
- Проблемы:
- Скобки из
- одного литерала
- двух литералов
- Скобки из
Один литерал в скобке-дизъюнкции.
- $\{x_k\}$
- 3-КНФ может быть истинна ←→ $x_k = 1\;\forall k$;
- проверяем, что $\nexists\:i, j:\:x_i \equiv\bar x_j$
- иначе → сразу невыполнима.
- Подстановка $x_k = 1$
- Выкидываем
- все дизъюнкции, содержащие литерал $x_k$
- все литералы $\bar x_i$, выполнимость получившейся КНФ будет равносильна выполнимости исходной.
- Выкидываем
- Повторяем, пока не избавимся от дизъюнкций из одного литерала.
Каждую дизъюнкцию 3-КНФ, содержащую 2 литерала: $\alpha = (x\wedge y)$ заменяем на две: $\beta = (x\wedge y\wedge z)\vee (x\wedge y\wedge\bar z)$. Тогда $\alpha\equiv\beta$.
Итого за полиномиальное время получаем КНФ из $3ESAT$, выполнимость которой равносильна выполнимости исходной.- ↑ разумеется, три разных литерала! Т.е. нельзя , можно
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.