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

книга по ДМ2

.pdf
Скачиваний:
27
Добавлен:
17.05.2015
Размер:
1.04 Mб
Скачать

Роздiл 7

Теорiя графiв.

Означення 7.0.1. Загальним орiєнтованим графом називається сукупнiсть

G = (V; E; L; @E; @L); яка складається з трьох множин V ¡ множина вершин ( vertexes), E¡ множина ребер (edges),L¡ множина петель (loops) та вiдображень:

@E : E ! V £ V;

@L : L ! V:

При цьому якщо @E(e) = (v1; v2); то вершину v1 будемо називати початком ребра e; а вершину v2 її кiнцем .

Означення 7.0.2. Загальним неорiєнтованим графом називається сукупнiсть

G = (V; E; L; @E; @L); яка складається з трьох множин V ¡ множина вершин ( vertexes), E¡ множина ребер (edges),L¡ множина петель (loops) та вiдображень:

@E : E ! CV2 ¡ множина двохелементних пiдмножин множиниV;

@L : L ! V:

Якщо iснують пари вершин v1; v2 для яких iснують m ребер e : @E(e) = fv1; v2g i m > 1; то говорять про наявнiсть кратних ребер. Iнодi говорять, що вершини v1; v2 мають спiльне ребро кратностi m:

Означення 7.0.3. Граф без кратних ребер та петель називається простим.

Простий граф визначається трiйкою (V; E; @E):

Приклад 7.0.1. Прикладами простих графiв є цiлком незв’язний граф у якого E = ?; тобто граф, у якого немає жодного ребра. Протилежним прикладом є повний граф, у якого будь-якi двi вершини з’єднанi ребром.

Питання. Скiльки ребер має повний граф на n вершинах?

111

Приклад 7.0.2. Наведемо ще декiлька важливих прикладiв.

Означення 7.0.4. i) В орiєнтованому (неорiєнтованому) графi вершини v1; v2 називаються сумiжними, якщо iснує ребро

e 2 E : @E(e) = (v1; v2) (@E(e) = fv1; v2g);

при цьому говорять, що ребро e є iнцидентним як вершинi v1 так i вершинi v2.

ii)В орiєнтованому (неорiєнтованому) графi ребра e1; e2 називаються сумiжними, якщо впорядкованi пари @E(e1); @E(e2) мають спiльнi координати ( множини @E(e1) i @E(e2) мають спiльну вершину).

iii)Вершина v та ребро e називаються iнцидентними, якщо ребро e є iнцидентним вершинi v:

iv)Вершина v та петля l називаються iнцидентними, якщо @L(l) = v:

Означення 7.0.5. Кiлькiсть ребер iнцидентних данiй вершинi v плюс подвоєна кiлькiсть iнцидентних їй петель називають степенем або валентнiстю вершини i позначають deg v

Означення 7.0.6. Простий граф називається регулярним, якщо всi його вершини мають однаковий степiнь.

Приклад 7.0.3. Прикладами регулярних графiв є правильнi многогранники - тетраедр, куб, октаедр iкосаедр, додекаедр. В рiзних задачах часто виникає

граф Петерсона:

Як бачимо, кожна вершина цього графу має степiнь 3.

112

Лема 7.0.1. (про рукопотискання). Для довiльного графу G = (V; E; L; @E; @L)

має мiсце

X

(7.1)

 

 

deg v = 2(jEj + jLj):

v2V

Доведення. Пiдрахуємо кiлькiсть ребер iнцидентних рiзним вершинам i пiдсумуємо цi числа по всiм вершинам. Очевидно, що ми отримаємо подвоєну кiлькiсть ребер графа. Адже кожне ребро iнцидентне двом вершинам, а отже буде враховано два рази. Оскiльки степiнь кожної вершини є сумою кiлькостi iнцидентних їй ребер та подвоєної кiлькостi петель, то цим лема доведена.

