Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Элементы дискретной математики. Учебное пособие
.pdf
5. Теория графов
jj
,,
vE
12
{}
() ()
{}
yy
,,
yE
23
{}
() ()
{}
��
jy
,,
��
{}
() ()
{}
()
()
()
()
{}
uv
@
/
@
()
vv
®"
12
®"
23
jy jj
off:,
���� �
VVuv VuvE uvE
®"О
13 11 2
y
yj yj¬®ѕ
О«
О«
О¬®ѕ
О
E,
.
3
j:,
y:,
,VVuv uv Eu
� ���
,VVxy xy Ex
� ��
О¬®ѕ
Абстрактный граф — это есть класс множества помеченных графов по от-
ношению изоморфизма
.
Замечание
Одинаковые изображения Ю один и тот же абстрактный граф.
Пример
2
1
3
4
G
1
2
3
4
1
5
G
2
Данные графы не являются изоморфными, так как имеют разное коли-
чество вершин.
b
a
c
1
G
1
G
2
Предположим, что эти графы изоморфны, и вершине 1 соответствует вершина a. Тогда вершинам b и c должны соответствовать два различных соседа вершины 1 во втором графе. Однако их не существует, и, следовательно,
графы неизоморфны.
Эти соображения можно обобщить следующим образом:
Замечание
"О =
vV
Если φ изоморфизм G
на G2 то
1
� � degdegj
1
.
61

Элементы дискретной математики
{}
0,
()=()
()
()Ј()
()=()
()
()
()
()
{}
,,
()
mm
11
()
()
1,
()
()
()
()
nn
��
tn
()
mm
()
()
()
()
+-
()
1,
()
()
()
31
В связи с этим возникает следующее понятие:
Для графа G = (V, E), |V| = n, упорядоченный набор степеней его вершин,
xN
, x2, …, xn, где
x
1
фа G.
Замечание
Степенные последовательности изоморфных графов одинаковы.
ОИ
i
называется степенной последовательностью гра-
О сложности алгоритмов
Будем пользоваться интуитивным понятием алгоритма. Каждый алгоритм
имеет ВХОД — последовательность битов. Пусть n — длина ВХОДА. Под
сложностью алгоритма будем понимать такую функцию t: N→N, что t (n)– это
наибольшее число битовых операций, выполняемых алгоритмом при длине
входа равной n. Будем интересоваться лишь скоростью роста таких функций.
fx Ogx
fx gx
()»()
Ы
, если
м
п
н
п
о
$>">
�� � �cxfx cg x00
fx Ogx
gx Ofx
=
()
.
.
к верхнему треугольному виду:
62
Рассмотрим задачу о нахождении Det.
A
=
Дано:
Найти:
Алгоритм 1 состоит в рекурсивном разложении по 1-й строке:
AaAaAaA
=Ч+Ч ++ Ч
tm mt m
"
�
Алгоритм 2 позволит решить данную задачу при помощи метода Гаусса.
Проводим элементарными преобразованиями по строкам матрицу
tm mmmm
tm mmmmtm
tm mmtm
aa� �
ij
mm
DetA MOD
11 11 12 12
іЧ -
k
>kt
(
Ј+ +-
Ј+ +-
31
Ј+
О
01
ij
ґ
� � 2
tm m
растет быстрее любого многочлена).
+-
.
(то есть найти A над полем {0,1}).
... ,
і !, tn n
=+31 32,
Ј
...
і
!

5. Теория графов
()
()
()
+-
()
21
()
()
()
mm
()
()
()
3
Ј
ЈЈ +=+=
=
Ј+
tm mmtm CCtm
+
m 11
...2 22 2
mmm
CCCC
е
kkmm
k
+
15
+-
31
m
2123
е
11
==
k
+
=
Om
3
21
=+
+
1
2
++
1
.
Ј
+
21
mmm
+
3
++
1
=
В итоге получили, что наибольшее число битовых операций удовлетво-
ряет следующему равенству:
3
ж
ц
tn On
=
()
2
.
з
ч
и
ш
Сложность задачи — это минимальная сложность алгоритма, решающе-
го задачу.
Сложность ADD~n.
Сложность Det между n и n
3/2.
Замечание
Задача считается простой, если ее сложность есть многочлен от n (0(nk)).
Алгоритм эффективный, если t (n) = 0(nk).
Введем следующие обозначения:
Множество P — множество всех задач, для которых есть эффективный
алгоритм.
Множество NP — множество задач, для которых есть алгоритм, который
проверяет решение за время 0(nk).
Задача называется NP-полной задачей — если наличие алгоритма, решающего ее за время 0(nk), означает, что для любой задачи из NP существует алгоритм решающий ее за время 0(nk).
Теорема Кука
Задача «выполнимость» NP-полна (в нынешнее время известно около
5103 NP-полных задач).
Вопрос P = NP? — это один из вопросов на миллион долларов.
Сложность задачи проверки изоморфизма графов не известна. Легко показать, что эта задача лежит в классе NP. Для нее в настоящее время нет полиномиального алгоритма и не доказано, что эта задача NP-полна.
63

