Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Элементы дискретной математики. Учебное пособие для СПО
.pdf
5. Теория графов
Ю
,,� ���ОП
tx
()=()і()
{}
()
()
{}
()
()
()=()
()<()
Ы
Замечание 1
Если в сети с потоком есть увеличивающий путь, то поток можно увеличить.
Замечание 2
Если в сети с потоком нет увеличивающего пути, то поток max (по Теореме Форда-Фалкерсона).
Доказательство
Увеличивающего пути нет
по правилам 1, 2, 3 построим
xS xt x
Pf cxxcxx xVSx
и
Значит,
,min ,| ,,.���
Pf Pf f
=
max|поток
НОП
-
, f — максимальный поток.
Алгоритм поиска максимального потока
1. Берем какой-нибудь поток (например
2. Ищем увеличивающий путь. Если нашли, то увеличиваем вдоль него
поток на ε (увеличив значение); переход на 2. Иначе стоп, поток максимальный.
Алгоритм поиска кратчайшего увеличивающего пути
fe
если
встречный — нет;
если
встречный — да;
если
и попутным и встречным.
= 0
fe ce
0 <
fe ce
, то путь попутный — да,
, то путь попутный — нет,
, то путь может быть
"
=ef e� � 0
).
е
vи
vи
vи
vи
Замечание
В полученном ориентированном графе есть ориентированный (s, t)-путь
в исходной сети с истоком есть увеличивающий путь.
81

Элементы дискретной математики
()
()
,.
()
()
rr
,,
()=()
rr r
()+()і()
і
()
()
()
®О
:,
��
()
,,
+
: ®
SVН
vS®
vS¬
()
()=()
=®
uS
��
=Ж
vS¬
"ОxVx� �
()>()+()
,,
()=()+()
,.
()
xS®
Расстояние в графах
Расстояние между вершинами u и v во взвешенном графе G(
uv,
есть длина кратчайшей
Замечание 1
ρ — метрика на V, т. е.
r uu,
1)
2)
3)
Доказательство. Некоторая цепь
Замечание 2
Расстояние не во взвешенном графе G — это расстояние во взвешенном
графе
Алгоритм Дейкстры.
Вход:
Выход:
Требуется две функции:
eV V
и
= 0
,
uv vu
uv vw uw,, ,
G,w
, где
GVEERuV=
"О
���vV uv
(частичная функция текущего предшественника).
(список найденных, но не обработанных вершин).
–функция симметрична относительно аргументов,
"О
,,
-цепи. Обозначение:
.
кратчайшая цепь.
=eE e� � � w 1
.
+
.r
dV R: ®
.�
�w
(функция текущего расстояния)
r uv
G,w
) — это
(вершину v поместить в список S).
(из S вынимается вершина с наименьшим значением d и помеща-
ется в переменную v).
"О
vVdv du ev NULL
0)
1) Если
2)
3)
если
dx dv vx
то
ex v
82
� ����
S
;
— смежна с вершиной v.
dx dv vx
= ,
=+Ґ
, то стоп;
w
w
.
�,, ,0
;

