нарушитель зала
В теории графов нарушитель Холла — это набор вершин графа, которые нарушают условие теоремы Холла о браке . [1]
Формально для двудольного графа G = ( X + Y , E ) нарушителем Холла в X является подмножество W графа X , для которого | Н Г ( Вт )| < | Вт | , где ( NG W ) — соседей W в G. множество
Если W является нарушителем Холла, то не существует паросочетания , насыщающего все вершины W . Следовательно, также не существует паросочетания, которое X. насыщает Теорема брака Холла утверждает, что верно и обратное: если нет нарушителя Холла, то существует паросочетание, которое насыщает X .
Алгоритмы
[ редактировать ]
Поиск нарушителя Холла
[ редактировать ]Нарушителя Холла можно найти с помощью эффективного алгоритма. В приведенном ниже алгоритме используются следующие термины:
- M - чередующийся путь для некоторого соответствия M — это путь, в котором первое ребро не является ребром M , второе ребро принадлежит M , третье не принадлежит M и т. д.
- Вершина z называется M -достижимой из некоторой вершины x , если существует M -перемежающийся путь от x до z .
В качестве примера рассмотрим рисунок справа, где вертикальные (синие) края обозначают M. соответствие Множества вершин Y1 X1 , из но , Y2 M , X2 X3 достижимы M - x0 . вершины X0 достижимы ) Y3 и ( x0 не - из или , любой другой
Алгоритм поиска нарушителя Холла выглядит следующим образом.
- Найдите максимальное паросочетание M (его можно найти с помощью алгоритма Хопкрофта–Карпа ).
- Если все вершины X совпадают, верните «Нарушителя Холла нет».
- В противном случае пусть x 0 — несовпадающая вершина.
- Пусть W — множество всех вершин X , которые M -достижимы из x 0 (его можно найти с помощью поиска в ширину ; на рисунке W содержит x 0 и X 1 и X 2 ).
- Вернуть В.
Этот W действительно является нарушителем Холла по следующим фактам:
- вершины NG Все ( W ) совпадают M. с некоторая вершина y в NG Предположим от противного , ( W ) не соответствует M. что Пусть x его сосед в W. — Путь от x0 -чередующийся и начинается до x до y является M -дополняющим путем — он M и заканчивается несовпадающими вершинами, поэтому, «инвертируя» его, мы можем увеличить M , что противоречит его максимальности.
- W совпадения NG ( ) W все по M. содержит Это связано с тем, что все эти совпадения M -достижимы из x 0 .
- W содержит еще одну вершину x 0 не соответствует вершина M. , которой по определению
- Следовательно, | Вт | = | Н Г ( Вт )| + 1 > | Н Г ( Вт )| , поэтому W действительно удовлетворяет определению нарушителя Холла.
Нахождение минимальных и минимальных нарушителей Холла
[ редактировать ]Минимальный по включению нарушитель Холла — это такой нарушитель Холла, что каждое из его подмножеств не является нарушителем Холла.
Приведенный выше алгоритм фактически находит минимального по включению нарушителя Холла. тем, что если какая-либо вершина удалена из W вершины могут быть идеально сопоставлены с вершинами NG ( Это связано с W ) (либо по ребрам M , либо по ребрам M-чередующегося пути из x0 , то оставшиеся ). [2]
Приведенный выше алгоритм не обязательно находит нарушителя Холла минимальной мощности . Например, на рисунке выше он возвращает нарушителя Холла размером 5, а X 0 — нарушителя Холла размера 3.
Фактически, найти нарушителя Холла минимальной мощности NP-трудно. Это можно доказать путем редукции к проблеме Клики . [3]
Поиск нарушителя Холла или дополняющего пути
[ редактировать ]Следующий алгоритм [4] [5] принимает в качестве входных данных произвольное паросочетание M в графе и вершину x 0 в X , которая не насыщена M .
В качестве вывода он возвращает либо нарушителя Холла, который содержит x 0 , либо путь, который можно использовать для дополнения M .
- Установите k = 0 , W k := { x 0 }, Z k := {} .
- Утверждать:
- W k = { x 0 ,..., x k } где x i — различные вершины X ;
- Z k = { y 1 ,..., y k } где y i — различные вершины Y ;
- Для всех i ≥ 1 , y i сопоставляется с x i с M. помощью
- Для всех i ≥ 1 , y i соединен с некоторым x j < i ребром, не M. принадлежащим
- Если NG W ( W k ) ⊆ Z k , то k является нарушителем Холла, поскольку | Вт к | знак равно к +1 > к = | З к | ≥ | Н грамм ( W k )| . Вернуть нарушителя Холла W k .
- случае пусть + — 1 вершина в NG yk ( Wk В )\ Zk противном . Рассмотрим следующие два случая:
- Случай 1: y k +1 соответствует M .
- Поскольку x 0 не сопоставлен и каждый x i в W k соответствует y i в Z k , партнером этого y k +1 должна быть некоторая вершина X , которой нет в W k . Обозначим его через x k +1 .
- Пусть W k +1 := W k U { x k +1 } и Z k +1 := Z k U { y k +1 } и k := k + 1 .
- Вернитесь к шагу 2 .
- Случай 2: y k +1 не соответствует M .
- Поскольку yk не +1 находится в ( NG Wk ) xi , он соединен с некоторым ( для i < k + 1 ) ребром, M. принадлежащим x i соединен с y i ребром в M . y i соединен с некоторым x j (для j < i ) ребром, не принадлежащим M , и так далее. Следование этим связям в конечном итоге должно привести к x 0 , который не имеет себе равных. Следовательно, мы имеем M-дополняющий путь. Вернуть M-дополняющий путь .
каждой итерации Wk увеличиваются и Zk На на одну вершину. Следовательно, алгоритм должен завершиться не более чем через | Х | итерации.
Процедуру можно использовать итеративно: начните с M , являющегося пустым сопоставлением, вызывайте процедуру снова и снова, пока либо не будет найден нарушитель Холла, либо пока сопоставление M не насытит все вершины X . Это дает конструктивное доказательство теоремы Холла.
Внешние ссылки
[ редактировать ]- Применение нарушителей Холла в программировании в ограничениях . [6]
- «Нахождение подмножества в двудольном графе, нарушающего условие Холла» . Обмен стеками информатики . 15 сентября 2014 г. Проверено 08 сентября 2019 г.
Ссылки
[ редактировать ]- ^ Ленчнер, Джонатан (19 января 2020 г.). «Обобщение проблемы брака». arXiv : 1907.05870v3 [ math.CO ].
- ^ Ган, Цзяруй; Суксомпонг, Варут; Вудурис, Александрос А. (01 сентября 2019 г.). «Свобода от зависти в вопросах распределения жилья». Математические социальные науки . 101 : 104–106. arXiv : 1905.00468 . doi : 10.1016/j.mathsocsci.2019.07.005 . ISSN 0165-4896 . S2CID 143421680 .
- ^ Адитья Кабра. « Параметризованная сложность задачи объединения минимума k ». Магистерская диссертация. Теорема 3.2.5. Это также упражнение 13.28 в [4] Марек Цыган, Федор В. Фомин, Лукаш Ковалик, Даниэль Локштанов, Дниел Маркс, Марцин Пилипчук, Миха Пилипчук и Сакет Саураб, «Параметризованные алгоритмы», Springer, 2016. См. также этот пост CS stackexchange. .
- ^ Мордехай Дж. Голин (2006). «Двустороннее сопоставление и венгерский метод» (PDF) .
- ^ Сегал-Халеви, Эрель; Айгнер-Хорев, Элад (28 января 2019 г.). «Сопоставления без зависти в двудольных графах и их приложения к справедливому делению». arXiv : 1901.09527v2 [ cs.DS ].
- ^ Элфферс, Ян; Гохт, Стефан; МакКриш, Кьяран; Нордстрем, Якоб (03 апреля 2020 г.). «Обоснование всех различий с помощью псевдобулевых рассуждений» . Материалы конференции AAAI по искусственному интеллекту . 34 (2): 1486–1494. дои : 10.1609/aaai.v34i02.5507 . ISSN 2374-3468 . S2CID 208242680 .