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

Информатика конспект лекций_2012

.pdf
Скачиваний:
59
Добавлен:
28.03.2015
Размер:
6.29 Mб
Скачать

Пример 4. 1. Последовательность v1x2v2x3v4x4v3 – маршрут, соединяющий вершины v1, v3 в графе G (см. пример 2).

2.Последовательность v1x2v2x3v2x4v3 путь из v1 в v3 в ориентированном псевдографе D (см. пример 1).

Замечание 3. Последовательность v1х1v2х2v3... хkvk+1 можно однозначно восстановить по последовательности х1...хk, а следовательно, вместо нее можно использовать более короткую запись х1...хk. Отметим далее, что в случае, когда в последовательности v1х1v2х2v3... хkvk+1

х1,…,хk имеют кратности, равные 1, ее можно однозначно восстановить по последовательности вершин v1...vk+1, а следовательно, вместо нее также можно использовать более короткую запись v1...vk+1. В общем случае вместо последовательности v1х1v2х2v3... хkvk+1 можно использовать сокращенную последовательность, в которой опущены

все xi кратности 1.

Пример 5. 1. Последовательности х1х3х4, v1v2v4v3 сокращенные записи маршрута, приведенного в примере 4, п. 1.

2.Последовательности х2х3х4, v1x2v2v2v3 сокращенные записи пути, приведенного в примере 4, п. 2.

Пусть х1х2…хk маршрут в графе G (см. замечание 3) и для некоторой последовательности номеров i1,...,ir, где r1, 1i1 < i2<...< ir k,

xi1,xi2...xir снова является маршрутом в графе G. Тогда xi1,xi2...xir называется подмаршрутом маршрут та x1x2...xk. При этом будем говорить, что маршрут xi1,xi2...xir выделен из маршрута x1x2...xk. Аналогично определяется подпуть, выделенный из пути орграфа. Число ребер (дуг) в маршруте (пути) называется длиной маршрута (пути).

Маршрут (путь) v1х1v2х2v3... хkvk+1 называется замкнутым, если его начальная вершина совпадает с конечной, т. е. если v1 = vk+1.

Замечание 4. Далее всюду при подсчете числа вхождения вершин в замкнутый маршрут (путь) начальную и конечную вершины будем считать за одно вхождение этой вершины в маршрут (путь).

Замечание 5. При замкнутом маршруте (пути) x1x2...xk обычно считается, что последовательности x1x2...xk, x2x3...xkx1,..., xkx1x2...xk-1 различные записи одного и того же маршрута (пути). Незамкнутый маршрут (путь), в котором все ребра (дуги) попарно различны, называется цепью. Цепь, в которой все вершины попарно различны, назы-

вается простой цепью.

Замкнутый маршрут (путь), в котором все ребра (дуги) попарно различны, называется циклом (контуром). Цикл (контур), в котором все вершины попарно различны (см. замечание 4), называется про-

стым.

40

Пример 6. Рассмотрим граф G из примера 2. Тогда:

1)v1x1v2x3v4x4v3 маршрут длины 3, соединяющий v1, v3; это простая цепь, так как все ребра и вершины попарно различны;

2)v2x2v3x4v4x3v2 замкнутый маршрут длины 3; это простой цикл, так как все ребра и вершины попарно различны;

3)v1x1v2x2v3x4v4x3v2 маршрут длины 4, соединяющий вершины v1, v2; это цепь, которая не является простой, так как вершина v2 встречается дважды;

4)v1x1v2x2v3x2v2 маршрут длины 3, соединяющий вершины v1, v2

ине являющийся цепью, так как ребро x2 = {v2, v3} встречается дважды.

Пример 7. Рассмотрим ориентированный псевдограф D из примера 1. Тогда:

1)v1x1v2x4v3 путь длины 2 из v1 в v3; это простая цепь так, как все дуги и вершины попарно различны;

2)v2x3v2 простой контур длины 1;

3)v1x2v2x3v2x4v3 цепь из v1 в v3 длины 3, которая не является про-

стой.

