Декомпозиция Эдмондса-Галлаи — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Структурная теорема Эдмондса-Галлаи)
(Структурная теорема Эдмондса-Галлаи)
Строка 68: Строка 68:
 
* <tex> \alpha (G - a) = \alpha (G) - 1.</tex>
 
* <tex> \alpha (G - a) = \alpha (G) - 1.</tex>
 
|proof=
 
|proof=
много-много и с картинками. :(
+
Достаточно доказать, что <tex>D(G-a) = D(G)</tex>. <br>
Достаточно доказать, что D(G-a) = D(G). <br>
+
<tex>1)</tex> покажем, что <tex>D(G - a) \supset D(G)</tex> : <br>
1) покажем, что D(G a) /supset D(G): <br>
+
Пусть <tex>u \in D(G)</tex>. Тогда существует максимальное паросочетание <tex> Mu </tex> графа <tex>G</tex>, не покрывающее <tex>u</tex>. Поскольку любое максимальное паросочетание графа <tex>G</tex> покрывает a, то <tex> \alpha (G - a) = \alpha (G) - 1 </tex> и более того, если <tex> ax \in Mu </tex>, то <tex>Mu \setminus {ax} </tex> -  максимальное паросочетание графа <tex> G - a </tex>, не покрывающее <tex> u </tex>. Таким образом, <tex>D(G - a) \supset D(G) </tex>. <br>
Пусть u \in D(G). Тогда существует максимальное паросочетание Mu графа G, не покрывающее u. Поскольку любое максимальное паросочетание графа G покрывает a, то α(G - a) = α(G) - 1 и более того, если ax \in Mu, то Mu \setminus {ax} -  максимальное паросочетание графа G - a, не покрывающее u. Таким образом, D(G - a) \supset D(G). <br>
+
<tex>2)</tex>покажем, что <tex> D(G − a) \subset D(G)</tex>: <br>
2)покажем, что D(G − a) /subset D(G): <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> Mw </tex>- максимальное паросочетание графа <tex> G </tex>, не покрывающее <tex> w </tex>. Так как <tex> v not \in D(G) </tex>, максимальное паросочетание <tex> Mw </tex> покрывает вершину <tex>v</tex>. Рассмотрим граф <tex> H = G(Mw \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> Mw и M' </tex>, причём начинается путь ребром из <tex>Mw </tex> . Так как <tex> dH(a) = 1 </tex>, то вершина a либо не принадлежит пути <tex>P</tex>, либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию <tex> Mw</tex>). Рассмотрим несколько случаев: <br>
Предположим, что существует максимальное паросочетание M' графа G - a, не покрывающее вершину v not \in D(G). Пусть w \in D(G) - смежная с a \in A(G) вершина, а Mw - максимальное паросочетание графа G, не покрывающее w. Так как v not \in D(G), максимальное паросочетание Mw покрывает вершину v. Рассмотрим граф H = G(Mw \bigcup M') - очевидно, он является объединением нескольких путей и чётных циклов. Пусть U - компонента связности графа H, содержащая v. Так как dH(v) = 1, то P = H(U) - путь с началом в вершине v. В пути P чередуются рёбра из Mw и M', причём начинается путь ребром из Mw. Так как dH(a) = 1, то вершина a либо не принадлежит пути P, либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию Mw). Рассмотрим несколько случаев: <br>
 
  
'''a.''' Путь P кончается ребром из M' (см. рисунок)<br>
+
'''a.''' Путь <tex>P</tex> кончается ребром из <tex> M'</tex> (см. рисунок)<br>
Рассмотрим паросочетание Mv = Mw \oplus E(P) (симметрическая разность
+
Рассмотрим паросочетание <tex>Mv = Mw \oplus E(P)</tex> (симметрическая разность
Mw и E(P). то есть, рёбра, входящие ровно в одно из двух множеств).
+
<tex> Mw и E(P)</tex>. то есть, рёбра, входящие ровно в одно из двух множеств).
Очевидно, Mv - максимальное паросочетание графа G, не покрывающее v, поэтому v \in D(G), противоречие. <br>
+
Очевидно, <tex>Mv</tex> - максимальное паросочетание графа <tex> G</tex>, не покрывающее <tex> v</tex>, поэтому <tex> v \in D(G)</tex>, противоречие. <br>
  
