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

Учебное пособие 800365

.pdf
Скачиваний:
10
Добавлен:
01.05.2022
Размер:
1.97 Mб
Скачать

ласти – это порожденный подграф, а карта всех федеральных трасс России – это остовный подграф.

ПРИМЕР 2.6. На рис. 2.7, а изображен данный граф, 2.7, б – остовный подграф, 2.7, в – порожденный подграф, 2.7, г – подграф.

x2

x1

x6

x5

x3 x1

x4 x6

x2

x2

x2

 

 

 

x3 x1

x1

x3

 

x3

 

x4

x4

 

x5

x4

 

а)

б)

в)

г)

 

 

Рис. 2.7

 

2.2.Практические задания

1.Изобразите графически следующие графы:

а) G1 = ({x1, x2 , x3},{(x1, x2 ), (x1, x3 ), (x1, x1 ), (x2 , x3 )}) ;

б) G2 = ({x1, x2 , x3 , x4},{(x1, x2 ), (x1, x4 ), (x2 , x4 ), (x3 , x3 ), (x3 , x4 ), (x4 , x1 )}) .

2. Для изображенного на рис. 2.8 графа G = ( X ,U ) найти: а) Γ(x2 ) ,

Γ1 (x2 ) ; б) d (x2 ) , d + (x2 ) .

x1

x5 x2

x4

 

 

 

x3

 

Рис. 2.8

 

 

 

 

 

 

Описать: а) порожденный подграф G, у которого X ′={x1 , x2 , x3 , x4 }; б)

(xi , x j ) U

тогда и только тогда, когда

i + j

остовный подграф ( X ,U ) , где

 

нечетно.

3. Для неориентированного графа доказать, что число вершин с нечетной степенью четно (нуль – четное число).

21

2.3. Путь, цепь, контур, цикл. Связность графа

ОПРЕДЕЛЕНИЕ 2.2. Путем в орграфе G называется такая последовательность дуг, в которой конец каждой предыдущей дуги совпадает с началом следующей. Для неорграфа такая последовательность ребер называется цепью. Под длиной пути (цепи) подразумевается количество дуг (ребер), которые составляют этот путь (цепь).

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

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

ОПРЕДЕЛЕНИЕ 2.3. Путь (цепь) называется простым(-ой), если в нем никакая дуга (ребро) не встречается дважды, и составным(-ой) в противном случае. Путь (цепь) называется элементарным(-ой), если в нем ни одна вершина не встречается дважды.

ОПРЕДЕЛЕНИЕ 2.4. Путь (цепь), у которого(-ой) начальная и конечная вершины совпадают, называется контуром (циклом).

ПРИМЕР 2.7. Для неорграфа, изображенного на рис. 2.9, а:

1)элементарная цепь (x1, x2 ) , (x2 , x3 ) , (x3 , x4 ) ;

2)элементарный цикл (x1, x2 ) , (x2 , x3 ) , (x3 , x1 ) ;

3)простая цепь (x1, x2 ) , (x2 , x3 ) , (x3 , x4 ) , (x4 , x2 ) ;

4)простой цикл (x1, x2 ) , (x2 , x3 ) , (x3 , x4 ) , (x4 , x2 ) , (x2 , x5 ) , (x5 , x1 ) .

Для орграфа, изображенного на рис. 2.9, б:

1)простой путь (x1, x2 ) , (x2 , x3 ) , (x3 , x4 ) , (x4 , x5 ) , (x5 , x2 ) ;

2)элементарный контур (x5 , x2 ) , (x2 , x3 ) , (x3 , x4 ) , (x4 , x5 ) .

УТВЕРЖДЕНИЕ 2.1. [11, гл.1, § 4] Объединение двух несовпадающих элементарных цепей, соединяющих xi и x j , содержит цикл.

УТВЕРЖДЕНИЕ 2.2. [11, гл.1, § 4] Если C и D – два несовпадающих цикла, имеющих общее ребро u , то граф (C D) u также содержит цикл. (Доказать самостоятельно.)

ОПРЕДЕЛЕНИЕ 2.5. Неориентированный граф называется связным, если любые его вершины связаны цепью, иначе граф называется несвязным.

22

u2 x3

x2

u8

u3

u1

u7

x4

u8

 

u4

x1

 

 

u5 x5

x3

 

u2

u7

u2

x2

 

 

x4

 

