Теорема Холла — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Определения)
(Пояснения к доказательству)
Строка 31: Строка 31:
 
[[Файл:aba.gif|600px|thumb|right|Пример]]
 
[[Файл:aba.gif|600px|thumb|right|Пример]]
  
Пусть было построено паросочетание размером 3(синие ребра).
+
Пусть было построено паросочетание размером 3 (синие ребра).
  
 
Добавляем вершину с номером 4.
 
Добавляем вершину с номером 4.
Строка 37: Строка 37:
 
Во множество <tex>H</tex> вошли вершины с номерами 1, 3, 4, 5, 7, 8.
 
Во множество <tex>H</tex> вошли вершины с номерами 1, 3, 4, 5, 7, 8.
  
Ненасыщенная вершина из правой доли всегда найдется(в примере вершина с номером 8), т.к иначе получаем противоречие:
+
Ненасыщенная вершина из правой доли всегда найдется (в примере вершина с номером 8), т.к иначе получаем противоречие:
 
# В <tex>H_R</tex> входят только насыщенные вершины.
 
# В <tex>H_R</tex> входят только насыщенные вершины.
 
# <tex>N(H_L) = H_R</tex>  
 
# <tex>N(H_L) = H_R</tex>  
# В <tex>H_L</tex> по карйней мере <tex>H_R+1</tex> вершин("соседи" по паросочетанию для каждой вершины из <tex>H_R</tex> и ещё одна вершина, которую пытаемся добавить).
+
# В <tex>H_L</tex> по карйней мере <tex>H_R+1</tex> вершин ("соседи" по паросочетанию для каждой вершины из <tex>H_R</tex> и ещё одна вершина, которую пытаемся добавить).
 
Цепь {4, 7, 3, 8} является удлиняющей для текущего паросочетания.
 
Цепь {4, 7, 3, 8} является удлиняющей для текущего паросочетания.
  
 
Увеличив текущее парасочетание вдоль этой цепи, мы насытим вершину с номером 4.
 
Увеличив текущее парасочетание вдоль этой цепи, мы насытим вершину с номером 4.
 
 
 
  
 
==Примечания==
 
==Примечания==

Версия 12:32, 18 января 2013

Определения

Пусть [math]G(V,E)[/math] - двудольный граф. [math]L[/math] - множество вершин первой доли. [math]R[/math] - множество вершин правой доли.

Определение:
Полным (совершенным) паросочетанием называется паросочетание, в которое входят все вершины.


Определение:
Пусть [math]X \subset V [/math]. Множeство соседей [math]X[/math] определим формулой: [math]N(X)= \{ y \in V: (x,y) \in E \}[/math]


Теорема

Теорема (Холл):
Полное паросочетание существует тогда и только тогда, когда для любого [math]A \subset L [/math] выполнено [math]|A| \leq |N(A)|[/math].
Доказательство:
[math]\triangleright[/math]

[math]\Rightarrow[/math] Очевидно, что если существует полное паросочетание, то для любого [math]A \subset L [/math] выполнено [math]|A| \leq |N(A)|[/math]. У любого подмножества вершин есть по крайней мере столько же "соседей" ("соседи по парасочетанию").

[math]\Leftarrow[/math] В обратную сторону докажем по индукции (будем добавлять в изначально пустое паросочетание [math]P[/math] по одному ребру и доказывать, что мы можем это сделать, если [math]P[/math] не полное). Таким образом, в конце получим что [math]P[/math] — полное паросочетание.

  1. База: Вершина из [math]L[/math] соединена хотя бы с одной вершиной из [math]R[/math]. Следовательно база верна.
  2. Переход: Пусть после [math]k\lt n[/math] шагов построено парасочетание [math]P[/math]. Докажем, что в [math]P[/math] можно добавить вершину [math]x[/math] из [math]L[/math], не насыщенную паросочетанием [math]P[/math]. Рассмотрим множество вершин [math]H[/math] — все вершины, достижимые из [math]x[/math], если можно ходить из [math]R[/math] в [math]L[/math] только по ребрам из [math]P[/math], а из [math]L[/math] в [math]R[/math] по любым ребрам из [math]G[/math]. Тогда в [math]H[/math] найдется вершина [math]y[/math] из [math]R[/math], не насыщенная паросочетанием [math]P[/math], иначе, если рассмотреть вершины [math]H_L[/math] (вершины из [math]H[/math] принадлежащие [math]L[/math]), то для них не будет выполнено условие: [math]|H_L| \gt |N(H_L)|[/math]. Тогда существует путь из [math]x[/math] в [math]y[/math], который будет удлиняющим для паросочетания [math]P[/math] (т.к из [math]R[/math] в [math]L[/math] мы проходили по ребрам паросочетания [math]P[/math]). Увеличив паросочетание [math]P[/math] вдоль этого пути, получаем искомое паросочетание. Следовательно предположение индукции верно.
[math]\triangleleft[/math]

Пояснения к доказательству

Пример

Пусть было построено паросочетание размером 3 (синие ребра).

Добавляем вершину с номером 4.

Во множество [math]H[/math] вошли вершины с номерами 1, 3, 4, 5, 7, 8.

Ненасыщенная вершина из правой доли всегда найдется (в примере вершина с номером 8), т.к иначе получаем противоречие:

  1. В [math]H_R[/math] входят только насыщенные вершины.
  2. [math]N(H_L) = H_R[/math]
  3. В [math]H_L[/math] по карйней мере [math]H_R+1[/math] вершин ("соседи" по паросочетанию для каждой вершины из [math]H_R[/math] и ещё одна вершина, которую пытаемся добавить).

Цепь {4, 7, 3, 8} является удлиняющей для текущего паросочетания.

Увеличив текущее парасочетание вдоль этой цепи, мы насытим вершину с номером 4.

Примечания

Иногда теорему называют теоремой о свадьбах.

Также теорема обобщается на граф, имеющий произвольное множество долей.

Ссылки