Изменения

Перейти к: навигация, поиск

Двудольные графы и раскраска в 2 цвета

1411 байт добавлено, 02:15, 26 января 2016
Нет описания правки
{{Определение |definition=Неориентированный = Двудольный граф <tex> G =(W, E) </tex> называется '''двудольным''', если множество его вершин можно разбить на две части <tex>U \cup V = W , |U| > 0, |V| > 0</tex>, так, что ни одна вершина в <tex>U</tex> не соединена с вершинами в <tex> U </tex> и ни одна вершина в <tex> V </tex> не соединена с вершинами в <tex>V</tex>.}}[[Файл: Bipartite_graph.png|300px|thumb|rightcenter|300pxПример [[Основные_определения_теории_графов#Двудольный_граф |Пример двудольного ]] графа]]
== Раскраска в 2 цвета ==
{{Теорема
|statement=
Граф 2-раскрашиваемый тогда и только тогда, когда он двудольный(англ. '' bipartite graph'' or ''bigraph'').
|proof=
Если множество вершин двудольного графа можно разделить на два независимых подмножества так, что ни одна из вершин ни в одном из этих подмножеств не является смежной к вершине из этого же подмножества, тогда граф <tex>G = (W, E)</tex> — 2-раскрашиваем. <tex>\chi(G) = 2</tex>.
}}
==Теорема КенигаКёнига==
{{Теорема
|about=
КенигКёниг
|statement=
Граф <tex> G </tex> является двудольным тогда и только тогда, когда все циклы в графе <tex> G </tex> имеют чётную длину.
}}
== Следствие == === Алгоритм проверки графа на двудольность, используя обход в глубину===
Так как граф является двудольным тогда и только тогда, когда все циклы четны, определить двудольность можно за один проход в глубину(англ. ''Depth-first search'').На каждом шаге обхода в глубину помечаем вершину. Допустим , мы пошли в первую вершину — помечаем её как <tex> 1 </tex>. Затем просматриваем все смежные вершины , и если не помечена вершина, то на ней ставим пометку <tex> 2 </tex> и рекурсивно переходим в нее. Если же она помечена и на ней стоит та же пометка, что и у той, из которой шли (в нашем случае <tex> 1 </tex>), значит граф не двудольный.
===Алгоритм проверки графа на двудольность, используя обход в ширину===
== Источники ==1Произведём серию поисков в ширину (англ. Асанов М''Breadth-first search''). ОТ., Баранский Ве. Абудем запускать поиск в ширину из каждой непосещённой вершины.Ту вершину, Расин Виз которой мы начинаем идти, мы помещаем в первую долю. В. процессе поиска в ширину, если мы идём в какую- Дискретная математика: Графыто новую вершину, матроидыто мы помещаем её в долю, алгоритмыотличную от доли текущей вершину. '''ISBN 978-5-8114-1068-2'''<br />2Если же мы пытаемся пройти по ребру в вершину, которая уже посещена, то мы проверяем, чтобы эта вершина и текущая вершина находились в разных долях. Харари ФВ противном случае граф двудольным не является. - Теория графовПо окончании работы алгоритма мы либо обнаружим, что граф не двудолен, либо найдём разбиение вершин графа на две доли. '''ISBN 978-5-397-00622-4'''
==См. также ==
* [http://rain.ifmo.ru/cat/view.php/theory/graph-coloring-layout| Графы. Раскраски и укладки.]
 
== Источники ==
* Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы.
* Харари Ф. - Теория графов.
* [http://en.wikipedia.org/wiki/K%C3%B6nig's_theorem_(graph_theory) Теорема Кёнига]
* [http://e-maxx.ru/algo/bipartite_checking MAXimal :: algo :: Проверка графа на двудольность]
* [http://www.e-maxx.ru/algo/dfs Обход в глубину. Реализации.]
* [http://e-maxx.ru/algo/bfs Обход в ширину. Реализации.]
[[Категория: Алгоритмы и структуры данных]]
[[Категория: Раскраски графов]]
5
правок

Навигация