Декомпозиция Эдмондса-Галлаи — различия между версиями
|  (формула Бержа) (Метки: правка с мобильного устройства, правка из мобильной версии) | |||
| Строка 7: | Строка 7: | ||
| где <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> | ||
| + | }} | ||
| + | |||
| + | |||
| + | {{Определение | ||
| + | |definition =<tex>\mathrm{odd}({G})</tex> {{---}} число нечетных компонент связности в графе <tex>{G}</tex>, где '''нечетная компонента''' (англ. ''odd component'') {{---}} это [[Отношение связности, компоненты связности#def2|компонента связности]], содержащая нечетное число вершин.  | ||
| + | }} | ||
| + | |||
| + | {{Лемма | ||
| + | |statement= <tex>(n + |S| + odd(G \setminus S)) \; \equiv \; 0 \; ( mod \; 2) \; </tex>, где <tex>G</tex> {{---}} граф с <tex>n</tex> вершинами, <tex>S \in {V}_{G}</tex> | ||
| + | |proof=  | ||
| + | Удалим из графа <tex>G</tex> множество <tex>S</tex>, получим <tex>t</tex> компонент связности, содержащих <tex>k_1, k_2 ... k_t</tex> вершин соответственно. | ||
| + | <tex>|S|\; + \; \sum_{i=1}^{k}k_i \; = \; n \; </tex>, так как в сумме это все вершины исходного графа <tex>G</tex>.  | ||
| + | Возьмем данное равенство по модулю два: <tex>(|S|\; + \; \sum_{i=1}^{k}k_i) \; \equiv \; n \; (mod \; 2)</tex> | ||
| + | В сумме <tex>\sum_{i=1}^{k}(k_i \; mod \; 2)</tex> число единиц равно числу нечетных компонент <tex>odd(G \setminus S)</tex>. Таким образом, <tex> \forall S \in V : \; (odd(G \setminus S) + |S|) \; \equiv \; n \; (mod \; 2) \;</tex>.  | ||
| }} | }} | ||
| Строка 15: | Строка 29: | ||
| Для любого графа <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> | ||
| + | |proof=  | ||
| + | <tex> \forall S \in V : \; (odd(G \setminus S) + |S|) \; \equiv \; n ( mod \; 2) \;</tex> | ||
| + | |||
| + | |||
| + | Рассмотрим несколько случаев: | ||
| + | |||
| + | |||
| + | 1. Если <tex> \max\limits_{S \in V}(odd(G \setminus S) \; - \; |S|) \; = 0 \; </tex>, тогда для любых <tex>S \in V: \; odd(G \setminus S) \leq |S| \; </tex>, следовательно выполнено условие [[Теорема Татта о существовании полного паросочетания|теоремы Татта]], значит, в графе есть совершенное паросочетание, то есть его дефицит равен нулю.  | ||
| + | |||
| + | 2. Если <tex> \max\limits_{S \in V}(odd(G \setminus S) - |S|) = k \; </tex>, тогда рассмотрим исходный граф <tex>G</tex> и полный граф <tex>K_k</tex>  с <tex>k</tex> вершинами, <tex>W</tex> - вершины <tex>K_k</tex>. Каждую вершину <tex>K_k</tex> соединим с каждой вершиной <tex>G</tex>. Получим граф <tex>H \; = \; K_k + G \;</tex>, докажем, что для него выполнено условие теоремы Татта. Докажем, что для любых <tex>S \in V_{H}: odd(H \setminus S) \; \leq \; |S| \; </tex>.  | ||
| + | Рассмотрим <tex>S \; \subset \; V_H\;</tex>: | ||
| + | |||
| + | * Если <tex>W \not\subset S</tex>, тогда поскольку граф <tex>K_k</tex> полный и все его вершины связаны с каждой вершиной графа <tex>G</tex>, то граф <tex>H</tex> связный и <tex>odd(H \setminus S) \; = \; 0 \;</tex> или <tex>odd(G \setminus S) \; = \; 1 \;</tex>.  | ||
| + | ** В случае <tex>odd(H \setminus S) \; = \; 0 \; </tex> условие очевидно выполняется, так как для любых <tex>S \in G : 0 \; \leq \; |S| \;</tex>.  | ||
| + | ** Рассмотрим случай <tex>odd(H \setminus S) \; = \; 1 \;</tex>, <tex>|V_H| \; = \; n \; + \; k \; = \; n \; + \; odd(G \setminus A) \; - \; |A| \; </tex>, где <tex>A \; = \; arg \max\limits_{S \in V}(odd(G \setminus S) \; - \; |S|) \; </tex>. Разность <tex>odd(G \setminus A) \; - \; |A| \; </tex> имеет ту же четность, что и <tex>n</tex>, и <tex>odd(H \setminus S) \; = \; 1 \;</tex>, поэтому <tex>|V_H|</tex> четно, значит, по лемме, мощность <tex>S</tex> нечетна, следовательно она не равна нулю, значит, <tex> 1 \leq |S| </tex>. | ||
| + | |||
| + | |||
| + | * Если <tex>W \subset S \;</tex>, то <tex>odd(H \setminus S) \; = \; odd(G \setminus (S \cap V)) \; = odd(G \setminus (S \cap V)) \; - \; |S \cap V| \; + \; |S \cap V| \; \leq \; |S \cap V| \; + \; k \leq |S| \; </tex>, так как <tex> \max\limits_{S \in V}(odd(G \setminus S) - |S|) = k \; </tex>. Таким образом, для графа <tex>H</tex> выполнено условие теоремы Татта, следовательно в нём есть полное паросочетание. Рассмотрим полное паросочетание в графе <tex>H</tex>, удалим вершины <tex>W</tex> из графа <tex>H</tex>. Количество непокрытых вершин после удаления не больше, чем количество удаленных вершин <tex>k</tex>, значит, <tex>def(G) \; \leq \; k</tex>. Удалим множество вершин <tex>A \; = \; arg \max\limits_{S \in V}(odd(H \setminus S) \; - \; |S|) \; </tex> из графа <tex>G\;</tex>. Заметим, что после удаления в графе осталось <tex>odd(G \setminus A)\; </tex> нечетных компонент и образовались новые непокрытые вершины, но при этом число нечетных компонент больше числа удаленных на <tex>k</tex>. Значит, хотя бы <tex>k</tex> нечетных компонент содержали исходно непокрытую вершину, следовательно <tex>def(G) \; \geq \; k \; </tex>. Из <tex>def(G) \; \leq \; k</tex> и <tex>def(G) \; \geq \; k \; </tex> следует <tex>def(G) \; = \; k \; </tex>. | ||
| }} | }} | ||
| Строка 197: | Строка 229: | ||
| *[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://immorlica.com/combOpt/lec2.pdf Edmonds-Gallai Decomposition, Edmonds’ Algorithm] | *[http://immorlica.com/combOpt/lec2.pdf Edmonds-Gallai Decomposition, Edmonds’ Algorithm] | ||
| + | *[https://www.youtube.com/watch?v=1KggxCJZFRg {{---}} Лекция А.С. Станкевича] | ||
| [[Категория:Алгоритмы и структуры данных]] | [[Категория:Алгоритмы и структуры данных]] | ||
| [[Категория:Задача о паросочетании]] | [[Категория:Задача о паросочетании]] | ||
Версия 14:21, 14 июня 2021
В этом направлении много усилий приложили Вильям Томас Татт (William Thomas Tutte), Клод Берж (Claude Berge), Джек Эдмондс (Jack Edmonds) и Тибор Галлаи (Tibor Gallai).
| Определение: | 
| Дефицитом (англ. deficit) графа  мы будем называть величину: ,  | 
| Определение: | 
| — число нечетных компонент связности в графе , где нечетная компонента (англ. odd component) — это компонента связности, содержащая нечетное число вершин. | 
| Лемма: | 
| , где  — граф с  вершинами,  | 
| Доказательство: | 
| Удалим из графа множество , получим компонент связности, содержащих вершин соответственно. , так как в сумме это все вершины исходного графа . Возьмем данное равенство по модулю два:В сумме число единиц равно числу нечетных компонент . Таким образом, . | 
| Теорема (Бержа): | 
| Для любого графа  выполняется: | 
| Доказательство: | 
| 
 
 
 2. Если , тогда рассмотрим исходный граф и полный граф с вершинами, - вершины . Каждую вершину соединим с каждой вершиной . Получим граф , докажем, что для него выполнено условие теоремы Татта. Докажем, что для любых . Рассмотрим : 
 
 
 | 
| Теорема (Татта-Бержа): | 
| Дан граф , размер максимального паросочетания в нем равен: | 
| Доказательство: | 
| Предположим  — связный, иначе мы можем применить индукцию к компонентам . Приведем доказательство по индукции по числу вершин в графе.  
 | 
| Определение: | 
| Множество , для которого , называется барьером (англ. barrier). | 
| Определение: | 
| Пусть . Множeство соседей (англ. neighbors) определим формулой: | 
Структурная теорема Эдмондса-Галлаи
- существует максимальное паросочетание, не покрывающее
- — размер максимального паросочетания в
| Определение: | 
| Граф называется фактор-критическим (англ. factor-critical graph), если для любой вершины в графе существует совершенное паросочетание. | 
| Теорема (Галлаи): | 
|  — фактор-критический граф   — связен и для любой вершины выполняется равенство . | 
| Лемма (Галлаи, о стабильности (англ. stability lemma)): | 
| Пусть  Тогда: 
 | 
| Доказательство: | 
| Для начала докажем, что .  
 Предположим, что существует максимальное паросочетание  графа , не покрывающее вершину  . Пусть  — смежная с  вершина, а  — максимальное паросочетание графа , не покрывающее . Так как  , максимальное паросочетание  покрывает вершину . Рассмотрим граф  — очевидно, он является объединением нескольких путей и чётных циклов. Пусть  — компонента связности графа , содержащая . Так как  (степень вершины), то  — путь с началом в вершине . В пути  чередуются рёбра из  и , причём начинается путь ребром из . Так как , то вершина a либо не принадлежит пути , либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию ). Рассмотрим несколько случаев:  a. Путь  кончается ребром из  (см. рисунок) b. Путь  кончается ребром из , вершина  — конец пути . (см.рисунок) c. Путь кончается ребром из (см. рисунок) Рассмотрим паросочетание . Тогда , причём . Противоречие с максимальностью паросочетания . Таким образом, наше предположение невозможно и . А значит, . 
 
 
 | 
| Теорема (Галлаи, Эдмондс): | 
| Пусть  — граф,  — компоненты связности графа , . Тогда:
 
 | 
| Доказательство: | 
| 
 | 
| Утверждение (следствие из теоремы): | 
|  — барьер графа  | 
| Лемма (о связи барьера с ): | 
| Для любого барьера  графа  верно, что  | 
| Доказательство: | 
| Рассмотрим — нечётные компоненты связанности , — максимальное паросочетание в . не покрыта или . Всего графе не покрыто хотя бы вершин. Однако, так как — барьер, непокрыто ровно столько вершин. Следовательно, любое максимальное паросочетание не покрывает только вершины из , а значит каждая вершина барьера покрыта в любом максимальном паросочетании. Отсюда получаем, что ни одна вершина из не могла оказаться в барьере. | 
| Утверждение (Следствие из леммы): | 
| В любом максимальном паросочетании все вершины барьера соединены соединены с вершинами  | 
| Так как для барьера верно, что , то ровно вершин из нечётных компонент покрыты рёбрами | 
| Лемма (о дополнении барьера): | 
| Пусть  — барьер графа . Тогда  — барьер графа  | 
| Доказательство: | 
| Так как , то для любого максимального паросочетания . Следовательно, , где — максимальное паросочетание в . 
 Отсюда следует, что — барьер графа . | 
| Теорема (о структуре барьера): | 
| Любой барьер графа состоит только из вершин , причём каждая вершина из этого множества входит в какой-то барьер | 
| Доказательство: | 
| По лемме о связи барьера с мы знаем, что в барьере нет вершин вершин из . По лемме о дополнение барьера мы можем взять любую вершину из , удалить из графа, и с помощью барьера нового графа получить барьер исходного, включающий данную вершину. | 
См. также
- Теорема Татта о существовании полного паросочетания
- Лапы и минимальные по включению барьеры в графе
- Пересечение всех максимальных по включению барьеров





