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

nbbzibd0Bw

.pdf
Скачиваний:
3
Добавлен:
15.04.2023
Размер:
958.19 Кб
Скачать

Г3: (I, III), (III, II), (II, IV) (IV, I)

со стоимостью 9.

Возникает соблазн «решать» эту задачу следующим образом: формировать цикл, поочерёдно забирая в него самые дешёвые дуги. В общем случае такая тактика не приводит к успеху: например, ответом только что рассмотренной задачи является цикл Г3, содержащий только одну дугу с нулевой стоимостью, а не цикл Г4, содержащий две таких дуги.

Задания для самостоятельной работы

1. Какой из графов является эйлеровым или гамильтоновым?

а

б

в

г

2. Составить маршрут для автотуристов так, чтобы каждый населенный пункт посещался бы в точности один раз.

71

3.

Какой из графов обязательно содержат гамильтонов цикл:

 

 

 

 

 

 

а) эйлеров,

 

б) полный,

 

в) связный?

 

 

 

 

4.

 

Подсчитать количество различных гамильтоновых цепей и различных

 

гамильтоновых циклов в полном графе на n = 7 помеченных вершинах,

 

если граф

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) ориентированный;

б) неориентированный.

 

 

 

 

5.

 

По заданном матрице стоимостей С решить несимметричную задачу

 

коммивояжера методом полного перебора:

 

 

 

 

 

 

а

 

 

 

 

 

 

б

 

 

 

 

 

 

в

 

 

 

 

С

 

 

I

II

III

IV

 

С

I

II

III

 

IV

 

С

I

II

III

IV

I

 

 

20

74

4

 

I

5

16

 

23

 

I

10

21

29

II

 

 

3

70

38

 

II

5

30

 

19

 

II

15

50

6

III

 

22

70

43

 

III

18

25

 

21

 

III

21

32

9

IV

 

4

25

30

 

IV

33

12

21

 

 

IV

14

6

9

6.

Доказать, что гамильтонов граф не содержит мостов.

 

 

 

 

72

7.Доказать, что если в неориентированном графе F с n ³ 3 вершинами для любой пары несмежных вершин v и w выполняется соотношение:

r(v) + r(w) ³ n,

то F гамильтонов.

8.Доказать, что если в неориентированном графе F с n > 3 вершинами для любой вершины v степень r(v) ³ n/2, то F гамильтонов.

9.Привести пример не гамильтонова графа с n = 10 вершинами, у которого r(v) + r(w) ³ n - 1 для любой пары несмежных вершин v и w.

Контрольные вопросы

1.Какой цикл называется гамильтоновым?

2.Какой граф называется гамильтоновым?

3.Запишите формулу, определяющую количество гамильтоновых цепей в полном графе на n помеченных вершинах, если граф

а) ориентированный; б) неориентированный.

3.Запишите формулу, определяющую количество гамильтоновых циклов в полном графе на n помеченных вершинах, если граф

а) ориентированный; б) неориентированный.

4.Сформулируйте простейшие необходимые условия существования гамильтонова цикла.

5.В чём заключается задача коммивояжёра?

§ 12. Деревья и их свойства. Цикломатическое число

Пусть T = (V, E) - неориентированный граф, не содержащий циклов, а значит, петель и кратных рёбер. Если при этом T - связный граф, то он называется неориентированным деревом, если T - граф несвязный, то он называется лесом. Связные компоненты леса являются деревьями.

Так как дерево не содержит циклов, то любая цепь в нём является простой.

Теорема 12.1 (свойство 1). Любые две вершины дерева v’ и v’’ связаны единственной цепью.

ÿ

Если бы были две цепи, связывающие вершины v’ и v’’, то был бы и цикл, что противоречит определению дерева.

ÿ

Из первого свойства следует, что удаление из дерева любого ребра приводит к несвязному графу; поэтому дерево представляет собой связный граф с минимальным количеством рёбер.

73

