Задача о выполнимости: различия между версиями
KEV (обсуждение | вклад) Нет описания правки |
KEV (обсуждение | вклад) Нет описания правки |
||
Строка 7: | Строка 7: | ||
Можно показать, что даже при более жестких ограничениях на вид формулы задача выполнимости булевых формул также <math>{\mathcal NP}</math>-полна. | Можно показать, что даже при более жестких ограничениях на вид формулы задача выполнимости булевых формул также <math>{\mathcal NP}</math>-полна. | ||
Булева формула находится в ''конъюнктивной нормальной форме'' | Булева формула находится в ''конъюнктивной нормальной форме'' (КНФ), если она представляет собой произведение сумм литералов, где каждый ''литерал'' имеет вид <math>x</math> или <math>\lnot x</math> для некоторой переменной <math>x</math>. | ||
Задача выполнимости формул, находящихся в КНФ, <math>{\mathcal NP}</math>-полна. | Задача выполнимости формул, находящихся в КНФ, <math>{\mathcal NP}</math>-полна. | ||
Строка 15: | Строка 15: | ||
Для <math>k=1</math> и 2 известны ''[[полиномиальный алгоритм|полиномиальные алгоритмы]]'', проверяющие <math>k</math>-выполнимость, т.е. ''1-ВЫП, 2-ВЫП'' <math>\in \mathcal NP</math>. | Для <math>k=1</math> и 2 известны ''[[полиномиальный алгоритм|полиномиальные алгоритмы]]'', проверяющие <math>k</math>-выполнимость, т.е. ''1-ВЫП, 2-ВЫП'' <math>\in \mathcal NP</math>. | ||
Ситуация изменяется при <math>k=3</math>, поскольку задача о 3-выполнимости является <math>{\ | Ситуация изменяется при <math>k=3</math>, поскольку задача о 3-выполнимости является <math>{\mathcal NP}</math>- полной. | ||
Версия от 17:10, 20 октября 2009
Задача о выполнимости (Satisfiability problem) - одна из основных [math]\displaystyle{ \mathcal NP }[/math]-полных задач. Формулируется следующим образом.
У с л о в и е. Задано множество булевых переменных [math]\displaystyle{ V }[/math] и правильно построенное булево выражение [math]\displaystyle{ E }[/math] над [math]\displaystyle{ V }[/math].
В о п р о с. Существует ли набор значений переменных множества [math]\displaystyle{ V }[/math], при котором выражение [math]\displaystyle{ E }[/math] выполнено, т.е. принимает значение "истина"?
Можно показать, что даже при более жестких ограничениях на вид формулы задача выполнимости булевых формул также [math]\displaystyle{ {\mathcal NP} }[/math]-полна.
Булева формула находится в конъюнктивной нормальной форме (КНФ), если она представляет собой произведение сумм литералов, где каждый литерал имеет вид [math]\displaystyle{ x }[/math] или [math]\displaystyle{ \lnot x }[/math] для некоторой переменной [math]\displaystyle{ x }[/math]. Задача выполнимости формул, находящихся в КНФ, [math]\displaystyle{ {\mathcal NP} }[/math]-полна.
Говорят, что булева формула находится в [math]\displaystyle{ k }[/math]-конъюнктивной нормальной форме ([math]\displaystyle{ k }[/math]-КНФ), если она представляет собой произведение сумм, состоящих не более чем из [math]\displaystyle{ k }[/math] литералов. Задача [math]\displaystyle{ k }[/math]-выполнимости ([math]\displaystyle{ k }[/math]-ВЫП) состоит в выяснении выполнимости формулы, находящейся в [math]\displaystyle{ k }[/math]-КНФ.
Для [math]\displaystyle{ k=1 }[/math] и 2 известны полиномиальные алгоритмы, проверяющие [math]\displaystyle{ k }[/math]-выполнимость, т.е. 1-ВЫП, 2-ВЫП [math]\displaystyle{ \in \mathcal NP }[/math]. Ситуация изменяется при [math]\displaystyle{ k=3 }[/math], поскольку задача о 3-выполнимости является [math]\displaystyle{ {\mathcal NP} }[/math]- полной.
См. также
Задача о вершинном покрытии, Задача о клике, Задача о неэквивалентности регулярных выражений, Задача о разбиении, Задача о точном покрытии 3-множествами, Задача о трехмерном сочетании, Классы [math]\displaystyle{ \mathcal P }[/math] и [math]\displaystyle{ \mathcal NP }[/math], Метод локальной замены, Метод построения компонент, Метод сужения задачи, Полиномиальная сводимость (трансформируемость), [math]\displaystyle{ \mathcal NP }[/math]-полная задача, Труднорешаемая задача.
Литература
[Ахо-Хопкрофт-Ульман],
[Касьянов/95]