Нетрудно показать, что в псевдографах, мультиграфах и графах минимальная длина простого цикла равна соответственно 1, 2 и 3 (каковы минимальные длины простых контуров в ориентированных псевдографах, мультиграфах и графах?).

Утверждение 3. В псевдографе G (в ориентированном псевдографе D) из всякого цикла (замкнутого пути) можно выделить простой цикл (простой контур).

Доказательство будем проводить для G (для D доказательство аналогично) индукцией по k – количеству ребер в цикле. При k = 1 всякий цикл является простым. Пусть при некотором k 2 доказываемое утверждение справедливо для любого цикла длины k-1. Покажем его справедливость для произвольного цикла µ = v1x1...vkxkv1

длины k. Рассмотрим любые два номера i, j, где 1i< jk, такие, что vi = vj. Если таких номеров нет, то цикл µ является простым (по определению). Если же указанные номера нашлись, то рассматриваем цикл vixi...vj-ixj-ivj длины j-ik-1, а из него в силу индуктивного предположения можно выделить простой цикл.

Утверждение 4. Из всякого незамкнутого маршрута (пути) можно выделить простую цепь с теми же начальной и конечной вершинами.

41

Доказательство будем проводить для маршрута (для пути доказательство аналогично) индукцией по k – количеству ребер в маршруте. При k =1 всякий маршрут является простой цепью. Пусть при некотором k 2 доказываемое утверждение справедливо для любого маршрута длины k-1. Покажем его справедливость для произвольного маршрута η = vixiv2...xkvk+i, где v1 vk+1, длины k. Рассмотрим два номера i, j, где 1i< jk +1 такие, что vi = vj. Если таких номеров нет, то маршрут n является простой цепью. Если же указанные номера на-

шлись, то рассматриваем подмаршрут η1 =v1x1v2...xi-lvixjvj+1...xkvk+1 (т. е. предполагаем, что i1, jk + 1; случаи, когда i = l или j = k + 1, рассмотрите самостоятельно) длины k-1, а из него, в силу индуктивного предположения, можно выделить простую цепь, соединяющую

вершины v1, vk+1.

Введем понятие композиции путей (маршрутов). Пусть

π 1 = v1x1v2...xk-1vk, π 2 = vkxkvk+1...xl-1vl пути в орграфе D, где k 2, l k+1.

Назовем путь π 1 o π 2 = v1x1v2...xk-1vkxkvk+1...xl-1vl (очевидно, что π 1 o π 2 путь в D) композицией путей π 1, π 2. Аналогично определя-

ется композиция маршрутов.

Матричное задание графов. Матрицы смежности, инцидентности

Пусть D = (V, X) – орграф, где V = {V1,..., vn}, X = {x1,...,xm}.

Матрицей смежности орграфа D называется квадратная матрица A(D) = [аij] порядка n, у которой

1,если (vi ,v j

) X ;

aij = 0,если (vi ,v j

) X .

Матрицей инцидентности (или матрицей инциденций) орграфа

D называется (n×m) матрица B(D) = [bij], у которой

 

является концом дуги x j ;

1, если вершина vi

 

 

bij = -1, если вершина vi является началом дуги xj ;

 

неинцидентна дуге x j .

0, если вершина vi

Введем также матрицы смежности и инцидентности для неориентированных графов. Пусть G = (V, X) – граф, где V = {V1,..., vn},

X = {x1,...,xm}.

42

Матрицей смежности графа G называется квадратная матрица A(G) = [aij] порядка n, у которой

aij =

1,если (vi ,v j

) X ;

0,если (vi ,v j

) X .

Матрицей инцидентности графа G называется (n×m) – матрица B(G) = [bij], у которой

1, если вершина

v

i

инцидентна ребру

x

j

;

 

 

 

 

 

 

 

 

 

 

 

bij =

v

 

неинцидентна ребру

x

 

.

0, если вершина

i

j

 

 

 

 

 

 

 

 

 

Пример 8. Для орграфа D, изображенного на рис. 6, матрица А(D) приводится в табл. 4, а матрица B(D) – в табл. 5.