u8

 

u1

 

u4

 

 

x1

u5

x5

а) б)

Рис. 2.9

Для орграфов понятие связности является более содержательным. Можно выделить три типа связности орграфа.

ОПРЕДЕЛЕНИЕ 2.6. Орграф называется слабо связным, если его неориентированное основание есть связный граф; односторонне связным, если для любых двух различных вершин xi и x j существует по крайней мере один путь из

xi в

x j

или из x j в xi ; сильно связным, если для любых двух различных вер-

шин

xi

и x j существует путь из xi в x j и обратно.

ОПРЕДЕЛЕНИЕ 2.7. Всякий максимальный связный подграф графа G называется компонентой связности графа G .

Напомним, что слово «максимальный» означает максимальный относительно включения, то есть не содержащийся в связном подграфе с бόльшим числом элементов.

Аналогично для орграфа формулируется понятие односторонней компоненты связности, сильной компоненты связности.

ПРИМЕР 2.8. На рис. 2.10, а изображен связный неорграф, 2.10,б – несвязный неорграф, содержащий две компоненты связности, 2.10, в – сильно связный орграф.

x 2 x 3

x 4

x1

x 5

x 2

x1

x 4

x 3

x 5

x 2

x 4

x1

x 3

x 5

а)

б)

в)

Рис. 2.10

23

ТЕОРЕМА 2.1. [11, гл.1, § 4] Каждый граф представляется в виде дизъюнктного объединения своих связных компонент. Разложение графа на связные компоненты определено однозначно.

ЛЕММА 2.1. [11, гл.1, § 4] Пусть G = ( X ,U ) связный граф. Тогда:

1)если ребро u U принадлежит какому-либо циклу графа G , то граф G u связен;

2)если ребро u U не входит ни в какой цикл, то граф G u имеет ровно две компоненты связности.

ТЕОРЕМА 2.2. [11, гл.1, § 4] Пусть число компонент связности графа G = ( X ,U ) равно k , число ребер – m , число вершин – n . Тогда справедлива сле-

дующая оценка:

n k m (n k)(n k +1) , 2

причем нижняя и верхняя границы для m достижимы.

2.4.Практические задания

1.Приведите пример сильно связного, односторонне связного, слабо связного, несвязного графов.

2.Среди графов, изображенных на рис. 2.11, указать сильно связный, односторонне связный, несвязный графы.

G1

G2

G3

G4

Рис. 2.11

2.5. Матричные представления графов

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

24

ОПРЕДЕЛЕНИЕ

Пусть G = ( X ,U ) - произвольный простой граф, число вершин которого равно n .

ОПРЕДЕЛЕНИЕ 2.8. Матрицей смежности графа G = ( X ,U ) называется квадратная матрица A размера n ×n , элементы которой определяются следующим образом:

1, если вершины xi и x j соединены ребром(дугой),

aij =

0, впротивном случае.

ЗАМЕЧАНИЕ. 1. Матрица смежности неорграфа всегда симметрическая; 2. Количество дуг, выходящих из i -й вершины, – это сумма элементов i -й строки. Количество дуг, входящих в i -ю вершины, – это сумма элементов i -го столбца.

ПРИМЕР 2.9. Для неорграфа, изображенного на рис. 2.9, а, и орграфа, изображенного на рис. 2.3, матрицы смежности соответственно равны:

 

 

0

1

1

0

1

 

 

 

 

1

1

0

0

 

 

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

 

A1

=

1

1

0

1

1

 

,

A2

=

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

 

 

 

0

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

 

 

 

1

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.9. Матрицей инцидентности графа G = ( X ,U ) с n вершинами и m ребрами называется матрица B размерности n ×m , элементы которой определяются следующим образом:

1, если вершина xi является началом дуги u j , bij = −1, если вершина xi является концом дуги u j ,0, если вершина xi не инцидентна дуге u j.

ПРИМЕР 2.10. Матрица инцидентности для неориентированного графа, изображенного на рис. 2.9, а:

25

 

x1

 

u1

u2

u3

u4

u5

u6

u7

u8

 

 

 

1

0

0

0

1

0

0

1

 

x2

 

1

1

0

0

0

1

1

0

 

 

 

 

B =

x3

 

0

1

1

0

0

0

0

1

.

 

x4

 

0

0

1

1

0

0

1

0

 

 

 

 

 

x5

 

