Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сборник задач по дискретной математике. Учебное пособие
.pdf
5.4. Остовы. Фундаментальные циклы. Фундаментальные разрезы 91
5.3.3. Построить матрицу смежности, матрицы маршрутов длины 2,
3, 4, матрицу компонент сильной связности:
a)
1
2
г)
1
2
r
r
f
r
H
H
6
r
f
H
H
H
H
f
3
r
@
@
@I
?
r
4 5
f
3
-
r
H
H
H
H
H
H
-
r
4
H
H
@
H
H
@
H
H
@
-@
Hj
H
H
r
r
5
б)
1
r
6
r
2
д)
1
r
H
HY
H
@
@
H
H
H
@
@
@
@
?
r
f f
2
H
@
@
-
H
@R
-
H
@
@
H
H
3
r
@
6
@
@
@
@R
@
@
H
H
@
@
H
H
@
@
H
@
@R
H
@
r
f
4 5
f
3
r
@
@
H
H
r
4
@
@
HH
в)
f
1
r
6
@
@
r
r
f
2
r
@
@
@
?
@
-
@
r
4 5
3
@
@
@
@R
@
@-
r
f
е)
@
H
H
@
@
H
H
r
@
H
H
?
r
4
3
@I
@
@
H
H
@
@
H
H
@
@
H
H
@
@@
H
H
r
5
1
r
H
H
HY
@
H
H
6
H
H
@
@
r
5
r
f f
2
5.4 Остовы. Фундаментальные циклы. Фундаментальные
разрезы
Пример 5.13 (Деревья и леса). На следующем рисунке граф T1—
дерево, а граф T2не является деревом, но является лесом с двумя компонентами связности.
r r r
r r r r
Q
Q
Q
Q
Q
Q
T
r r
1
r r
Z
Z
Z
rr r r
Z
Z
Z
r r
T
Z
Z
J
J
J
Z
Z
J
Z
Z
2
Пример 5.14 (Остовы). На рисунке ниже изображен граф G, в кото-
ром выделены два различных остова.
r
@
r
@
@
@
@
@
@
r
r
@
@
@
@
r
@
@
@
@
r
@ r
r
@
@
@
@
@
@
@
r
@
@
@
@
@
@
@
r
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
r
r
Пример 5.15. Найти матрицу фундаментальных циклов графа G от-
носительно остова, состоящего из ребер
[v1, v4], [v2, v4], [v3, v4], [v3, v5], [v3, v6]

92 Глава 5. Теория графов
(см. рис. ниже).
v
1
r
@
f
2
@
@
@
@
f
f
5
r
v
4
v
2
r
@
f
6
f
@
@
@
r
v
1
5
f
7
@
@
@
f
8
@
3
@
f
v
3
r
f
9
@
4
@
r
v
6
Доказательство. Пронумеруем вершины и ребра, как показано на рисунке выше, тогда остов состоит из ребер f5, f6, f7, f8, f9. При добавлении ребра f1в полученном графе образуется цикл C1, состоящий из ребер f1, f7, f8. Таким образом, получаем вектор
a1=
(1, 0, 0, 0, 0, 0, 1, 1, 0). Аналогично при добавлении ребра f2получа-
a
ем цикл, состоящий из ребер f2, f5, f7, f8, следовательно,
=
2
(0, 1, 0, 0, 1, 0, 1, 1, 0). Точно так же при добавлении ребра f3получаем
цикл C3, состоящий из ребер f3, f6, f7, f8, и a3= (0, 0, 1, 0, 0, 1, 1, 1, 0)
и для f4получаем C4состоит из ребер f4, f6, f7, f9, то есть a4=
(0, 0, 0, 1, 0, 1, 1, 0, 1). В итоге получаем матрицу фундаментальных циклов:
1 0 0 0 0 0 1 1 0
0 1 0 0 1 0 1 1 0
0 0 1 0 0 1 1 1 0
.
0 0 0 1 0 1 1 0 1
Пример 5.16. Множество ребер K = {[v1, v2], [v2, v3], [v3, v4]} является
разрезом графа G, но этот разрез не является простым.
v
2
r r
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
r r
v
1
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
v
4
r
v
3
v
5
G
Действительно, очевидно, что K является разрезом по разбиению V =
{v1, v3, v5}, {v2, v4}. Однако, множество K0= {[v1, v2]}, являющееся
подмножеством множества K, является разрезом по разбиению V0=
{v1}, {v2, v3, v4, v5}.

