Декомпозиция Эдмондса-Галлаи — различия между версиями
Lytr777 (обсуждение | вклад) м (правки) |
Lytr777 (обсуждение | вклад) м (правки) |
||
| Строка 2: | Строка 2: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | '''Дефицитом''' графа <tex>G</tex> мы будем называть величину: <br> | + | '''Дефицитом''' (англ. ''deficit'') графа <tex>G</tex> мы будем называть величину: <br> |
<tex>\mathrm{def}(G) = |V| - 2\alpha (G)</tex>, <br> | <tex>\mathrm{def}(G) = |V| - 2\alpha (G)</tex>, <br> | ||
| − | где <tex>\alpha (G)</tex> - размер [[Теорема о максимальном паросочетании и дополняющих цепях#theorem1|максимального паросочетания]] в <tex>G</tex>, а <br> | + | где <tex>\alpha (G)</tex> {{---}} размер [[Теорема о максимальном паросочетании и дополняющих цепях#theorem1|максимального паросочетания]] в <tex>G</tex>, а <br> |
| − | <tex>V(G)</tex> - множество вершин графа <tex>G</tex> | + | <tex>V(G)</tex> {{---}} множество вершин графа <tex>G. </tex> |
}} | }} | ||
| Строка 12: | Строка 12: | ||
|statement= | |statement= | ||
Для любого графа <tex>G</tex> выполняется:<br> | Для любого графа <tex>G</tex> выполняется:<br> | ||
| − | <tex>\mathrm{def}(G) = \max\limits_{S \subset V(G)} \{\mathrm{odd}(G - S) - |S|\}.</tex> | + | <tex>\mathrm{def}(G) = \max\limits_{S \subset V(G)} \{\mathrm{odd}(G - S) - |S|\}. </tex> |
}} | }} | ||
| Строка 20: | Строка 20: | ||
|statement= | |statement= | ||
Дан граф <tex>G</tex>, размер максимального паросочетания в нем равен:<br> | Дан граф <tex>G</tex>, размер максимального паросочетания в нем равен:<br> | ||
| − | <tex>\mathrm{ \alpha} (G) = \min\limits_{U \in V} \{1 | + | <tex>\mathrm{ \alpha} (G) = \min\limits_{U \in V} \{\dfrac{1}{2}(|V|-|U|-\mathrm{odd}(G-U)\}. </tex> |
}} | }} | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Множество <tex>S \subset V (G)</tex>, для которого <tex>\mathrm{odd}(G - S) - |S| = \mathrm{def}(G) </tex>, называется '''барьером'''. | + | Множество <tex>S \subset V (G)</tex>, для которого <tex>\mathrm{odd}(G - S) - |S| = \mathrm{def}(G) </tex>, называется '''барьером''' (англ. ''barrier''). |
}} | }} | ||
{{Определение | {{Определение | ||
| Строка 37: | Строка 37: | ||
Необходимые определения: | Необходимые определения: | ||
[[Файл: EG_red.png|300px|thumb|right|Пример. Рёбра из паросочетания выделены красным]] | [[Файл: EG_red.png|300px|thumb|right|Пример. Рёбра из паросочетания выделены красным]] | ||
| − | # <tex>D(G) = \{v \in V | + | # <tex>D(G) = \{v \in V \mid </tex> существует [[Теорема о максимальном паросочетании и дополняющих цепях|максимальное паросочетание]], не покрывающее <tex> v\}</tex> |
# <tex>A(G) = N(D(G)) \setminus D(G)</tex> | # <tex>A(G) = N(D(G)) \setminus D(G)</tex> | ||
# <tex>C(G) = V \setminus(D(G) \bigcup A(G))</tex> | # <tex>C(G) = V \setminus(D(G) \bigcup A(G))</tex> | ||
| − | # <tex> \alpha (G) </tex> {{---}} размер максимального паросочетания в <tex>G</tex> | + | # <tex> \alpha (G) </tex> {{---}} размер максимального паросочетания в <tex> G. </tex> |
}} | }} | ||
{{Определение | {{Определение | ||
| Строка 95: | Строка 95: | ||
# Граф <tex>C</tex> имеет совершенное паросочетание.<br> | # Граф <tex>C</tex> имеет совершенное паросочетание.<br> | ||
# Графы <tex>D_1,{...},D_n</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>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>\mathrm{def}(G) = n - |A(G)| | + | # <tex>\mathrm{def}(G) = n - |A(G)|.</tex> <br> |
| + | # <tex>2\mathrm{\alpha}(G) = v(G) + |A(G)| - n</tex>. | ||
|proof= | |proof= | ||
[[Файл: Edmonds-Gallai_2.png|300px|thumb|right|Пример]] | [[Файл: Edmonds-Gallai_2.png|300px|thumb|right|Пример]] | ||
| Строка 110: | Строка 111: | ||
#: | #: | ||
# Пусть <tex>M</tex> {{---}} максимальное паросочетание графа <tex>G</tex>, а <tex>M'</tex> получено из <tex>M</tex> удалением всех рёбер, инцидентных вершинам множества <tex>A</tex>. Тогда <tex>|M'| \ge |M| - |A|</tex> и по формуле <tex> \alpha (G - A) = \alpha (G) - |A|</tex> понятно, что <tex>M'</tex> {{---}} максимальное паросочетание графа <tex>G - A</tex>. Более того, из <tex> \alpha (G - A) = \alpha (G) - |A|</tex> следует <tex>|M'| = |M| - |A|</tex>, а значит, все вершины множества <tex>A</tex> покрыты в <tex>M</tex> различными рёбрами. Так как <tex>M'</tex> {{---}} максимальное паросочетание графа <tex>G - A</tex>, то по пунктам 1) и 2) очевидно, что <tex>M'</tex> содержит совершенное паросочетание графа <tex>C</tex> и почти совершенные паросочетания фактор-критических графов <tex>D_1,{...},D_n</tex>. Значит, рёбра паросочетания <tex>M</tex> соединяют вершины <tex>A</tex> с непокрытыми <tex>M'</tex> вершинами различных компонент связности из <tex>U_1,{...},U_n</tex>. | # Пусть <tex>M</tex> {{---}} максимальное паросочетание графа <tex>G</tex>, а <tex>M'</tex> получено из <tex>M</tex> удалением всех рёбер, инцидентных вершинам множества <tex>A</tex>. Тогда <tex>|M'| \ge |M| - |A|</tex> и по формуле <tex> \alpha (G - A) = \alpha (G) - |A|</tex> понятно, что <tex>M'</tex> {{---}} максимальное паросочетание графа <tex>G - A</tex>. Более того, из <tex> \alpha (G - A) = \alpha (G) - |A|</tex> следует <tex>|M'| = |M| - |A|</tex>, а значит, все вершины множества <tex>A</tex> покрыты в <tex>M</tex> различными рёбрами. Так как <tex>M'</tex> {{---}} максимальное паросочетание графа <tex>G - A</tex>, то по пунктам 1) и 2) очевидно, что <tex>M'</tex> содержит совершенное паросочетание графа <tex>C</tex> и почти совершенные паросочетания фактор-критических графов <tex>D_1,{...},D_n</tex>. Значит, рёбра паросочетания <tex>M</tex> соединяют вершины <tex>A</tex> с непокрытыми <tex>M'</tex> вершинами различных компонент связности из <tex>U_1,{...},U_n</tex>. | ||
| − | # Из пункта 3) сразу же следуют | + | # Из пункта 3) сразу же следуют равенства пункта 4) и 5). |
}} | }} | ||
| Строка 119: | Строка 120: | ||
}} | }} | ||
| − | == Источники == | + | == См. также == |
| + | * [[Теорема Татта о существовании полного паросочетания]] | ||
| + | |||
| + | == Источники информации== | ||
*[http://www.people.vcu.edu/~dcranston/691/edmonds-gallai.pdf Edmonds-Gallai Decomposition and Factor-Critical Graphs] | *[http://www.people.vcu.edu/~dcranston/691/edmonds-gallai.pdf Edmonds-Gallai Decomposition and Factor-Critical Graphs] | ||
| − | *[http:// | + | *[http://immorlica.com/combOpt/lec2.pdf Edmonds-Gallai Decomposition, Edmonds’ Algorithm] |
[[Категория:Алгоритмы и структуры данных]] | [[Категория:Алгоритмы и структуры данных]] | ||
[[Категория:Задача о паросочетании]] | [[Категория:Задача о паросочетании]] | ||
Версия 13:26, 22 января 2016
В этом направлении много усилий приложили Вильям Томас Татт (William Thomas Tutte), Клауд Берж (Claude Brege), Джек Эдмондс (Jack Edmonds) и Тибор Галлаи (Tibor Gallai).
| Определение: |
| Дефицитом (англ. deficit) графа мы будем называть величину: , |
| Теорема (Бержа): |
Для любого графа выполняется: |
| Теорема (Татта-Бержа): |
Дан граф , размер максимального паросочетания в нем равен: |
| Определение: |
| Множество , для которого , называется барьером (англ. barrier). |
| Определение: |
| Пусть . Множeство соседей (англ. neighbors) определим формулой: |
Структурная теорема Эдмондса-Галлаи
| Определение: |
Необходимые определения:
|
| Определение: |
| Граф называется фактор-критическим (англ. factor-critical graph), если для любой вершины в графе существует совершенное паросочетание. |
| Теорема (Галлаи): |
— фактор-критический граф — связен и для любой вершины выполняется равенство . |
| Лемма (Галлаи, о стабильности (англ. stability lemma)): |
Пусть Тогда:
|
| Доказательство: |
|
Достаточно доказать, что .
Предположим, что существует максимальное паросочетание графа , не покрывающее вершину . Пусть — смежная с вершина, а — максимальное паросочетание графа , не покрывающее . Так как , максимальное паросочетание покрывает вершину . Рассмотрим граф — очевидно, он является объединением нескольких путей и чётных циклов. Пусть — компонента связности графа , содержащая . Так как (степень вершины), то — путь с началом в вершине . В пути чередуются рёбра из и , причём начинается путь ребром из . Так как , то вершина a либо не принадлежит пути , либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию ). Рассмотрим несколько случаев: a. Путь кончается ребром из (см. рисунок) b. Путь кончается ребром из , вершина — конец пути . (см.рисунок) c. Путь кончается ребром из (см. рисунок) Рассмотрим паросочетание . Тогда , причём . Противоречие с максимальностью паросочетания . Таким образом, наше предположение невозможно и . А значит, . |
| Теорема (Галлаи, Эдмондс): |
Пусть G — граф, — компоненты связности графа , . тогда:
|
| Доказательство: |
|
| Утверждение (следствие из теоремы): |
— барьер графа |