Длина простой цепи, соединяющей вершины v’ и v’’, называется расстоянием между этими вершинами.

Наглядное представление для дерева Т можно получить при помощи следующей конструкции (рисунок 12.1). Выберем произвольную вершину v0 и проведём все рёбра к вершинам, находящимся на расстоянии 1 от v0.

Рисунок 12.1 Дерево Т.

От этих вершин проведём рёбра к вершинам, находящимся на расстоянии 2 от v0, и т.д. Из вершины vpi, расположенной на расстоянии p от

v0, выходит ровно одно ребро к предшествующей вершине vp1,j , находя-

щейся от v0 на расстоянии p1, а также некоторое семейство рёбер к последующим вершинам vp+1,k , находящимся на расстоянии p+1 от v0.

Ни для какой из этих вершин vpi не может быть рёбер, соединяющих её с вершинами vpt с тем же расстоянием p от v0, т.е. расположенных на том же горизонтальном уровне.

Вершина v0 называется корнем дерева Т, а само дерево деревом с корнем.

Вершина v графа F называется листом (концевой, висячей), если её степень равна единице, т.е.

ρ (v) = 1.

Инцидентное концевой вершине ребро также называют концевым.

Пример. У дерева Т, представленного на рисунке 12.1, концевыми являются вершины:

v2,4, v3,2, v3,3, v3,5, v3,6, v3,8, v4,1, v4,2, v4,3, v4,4, v4,5.

74

Теорема 12.2 (свойство 2). Если конечное дерево состоит более чем из одной вершины, то оно имеет хотя бы две концевые вершины и хотя бы одно концевое ребро.

ÿ

I случай. Пусть v0 концевая вершина. Тогда от неё отходит одно ребро в вершину v1. В этом случае кроме v0 концевыми являются последнее ребро в цепи, выходящей из v1, и одна из инцидентных ему вершин.

II случай. Пусть вершина v0 не является концевой. Значит, от неё отходят хотя бы два ребра в вершины v1,1 и v1,2. Последнее ребро в цепи, выходящей из v1,1, и одна из инцидентных ему вершин являются концевыми. Аналогично концевыми являются и последнее ребро с инцидентной ему вершиной в цепи, выходящей из v1,2.

ÿ

В дереве с корнем v0 можно естественным образом ориентировать рёбра в направлении «от корня». В каждую вершину ориентированного «от корня» дерева (за исключением самого корня) входит только одно ребро, следовательно, число всех входящих рёбер, т.е. всех рёбер дерева, равно числу его вершин. Исключение составляет корень: в него не входит ни одно ребро. Поэтому в конечном дереве число рёбер m на единицу меньше числа вершин n (свойство 3):

m = n 1.

(12.1)

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

Цикломатическим числом (ЦЧ) конечного неориентированного графа F = (V, E) называется величина

γ(F) = κ + m − n,

(12.2)

где κ − число связных компонент графа, m − количество рёбер, n − количество вершин.

Пример. Определить цикломатические числа графов, изображенных на рисунке 11.1.

Решение.

а) γ(F) = 1 + 7 5 = 3;

б) γ(F) = 1 + 15 6 = 10.

В силу соотношения (12.1) цикломатическое число любого дерева равно нулю:

75

γ(F) = κ + m n = 1 + (n 1) − n = 0.

(12.3)

Цикломатическое число леса равно сумме цикломатических чисел

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

Выше было показано, что дерево − это связный граф с минимальным количеством рёбер. Следовательно, для связного графа, который содержит цикл и поэтому не является деревом, выполняется соотношение:

m > n − 1

(12.4)

и, значит, его цикломатическое число положительно:

γ( F) > 0.

(12.5)

Задания для самостоятельной работы

1.Нарисовав диаграммы неизоморфных деревьев, показать, что а) на 6 вершинах их шесть; б) на 7 вершинах их одиннадцать.

2.Какое максимальное и какое минимальное число концевых вершин может иметь дерево, обладающее 9-ю вершинами?

