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

Литература / Дискретная математика (пособие ЛЭТИ) / Дискретная математика (пособие ЛЭТИ)

.pdf
Скачиваний:
702
Добавлен:
16.04.2013
Размер:
527.71 Кб
Скачать

Следствие 6.2. В предположении теоремы 6.5 для любого ребра xiE существует цикл, его содержащий.

Следствие 6.3. Если в графе G существуют две различные цепи

P1 è P2, содержащие одни и те же различные вершины a и b, то из некоторого подмножества р¼бер P1 è P2 можно построить цикл.

6.2.Связность

Определение 6.7. Граф G = (V, E) называется связным, если

ai, aj V (ai 6= aj) существует (ai − aj)-цепь. (Согласно теореме 6.2 можно говорить о пути.)

Определение 6.8. Рассмотрим непустое подмножество вершин S V. Обозначим через E(S) E подмножество ребер, концевые вершины

которых принадлежат S. Граф G0 = (S, E(S)) называется подграфом G, порожд¼нным S.

Определение 6.9. Определим бинарное отношение ≡ на множестве вершин графа G(V, E) : a ≡ b, если существует (a − b)-цепь.

Утверждение 6.1. Отношение ≡ есть отношение эквивалентно сти:

a)a ≡ b;

b)a ≡ b, тогда b ≡ a;

c)a≡b, b≡c, соединяя две цепи (a−b), (b−c), получаем цепь (a−c).

Тогда множество вершин V разбивается на непересекающиеся классы эквивалентности V1, V2, . . . , Vk.

Определение 6.10. Подграфы графа G, порожденные V1, . . . , Vk : (V1, E(V1)), . . . , (Vk, E(Vk)), называются связными компонентами или компонентами связности графа G, а k степенью связности графа G.

Замечание 6.4. Любая вершина и любое ребро принадлежат одной и только одной компоненте связности.

Определение 6.11. Рассмотрим граф G = (V, E) и его ребро x.

def

Определим подграф G − x = (V, E r {x}). Заметим, что при этом кон цевые точки ребра x остаются в графе G − x.

Теорема 6.6. Если в связном графе G = (V, E) ребро x принадле жит некоторому циклу, то граф G − x оста¼тся связным.

60

Определение 6.13.

Доказательство. Пусть a0, x, a1, y2, . . . , yl, al(= a0) цикл, содержа щий x. В любом пути, который включал удаленное ребро x = (a0, a1), это ребро можно заменить на a0 = al, yl, . . . , y2, a1.

Справедливо и обратное утверждение.

Теорема 6.7. Пусть G = (V, E) связный граф, x E. Если G − x также связный граф, то существует цикл в G, содержащий x.

Доказательство. Пусть x = (a, b), тогда существует (a − b)-öåïü в графе G − x: a = a0, y1, a1, y2, . . . , al−1, yl, al = b. Добавляя к этой цепи ребро x и вершину a, получим цикл в графе G.

Определение 6.12. Ребро x графа G = (V, E) называется мостом или разделяющим ребром, если степень связности графа G − x больше степени связности графа G.

Замечание 6.5. Если граф G несвязный, то при удалении ребра x видоизменяется лишь компонента связности, содержащая x.

Опираясь на теоремы 6.6 и 6.7 легко получить критерий моста.

Теорема 6.8. Ребро x графа G мост тогда и только тогда, когда в G нет циклов, содержащих это ребро.

Пример 6.2.

 

tHHHH

 

 

 

tHHHH

Ребро (v1, v2) является

 

v1

v2

мостом графа.

 

H

 

 

 

H

 

tHHHHHt t

 

tHHHHHt t

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

Теорема 6.9. В графе G = (V, E) существует замкнутая эйлерова цепь тогда и только тогда, когда

а) граф связный;

б) все его вершины имеют ч¼тную степень.

 