0

0

0

1

1

1

0

0

 

 

 

 

Матрица инцидентности для ориентированного графа, изображенного на рис. 2.9, б:

x1

 

u1

u2

u3

u4

u5

u6

u7

 

 

1

0

0

0

1 0

0

x2

 

1 1

0

0

0

1 1

 

 

 

B = x3

 

0

1 1

0

0

0

0

.

x4

 

0

0

1 1

0

0

 

 

 

1

x5

 

0

0

0

1 1

1

0

 

 

 

2.6.Практические задания

1.Для графа, приведенного на рис. 2.12, найти: а) матрицу смежности; б) матрицу инцидентности.

x1

x2

x3

x6

x5 x4

Рис. 2.12 2. Построить граф по матрице смежности:

1

0

1

1

 

 

1

0

1

0

 

 

 

A =

0

1

1

0

.

 

 

 

1

1

0

0

 

 

 

 

 

26

 

 

 

ОПРЕДЕЛЕНИЕ

2.7. Деревья

2.10. Деревом называется связный неорграф без циклов, имеющий не менее двух вершин.

Понятие дерева как математического объекта было впервые предложено Кирхгофом в связи с определением фундаментальных циклов, применяемых при анализе электрических цепей. Деревья занимают особое положение в теории графов из-за предельной простоты строения, и часто при решении какойлибо задачи на графах ее сначала исследуют на деревьях. Понятие дерева применяется при конструировании различных алгоритмов. Кратчайшее остовное дерево находит применение при решении задач, в которых необходимо связать n точек некоторой сетью так, чтобы общая длина «линий связи» была минимальна.

Рассмотрим следующую практическую задачу. Пусть на некоторой территории размещены пункты, которые надо связать коммуникационной сетью минимальной стоимости. Предположим, что в результате изысканий определены возможные трассы для прокладки коммуникаций и оценена стоимость создания каждой трассы. Сопоставим каждому пункту сети вершину графа, две вершины соединим дугой, если соответствующие пункты технически могут быть соединены возможной отрезком коммуникации. Каждой дуге сопоставим число, равное стоимости строительства соответствующего отрезка коммуникации, и назовем его длиной дуги. Оптимальной структуре коммуникационной сети будет соответствовать кратчайшее дерево.

ОПРЕДЕЛЕНИЕ 2.11. Если G граф с n вершинами, то остовным деревом или просто остовом графа G называется всякий остовный подграф графа G , являющийся деревом.

ПРИМЕР 2.11. На рис. 2.13, а изображен данный граф, 2.13, б – остовное дерево графа, 2.13, в – другой остов графа.

ТЕОРЕМА 2.3. Пусть G граф, у которого n вершин и m ребер ( n >1). Тогда следующие свойства равносильны:

1)G связен и не содержит циклов, то есть G дерево;

2)G связен и имеет (n 1) ребро;

3)G не содержит циклов и имеет (n 1) ребро;

4)всякая пара вершин соединена единственной цепью;

27

5) G не содержит циклов, добавление ребра между любыми двумя несмежными вершинами приводит к появлению циклов.

 

x 2

 

x 2

 

x 2

 

x 3

 

x 3

 

x 3

x1

x 4

x1

x 4

 

x 4

 

x 5

 

x 5

x1

x 5

 

 

 

 

x 6

 

x 6

 

 

 

 

x 6

x 7

x 7

x 7

а)

б)

в)

Рис. 2.13

ДОКАЗАТЕЛЬСТВО. Покажем, что из 1) 2) 3) 4) 5) 1), тогда все свойства равносильны. Воспользуемся индукцией по n .

При n = 2 утверждение тривиально. Пусть n > 2 .

Покажем, что из 1) 2). В дереве нет циклов, следовательно, согласно лемме 2.1, граф G u имеет ровно две компоненты связности T1 и T2 , каждая из которых есть дерево. Пусть Ti (i =1,2 ) - граф, у которого ni – число вершин, mi – число ребер. По индуктивному предположению верны равенства

mi = ni 1.

Далее имеем

m = m1 + m2 +1 = n1 1 +n2 1 +1 = (n1 + n2 ) 1 = n 1.

Из 2) 3). Граф связен и m = n 1. Требуется доказать, что в G нет циклов. Пусть, напротив, в графе G есть цикл и пусть u – ребро этого цикла. Тогда G u связен (лемма 2.1) и имеет (n 2) ребра, что, согласно теореме 2.2, противоречит нижней оценке числа ребер в графе.

