Нарушитель зала

В теории графов нарушитель Холла — это набор вершин в графе, которые нарушают условие теоремы Холла о браке . [1]

Формально, если задан двудольный граф G = ( X  +  YE ) , то нарушителем Холла в X является подмножество W из X , для которого | N G ( W ) | < | W | , где N G ( W ) — множество соседей W в  G.

Если W является нарушителем Холла, то не существует паросочетания , которое насыщает все вершины W. Следовательно, не существует и паросочетания, которое насыщает X. Теорема Холла о браке утверждает, что обратное также верно: если нет нарушителя Холла, то существует паросочетание, которое  насыщает X.

Алгоритмы

Поиск нарушителя Холла

Нарушитель Холла может быть найден эффективным алгоритмом. Алгоритм ниже использует следующие термины:

  • M - чередующийся путь для некоторого паросочетания M — это путь, в котором первое ребро не является ребром M , второе ребро принадлежит M , третье не принадлежит M и т. д.
  • Вершина z является M -достижимой из некоторой вершины x , если существует M -чередующийся путь из x в z .

В качестве примера рассмотрим рисунок справа, где вертикальные (синие) ребра обозначают соответствие M. Множества вершин Y 1 , X 1 , Y 2 , X 2 являются M -достижимыми из x 0 (или любой другой вершины X 0 ), но Y 3 и X 3 не являются M -достижимыми из x 0 .

Алгоритм поиска нарушителя Холла выглядит следующим образом.

  1. Найдите максимальное паросочетание M (его можно найти с помощью алгоритма Хопкрофта–Карпа ).
  2. Если все вершины X сопоставлены, то возвращается «Нет нарушителя Холла».
  3. В противном случае пусть x 0 будет непарной вершиной.
  4. Пусть W — множество всех вершин X , которые M -достижимы из x 0 (его можно найти с помощью поиска в ширину ; на рисунке W содержит x 0 , X 1 и X 2 ).
  5. Возврат W.

Этот W действительно является нарушителем правил Холла по следующим фактам:

  • Все вершины N G ( W ) соответствуют M . Предположим от противного, что некоторая вершина y в N G ( W ) не соответствует M . Пусть x будет ее соседом в W . Путь от x 0 до x до y является M -увеличивающим путем - он является M -чередующимся и начинается и заканчивается несоответствующими вершинами, поэтому, "инвертируя" его, мы можем увеличить M , что противоречит его максимальности.
  • W содержит все совпадения N G ( W ) по M. Это потому, что все эти совпадения M -достижимы из x 0 .
  • W содержит другую вершину — x 0 — котораяпо определению не совпадает с M.
  • Следовательно, | W | = | N G ( W )| + 1 > | N G ( W )| , поэтому W действительно удовлетворяет определению нарушителя Холла.

Выявление минимальных и минимальных нарушителей Холла

Нарушитель Холла с минимальным включением — это нарушитель Холла, каждый из подмножеств которого не является нарушителем Холла.

Вышеуказанный алгоритм, по сути, находит минимальный по включению нарушитель Холла. Это происходит потому, что если удалить любую вершину из W , то оставшиеся вершины могут быть идеально сопоставлены с вершинами N G ( W ) (либо ребрами M , либо ребрами M-альтернирующего пути из x 0 ). [2]

Вышеуказанный алгоритм не обязательно находит нарушителя Холла с минимальной мощностью . Например, на рисунке выше он возвращает нарушителя Холла размером 5, тогда как X 0 — нарушитель Холла размером 3.

На самом деле, нахождение нарушителя Холла с минимальной мощностью является NP-трудным. Это может быть доказано сведением к задаче Клики . [3]

Нахождение нарушителя Зала или пути увеличения

Следующий алгоритм [4] [5] принимает в качестве входных данных произвольное паросочетание M в графе и вершину x 0 в X , которая не насыщена M.

В качестве выходных данных он возвращает либо нарушитель Холла, содержащий x 0 , либо путь, который можно использовать для увеличения M .

  1. Положим k = 0 , W k  := { x 0 }, Z k  := {} .
  2. Утверждать:
    • 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 .
  3. Если N G ( W k ) ⊆ Z k , то W k является нарушителем Холла, так как | W k | = k +1 > k = | Z k | ≥ | N G ( W k )| . Верните нарушитель Холла W k .
  4. В противном случае пусть y k +1 будет вершиной в N G ( W k ) \ Z k . Рассмотрим следующие два случая:
  5. Случай 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 .
  6. Случай 2: y k +1 не имеет соответствия с M .
    • Так как y k +1 находится в N G ( W k ) , он соединен с некоторым x i (для i  <  k  + 1 ) ребром, не принадлежащим M . x i соединен с y i ребром, не принадлежащим M . y i соединен с некоторым x j (для j  <  i ) ребром, не принадлежащим M , и так далее. Следование этим соединениям должно в конечном итоге привести к x 0 , который не имеет соответствия. Следовательно, у нас есть M-увеличивающий путь. Верните M-увеличивающий путь .

На каждой итерации W k и Z k растут на одну вершину. Следовательно, алгоритм должен завершиться не позднее, чем через | X | итераций.

Процедуру можно использовать итеративно: начать с M , представляющего собой пустое паросочетание, вызывать процедуру снова и снова, пока либо не будет найден нарушитель Холла, либо пока паросочетание M не заполнит все вершины X. Это дает конструктивное доказательство теоремы Холла.

  • Применение нарушителей Холла в программировании ограничений . [6]
  • «Нахождение подмножества в двудольном графе, нарушающего условие Холла». Computer science stack exchange . 2014-09-15 . Получено 2019-09-08 .

Ссылки

  1. ^ Ленчнер, Джонатан (19.01.2020). «Об обобщении проблемы брака». arXiv : 1907.05870v3 [math.CO].
  2. ^ Ган, Цзяруй; Суксомпонг, Варут; Вудурис, Александрос А. (01 сентября 2019 г.). «Свобода от зависти в вопросах распределения жилья». Математические социальные науки . 101 : 104–106 . arXiv : 1905.00468 . doi :10.1016/j.mathsocsci.2019.07.005. ISSN  0165-4896. S2CID  143421680.
  3. ^ Адитья Кабра. "Параметризованная сложность задачи минимального k-объединения". Диссертация магистра. Теорема 3.2.5. Это также упражнение 13.28 в [4] Марек Цыган, Федор В. Фомин, Лукаш Ковалик, Даниэль Локштанов, Дэниел Маркс, Марчин Пилипчук, Миха Пилипчук и Сакет Саурабх, "Параметризованные алгоритмы", Springer, 2016. См. также этот пост на CS stackexchange.
  4. ^ Мордехай Дж. Голин (2006). «Двудольное сопоставление и венгерский метод» (PDF) .
  5. ^ Сегал-Халеви, Эрель; Айгнер-Хорев, Элад (28.01.2019). «Сочетания без зависти в двудольных графах и их применение к справедливому делению». arXiv : 1901.09527v2 [cs.DS].
  6. ^ Элфферс, Ян; Гохт, Стефан; Маккриш, Сиаран; Нордстрём, Якоб (2020-04-03). «Обоснование всех различий с помощью псевдобулевых рассуждений». Труды конференции AAAI по искусственному интеллекту . 34 (2): 1486–1494 . doi : 10.1609/aaai.v34i02.5507 . ISSN  2374-3468. S2CID  208242680.
Взято с "https://en.wikipedia.org/w/index.php?title=Hall_violator&oldid=1177422362"