Теорема Татта о существовании полного паросочетания — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Теорема Татта)
Строка 12: Строка 12:
  
 
==Критерий Татта==
 
==Критерий Татта==
Рассмотрим <tex>G'</tex> {{---}} надграф <tex>G</tex>, в <tex>G'</tex> нет полного паросочетания, но оно появляется при добавлении любого ребра, при этом <tex>\left\vert V(G) \right\vert = \left\vert V(G') \right\vert = n</tex>
+
Будем дополнять граф <tex>\mathbb{G}</tex> ребрами, пока не получим граф <tex>\mathbb{G'}</tex>, в котором нет полного паросочетания, но оно появляется при добавлении любого ребра
  
 
Пусть <tex> U = \{ v \in V: deg_{G'} (v) = n - 1 \}</tex>.  
 
Пусть <tex> U = \{ v \in V: deg_{G'} (v) = n - 1 \}</tex>.  
Строка 19: Строка 19:
 
{{Лемма
 
{{Лемма
 
|statement= <tex>G' \setminus U</tex> {{---}} объединение несвязных полных графов.
 
|statement= <tex>G' \setminus U</tex> {{---}} объединение несвязных полных графов.
|proof=Пусть это не так.
+
|proof=Пусть это не так, тогда существуют вершины <tex>x,y,z \in \mathbb{V_\mathbb{G'}} \setminus U</tex>, такие что <tex>xy, yz \in \mathbb{E_\mathbb{G'}}</tex>, но <tex>xz \notin \mathbb{E_\mathbb{G'}}</tex>. Так как <tex>y \notin U</tex>, то <tex>\exists t \notin U: yt \notin \mathbb{E_\mathbb{G'}}</tex>.
  
Получили противоречие.
+
В графе <tex>\mathbb{G'}+xz</tex> существует полное паросочетание <tex>M_1</tex>, так как граф <tex>\mathbb{G'}</tex> максимальный по построению. Аналогично, в графе <tex>\mathbb{G'}+yt</tex> существует полное паросочетание <tex>M_2</tex>. Так как в <tex>\mathbb{G'}</tex> нет полного паросочетания, то <tex>xz \in M_1</tex> и <tex>yt \in M_2</tex>.
 +
 
 +
Возможны два случая:
 +
 
 +
1) Вершины <tex>x,z</tex> и <tex>y,t</tex> лежат в разных полных подграфах графа <tex>\mathbb{G'} \setminus U</tex>, например, в <tex>H_1</tex> и <tex>H_2</tex>, соответственно.
 +
 
 +
Покроем вершины подграфа <tex>H_1</tex> паросочетанием <tex>M_2</tex>, при этом заметим, что ребро <tex>xz</tex> не входит в это паросочетание. Аналогично покроем паросочетанием <tex>M_1</tex> вершины подрафа <tex>H_2</tex> и ребро <tex>yt</tex> не войдет в это паросочетание. Если остались еще какие-то вершины, не входящие в паросочетание, то выберем для них любые ребра из паросочетаний <tex>M_1</tex> и <tex>M_2</tex>. Таким образом, мы получим полное паросочетание в графе <tex>\mathbb{G'}</tex>, что противоречит тому, как мы изначально построили этот граф.
 +
 
 +
2) Вершины <tex>x,y,z</tex> и <tex>t</tex> лежат в одном подграфе графа <tex>\mathbb{G'} \setminus U</tex>.
 +
 
 +
Построим граф <tex>H</tex>, такой что <tex>\mathbb{V_\mathbb{H}}=\mathbb{V_\mathbb{G'}}</tex> и <tex>\mathbb{E_\mathbb{H}}=M_1 \oplus M_2</tex>. Получим, что вершины <tex>x,y,z</tex> и <tex>t</tex> лежат на каком-то чередующемся цикле. В силу симметричности <tex>x</tex> и <tex>z</tex> можно считать, что вершины расположены в порядке <tex>tzxy</tex>. Тогда существует путь <tex>P_1=t..zx..y</tex> и полное паросочетание в нем, но так же существует и путь <tex>P_2=t..zy..x</tex>, содержащий только ребра графа <tex>\mathbb{G'}</tex>. Значит, существует полное паросочетание на вершинах, выбранного подграфа. В остальных подграфах выберем ребра любого из паросочетаний <tex>M_1</tex> и <tex>M_2</tex>. Таким образом, получили полное паросочетание в графе <tex>\mathbb{G'}</tex>, противоречие
 +
 
 +
В каждом из возможных случаев получили предположение, значит наше начальное предположение тоже неверно и <tex>G' \setminus U</tex> {{---}} объединение несвязных полных графов, лемма доказана.
 
}}  
 
}}  
  
Строка 41: Строка 53:
 
Значит, в <tex>U</tex> осталось какое-то количество непокрытых вершин, при этом их четное число, потому что число вершин в <tex>\mathbb{G'}</tex> четно, так как <tex>o(\mathbb{G'} \setminus \varnothing) \leqslant \left\vert \varnothing \right\vert = 0</tex> и уже покрыто паросочетанием четное число вершин. Так как в множество <tex>U</tex> входят вершины, которые в <tex>\mathbb{G'}</tex> смежны со всеми остальными, то мы сможем разбить оставшиеся вершины на пары и покрыть их паросочетанием.
 
Значит, в <tex>U</tex> осталось какое-то количество непокрытых вершин, при этом их четное число, потому что число вершин в <tex>\mathbb{G'}</tex> четно, так как <tex>o(\mathbb{G'} \setminus \varnothing) \leqslant \left\vert \varnothing \right\vert = 0</tex> и уже покрыто паросочетанием четное число вершин. Так как в множество <tex>U</tex> входят вершины, которые в <tex>\mathbb{G'}</tex> смежны со всеми остальными, то мы сможем разбить оставшиеся вершины на пары и покрыть их паросочетанием.
  
Таким образом, получили в <tex>\mathbb{G'}</tex> полное паросочетание, что противоречит тому, как мы задали этот граф изначально. Значит, предположение не верно, и в <tex>\mathbb{G}</tex> существует полное паросочетание.
+
Таким образом, получили в <tex>\mathbb{G'}</tex> полное паросочетание, что противоречит тому, как мы задали этот граф изначально.  
 +
 
 +
Значит, начальное предположение не верно, и в <tex>\mathbb{G}</tex> существует полное паросочетание.
 
    
 
    
 
}}
 
}}

Версия 00:28, 17 декабря 2013

Определение:
Нечетная компонента связности графа [math]\mathbb{G}[/math] — компонента связности, содержащая нечетное число вершин.


Определение:
[math]o(\mathbb{G})[/math] — число нечетных компонент связности в графе [math]\mathbb{G}[/math].


Определение:
Множество Татта графа [math]\mathbb{G}[/math] — множество [math]S \subset \mathbb{V_{G}}[/math], для которого выполнено условие: [math]o(\mathbb{G} \setminus S) \gt \left\vert S \right\vert[/math]


Критерий Татта

Будем дополнять граф [math]\mathbb{G}[/math] ребрами, пока не получим граф [math]\mathbb{G'}[/math], в котором нет полного паросочетания, но оно появляется при добавлении любого ребра.

Пусть [math] U = \{ v \in V: deg_{G'} (v) = n - 1 \}[/math].

Очевидно, что [math]\left\vert U \right\vert \ne n[/math], потому что [math]G'[/math] — не полный граф.

Лемма:
[math]G' \setminus U[/math] — объединение несвязных полных графов.
Доказательство:
[math]\triangleright[/math]

Пусть это не так, тогда существуют вершины [math]x,y,z \in \mathbb{V_\mathbb{G'}} \setminus U[/math], такие что [math]xy, yz \in \mathbb{E_\mathbb{G'}}[/math], но [math]xz \notin \mathbb{E_\mathbb{G'}}[/math]. Так как [math]y \notin U[/math], то [math]\exists t \notin U: yt \notin \mathbb{E_\mathbb{G'}}[/math].

В графе [math]\mathbb{G'}+xz[/math] существует полное паросочетание [math]M_1[/math], так как граф [math]\mathbb{G'}[/math] максимальный по построению. Аналогично, в графе [math]\mathbb{G'}+yt[/math] существует полное паросочетание [math]M_2[/math]. Так как в [math]\mathbb{G'}[/math] нет полного паросочетания, то [math]xz \in M_1[/math] и [math]yt \in M_2[/math].

Возможны два случая:

1) Вершины [math]x,z[/math] и [math]y,t[/math] лежат в разных полных подграфах графа [math]\mathbb{G'} \setminus U[/math], например, в [math]H_1[/math] и [math]H_2[/math], соответственно.

Покроем вершины подграфа [math]H_1[/math] паросочетанием [math]M_2[/math], при этом заметим, что ребро [math]xz[/math] не входит в это паросочетание. Аналогично покроем паросочетанием [math]M_1[/math] вершины подрафа [math]H_2[/math] и ребро [math]yt[/math] не войдет в это паросочетание. Если остались еще какие-то вершины, не входящие в паросочетание, то выберем для них любые ребра из паросочетаний [math]M_1[/math] и [math]M_2[/math]. Таким образом, мы получим полное паросочетание в графе [math]\mathbb{G'}[/math], что противоречит тому, как мы изначально построили этот граф.

2) Вершины [math]x,y,z[/math] и [math]t[/math] лежат в одном подграфе графа [math]\mathbb{G'} \setminus U[/math].

Построим граф [math]H[/math], такой что [math]\mathbb{V_\mathbb{H}}=\mathbb{V_\mathbb{G'}}[/math] и [math]\mathbb{E_\mathbb{H}}=M_1 \oplus M_2[/math]. Получим, что вершины [math]x,y,z[/math] и [math]t[/math] лежат на каком-то чередующемся цикле. В силу симметричности [math]x[/math] и [math]z[/math] можно считать, что вершины расположены в порядке [math]tzxy[/math]. Тогда существует путь [math]P_1=t..zx..y[/math] и полное паросочетание в нем, но так же существует и путь [math]P_2=t..zy..x[/math], содержащий только ребра графа [math]\mathbb{G'}[/math]. Значит, существует полное паросочетание на вершинах, выбранного подграфа. В остальных подграфах выберем ребра любого из паросочетаний [math]M_1[/math] и [math]M_2[/math]. Таким образом, получили полное паросочетание в графе [math]\mathbb{G'}[/math], противоречие.

В каждом из возможных случаев получили предположение, значит наше начальное предположение тоже неверно и [math]G' \setminus U[/math] — объединение несвязных полных графов, лемма доказана.
[math]\triangleleft[/math]

Теорема Татта

Теорема:
В графе [math]\mathbb{G}[/math] существует полное паросочетание [math]\Leftrightarrow[/math] [math]\forall S \subset \mathbb{V_\mathbb{G}}[/math] выполнено условие: [math]o(\mathbb{G} \setminus S) \leqslant \left\vert S \right\vert[/math]
Доказательство:
[math]\triangleright[/math]

[math]\Rightarrow[/math] Рассмотрим [math]M[/math] — полное паросочетание в графе [math]\mathbb{G}[/math] и множество вершин [math]S \subset \mathbb{V_\mathbb{G}}[/math].

Одна из вершин каждой нечетной компоненты связности графа [math] \mathbb{G} \setminus S[/math] соединена ребром паросочетания [math]M[/math] с какой-то вершиной из [math]S[/math]. Иначе мы не сможем покрыть паросочетанием все вершины этой компоненты связности и получим противоречие с тем, что полное паросочетание существует по условию теоремы. Таким образом, получаем, что [math]o(\mathbb{G} \setminus S) \leqslant \left\vert S \right\vert[/math].

[math]\Leftarrow[/math] Пусть для графа [math]\mathbb{G}[/math] выполнено, что [math]o(\mathbb{G} \setminus S) \leqslant \left\vert S \right\vert[/math], но полного паросочетания в этом графе не существует.

Рассмотрим граф [math]\mathbb{G'}[/math] и множество вершин [math]U[/math] (из леммы). Так как число нечетных компонент не увеличивается при добавлении новых ребер, то [math]\forall S \subset \mathbb{V_\mathbb{G}}[/math] выполнено, что [math]o(\mathbb{G'} \setminus S) \leqslant o(\mathbb{G} \setminus S) \leqslant \left\vert S \right\vert[/math]. По лемме, доказанной выше: [math]\mathbb{G'} \setminus U[/math] — объединение несвязных полных графов.

Очевидно, что в каждой четной компоненте связности графа [math]\mathbb{G'} \setminus U[/math] мы можем построить полное паросочетание. В каждой нечетной компоненте этого графа построим паросочетание, которое покрывает все вершины кроме одной, оставшуюся непокрытой вершину, соединим с какой-то вершиной множества [math]U[/math]. При этом мы будем использовать различные вершины из [math]U[/math], это возможно, так как [math]o(G' \setminus U) \leqslant \left\vert U \right\vert[/math]. Если все вершины множества [math]U[/math] оказались покрытыми, то мы получили полное паросочетание в графе [math]\mathbb{G'}[/math]. Противоречие, так как по построению в [math]\mathbb{G'}[/math] нет полного паросочетания.

Значит, в [math]U[/math] осталось какое-то количество непокрытых вершин, при этом их четное число, потому что число вершин в [math]\mathbb{G'}[/math] четно, так как [math]o(\mathbb{G'} \setminus \varnothing) \leqslant \left\vert \varnothing \right\vert = 0[/math] и уже покрыто паросочетанием четное число вершин. Так как в множество [math]U[/math] входят вершины, которые в [math]\mathbb{G'}[/math] смежны со всеми остальными, то мы сможем разбить оставшиеся вершины на пары и покрыть их паросочетанием.

Таким образом, получили в [math]\mathbb{G'}[/math] полное паросочетание, что противоречит тому, как мы задали этот граф изначально.

Значит, начальное предположение не верно, и в [math]\mathbb{G}[/math] существует полное паросочетание.
[math]\triangleleft[/math]