'''b.''' Путь P кончается ребром из Mw, вершина a - конец пути P. (см.рисунок)<br>
+
'''b.''' Путь <tex>P</tex> кончается ребром из <tex> Mw</tex>, вершина a - конец пути <tex>P</tex>. (см.рисунок)<br>
Рассмотрим паросочетание Mv∗ = (Mw \oplus E(P)) \bigcup \{aw\}. Тогда Mv∗ - максимальное паросочетание графа G, не покрывающее v, поэтому v \in D(G), противоречие.
+
Рассмотрим паросочетание <tex>Mv∗ = (Mw \oplus E(P)) \bigcup \{aw\} </tex>. Тогда <tex> Mv∗ </tex> - максимальное паросочетание графа <tex> G </tex>, не покрывающее <tex> v </tex>, поэтому <tex> v \in D(G) </tex>, противоречие.
  
'''c.'''  Путь P кончается ребром из Mw, a \in V(P) (см. рисунок)
+
'''c.'''  Путь <tex> P </tex> кончается ребром из <tex> Mw, a \in V(P) </tex> (см. рисунок)
Рассмотрим паросочетание M'' = M \oplus E(P). Тогда |M''| = |M'| + 1, причём Mээ \subset E(G - a). Противоречие с максимальностью паросочетания M'.
+
Рассмотрим паросочетание <tex> M'' = M \oplus E(P) </tex>. Тогда <tex> |M''| = |M'| + 1 </tex>, причём <tex>M'' \subset E(G - a)</tex>. Противоречие с максимальностью паросочетания <tex>M'</tex>.
  
Таким образом, наше предположение невозможно и D(G - a) \subset D(G).
+
Таким образом, наше предположение невозможно и <tex>D(G - a) \subset D(G)</tex>.
  
А значит, D(G - a) = D(G).
+
А значит, <tex>D(G - a) = D(G)</tex>.
 
}}
 
}}
  
Строка 94: Строка 93:
 
|about = Галлаи, Эдмондс
 
|about = Галлаи, Эдмондс
 
|statement=
 
|statement=
пусть дан граф G = (V, E).
+
Для графа <tex> G = (V, E)</tex> выполняется:
<br>
+
 
тогда:
+
<tex>1) U = A(G) </tex> - множество свидетелей Татта-Бержа <br>
<br>
+
<tex>2) С(G) </tex> - объединение всех четных компонент <tex>G - A(G)</tex> <br>
1) <tex> U = A(G) </tex> - множество свидетелей Татта-Бержа <br>
+
<tex>3) D(G) </tex> - объединение всех нечетных компонент <tex>G - A(G)</tex> <br>
2) <tex>С(G) </tex> - объединение всех четных компонент <tex>G - A(G)</tex> <br>
+
<tex>4)</tex> каждая компонента в <tex> G - A(G)</tex> - фактор-критическая  
3) <tex>D(G) </tex> - объединение всех нечетных компонент <tex>G - A(G)</tex> <br>
 
4) каждая компонента в <tex> G - A(G)</tex> - фактор-критическая  
 
 
|proof=
 
|proof=
 
  1) Последовательно удаляя вершины множества<tex> A = A(G)</tex>, по лемме о стабильности мы получим:
 
  1) Последовательно удаляя вершины множества<tex> A = A(G)</tex>, по лемме о стабильности мы получим:

Версия 17:43, 15 декабря 2013

Определение:
[math]o(G-U)[/math] - количество компонент связности нечетного размера в [math] G[V-U][/math].


Теорема (Татта-Бержа):
дан граф [math]G[/math], размер максимального паросочетания в нем [math]v(G)[/math] равен: [math]v(G) = min(U in V)1/2(|V|-|U|-o(G-U)) [/math]


Определение:
множество U, на котором достигается минимум в формуле Татта-Баржа назовем множеством свидетелей.


Утверждение:
выполняется следующее:
  • все вершины из U покрыты любим максимальным паросочетанием в G
  • если K - множество вершин компоненты G-U, тогда любое максимальное паросочетание в G покрывает как минимум половину вершин в K. В частности, каждая вершина в четной компоненте покрыта любым максимальным паросочетанием.
Утверждение:
если U - не пустое множество свидетелей Татта-Бержа для графа G, тогда в G есть вершины, которые входят в любое максимальное паросочетание.


