Аноним

Максимальная выполнимость формул в 2-КНФ: различия между версиями

Материал из WEGA
м
 
(не показаны 2 промежуточные версии этого же участника)
Строка 110: Строка 110:


== Применение ==
== Применение ==
Модифицировав конструкцию графа, можно решать другие задачи за время <math>O(1,732^n)</math>, такие как MAX CUT ([[Максимальный разрез]]), MINIMUM BISECTION ([[Минимальная бисекция]]) и SPARSEST CUT ([[Самое неплотное сечение]]). В целом, любая задача оптимизации с ограничениями, в которой каждое ограничение имеет не более двух переменных, может быть решена быстрее с помощью описанного выше подхода. Более подробную информацию можно найти в работе [17] и в недавнем обзоре Вёгингера [19]. Схожая с вышеприведенным алгоритмом техника была также использована Дорном [6] с целью ускорения динамического программирования для некоторых задач на планарных графах (и вообще на графах с ограниченной путевой шириной).
Модифицировав построение графа, можно решать другие задачи за время <math>O(1,732^n)</math>, такие как MAX CUT ([[Максимальный разрез]]), MINIMUM BISECTION ([[Минимальная бисекция]]) и SPARSEST CUT ([[Самое неплотное сечение]]). В целом, любая задача оптимизации с ограничениями, в которой каждое ограничение имеет не более двух переменных, может быть решена быстрее с помощью описанного выше подхода. Более подробную информацию можно найти в работе [17] и в обзоре Вёгингера [19]. Схожая с вышеприведенным алгоритмом техника была также использована Дорном [6] с целью ускорения динамического программирования для некоторых задач на планарных графах (и вообще на графах с ограниченной путевой шириной).


== Открытые вопросы ==
== Открытые вопросы ==
• Необходимо улучшить использование памяти описанным выше алгоритмом. В настоящее время он требует <math>\Theta(2^{2n/3})</math>. Очень интересен пока нерешенный вопрос: существует ли алгоритм для MAX 2-SAT со временем <math>O(1,99^n)</math>, использующий только полиномиальный объем памяти. На этот вопрос можно было бы ответить положительно, если бы удалось найти алгоритм решения задачи о k-кликах (k-CLIQUE) с полилогарифмическими затратами памяти и временем <math>n^{k \ \delta}</math> для некоторых <math>\delta > 0</math> и <math>k \ge 3</math>.
• Необходимо улучшить использование памяти описанным выше алгоритмом. В настоящее время он требует <math>\Theta(2^{2n/3})</math>. Очень интересен пока нерешенный вопрос: существует ли алгоритм для MAX 2-SAT со временем <math>O(1,99^n)</math>, использующий только ''полиномиальный'' объем памяти. На этот вопрос можно было бы ответить положительно, если бы удалось найти алгоритм решения задачи о k-кликах (k-CLIQUE) с полилогарифмическими затратами памяти и временем <math>n^{k - \delta}</math> для некоторых <math>\delta > 0</math> и <math>k \ge 3</math>.


• Хотелось бы найти алгоритм для MAX 2-SAT, работающий быстрее чем <math>2^n</math> и не требующий быстрого умножения матриц. Алгоритмы быстрого умножения матриц имеют печальную репутацию непрактичных.
• Хотелось бы найти алгоритм для MAX 2-SAT с временем выполнения менее <math>2^n</math>, не требующий быстрого умножения матриц. Алгоритмы быстрого умножения матриц имеют печальную репутацию непрактичных.


• Следует обобщить вышеприведенный алгоритм для задачи MAX k-SAT, где k – любое целое положительное число. В текущей формулировке требуется эффективный алгоритм для нахождения малой гиперклики в гиперграфе. Однако для этой задачи неизвестны какие-либо результаты общего вида. Есть гипотеза, что для всех <math>k \ge 2</math> задача MAX k-SAT решается за время <math>\tilde{O}(2^{n(1 - \frac{1}{k + 1})})</math>, исходя из предположения, что умножение матриц выполняется за время <math>n^{2+o(1)}</math> [17].
• Следует обобщить вышеприведенный алгоритм для задачи MAX k-SAT, где k – любое целое положительное число. В текущей формулировке требуется эффективный алгоритм для нахождения малой гиперклики в гиперграфе. Однако для этой задачи неизвестны какие-либо результаты общего вида. Есть гипотеза, что для всех <math>k \ge 2</math> задача MAX k-SAT решается за время <math>\tilde{O}(2^{n(1 - \frac{1}{k + 1})})</math>, исходя из предположения, что умножение матриц выполняется за время <math>n^{2+o(1)}</math> [17].
Строка 123: Строка 123:
* [[Максимальный разрез]]
* [[Максимальный разрез]]
* [[Минимальная бисекция]]
* [[Минимальная бисекция]]
* [[Самое неплотное сечение]]
* [[Самый неплотный разрез]]


== Литература ==
== Литература ==
4824

правки