5.4. Остовы. Фундаментальные циклы. Фундаментальные разрезы 93
Пример 5.17. Найти матрицу фундаментальных разрезов графа G из
примера 5.15 по тому же остову, что и в этом примере.
Решение. Будем пользоваться той же нумерацией ребер, что и в примере 5.15. Удаление ребра f5дает следующее разбиение вершин:
V5={v1}, {v2, v3, v4, v5, v6}, следовательно, K5= {f2, f4}, значит,
b5= (0, 1, 0, 0, 1, 0, 0, 0, 0). Удаление ребра f6порождает разбиение
V6={v2}, {v1, v3, v4, v5, v6}, получаем K6= {f3, f4, f6}, следовательно
b6= (0, 0, 1, 1, 0, 1, 0, 0, 0). Далее полностью аналогично. Уда-
ление ребра f7дает разбиение V7={v1, v2, v4}, {v3, v5, v6}, получаем
K7= {f1, f2, f3, f4, f7} и b7= (1, 1, 1, 1, 0, 0, 1, 0, 0). При удалении ребра f8имеем V8={v5}, {v1, v2, v3, v4, v6}, в итоге K8= {f1, f2, f3, f8},
следовательно,
b8= (1, 1, 1, 0, 0, 0, 0, 1, 0). Наконец, удаляя ребро f9, по-
лучаем V9={v6}, {v1, v2, v3, v4, v5}, следовательно, K9= {f4, f9} и
b9= (0, 0, 0, 1, 0, 0, 0, 0, 1). Записывая векторы один под другим, получаем матрицу фундаментальных разрезов
0 1 0 0 1 0 0 0 0
0 0 1 1 0 1 0 0 0
1 1 1 1 0 0 1 0 0
1 1 1 0 0 0 0 1 0
.
0 0 0 1 0 0 0 0 1
5.4. Задачи
5.4.1. Найти матрицы фундаментальных циклов для следующих гра-
фов:
а)
2
1
г)
q
B
B
B
q
q
2
H
q
1
3 4
q
@
@
@
@
q
q
A
q
H
A
A
H
A
H
A
A
B
B
B
3 4
H
H
A
A
q
@
q
q
@
q
78
@
78
@
@
H
@
H
q
5
q
6
q
5
q
6
б)
2
1
д)
q
q
q
2
H
q
1
P
@
@
3 4
q
q
3 4
H
P
q
P
A
H
P
q
P
P
P
A
A
H
A
H
A
A
P
A
P
A
P
H
q
@
q
q
B
q
78
78
B
@
P
B
H
P
B
H
3 4
в)
q
A
q
5
q
6
q
5
B
B
q
6
2
1
е)
q
q
@
@
q
2
H
B
B
B
q
1
P
@
@
A
q
3 4
q
@
H
H
B
P
P
B
B
q
q
B
q
5
B
@
H
P
B
B
B
B
q
A
A
@
H
q
q
@
q
6
78
@
q
5
@
H
@
H
q
6
78
A
P
A
A
A
@
H
P
5.4.2. Найти матрицы фундаментальных разрезов для следующих графов:

