Максимальный разрез графа
Максимальный разрез графа — это разрез, размер которого не меньше размера любого другого разреза данного графа. Задача определения максимального разреза известна как задача о максимальном разрезе.
Эквивалентно, её можно сформулировать как разбиение множества вершин графа на две непересекающиеся части так, чтобы число рёбер, соединяющих эти части, было максимально возможным.
Существует также обобщённая версия задачи — задача о взвешенном максимальном разрезе. В этом случае каждому ребру назначается вещественный вес, и целью становится максимизация суммарного веса рёбер между двумя частями разреза. Взвешенные разрезы не обязательно ограничены неотрицательными весами, поэтому отрицательные значения могут изменять структуру оптимального решения.
Вычислительная сложность
Следующая задача разрешимости, связанная с максимальным разрезом, широко изучалась в теоретической информатике.
Пусть задан граф G и целое число k. Требуется определить, имеется ли в G разрез размера не меньшего, чем k.
Известно, что эта задача является NP-полной. NP-полноту можно показать с помощью сведения от задачи максимальной 2-выполнимости а также от ряда других классических задач разбиения. Взвешенная версия задачи входит в 21 NP-полную задачу Карпа[1].
Каноническая оптимизационная формулировка задачи известна как «задача о максимальном разрезе» и определяется следующим образом:
Пусть задан граф G. Необходимо найти максимальный разрез его множества вершин.
Алгоритмы полиномиального времени
Так как задача о максимальном разрезе является NP-трудной, нет известных алгоритмов полиномиального времени для задачи о максимальном разрезе для общих графов.
Для планарных графов, однако, задача о максимальном разрезе двойственна задаче китайского почтальона (задаче поиска кратчайшего обхода с обходом всех рёбер по меньшей мере один раз), в том смысле, что рёбра, не принадлежащие максимальному разрезу графа G, двойственны рёбрам, которые проходятся многократно в оптимальном обходе двойственного графа для графа G. Оптимальный обход образует самопересекающуюся кривую, которая разбивает плоскость на два подмножества, подмножество точек, для которых порядок относительно кривой чётен, и подмножества точек, порядок которых нечётен. Эти два подмножества образуют разрез, в который входят все рёбра, двойственные рёбрам, которые появляются нечётное число раз в обходе. Задача о китайском почтальоне может быть решена за полиномиальное время, и эта двойственность позволяет задачу максимального разреза решать для планарных графов за полиномиальное время[2]. Известно, однако, что задача максимальной бисекции NP-трудна[3].
Аппроксимационные алгоритмы
Задача о максимальном разрезе является APX-сложной (Пападимитроу и Яннакакис доказали MaxSNP-полноту данной задачи[4]), что означает, что не существует аппроксимационной схемы полиномиального времени (PTAS) как угодно близкой к оптимальному решению, если только не P = NP. Таким образом, любой аппроксимационный алгоритм полиномиального времени даёт аппроксимационный коэффициент, строго меньший единицы.
Существует простой вероятностный 0,5-аппроксимационный алгоритм — для любой вершины бросаем монету с целью решить, к какой части разреза отнести данную вершину[5][6]. Ожидается, что половина рёбер являются разрезающими. Этот алгоритм может быть дерандомизирован с помощью метода условных вероятностей. Таким образом, существует простой детерминированный полиномиального времени алгоритм с 0,5-аппроксимацией[7][8]. Один такой алгоритм начинает с произвольного разбиения вершин заданного графа и передвигает одну вершину за один шаг из одной части разреза в другую, улучшая решение на каждом шаге до тех пор, пока улучшение возможно. Число итераций алгоритма не превосходит , поскольку алгоритм улучшает разрез по меньшей мере на одно ребро. Когда алгоритм прекращает работу, по меньшей мере половина рёбер, инцидентных любой вершине, принадлежат разрезу, в противном случае перенос вершины улучшил бы разрез (увеличил бы размер разреза). Таким образом, разрез включает по меньшей мере рёбер.
Полиномиального времени аппроксимационный алгоритм для задачи о максимальном разрезе с лучшим известным аппроксимационным коэффициентом — это метод Геманса и Вильямсона, использующий полуопределённое программирование и вероятностное округление. Метод даёт аппроксимационный коэффициент , где [9][10]. Если гипотеза уникальной игры верна, это лучший возможный аппроксимационный коэффициент для максимального разреза[11]. Если не принимать такие недоказанные допущения, было доказано, что NP-трудно аппроксимировать значение максимального разреза с коэффициентом, лучшим [12][13].
См. также
Примечания
- ↑ Karp, 1972.
- ↑ Hadlock, 1975.
- ↑ Jansen, Karpinski, Lingas, Seidel, 2005.
- ↑ Papadimitriou & Yannakakis, 1991.
- ↑ Mitzenmacher, Upfal, 2005, с. Sect. 6.2.
- ↑ Motwani, Raghavan, 1995, с. Sect. 5.1.
- ↑ Mitzenmacher, Upfal, 2005, с. Sect. 6.3..
- ↑ Khuller, Raghavachari, Young, 2007.
- ↑ Gaur, Krishnamurti, 2007.
- ↑ Ausiello, Crescenzi и др., 2003.
- ↑ Khot, Kindler, Mossel, O'Donnell, 2007.
- ↑ Håstad, 2001.
- ↑ Trevisan, Sorkin, Sudan, Williamson, 2000.
Литература
- Giorgio Ausiello, Pierluigi Crescenzi, Giorgio Gambosi, Viggo Kann, Alberto Marchetti-Spaccamela, Marco Protasi. Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties. — Springer, 2003.
- Задача о максимальном разрезе (оптимизационная версия) — задача ND14 в Приложении B (стр. 399).
- Michael R. Garey, David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. — W. H. Freeman, 1979. — ISBN 0-7167-1045-5.
- Задача о максимальном разрезе (задача разрешимости) — задача ND16 в Приложении A2.2.
- Максимальный двудольный подграф (задача разрешимости) — задача GT25 в Приложении A1.2.
- Daya Ram Gaur, Ramesh Krishnamurti. LP rounding and extensions // Handbook of Approximation Algorithms and Metaheuristics. — Chapman & Hall/CRC, 2007.
- Michel X. Goemans, David P. Williamson. Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming // Journal of the ACM. — 1995. — Vol. 42, no. 6. — P. 1115–1145. — doi:10.1145/227683.227684.
- F. Hadlock. Finding a Maximum Cut of a Planar Graph in Polynomial Time // SIAM J. Comput.. — 1975. — Vol. 4, no. 3. — P. 221–225. — doi:10.1137/0204019.
- Johan Håstad. Some optimal inapproximability results // Journal of the ACM. — 2001. — Vol. 48, no. 4. — P. 798–859. — doi:10.1145/502090.502098.
- Klaus Jansen, Marek Karpinski, Andrzej Lingas, Eike Seidel. Polynomial Time Approximation Schemes for MAX-BISECTION on Planar and Geometric Graphs // SIAM Journal on Computing. — 2005. — Vol. 35, no. 1. — doi:10.1137/s009753970139567x.
- Richard M. Karp. Reducibility among combinatorial problems // Complexity of Computer Computation / R. E. Miller, J. W. Thacher. — Plenum Press, 1972. — P. 85–103.
- Subhash Khot, Guy Kindler, Elchanan Mossel, Ryan O'Donnell. Optimal inapproximability results for MAX-CUT and other 2-variable CSPs? // SIAM Journal on Computing. — 2007. — Vol. 37, no. 1. — P. 319–357. — doi:10.1137/S0097539705447372.
- Samir Khuller, Balaji Raghavachari, Neal E. Young. Greedy methods // Handbook of Approximation Algorithms and Metaheuristics / Teofilo F. Gonzalez. — Chapman & Hall/CRC, 2007.
- Michael Mitzenmacher, Eli Upfal. Probability and Computing: Randomized Algorithms and Probabilistic Analysis. — Cambridge, 2005.
- Rajeev Motwani, Prabhakar Raghavan. Randomized Algorithms. — Cambridge, 1995..
- Alantha Newman. Max cut // Encyclopedia of Algorithms / Ming-Yang Kao. — Springer, 2008. — P. 1. — ISBN 978-0-387-30770-1. — doi:10.1007/978-0-387-30162-4_219.
- Christos H. Papadimitriou, Mihalis Yannakakis. Optimization, approximation, and complexity classes // Journal of Computer and System Sciences. — 1991. — Vol. 43, no. 3. — P. 425–440. — doi:10.1016/0022-0000(91)90023-X.
- Luca Trevisan, Gregory Sorkin, Madhu Sudan, David Williamson. Gadgets, Approximation, and Linear Programming // Proceedings of the 37th IEEE Symposium on Foundations of Computer Science. — 2000. — P. 617–626.
Литература для дополнительного чтения
- Francisco Barahona, Martin Grötschel, Michael Jünger, Gerhard Reinelt. An application of combinatorial optimization to statistical physics and circuit layout design // Operations Research. — 1988. — Vol. 36, no. 3. — P. 493–513. — doi:10.1287/opre.36.3.493. — .
Ссылки
- Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson, Marek Karpinski, Gerhard Woeginger (2000), "Maximum Cut", in "A compendium of NP optimization problems".
- Andrea Casini, Nicola Rebagliati (2012), "A Python library for solving Max Cut"