4652
правки
Irina (обсуждение | вклад) м (→Нотация) |
Irina (обсуждение | вклад) |
||
Строка 33: | Строка 33: | ||
== Основные результаты == | == Основные результаты == | ||
Основным результатом данной статьи является процедура, решающая задачу MAX 2-SAT за время O(m | Основным результатом данной статьи является процедура, решающая задачу MAX 2-SAT за время <math>O(m \cdot 2^{\omega n/3})</math>. Метод может быть обобщен для ''подсчета'' количества решений ''любой'' задачи оптимизации с ограничениями, в которой на одно ограничение приходится не более двух переменных (см. [17]), хотя изложение в данной статье будет несколько отличаться от приведенного в указанном источнике и будет значительно упрощено. Известно несколько других точных алгоритмов для MAX 2-SAT, работающих более эффективно в специальных случаях – например, на разреженных экземплярах задачи [3, 8, 9, 11, 12, 13, 15, 16]. Ниже описана единственная известная на момент написания статьи процедура, выполняемая за время <math>O(poly(m) \cdot 2^{\delta n})</math> (при некотором фиксированном <math>\delta < 1</math>) во всех возможных случаях. | ||
'''Ключевая идея''' | '''Ключевая идея''' | ||
Алгоритм производит редукцию от MAX 2-SAT к задаче MAX TRIANGLE, в которой на входе имеется граф с целочисленными весами вершин и ребер, а целью является вывод 3-цикла с максимальным весом. На первый взгляд существование такой редукции кажется странным, поскольку MAX TRIANGLE можно тривиально решить за время O( | Алгоритм производит редукцию от MAX 2-SAT к задаче MAX TRIANGLE, в которой на входе имеется граф с целочисленными весами вершин и ребер, а целью является вывод 3-цикла с максимальным весом. На первый взгляд существование такой редукции кажется странным, поскольку MAX TRIANGLE можно тривиально решить за время <math>O(n^3)</math>, перебрав все возможные 3-циклы. Суть в том, что редукция экспоненциально увеличивает размер задачи: от экземпляра MAX 2-SAT с m дизъюнктами и n переменными к экземпляра MAX TRIANGLE с <math>O(2^{2n/3})</math> ребрами, <math>O(2^{n/3})</math> вершинами и весами в диапазоне {-m, ..., m}. | ||
правки