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

Элементы дискретной математики. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
5. Теория графов
Ы
"О
�
ЮО�
()
"ОvV
Эйлеровы пути
Задача о Кёнигсбергских мостах:
C
А B
D
Можно ли так прогуляться по городу, чтобы пройти по каждому мосту ровно 1 раз?
Пройти = перейти с берега на берег. Поставим в соответствие изображен­ной выше карте граф, вершины которого — участки суши, а ребрами будут мосты. Полученный таким образом граф является мультиграфом:
C
А
D
B
Существует ли маршрут для прогулки, который проходит — содержит, по каждому мосту ровно 1 раз? (эквивалентно: существует ли в графе цепь, проходящая через все ребра?)
Данная задача сводится к задаче нарисовать мультиграф одним росчерком.
Эйлерова цепь — это цепь, содержащая все ребра графа.
Эйлеров цикл (ЭЦ) — это есть цикл, содержащий все ребра графа.
Теорема (Эйлера)
Дан граф G без изолированных вершин. Тогда в графе G есть ЭЦ
1) G — связный,
vV v
2)
deg
— четная.
Доказательство
uv V,
есть
Пойдем по ЭЦ,
uv,
— маршрут по ЭЦ ((1) выполняется).
входим в вершину v столько раз, сколько выхо-
дим. Ю deg v будет четной.
71
Элементы дискретной математики
ЬОvV
() ()
,
пойдем из вершины v
0
, стирая за собой рёбра. Допустим, что
0
пришли в v № v0. Зашли в v на 1 раз больше, чем вышли из v0 Ю стерли нечет­ное число инцидентных вершине v рёбер Ю остались нестертые инцидент­ные v рёбра.
То есть, если процесс блуждания остановился, то мы в v0 (и стерли все инцидентные v0 рёбра). Итак, пройден некоторый цикл P0. Если все рёбра стерты, то цикл P0 эйлеров. Пусть остались нестёртые рёбра. Покажем, что на цикле P0 есть вершина v1, у которой остались нестертые инцидентные рёбра. Воспользуемся методом от противного: пусть остались лишь рёбра, соединяющие вершины вне P0 Ю рёбер между вершинами P0 и вершинами с нестёртыми рёбрами вообще не было (мы их не стирали). Это противоре­чит связности.
Замечание
Заметим, что после стирания P0, у всех вершин по-прежнему чётная сте­пень (стёрли чётное число рёбер у каждой вершины).
Пойдём из вершины v1, стирая за собой рёбра, аналогично 1-му абзацу построим цикл C1.
Пусть
начало конец
Pv vv v
=ѕ ®ѕѕѕ ѕ®ѕѕ ®ѕѕѕ
10 11 0
0
C
1
P
Итак, получен новый цикл из вершины v
P
0
0
— цикл.
длиной > длины P0.
Значит, получили процесс увеличения длины цикла, обрывающийся тогда и только тогда, когда цикл будет Эйлеров. Это и есть процесс построения ЭЦ.
Набор цепей покрывает граф, если каждое ребро графа — это ребро какой­то цепи из набора.
Набор цепей ребер не пересекается, если у цепей нет общих рёбер.
1
3
2
4
{1,2,3,4, 3241} — набор, покрывающий граф.
{123,241} — реберно-непересекающийся набор.
{12,23,34,24,14} — реберно-непересекающийся набор, покрывающий граф.
{214 324} — реберно-непересекающийся набор, покрывающий граф.
Замечание
Эйлерова цепь в одиночку образует реберно-непересекающийся набор, покрывающий граф.
72
5. Теория графов
22
іЮі /:
�
{}
()
()
==,,
��
nk
-+
()
-
()
2
m =Ю0
Ю=Ю-=Јkn nk m0
< m
-Ј
eEО
()
()
\,
ѕ®
()
()
\.
Следствие из Теоремы Эйлера
Граф G — связный с k вершинами нечетной степени. Тогда в минималь­ном (по числу цепей) реберно-непересекающемся наборе, покрывающем граф, будет k/2 цепей.
Доказательство
По Лемме о рукопожатиях k — четно.
Пусть граф покрыт l реберно-непересекающимися цепями.
Рассмотрим вершину нечетной степени. Если концы некоторой цепи не лежат в v, то цепь покрывает четное число инцидентных v ребер. Значит, найдется конец цепи, лежащий в вершине v. Количество концов цепей ≥ ко­личеству вершин нечетной степени, то есть
lk lk
k/2 цепей всег-
да достаточно.
v
1
v
vv v
,,...,
2
v
k
— вершины нечетной степени.
k12
u
u — новая вершина, соединим
� �� �� О
1...
i
и получим связный граф
ucvi k
с четными степенями вершин, по теореме Эйлера в нем есть ЭЦ.
Удалим все вхождения u и все ребра с u, цикл развалится на k/2 частей — цепей, они реберно-непересекающиеся (по определению цикла) и покры­вают граф (по определению ЭЦ и по построению графа).
Теорема об оценке числа ребер
GVE=
Тогда
,
— граф,
nk mC
-Ј Ј=
VnEmk
2
nk
-+1
nk
�
�
— компонента.
1
.
Доказательство
1) Проведем индукцию по числу ребер:
База индукции:
каждая вершина — компонента
.
Шаг индукции:
m>0
для всех графов, в которых
ребер, неравенство
nk m
вы-
полняется.
,
либо e — мост
либо e — не мост
Лемма омосте
ѕ®ѕѕѕѕ
Определениемоста изамечание
ѕѕѕѕѕѕѕѕѕ
=
�kG ekG
+�kG ekG
1
=
73
Элементы дискретной математики
\,
\.
()
()
\,
()
()
()
()
л
()-()
()
()
()
11
kk
12
и
v
k
=+>10
Тогда
mG emG
=
-
1
nG enG
()
По предположению индукции
nG
()
nG kG mG
nG kG mG mG
()-()Ј()
2) Рассмотрим экстремальный пример, то есть граф с n вершинами, k ком-
понентами и наибольшим (для этих n и k) числом ребер.
Покажем, что в экстремальном примере не может быть больше двух ком-
понент. Воспользуемся методом от противного. Пусть есть две компоненты:
цидентные v, соединим v ребрами со всеми вершинами графе столько же вершин и столько же компонент, что и в исходном. Число
ребер увеличилось не менее чем на величину
Получили противоречие с экстремальностью исходного графа. То есть,
экстремальный пример имеет вид
=
()
й
-
к к
kpkqpq
,
+
kG
kG
()
12
mG
Ј
+
Ј
-11,
()
-Ј
1
nG ekGe mG e\\
-
,
.
1==і>,, ,� � � ���
-
— вершина
pq
Ј
. Удалим все ребра, ин-
2
k
. В полученном
1
.
2
mC
nkЈ-+1
74
.
n–k+1 k–1
большая маленькая
Деревья
()=()
()=()
"О$
,!� �
()
"О
{}
П+
{}
,,���
12))®
()
()
()
()
()
\.12
TT
12
Ge\,
1
()+()=()
()<()
()<()
mT nT
1
()=()
-
,,
23))®
\,
\,
\,
()
()
\.
()
=
()
-=
()
-=
()
-
()
-<
()
-
()
Дерево — связный граф без циклов.
Лес — граф без циклов.
Теорема (об эквивалентных определениях дерева)
Для графа G эквивалентны следующие условия:
1) граф G — дерево.
2) G — связный и
mG nG
-1.
5. Теория графов
3) G — без циклов и
uv V
4)
5) G без циклов,
Доказательство
индукция по числу ребер.
База индукции:
mG G
=+0
Шаг индукции:
mG
> 0
eE eОѕ ®ѕѕѕѕѕ
Пусть
то есть
По определению индукции:
mT nT
определениедерева
mT mG
()=()
11
Воспользуемся методом от противного:
простая
uv VuvEGuv,,
связный
(для всех деревьев с меньшим числом ребер уже доказано).
Лемма омосте
и
— компоненты
1
и
1
-
mG nG
mG nG
uv,
— цепь.
Ю
— мост
mT mG
()
1
=nG 1.
2
22
12
-=
-1.
Лемма омосте
ѕ®ѕѕѕѕ
они деревья и
.
-
()
содержит ровно 1 цикл.
=
mT mT mG
12
mG nG
()=()
+=kG ekG
-
.
1
-
,
В графе G есть цикл C, пусть e ребро цикла G. Следовательно, e — не мост.
kG ekG
nG enG
()
mG emG
()
mG emGnGnGe kG enGe kG e\\\\
Это противоречит теореме об оценке числа ребер.
=
=
=
=
()
-11
()
12 1
75
Элементы дискретной математики
34))®
�
12))®
()=()
Ю=
"О
()
()
()
45))®
Gu
{}
,,
{}
()
+
{}
,.
{}
CD
{}
51))®
X1X
2
uXО1,.vXО
Докажем, что граф G связный.
Сначала докажем существование.
TT T
Пусть
но). Тогда
mT nT
11
+
,,...,
его компоненты — деревья (так как
k12
1
-
уже доказа-
mT nT
()=()
22
+
...
+
mT nT
()=()
kk
nG mG n
Граф G будет связным, то есть
нию 1-му про маршруты из него можно выделить простую
Теперь докажем единственность.
Воспользуемся методом от противного: есть 2 разные утверждению 3-му про маршруты их объединение содержит цикл (проти­воречие).
Снова применим метод от противного:
C и D — разные циклы в
1
-=
()
граф G без циклов? Простой цикл образует две разные цепи:
v+
,
uv,
содержатся в С и D.
1
-
1
-
=
GGk
()
содержит цикл,
-
()
� � 1.
k
uv uv
+
Guv
uv V, uv,
— цепь.
— маршрут. По утвержде-
uv,
-цепь.
uv,
-цепи. По
тиворечие).
76
По утверждению 4-му про маршруты
Докажем связность методом от противного.
u v
2
uv \,
содержит цикл (про-
Guv+
{}
{}
{}
{}
Guvu
{}
ѕ®
{}
,,
">vv�deg0
Ю-nl
і 2
22
()
()
=-
ее е
l і 2
GV
()
()
,,
FEН
()=()
і-nk
nk-
mnk-+
()=()+()
,
содержит цикл с ребром
uv,
(так как G без циклов).
5. Теория графов
Но удаление
Лемма омосте
ѕѕѕѕ
речие).
Если в дереве Лист — вершина степени 1 в дереве.
Следствие 1
В каждом дереве (при n>1) не менее двух листьев. Доказательство Пусть l листьев
21
-
== =+ і+ -
Остовной подграф графа
kH kG
Остов (каркас) графа G — есть остовной подграф с минимальным чис-
лом ребер.
Замечание
Каждая компонента остова — дерево. Иначе, удалив ребро в цикле, умень-
шим число ребер, не изменив числа компонент.
Обратно: Если в остовном подграфе каждая компонента — дерево, то уда­ление любого ребра увеличивает число компонент связности, то есть то, что остается, — уже не остовной подграф.
uv,
разделяет компоненты, то есть
v+
,
который не лежит ни в каком цикле (противо-
n>1
, то в нем
имеют степень
degdeg deg
vV vv
О- -
.
лист не лист
E=
,
— это есть граф
.
.
uv,
— мост в графе
2nm vv vl nl n
HVF=
ll �,
,
.
Следствие 2
Остовной подграф, у которого каждая компонента — дерево, является остовом.
Доказательство
Оценим число ребер в остовном подграфе снизу (по Теореме об оценке) оно
Если в остовном подграфе каждая компонента — дерево, то в ней ребер на 1 меньше, чем вершин, то есть во всем графе ребер нию — это остов. Для получения остова из цикла нужно удалить ребер.
Циклический ранг графа — это сумма
g GmGkG
.
.
,
по определе-
77
Элементы дискретной математики
()
GV
()
О
+
()
ў
{}
()Ј()
"ОuV
pu
,,
і=
-=
Потоки в сетях
700
1000
900
800
GStc,,,
600
900
500
800
— сеть, если
300
400
,
600
E=
800
500
800
700
— орграф
500
900
800
St V,
700
500
900
500
, где S — источник,
t — сток.
сE R: ®
GSt,,,w
— функция пропускной способности.
— сеть
S
. Поток f в сети S — это есть функция
fE R: ®
такая, что выполняются условия:
"О
eEfe ce� �
П1:
П2:
е
v
VV
О
uv E,
О
()
.
fuvfvu
,,
()-()
е
vV
О
vu E
,
О
()
,
ust
№
00� �
м
=
п н
п о
pu t
,
� �
s
,
� �
Такую функцию называют потоком. Он вытекает из вершины s и втека-
ет в вершину t.
+
0
Пример
78
3,7
S
5,5
а
7,9
3,4
b
t
1,2
Не поток
5. Теория графов
()
AB V
,, :,
Н
{}
,,
()
()
()
{}
Bh
,,
()=()
е
,,
{}{}
()
()()
{}
()
us
-=
,,
()
()
()
()
"Н ОП"
� �����
()=()-()Ј()
()-()={}
()
{}
()
()
е
,,
()-()=()+()-()-()=()-()
Договоримся записывать поток на ребре и его пропускную способность через запятую, рядом с соответствующей этому ребру стрелкой.
В примере первые цифры не задают поток.
а
3,4
7,9
t
Поток
3,7
S
5,5
b
ppf=
Сокращение записи:
hE R
� 0
AB xy xAyBxy E,,|,
hA
sa bt at sb
,,,,,, ,
sababt E
,, ,,
{}{}
csabt
{}{{}
()
{}{}
()
П2 представляется как
fuvfvu
{}
()
— величина потока, сам поток — это функция.
+
®
=
xy AB
()О()
,,,
,,,.fsabt
-
,,
ОО
xy
,
,,
=
=
=
,
=1412
0 � �
м п
pu s
=
,
{}
()
н п
о
� �
pu t
,
� �
� �
t
№
=
1,2
О
Разрез в сети — это
Лемма о разрезе
GStc,,,
Тогда
Доказательство. 1)
fxVfVx fxxfxx fxxfxx fxxfxx,,, ,,,
— сеть.
xVsxtxf
XX,
,
fxVfVx fxVfVx Pf
,, ,, ,
XVXVXН
, где
(f — поток)
=
� �
Pf fxxfxx cxx
xx
О
.
,,,
-
.
=
.
79
Элементы дискретной математики
()Ј()
,,
:,
{}
()і()
()
00
��
()
()
txНОП,,��
fc
()
SxО
vx
()<()
uv
()
,.
txП
txО ,
==
()
()
++
,,
11
,.
()
()-()
()
n,
()
n,
ee
{}
,,
()
()Ј()
��
es
:,
,,
о
Ю
2) Из П1
fE ReEf efxx fxx
fxxcxx
+
"О
00
� �� � ��� �
по определению потока
,, ,®
і-
Ј
.
Теорема (Форда–Фалкерсона)
maxmin ,
Pf cxx
=
, f — поток,
xVSx
.
Доказательство
maxmin ,��
xxЈ
(по лемме о разрезе).
Докажем достижимость: возьмем максимальный поток f (то есть поток
с наибольшим значением P). Построим x по правилам:
1)
2)
.
uxfuvcuv
О
ЮО� � � ,, .
uxfv
3) Заметим, что
>ЮО� � ���
0
.
xО
Будем рассуждать «от противного». Если
Svvvt
строенный по правилам 1 и 2:
,,..., .
01
Правило 1:
v
i
Попутное ребро
v
i+1
Ю
fvvcvv
<
ii ii
Правило 2:
v
i
Встречное ребро
e
1
e
2
min,.
'
fe
=
()
v
i+1
fvv
ii
+
>10
0=
ce fe e� � �
>mi
fe e� �
e=
12
м
fe eeEf ece
+- ®" О
п
п
fe e
--
()
н
п
fe
� � � �� � ммаршрут.
() ()
п
>mi
0=
— встречное.
ee�
попутное
,
� �
встреччное R
— попутное.
®®
невходитвнайденный§
'
fE
то от S до t есть путь, по-
k
.
'
+
0
{}
t
(s, t)-путь, построенный по правилам 1 и 2, — это есть увеличивающий
путь, а ε — увеличивающее значение.
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]