Следствие 6.4. Граф G = (V, E) имеет открытую эйлерову цепь тогда и только тогда, когда

а) G связный граф;

61

al+1

б) существует ровно две вершины неч¼тной степени.

Доказательство. Очевидно, что неч¼тную степень имеют концевые вершины графа. Соединяя их фиктивным ребром попадаем в условия тео ремы 6.9, следовательно, в новом графе существует замкнутая эйлерова цепь. Удаляя фиктивное ребро получаем открытую эйлерову цепь для ис ходного графа.

6.3.Деревья

Определение 6.14. Связный граф, не содержащий циклов, называ ется деревом. Произвольный граф, не содержащий циклов, называется

лесом.

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

Теорема 6.11. Дерево, содержащее не менее двух вершин, имеет по крайней мере две концевые вершины.

Доказательство. Пусть a0, x1, a1, . . . , xl, al цепь максимальной дли ны в графе. Покажем, что deg(a0) = deg(al) = 1. Пусть существует реб ðî xl+1 6= xl, также инцидентное al, è al+1 его вторая концевая точка. Но в дереве нет циклов, тогда 6= ai (i = 0, 1, . . . ), следовательно,

a0, x1, a1, . . . , xl, al, xl+1, al+1 цепь. Получаем противоречие максимально сти длины цепи. Аналогичное доказательство можно провести для верши

íû a0.

Лемма 6.1. После удаления из дерева концевой вершины вместе с инцидентным ей ребром получается вновь дерево.

Теорема 6.12. Дерево с p вершинами имеет p − 1 ребро.

Доказательство. Проводим индукцию по числу вершин p. Ïðè p = 1 утверждение очевидно. Пусть теорема верна для всех p 6 k. По теоре ме 6.11 дерево с k + 1 > 2 вершин имеет концевую вершину. Исключая е¼, по лемме 6.1 получаем дерево с k вершинами. Оно (по индукционному предположению) имеет k − 1 ребро.

Определение 6.15. Пусть G = (V, E) связный граф. Дерево, явля ющееся подграфом G и содержащее все его вершины, называют деревом, покрывающим граф G (стягивающим деревом, каркасом).

62

Теорема 6.13. В связном графе G всегда существует по крайней мере одно стягивающее его дерево.

Доказательство. Если в графе G нет циклов, то теорема доказана. В противном случае исключаем любое ребро x, принадлежащее циклу. По

теореме 6.6 получившийся граф G r {x} связный. Продолжаем эту проце дуру, пока в графе есть циклы.

Следствие 6.5. Пусть F подмножество ребер графа G = (V, E), обладающее следующим свойством: для любого цикла графа G все р¼бра

этого цикла не лежат полностью в F. Тогда существует стягивающее дерево G0 = (V, E0) : F E0.

Доказательство. При доказательстве теоремы 6.13 всегда можно ис ключать р¼бра, не лежащие в F, поэтому р¼бра F останутся в каркасе.

Следствие 6.6. Связный граф с p вершинами и p − 1 р¼брами явля

ется деревом.

 

Следствие 6.7. Если связный граф имеет p вершин и q р¼бер, то

 

q − p + 1 > 0 (q > p − 1).

 

Определение 6.16. Пусть граф G = (V, E) имеет p вершин и q р¼бер и число его компонент связности равно k. Тогда

def

 

ϕ = p − k

коранг графа;

def

 

µ = q − p + k

цикломатическое число графа.

Пусть (V1, E1), . . . , (Vk, Ek) компоненты связности графа, имеющие

p1, . . . , pk вершин и q1, q2, . . . , qk р¼бер. Таким образом, для каждой компо ненты связности

ϕi = pi − 1, µi = qi − pi + 1, i = 1, . . . , k.

Очевидно, что ϕ =

k

ϕ

, µ

k

µ

. Доказана следующая теорема.

Теорема 6.14.Pi=1

i

 

= Pi=1

i

 