Элементы дискретной математики
()
vevevev
�� �,..., ,
vV
ii
ОО
� �
{}
{}
,,
ee
ee e
,,...,�
vvvv
,,,...,
vv
nn
{}
ij
=<
()
vvvij
== Ю= =
01,.
Маршруты
Маршрут в графе
eE
,
v
— конец маршрута, n — длина маршрута.
n
такая, что
GVE=
,
— это последовательность
"О
inevv
,...
=
iii11
-
,�� �
v
— начало маршрута,
0
Маршрут с началом u и концом v называется (u, v)-маршрутом.
Замечание 1
ve
...
Последовательность
однозначно определяет маршрут.
n012
Замечание 2
может уже не определять маршрут.
n12
Пример
1 I
IV
4
III
2
II II
3
1I2I1
2I1I2
Замечание 3
Пусть G — граф (без кратных ребер), тогда
однозначно опре-
n01 2
деленный маршрут.
Цепь — маршрут без повторяющихся ребер.
Простой маршрут — это маршрут, в котором вершины
vv v
,,...,
n01 1
-
nn01122
по-
парно различны и
Замечание 4
Каждый простой маршрут, кроме маршрута veuev, является цепью.
Доказательство
Воспользуемся методом от противного. Предположим, что
Если j = i + 1, то
64
vv
П
,,...,
iji-+
11
ei e
-12 1
j
.
ee
� .
ij

5. Теория графов
vv
jj--
{}
{}
11
,,
л
vv
=
uv
()
vv
==
nn
{}
11
vv
jn
()
en
{}
vvv
№=,
uv
=№� � � � �
==
====
30
()
Если j = i + 1, то
v
,
й
v
j
=
к
i
v
.
к
j
-
1
vv
Маршрут называется циклическим, если
=
ii
,
.
n0
Циклическая цепь — это цикл.
Утверждение 1
Из каждого (u, v) маршрута можно выделить простую (u, v)-цепь
Доказательство
Пусть дан маршрут:
uvevev ve
Если вершины
,...,
попарно различны), то это уже простой (u, v) маршрут (по замеча-
n0
... .
nnn
-0112 21
vv v
,,...,
попарно различны и
n01 1
-
vv v
П
,...,
(то есть
-
нию 2).
vvijveve veve ve ev
Если
=<
ij ii ij
, ... ... ... .
0112 211
++
n
Получим (u, v)-маршрут меньшей длины путем удаления указанных выше
ребра и вершины.
Действуя таким образом, получим конечный процесс, обрывающийся
в ситуации, когда маршрут простой.
№
.
Утверждение 2
Из каждого цикла можно выделить простой цикл (положительной длины).
Доказательство
Пусть дан маршрут
vevevevv ee
тогда
... ,,,..., ,=
nn n0112 2012
vevevevv
... ,
nn1223 3
Выделим простую (u, v)-цепь (по утверждению 1):
Тогда
uufu fu fu vv v
1223
...
mm n
гут повторяться.
Все пары вершин, кроме
Пример
12421→121
1 I 2 II 4 II 2 I 1 вычеркиванием нельзя получить 1 III 2 II 2 II 1.
vum0,
=� � �
n10
— это (u, v)-цепь.
uufu fu fu v
12233
— цикл, в котором вершины не мо-
, — пары разных вершин.
...
mm
.
65

Элементы дискретной математики
==
==
$№� � �
ii
:.
{}
ve vevv
nm
=
...
ii
===№
� �
()
xy
yx
ѕ®
xy
yx
ѕ®
CD
{}
{}
,.
Ce
{}
De
{}
De\\
{}
()
{}
()
{}
()
{}
()
(){}
Утверждение 3
Объединение двух различных (u, v)-цепей содержит простой цикл.
Доказательство
Даны цепи:
uvevev ev v
0112 2
uufu fu fu v
01122
... ,
nn
... .
mm
Пойдем по цепям слева направо. Поскольку они разные, то возможны
два случая:
ie f
1)
"Ј
2)
min, .
В случае 2)
mm mn
=Ю>���imne fnm
ii
++
11
— цикл. По утверждениям 2 и 3 можно
выделить простой цикл.
Пусть реализуется случай 1). Найдем такое наименьшее i, что e
vu vuxv u
да
,...,
00 11
ii
--
.
№ fi. Тог-
i
Найдем на 1-й цепи первую вершину, следующую после вершины x и ле-
жащую на 2-й цепи, назовем ее у. Рассмотрим маршрут
12
xy x
ѕ®ѕѕ ®ѕѕѕ
обратно
Заметим, что он является циклом.
Внутри кусков
ѕ®ѕ
и
1
это части цепей. Предложение о том, что некоторое ребро e куска
2( )обратно
встречается на куске
ѕѕѕ
2( )обратно
ѕѕѕ
ребра не повторяются, так как
ѕ®ѕ
противоречит выбору у. Рассмотрим вер-
1
шину перед ребром e. По утверждению 2 можно выделить простой маршрут.
Утверждение 4
Пусть C и D есть два разных цикла с общим ребром e. Тогда
e \
содержит цикл.
Доказательство
Рассмотрим ребро
euv=
.
Тогда
\
— это (u, v)-цепь,
По утверждению 3
Ce De CD e\\ \
66
Ce
=
\
— это другая (u, v)-цепь.
содержит простой цикл
.

