Декомпозиция Эдмондса-Галлаи — различия между версиями
Slavian (обсуждение | вклад) |
Slavian (обсуждение | вклад) (→Структурная теорема Эдмондса-Галлаи) |
||
Строка 44: | Строка 44: | ||
Необходимые определения: | Необходимые определения: | ||
[[Файл: EG_red.png|300px|thumb|right|Пример. Рёбра из паросочетания выделены красным]] | [[Файл: EG_red.png|300px|thumb|right|Пример. Рёбра из паросочетания выделены красным]] | ||
− | + | # <tex>D(G) = \{v \in V |</tex> существует [[Теорема о максимальном паросочетании и дополняющих цепях|максимальное паросочетание]], не покрывающее <tex> v\}</tex> | |
− | + | # <tex>A(G) = N(D(G)) \setminus D(G)</tex> | |
− | + | # <tex>C(G) = V \setminus( D(G) \bigcup A(G) )</tex> | |
− | + | # <tex> \alpha (G) </tex> - размер максимального паросочетания в <tex>G</tex> | |
}} | }} | ||
Строка 68: | Строка 68: | ||
|statement= | |statement= | ||
Пусть <tex> a \in A(G).</tex> Тогда: | Пусть <tex> a \in A(G).</tex> Тогда: | ||
− | + | # <tex>D(G - a) = D(G)</tex> | |
− | + | # <tex>A(G - a) = A(G) \setminus \{a\}</tex> | |
− | + | # <tex>C(G - a) = C(G)</tex> | |
− | + | # <tex> \alpha (G - a) = \alpha (G) - 1.</tex> | |
|proof= | |proof= | ||
Достаточно доказать, что <tex>D(G - a) = D(G)</tex>. <br> | Достаточно доказать, что <tex>D(G - a) = D(G)</tex>. <br> | ||
− | + | '''1.''' покажем, что <tex>D(G - a) \supset D(G)</tex> : <br> | |
Пусть <tex>u \in D(G)</tex>. Тогда существует [[Теорема о максимальном паросочетании и дополняющих цепях|максимальное паросочетание]] <tex>M_u</tex> графа <tex>G</tex>, не покрывающее <tex>u</tex>. Поскольку любое максимальное паросочетание графа <tex>G</tex> покрывает a, то <tex> \alpha (G - a) = \alpha (G) - 1 </tex> и более того, если <tex> ax \in M_u </tex>, то <tex>M_u \setminus {ax} </tex> - максимальное паросочетание графа <tex> G - a </tex>, не покрывающее <tex> u </tex>. Таким образом, <tex>D(G - a) \supset D(G) </tex>. <br> | Пусть <tex>u \in D(G)</tex>. Тогда существует [[Теорема о максимальном паросочетании и дополняющих цепях|максимальное паросочетание]] <tex>M_u</tex> графа <tex>G</tex>, не покрывающее <tex>u</tex>. Поскольку любое максимальное паросочетание графа <tex>G</tex> покрывает a, то <tex> \alpha (G - a) = \alpha (G) - 1 </tex> и более того, если <tex> ax \in M_u </tex>, то <tex>M_u \setminus {ax} </tex> - максимальное паросочетание графа <tex> G - a </tex>, не покрывающее <tex> u </tex>. Таким образом, <tex>D(G - a) \supset D(G) </tex>. <br> | ||
− | + | '''2.''' покажем, что <tex> D(G - a) \subset D(G)</tex>: <br> | |
Предположим, что существует максимальное паросочетание <tex>M'</tex> графа <tex> G - a</tex>, не покрывающее вершину <tex>v not \in D(G)</tex>. Пусть <tex> w \in D(G) </tex> - смежная с <tex> a \in A(G)</tex> вершина, а <tex> M_w </tex>- максимальное паросочетание графа <tex> G </tex>, не покрывающее <tex> w </tex>. Так как <tex> v not \in D(G) </tex>, максимальное паросочетание <tex> M_w </tex> покрывает вершину <tex>v</tex>. Рассмотрим граф <tex> H = G(M_w \bigcup M') </tex> - очевидно, он является объединением нескольких путей и чётных циклов. Пусть <tex> U </tex> - компонента связности графа <tex> H </tex>, содержащая <tex>v</tex>. Так как <tex> dH(v) = 1 </tex>, то <tex> P = H(U) </tex> - путь с началом в вершине <tex>v</tex>. В пути <tex>P</tex> чередуются рёбра из <tex> M_w и M' </tex>, причём начинается путь ребром из <tex>M_w </tex>. Так как <tex> dH(a) = 1 </tex>, то вершина a либо не принадлежит пути <tex>P</tex>, либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию <tex> M_w</tex>). Рассмотрим несколько случаев: <br> | Предположим, что существует максимальное паросочетание <tex>M'</tex> графа <tex> G - a</tex>, не покрывающее вершину <tex>v not \in D(G)</tex>. Пусть <tex> w \in D(G) </tex> - смежная с <tex> a \in A(G)</tex> вершина, а <tex> M_w </tex>- максимальное паросочетание графа <tex> G </tex>, не покрывающее <tex> w </tex>. Так как <tex> v not \in D(G) </tex>, максимальное паросочетание <tex> M_w </tex> покрывает вершину <tex>v</tex>. Рассмотрим граф <tex> H = G(M_w \bigcup M') </tex> - очевидно, он является объединением нескольких путей и чётных циклов. Пусть <tex> U </tex> - компонента связности графа <tex> H </tex>, содержащая <tex>v</tex>. Так как <tex> dH(v) = 1 </tex>, то <tex> P = H(U) </tex> - путь с началом в вершине <tex>v</tex>. В пути <tex>P</tex> чередуются рёбра из <tex> M_w и M' </tex>, причём начинается путь ребром из <tex>M_w </tex>. Так как <tex> dH(a) = 1 </tex>, то вершина a либо не принадлежит пути <tex>P</tex>, либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию <tex> M_w</tex>). Рассмотрим несколько случаев: <br> | ||
Строка 105: | Строка 105: | ||
Пусть G - граф, <tex>U_1,{...},U_n</tex> - компоненты связности графа <tex>G(D(G))</tex>, <tex>D_i = G(U_i), C = G(C(G))</tex>. тогда: | Пусть G - граф, <tex>U_1,{...},U_n</tex> - компоненты связности графа <tex>G(D(G))</tex>, <tex>D_i = G(U_i), C = G(C(G))</tex>. тогда: | ||
− | + | # Граф <tex>C</tex> имеет совершенное паросочетание.<br> | |
− | + | # Графы <tex>D_1,{...},D_n</tex> - фактор-критические. <br> | |
− | + | # Любое максимальное паросочетание <tex>M</tex> графа <tex>G</tex> состоит из совершенного паросочетания графа <tex>C</tex>, почти совершенных паросочетаний графов <tex>D_1,{...},D_n</tex> и покрывает все вершины множества <tex>A(G)</tex> рёбрами с концами в различных компонентах связности <tex>U_1,{...},U_n</tex> <br> | |
− | + | # <tex>def(G) = n - |A(G)|, 2\alpha (G) = v(G) + |A(G)| - n</tex>. | |
|proof= | |proof= |
Версия 17:45, 21 декабря 2013
Определение: |
компонент связности нечетного размера в . | - количество
Определение: |
Дефицитом графа G мы будем называть величину:
|
Теорема (Бержа): |
Для любого графа G выполняется: |
Теорема (Татта-Бержа): |
Дан граф , размер максимального паросочетания в нем равен: |
Определение: |
Множество | , для которого , называется барьером.
Определение: |
Пусть | . Множeство соседей определим формулой:
Структурная теорема Эдмондса-Галлаи
Определение: |
Необходимые определения:
|
Определение: |
Граф | называется Фактор-критическим, если для любой вершины в графе существует полное паросочетание, не покрываеющее .
Теорема (Галлаи): |
- связен и для любой вершины выполняется равенство . |
Лемма (Галлаи, о стабильности): |
Пусть Тогда:
|
Доказательство: |
Достаточно доказать, что a. Путь b. Путь c. Путь кончается ребром из (см. рисунок) Рассмотрим паросочетание . Тогда , причём . Противоречие с максимальностью паросочетания .
|
Теорема (Галлаи, Эдмондс): |
Пусть G - граф, - компоненты связности графа , . тогда:
|
Доказательство: |
1) Последовательно удаляя вершины множества , по лемме о стабильности мы получим:Это означает, что не существует рёбер, соединяющих вершины из и . Каждое максимальное паросочетание графа покрывает все вершины множества , поэтому содержит совершенное паросочетание графа . Тем самым, мы доказали пункт 1).2) Из формулы следует, что - компоненты связности графа . Для любой вершины существует максимальное паросочетание графа , не содержащее . Так как - компонента связности графа , паросочетание содержит максимальное паросочетание графа (разумеется, не покрывающее вершину ). Следовательно, и по теореме Галлаи(выше) мы получаем, что граф - фактор-критический.3) Пусть 4) Из пункта 3) сразу же следуют оба равенства пункта 4). - максимальное паросочетание графа , а получено из удалением всех рёбер, инцидентных вершинам множества . Тогда и по формуле понятно, что - максимальное паросочетание графа . Более того, из следует , а значит, все вершины множества покрыты в различными рёбрами. Так как - максимальное паросочетание графа , то по пунктам 1) и 2) очевидно, что содержит совершенное паросочетание графа и почти совершенные паросочетания фактор-критических графов . Значит, рёбра паросочетания соединяют вершины с непокрытыми вершинами различных компонент связности из . |
Утверждение (следствие из теоремы): |
- барьер графа |