Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Графы. Модели вычислений. Структуры данных

..pdf
Скачиваний:
231
Добавлен:
01.05.2014
Размер:
2.53 Mб
Скачать

очевидно, является циклом, а множество ребер этого цикла есть объединение множеств ребер циклов Zk–1 и Zk. Таким образом, получаем систему из меньшего числа циклов, по-прежнему обладающую тем свойством, что каждое ребро графа принадлежит в точности одному из них. Действуя далее таким же образом, в конце концов получим один цикл, который и будет эйлеровым.

Теорема 1.11 верна и для мультиграфов (кстати, в задаче о кенигсбергских мостах ситуация моделируется именно мультиграфом). Она остается верной и при наличии петель, если при подсчете степеней вершин каждую петлю считать дважды.

Теперь нетрудно получить и критерий существования эйлерова пути.

Теорема 1.12. Эйлеров путь в связном графе существует тогда и только тогда, когда в нем имеется не более двух вершин с нечетными степенями.

Доказательство. Если в графе нет вершин с нечетными степенями, то, по предыдущей теореме, в нем имеется эйлеров цикл, он является и эйлеровым путем. Не может быть точно одной вершины с нечетной степенью – это следует из теоремы 1.2. Если же имеются точно две вершины с нечетными степенями, то построим новый граф, добавив ребро, соединяющее эти вершины. В новом графе степени всех вершин четны и, следовательно, существует эйлеров цикл (возможно, что при добавлении нового ребра получатся кратные ребра, но, как отмечалось выше, теорема об эйлеровом цикле верна и для мультиграфов). Так как циклический сдвиг цикла – тоже цикл, то существует и такой эйлеров цикл, в котором добавленное ребро – последнее. Удалив из этого цикла последнюю вершину, получим эйлеров путь в исходном графе.

В ориентированном графе под эйлеровым путем (циклом) понимают ориентированный путь (цикл), проходящий через все ребра графа. Ориентированный вариант критерия существования эйлерова цикла формулируется следующим образом.

Теорема 1.13. Эйлеров цикл в связном орграфе существует тогда и только тогда, когда у каждой его вершины число входящих в нее ребер равно числу выходящих.

1.7. Двудольные графы

Граф называется двудольным, если множество его вершин можно так разбить на два подмножества, чтобы концы каждого ребра принадлежали разным подмножествам. Эти подмножества называются долями. Таким образом, каждая из долей порождает пустой подграф. Примером двудоль-

31

ного графа является простая цепь Pn при любом n: одна доля порождается вершинами с четными номерами, другая – с нечетными. Граф K3 – пример графа, не являющегося двудольным: при любом разбиении множества его вершин на два подмножества в одном из этих подмножеств окажутся две смежных вершины.

Прикладное значение понятия двудольного графа связано с тем, что с помощью таких графов моделируются отношения между объектами двух типов, а такие отношения часто встречаются на практике (например, отношение «продукт x используется в производстве изделия y» между исходными продуктами и готовыми изделиями или «работник x владеет профессией y» между работниками и профессиями). В математике такие отношения тоже нередки, один из наиболее распространенных их видов – отношения инцидентности. Пусть A – множество, а B – семейство его подмножеств. Элемент x A и множество X B инцидентны друг другу, если x X. Отношение инцидентности можно описать с помощью двудольного графа G, в котором VG = A B, EG = {(x, X)| x A, X B, x X}. На рис. 1.26 показан граф отношения инцидентности для A = {a, b, c}, B = = {B1, B2, B3, B4}, где B1 = {a}, B2 = {a, b, c}, B3 = {b, c}, B4 = .

a b c

B1

B2

B3

B4

Рис. 1.26

Вообще говоря, разбиение множества вершин двудольного графа на доли можно осуществить не единственным способом. Так, в графе из только что приведенного примера можно взять в качестве долей множества {a, b, c, B4} и {B1, B2, B3}. В то же время в самом определении этого графа уже заложено «естественное» разбиение на доли A и B. Двудольные графы, возникающие в приложениях, нередко бывают заданы именно так

