Максимальная выполнимость формул в 2-КНФ
Ключевые слова и синонимы
МАКС 2-ВЫП (MAX 2-SAT)
Постановка задачи
В задаче о максимальной выполнимости формул в 2-КНФ (которая далее будет обозначаться как MAX 2-SAT, или МАКС 2-ВЫП) на входе имеется булева формула в конъюнктивной нормальной форме, такая, что каждый дизъюнкт содержит не более двух литералов. Задача заключается в том, чтобы найти такое присваивание переменным формулы, при котором максимальное количество дизъюнктов выполнимы.
MAX 2-SAT представляет собой классическую задачу оптимизации. Гэйри, Джонсоном и Стокмайером [7] было показано, что ее версия с принятием решений (decision version) является NP-полной, что резко отличает ее от задачи 2-КНФ (2-ВЫП), которая решается за линейное время [2]. Чтобы получить представление о сложности проблемы, приведем краткое описание NP-полноты. Можно преобразовать любой экземпляр задачи 3-КНФ F в MAX-экземпляр 2-КНФ F', заменив каждый дизъюнкт F, такой, что:
где
• Если присваивание делает
• Если присваивание делает
Если F выполнима, то существует присваивание, делающее выполнимыми 7/10 дизъюнктов в F', в противном случае никакое присваивание не делает выполнимыми более чем 7/10 дизъюнктов в F'. Поскольку задача 3-ВЫП сводится к МАКС 2-ВЫП, из этого следует, что МАКС 2-ВЫП (как задача с принятием решений) NP-полна.
Нотация
КНФ-формула представляется в виде набора дизъюнктов.
Символы
Пусть A и B – матрицы с элементами из
Что касается m и n, то применительно к графам они обозначают количество ребер и вершин графа, соответственно. В то же время в КНФ-формулах m и n обозначают количество дизъюнктов и переменных, соответственно.
Основные результаты
Основным результатом данной статьи является процедура, решающая задачу MAX 2-SAT за время
Ключевая идея
Алгоритм производит редукцию от MAX 2-SAT к задаче MAX TRIANGLE, в которой на входе имеется граф с целочисленными весами вершин и ребер, а целью является вывод 3-цикла с максимальным весом. На первый взгляд существование такой редукции кажется странным, поскольку MAX TRIANGLE можно тривиально решить за время
Заметим, что если бы задаче MAX TRIANGLE требовалось
Основной алгоритм
Сначала описывается редукция от MAX 2-SAT к MAX TRIANGLE, согласно которой каждый треугольник веса K в полученном графе находится в взаимно-однозначном соответствии с присваиванием, при котором становятся выполнимыми K дизъюнктов экземпляра MAX 2-SAT. Пусть a, b – вещественные числа, и пусть
Лемма 1. Если задача MAX TRIANGLE на графах с n вершинами и весами из
Доказательство. Пусть C – заданная формула в 2-КНФ. Предположим без потери общности, что n кратно 3. Пусть F – экземпляр задачи MAX 2-SAT. Произвольным образом разобьем n переменных экземпляра F на три множества
Определим граф
Определим вес треугольника в G как полную сумму всех весов и вершин в треугольнике.
Утверждение 1. Существует взаимно однозначное соответствие между треугольниками веса K в G и присваиваниями переменных, при которых ровно K дизъюнктов в F становятся выполнимыми.
Доказательство. Пусть a – присваивание переменной. Тогда существуют уникальные вершины
Количество дизъюнктов, которые становятся выполнимыми при этом присваивании, в точности равно весу соответствующего треугольника. Чтобы убедиться в этом, обозначим за
где последнее равенство следует из принципа включения-исключения. □
Заметим, что количество вершин в G равно
Далее описывается процедура нахождения максимального треугольника быстрее, чем с помощью простого перебора, с использованием быстрого умножения матриц. Алон, Галил и Маргалит [1] (вслед за Ювалем [20]) показали, что произведение расстояний для матриц с элементами из
Теорема 2 (Алон, Галил, Маргалит [1]). Пусть A и B – матрицы размера n x n с элементами из
Доказательство (набросок). Заменим элементы
На следующем шаге выберем такое число
Суммируя все вышесказанное,
Используя быстрый алгоритм произведения расстояний, можно решить задачу MAX TRIANGLE быстрее, чем простым перебором. Нижеследующее изложение основывается на алгоритм Итаи и Роде [10] для выявления наличия треугольника в невзвешенном графе менее чем за
Теорема 3. Задача MAX TRIANGLE может быть решена за время
Доказательство. Сначала демонстрируется, что весовая функция на вершинах и ребрах может быть преобразована в эквивалентную весовую функцию с весами только на ребрах. Пусть w – весовая функция над G. Переопределим веса следующим образом:
Обратите внимание, что вес треугольника при такой редукции остается неизменным.
Следующим шагом будет использование быстрого произведения расстояний для поиска треугольника с максимальным весом в реберно-взвешенном графе с n вершинами. Рассмотрим множество вершин G как множество {1, ..., n}. Определим A как матрицу размера n x n, такую, что A[i, j] = - w({i, j}), если существует ребро {i, j}, и A[i, j] =
Поэтому, найдя i, такой, что
Теорема 4. Задачу MAX 2-SAT можно решить за время
Доказательство. Пусть дан набор дизъюнктов C. Применим редукцию из леммы 1, чтобы получить граф G с
Применение
Модифицировав конструкцию графа, можно решать другие задачи за время
Открытые вопросы
• Необходимо улучшить использование памяти описанным выше алгоритмом. В настоящее время он требует
• Хотелось бы найти алгоритм для MAX 2-SAT, работающий быстрее 2n и не требующий быстрого умножения матриц. Алгоритмы быстрого умножения матриц имеют печальную репутацию непрактичных.
• Следует обобщить вышеприведенный алгоритм для задачи MAX k-SAT, где k – любое целое положительное число. В текущей формулировке требуется эффективный алгоритм для нахождения малой гиперклики в гиперграфе. Однако для этой задачи неизвестны какие-либо результаты общего вида. Есть гипотеза, что для всех k > 2 MAX k-SAT решается за время 6(2"'1~*+T-)), исходя из предположения, что умножение матриц выполняется за время n2+o(1) [17].
См. также
- Алгоритм поиска кратчайших путей при помощи матричного произведения
- Максимальный разрез
- Минимальная бисекция
- Самое неплотное сечение
Литература
1. Alon, N., Galil, Z., Margalit, O.: On the exponent of the all-pairs shortest path problem. J. Comput. Syst. Sci. 54,255-262 (1997)
2. Aspvall, B., Plass, M.F., Tarjan R.E.: A linear-time algorithm for testing the truth of certain quantified boolean formulas. Inf. Proc. Lett. 8(3),121-123(1979)
3. Bansal, N., Raman, V.: Upper bounds for Max Sat: Further Improved. In: Proceedings of ISAAC. LNCS, vol. 1741, pp. 247-258. Springer, Berlin (1999)
4. Coppersmith, D., Winograd S.: Matrix Multiplication via Arithmetic Progressions. JSC 9(3), 251-280 (1990)
5. Dantsin, E., Wolpert, A.: Max SAT for formulas with constant clause density can be solved faster than in O(2n) time. In: Proc. of the 9th International Conference on Theory and Applications of Satisfiability Testing. LNCS, vol. 4121, pp. 266-276. Springer, Berlin (2006)
6. Dorn, F.: Dynamic Programming and Fast Matrix Multiplication. In: Proceedings of 14th Annual European Symposium on Algorithms. LNCS, vol.4168, pp. 280-291. Springer, Berlin (2006)
7. Garey, M., Johnson, D., Stockmeyer, L.: Some simplified NP-complete graph problems. Theor. Comput. Sci. 1, 237-267 (1976)
8. Gramm, J., Niedermeier, R.: Faster exact solutions for Max2Sat. In: Proceedings of CIAC. LNCS, vol. 1767, pp. 174-186. Springer, Berlin (2000)
9. Hirsch, E.A.: A 2m/4-time Algorithm for Max 2-SAT: Corrected Version. Electronic Colloquium on Computational Complexity Report TR99-036 (2000)
10. Itai, A., Rodeh, M.: Finding a Minimum Circuit in a Graph. SIAM J. Comput. 7(4), 413^23 (1978)
11. Kneis, J., Molle, D., Richter, S., Rossmanith, P.: Algorithms Based on the Treewidth of Sparse Graphs. In: Proc. Workshop on Graph Theoretic Concepts in Computer Science. LNCS, vol. 3787, pp. 385-396. Springer, Berlin (2005)
12. Kojevnikov, A., Kulikov, A.S.: A New Approach to Proving Up per Bounds for Max 2-SAT. In: Proc. of the Seventeenth Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 11 -17 (2006)
13. Mahajan, M., Raman, V.: Parameterizing above Guaranteed Values: MAXSAT and MAXCUT. J. Algorithms 31(2), 335-354 (1999)
14. Niedermeier, R., Rossmanith, P.: New upper bounds for maximum satisfiability. J. Algorithms 26,63-88 (2000)
15. Scott, A., Sorkin, G.: Faster Algorithms for MAX CUT and MAX CSP, with Polynomial Expected Time for Sparse Instances. In: Proceedings of RANDOM-APPROX 2003. LNCS, vol. 2764, pp. 382-395. Springer, Berlin (2003)
16. Williams, R.:On Computing k-CNF Formula Properties. In: Theory and Applications of Satisfiability Testing. LNCS, vol. 2919, pp. 330-340. Springer, Berlin (2004)
17. Williams, R.: A new algorithm for optimal 2-constraint satisfaction and its implications. Theor. Comput. Sci. 348(2-3), 357-365 (2005)
18. Woeginger, G.J.: Exact algorithms for NP-hard problems: A survey. In: Combinatorial Optimization-Eureka! You shrink! LNCS, vol. 2570, pp. 185-207. Springer, Berlin (2003)
19. Woeginger, G.J.: Space and time complexity of exact algorithms: some open problems. In: Proc. 1st Int. Workshop on Parameterized and Exact Computation (IWPEC 2004). LNCS, vol. 3162, pp. 281-290. Springer, Berlin (2004)
20. Yuval, G.: An Algorithm for Finding All Shortest Paths Using N2.81 Infinite-Precision Multiplications. Inf. Process. Lett. 4(6), 155-156(1976)