Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
285
Добавлен:
28.03.2015
Размер:
543.74 Кб
Скачать

§ 9. Критерий двудольности графа

Д. Кёниг сформулировал простой критерий двудольности графа в терминах длин циклов.

Теорема Кёнига (1936 г.). Для двудольности графа необходимо и достаточно, чтобы он не содержал циклов нечетной длины.

> Необходимость. Пусть Gдвудольный граф, C — один из его циклов длины k. Пройдем все ребра этого цикла в той последовательности, в какой они на нем расположены, начиная с некоторой вершины v. Сделав k шагов, вернемся в v. Так как концы каждого ребра лежат в разных долях, то k — четное число.

Достаточность. Не ограничивая общности, можно рассматривать только связные графы, ибо дизъюнктное объединение двудольных графов также двудольно. Пусть связный граф G порядка n > 1 не имеет циклов нечетной длины, vVG. Построим разбиение VG = AB следующим образом: произвольную вершину u графа G отнесем к классу A, если расстояние d(u, v) — четное число, и к классу B, если это расстояние нечетно. Остается доказать, что порожденные подграфы G(A) и G(B) являются пустыми. Пусть, напротив, существуют две смежные вершины u и w, входящие в один класс. Тогда ни одна из них не совпадает с v, поскольку vA, а окружение вершины v входит в класс В. Пусть, далее, U — кратчайшая (u, v)-цепь, W—кратчайшая (w, v)-цепь, v1последняя, считая от v, из общих вершин этих цепей, лежащая на цепи U (рис. 9.1). Обозначим через Xu и Yu соответственно (v, v1)- и (v1, u)-подцепи цепи U, а через Xw и Yw—соответственно (v, v1)-и (v1, w)-подцепи цепи W. Очевидно, что длины цепей Xu и Xw совпадают и, следовательно, длины цепей Yu и Yw одного характера четности. Но тогда объединение цепей Yu и Yw и ребра uw является циклом нечетной длины. <

Очевидно

Следствие 9.1. Граф является двудольным тогда и только тогда, когда он не имеет простых циклов нечетной длины.

Доказательство теоремы Кёнига подсказывает простой способ распознавания двудольности графа. Этот способ основан на простом приеме, называемом поиском в ширину. Поиск в ширину следующим образом приписывает вершинам рассматриваемого графа номера 0, 1, 2, ... Начиная с произвольной вершины, приписываем ей номер 0. Каждой вершине из окружения вершины 0 приписываем номер 1. Теперь рассматриваем поочередно окружения всех вершин с номером 1 и каждой из входящих в эти окружения вершин, еще не занумерованных, приписываем номер 2. Рассматриваем окружения всех вершин с номером 2 и т. д., пока возможно. Если исходный граф G связен, то поиск в ширину занумерует все его вершины.

Далее, разобьем множество VG на две части — A и B, отнеся к A все вершины с четными номерами, а к B — все остальные вершины, и рассмотрим порожденные подграфы G(A) и G(B). Если оба они пусты (достаточно проверить, что все пары вершин с равными номерами не смежны), то G=(A, B, E)—двудольный граф. В противном случае граф G не является двудольным.

Простых способов распознавания k-дольности графа при k > 2 нет.

Очевидно, что с помощью поиска в ширину можно также решить следующие задачи:

  1. разбить множество вершин графа на его области связности;

  2. для несовпадающих вершин u и v связного графа найти кратчайшую (и, v)-цепь;

  3. в ориентированном графе найти множество всех вершин, достижимых из заданной вершины u.

Соседние файлы в папке Emelichev_V_A_Melnikov_O_I_Sarvanov_V_I_T