– с множеством вершин, изначально состоящим из двух частей, и с множеством ребер, каждое из которых соединяет вершины из разных частей.

Если разбиение на доли не задано, то может возникнуть вопрос, существует ли оно вообще, то есть является ли данный граф двудольным? Если в графе n вершин, то имеется 2n–1 разбиений множества вершин на два подмножества и непосредственная проверка всех этих разбиений будет очень трудоемким делом. Следующая теорема дает критерий двудольно-

32

сти, а из ее доказательства можно извлечь и эффективный алгоритм проверки двудольности.

Теорема 1.14. Следующие утверждения для графа G равносильны:

(1)G – двудольный граф;

(2)в G нет циклов нечетной длины;

(3)в G нет простых циклов нечетной длины.

Доказательство. Докажем, что из (1) следует (2). Пусть G – двудольный граф, в котором выбрано некоторое разбиение на доли, С = x1, x2, …, xk, x1 – цикл длины k в графе G. При любом i = 1, …, k – 1 вершины xi и xi+1 смежны и, следовательно, принадлежат разным долям. Таким образом, одна доля состоит из всех вершин с нечетными индексами, то есть x1, x3, …, другая – из всех вершин с четными индексами. Но вершины xk и x1 тоже смежны и должны принадлежать разным долям. Следовательно, k – четное число.

Очевидно, что из (2) следует (3); остается доказать, что из (3) следует

(1). Рассмотрим граф G, в котором нет простых циклов нечетной длины. Ясно, что граф, в котором каждая компонента связности – двудольный граф, сам двудольный. Поэтому можно считать, что граф G связен. Зафиксируем в нем некоторую вершину a и докажем, что для любых двух смежных между собой вершин x и y имеет место равенство

|d(a, x) – d(a, y)| = 1.

Действительно, допустим сначала, что d(a, x) = d(a, y) = t. Пусть x1, x2, …, xt – кратчайший путь из a в x, y1, y2, …, yt – кратчайший путь из a в y. Эти пути начинаются в одной вершине: x1 = y1 = a, а оканчиваются в разных:

xt = x, yt = y. Поэтому найдется такое k, что xk = yk и xi yi при всех i > k. Но тогда последовательность xk, xk+1, …, xt, yt, …, yk+1, yk является про-

стым циклом длины 2(t k) + 1. Следовательно, d(a, x) d(a, y). Предположим, что d(a, x) < d(a, y). Если x1, x2, …, xt – кратчайший путь из a в x, то, очевидно, x1, x2, …, xt, y – кратчайший путь из a в y, следовательно, d(a, y) = d(a, x) + 1. Итак, расстояния от двух смежных вершин до вершины a различаются ровно на единицу. Поэтому, если обозначить через A множество всех вершин графа, расстояние от которых до вершины a четно, а через B множество всех вершин с нечетными расстояниями до a, то для каждого ребра графа один из его концов принадлежит множеству A, другой – множеству B. Следовательно, граф G –двудольный.

Пусть C – цикл в графе G. Множество вершин цикла C порождает в G подграф, который содержит все ребра этого цикла, но может содержать и

33

ребра, ему не принадлежащие. Такие ребра называют хордами цикла C. Простой цикл, не имеющий хорд, – это порожденный простой цикл. В графе, изображенном на рис. 1.27, хордами цикла 4, 1, 2, 6, 5, 4 являются ребра (1, 5), (1, 6) и (2, 5), а цикл 2, 3, 7, 6, 2 – порожденный простой цикл.

1

2

3

 

 

x

4

 

 

C

C1

C2

5

6

7

 

 

y

 

Рис. 1.27

 

 

Рис. 1.28

Заметим, что любой цикл длины 3 является порожденным простым циклом.

Пусть C – простой цикл длины k в некотором графе, (x, y) – хорда этого цикла. Ребро (x, y) вместе с ребрами цикла C образует два цикла меньшей длины, C1 и C2 (см. рис. 1.28), сумма длин которых равна k + 2.