94 Глава 5. Теория графов
г)
2
1
а)
q
q
@
q
A
A
@
2 3
q q
A
A
A
q q
3 4
q
@
A
A
q
A
@
A
A
A
A
A
A
A
q
@
@
@
A
A
A
A
A
q
@
78
A
A
A
A
q1
4
56
@
q
5
@
q
6
б)
2
1
д)
2
1
q
H
q
P
@
q
q
@
@
@
H
P
3 4
q
H
H
H
H
P
P
P
P
q
3 4
q
@
@
@
@
q
q
@
q
q
@
B
q
78
B
78
H
B
@
@
H
@
@
3 4
в)
q
A
е)
q
2
q
1
@
@
q
2
B
B
B
q
1
B
@
@
q
3 4
q
B
B
q
q
5
q
6
q
5
B
B
B
q
6
q
@
@
q
A
A
A
A
A
5
q
6
A
A
q
78
q
@
@
q
5
q
6
q
78
5.5 Расстояния в графах. Эйлеровы графы.
Планарные графы
Пример 5.18. Найти эксцентриситеты всех вершин графа G из при-
мера 5.15, а также его радиус и диаметр.
Решение. Для каждой вершины viи каждого j > 1 найдем множество
вершин, расстояния от которых до viравно j (обозначим такое множество Dj(vi). Имеем
D1(v1) = {v4, v5}; D2(v1) = {v2, v3}; D3(v1) = {v6};
D1(v2) = {v4, v5, v6}; D2(v2) = {v1, v3};
D1(v3) = {v4, v5, v6}; D2(v3) = {v1, v2};
D1(v4) = {v1, v2, v3, v5}; D2(v4) = {v6};
D1(v5) = {v1, v2, v3, v4}; D2(v4) = {v6};
D1(v6) = {v2, v3}; D2(v6) = {v4, v5}; D3(v6) = {v1}.
Отсюда получаем
e(v1) = e(v6) = 3, e(v2) = e(v3) = e(v4) = e(v5) = 2.
Следовательно, r(G) = 2 и центр графа G состоит из вершин
v2, v3, v4, v5, а d(G) = 3 и, соответственно, периферийными являются
вершины v1и v6.
Эйлеровы графы
Пример 5.19. Найти минимальное множество покрывающих цепей
графа G, изображенного ниже:

5.5. Расстояния в графах. Эйлеровы графы. Планарные графы 95
v
q
3
A
v
v
A
2
q
B
q
1
@
A
A
B
B
B
@
B
@
A
B
B
B
q
v
8
v
q
4
@
@
@
q
v
7
5
q
v
6
A
A
A
A
A
q
v
Решение. В графе G четыре вершины, степени которых нечетны: v4, v5,
v6и v7. Соответственно, граф G0получается из графа G добавлением
вершины v0и ребер [v0, v4], [v0, v5], [v0, v6], [v0, v7].
v
3
q
A
v
2
q
B
B
q
v
1
@
A
A
B
B
B
@
A
A
A
A
B
@
v
B
BB
q
8
B
v
4
q
Q
@
Q
@
Q
q
Q
@
q
Q
H
H
Q
v
5
H
Q
H
Q
H
H
Q
q
v
0
v
6
q
v
7
A
A
A
A
A
Для упрощения записи при обозначении цепей мы будем выписывать
только вершины, через которые они проходят, а ребра будем пропускать. Итак, начнем с вершины v0. Пройдя по циклу v0, v4, v5, v0, v6, v7, v0,
оказываемся в вершине v0, причем все ребра, идущие из этой вершины,
уже использованы.
Так как цикл включает в себя не все ребра графа G0, выберем одну из вершин этого цикла, инцидентную хотя бы одному из еще не
выбранных ребер. Допустим выбрана вершина v4, строим цикл, начиная с этой вершины. Получаем v4, v7, v3, v8, v4. Все ребра, инцидентные вершине v4, уже выбраны, значит, дальше мы не можем двигаться.
Подставив второй цикл вместо вершины v4в первом цикле, получаем
v0, v4, v7, v3, v8, v4, v5, v0, v6, v7, v0.
Полученный цикл опять содержит не все ребра графа G0. Выберем
одну из вершин полученного ранее цикла цикла, например, вершину v
и строим очередной цикл: v3, v2, v1, v8, v2, v5, v6, v4, v3. Подставив полученный цикл вместо вершины v3в цикл, построенный ранее, получаем
3
v0, v4, v7, v3, v2, v1, v8, v2, v5, v6, v4, v3, v8, v4, v5, v0, v6, v7, v0.
Этот цикл содержит все ребра графа, значит, это и есть эйлеров цикл

96 Глава 5. Теория графов
графа G0. Вхождения вершины v0делят этот цикл на две цепи:
v4, v7, v3, v2, v1, v8, v2, v5, v6, v4, v3, v8, v4, v5и v6, v7.
Эти цепи и образуют минимальное множество покрывающих цепей графа G.
Планарные графы
Пример 5.20. Являются ли планарными следующие графы?
v
3
q
@
B
@
@
B
v
@
@
@
@
@
@
B
BB
q
8
G
B
B
v
2
q
B
@
B
B
q
v
1
v
4
q
@
@
@
@
@
1
@
@
@
q
@
q
v
5
@
v
6
@
q
v
7
v
3
q
v
2
q
q
v
1
@
@
@
q
v
8
G
v
4
q
@
@
@
q
v
7
5
v
6
q
q
v
2
Решение. В графе G1осуществим стягивание ребра [v4, v5] (петли, полученные в результате стягивания, изображать не будем, так как, очевидно, наличие или отсутствие петли не влияет на планарность графа).
Итак, получили граф G
0
:
1
v
3
q
@
v
2
q
B
@
B
@
B
B
q
v
1
@
@
B
B
B
v
@
@
@
G
@
@
@
@
0
1
@
@
@
B
BB
q
8
@
q
q
v4, v
@
@
v
7
5
v
6
q
Теперь осуществим стягивание ребра [v6, v7] в графе G
00
G
:
1
0
. Получим граф
1

5.5. Расстояния в графах. Эйлеровы графы. Планарные графы 97
v
q
3
@
@
v
2
q
H
B
H
B
B
B
B
q
v
1
@
H
B
B
B
B
q
v
8
H
H
H
G
@
H
00
1
@
H
@
H
@
H
@
@
H
q
v4, v
v6, v
q
5
7
Легко видеть, что граф G
00
изоморфен графу K
1
, а значит, G1не яв-
3,3
ляется планарным.
Граф G2является планарным, так как его можно изобразить следу-
ющим образом:
v
q
3
q
v
2
v
1
q
@
@
@
q
v
8
G
2
q
@
q
v
4
@
@
q
v
5
v
6
q
v
7
5.5. Задачи
5.5.1. Доказать свойство 4 функции ρ(v, u).
5.5.2. Доказать, что для любого связного неориентированного графа
G выполняются неравенства r(G) 6 d(G) 6 2r(G).
5.5.3. Найти эксцентриситеты всех вершин графов из задачи 5.4.1,
их радиусы, диаметры. Являются ли графы эйлеровыми? Найти их
минимальное множество покрывающих цепей.
5.5.4. Каково минимальное количество кривых, которое необходимо
провести, чтобы каждый отрезок фигуры пересекался только с одной
из кривых ровно один раз?
а)
q q q
q q q q q
q q q q
б)
q q q
q q q q q
q q q q q
q q q

