Двудольные графы и раскраска в 2 цвета — различия между версиями
(→Теорема Кенига) |
|||
Строка 2: | Строка 2: | ||
|definition= | |definition= | ||
− | Неориентированный граф <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>. |
}} | }} | ||
+ | |||
+ | == Раскраска в 2 цвета == | ||
+ | |||
+ | {{Теорема | ||
+ | |statement= | ||
+ | Если множество вершин двудольного графа можно разделить на два независимых подмножества так, что ни одна из вершин ни в одном из этих подмножеств не является смежной к вершине из этого же подмножества, тогда граф <tex>G = (W,E)</tex> - 2 - раскрашиваем. <tex>\chi(G) = 2</tex>. | ||
+ | |||
+ | Так же, если граф 2 - раскрашиваем, значит множество его вершин можно разделить на два непересекающихся множества так, что в каждом из них не найдется двух смежных вершин, то граф является двудольным. | ||
+ | }} | ||
+ | |||
+ | [[Файл:Двудольный граф.jpg|thumb|upright|Пример двудольного графа]] | ||
==Теорема Кенига== | ==Теорема Кенига== | ||
Строка 10: | Строка 21: | ||
Кёниг | Кёниг | ||
|statement= | |statement= | ||
− | Граф <tex> G </tex> | + | Граф <tex> G </tex> является двудольным тогда и только тогда, когда все циклы в графе <tex> G </tex> имеют чётную длину. |
|proof= | |proof= | ||
''Достаточность.'' | ''Достаточность.'' | ||
− | + | Рассмотрим двудольный граф. Начнем цикл в доли <tex> U </tex>. Нужно пройти по четному числу ребер, чтобы подняться в <tex> U </tex> снова. Следовательно, при замыкании цикла число ребер будет четным. | |
− | |||
− | |||
− | Рассмотрим двудольный граф. Начнем цикл в доли <tex> U </tex>. Нужно пройти по четному числу ребер, чтобы подняться в <tex> U </tex> снова. Следовательно, при замыкании цикла число ребер будет четным. | ||
− | |||
''Необходимость.'' | ''Необходимость.'' | ||
Строка 28: | Строка 35: | ||
}} | }} | ||
− | == | + | == Алгоритм == |
− | |||
− | |||
− | Так | + | Так как граф является двудольным тогда и только тогда, когда все циклы четны, определить двудольность можно за один проход в глубину. |
+ | На каждом шаге обхода в глубину помечаем вершину. Допустим мы пошли в первую вершину - помечаем её как <tex> 1 </tex>. Затем просматриваем все смежные вершины и если не помечена вершина, то на ней ставим пометку <tex> 2 </tex> и рекурсивно переходим в нее. Если же она помечена и на ней стоит та же пометка, что и у той, из которой шли(в нашем случае <tex> 1 </tex>), значит граф не двудольный. | ||
− | |||
− | |||
− | |||
== Источники == | == Источники == |
Версия 17:36, 14 января 2012
Определение: |
Неориентированный граф | называется двудольным, если множество его вершин можно разбить на две части , так, что ни одна вершина в не соединена с вершинами в и ни одна вершина в не соединена с вершинами в .
Раскраска в 2 цвета
Теорема: |
Если множество вершин двудольного графа можно разделить на два независимых подмножества так, что ни одна из вершин ни в одном из этих подмножеств не является смежной к вершине из этого же подмножества, тогда граф - 2 - раскрашиваем. .
Так же, если граф 2 - раскрашиваем, значит множество его вершин можно разделить на два непересекающихся множества так, что в каждом из них не найдется двух смежных вершин, то граф является двудольным. |
Теорема Кенига
Теорема (Кёниг): |
Граф является двудольным тогда и только тогда, когда все циклы в графе имеют чётную длину. |
Доказательство: |
Достаточность. Рассмотрим двудольный граф. Начнем цикл в доли . Нужно пройти по четному числу ребер, чтобы подняться в снова. Следовательно, при замыкании цикла число ребер будет четным.Необходимость. Пусть ненулевой граф В графе связен и не имеет циклов нечетной длины. Выберем произвольно вершину и разобьем множество всех вершин на на два непересекающихся множества и так, чтобы в лежали вершины , такие что кратчайшая цепь была чётной длины, а в соответственно вершины , для которых длина цепи - нечётная. При этом . нет ребер , таких что лежат одновременно в и . Поведем доказательство от противного. Пусть . Зададим - кратчайшая цепь, а - кратчайшая цепь. Обе цепи четной длины. Пусть - последняя вершина цепи , принадлежащая . Тогда подцепи от до в и имеют одинаковую длину (иначе бы противоречили выбору и ). А так как подцепи одинаковы, то чётность у них одинакова, а значит в сумме с ребром они образуют цикл нечётной длины, что невозможно. |
Алгоритм
Так как граф является двудольным тогда и только тогда, когда все циклы четны, определить двудольность можно за один проход в глубину. На каждом шаге обхода в глубину помечаем вершину. Допустим мы пошли в первую вершину - помечаем её как
. Затем просматриваем все смежные вершины и если не помечена вершина, то на ней ставим пометку и рекурсивно переходим в нее. Если же она помечена и на ней стоит та же пометка, что и у той, из которой шли(в нашем случае ), значит граф не двудольный.
Источники
1. Асанов М. О., Баранский В. А., Расин В. В. - Дискретная математика: Графы, матроиды, алгоритмы. ISBN 978-5-8114-1068-2
2. Харари Ф. - Теория графов. ISBN 978-5-397-00622-4