Значит, если C – цикл нечетной длины, то один из циклов C1, C2 тоже имеет нечетную длину. Отсюда следует, что в графе, в котором есть цикл нечетной длины, имеется и порожденный простой цикл нечетной длины. Поэтому критерий двудольности справедлив и в следующей формулировке.

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

1.8. Планарные графы

Геометрический граф – это плоская фигура, состоящая из вершин – точек плоскости и ребер – линий, соединяющих некоторые пары вершин. Всякий граф можно многими способами представить геометрическим графом, и мы уже не раз пользовались этой возможностью. На рис. 1.29 показаны два геометрических графа Г1 и Г2, представляющих, как нетрудно проверить, один и тот же обыкновенный граф. Простое устройство этого графа, очевидное на левом изображении, не так легко обнаружить, рассматривая правое. Главная причина этого – в том, что в Г1 ребра не имеют «лишних» пересечений.

Геометрический граф, в котором никакие два ребра не имеют общих точек, кроме инцидентной им обоим вершины, называют плоским графом,

34

а по отношению к представляемому им обыкновенному графу – его плоской укладкой. Не каждый граф допускает плоскую укладку. Граф, для которого существует плоская укладка, называется планарным графом. Кроме удобства визуального анализа, есть немало поводов, в том числе и сугубо практических, для интереса к планарным графам и их плоским укладкам.

1

2

1

7

3

4

5

6

5

6

4

3

7

8

8

2

 

Г1

 

Г2

 

 

Рис. 1.29

 

Если плоскость разрезать по ребрам плоского графа, она распадется на связные части, которые называют гранями. Всегда имеется одна неограниченная внешняя грань, все остальные грани называются внутренними. Если в плоском графе нет циклов, то у него имеется только одна грань. Если же циклы есть, то граница каждой грани содержит цикл, но не обязательно является циклом. На рис. 1.30 показан плоский граф с пятью пронумерованными гранями. Граница грани с номером 3 состоит из двух циклов, а граница грани с номером 2 кроме цикла длины 5 включает еще дерево из трех ребер. Множества ребер, образующие границы граней, могут быть разными для разных плоских укладок одного и того же графа. На рис. 1.31 показаны две плоские укладки одного графа. В левой укладке есть две грани, границы которых являются простыми циклами длины 5. В правой укладке таких граней нет, но есть грани, ограниченные циклами длины 4 и 6. Однако число граней, как показывает следующая теорема, не зависит от укладки, то есть является инвариантом планарного графа.

1

 

2

 

 

5

3

4

 

 

Рис. 1.30

Рис. 1.31

35

Теорема 1.15 (формула Эйлера). Количество граней в любой плоской укладке планарного графа, имеющего n вершин, m ребер и k компонент связности, равно m n + k + 1.

Доказательство. Докажем сначала утверждение теоремы при k = 1. Рассмотрим связный плоский граф G . Если в нем нет циклов, то имеется единственная грань, а m = n – 1, и формула верна. Если же есть хотя бы один цикл, то возьмем какое-нибудь ребро e, принадлежащее простому циклу C. Это ребро принадлежит границе двух граней, одна из которых целиком лежит внутри цикла C, другая – снаружи. Если удалить ребро e из графа, эти две грани сольются в одну. Граф G1, полученный из графа G удалением ребра e, очевидно, будет плоским и связным, в нем на одно ребро и на одну грань меньше, чем в G, а число вершин осталось прежним. Если в G1 еще есть циклы, то, удалив еще одно цикловое ребро, получим граф G2. Будем продолжать удаление цикловых ребер до тех пор, пока не получится связный плоский граф Gr без циклов, то есть дерево. У него n – 1 ребро и единственная грань. Значит, всего было удалено r = = m n + 1 ребер, а так как при удалении каждого ребра число граней уменьшалось на единицу, то в исходном графе было m n + 2 грани. Таким образом, формула верна для любого связного плоского графа. Если граф несвязен, то в компоненте связности, имеющей ni вершин и mi ребер, как доказано выше, будет mi ni + 1 внутренняя грань. Суммируя по всем компонентам и прибавляя 1 для учета внешней грани, убеждаемся в справедливости формулы в общем случае.