3.Пусть F1 − неориентированное дерево с 4 вершинами, а F2 − полный неориентированный граф с 3 вершинами. Подсчитать количество вершин и рёбер в графах

F1 F2, F1+F2, F1×F2, F1 [F2] и F2 [F1].

4.Определите цикломатические числа графов, изображённых на рисунке 11.3.

5.Из дерева Т удалено не концевое ребро. В результате образовался новый граф Т*. Доказать, что Т* − лес.

6.Доказать, что лес, состоящий из k деревьев и содержащий n вершин,

имеет nk рёбер.

7.В дереве с n концевыми вершинами нет вершин степени 2 (исключение может составлять только корень). Доказать, что общее число вершин такого дерева не превосходит 2n−1.

Контрольные вопросы

1.Какой граф называется деревом?

2.Какой граф называется лесом?

3.Какая вершина дерева называется концевой?

4.Сформулируйте свойства деревьев.

76

5.Запишите формулу, связывающую количество вершин и количество рёбер дерева.

6.Какая величина называется цикломатическим числом графа?

7.Чему равно цикломатическое число дерева?

8.Чему равно цикломатическое число леса?

§ 13. Формула Кэли

Рассмотренная ниже теорема была доказана Кэли (A.Cayley), который исследовал деревья в связи с химическими структурными формулами.

Теорема 13.1 (Кэли). Число tn различных деревьев, которые можно построить на n помеченных вершинах, равно:

tn = nn−2.

(13.1)

ÿ

Чтобы вывести эту формулу, воспользуемся методом, который предложил немецкий математик Хайнц Прюфер (Ernst Paul Heinz Prüfer).

Обозначим элементы данного множества вершин V, расположенные в некотором фиксированном порядке, числами

1, 2, 3, ..., n.

(*)

Кодом Прюфера называется кортеж длиной (n−2) со значениями компонент от 1 до n.

Установим взаимно однозначное соответствие между множеством всех деревьев с n помеченными вершинами и множеством всех кодов Прюфера.

Согласно второму свойству деревьев, в дереве Т найдутся хотя бы две концевые вершины. Просматривая последовательность (*) слева направо, найдём первую встретившуюся концевую вершину. Обозначим её через b1 , а соответствующее ей концевое ребро через e1 = (a1, b1). Удалив из дерева Т ребро e1 и вершину b1, мы получим новое дерево T1. Для T1 найдём первую встретившуюся в последовательности (*) концевую вершину b2 с ребром e2 = (a2, b2), удалив которое, получим дерево T2 и т.д.

Наконец, после удаления ребра en2 = (an2, bn2) останется единственное ребро en1 = (an1, bn1), соединяющее две оставшиеся вершины. Тогда

код Прюфера (a1,a2,..., an2) однозначно определяется деревом Т, и двум различным деревьям соответствуют разные коды Прюфера.

Пример. Составить код Прюфера для дерева, изображённого на рисунке 13.1, а.

77

а

б

Рисунок 13.1.

Решение. Концевая вершина с самым маленьким номером 3, а соот-

ветствующее ей концевое ребро (2, 3); поэтому принимаем a1 = 2 и отсекаем это ребро.

Концевая вершина с самым маленьким номером из оставшихся − 4, а

соответствующее ей концевое ребро (2, 4). Принимаем a2 = 2 и отсекаем ребро. Дальше действуем аналогично.

Требуемый код Прюфера имеет вид: (2, 2, 2, 1, 6, 6).

Покажем теперь, что, наоборот, каждое дерево

Т однозначно опре-

деляется кодом Прюфера

 

(a1, a2,..., an2)

(**)

Выполним обратное построение.

Пусть дан код Прюфера (**). Просматривая последовательность (*) слева направо, найдём первую встретившуюся вершину b1, которая не содержится в (**). Первый элемент a1 кортежа (**) и эта вершина b1 определяют ребро дерева: e1 = (a1, b1).