1)Для любого графа G µ > 0.

2)Связный граф G дерево тогда и только тогда, когда µ = 0.

Определение 6.17. Пусть G = (V, E) связный граф с p вершина ми и q р¼брами и T = (V, E0) стягивающее дерево для G. Р¼бра x E0 íà зываются ветвями, р¼бра y ErE0 хордами. Если к дереву T добавить хорду x E r E0 : x = (a, b), то x и T образуют граф с циклом, который

определяется единственным образом цепью, соединяющей вершины a, b. Этот цикл называется главным циклом, определяемым хордой x.

63

Замечание 6.6. Ветвей в графе p−1, хорд q −(p−1) = q −p+ 1 = µ, следовательно, всего существует µ главных циклов.

Пример 6.3. Пусть x1, x2, x3, x4, x5 ветви графа G, а y1, y2, y3 åãî

хорды (они отмечены пунктиром). Тогда главные циклы графа G:

 

 

 

 

 

 

 

p

e

pt

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

yp

p p

p

 

 

 

y2

 

 

 

y

 

:

c, y

, e, x

, d, x

, b, x

, c

 

 

 

 

 

 

 

xp

4

 

 

 

 

 

 

1

 

 

 

 

p p

p p

p

1

 

 

 

p

 

 

 

 

 

 

 

1

4

3

2

 

 

p

 

 

 

 

 

 

 

 

 

 

p

p p p p

 

 

 

 

 

 

 

 

 

 

 

 

ptx2

 

 

 

 

d

 

 

 

 

 

 

 

f

y2 : e, y2, f, x5, d, x4, e

 

 

 

 

 

t

 

 

x5

p p p pt

 

 

 

 

 

 

 

 

 

b

t x3

 

y p p p

p

p p p

p p p

 

y3 : a, y3, f, x5, d, x3, b, x1, a

a

 

x1

p p p

p p

p p p p

p3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

p p p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть x0 произвольная ветвь главного цикла, определяемого хордой x. Если к дереву T добавить хорду x, то единственным простым циклом на

полученном графе (V, E0

x ) будет цикл, определяемый x. Если из него

 

 

, то образуется новое дерево

 

 

 

 

 

 

исключить ветвь x0

 

 

 

 

{ }

 

 

 

 

 

(V, E0 {x} r {x0}), стяги

 

 

 

 

 

 

 

 

 

 

 

 

вающее граф G. Такое преобразование называется

элементарным преоб

разованием дерева.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 6.4.

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

a

 

t

 

 

t

 

 

dp

x0

 

 

 

t

 

 

 

t

 

t

 

 

 

 

 

 

 

 

 

 

 

t

 

 

td

 

 

 

= (c, d)

t

 

 

 

dp d

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

x

 

 

 

 

+x = (a, b)

 

 

 

x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

d

 

 

 

 

 

 

 

d

 

t

 

 

 

 

c

 

 

b

 

 

 

 

 

 

 

c

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 6.15. Пусть G = (V, E) связный граф, T = (V, E0)

покрывающее его дерево. Пусть x0

 

E0 ветвь главного цикла, определяе

мого хордой x ErE0

. Тогда граф

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(V, E0 {x}r{x0}) есть стягивающее

дерево для G.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.4. Коциклы

Определение 6.18. Разрезом связного графа G = (V, E) называет ся минимальное множество ребер C E, удаление которых делает граф несвязным. Минимальность множества C означает, что никакое соб ственное подмножество C таким свойством не обладает.

64

называется главным коциклом,
коцикл связного графа

Замечание 6.7. Определения цикла и разреза являются двойствен ными, поэтому разрез часто называют коциклом.

Пример 6.5.

 

коцикл

x3 t

x1

t

x , x

 

 

 

 

 

 

 

{ 1 2

}

 

 

 

 

 

{x1, x2

, x3} íåò

tHHHH

t

x2

t

 

 

 