Следствие 1. Если в планарном графе n вершин, n 3, и m ребер, то m 3(n – 2).

Доказательство. Если в графе нет циклов, то m = n k и неравенство выполняется при n 3. Рассмотрим плоский граф G с r гранями, в котором имеются циклы. Пронумеруем грани числами от 1 до r и обозначим через ai количество ребер, принадлежащих грани с номером i. Так как граница каждой грани содержит цикл, то ai 3 для каждого i, следова-

r

тельно, ai 3r . С другой стороны, каждое ребро принадлежит границе

i=1

r

не более чем двух граней, поэтому ai 2m . Из этих двух неравенств

i=1

следует, что 3r 2m. Применяя формулу Эйлера, получаем m 3n – 3k

–3 3n – 6 .

Следствие 1 дает необходимое условие планарности, которое в неко-

36

торых случаях позволяет установить, что граф не является планарным. Рассмотрим, например, полный граф K5. У него n = 5, m = 10 и мы видим, что неравенство из следствия 1 не выполняется. Значит, этот граф непланарен. В то же время существуют графы, не являющиеся планарными, для которых неравенство следствия 1 выполняется. Пример – полный двудольный граф K3,3. У него 6 вершин и 9 ребер. Неравенство выполняется, но мы сейчас установим, что он непланарен. Заметим, что в этом графе нет циклов длины 3 (так как он двудольный, в нем вообще нет циклов нечетной длины). Поэтому граница каждой грани содержит не менее четырех ребер. Повторяя рассуждения из доказательства следствия 1, но используя неравенство ai 4 вместо ai 3, получаем следующий результат.

Следствие 2. Если в планарном графе n вершин, n 3, m ребер и нет циклов длины 3, то m 2(n – 2).

Для графа K3,3 неравенство следствия 2 не выполняется, это доказывает, что он непланарен.

Известно несколько критериев планарности, сформулируем без доказательства два из них. Два графа называют гомеоморфными, если из них с помощью подразбиения ребер можно получить изоморфные графы. На рис. 1.32 изображены гомеоморфные графы.

Рис. 1.32

Сформулируем без доказательства два критерия планарности.

Теорема 1.16 (критерий Понтрягина – Куратовского). Граф плана-

рен тогда и только тогда, когда у него нет подграфов, гомеоморфных K5

или K3,3.

Граф G называется стягиваемым к графу H, если H можно получить из G последовательностью операций стягивания ребер.

Теорема 1.17 (критерий Вагнера). Граф планарен тогда и только тогда, когда у него нет подграфов, стягиваемых к K5 или K3,3.

Отметим, что, несмотря на внешнее сходство двух теорем, фигурирующие в них понятия гомеоморфизма и стягиваемости существенно различны. Так, граф Петерсена стягивается к графу K5, но в нем нет подграфа, гомеоморфного K5 (см. задачу 11).

37

Задачи

1.Определите число неориентированных графов с n вершинами, в которых нет кратных ребер, но могут быть петли.

2.Определите число ориентированных графов с n вершинами без петель, в которых каждая пара различных вершин соединена

а) не более чем одним ребром; б) точно одним ребром.

3.Для любого натурального числа k определим граф Qk следующим

образом. Вершинами его являются всевозможные упорядоченные двоичные наборы длины k. Всего, таким образом, в этом графе 2k вершин. Вершины x = (x1, …, xk) и y = (y1, …, yk) смежны в нем тогда и только тогда,

когда наборы x и y различаются точно в одной координате. Этот граф называется k-мерным кубом. Определите число ребер в графе Qk.

