Двудольные графы и раскраска в 2 цвета — различия между версиями
| Строка 1: | Строка 1: | ||
| − | |||
Неориентированный граф <tex>G = (W,E)</tex> называется '''двудольным''', если множество его вершин можно разбить на две части <tex> U \cup V = W , \mid U\mid > 0, \mid V\mid > 0</tex>, так, что ни одна вершина в <tex>U</tex> не соединена с вершинами в <tex>U</tex> и ни одна вершина в <tex>V</tex> не соединена с вершинами в <tex>V</tex>. | Неориентированный граф <tex>G = (W,E)</tex> называется '''двудольным''', если множество его вершин можно разбить на две части <tex> U \cup V = W , \mid U\mid > 0, \mid V\mid > 0</tex>, так, что ни одна вершина в <tex>U</tex> не соединена с вершинами в <tex>U</tex> и ни одна вершина в <tex>V</tex> не соединена с вершинами в <tex>V</tex>. | ||
| − | |||
| − | |||
{{Теорема | {{Теорема | ||
| Строка 26: | Строка 23: | ||
=== Раскраска в 2 цвета === | === Раскраска в 2 цвета === | ||
| + | |||
| + | [[Файл:Двудольный граф.jpg|thumb|upright|Пример двудольного графа]] | ||
Так как множество вершин двудольного графа можно разделить на 2 независимых подмножества так, что ни одна из вершин ни в одном из этих подмножеств не является смежной к вершине из этого же подмножества <tex>\Rightarrow</tex> граф <tex>G = (W,E)</tex> - 2-раскрашиваем. <tex>\chi(G) = 2</tex>. | Так как множество вершин двудольного графа можно разделить на 2 независимых подмножества так, что ни одна из вершин ни в одном из этих подмножеств не является смежной к вершине из этого же подмножества <tex>\Rightarrow</tex> граф <tex>G = (W,E)</tex> - 2-раскрашиваем. <tex>\chi(G) = 2</tex>. | ||
Версия 10:18, 13 января 2012
Неориентированный граф называется двудольным, если множество его вершин можно разбить на две части , так, что ни одна вершина в не соединена с вершинами в и ни одна вершина в не соединена с вершинами в .
| Теорема (Кёниг): |
Граф является двудольным когда все циклы четные. |
| Доказательство: |
|
Достаточность. Рассмотрим двудольный граф. Начнем цикл в доли . Нужно пройти по четному числу ребер, чтобы подняться в снова. Следовательно, при замыкании цикла число ребер будет четным. Необходимость. Если граф несвязный, то проведем доказательство отдельно для каждой компоненты. Пусть граф связный и все циклы в нем четные. Выделим произвольную вершину и найдем произвольные цепи между и всеми остальными вершинами (например, самые короткие алгоритмом Дейкстры). Если одна цепь нечетной длины, то и любая цепь нечетная, иначе бы эти цепи образовали нечетный цикл. Аналогично, если — четная, то и любая — четная. Разобьем вершины на две доли: в одну войдет вершина и все, находящиеся от на четном расстоянии; в другую долю поместим все вершины, находящиеся от на нечетном расстоянии. Если вершины и принадлежат одной доле, то между ними не может быть ребра, иначе это ребро вместе с цепями и образовали бы нечетный цикл. |
Раскраска в 2 цвета
Так как множество вершин двудольного графа можно разделить на 2 независимых подмножества так, что ни одна из вершин ни в одном из этих подмножеств не является смежной к вершине из этого же подмножества граф - 2-раскрашиваем. .
Так как граф является двудольным тогда и только тогда, когда все циклы четны, определить двудольность можно за один проход в глубину. На каждом шаге обхода в глубину метим вершину. Допустим мы пошли в первую вершину - добавляем ее в множество . То есть ставим метку . Затем просматриваем все смежные вершины и если не помечена вершина, то метим ее как (то есть добавляем во множество ) и рекурсивно переходим в нее. Если же она мечена и у нее такая же метка как у нашей - то все граф не двудольный.