Разбиение вершин графа, дающее информацию о структуре максимальных паросочетаний
В теории графов разложение Галлаи –Эдмондса представляет собой разбиение вершин графа на три подмножества, которое предоставляет информацию о структуре максимальных паросочетаний в графе. Тибор Галлаи [1] [2] и Джек Эдмондс [3] независимо друг от друга открыли его и доказали его ключевые свойства.
Разложение графа Галлаи–Эдмондса можно найти с помощью алгоритма Blow .
Характеристики
Для данного графа его разложение Галлаи–Эдмондса состоит из трех непересекающихся множеств вершин, , и , объединение которых равно : множество всех вершин . Во-первых, вершины из делятся на существенные вершины (вершины, которые покрыты каждым максимальным паросочетанием в ) и несущественные вершины (вершины, которые остались непокрытыми хотя бы одним максимальным паросочетанием в ). Множество определяется как содержащее все несущественные вершины. Существенные вершины делятся на и : множество определяется как содержащее все существенные вершины, смежные хотя бы с одной вершиной из , и определяется как содержащее все существенные вершины, не смежные ни с одной вершиной из . [4]
Обычно множества , и с подграфами, индуцированными этими множествами, отождествляют. Например, мы говорим «компоненты », имея в виду связные компоненты подграфа, индуцированного .
Разложение Галлаи–Эдмондса имеет следующие свойства: [5]
Компоненты являются факторно-критическими графами : каждый компонент имеет нечетное число вершин, и когда любая из этих вершин исключена, то существует идеальное соответствие оставшихся вершин. В частности, каждый компонент имеет почти идеальное соответствие: соответствие, которое охватывает все вершины, кроме одной.
Подграф, индуцированный , имеет идеальное паросочетание.
Каждое непустое подмножество имеет соседей по крайней мере в компонентах .
Каждое максимальное паросочетание в имеет следующую структуру: оно состоит из почти идеального паросочетания каждого компонента из , идеального паросочетания из , и ребер из всех вершин из в различные компоненты из .
Если имеет компоненты, то число ребер в любом максимальном паросочетании равно .
Строительство
Разложение Галлаи–Эдмондса графа можно найти, несколько неэффективно, начав с любого алгоритма поиска максимального паросочетания. Из определения вершина находится в тогда и только тогда, когда (граф, полученный из удалением ) имеет максимальное паросочетание того же размера, что и . Поэтому мы можем идентифицировать, вычислив максимальное паросочетание в и в для каждой вершины . Дополнение к можно разбить на и непосредственно из определения.
Одним из частных методов поиска максимального паросочетания в графе является алгоритм цветения Эдмондса , и обработка, выполняемая этим алгоритмом, позволяет нам напрямую находить разложение Галлаи–Эдмондса.
Чтобы найти максимальное соответствие в графе , алгоритм цветения начинает с небольшого соответствия и проходит через несколько итераций, в которых он увеличивает размер соответствия на одно ребро. Мы можем найти разложение Галлаи–Эдмондса из работы алгоритма цветения в последней итерации: работа, выполненная, когда у него есть максимальное соответствие , которое он не может сделать больше.
В каждой итерации алгоритм цветения переходит от к меньшим графам, сжимая подграфы, называемые «цветениями», до отдельных вершин. Когда это делается в последней итерации, цветения имеют особое свойство:
Все вершины цветка являются несущественными вершинами большего графа.
Вершина, образованная сжатием цветка, является несущественной вершиной меньшего графа.
Первое свойство следует из алгоритма: каждая вершина цветка является конечной точкой чередующегося пути , который начинается в вершине, не покрытой сопоставлением. Второе свойство следует из первого с помощью леммы ниже: [6]
Пусть будет графом, паросочетанием в , и пусть будет циклом длины , который содержит ребра и является вершинно-непересекающимся с остальной частью . Построим новый граф из , сжимая его до одной вершины. Тогда является максимальным паросочетанием в , если и только если является максимальным паросочетанием в .
Из этой леммы также следует, что при сжатии цветка набор несущественных вершин вне цветка остается прежним.
После того, как каждый цветок был сжат алгоритмом, результатом является меньший граф , максимальное соответствие в того же размера, что и , и чередующийся лес в относительно . В разложение Галлаи–Эдмондса имеет краткое описание. Вершины в классифицируются на внутренние вершины (вершины на нечетном расстоянии в от корня) и внешние вершины (вершины на четном расстоянии в от корня); — это в точности множество внутренних вершин, а — это в точности множество внешних вершин. Вершины , которые не находятся в форме . [7]
Стягивание цветков сохраняет множество несущественных вершин; поэтому может быть найдено из , взяв все вершины , которые были стянуты как часть цветка, а также все вершины в . Вершины в и никогда не стягиваются; и .
Расширение теоремы разложения Галлаи–Эдмондса на паросочетания с несколькими ребрами приведено в работе Катажины Палух «Capacitated Rank-Maximal Matchings» [9] .
^ Упражнение 9.1.2 в книге Ловаса и Пламмера, стр. 360
^ Сабо, Ясинт; Лёбль, Мартин; Яната, Марек (14 февраля 2005 г.), «Разложение Эдмондса–Галлаи для задачи упаковки k -кусков», The Electronic Journal of Combinatorics , 12 , doi : 10.37236/1905 , S2CID 11992200
^ Палух, Катажина (22 мая 2013 г.), «Capacitated Rank-Maximal Matchings», Алгоритмы и сложность , Lecture Notes in Computer Science, т. 7878, Springer, Берлин, Гейдельберг, стр. 324–335, doi :10.1007/978-3-642-38233-8_27, ISBN978-3-642-38232-1