Определение:
граф G = (V, E) называется фактор-критическим, если в нем нем полного паросочетания, но для каждой вершины v из V граф G-v имеет полное.


Теорема:
граф G факторо-критический тогда и только тогда, когда для каждой вершины v из V существует максимальное паросочетание в G, которое не покрывает вершину v.
Утверждение:
пусть C - цикл нечетной длины в G. Если граф G/С, полученный сжатием C в одну вершину, фактор-критический, то и G - фактор-критический.

Структурная теорема Эдмондса-Галлаи

Определение:
необходимые определения:
  • [math]D(G) = \{v \in V |[/math] существует максимальное паросочетание, не покрывающее [math] v\}[/math]
  • [math]A(G) = N(D(G)) \setminus D(G)[/math]
  • [math]C(G) = V \setminus( D(G) \bigcup A(G) )[/math]
  • [math] \alpha (G) [/math] - размер максимального паросочетания в [math]G[/math]


Теорема (Галлаи):
[math]G[/math] - фактор-критический граф [math] \Leftrightarrow [/math]
[math]G[/math] - связен и для любой вершины[math] u \in V(G) [/math] выполняется равенство [math] \alpha (G - u) = \alpha (G)[/math].
Лемма (Галлаи, о стабильности):
пусть [math] a \in A(G).[/math] Тогда:
  • [math]D(G - a) = D(G)[/math]
  • [math]A(G - a) = A(G) \setminus \{a\}[/math]
  • [math]C(G - a) = C(G)[/math]
  • [math] \alpha (G - a) = \alpha (G) - 1.[/math]
Доказательство:
[math]\triangleright[/math]

Достаточно доказать, что [math]D(G-a) = D(G)[/math].
[math]1)[/math] покажем, что [math]D(G - a) \supset D(G)[/math] :
Пусть [math]u \in D(G)[/math]. Тогда существует максимальное паросочетание [math] Mu [/math] графа [math]G[/math], не покрывающее [math]u[/math]. Поскольку любое максимальное паросочетание графа [math]G[/math] покрывает a, то [math] \alpha (G - a) = \alpha (G) - 1 [/math] и более того, если [math] ax \in Mu [/math], то [math]Mu \setminus {ax} [/math] - максимальное паросочетание графа [math] G - a [/math], не покрывающее [math] u [/math]. Таким образом, [math]D(G - a) \supset D(G) [/math].
[math]2)[/math]покажем, что [math] D(G − a) \subset D(G)[/math]:
Предположим, что существует максимальное паросочетание [math]M'[/math] графа[math] G - a[/math], не покрывающее вершину [math]v not \in D(G)[/math]. Пусть [math] w \in D(G) [/math]- смежная с[math] a \in A(G)[/math] вершина, а [math] Mw [/math]- максимальное паросочетание графа [math] G [/math], не покрывающее [math] w [/math]. Так как [math] v not \in D(G) [/math], максимальное паросочетание [math] Mw [/math] покрывает вершину [math]v[/math]. Рассмотрим граф [math] H = G(Mw \bigcup M') [/math] - очевидно, он является объединением нескольких путей и чётных циклов. Пусть [math] U [/math] - компонента связности графа [math] H [/math], содержащая [math]v[/math]. Так как [math] dH(v) = 1 [/math], то [math] P = H(U) [/math] - путь с началом в вершине [math]v[/math]. В пути [math]P[/math] чередуются рёбра из [math] Mw и M' [/math], причём начинается путь ребром из [math]Mw [/math] . Так как [math] dH(a) = 1 [/math], то вершина a либо не принадлежит пути [math]P[/math], либо является её концом (в этом случае последнее ребро пути принадлежит паросочетанию [math] Mw[/math]). Рассмотрим несколько случаев:

a. Путь [math]P[/math] кончается ребром из [math] M'[/math] (см. рисунок)
Рассмотрим паросочетание [math]Mv = Mw \oplus E(P)[/math] (симметрическая разность [math] Mw и E(P)[/math]. то есть, рёбра, входящие ровно в одно из двух множеств). Очевидно, [math]Mv[/math] - максимальное паросочетание графа [math] G[/math], не покрывающее [math] v[/math], поэтому [math] v \in D(G)[/math], противоречие.

