Теорема Холла — различия между версиями
(→Теорема) |
(→Теорема) |
||
Строка 22: | Строка 22: | ||
<tex>\Rightarrow</tex> Очевидно, что если существует полное паросочетание, то для любого <tex>A \subset L </tex> выполнено <tex>|A| \leq |N(A)|</tex>. У любого подмножества вершин есть по крайней мере столько же "соседей" ("соседи по парасочетанию"). | <tex>\Rightarrow</tex> Очевидно, что если существует полное паросочетание, то для любого <tex>A \subset L </tex> выполнено <tex>|A| \leq |N(A)|</tex>. У любого подмножества вершин есть по крайней мере столько же "соседей" ("соседи по парасочетанию"). | ||
− | <tex>\Leftarrow</tex> В обратную сторону докажем по индукции(будем добавлять в изначально пустое паросочетание <tex>P</tex> по одному ребру и доказывать, что мы можем это сделать, если <tex>P</tex> не полное). Таким образом, в конце получим что <tex>P</tex> — полное паросочетание. | + | <tex>\Leftarrow</tex> В обратную сторону докажем по индукции (будем добавлять в изначально пустое паросочетание <tex>P</tex> по одному ребру и доказывать, что мы можем это сделать, если <tex>P</tex> не полное). Таким образом, в конце получим что <tex>P</tex> — полное паросочетание. |
#База: Вершина из <tex>L</tex> соединена хотя бы с одной вершиной из <tex>R</tex>. Следовательно база верна. | #База: Вершина из <tex>L</tex> соединена хотя бы с одной вершиной из <tex>R</tex>. Следовательно база верна. | ||
− | #Переход: Пусть после <tex>k<n</tex> шагов построено парасочетание <tex>P</tex>. Докажем, что в <tex>P</tex> можно добавить вершину <tex>x</tex> из <tex>L</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<n</tex> шагов построено парасочетание <tex>P</tex>. Докажем, что в <tex>P</tex> можно добавить вершину <tex>x</tex> из <tex>L</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> вдоль этого пути, получаем искомое паросочетание. Следовательно предположение индукции верно. |
}} | }} |
Версия 12:29, 18 января 2013
Определения
Пусть
- двудольный граф. - множество вершин первой доли. - множество вершин правой доли.Определение: |
Полным(совершенным) паросочетанием называется паросочетание, в которое входят все вершины. |
Определение: |
Пусть | . Множeство соседей определим формулой:
Теорема
Теорема (Холл): |
Полное паросочетание существует тогда и только тогда, когда для любого выполнено . |
Доказательство: |
Очевидно, что если существует полное паросочетание, то для любого выполнено . У любого подмножества вершин есть по крайней мере столько же "соседей" ("соседи по парасочетанию"). В обратную сторону докажем по индукции (будем добавлять в изначально пустое паросочетание по одному ребру и доказывать, что мы можем это сделать, если не полное). Таким образом, в конце получим что — полное паросочетание.
|
Пояснения к доказательству
Пусть было построено паросочетание размером 3(синие ребра).
Добавляем вершину с номером 4.
Во множество
вошли вершины с номерами 1, 3, 4, 5, 7, 8.Ненасыщенная вершина из правой доли всегда найдется(в примере вершина с номером 8), т.к иначе получаем противоречие:
- В входят только насыщенные вершины.
- В по карйней мере вершин("соседи" по паросочетанию для каждой вершины из и ещё одна вершина, которую пытаемся добавить).
Цепь {4, 7, 3, 8} является удлиняющей для текущего паросочетания.
Увеличив текущее парасочетание вдоль этой цепи, мы насытим вершину с номером 4.
Примечания
Иногда теорему называют теоремой о свадьбах.
Также теорема обобщается на граф, имеющий произвольное множество долей.