Задача о выполнимости
Задача о выполнимости (Satisfiability problem) — одна из основных -полных задач. Формулируется следующим образом.
У с л о в и е. Задано множество булевых переменных и правильно построенное булево выражение
над
.
В о п р о с. Существует ли набор значений переменных множества , при котором выражение
выполнено, т.е. принимает значение "истина"?
Можно показать, что даже при более жестких ограничениях на вид формулы задача выполнимости булевых формул также -полна.
Булева формула находится в конъюнктивной нормальной форме (КНФ), если она представляет собой произведение сумм литералов, где каждый литерал имеет вид или
для некоторой переменной
.
Задача выполнимости формул, находящихся в КНФ,
-полна.
Говорят, что булева формула находится в -конъюнктивной нормальной форме (
-КНФ), если она представляет собой произведение сумм, состоящих не более чем
из
литералов. Задача
-выполнимости (
-ВЫП)
состоит в выяснении выполнимости формулы, находящейся в
-КНФ.
Для и 2 известны полиномиальные алгоритмы, проверяющие
-выполнимость, т.е. 1-ВЫП, 2-ВЫП
.
Ситуация изменяется при
, поскольку задача о 3-выполнимости является
- полной.
См. также
- Задача о вершинном покрытии,
- Задача о клике,
- Задача о неэквивалентности регулярных выражений,
- Задача о разбиении,
- Задача о точном покрытии 3-множествами,
- Задача о трехмерном сочетании,
- Классы
и
,
- Метод локальной замены,
- Метод построения компонент,
- Метод сужения задачи,
- Полиномиальная сводимость (трансформируемость),
-полная задача,
- Труднорешаемая задача.
Литература
- Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.
- Касьянов В.Н. Лекции по теории формальных языков, автоматов и сложности вычислений. — Новосибирск: НГУ, 1995.