Максимально подходящий край - Maximally-matchable edge
В теория графов, а максимально совместимый край в графе - это ребро, которое входит хотя бы в один сопоставление максимальной мощности в графике.[1] Альтернативный термин допустимый край.[2][3]
Основная проблема в теория соответствия is: задан график г, найти множество всех максимально совместимых ребер в Г. Это эквивалентно нахождению объединения все максимальное совпадение в г (это отличается от более простой задачи поиска не замужем максимальное соответствие в г). Известно несколько алгоритмов решения этой проблемы.
Мотивация
Рассмотрим сватовство агентство с пулом мужчин и женщин. Учитывая предпочтения кандидатов, агентство составляет двудольный граф где есть грань между мужчиной и женщиной, если они совместимы. Конечная цель агентства - создать как можно больше совместимых пар, т. Е. Найти сопоставление максимальной мощности в этом графике. Для достижения этой цели агентство сначала выбирает ребро в графе и предлагает мужчине и женщине на обоих концах ребра встретиться. Теперь агентство должно позаботиться о выборе только максимально подходящего края. Это связано с тем, что, если он выбирает край, не поддерживающий максимальное соответствие, он может застрять с ребром, которое не может быть завершено до соответствия максимальной мощности.[1]
Определение
Позволять г = (V,E) - граф, где V вершины и E края. А соответствие в г это подмножество M из E, такая, что каждая вершина в V примыкает не более чем к одному ребру в M. А максимальное соответствие паросочетание максимальной мощности.
Край е в E называется максимально подходящий (или позволил), если существует максимальное соответствие M который содержит е.
Алгоритмы для общих графиков
В настоящее время самый известный детерминированный алгоритм для общих графов работает во времени. .[2]
Существует рандомизированный алгоритм построения общих графиков по времени. .[4]
Алгоритмы для двудольных графов
В двудольных графах, если один сопоставление максимальной мощности известно, можно найти все максимально согласованные ребра за линейное время - .[1]
Если максимальное соответствие неизвестно, его можно найти с помощью существующих алгоритмов. В этом случае итоговое общее время выполнения будет для общих двудольных графов и для плотных двудольных графов с .
Двудольные графы с идеальным соответствием
Алгоритм поиска максимально совпадающих ребер проще, если граф допускает идеальное соответствие.[1]:подраздел.2.1
Пусть двудольный граф , где и . Пусть будет идеальное совпадение .
Теорема: край е максимально совместима, если и только если е входит в некоторые М-переменный цикл - цикл, который чередуется между ребрами в M и края не в M. Доказательство:
- Если е находится в чередующемся цикле, то либо е в M, или - инвертируя цикл - мы получаем новое идеальное соответствие, которое содержит е. Следовательно, е максимально совместимы.
- Наоборот, если е максимально совпадает, то он находится в некотором идеальном соответствии N. Взяв симметричную разность M и N, мы можем построить переменный цикл, содержащий е.
Теперь рассмотрим ориентированный граф , где и есть край от к в ЧАС если только и есть грань между и в г (заметим, что по предположению таких ребер нет в M). Каждый M-переменный цикл в г соответствует направленный цикл в ЧАС. Направленное ребро принадлежит ориентированному циклу тогда и только тогда, когда оба его конца принадлежат одному и тому же компонент сильной связности. Существуют алгоритмы для нахождения всех сильносвязных компонент за линейное время.Поэтому множество всех максимально совпадающих ребер можно найти следующим образом:
- Учитывая неориентированный двудольный граф и идеальное соответствие Mотметьте каждый край в M как максимально подходящие.
- Построить ориентированный граф как указано выше.
- Найдите все сильно связанные компоненты в ЧАС.
- Для каждого я, j такой, что находятся в одном компоненте, отметьте край как максимально подходящие.
- Отметьте все оставшиеся ребра как несовместимые.
Двудольные графы без идеального соответствия
Пусть двудольный граф , где и и . Пусть данное максимальное совпадение будет , где . Края в E можно разделить на два класса:
- Ребра с обоими конечными точками, насыщенными M. Мы называем такие ребра M-верх.
- Ребра с ровно одной конечной точкой насыщены M. Мы называем такие ребра М-нижний.
- Обратите внимание, что нет ребер с обеими конечными точками, ненасыщенными на M, поскольку это противоречило бы максимальности M.
Теорема: Все M- нижние края максимально совместимы.[1]:подраздел.2.2 Доказательство: предположим е = (Икся,уj) где Икся насыщен и уj не является. Затем, удалив (Икся,уя) из M и добавив (Икся,уj) дает новое соответствие максимальной мощности.
Следовательно, остается найти максимально совпадающие ребра среди M- верхние.
Позволять ЧАС быть подграфом г вызванный M-насыщенные узлы. Обратите внимание, что M идеальное сочетание в ЧАС. Следовательно, используя алгоритм предыдущего пункта, можно найти все ребра, которые максимально совпадают в ЧАС. Тасса[1] объясняет, как найти оставшиеся максимально совместимые ребра, а также как динамически обновлять набор максимально совпадающих ребер при изменении графа.
использованная литература
- ^ а б c d е ж Тасса, Тамир (16 марта 2012 г.). «Нахождение всех максимально совместимых ребер в двудольном графе». Теоретическая информатика. 423: 50–58. Дои:10.1016 / j.tcs.2011.12.071. ISSN 0304-3975.
- ^ а б Де Карвалью, Марсело Х .; Чериян, Джозеф (01.10.2005). "An алгоритм разложения на слух покрытых совпадениями графов ». ACM-транзакции на алгоритмах. 1 (2): 324–337. Дои:10.1145/1103963.1103969. ISSN 1549-6325.
- ^ Ловас, Ласло; Пламмер, Майкл (2009-08-18). Теория соответствия. Провиденс, Род-Айленд: Американское математическое общество. Дои:10,1090 / чел / 367. ISBN 9780821847596.
- ^ Рабин, Майкл O .; Вазирани, Виджай В. (1989). «Максимальное совпадение в общих графиках посредством рандомизации» (PDF). Журнал алгоритмов. 10 (4): 557–567. Дои:10.1016/0196-6774(89)90005-9..