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

Материал из Викиконспекты
Перейти к: навигация, поиск
м (правки)
Строка 26: Строка 26:
 
#: [[Файл:Граф_для_теоремы_Татта.png|right|200px|thumb|К доказательству 2-ого пункта леммы.]]
 
#: [[Файл:Граф_для_теоремы_Татта.png|right|200px|thumb|К доказательству 2-ого пункта леммы.]]
 
# Вершины <tex>x,y,z</tex> и <tex>t</tex> лежат в одном подграфе графа <tex>{G'} \setminus U</tex>.
 
# Вершины <tex>x,y,z</tex> и <tex>t</tex> лежат в одном подграфе графа <tex>{G'} \setminus U</tex>.
#: Построим граф <tex>H</tex>, такой что <tex>{V_{H}}={V}</tex> и <tex>{E_{H}}=M_1 \oplus M_2</tex>. Получим, что вершины <tex>x,y,z</tex> и <tex>t</tex> лежат на каком-то чередующемся цикле из ребер <tex>M_1</tex> и <tex>M_2</tex>. Рассмотрим подробнее, почему это будет именно так. Ребро <tex>xz</tex> принадлежит паросочетанию <tex>M_1</tex>, значит вершина <tex>y</tex> и какая-то произвольная вершина <tex>v</tex> будут покрыты ребром паросочетания <tex>M_1</tex>, при этом эти ребра не принадлежат паросочетанию <tex>M_2</tex>, но ребра <tex>yt</tex> и <tex>vu</tex>, где <tex>u</tex> {{---}} произвольная вершина, принадлежат <tex>M_2</tex> и не принадлежат <tex>M_1</tex> и так далее. Таким образом и получается чередующийся цикл в графе <tex>H</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>{G'}</tex>. Тогда на пути <tex>x..y</tex> возьмем ребра из паросочетания <tex>M_2</tex>, а на пути <tex>t..z</tex> - ребра из паросочетания <tex>M_1</tex>. Непокрытыми остались вершины <tex>z</tex> и <tex>y</tex>, которые мы покроем ребром <tex>yz</tex>. Вершины, не принадлежащие рассматриваемому циклу, покроем ребрами любого из паросочетаний <tex>M_1, M_2</tex> (выберем ребра одного из них). Таким образом, получили полное паросочетание в графе <tex>{G'}</tex>, противоречие.   
+
#: Построим граф <tex>H</tex>, такой что <tex>{V_{H}}={V}</tex> и <tex>{E_{H}}=M_1 \oplus M_2</tex><ref>[http://ru.wikipedia.org/wiki/%D1%E8%EC%EC%E5%F2%F0%E8%F7%E5%F1%EA%E0%FF_%F0%E0%E7%ED%EE%F1%F2%FC Симметрическая разность] </ref>. Получим, что вершины <tex>x,y,z</tex> и <tex>t</tex> лежат на каком-то чередующемся цикле из ребер <tex>M_1</tex> и <tex>M_2</tex>. Рассмотрим подробнее, почему это будет именно так. Ребро <tex>xz</tex> принадлежит паросочетанию <tex>M_1</tex>, значит вершина <tex>y</tex> и какая-то произвольная вершина <tex>v</tex> будут покрыты ребром паросочетания <tex>M_1</tex>, при этом эти ребра не принадлежат паросочетанию <tex>M_2</tex>, но ребра <tex>yt</tex> и <tex>vu</tex>, где <tex>u</tex> {{---}} произвольная вершина, принадлежат <tex>M_2</tex> и не принадлежат <tex>M_1</tex> и так далее. Таким образом и получается чередующийся цикл в графе <tex>H</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>{G'}</tex>. Тогда на пути <tex>x..y</tex> возьмем ребра из паросочетания <tex>M_2</tex>, а на пути <tex>t..z</tex> - ребра из паросочетания <tex>M_1</tex>. Непокрытыми остались вершины <tex>z</tex> и <tex>y</tex>, которые мы покроем ребром <tex>yz</tex>. Вершины, не принадлежащие рассматриваемому циклу, покроем ребрами любого из паросочетаний <tex>M_1, M_2</tex> (выберем ребра одного из них). Таким образом, получили полное паросочетание в графе <tex>{G'}</tex>, противоречие.   
  
 
В каждом из возможных случаев получили противоречие, значит, наше начальное предположение тоже неверно и <tex>{G'} \setminus U</tex> {{---}} объединение несвязных полных графов, лемма доказана.
 
В каждом из возможных случаев получили противоречие, значит, наше начальное предположение тоже неверно и <tex>{G'} \setminus U</tex> {{---}} объединение несвязных полных графов, лемма доказана.
Строка 57: Строка 57:
 
==Примечания==
 
==Примечания==
 
<references/>
 
<references/>
*[http://ru.wikipedia.org/wiki/%D1%E8%EC%EC%E5%F2%F0%E8%F7%E5%F1%EA%E0%FF_%F0%E0%E7%ED%EE%F1%F2%FC Симметрическая разность]
 
  
 
== Источники информации ==
 
== Источники информации ==

Версия 19:58, 23 января 2016

Определение:
odd(G) — число нечетных компонент связности в графе G, где нечетная компонента (англ. odd component) — это компонента связности, содержащая нечетное число вершин.


Определение:
Множество Татта графа G — множество SVG, для которого выполнено условие: odd(GS)>|S|


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

Пусть G — граф, полученный из G=V,E добавлением ребер, при этом в G нет полного паросочетания, но оно появляется при добавлении любого нового ребра.

Так как новых вершин не добавлялось, то G=V,E

Пусть U={vV:degG(v)=n1}.

Очевидно, что |U|n, потому что G — не полный граф.

Лемма:
GU — объединение несвязных полных графов.
Доказательство:

Пусть это не так, тогда существуют вершины x,y,zVU, такие что xy,yzE, но xzE. Так как yU, то tU:ytE.

По построению G в графе G+xz существует полное паросочетание M1. Аналогично, в графе G+yt существует полное паросочетание M2. Так как в G нет полного паросочетания, то xzM1 и ytM2.

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

  1. Вершины x,z и y,t лежат в разных полных подграфах графа GU, обозначим их H1 и H2, соответственно.
    Покроем вершины подграфа H1 паросочетанием M2, при этом заметим, что ребро xz не входит в это паросочетание. Аналогично покроем паросочетанием M1 вершины подрафа H2 и ребро yt не войдет в это паросочетание. Если остались непокрытые вершины, то покроем их ребрами из любого паросочетания M1 или M2. Таким образом, мы получим полное паросочетание в графе G, что противоречит его построению.
    К доказательству 2-ого пункта леммы.
  2. Вершины x,y,z и t лежат в одном подграфе графа GU.
    Построим граф H, такой что VH=V и EH=M1M2[1]. Получим, что вершины x,y,z и t лежат на каком-то чередующемся цикле из ребер M1 и M2. Рассмотрим подробнее, почему это будет именно так. Ребро xz принадлежит паросочетанию M1, значит вершина y и какая-то произвольная вершина v будут покрыты ребром паросочетания M1, при этом эти ребра не принадлежат паросочетанию M2, но ребра yt и vu, где u — произвольная вершина, принадлежат M2 и не принадлежат M1 и так далее. Таким образом и получается чередующийся цикл в графе H. В силу симметричности x и z можно считать, что вершины расположены в порядке tzxy. Тогда существует путь P1=t..zx..y и полное паросочетание в нем, следовательно существует и путь P2=t..zy..x, содержащий только ребра графа G. Тогда на пути x..y возьмем ребра из паросочетания M2, а на пути t..z - ребра из паросочетания M1. Непокрытыми остались вершины z и y, которые мы покроем ребром yz. Вершины, не принадлежащие рассматриваемому циклу, покроем ребрами любого из паросочетаний M1,M2 (выберем ребра одного из них). Таким образом, получили полное паросочетание в графе G, противоречие.
В каждом из возможных случаев получили противоречие, значит, наше начальное предположение тоже неверно и GU — объединение несвязных полных графов, лемма доказана.

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

Теорема:
В графе G существует полное паросочетание
SV выполнено условие: odd(GS)|S| (то есть в графе G нет ни одного множества Татта)
Доказательство:


Рассмотрим M — полное паросочетание в графе G и множество вершин SV.

Одна из вершин каждой нечетной компоненты связности графа GS соединена ребром паросочетания M с какой-то вершиной из S. Иначе мы не сможем покрыть паросочетанием все вершины этой компоненты связности и получим противоречие с тем, что полное паросочетание существует по условию теоремы. Таким образом, получаем, что odd(GS)|S|.


Пусть для графа G выполнено, что odd(GS)|S|, но полного паросочетания в этом графе не существует.

Рассмотрим граф G и множество вершин U (из леммы). Так как число нечетных компонент не увеличивается при добавлении новых ребер, то SV выполнено odd(GS)odd(GS)|S|. По лемме, доказанной выше: GU — объединение несвязных полных графов.

Очевидно, что в каждой четной компоненте связности графа GU мы можем построить полное паросочетание. В каждой нечетной компоненте этого графа построим паросочетание, которое покрывает все вершины кроме одной, оставшуюся непокрытой вершину, соединим с какой-то вершиной множества U. При этом мы будем использовать различные вершины из U, это возможно, так как odd(GU)|U|. Если все вершины множества U оказались покрытыми, то мы получили полное паросочетание в графе G. Противоречие, так как по построению в G нет полного паросочетания.

Значит, в U осталось какое-то количество непокрытых вершин, при этом их четное число, потому что число вершин в G четно, так как odd(G)||=0 и уже покрыто паросочетанием четное число вершин. Так как в множество U входят вершины, которые в G смежны со всеми остальными, то мы сможем разбить оставшиеся вершины на пары и покрыть их паросочетанием.

Таким образом, получили в G полное паросочетание, что противоречит тому, как мы задали этот граф изначально. Значит, начальное предположение не верно, и в G существует полное паросочетание.

Примечания

Источники информации