H

 

Пусть G = (V, E) связный граф, а C его коцикл. Тогда (V, ErC) несвязный граф. Предположим, что его степень связности больше 2. Пусть

(V1, E1), (V2, E2), (V3, E3), . . . , компоненты связности (V, E r C). Òàê

êàê ãðàô G связен, то существует x C, соединяющее вершины из Vi è Vj (i 6= j). Для простоты считаем, что i = 1, j = 2. Тогда C0 = C r {x} собственное подмножество C, íî ãðàô (V, ErC0) несвязен. Действительно,

вершины из V1 è V3 не связаны между собой. Противоречие с минимально стью множества C, следовательно, если C коцикл, то степень связности графа (V, E r C) равна 2.

Пусть C G = (V, E), à (V1, E1), (V2, E2) компоненты связности (V, E r C). Очевидно, что в C нет р¼бер, которые соединяли бы две вершины в V1 или две вершины в V2.

Обозначим через E(V1, V2) множество р¼бер из E : (vi, vj), ãäå

vi V1, vj V2. Тогда C = E(V1, V2).

Теорема 6.16. Если C коцикл связного графа G = (V, E), то степень связности графа (V, E r C) = 2. Пусть (V1, E1), (V2, E2) ком поненты связности графа (V, E r C), тогда C = E(V1, V2).

Следствие 6.8. Любой цикл и любой коцикл связного графа имеют ч¼тное число общих р¼бер.

Определение 6.19. Пусть G = (V, E) связный граф, а T = (V, E0)стягивающее его дерево. Рассмотрим x E0 ветвь этого дерева. Тaк как (по теореме 6.8) x мост, то граф (V, E0 r {x}) несвязен. Таким об

разом, множество {x} это коцикл дерева T. Пусть (V1, E01), (V2, E02) компоненты связности (V, E0 r{x}). Обозначим через E00 р¼бра, которые

являются хордами графа G и соединяют вершины из V1 è V2, ò. å. E00 = = (E r E0) ∩ E(V1, V2). Очевидно, что {x} E00 коцикл графа G. Легко видеть, что E00 это множество хорд, главные циклы которых вклю

чают ветвь x. Этот коцикл {x} E00

определяемым ребром x. Так как число ветвей ϕ = p −k (p множество вершин, k степень связности), то существует ϕ главных коциклов.

65

Пример 6.6. Рассмотрим граф G из примера 6.3. Тогда главные ко

циклы графа G:

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t@

 

 

 

x1 : {x1, y3}

 

c

 

y1

 

x@4 @y2

 

 

 

 

 

 

 

t

 

d

t

@@@

t

f

x2 : {x2, y1}

 

 

 

 

x2

x5

 

x3 :

{

x3, y1, y3

}

 

 

 

x3

 

 

 

 

 

 

b

 

t

 

 

 

x4 : {x4, y1, y2}

 

 

 

x1

y3

 

 

 

x5 : {x5, y2, y3}

 

 

 

 

 

 

 

 

a

 

t

 

 

 

 

 

 

 

 

 

Определение 6.20. В теореме 6.5 было введено понятие объедине ния совокупности р¼бер циклов, никакие 2 из которых не имеют общих

ð¼áåð.

Непустое объединение множеств р¼бер некоторого числа циклов, ни какие 2 из которых не имеют общих р¼бер, называется границей.

Непустое объединение множеств р¼бер некоторого числа коциклов, никакие 2 из которых не имеют общих р¼бер, называется кограницей.

Лемма 6.2. Пусть G = (V, E) связный граф и множество ребер B E не содержит целиком ни одного коцикла. Тогда существует дерево, стягивающее G, которое содержит только р¼бра из E r B.

Доказательство. Рассмотрим T = (V, E0) каркас графа G, содер жащий наибольшее число р¼бер из ErB. Покажем, что E0 ErB. Пусть существует ребро x E0 r B. Рассмотрим главный коцикл, определ¼нный