Связность
()
uv V,.О
uv~
НґVV
"ОuV
()
,,
()()
()
()
$Π"� ��� �� �
~
"О
,~�� � �
32))®
21))® �
Vu
()
13))®
uv,,
~~
uv
о
о
()
()
5. Теория графов
GVE=
~
Утверждение
~ — эквивалентность на V.
Доказательство.
~ — рефлексивно (
~ — симметрично (каждый маршрут, переписанный в обратном порядке,
снова является маршрутом).
~ — транзитивно (маршруты
в результате чего получится
Класс эквивалентности [v]
Число компонент связности графа G обозначают через k(G).
Утверждение
Следующие условия эквивалентны:
1)
,
— граф,
(и связана с V)Ыв G есть (u, v)-маршрут.
.
uu,
-маршрут нулевой длины).
uv иv
�� w
u,w
-маршрут).
называется компонентой связности графа G.
~
kG
=1
есть
,
можно соединить по вершине v,
2)
3)
Доказательство
"$О
uv
u
м
н
v
Ребро e — мост в графе G, если
uV vu v
uv Vu v
очевидно.
kG=
Ю
йлщ
ы
� �� ���ww w
~
~
u
w
м
®
н
w
w
йлщ
~
~
.
=~.1
ы
w
®
v
,
,
О
йлщ
ы
~
.
kG ekG\
>
.
67

Элементы дискретной математики
()
()
\.
uv~ Ы
()
uv»Ы
Ge\
()
»Н~
VAAA
VBBB
{}
{}
mk
"№ =Ж НЮН"№Ж $О
Bv
ii
,.� �������� ���
AB
ii
ЮН
jj
it
{}
{}()=()
"ОeE
()
()
\,
()
()
\.
()
()
\1
{}
,.
»»
К
xx
»Н~
zx
()
»~
zx
о
»~
Н
zx
()
»»
Замечание
"О
eEkG ekG� �
>
Доказательство
в G есть
uv,
-маршрут.
в графе
Очевидно
=
»
~
AA AVBB B
,,..., ,
12
,,..., ,
=
12
+++==+++... ... .
12 12
.
m
есть
k
uv,
-маршрут.
Тогда
ijijBB AB ABиi
,:
Av
=
йлщ
ы
»
жение:
:,..., ,,..., .112km
Значит, m і k. Таким образом
1) е — мост
2) е — не мост
ij ii ij
. Это значит, что мы построили инъективное отобра-
i
®
� � � � �
:
Ю
kG ekG
Ю
>
�kG ekG
=
Лемма (о мосте)
1) е — мост
Ю
=
+kG ekG
.
2) е — мост Юе не лежит ни в каком цикле G.
3) е не лежит ни в каком цикле G Ю e — мост.
Доказательство
exy=
B
xxy
Н
ы
ы
йлщ
~
ы
О
йлщ
йлщ
ы
, так как
йлщ
ы
zx,
®О
ы
Заметим, что
йлщ
:
ы
» �
yxzy zy
Н
йлщ
йлщ
ы
»~
О
йлщ
:
То есть, в G есть
zx zx zx y»®О
U .
=
йлщыйлщ
®»®
ы
zx zx
О
®»®О
йлщ
ы
yx
~
м
н
zy
~
zx
®~®О
-маршрут, если на нем нет е, тогда
йлщыйлщ
, но если на этом маршруте есть е, тогда
ы
»
йлщ
йлщ
,
ы
ы
68

