Наименьший k-разрез

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Наименьший k-разрез — это задача комбинаторной оптимизации, в которой требуется найти множество рёбер, удаление которых разбивает граф на k связных компонент. Эти рёбра называются k-разрезом. Целью задачи является поиск k-разреза с минимальным весом. Такое разбиение может иметь приложения при разработке СБИС, интеллектуальном анализе данных, в методе конечных элементов и информационном обмене при параллельных вычислениях.

Формальное определение

[править | править код]

Если задан неориентированный граф G = (VE) с заданными весами для рёбер wE → N и целое число k ∈ {2, 3, …, |V|}, разбиение V на k непересекающихся множеств F = {C1C2, …, Ck}, для которых минимизируется

Для фиксированного k задача разрешима за полиномиальное время O(|V|k2) [1]. Однако задача является NP-полной, если k является частью входных данных[2]. Задача также NP-полна, если мы фиксируем вершин и пытаемся найти наименьший -разрез, который разделяет эти вершины [3]

Аппроксимации

[править | править код]

Существуют некоторые аппроксимационные алгоритмы с аппроксимацией 2 − 2/k. Простой жадный алгоритм, который даёт такой коэффициент аппроксимации, вычисляет наименьший разрез в каждой связной компоненте и удаляет самый лёгкий из них. Алгоритм требует суммарно n − 1 вычислений максимального потока. Другой алгоритм, дающий тот же коэффициент, использует представление дерева Гомори — Ху[англ.] наименьших разрезов. Построение дерева Гомори — Ху требует n − 1 вычислений максимального потока, но алгоритм требует в общей сложности O(kn) вычислений максимального потока. Всё же проще анализировать аппроксимационный коэффициент втотого алгоритма[4][5].

Если мы ограничиваемся графами в метрическом пространстве, предполагая, что соответствующий полный граф удовлетворяет неравенству треугольника, и если будем требовать, чтобы результирующие разбиения имели заданные заранее размеры, задача аппроксимируется с коэффициентом 3 для любого фиксированного k[6]. Точнее, были обнаружены приближенные схемы полиномиального времени (PTAS) для таких задач[7].

Примечания

[править | править код]

Литература

[править | править код]
  • O. Goldschmidt, D. S. Hochbaum. Proc. 29th Ann. IEEE Symp. on Foundations of Comput. Sci.. — IEEE Computer Society, 1988. — С. 444-451.
  • M. R. Garey, D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. — W.H. Freeman, 1979. — ISBN 0-7167-1044-7.
  • H. Saran, V. Vazirani. Finding k-cuts within twice the optimal // Proc. 32nd Ann. IEEE Symp. on Foundations of Comput. Sci. — IEEE Computer Society, 1991. — С. 743-751. Архивная копия от 15 октября 2015 на Wayback Machine
  • Vijay V. Vazirani. Approximation Algorithms. — Berlin: Springer, 2003. — ISBN 3-540-65367-8.
  • N. Guttmann-Beck, R. Hassin. Approximation algorithms for minimum k-cut // Algorithmica. — 1999. — С. 198-207.
  • Francesc Comellas, Emili Sapena. A multiagent algorithm for graph partitioning. Lecture Notes in Comput. Sci. // Algorithmica. — 2006. — Т. 3907. — С. 279-285. — ISSN 0302-9743. — doi:10.1007/s004530010013. Архивировано 12 декабря 2009 года.
  • Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson, Marek Karpinski, Gerhard J. Woeginger. Minimum k-cut // A Compendium of NP Optimization Problems. — 2000.
  • W. Fernandez de la Vega, M. Karpinski, C. Mathieu. Approximation schemes for Metric Bisection and partitioning // Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete Algorithms. — 2004. — С. 506-515,.