Назва леми пов’язано з наступною iнтерпретацiєю. Нехай є певна кiлькiсть людей, з кожним з яких ми зв’яжемо вершину графа. Двi вершини будуть сумiжними, якщо цi люди потискали один одному руку. Цiлком можливо iснування пар, якi привiталися декiлька разiв (таке буває коли забули про те, що сьогоднi вже вiталися), менш ймовiрно (хоча чого не буває), що якась людина привiталася сама з собою. При такiй iнтерпретацiї, в правiй частинi рiвностi (7.1) стоїть подвоєна загальна кiлькiсть рукопотискань, що вiдбулися, а у лiвiй пiдсумовуються кiлькостi рукопотискань зроблених усiма особами.

Означення 7.0.7. Для даного орiєнтованого (неорiєнтованого) графа можна скласти матрицю сумiжностi

0

 

 

v1 v2 v3

: : : vn

1

 

 

 

v1

 

¤ ¤ ¤

: : : ¤

 

B v2

 

¤ ¤ ¤

:: :: :: ¤

C

;

B

3

 

¤

¤

¤

 

¤

C

 

B

v

 

 

C

 

B

: : :

 

: : : : : : : : :

: : : : : :

C

 

B

 

 

 

 

 

: : :

 

C

 

B vn

 

 

 

 

 

C

 

@

 

 

¤

¤

¤

 

¤

A

 

Де на перетинi рядка та стовпчика, що вiдповiдають вершинам vi; vj (vi 6= vj) стоїть число * ребер e : @E(e) = (vi; vj); а на дiагоналi стоять кiлькостi петель l iнцидентних вiдповiднiй вершинi v; тобто ¤ = jfl 2 Lj@(l) = vgj:

Для неорiєнтованого графа ¤ буде означати кiлькiсть ребер e : @E(e) = fvi; vjg i матриця сумiжностi буде симетричною вiдносно дiагоналi.

Для простого графа будемо мати матрицю з нулiв та одиниць з нульовою дiагоналлю.

Означення 7.0.8. Для простих графiв розглядають також реберну матри-

113

цю сумiжностi:

0

 

 

 

 

 

 

1

 

 

 

e1

e2

e3

: : : en

 

 

e1

¤

¤

¤

: : : ¤

 

 

B e2

¤ ¤ ¤

: : :

¤

C

;

 

B

3

¤

¤

¤

 

¤

C

 

 

B

e

: : :

C

 

 

B

: : :

: : : : : : : : :

: : : : : :

C

 

 

B

 

 

 

 

: : :

 

C

 

 

B en

 

 

 

 

C

 

 

@

 

¤

¤

¤

 

¤

A

 

де ¤ дорiвнює 1; якщо вiдповiднi ребра сумiжнi i 0; в протилежному випадку.

Означення 7.0.9. Для неорiєнтованих графiв може бути корисною матриця iнцидентностi:

0

 

 

e1

e2

e3

: : : en

1

 

 

 

v1

 

¤

¤

¤

: : : ¤

 

 

v

 

¤ ¤ ¤

:: :: :: ¤

C

 

B v2

 

;

B

3

 

¤

¤

¤

 

¤

C

 

B

: : :

 

 

C

 

B

 

: : : : : : : : :

: : : : : :

C

 

B

 

 

 

 

 

: : :

 

C

 

B vm

 

 

 

 

 

C

 

@

 

 

¤

¤

¤

 

¤

A

 

де ¤ дорiвнює 1; якщо вiдповiдна вершина та ребро iнцидентнi i 0; в протилежному випадку.

Означення 7.0.10. Два простих графа G1 = (V1; E1; @E1); G2 = (V2; E3; @E2)

називаються iзоморфними, якщо iснує бiєкцiя мiж множинами вершин:

Á : V1 $ V2;

така, що

вершини v; v1 2 V1 сумiжнi , вершини Á(v); Á(v1) 2 V2 сумiжнi

Розглянемо два графи G1 i G2.

1

2

3

4

5

6

114

a

 

b

 

 

 

f

c

e

d

