|
|
Строка 21: |
Строка 21: |
| |proof= | | |proof= |
| * Очевидно, что если существует полное паросочетание, то для любого <tex>A \subset L </tex> выполнено <tex>|A| \leq |N(A)|</tex>. У любого подмножества вершин есть по крайней мере столько же "соседей"("соседи по парасочетанию"). | | * Очевидно, что если существует полное паросочетание, то для любого <tex>A \subset L </tex> выполнено <tex>|A| \leq |N(A)|</tex>. У любого подмножества вершин есть по крайней мере столько же "соседей"("соседи по парасочетанию"). |
− | Пусть граф <tex>G'</tex> изначально имеет левую долю <tex>L'</tex>, которая содержит одну любую вершину из <tex>L</tex>, и правую <tex>R' = R</tex>.
| + | *В обратную сторону докажем по индукции(будем добавлять в изначально пустое паросочетание <tex>P</tex> по одному ребру, и доказывать, что мы можем это сделать, если <tex>P</tex> не полное). Таким образом, в конце получим что <tex>P</tex> — полное паросочетание. |
− | *В обратную сторону докажем по индукции(будем добавлять какую-нибудь вершину <tex>x</tex> из <tex>L</tex> в <tex>G'</tex> и доказывать, что в <tex>G'</tex> есть паросочетание, насыщающее все вершины из <tex>L'</tex>). Таким образом, в конце получим что <tex>G'</tex> совпадает с <tex>G</tex>. Из этого будет следовать существование в <tex>G</tex> полного паросочетания. | + | #База: Одна вершина соединена хотя бы с одной вершиной из <tex>R</tex>. Следовательно база верна. |
− | #База: Одна вершина соединена хотя бы с одной вершиной из <tex>R'</tex>. Следовательно база верна. | + | #Переход: Пусть после <tex>k</tex> шагов построено парасочетание <tex>P</tex>. Докажем, что в <tex>P</tex> можно добавить вершину <tex>x</tex>, не насыщенную паросочетанием <tex>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| > |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> вдоль этого пути, получаем искомое паросочетание. Следовательно предположение индукции верно. |
− | #Переход: Пусть после <tex>k</tex> добавлений в <tex>G'</tex> можно построить паросочетание <tex>P</tex>, насыщающее все вершины из <tex>L'</tex>. Докажем что после добавления вершины <tex>x</tex> в <tex>G'</tex> будет существовать паросочетание, насыщающее все вершины <tex>L'</tex>.Добавим <tex>x</tex> в <tex>G'</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| > |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> вдоль этого пути, получаем искомое паросочетание. Следовательно предположение индукции верно. | |
| }} | | }} |
| | | |
Определения
Пусть [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]A \subset L [/math] выполнено [math]|A| \leq |N(A)|[/math]. У любого подмножества вершин есть по крайней мере столько же "соседей"("соседи по парасочетанию").
- В обратную сторону докажем по индукции(будем добавлять в изначально пустое паросочетание [math]P[/math] по одному ребру, и доказывать, что мы можем это сделать, если [math]P[/math] не полное). Таким образом, в конце получим что [math]P[/math] — полное паросочетание.
- База: Одна вершина соединена хотя бы с одной вершиной из [math]R[/math]. Следовательно база верна.
- Переход: Пусть после [math]k[/math] шагов построено парасочетание [math]P[/math]. Докажем, что в [math]P[/math] можно добавить вершину [math]x[/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] |
Примечания
Иногда теорему называют теоремой о свадьбах.
Также теорема обобщается на граф, имеющий произвольное множество долей.
Ссылки