Совершенное паросочетание в кубическом графе — различия между версиями
Profick (обсуждение | вклад) |
Profick (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
* компонента <tex>A</tex> соединена с <tex>B</tex> и компонента <tex>E</tex> соединена с <tex>F</tex> | * компонента <tex>A</tex> соединена с <tex>B</tex> и компонента <tex>E</tex> соединена с <tex>F</tex> | ||
Во всех трёх случаях если <tex>G(V - {c, d})</tex> расширить рёбрами <tex>(a, f), (b, e)</tex> (получим граф <tex>G'</tex>), добавленные рёбра будут лежать на некотором цикле в <tex>G'</tex> (рисунок <tex>4</tex>). Так же, для любой пары вершин <tex>u, v</tex> <math>\in</math> <tex>{a, b, e, f}</tex> существует цикл в <tex>G'</tex>, содержащий данные вершины. Чтобы доказать, что <tex>G'</tex> двусвязен, нужно показать, что каждое ребро <tex>r</tex> из <tex>G'</tex> лежит на некотором цикле в <tex>G'</tex>. Пусть цикл <tex>C</tex> в <tex>G</tex> содержит <tex>r</tex> (такой цикл существует, так как <tex>G</tex> двусвязен). Если <tex>C</tex> не проходит через вершины <tex>c, d</tex> тогда <tex>C</tex> так же является циклом в <tex>G'</tex>, иначе построим цикл <tex>C'</tex> графа <tex>G'</tex> из <tex>C</tex> следующим образом: | Во всех трёх случаях если <tex>G(V - {c, d})</tex> расширить рёбрами <tex>(a, f), (b, e)</tex> (получим граф <tex>G'</tex>), добавленные рёбра будут лежать на некотором цикле в <tex>G'</tex> (рисунок <tex>4</tex>). Так же, для любой пары вершин <tex>u, v</tex> <math>\in</math> <tex>{a, b, e, f}</tex> существует цикл в <tex>G'</tex>, содержащий данные вершины. Чтобы доказать, что <tex>G'</tex> двусвязен, нужно показать, что каждое ребро <tex>r</tex> из <tex>G'</tex> лежит на некотором цикле в <tex>G'</tex>. Пусть цикл <tex>C</tex> в <tex>G</tex> содержит <tex>r</tex> (такой цикл существует, так как <tex>G</tex> двусвязен). Если <tex>C</tex> не проходит через вершины <tex>c, d</tex> тогда <tex>C</tex> так же является циклом в <tex>G'</tex>, иначе построим цикл <tex>C'</tex> графа <tex>G'</tex> из <tex>C</tex> следующим образом: | ||
+ | * если путь <tex> x - c - d - y </tex> <math>\in</math> <tex> C </tex>, <tex> x </tex> <math>\in</math> <tex> \{a, b\} </tex>, <tex> y </tex> <math>\in</math> <tex> \{e, f\} </tex>, удалим этот путь и добавим любой другой из <tex> x </tex> в <tex> y </tex> в <tex> G' </tex>, не содержащий <tex>r</tex> (такой путь всегда существует, так как <tex> x </tex> и <tex> y </tex> принадлежат некоторому циклу в <tex> G' </tex>), | ||
+ | * если путь <tex> a - c - b </tex> <math>\in</math> <tex> C </tex>, удалим этот путь и добавим любой другой из <tex> a </tex> в <tex> b </tex> в <tex> G' </tex>, не содержащий <tex>r</tex>, | ||
+ | *если путь <tex> e - d - f </tex> <math>\in</math> <tex> C </tex>, удалим этот путь и добавим любой другой из <tex> e </tex> в <tex> f </tex> в <tex> G' </tex>, не содержащий <tex>r</tex>. | ||
+ | |||
+ | |||
+ | |||
+ | |||
}} | }} |
Версия 16:11, 28 января 2016
Теорема (Петерсон): |
Кубический граф, у которого нет совершенного паросочетания, содержит как минимум моста. |
Следствие теоремы Петерсона
Для любого двусвязного кубического графа существует совершенное паросочетание.
Теорема (Фринк): |
Пусть — двусвязный кубический граф.
Возьмём ребро Как минимум одно из двух сокращений графа . Пусть вершины и смежены с вершиной , а вершины и смежны с вершиной (рисунок ). , состоящее из удаления вершин и пересоединения вершин рёбрами или (рисунок ) сохранит двусвязность графа. |
Доказательство: |
Обозначим компоненты графа как , которые содержат вершины соответственно. Так как не имеет мостов (соответственно не является мостом) должно существовать ребро, соединяющее одну из компонент или , с одной из компонент или . Без потери общности предположим, что соединено с . Заметим, что рёбра так же не являются мостами, значит возможны три случая (с учётом изоморфизма) (рисунок ):
Во всех трёх случаях если расширить рёбрами (получим граф ), добавленные рёбра будут лежать на некотором цикле в (рисунок ). Так же, для любой пары вершин существует цикл в , содержащий данные вершины. Чтобы доказать, что двусвязен, нужно показать, что каждое ребро из лежит на некотором цикле в . Пусть цикл в содержит (такой цикл существует, так как двусвязен). Если не проходит через вершины тогда так же является циклом в , иначе построим цикл графа из следующим образом:
|
Алгоритм поиска совершенного паросочетания за (Frink's algorithm)
Главная идея алгоритма заключается в предыдущей теореме.