4. Граф перестановок порядка k строится следующим образом. Его вершины соответствуют всевозможным перестановкам элементов 1, 2, ..., k. В этом графе, следовательно, k! вершин. Две вершины смежны тогда и только тогда, когда одна из соответствующих перестановок может быть получена из другой одной транспозицией (перестановкой двух элементов). При k = 3 этот граф показан на рис. 1.33. Определите число ребер в графе перестановок порядка k.

 

1,2,3

1,3,2

2,1,3

2,3,1

3,1,2

 

3,2,1

 

Рис. 1.33

5.Перечислите все попарно неизоморфные графы а) с 4 вершинами; б) с 6 вершинами и 3 ребрами;

в) с 6 вершинами и 13 ребрами.

6.Найдите все (с точностью до изоморфизма) графы с 6 вершинами, у которых степень каждой вершины равна 3.

7.Выясните, при каких значениях n существуют регулярные графы степени а) 3; б) 4 с n вершинами.

38

8.Сколько имеется различных изоморфизмов G1 в G2 для графов, изображенных на рис. 1.8?

9.Граф, изоморфный своему дополнению, называется самодополнительным.

а) Докажите, что граф C5 – самодополнительный.

б) Найдите самодополнительный граф с наименьшим числом вершин n > 1.

в) Существуют ли самодополнительные графы с 6 вершинами?

10. Выясните, какие из графов, изображенных на рис. 1.34, изоморфны друг другу.

G1

G2

G3

G4

G5

Рис. 1.34

11. На рис. 1.35 изображен граф Петерсена. Выясните, можно ли из него получить граф K5 с помощью операций

а) удаления вершин и ребер и подразбиения ребер; б) стягивания ребер.

Рис. 1.35

12.Проверьте, что каждый граф с 3 вершинами является либо суммой, либо соединением меньших графов. Верно ли это для графов с 4 вершинами?

13.В графе G1 имеется n1 вершин и m1 ребер, а в графе G2 n2 вершин

иm2 ребер. Сколько ребер будет в графе G1 ° G2? В графе G1 × G2?

14.Верен ли для произвольных графов G1, G2, G3 «дистрибутивный закон» (G1 + G2) ° G3 = (G1 ° G3) + (G2 ° G3)?

39

15.Найдите радиус и диаметр каждого из графов Cn, Qk, Kp,q, Wn.

16.Сколько имеется в графе Qn путей длины n, соединяющих верши-

ну (0, 0, ..., 0) с вершиной (1, 1, ..., 1)?

17.Какое наибольшее число шарниров может быть в графе с n верши-

нами?

18.Докажите, что для любого графа G справедливы неравенства

rad(G) diam(G) 2rad(G).

19.Перечислите все (с точностью до изоморфизма) деревья с числом вершин, не превосходящим 6.

20.Пусть в дереве с n вершинами каждая вершина, не являющаяся листом, имеет степень k. Сколько в нем листьев?

21.Сколько ребер в лесе с n вершинами и k компонентами связности?

22.Какой может быть наименьшая высота корневого дерева, у которого каждая вершина имеет не более двух сыновей, если

а) дерево имеет n листьев? б) дерево имеет n вершин?

23.Выясните, какие из следующих утверждений верны для любого графа G и любого его ребра e:

а) в G существует каркас, содержащий e; б) в G существует каркас, не содержащий e;

в) если e – не перешеек, то в G существует каркас, не содержащий e.

24.Каждое дерево с множеством вершин {1, 2, …, n} является карка-

сом полного графа Kn. Применяя теорему Кирхгофа, найдите число различных деревьев с n вершинами.

25.При каких n существует эйлеров цикл в графе Qn?

26.Докажите, что если в связном графе имеется ровно 2k вершин с нечетными степенями, то множество его ребер можно разбить на k путей.

27.

Верно ли, что для любых двудольных графов G1 и G2 граф

а) G1 G2, б) G1 G2, в) G1 × G2 будет двудольным?

26.

Докажите, что граф Qk при любом k является двудольным.

28.

Выясните, какие из графов, изображенных на рис. 1.36 , планарны.

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.36

40