Таблица 4

Матрица А(D)

 

v1

v2

v3

v1

0

1

0

v2

1

0

1

v3

1

0

0

Таблица 5

Матрица B(D)

 

x1

x2

x3

x4

v1

-1

0

1

1

v2

1

-1

0

-1

v3

0

1

-1

0

Рис. 6. Орграф D

Пример 9. Для графа G, изображенного на рис. 7, матрица A(G) приводится в табл. 6, а матрица B(G) – в табл. 7.

 

 

 

Таблица 6

 

 

 

 

Таблица 7

 

Матрица A(G)

 

 

 

Матрица B(G)

 

 

v1

v2

v3

 

 

 

x1

 

x2

v1

 

0

1

1

 

v1

 

1

 

1

v2

 

1

0

0

 

v2

 

1

 

0

v3

 

1

0

0

 

v3

 

0

 

1

43

Замечание 6. Матрицу смежности можно определить и для псевдографов. Тогда в случае ориентированного (неориентированного) псевдографа аij = k, где k-кратность дуги (vi, vj) (ребра {vi, vj}) в этом псевдографе.

Рис. 7. Граф G

Определение матрицы инцидентности без изменений переносится и на произвольные мультиграфы (ориентированные и неориентированные) и даже на неориентированные псевдографы.

Пример 10. Для ориентированного псевдографа D, изображенного на рис. 8, матрица A(D) приводится в табл. 8.

 

 

 

Таблица 8

 

Матрица A(D)

 

v1

v2

 

v3

v1

1

2

 

0

v2

0

0

 

0

v3

2

3

 

2

Рис. 8. Псевдограф D

Нетрудно видеть, что матрица A(G) является симметричной для любого неориентированного графа G. Матрица A(D), где D – орграф, в общем случае не является симметричной (см. примеры 8 и 10).

По матрице смежности графа (орграфа) всегда можно определить ребра графа (дуги орграфа) как пары инцидентных им вершин, а для псевдографов, кроме того, и кратности ребер (дуг). Однако, если ребра (дуги) были пронумерованы, то восстановить их номера по матрице смежности невозможно. В этом смысле матрица инцидентности оказывается более информативной, чем матрица смежности, поскольку позволяет получить полную информацию о ребрах (дугах), вклю-

44

чая их нумерацию непосредственно из определения матрицы А = А(D). Предположим, что доказанное утверждение справедливо при k. Покажем его справедливость и при k = k +1. Обозначим через П (D, vi, vj, r), где r1, множество путей длины r из vi в vj в ориентированном псевдографе D. Разобъем множество путей П (D, vi, vj, k+1) на п групп. Первая группа – это множество П (D, vi, v1, vj, k+1) путей с предпоследней вершиной v1, вторая группа – множество П (D, vi, v2, vj, k+1) путей с предпоследней вершиной v2 и т. д., n-я группа – множество П (D, vi, vn, vj, k+1) путей с предпоследней вершиной vn. Очевидно, что совокупность указанных групп является разбиением множества П(D, vi, vj, k+1). Заметим, что по правилу произведения

П(D, vi, vl, vj, k+1)| =| П(D, vi, vl, k) || П(D, vl, vj, 1)| = | П(D, vi, vl, k)|aij, где l=1,2,…,n

Отсюда, используя то, что в силу индуктивного предположения

выполняется равенство | П(D, vi, vl, k) | = a(k)il, получаем |П(D, vi, vl, vj,

k+1)| = a(k+1)ij.

С помощью введенных матриц удобно задавать графы (орграфы) для обработки на ЭВМ. Однако следует отметить, что при большом количестве вершин матрица смежности оказывается громоздкой и число элементов в ней может превысить допустимый объем оперативной памяти ЭВМ. То же можно сказать и о матрице инцидентности, причем ее размеры зависят, кроме того, и от количества ребер, (дуг).

Приведем очевидные свойства матриц смежности и инцидентности:

1.Сумма элементов матрицы A(G), где G = (V, X)-мультиграф, V = {v1,...,vn}, по i-й строке (или по i-му столбцу равна δ (vi).

2.Суммы элементов матрицы A(D), где D = (V,X)-opиенти- рованный псевдограф, V={v1,...,vn}, по i-й строке и по i-му столбцу

соответственно равны δ+(vi), δ(vi).

3. Пусть D – ориентированный мультиграф с непустым множеством дуг. Тогда:

а) сумма строк матрицы В(D) является нулевой строкой;

б) любая строка матрицы B(D) является линейной комбинацией остальных строк;

в) ранг матрицы B(D) не превосходит n(D)-1;

г) для любого контура в D сумма столбцов матрицы B(D), соответствующих дугам, входящим в этот контур, равна нулевому столбцу.

45

4. Пусть G – мультиграф с непустым множеством ребер. Тогда при покоординатном сложении по модулю 2:

a) сумма строк матрицы В(G) является нулевой строкой;

б) любая строка матрицы B(G) является суммой остальных строк; в) для любого цикла в G сумма столбцов матрицы В(G) соответ-

ствующих ребрам, входящим в этот цикл, равна нулевому столбцу. Обозначим через А(k)=[a(k)ij] k-ю степень матрицы смежности

A=A(D) орграфа D (аналогичное обозначение вводим для графа G). Утверждение 5. Элемент а(k)ij матрицы А(k) ориентированного

псевдографа D = (V,X) (псевдографа G = (V,X)), где V={v1,...,vn}, равен числу всех путей (маршрутов) длины из vi в vj (соединяющих vi, vj).

Доказательство проведем для D (для G оно аналогично) индукцией по k. При k = 1 справедливость доказываемого утверждения

следует.

Утверждение 5 имеет многочисленные следствия. Приведем, например, утверждение, позволяющее по степеням матрицы смежности определять наличие контуров в орграфе D. Матрица инцидентности оказывается более информативной, чем матрица смежности, поскольку позволяет получить полную информацию о ребрах (дугах), включая их нумерацию.

Утверждение 6. Для того, чтобы n-вершинный орграф D с матрицей смежности A=A(D) имел хотя бы один, контур, необходимо и достаточно, чтобы матрица K = A2+ A3+…+ An имела ненулевые диагональные элементы.

Достаточность. Пусть K = [kij] и для некоторого номера i выполняется kii > 0. В этом случае для некоторого r ={2,...,n} справедливо a(r)ii > 0), а следовательно, в силу утверждения 5 найдется путь в D из vi в vi. Но тогда в силу утверждения 3 в орграфе D найдется простой контур.

Необходимость. Пусть в орграфе D имеется некоторый контур. В утверждении 3 было показано, что из всякого контура можно выделить простой контур. Нетрудно видеть, что длина простого контура не превышает числа вершин п. Но тогда, в силу утверждения 5, для

любой вершины vi, принадлежащей некоторому простому контуру длины l, где 2 l n, элемент a(l)ii матрицы Аl отличен от нуля, а сле-

довательно, и элемент kii матрицы К отличен от нуля.

Замечание 5. В случае ориентированного n-вершинного псевдографа D, для существования в D контура необходимо и достаточно, чтобы матрица K = A2+ A3+…+ An имела ненулевые диагональные элементы. Доказательство аналогично.

46

Связность. Компоненты связности

Говорят, что вершина w орграфа D (графа G) достижима из вершины v, если либо w = v, либо существует путь из v в w (маршрут, соединяющий v, w).

Граф (орграф) называется связным (сильно связным), если для любых двух его вершин v, w существует маршрут (путь), соединяю-

щий v, w (из v в w).

Орграф называется односторонне связным, если для любых двух его вершин, по крайней мере, одна достижима из другой.

Псевдографом, ассоциированным с ориентированным псевдографом D = (V, X), называется псевдограф G = (V, Хо), в котором Х0 получается из Х заменой всех упорядоченных пар (v, w) на неупорядоченные {v, w} (рис. 9, где а – ориентированный псевдограф; б – ассоциированный с ним псевдограф).