5. Теория графов
==
ee
=
xg
»»
xx
»~
zz
/
/
()
()
Ge
()
()
»»
xy
»»
()
()
Ge\
xy e»Ю
Ю»xy
Ge
()
Ы
()
=e
()
GvvV
()
ЈО
,.
()
()
n
kn
()
zvevev ev x
0112 2
Найдем наименьшее i, такое что
vxy
О
{}
i
-
1
Заметим, что если
zx zx zy на zvП
йлщ
ы
есть каждый
kG ekGxy\
=
А если
Но если е лежит в цикле графа G Ю в графе
то есть
е не мост
... .
nn
м
=Ю»®О
vxzx zx
�
i
-
1
п
, �
н
vyzy zy
=Ю»®О
п
i
-
1
о
Н
йлщ
ы
~~ ,��
Ю
~
zv,
Ы
№
йлщ
йлщ
ы
®
-маршрут в G является маршрутом в
йлщ
, то
ы
ы
Ю"
=
йлщ
ы
kG ekG\
— не мост.
и в графе
йлщ
.
ы
, то
=
.
i
йлщ
ы
»
z
x
йлщыйлщ
.
ы
.
ы
йлщ
йлщ
ЮО
ы
»
=
ы
» �
йлщ
-маршруте в графе G нет ребра е, то
+1
.
есть (x, y)-маршрут,
\
есть (x, y)-маршрут, тогда выделим
из него простой маршрут, добавим е и получим цикл с ребром е.
e G
Число реберной связности графа G
— это есть наименьшее число ре-
бер, которое нужно удалить из графа, чтобы он стал несвязным.
\
, отсюда
Замечание 1
Граф G — несвязный
Граф G — связный с мостом
Замечание 2
e
mindeg
Пример
e P
=1
, так как каждое ребро в цепи — мост.
n
e C
Если
= 2
, мостов нет.
n
Число вершинной связности графа G
шин, которое нужно удалить из графа, чтобы он стал несвязным или одно-
вершинным.
Пример
n
=-1.
n
� �
G 0.
Ы
=e G 1.
(G) — это наименьшее число вер-
69

Элементы дискретной математики
neGG
()Ј()
()
()
neGG0.
()
Vx
{}
neGG
()
()
1.
Ge
ne
()
()
=>
kk
{}{}{}
"О -
{}
ik11
ii
{}
kk
{}
kk
{}
ne
()
()
Теорема
.
Доказательство
Пусть граф G несвязный
Ю
==
А теперь пусть G связный граф, тогда возможны следующие случаи.
Случай 1: в G есть мост
y=
Если
,
, то удаление вершины x делает граф одновершинным
Ю
=e G 1
.
==
Если
n>2
в
удалим ,если
удалим ,если
xx
yx
\ x
йлщ
йлщ
ы
йлщ
ы
>1
или
ы
ь
1
>
п
Ю
э
1
=
п
ю
y
йлщ
1
G
==
()
>1
.
ы
GG
Случай 2 состоит в том, что в графе G нет моста
х
1
х
2
x
3
x
k
xy xy xy
,, ,,..., ,
Пусть
делает граф несвязным.
шину, не принадлежащую
связный граф с мостом
� �
11 22
xy
,
— множество рёбер, удаление которого
...
xy
,
удалим из множества
. Получим либо несвязный граф, либо
. Удаление одной вершины делает его несвяз-
ным или одновершинным.
Gk G
Ј=
.
.
Ю
e Gk1.
y
1
y
2
y
k
xy
,
одну вер-
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