x (x является ветвью каркаса T).

Так как нет коциклов, полностью лежащих в B (по предположению),

то существует хорда x0

 

E

r

B, которая входит в этот коцикл. Другими

 

 

 

, содержит ветвь

x. Сдела

словами: главный цикл, определяемый хордой x0

 

 

ем элементарное преобразование дерева T ( −→ x0

è x −→, с. 64). Тогда у

 

 

 

 

включ.

âûêë.

 

нового дерева число р¼бер из E r B íà 1 больше, чем у T. Противоречие, следовательно, E0 E r B.

Теорема 6.17. Пусть B непустое подмножество ребер графа G, имеющее ч¼тное число общих р¼бер с любым его циклом. Тогда B это

объединение множеств некоторых коциклов, никакие 2 из которых не имеют общих р¼бер (т. е. B кограница).

Следствие 6.9. Звезда δ(a) произвольной вершины является когра ницей.

Доказательство. Звезда δ(a) и любой цикл графа либо не пересека ются, либо имеют 2 общих ребра.

66

с вершиной из
Определение 6.21.

Теорема 6.18. Пусть B непустое подмножество ребер связного графа G, имеющее ч¼тное число общих р¼бер с любым его коциклом. Тогда B есть объединение множеств некоторых циклов, никакие 2 из которых не имеют общих р¼бер (т. е. B граница).

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

Двудольным графом (или биграфом, или четным графом) называют граф G(V, E), такой, что множество его вершин V

есть объединение двух непересекающихся, непустых множеств V1 è V2. При этом каждое ребро графа соединяет вершину из V1

V2. Множества V1 è V2 называют долями двудольного графа. Если дву дольный граф содержит все ребра, соединяющие множества V1 è V2, òî его называют полным двудольным графом.

Определение 6.22. Расстоянием между вершинами a и b (обозна чают ρ(a, b)) называют длину самой короткой (a − b)-цепи, а саму крат чайшую цепь называют геодезической. Если (a − b)-цепи не существует, то полагают ρ(a, b) = ∞.

Утверждение 6.2. Введенная функция ρ(a, b) является функцией расстояния (см. определение 5.1).

Доказательство. Пп. 1, 2 очевидны. Докажем п. 3. В силу опреде ления функции ρ существуют цепи (a − b) длины ρ(a, b) è (b − c) длины

ρ(b, c). Тогда существует путь из a â c длины ρ(a, b) + ρ(b, c). Но длина самой короткой (a − c)-цепи (по определению ρ равная ρ(a, c)),очевидно, не больше, чем длина (a − c)-ïóòè.

Теорема 6.19. Граф, имеющий более одной вершины, является дву дольным тогда и только тогда, когда все его циклы содержат ч¼тное число р¼бер.

Упражнение 6.1. Пусть G связный граф, удовлетворяющий усло виям теоремы 6.19, и a0 его произвольная вершина. Определим множе ñòâà V1 è V2 следующим образом:

V1 = {a V|ρ(a0, a) ÷¼òíî}, V2 = {a V|ρ(a0, a) íå÷¼òíî}.

Докажите, что V1 è V2 являются долями двудольного графа G.

Пример 6.7. Рассмотрим двудольный граф G(V, E).

67

Определение 6.23.

v1

v2

 

v3

 

HH

@t @

 

 

t

 

 

 

@t @HHH

 

 

 

@ HH

@

 

 

 

@ HH @

 

 

 

@

H

 

@

 

 

 

@ HHH

@

 

 

 

@

HH @

 

 

 

 

@

HH@

 

d

 

 

@

H@

 

 

d

@d

 

HH@

 

V = V1 V2, ãäå

V1 = {v1, v2, v3}, V2 = {v4, v5, v6}.

v4

v5

v6

