Соответствие максимальной мощности - Maximum cardinality matching
Соответствие максимальной мощности это фундаментальная проблема в теория графов.[1]Нам дается график , а цель - найти соответствие содержащий как можно больше ребер, то есть подмножество ребер с максимальной мощностью, так что каждая вершина смежна не более чем с одним ребром подмножества. Поскольку каждое ребро покрывает ровно две вершины, эта проблема эквивалентна задаче поиска соответствия, которое покрывает как можно больше вершин.
Важный частный случай задачи сопоставления максимальной мощности - это когда г это двудольный граф, вершины которого V разбиты между левыми вершинами в Икс и правые вершины в Y, и края в E всегда соединяйте левую вершину с правой. В этом случае проблема может быть эффективно решена более простыми алгоритмами, чем в общем случае.
Алгоритмы для двудольных графов
Самый простой способ вычислить максимальное соответствие количества элементов - это следовать Алгоритм Форда – Фулкерсона. Этот алгоритм решает более общую проблему: вычисление максимального потока, но легко адаптируется: мы просто преобразуем граф в проточная сеть добавив исходную вершину к графу, имея все левые вершины в Икс, добавляя вершину стока, имеющую ребро из всех правых вершин в Y, сохраняя все края между Икс и Y, и присвоив каждому ребру емкость 1. Затем алгоритм Форда – Фулкерсона продолжит работу, многократно находя увеличивающий путь из некоторых Икс ∈ Икс некоторым у ∈ Y и обновление соответствия M взяв симметричную разность этого пути с M (при условии, что такой путь существует). Поскольку каждый путь можно найти в время, время работы , а максимальное совпадение состоит из ребер E которые несут поток из Икс к Y.
Улучшение этого алгоритма дается более сложным Алгоритм Хопкрофта – Карпа, который одновременно ищет несколько дополнительных путей. Этот алгоритм работает в время.
Алгоритм Чандрана и Хохбаума[2] для двудольных графов выполняется за время, которое зависит от размера максимального соответствия , который для является . Использование логических операций над словами размера сложность дополнительно улучшена до .[2]
Существуют более эффективные алгоритмы для специальных видов двудольных графов:
- За редкий двудольных графов, задача максимального согласования может быть решена в с алгоритмом Мадри, основанным на электрических потоках.[3]
- За планарный двудольные графы, задача решается за время где п количество вершин, сводя задачу к максимальный поток с несколькими источниками и стоками.[4]
Алгоритмы для произвольных графов
В алгоритм цветения находит соответствие максимальной мощности в общих (не двудольных) графах. Он работает во времени . Лучшая производительность О(√VE) для общих графиков соответствие производительности Алгоритм Хопкрофта – Карпа на двудольных графах может быть достигнуто с помощью гораздо более сложного алгоритма Микали и Вазирани.[5] Такой же оценки был достигнут алгоритм Блюм (де )[6] и алгоритм Габоу и Tarjan.[7]
Альтернативный подход использует рандомизация и основан на быстром матричное умножение алгоритм. Это дает рандомизированный алгоритм для общих графов со сложностью .[8] Теоретически это лучше для достаточно плотные графы, но на практике алгоритм работает медленнее.[2]
Другие алгоритмы решения задачи рассмотрены Дуаном и Петти.[9] (см. Таблицу I). С точки зрения аппроксимационные алгоритмы, они также отмечают, что алгоритм цветения а алгоритмы Микали и Вазирани можно рассматривать как аппроксимационные алгоритмы выполняется за линейное время для любой фиксированной границы ошибки.
Приложения и обобщения
- Найдя соответствие максимальной мощности, можно решить, существует ли идеальное соответствие.
- Проблема поиска совпадения с максимальным весом в взвешенный график называется проблема соответствия максимального веса проблема, и ее ограничение на двудольные графы называется проблема назначения. Если каждой вершине можно сопоставить несколько вершин одновременно, то это обобщенная задача о назначении.
- А соответствие приоритета - это конкретное сопоставление максимальной мощности, при котором приоритетные вершины сопоставляются первыми.
- Проблема поиска максимальной мощности соответствие в гиперграф NP-полна даже для 3-равномерных гиперграфов.[10]
Рекомендации
- ^ Запад, Дуглас Брент (1999), Введение в теорию графов (2-е изд.), Прентис Холл, Глава 3, ISBN 0-13-014400-2
- ^ а б c Chandran, Bala G .; Хохбаум, Дорит С. (2011), Практические и теоретические улучшения для двудольного сопоставления с использованием алгоритма псевдопотока, arXiv:1105.1569, Bibcode:2011arXiv1105.1569C,
теоретически эффективные алгоритмы, перечисленные выше, как правило, плохо работают на практике
. - ^ Мадри, A (2013), «Перемещение по центральному пути с электрическими потоками: от потоков к сопоставлениям и обратно», Основы компьютерных наук (FOCS), 54-й ежегодный симпозиум IEEE 2013 г., стр. 253–262, arXiv:1307.2205, Bibcode:2013arXiv1307.2205M
- ^ Боррадейл, Гленкора; Klein, Philip N .; Мозес, Шей; Нуссбаум, Яхав; Вульф-Нильсен, Кристиан (2017), «Максимальный поток с множественными источниками и множественными стоками в ориентированных планарных графах за почти линейное время», SIAM Журнал по вычислениям, 46 (4): 1280–1303, arXiv:1105.2228, Дои:10.1137 / 15M1042929, Г-Н 3681377, S2CID 207071917
- ^ Микали, С.; Вазирани, В.В. (1980), "An алгоритм поиска максимального совпадения в общих графах », Proc. 21-й симпозиум IEEE. Основы компьютерных наук, стр. 17–27, Дои:10.1109 / SFCS.1980.12, S2CID 27467816.
- ^ Блюм, Норберт (1990). Патерсон, Майкл С. (ред.). «Новый подход к максимальному совпадению в общих графиках» (PDF). Автоматы, языки и программирование. Конспект лекций по информатике. Берлин, Гейдельберг: Springer. 443: 586–597. Дои:10.1007 / BFb0032060. ISBN 978-3-540-47159-2.
- ^ Габоу, Гарольд Н.; Тарджан, Роберт Э (1991-10-01). «Более быстрые алгоритмы масштабирования для общих задач сопоставления графов» (PDF). Журнал ACM. 38 (4): 815–853. Дои:10.1145/115234.115366. S2CID 18350108.
- ^ Муха, М .; Санковский, П. (2004), «Максимальное совпадение с помощью исключения по Гауссу» (PDF), Proc. 45-я конференция IEEE Symp. Основы компьютерных наук, стр. 248–255
- ^ Дуан, Ран; Петти, Сет (01.01.2014). «Линейное приближение для согласования максимального веса» (PDF). Журнал ACM. 61: 1–23. Дои:10.1145/2529989. S2CID 207208641.
- ^ Карп, Ричард М. (1972), Миллер, Раймонд Э .; Тэтчер, Джеймс У .; Болингер, Джин Д. (ред.), "Сводимость среди комбинаторных проблем", Сложность компьютерных вычислений: материалы симпозиума по сложности компьютерных вычислений, состоявшегося 20–22 марта 1972 года в исследовательском центре IBM Thomas J. Watson, Йорктаун-Хайтс, Нью-Йорк, и спонсировавшегося Управлением военно-морских исследований, математика Программа, Всемирная торговая корпорация IBM и Департамент математических наук IBM., Серия исследовательских симпозиумов IBM, Бостон, Массачусетс: Springer US, стр. 85–103, Дои:10.1007/978-1-4684-2001-2_9, ISBN 978-1-4684-2001-2