Обидва вони є регулярними графами степеня 3 i як бачимо картинки суттєво рiзняться, але насправдi цi графи iзоморфнi. Iзоморфiзм визначає наступна бiєкцiя Á :

1 7!a

2 7!c

3 7!e

4 7!f

5 7!d

6 7!b

Завдання. Побудуйте ще декiлька iзоморфiзмiв мiж цими графами. Наведенi графи є прикладами так званих дводольних графiв.

Означення 7.0.11. Граф називається дводольним, якщо множину його вершин можна розбити на двi пiдмножини (долi) V1; V2 таким чином, що жодна двi вершини з однiєї долi не є сумiжними.

Питання. За яких умов цикл є дводольним графом?

Для загальних графiв означення iзоморфiзму бiльш складне. Адже треба враховувати кратнiсть ребер та петель, а для орграфiв узгоджувати напрямки ребер.

Означення 7.0.12. Графи G1 = (V1; E1; L1; @E1; @L1); G2 = (V2; E2; L2; @E2; @L2);

називаються iзоморфними, якщо iснують бiєкцiї:

Á : V1 $ V2; Ã1 : E1 $ E2; Ã2 : L1 $ L2

такi, що

@E2(Ã1(e)) = Á(@E1(e)) @L2(Ã2(l)) = Á(@E1(l)):

115

В правiй частинi першої рiвностi стоїть упорядкована або неупорядкована пара вершин, яка отримана застосуванням вiдображення Á до кожного елемента пари вершин @E1(e):

7.1Операцiї над графами.

1. Об’єднанням графiв G1 = (V1; E1; L1; @E1; @L1); G2 = (V2; E2; L2; @E2; @L2);

якi не мають спiльних вершин (V1 \ V2 = ?), а отже i ребер (E1 \ E2 = ?) називається граф

 

 

 

 