Раскрашиванием графа называется процесс со поставления его вершинам цветов так, чтобы смежные вершины были разноцветными. Минимальное число цветов для такой раскраски называ ется хроматическим числом графа.

Теорема 6.20. Для процесса раскрашивания графа справедливы сле дующие свойства:

1.Хроматическое число графа равно 2 тогда и только тогда, когда граф двудольный.

2.Так как деревья и леса не имеют циклов, то они могут быть рас крашены не более чем двумя цветами.

3.Граф, допускающий раскраску одним цветом, является совокупно

стью изолированных вершин, не имеющих ни одного ребра.

 

6.6.Простейшие свойства ориентированных графов

Определение 6.24. Если элементами множества ребер E являют ся упорядоченные пары вершин {a, b}, то граф называется ориентиро

ванным или орграфом и обозначается ~ ~

G(V, E). В этом случае элементы множества V называются узлами, а элементы E дугами. Для дуги

~x = [a, b] узел a начало, а узел b конец дуги.

Для каждого узла имеется две звезды: δ+(a), δ(a) множества выходящих и входящих в a дуг; при этом |δ+(a)| положительная, |δ(a)| отрицательная степени узла a.

Утверждение 6.3. Справедливо равенство

XX

~

|

δ+ a

)| =

|

δa

)|

.

|E| =

(

(

 

a V a V

Доказательство. Каждому ребру нужно сопоставить его начало или его конец.

68

Теорема 6.22.

Определение 6.25. Направленным пут¼м длины l называется по

следовательность a0, ~x1, a1, ~x2, . . . , , al−1~xl, al, ãäå ~xi äóãè [ai−1, ai].

Аналогично определяются понятия открытого, замкнутого, просто го пути, цепи и цикла.

Для орграфов справедливы теоремы, аналогичные теоремам 6.2 и 6.3.

Теорема 6.21. Если различные узлы {a, b} соединены (a → b) пут¼м, то существует (a → b) цепь, построенная из дуг этого пути.

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

Замечание 6.8. Доказательства аналогичны доказательствам тео рем 6.2 и 6.3, но требование простоты для теоремы 6.3 в теореме 6.22 не нужно. Это связано с тем, что в ориентированном графе нет за мкнутых путей, подобных пути: a0, x, a1, x, a0. Â ïóòè a0, ~x, a1, ~y, a0

äâå äóãè ~x = [a0, a1], ~y = [a1, a0], ~x 6= ~y.

Теореме 6.4 соответствует следующая теорема.

Теорема 6.23. Пусть ~ ~

G = (V, E) ориентированный граф и для

справедливо | + | | | ~ любого узла a V δ (a) = δ (a) . Тогда для любой дуги ~x E

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

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

двигаться согласно ориентации дуг: пусть дуга ~x = [a0, a1]. Òàê êàê

|

δ+(a

)

|

=

|

δ(a

)

, то существует дуга ~x

= ~x

, исходящяя из a

, è ò. ä.

1

 

 

1

|

 

 

2 6

1

1

 

 

Аналог теоремы 6.5 можно получить, если считать все дуги при дока

зательстве ориентированными.

 

 

 

 

 

 

Теорема 6.24. Пусть ~

~

 

 

 

 

 

 

 

 

 

 

 

 

G = (V, E) ориентированный граф и для

любого узла графа a V справедливо |δ+(a)| = |δ(a)|. Если множество

ребер графа не пусто, то оно есть объединение дуг некоторого числа ори ентированных циклов, никакие 2 из которых не имеют общих дуг.

Определение 6.26. Пусть ~ ~

G = (V, E) ориентированный граф. Если соответствующий ему неориентированный граф G = (V, E) явля

ется связным, то ~

G называется слабосвязным (т. е. можно попасть из

любой вершины в любую, если не обращать внимания на ориентацию).

Граф ~ G называется сильносвязным, если для любой пары узлов a, b

V существуют (a → b) - и (b → a)-цепи.

69