1632
правки
Изменения
м
* <tex>\Rightarrow</tex> <br>Очевидно, что если существует полное паросочетание, то для любого <tex>A \subset L </tex> выполнено <tex>|A| \leq leqslant |N(A)|</tex>. У любого подмножества вершин есть по крайней мере столько же "''соседей"'' ("''соседи по парасочетанию"паросочетанию'').Пусть граф <tex>G'</tex> изначально имеет левую долю <tex>L'</tex>, которая содержит одну любую вершину из <tex>L\Leftarrow</tex>, и правую <texbr>R' = R</tex>.*В обратную сторону докажем по индукции(будем добавлять какую-нибудь вершину <tex>x</tex> из <tex>L</tex> в изначально пустое паросочетание <tex>G'P</tex> по одному ребру и доказывать, что в <tex>G'</tex> есть паросочетаниемы можем это сделать, насыщающее все вершины из если <tex>L'P</tex>не полное). Таким образом, в конце получим что <tex>G'P</tex> совпадает с — полное паросочетание. <texu>G'''''База индукции'''''</texu>. Из этого будет следовать существование в Вершина из <tex>GL</tex> полного паросочетания.#База: Одна вершина соединена хотя бы с одной вершиной из <tex>R'</tex>. Следовательно база верна.#Переход: Пусть после <texu>k'''''Индукционный переход'''''</texu> добавлений в Пусть после <tex>G'k<n</tex> можно построить шагов построено паросочетание <tex>P</tex>, насыщающее все вершины из <tex>L'</tex>. Докажем , что после добавления вершины в <tex>xP</tex> в можно добавить вершину <tex>G'x</tex> будет существовать паросочетание, насыщающее все вершины из <tex>L'</tex>.Добавим , не насыщенную паросочетанием <tex>x</tex> в <tex>G'P</tex>. Рассмотрим множество вершин <tex>H</tex> — все вершины, достижимые из <tex>x</tex>, если можно ходить из <tex>R'</tex> в <tex>L'</tex> только по ребрам из <tex>P</tex>, а из <tex>L'</tex> в <tex>R'</tex> по любым ребрам из <tex>G'</tex>. Тогда в <tex>H</tex> найдется вершина <tex>y</tex> из <tex>R'</tex>, не принадлежащая насыщенная паросочетанием <tex>P</tex>, иначе, если рассмотреть вершины <tex>H_L</tex>(вершины из <tex>H</tex> принадлежащие <tex>L'</tex>), то для них не будет выполнено условие: <tex>|H_L| > \leqslant |N(H_L)|</tex>. Тогда существует путь из <tex>x</tex> в <tex>y</tex>, который будет удлиняющим для паросочетания <tex>P</tex>(т.к из <tex>R'</tex> в <tex>L'</tex> мы проходили по ребрам паросочетания <tex>P</tex>). Увеличив паросочетание <tex>P </tex> вдоль этого пути , получаем искомое паросочетание.Следовательно предположение индукции верно.
Иногда теорему называют теоремой о свадьбах.<references><ref name="Generalizing">Также теорема обобщается на граф, имеющий произвольное множество долей.</ref><ref name="Marriage">Иногда теорему называют теоремой о свадьбах.</ref></references>
rollbackEdits.php mass rollback
==Определения==
Пусть <tex>G(V,E)</tex> {{- --}} [[Основные_определения_теории_графов#Двудольный_граф |двудольный граф]]. <ref name="Generalizing"/> <tex>L</tex> {{- --}} множество вершин первой левой доли. <tex>R</tex> {{--- }} множество вершин правой доли.
{{Определение
|id=def1.
|nеat=1
|definition='''Полным(совершенным)''' паросочетанием ''(англ. perfect matching)'' называется паросочетание , в которое входят все вершины.
}}
{{Определение
|id=def2.
|nеat=1
|definition=Пусть <tex>X \subset V </tex>. '''Множeство соседей''' <tex>X</tex> ''(англ. neighborhood)'' определим формулой: <tex>N(X)= \{ y \in V: \mid (x,y) \in E , x \in X\}</tex>
}}
{{Теорема
|id=th1.
|author=Холл<ref name="Marriage"/>|statement=Полное паросочетание существует тогда и только тогда, когда для любого <tex>A \subset L </tex> выполнено <tex>|A| \leq leqslant |N(A)|</tex>.
|proof=
}}
==Пояснения к доказательству==
[[Файл:aba.gif|600px|thumb|right|Пример]]
Пусть было построено паросочетание размером <tex>3</tex> (синие ребра).
Добавляем вершину с номером <tex>4</tex>.
Во множество <tex>H</tex> вошли вершины с номерами <tex>1</tex>, <tex>3</tex>, <tex>4</tex>, <tex>5</tex>, <tex>7</tex>, <tex>8</tex>.
Ненасыщенная вершина из правой доли всегда найдется (в примере вершина с номером <tex>8</tex>), т.к иначе получаем противоречие:
# В <tex>H_R</tex> входят только насыщенные вершины.
# <tex>N(H_L) = H_R</tex>
# В <tex>H_L</tex> по крайней мере <tex>H_R+1</tex> вершин (''соседи'' по паросочетанию для каждой вершины из <tex>H_R</tex> и ещё одна вершина, которую пытаемся добавить).
Цепь <tex>{4, 7, 3, 8}</tex> является удлиняющей для текущего паросочетания.
Увеличив текущее парасочетание вдоль этой цепи, мы насытим вершину с номером <tex>4</tex>.
==См. также==
* [[Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях]]
* [[Связь максимального паросочетания и минимального вершинного покрытия в двудольных графах]]
* [[Связь вершинного покрытия и независимого множества]]
==Примечания==
==СсылкиИсточники информации==*[http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0 Википедия {{---}} Теорема Холла — Википедия]* [https://en.wikipedia.org/wiki/Hall%27s_marriage_theorem Wikipedia {{---}} Hall's marriage theorem]
[[Категория: Алгоритмы и структуры данных]]
[[Категория: Задача о паросочетании ]]