К-выполнимость.
К-выполнимость означает, что любой дизъюнкт, входящий в КНФ, содержит не более К логических переменных.Минимальный случай К=3. Для булевской функции, представленной в КНФ, за полиномиальное время можно найти функцию Е*(х2), содержащую не более трех переменных в каждом дизъюнкте. Тогда Е выполнима, если выполнима Е*.
E*(x1, x2,…, xn)E*(xi)
Для этого используется метод уменьшения порядка дизъюнкта
(1 2 … k)=(1 2 z) (3 4 … k )
Применяя итерационный процесс разложения, можно получить Е*.
Найти алгоритм решения Е* проще, чем функции Е. Но при этом доказав выполнимость Е*, докажем выполнимость исходной функции Е.
Частный случай: при К=2 функция Е входит в Р.
Примерами задач NP-класса могут послужить также задачи на графах:
Определение максимума клик неориентированного графа (NP-трудная задача).
Задача определения полного подграфа (NP-полная задача).
Определение вершинного покрытия мощности L для неориентированного графа (NP-полная задача).
Определение максимума вершинных покрытий неориентированного графа (NP-трудная задача).
Задача определения существования Гамильтонова цикла для графа (NP-полная задача).
Задача коммивояжера: определение оптимального движения по графу с единым вхождением в каждую вершину (NP-трудная задача).
Задача составления расписания (NP-полная задача).
Do'stlaringiz bilan baham: |