5. Теория графов
()
n.
S №Ж
()
()
()
()
е
"№� vu.
()
=Ґ
,,
()
()
<Ґ
dv
()
()
vu
() ()
dx
()
()
()
( ) ( )
()=()+()
xu
��
() ()
()
() ()
22
4) Переход на п. 1).
vd v� �
Mdvv S=
— не возрастает.
Пусть
Замечание 1
M не убывает (пока
Доказательство
Очевидно, следует из п. 3) алгоритма.
Замечание 2
vSdv M®Ю
Замечание 3
"
Замечание 4
Если вершина v удалена из списка S, то v не попадает больше в список.
Доказательство
Очевидно, следует из описания алгоритма.
� ���
® .
Оmi
).
Лемма 1
Каждая вершина удаляется только один раз. Граф G — связный, шаг 2 (ал-
mG
горитма) срабатывает ровно
Доказательство
Из замечаний 1, 2, 3, 4 следует, что шаг 2 срабатывает
Вначале
местим v в список S. В силу шага 1 вершина будет удалена.
но,
вое выполнение шага 3, когда это нарушается, то есть
кого
dx dv vx
тиворечие).
dv
Замечание 5
dv
Если
ve ve
,, ,...,�� �
Доказательство
Воспользуемся методом от противного. Допустим это не так. Найдем пер-
xv,
— маршрута. Но
, значит, просмотрев какой-нибудь маршрут
, то
2
w ,
— это длина некоторого
).
и это длина
раз.
vu,
dv
— это длина маршрута
ve vevuxe xe
,, ,..., ,, ,...,�� ��
=
mG
раз
uv
мы по-
маршрута (а имен-
— не длина ника-
, , ,...,vev e v u
2
(про-
83

Элементы дискретной математики
"v
()і()
()=()
vVО
()>()
()
uyv,..., ,
()=()<()
rr,,
()=()
()>()=()+()=()+()
ww
,,
()=()+()=()
wr,,
AB AB
=Ж Нґ,.� �r
���uAvBОО,
Замечание 6
в любой момент выполнение алгоритма
"О
Лемма 2. В конце работы алгоритма
Доказательство. Воспользуемся методом доказательства от противного. Пусть существует такая вершина
ма для этой вершины
к вершине u вершина с таким свойством. Рассмотрим кратчайший
маршрут
шина y вынута из списка и просматриваются её соседи. В этот момент уже
в силу замечаний 1, 2, 3, 4
dv uv uy yv dy yv
выполняется равенство
речие.
rr
,,
Леммы 1, 2 дают теорему о корректности алгоритма Дейкстры.
dv uv
dy uy uv
r ,
dy uy
dv dy yv uv
r ,
vVdv uv� � � r ,
(замечание 6). Пусть v — самая близкая
. Рассмотрим шаг, на котором вер-
. Вершина v — сосед у, в этот момент
dv uv
, что в конце работы алгорит-
(в силу Замечания 3), то есть
r ,
. Получили противо-
.
.
uv,
-
Двудольные графы
Пример
А В
Граф G =(V, E) двудольный, если $А, В Ј V AИB=V, AИB=Ø"{u,v}ОE
(или наоборот), A, B — доли графа.
84

5. Теория графов
Ю
10
=
ABAB AA� �� �� �� � �.......... =
kk02
{}
ОО
Ь
Ь
uVО
()
()
{}
()
()
{}
rr,,
он
ABV=
AB=Ж.
wv,
vE=
{}
О,,
rr
()є()()
2
Ю
xvwx
12
ѕ®ѕѕ®ѕѕ®ѕ
xv=
wx
ѕ®ѕ
()
Ю
()
+=
()
rr
,,
Пример
Двудольный Не двудольный
Теорема Кенига (критерий двудольности)
Граф G — двудольный Ыв G нет циклов нечетной длины.
Доказательство
Берем ЛЮБОЙ цикл:
vvvv vv v
Части A, B, на которые делится двудольный граф, называются долями.
Доля A, где
дольный. Очевидно, достаточно доказать
берем вершину
... ,
nn0123
-
.
vkNvAv B
Заметим, что если каждая компонента двудольная, то и весь граф дву-
так, что выполняется следующее:
0� � �����"О И
,, ,
21
+
значит, число n — четное.
только для связного графа. Вы-
AvVuvBvV uv=О
Очевидно:
Покажем, что НЕТ ребер внутри частей.
Воспользуемся методом от противного. Вершины
ew
сти:
Найдем кратчайшие маршруты:
х — последняя вершина на первом маршруте из тех, которые лежат и на вто-
ром маршруте, а это значит, что на первом пути нет вершин второго маршрута.
Второй маршрут простой, так как кратчайший
стой цикл. Если
вершина кратчайшего
-
(G — связный),
uv uw,,mod
1 2
u
2 1
и
uw,
=О
x
2
— это снова ребро e, то v — предпоследняя
-маршрута
-
ечетно� �
.
w
e
v
uv uw
1
.четн
лежат в одной ча-
e
. А это противо-
— про-
85

Элементы дискретной математики
ux,
()
rrrr
,,
()-()+()-()
+=
()+()-()
21
uVО
r
vV
()
"О� � �
vu
,,
()=()
rr
{}
vw,
()
л
()є()()
речие. То есть цикл всегда есть. Заметим, что длины
рого маршрутов одинаковы (иначе можно сократить какой-то кротчайший
маршрут) и равны
Длина найденного цикла равна
uw ux uv ux,,
=
Она будет нечетной (противоречие).
r ux,
.
1
+rr ruw uv ux,, ,
.
частей первого и вто-
Алгоритм проверки двудольности связного графа
1) Выберем
2) Измерим
Проверим, если есть
дольный, иначе, граф — двудольный.
Замечание
Шаг 2 можно делать в ходе выполнения шага 1. Проверим корректность
шага 2.
Если …, то … Ю находим цикл нечетной длины Ю так как граф не двудольный.
Иначе Ю A и B из доказательства.
Действительно,
.
uv
,
в одной части и соединены ребром
.
vw Vu
О
w,,
и
vw E,
О
, то граф не дву-
,.0
euvuwЮ
rr,,
()-()
(из неравенства треугольника).
Но это не равно 0, и это равно 1, так как
тиворечие).
86
=
й
к
1
rruv uw,,mod
2
(про-

5. Теория графов
e=
St·®·¬·®·®·¬·®·®·®·
<Ю =
ff>Ю =01.
()=()
()
{}
()
е1
л
л
Паросочетание
M D
Паросочетание — множество попарно непересекающихся ребер.
Максимальное паросочетание есть паросочетание, не лежащее ни в ка-
ком другом паросочетании.
Пример
Оба парасочетания максимальные.
Наибольшее паросочетание есть паросочетание с наибольшим числом
ребер.
Замечание 1
0
Пусть
Доказательство
На попутных
На встречных
e=
Замечание 2
Пусть
"О
eEfe� �
"О
"О
()
fc f
�� � ��ce fe efeeпопутное встречно
0
й
=
.
к
1
=
()
()
й
ЮeEfe� � �
для любого увеличивающего пути
к
1
л
0.
-
0
й
=
ЮeEfe� �
после изменения потока вдоль ПУТИ
к
1
-
1
=minmin (),min
.
1.
87

Элементы дискретной математики
л
{}
()
{}
Bt
{} {}
()
��
л
{}
()
,,
()=()=()
()
()
()
Nx
()
{}
{}
|,
()
Утверждение
При работе алгоритма поиска максимального потока будет найден поток
0
"О
со свойством
Замечание 3
Пусть в алгоритме есть поток со свойством
чины p. Тогда множество
мощности p.
Доказательство
В каждую вершину A не может втекать больше 1. Из каждой вершины B
не может вытекать больше 1. Величина потока через разрез
равна числу ребер, на которых они не равны 1.
Замечание 4
Если в двудольном графе есть паросочетания мощности m, тогда в соот-
ветствии ему есть поток величины m со свойством
eEfe� � �
й
=
()
.
к
1
uv uAvBfuv,/ ,,,
ОО
� ��� 1
0
e E fe
∀∈ = ⇒
=
— паросочетание
"О
eEfe� � �
( )
1
SA
=
()
,
0
й
.
к
1
вели-
Доказательство
Определим нужный поток:
"
Теорема (о корректности алгоритма)
Множество ребер двудольного графа, на которых найденный алгоритм
максимального потока не равен 0, если наибольшее паросочетание.
Доказательство
Очевидно, следует из утверждения и замечаний 3 и 4.
Теорема Холла (о трансверсалях). В двудольном графе
паросочетания мощности
|
Замечание
В двудольном графе
ООО
uv Mu Av B
— окружение x, то есть
xA Nx BНЮ
,� �
fsufuv fwt,, ,
A
тогда и только тогда, когда
vV uxuv EО$О
Н
.
=1, Pf m
GABE=
"Н
О
|� �
.
=
,
.
есть
іxANx x� �
.
88

5. Теория графов
Ю
()
<Ю
Ь
()
і=
Am
()
{}
,,
ўў
=GA Aa:\
�
()
\,
1.
ў
G
ў
=-Am
mA
()
00
,.
()
()
()
()
00
00
()=()
()
ўў
G
()
xA0�
x
A B
Доказательство
Воспользуемся методом от противного. Пусть
любое парасочетание не использует какую-то вершину из x, а значит, и из A.
.
ў
A
й
Nx
=
к
Nx b
к
л
Проведем индукцию по длине
База индукции:
паросочетание мощности
Шаг индукции:
у которых доля A состоит из <m вершин, утверждение доказано.
1-й случай:
"Н
ў
BBbx AANx
\, ,
="
� ��� � �
A =1, NA A
1 = A
=
. Предположим, что для всех двудольных графов,
>ОО=
ў
НўН
()
ў
G
N(x)
$Н
xA Nx x� � � � �,
.
1
, то есть ребро с началом в A. Это
ОxANx xa Ab Be ab E� � �� � �����
ў
G
ў
()
G
. Строим
,
,
Nx
()
ў
G
По предложению индукции в графе
2-й случай:
$Н
ў
GGANA
=
ўў
GGANA
=
"Н
xANx Nx xNx
'
есть паросочетания мощности
й
к
ў
=
к
л
1
. Вместе с ребром e получим в G паросочетания мощности
� � �
,�
GG G0
ў
Nx
()
G
ў
Nx
()
G
=AANA A
ў
x
-і
0
.
.
ЮЈ
A
0
есть паросочетания мощности
по положению индукции в графе
, "Н
.
=
.
89

Элементы дискретной математики
GG
()
()
GG
ўў
G
xx
()
At
ў
G
t � Ы
ў
G
At-
ў
G
At
Ј-At
і t
()
()
GG
AxAxNA xNANxNA
+= Ј
00 00 0
()
GG
=
() ()=()
ў
+
+
Nx xNx
По предположению индукции в графе
A
. Объединение двух найденных паросочетаний есть паросочетание мощ-
0
ности
ЮЈ
ўў ўў
N
в графе G.
.
есть паросочетания мощности
Следствие
В G есть паросочетания мощности
Ы" НЈ+
-,� �
.
txAt AN
Доказательство
-
Добавим в долю B еще
ную вершину с каждой вершиной доли A. Получим граф
сочетания мощности
A
ности
.
новых вершин, соединив каждую добавлен-
. В G есть паро-
(очевидно) в графе
есть паросочетание мощ-
Возьмем в G паросочетания мощности t. В нем не задействованы
вершин доли A. Соединим каждую из этих незадействованных вершин со своей добавленной вершиной.
Возьмем в
бавленные вершины (их
паросочетания мощности
-
). Вместе с ними удалены
сочетаний. Осталось паросочетание в G мощности
"Н Ј
xAxNxAtNx
,� � �
ў
=-+
A
. Удалим из правой доли до-
ребер паро-
.
.
Планарный граф G — это граф, который изображен на плоскости без пе-
ресечения ребер.
Пример
Не плоский планарный Плоский планарный
90
Плоские и планарные графы
1 1
3 4
4 2
2 3
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