Далее, удаляем элемент a1 из (**) и элемент b1 из (*), после чего продолжаем построение аналогичным образом до тех пор, пока (**) не «опустеет». При этом в последовательности (*) останутся два неиспользованных элемента, которые единственным образом определяют последнее ребро дерева.

Пример. Восстановить дерево Т, если соответствующий ему код Прюфера имеет вид:

(1, 2, 2, 1, 4, 4, 4).

(##)

Решение. Данный кортеж содержит 7 компонент, значит, дерево Т должно иметь 7 + 2 = 9 вершин. Выпишем последовательность номеров этих вершин:

78

1, 2, 3, 4, 5, 6, 7, 8,

9.

(#)

1. Просматривая последовательность (#) слева направо, найдём пер-

вое число, которое не содержится в (##), это 3. Получаем ребро

e1 = (1, 3). Зачёркиваем 1 в (##), 3 в (#); остаётся:

 

(2, 2, 1, 4, 4, 4)

 

(##)

1,

2,

4,

5,

6,

7,

8,

9.

(#)

2. Первое число в (#), которое не содержится в (##), это 5. Получаем следующее ребро e2 = (2, 5). Зачёркиваем 2 в (##), 5 в (#); остаётся:

 

(2, 1, 4, 4, 4),

 

(##)

1,

2,

4,

6,

7,

8,

9.

(#)

Повторяя эту процедуру ещё 3 раза, получим рёбра

e3 = (2, 6), e4 = (1, 2), e5 = (4, 1), e6 = (4, 7), e7 = (4, 8).

После этого (##) опустеет, а в последовательности (#) останутся два

числа 4 и 9. Они определяют последнее ребро e8 = (4, 9).

Так как все рёбра известны, восстанавливаем дерево Т (в качестве корня можно выбрать любую из вершин, например, вершину с максимальной степенью или, ещё проще – вершину 1). Диаграмма дерева Т приведена на рисунке 13.1, б.

Итак, нам удалось установить взаимно однозначное соответствие

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

одинаковое.

В кортеже (a1, a2, ..., an2) каждая компонента может принимать лю-

бое из n значений (от 1 до n), а всего таких компонент n−2. Воспользовавшись комбинаторным правилом произведения (см. § 2), найдём общее количество кортежей:

n n ∙ ... ∙ n = nn−2. └───◊───┘ n−2 сомножителя

79

Значит, и различных деревьев с n помеченными вершинами будет столько же.

ÿ

Пример. Подсчитать количество различных деревьев, которые можно построить на n = 5 помеченных вершинах.

Решение. Подставив n = 5 в формулу (13.1) найдём требуемое число: t5 = 53 = 125.

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

Задания для самостоятельной работы

1.Подсчитать количество различных деревьев, которые можно построить на n = 6 помеченных вершинах.

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

а) (3, 3, 7, 1, 1, 1); б) (1, 2, 2, 4, 9, 5, 5, 5);

в) (7, 11, 11, 6, 6, 6, 2, 2, 10, 1); г) (2, 3, 1, 4, 4, 4, 1, 2, 6, 6).

Контрольные вопросы

1.Сформулируйте теорему Кэли.

2.Запишите формулу для подсчёта количества различных деревьев, которые можно построить на n помеченных вершинах.

3.Что такое код Прюфера?

4.Опишите метод Прюфера, позволяющий по заданному дереву на n поме-

ченных вершинах построить кортеж с n−2 компонентами (со значениями компонент от 1 до n) и, наоборот, по заданному кортежу – дерево.

§14. Минимальное остовное дерево

Остовным деревом связного неориентированного графа F = (V, E) называется дерево T = (V, ET), которое является частью (см. § 3) графа F, содержащей все его вершины.

Если связный неориентированный граф F = (V, E) не является деревом, т.е. содержит хотя бы один цикл, то F имеет не единственное остовное дерево.

Пример. На рисунках 14.1, б и 14.1, в представлены два разных остовных дерева графа F, изображённого на рисунке 14.1, а.

80

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