98 Глава 5. Теория графов
5.5.5. Учреждение имеет вид квадрата, разделенного на 64 квадрат-
ные комнаты (8 рядов по 8 комнат). В каждой стене каждой комнаты
(в том числе и в стенах, выходящих на улицу) есть дверь. Требуется
установить замки на все двери. Слесарь начинает работу в произвольной комнате. Попав в комнату, он выбирает произвольную дверь в этой
комнате, устанавливает замок в ней, после чего переходит в соседнюю
комнату через эту дверь и захлопывает её за собой. Затем эта дверь
подключается к системе сигнализации и не может быть открыта до тех
пор, пока все замки не будут установлены.
а) Найти минимальное количество слесарей, необходимое для того, чтобы установить замки на всех дверях.
б) Тот же вопрос, при дополнительном условии: каждый слесарь, окончив свою работу, должен оказаться на улице.
в) Тот же вопрос, если слесари во время работы устанавливают только
двери, соединяющие комнаты и не могут выходить на улицу, пока не
выполнят свою часть работы.
5.5.6. Являются ли планарными графы из задачи 5.4.2?
5.5.7. При каких n граф Knпланарен?
5.6 Взвешенные графы
Остов минимального веса
Пример 5.21. Найти остов минимального веса для взвешенного графа,
заданного матрицей расстояний W :
0 7 14 ∞ 9 13 ∞ 10
W =
7 0 ∞ 9 12 ∞ ∞ ∞
14 ∞ 0 15 ∞ 14 17 16
∞ 9 15 0 7 ∞ ∞ 6
9 12 ∞ 7 0 ∞ 13 ∞
13 ∞ 14 ∞ ∞ 0 10 14
∞ ∞ 17 ∞ 13 10 0 ∞
.
10 ∞ 16 6 ∞ 14 ∞ 0
Решение. Обозначим вершины графа v1, v2, v3, v4, v5, v6, v7, v8. Для на-
хождения остова минимального веса используется жадный алгоритм.
Выбираем ребро минимального веса. Это ребро v4v8, вес которого
равен 6. Далее по очереди (в любом порядке) рассматриваем ребра веса