G1 [ G2 = (V1 [ V2; E1 [ E2; L1 [ L2; @E1[E2; @L1[L2);

 

у якого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

@E

1[

E

(e) =

½

@E1

(e)

якщо

e 2 E1

@L

 

L

(l) =

½

@L1

(l)

якщо

l 2 L1

 

2

 

@E2

(e)

якщо

e 2 E2

 

1

[ 2

 

@L2

(l)

якщо

l 2 L2

Означення 7.1.1. Граф називається зв’язним, якщо його не можна подати як об’єднання двох графiв.

2. З’єднанням (конкатинацiєю) графiв

G1 = (V1; E1; L1; @E1; @L1); G2 = (V2; E2; L2; @E2; @L2); якi не мають спiльних вершин (V1 \ V2 = ?), а отже i ребер (E1 \ E2 = ?) називається граф

G1 [ G2 = (V1 [ V2; E1 [ E2 [ E12; L1 [ L2; @E1[E2[E12; @L1[L2);

при цьому множина нових ребер E12 така, що

8v1 2 V1; v2 2 V29!e 2 E1;2 : @E1[E2[E12(e) = fv1; v2g:

2. Доповненням простого графа G = (V; E; @E) називається граф G =

e

(V; E; @E); такий, що довiльна пар вершин є сумiжними в графi G тодi i тiльки тодi, коли вони не є сумiжними в графi G:

7.2Маршрути, ланцюги, цикли.

Означення 7.2.1. Нехай G¡ загальний неорiєнтований граф, пара вершин v1; vm та скiнченна послiдовнiсть ребер e1; e2; : : : ; em : називається маршрутом (шляхом) мiж вершинами v1; vm, якщо

v1 iнцидентна e1; vm iнцидентна em; а послiдовнi пари ребер e1; ei є сумiжними для довiльного i : 1 < i · m: При цьому вершина v1 i називається

початком маршруту, а vm її кiнцем.

116

Для орiєнтованих графiв слiд вимагати, щоб кiнець ребра e1 збiгався з початком ребра ei:

Якщо всi ребра маршруту є рiзними, то маршрут називають ланцюгом, а якщо початок i кiнець ланцюга збiгаються, то ланцюг називається замкненим або циклом.

Якщо всi вершини, що iнцидентнi ребрам ланцюга, з’являються лише один раз, тобто кожна вершина є iнцидентною ребрам лише одної пари e1; ei , крiм можливо початку та кiнця, якi можуть i збiгатися, то такий ланцюг будемо називати простим.

Простий замкнений ланцюг називається простим циклом.

Лема 7.2.1. Якщо в скiнченному графi степiнь кожної вершини графа не менша нiж 2, то граф має принаймнi один цикл.

Доведення. Оберемо довiльну вершину вiдмiтимо її (наприклад "пофарбуємо") i "пiдемо"по довiльному iнцидентному їй ребру (воно iснує бо степiнь вершини не менша нiж 2). Досягши сумiжної вершини вiдмiтимо її i "пiдемо"далi по iншому ребру, яке iснує внаслiдок умови на степiнь вершини. При такiй прогулянцi, якщо ми приходимо у вершину, в якiй ще не були, то завжди є iнше ребро, по якому можна вийти. Але оскiльки граф має скiнченну кiлькiсть вершин, то рано чи пiзно ми попадемо у вершину, в якiй були ранiше, i цим побудуємо цикл.

На множинi вершин графа G можна розглянути вiдношення: v1 » v2 тодi i лише тодi, коли iснує маршрут з початком у вершинi v1 i кiнцем у вершинi v2: Самостiйно переконайтеся, що це вiдношення є вiдношенням еквiвалентностi. Очевидно, що вершини, якi належать рiзним класам еквiвалентностi, є не сумiжними. Отже, граф G можна подати як об’єднання

[k

G = Gi;

i=1

де Gi¡ граф множина вершини якого збiгається з певним класом еквiвалентностi, разом з iнцидентними їм ребрами. При цьому, очевидно, що графи Gi будуть зв’язними. Вони називаються компонентами зв’язностi графа G: У зв’язного графа є лише одна компонента зв’язностi.

Означення 7.2.2. Ребро графа називається мостом, якщо пiсля його вилучення кiлькiсть компонент зв’язностi збiльшується.

Зауважимо, що жодне ребро, що входить у замкнений ланцюг не є мостом.

117

Теорема 7.2.1. Нехай G = (V; E; @E)¡ простий граф з n = jV j вершинами, m = jEj ребрами та k компонентами зв’язностi. Тодi мають мiсце наступнi

нерiвностi.

 

 

 

 

 

(n ¡ k)(n ¡ k + 1)

 

n

¡

k

·

m

·

(7.2)

 

 

 

2

Доведення. Доведення нерiвностi n ¡ k · m проведемо методом математичної iндукцiї по числу ребер.

База iндукцiї m = 0: Маємо цiлком незв’язний граф (кiлькiсть компонент дорiвнює кiлькостi вершин n = k), отже n ¡ n = 0 i базу доведено.

Припустимо, що нерiвнiсть доведено для графiв з кiлькiстю ребер меншою за m: Оберемо довiльне ребро графа i вилучаємо його з графа залишивши всi вершини i решту ребер. При цьому можливi два випадки:

i)кiлькiсть компонент зв’язностi не змiнилася i дорiвнює k;

ii)кiлькiсть компонент зв’язностi збiльшилася i дорiвнює k + 1.

Оскiльки кiлькiсть ребер у отриманого графа дорiвнює m ¡ 1; то за припущенням iндукцiї у випадку i) будемо мати: n ¡ k · m ¡ 1; а отже, n ¡ k < m: У випадку ii) отримуємо n ¡ (k + 1) · m ¡ 1; звiдки n ¡ k · m:

Для доведення другої нерiвностi в графi G = Ski=1 Gi оберемо компоненту зв’язностi з найбiльшою кiлькiстю вершин. Якщо таких декiлька, то одну з них. Не втрачаючи загальностi можна вважати, що це G1: Для довiльної компоненти Gi; що мiстить бiльше нiж одну вершину, виконаємо таку операцiю:

1)виберемо довiльну вершину i вилучимо її разом з усiма ребрами, що їй iнцидентнi;

2)додамо у компоненту G1 одну вершину i стiльки ребер, щоб ця вершина стала сумiжною до будь-якої вершини з цiєї компоненти.

Очевидно, що при цьому кiлькiсть вершин та кiлькiсть компонент зв’язностi у нового графа залишаться не змiнними, а кiлькiсть ребер принаймнi не зменшиться (згадаємо, що G1 мiстить максимальну кiлькiсть вершин). Цю процедуру будемо повторювати до тих пiр доки в компонентi Gi не залишиться одна вершина i не буде жодного ребра. Повторивши цю процедуру з усiма компонентами Gi; i > 1; ми отримаємо граф на n вершинах з k компонентами зв’язностi, причому всi вони, крiм першої, складаються з однiєї iзольованої вершини. Тодi, кiлькiсть вершин першої компоненти дорiвнює (1): Максимально можлива кiлькiсть ребер у такого графа буде тодi, коли ця компонента буде повним

графом. Тодi число ребер такого графа буде дорiвнювати: C2

= (n¡k)(n¡k+1)

;

n¡k+1

2

 

що i треба було довести.

 

 

118

7.3Ейлеровi графи.

Нехай G = (V; E; L; @E; @L)¡ загальний неорiєнтований граф.

Означення 7.3.1. Замкнений ланцюг графа, G; що мiстить всi ребра графа називається ейлеровим; граф що має ейлеровий цикл називається ейлеровим; граф, що мiстить ланцюг, що проходить через усi ребра називається

напiвейлеровим.

Вкажiть якi з цих графiв є ейлеровими та напiвейлеровими.

119

Теорема 7.3.1. Скiнченний зв’язний граф G є ейлеровим тодi i лише тодi, коли степiнь кожної його вершини парна.

Доведення. ) : Якщо граф є ейлеровим, то iснує ейлеровий цикл. Оскiльки вiн мiстить усi вершини, то для кожної з них iнцидентнi їй ребра розбиваються на пари ( вхiдне, вихiдне ребра,). При цьому для початкової вершини i першого ребра циклу iснує ребро по якому ми повернулись в неї. Цим необхiднiсть умови доведена.

( : Доведення достатностi проведемо методом математичної iндукцiї по кiлькостi ребер графа. Якщо граф ребер не мiстить ребер, то вiн складається з однiєї iзольованої вершини i твердження тривiальне. Припустимо, що граф G має m ребер i для графiв з меншою кiлькiстю ребер твердження має мiсце. Оскiльки степiнь кожної вершини графа G не менша нiж 2 (умова парностi степеня), то за лемою 7.2.1 в ньому iснує цикл. Тимчасово вилучаємо ребра цього циклу (запам’ятавши вершини якi утворювали цикл). Кожна вершина отрима-

~

 

 

 

ного графа G має парний степiнь, адже з кожної вершини циклу вилучалась

~

 

 

k

пара ребер. Тодi кожна компонента зв’язностi графа G =

 

i=1 Gi задовольняє

умовi твердження, а оскiльки кожна з них має меншу

кiлькiсть ребер, то мо-

 

S

 

жна застосувати припущення iндукцiї i в кожнiй з них побудувати ейлеровий цикл. Тепер вiдновимо заново граф G: Початкова вершина циклу належить до вiдповiдної компоненти Gi i ми рухаємося по побудованому ранiше ейлеровому циклу i вертаємося в цю ж вершину. Пiсля цього по ребру циклу переходимо в наступну вершину. Якщо ця вершина належить тiй самiй компонентi зв’язностi Gi, що i попередня, то продовжуємо рух по ребру цикла. Якщо ж ми попали

вiншу компоненту Gk; то проходимо її по ранiше побудованому ейлеровому циклу i вертаємося в цю ж вершину. Продовжуючи цей процес ми повернемося

впочаткову вершину i пройдемо кожне ребро графа G по одному разу. Таким

чином буде побудовано ейлеровий цикл всього графа G:

120

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]