Maxsat с помощью алгоритма DPLL?
-
29-09-2020 - |
Вопрос
Можно вернуться из алгоритма DPLL M как максимум для проблемы Max-Sat?:
У меня есть образец:
https://gist.github.com/davefernig/e670bda722d558817f2ba0e90ebce66f
Мы можем изменить рецидивирую, чтобы вернуть результат max-sat?
Решение
Алгоритм DPLL не пытается удовлетворить как можно больше пунктов.Если есть удовлетворяющее задание, DPLL найдет его.В противном случае DPLL попробует серию частичных заданий, пока он не закончится возможности, а затем он будет объявлять непривлекательную формулу.Но в случае неудовлетворительной формулы нет никакой гарантии, что DPLL откроет максимальное количество удовлетворяемых предложению на пути к доказанию неудовлетворенности.
Проблема MAXSAT связана с нахождением минимально неудовлетворяемых подформованных (муз) экземпляра.Определение того, является ли набор положений MA MA, является проблемой полной DP.Ожидается, что это будет сложнее, чем простая полнота NP-полнота, поэтому маловероятно, что модификация DPLL для возврата частичных решений будет плодотворным.Учитывая, что класс DP содержится в $ \ delta ^ p_2 $ Вы можете разработать схему, которая вызывает DPLL (или связанные алгоритмы) полиномиальным количеством раз, чтобы создать MAXSATРезультат.