5.6. Взвешенные графы 99
7, то есть ребра v1v2и v4v5. Оба эти ребра включаются в остов.
Продолжаем выбирать ребра минимального веса из оставшихся. Следующее ребро v2v4веса 9 тоже включается в остов. Также вес 9 имеет
ребро v1v5, однако если выбрать это ребро, то возникнет цикл v5v1v2v4.
Поэтому ребро v1v5не включается в остов.
Переходим к рассмотрению ребер веса 10. Ребро v1v8также нельзя
включить в остов, так как в противном случае это ребро вместе с ранее
выбранными образует цикл v8v1v2v4. Ребро v6v7включается в остов,
так как оно не образует циклов с ранее выбранными ребрами.
Далее рассматриваем ребро v2v5веса 12. Это ребро также нельзя
включить в остов, так как вместе с уже включенными ребрами оно
образует цикл v2v4v5.
Далее выбираем ребро v1v6, вес которого равен 13, оно включается в
остов. Есть еще одно ребро веса 13. Это ребро v5v7, однако его нельзя
включить в остов, так как с ранее выбранными ребрами оно образует
цикл v5v7v6v1v2v4.
Наконец, рассмотрим ребра веса 14. Ребро v6v8не может быть включено в остов, так как вместе с ранее выбранными ребрами оно образует
цикл v6v8v4v2v1. Ребро v1v3можно включить в остов.
Выбранные 7 ребер не образуют циклов, поэтому они образуют дерево, которое является деревом исходного графа.
v
3
q
v
2
q
q
v
1
v
8
q
v
4
q
@
@
q
@
q
v
5
q
v
6
v
7
Вес полученного остова равен 6 + 7 + 7 + 9 + 10 + 13 + 14 = 66.
Отметим, что остов минимального веса в общем случае определяется
не однозначно и зависит от того, в каком порядке рассматриваются
ребра одного и того же веса. Например, можно было вместо ребра v2v
выбрать ребро v1v5(оба ребра веса 9, поэтому будет выбрано то из них,
которое рассматривалось раньше) или вместо ребра v1v3выбрать ребро
v3v6(оба ребра веса 14). Однако все остовы, полученные посредством
этого алгоритма, имеют одинаковый (минимальный) вес.
4

100 Глава 5. Теория графов
Нахождение кратчайших расстояний во взвешенных графах
Пример 5.22. Взвешенный граф с вершинами v1, v2, v3, v4, v5, v6задан
матрицей расстояний W. С помощью алгоритма Форда — Беллмана
найти кратчайшие расстояния от вершины v2до остальных вершин
этого графа.
0 ∞ 12 7 ∞ 3
W =
∞ 0 14 19 ∞ 6
12 14 0 ∞ 13 4
7 19 ∞ 0 13 11
∞ ∞ 13 13 0 7
.
3 6 4 11 7 0
Решение. Будем одновременно искать расстояния от вершины v2до
всех остальных вершин, получаемые в процессе применения алгоритма
результаты будем записывать в виде строки. Суть алгоритма состоит в
улучшении результатов (уменьшении расстояний) на каждом шаге. В
качестве первого “приближения” выпишем строку из элементов второй
строки матрицы весов (кроме нуля, находящегося на второй позиции
указанной строки), то есть из элементов w21, w23, w24, w25, w26. Таким
образом получаем строку
(1)
D
= (∞, 14, 19, ∞, 6).
В дальнейшем полагаем D
(k+1)
d
i
= min(d
(k)
i
, d
(k)
j
+ wji)
(k+1)
j6=2,i
= (d
.
(k+1)
1
, d
(k+1)
3
, d
(k+1)
4
, d
(k+1)
5
, d
(k+1)
6
), где
Итак,
(2)
d
=min(∞, 14+12, 19+7, ∞+∞, 6+3) = min(∞, 26, 26, ∞, 9) =9;
1
(2)
d
=min(14, ∞+12, 19+∞, ∞+13, 6+4) = min(14, ∞, ∞, ∞, 12) =10;
3
(2)
d
=min(19, ∞+7, 14+∞, ∞+13, 6+11) = min(19, ∞, ∞, ∞, 17) =17;
4
(2)
d
=min(∞, ∞+∞, 14+13, 19+13, 6+7) = min(∞, ∞, 27, 32, 15) =13;
5
(2)
d
=min(6, ∞+3, 14+4, 19+11, ∞+7) =min(6, ∞, 18, 30, ∞) =6.
6
Таким образом,
(2)
D
= (9, 10, 17, 13, 6).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