Из 3) 4). Пусть k – число компонент связности G . Пусть, далее, компонента Ti - граф, у которого ni – число вершин, mi – число ребер. Так как Ti – дерево, то mi = ni 1. Теперь имеем

n 1 = m = m1 + m2 +... + mk = (n1 1) +(n2 1) +... +(nk 1) = (n1 + n2 +... + nk ) k = n k ,

28

n 1 = n k , k =1.

Итак, G – связный граф и потому любые несовпадающие вершины xi и x j соединены в нем цепью. Предположим, что существует две несовпадающие цепи, соединяющие xi и x j , то согласно утверждению 2.1 их объединение содержит цикл, что противоречит нашему условию. Следовательно, каждые две вершины соединены единственной цепью.

Из 4) 5). Предположим, что граф G содержит циклы. Пара несовпадающих вершин, принадлежащих одному циклу, соединена по меньшей мере двумя цепями, что противоречит условию. Следовательно, G ациклический. Пусть xi и x j – две его несмежные вершины. Присоединим к графу G ребро u = (xi , x j ) . В G есть цепь (xi , x j ) , которая в G +u дополняется до цикла. В силу утверждения 2.2 этот цикл единственен.

Из 5) 1). Требуется доказать, что граф G связен. Предположим про-

тивное, что вершины xi

и x j принадлежат разным компонентам связности гра-

фа G , тогда G +(xi , x j )

не имел бы циклов, что противоречит 5). Следователь-

но, G связен, и потому является деревом.

Алгоритм Краскала построения кратчайшего остова взвешенного графа

ПОСТАНОВКА ЗАДАЧИ. Пусть дан связный неорграф G = ( X ,U ) , каждому ребру u которого поставлено в соответствие число l(u) > 0 , называемое длиной этого ребра. Требуется найти остов графа G , общая длина ребер которого минимальна.

РЕШЕНИЕ.

Шаг 1. Начать с построения графа T , содержащего все n вершин исходного графа и не содержащего ни одного ребра.

Шаг 2. Составить список ребер графа G в порядке возрастания их весов. Шаг 3. Начав с первого ребра в этом списке, будем добавлять ребра в граф T , соблюдая условие: такое добавление не должно приводить к появле-

нию цикла в T . В противном случае это ребро пропускается.

Шаг 4. Повторяем шаг 3 до тех пор, пока число ребер в T не станет равным n 1. Получившееся дерево и есть кратчайший остов графа.

29

ПРИМЕР 2.12. Найти кратчайший остов графа G , изображенного на рис.

2.14, а.

 

 

 

 

 

 

 

 

 

x1

1

x 2

5

x 3

x1

1

x 2

 

x 3

1

2

1

3

4

1

 

1

3

4

 

 

 

 

 

 

 

 

x 4

2

x 5 5

3

x 6

x 4

 

x 5

 

x 6

6

7

2

4

 

 

 

2

 

 

 

 

 

 

x 7

3

x 8

3

x 9

x 7

3

x 8

3

x 9

 

 

а)

 

 

 

 

б)

 

 

 

 

 

 

Рис. 2.14

 

 

 

 

 

Над ребрами графа указана длина каждого ребра.

 

 

Шаг 1. Нарисуем отдельно все девять вершин графа.

 

 

Шаг 2. Расположим все ребра графа в порядке неубывания их длин:

 

1

1

1

 

 

(x1, x2 ) ,

(x1, x4 ) , (x2 , x5 ) ,

 

 

2

2

2

 

 

(x2 , x4 ) ,

(x4 , x5 ) , (x6 , x8 ) ,

3

3

3

3

(x2 , x6 ) , (x5 , x6 ) , (x8 , x9 ) , (x7 , x8 ) ,

4 4

(x3 , x6 ) , (x6 , x9 ) ,

5

5

6

7

(x2 , x3 ) , (x5 , x8 ) , (x4 , x7 ) , (x4 , x8 ) .

У нас всего девять вершин, поэтому алгоритм закончится, когда будет внесено восемь ребер в граф. На рис. 2.14, б представлен кратчайший остов графа, его длина равна восемнадцати.

Отметим, что полученное дерево не единственное, но длина всех кратчайших остовных деревьев одинакова.

30