b. Путь [math]P[/math] кончается ребром из [math] Mw[/math], вершина a - конец пути [math]P[/math]. (см.рисунок)
Рассмотрим паросочетание [math]Mv∗ = (Mw \oplus E(P)) \bigcup \{aw\} [/math]. Тогда [math] Mv∗ [/math] - максимальное паросочетание графа [math] G [/math], не покрывающее [math] v [/math], поэтому [math] v \in D(G) [/math], противоречие.

c. Путь [math] P [/math] кончается ребром из [math] Mw, a \in V(P) [/math] (см. рисунок) Рассмотрим паросочетание [math] M'' = M \oplus E(P) [/math]. Тогда [math] |M''| = |M'| + 1 [/math], причём [math]M'' \subset E(G - a)[/math]. Противоречие с максимальностью паросочетания [math]M'[/math].

Таким образом, наше предположение невозможно и [math]D(G - a) \subset D(G)[/math].

А значит, [math]D(G - a) = D(G)[/math].
[math]\triangleleft[/math]
Теорема (Галлаи, Эдмондс):
Для графа [math] G = (V, E)[/math] выполняется:

[math]1) U = A(G) [/math] - множество свидетелей Татта-Бержа
[math]2) С(G) [/math] - объединение всех четных компонент [math]G - A(G)[/math]
[math]3) D(G) [/math] - объединение всех нечетных компонент [math]G - A(G)[/math]

[math]4)[/math] каждая компонента в [math] G - A(G)[/math] - фактор-критическая
Доказательство:
[math]\triangleright[/math]

1) Последовательно удаляя вершины множества[math] A = A(G)[/math], по лемме о стабильности мы получим:

  • [math]D(G - A) = D(G),[/math]
  • [math]A(G - A) = \O, [/math]
  • [math]C(G - A) = C(G),[/math]
  • [math]\alpha (G - A) = \alpha (G) - |A|.[/math]

Это означает, что не существует рёбер, соединяющих вершины из [math]C(G - A)[/math] и [math]D(G - A)[/math]. Каждое максимальное паросочетание [math]M'[/math] графа [math]G - A[/math] покрывает все вершины множества [math]C(G)[/math], поэтому [math]M'[/math] содержит совершенное паросочетание графа [math]C[/math]. Тем самым, мы доказали пункт 1).

2) Из формулы [math] \alpha(G - A) = \alpha (G) - |A|[/math] следует, что [math]U1,{...},Un[/math]- компоненты связности графа [math]G - A[/math]. Для любой вершины [math]u \in Ui [/math]существует максимальное паросочетание [math]Mu[/math] графа [math]G - A[/math], не содержащее [math]u[/math]. Так как [math]Ui[/math] - компонента связности графа [math]G - A[/math], паросочетание [math]Mu[/math] содержит максимальное паросочетание графа [math]Di[/math] (разумеется, не покрывающее вершину [math]u[/math]). Следовательно, [math] \alpha (Di) = \alpha (Di - u) [/math] и по теореме Галлаи(выше) мы получаем, что граф [math]Di[/math] - фактор-критический.

3) Пусть [math]M[/math] - максимальное паросочетание графа [math]G[/math], а [math]M'[/math] получено из [math]M[/math] удалением всех рёбер, инцидентных вершинам множества [math]A[/math]. Тогда [math]|M'| \ge |M| - |A|[/math] и по формуле [math] \alpha (G - A) = \alpha (G) - |A|[/math] понятно, что [math]M'[/math] - максимальное паросочетание графа [math]G - A[/math]. Более того, из [math] \alpha (G - A) = \alpha (G) - |A|[/math] следует [math]|M'| = |M| - |A|[/math], а значит, все вершины множества [math]A[/math] покрыты в [math]M[/math] различными рёбрамию Так как [math]M'[/math] - максимальное паросочетание графа [math]G - A[/math], то по пунктам 1) и 2) очевидно, что [math]M'[/math] содержит совершенное паросочетание графа [math]C[/math] и почти совершенные паросочетания фактор-критических графов [math]D1,{...},Dn[/math]. Значит, рёбра паросочетания [math]M[/math] соединяют вершины [math]A[/math] с непокрытыми [math]M'[/math] вершинами различных компонент связности из [math]U1,{...},Un[/math].

4) Из пункта 3) сразу же следуют оба равенства пункта 4).
[math]\triangleleft[/math]
Утверждение (следствие из теоремы):
граф G фактор-критический тогда и только тогда, когда U не пусто и U - единственное множество свидетелей Татта-Бержа для G