а

б

Рис. 9. Псевдографы

Орграф называется слабо связным, если связным является ассоциированный с ним псевдограф.

Если граф (орграф) не является связным (слабо связным), то он называется несвязным.

Компонентой связности (сильной связности) графа G (орграфа D)

называется его связный (сильно связный) подграф, не являющийся собственным подграфом никакого другого связного (сильно связного) подграфа графа G (орграфа D).

Пример 11. У графа, изображенного на рис. 10, три компоненты связности.

Рис. 10. Граф

47

Пример 12. У орграфа, изображенного на рис. 11, а, три компоненты сильной связности, показанные на рис. 11, б.

ϑ2 ϑ4

а

б

Рис. 11. Компоненты связности графа

Из определения компоненты связности (сильной связности) заключаем, что справедливо:

Утверждение 7.

1.Пусть G1 = (V1, X1) – компонента связности графа G. Тогда G1 – подграф графа G, порожденный множеством V1.

2.Пусть D1 = (V1, X1) – компонента сильной связности орграфа D. Тогда D1 – подграф орграфа D, порожденный множеством V1.

Замечание 6. Утверждение 7 остается в силе и для произвольных псевдографов (ориентированных и неориентированных).

Нетрудно показать, что справедливы следующие утверждения.

Утверждение 8. Пусть G = (V, X) - псевдограф с р-компонентами связности: G1 = (V1,X1),..., Gp = (Vp, Хр). Тогда:

1) V = V1 UV2 U... UVp , X = X1 U X 2 U... U X p ,

т.е. G = G1 U G2 U... U G p ;

2) Vi IV j = , X i I X j = при i j;

3) n(G1) +...+ n(Gp) = n{G), m(G1) +...+ m(Gp) = m (G).

Утверждение 9. Пусть D = (V, X) – ориентированный псевдограф с р-компонентами сильной связности: D1= (V1, X1), ...,

Dp = (Vp, Xp). Тогда:

1)

V = V1 UV2 U... UVp , X X1 U X 2 U... U X p ;

2)

Vi IV j

= , X i I X j = при i j;

3) n(G1)+

...+n(Gp) = n{G), m(G1)+...+m(Gp)m(G).

 

 

48

Утверждение 10. Пусть ρ – отношение достижимости на множестве V вершин псевдографа G, т. е. v ρ w тогда и только тогда, когда

либо v = w, либо существует маршрут, соединяющий v, w. Тогда:

1)ρ – эквивалентность на V;

2)v ρ w тогда и только тогда, когда вершины v, w принадлежат

одной компоненте связности псевдографа G;

3)для любого класса эквивалентности V1 V/ ρ псевдограф G1, по-

рожденный множеством V1, является компонентой связности псевдографа G;

4)для любой компоненты связности G1 = (V1, X1) псевдографа G выполняется V1 V/ ρ .

Утверждение 11. Пусть ρ1 – отношение достижимости на множестве V вершин ориентированного псевдографа D, т. е. v ρ1 w тогда

итолько тогда, когда вершина w достижима из v. Пусть также

ρ2 – отношение двусторонней достижимости на V, т. е. ρ2 = ρ1 I ρ11

Тогда:

1)ρ1 – рефлексивно, транзитивно;

2)ρ2 эквивалентность на V;

3)v ρ2 w тогда и только тогда, когда вершины v, w принадлежат

одной компоненте сильной связности ориентированного псевдографа D;

4)для любого класса эквивалентности V1 V/ ρ2 ориентированный псевдограф D1, порожденный множеством V1, является компонентой сильной связности ориентированного псевдографа D;

5)для любой компоненты сильной связности D1 = (V1,X1) ориен-

тированного псевдографа D выполняется V1 V / ρ2 .

В дальнейшем количество компонент связности графа G будем обозначать через p(G). Аналогично, через p(D) будем обозначать количество компонент сильной связности орграфа D.

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

Вершина графа, удаление которой увеличивает число компонент связности, называется разделяющей (или точкой сочленения).

49