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

Методическое указание к выполнению курсовой работы

.pdf
Скачиваний:
32
Добавлен:
02.05.2014
Размер:
685.02 Кб
Скачать

В ориентированном графе дуга е считается положительно инцидентной своей начальной вершине v. Число дуг, положительно инцидентных вершине v, называется положительной степенью вершины v

и обозначается δ+(v). Число дуг, отрицательно инцидентных вершине v,

называется отрицательной степенью вершины v и обозначается δ(v). Ориентированная петля, инцидентная вершине v, считается положительно и отрицательно инцидентной v одновременно. Очевидно, что δ(v) = δ+(v) +

δ(v). Учитывая, что каждая дуга положительно инцидентна только одной вершине и отрицательно инцидентна также только одной вершине, получим:

δ+ (v) = δ(v) = Е .

v V v V

С точки зрения связности графа представляют интерес два частных случая, приведенных на рис. 3.5:

а) наличие в графе точки сочленения вершины vС, удаление которой вместе с инцидентными ей ребрами делает граф несвязным;

б) наличие в графе «моста» - ребра еС, удаление которого делает граф несвязным.

Рис. 3.5

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

реберной связностью γ (G) графа G. Если обозначить δ(G) минимальную степень вершины в графе G, то имеет место следующее неравенство:

21

χ(G) ≤ γ (G) ≤ δ(G).

Рассмотрим еще ряд специальных числовых характеристик (инвариантов) графов.

Цикломатическое число. Пусть G = (V, E) – неориентированный граф, имеющий n вершин, m ребер и r компонент связности. Цикломатическим числом графа G называют число

ν (G) = m n + r.

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

Хроматическое число. Пусть р – натуральное число. Граф G = (V, E) называют р-хроматическим, если его вершины можно раскрасить р различными цветами так, чтобы никакие две смежные вершины не были раскрашены в один и тот же цвет. Наименьшее число р, при котором граф является р-хроматическим, называют хроматическим числом графа

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

Множество внутренней устойчивости. Множество S V графа G = (V, Г) называют внутренне устойчивым, если никакие две вершины из S не смежны, т.е. для любого х S имеет место Гх S = .

Множество внутренней устойчивости, содержащее наибольшее число элементов, называют наибольшим внутренне устойчивым множеством, а

число элементов этого множества – числом внутренней устойчивости ε0 (G) графа G (иногда это число называют также вершинным числом независимости графа).

22

Два ребра графа называют смежными, если они инцидентны одной и той же вершине. Максимальное число попарно несмежных ребер графа называется его реберным числом независимости ε1 (G).

Покрытия графа. Если ребро графа инцидентно его вершине, то говорят, что они покрывают друг друга. Множество вершин, покрывающих все ребра графа, называют вершинным покрытием графа G, а

минимальную мощность этого множества – числом вершинного покрытия

графа π0 (G). Аналогично, множество ребер, покрывающих все вершины графа, называют реберным покрытием графа G, а минимальную мощность этого множества – числом реберного покрытия графа π1 (G).

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

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

Гх Т .

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

Множество внешней устойчивости, содержащее наименьшее число элементов, называют наименьшим внешне устойчивым множеством, а число элементов этого множества – вершинным числом внешней устойчивости β0 (G) графа G.

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

Вычисление рассмотренных инвариантов графов требуется при решении многих практических задач. Рассмотрим нахождение числовых характеристик на примере графа, приведенного на рис. 3.6.

23

Рис. 3.6

а) вершинная связность χ(G) = 2 (вершины 2 и 3 или 3 и 4);

б) реберная связность γ(G) = 2 (ребра a и b или e и g);

в) цикломатическое число ν(G) = 7 – 5 + 1 = 3 (из шести контуров три независимых);

г) хроматическое число λ(G) = 3 (λ(G) 2, т.к. есть цикл длиной 3);

д) вершинное число независимости графа ε0(G) = 2 (например, вершины

1 и 4);

е) реберное число независимости графа ε1(G) = 2 (например, ребра а и

g);

ж) число вершинного покрытия π0(G) = 3 (например, вершины 1, 3 и 4);

з) число реберного покрытия π1(G) = (например, ребра b, d и g);

и) вершинное число внешней устойчивости β0(G) = 1 (вершина 3);

к) реберное число внешней устойчивости β1(G) = (например, ребра а и

f).

5.1.3 Задачи теории графов 1) Задача раскраски графа.

Раскраской вершин графа G (V, Е) λ красками называется разбиение множества вершин V графа G, при котором каждое подмножество Vi не содержит ни одной пары смежных вершин

24

λ

 

 

.

UVi =V ;

Via Vib = ; ia , ib =

1, λ

i=1

 

 

 

Другими словами,

раскраска графа λ красками называется

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

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

плоского графа λ(G) 4.

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

Хроматическое число графа может быть оценено через его параметры (степень вершин и вершинное число независимости):

а) если максимальная степень вершины графа равна δmax(G), то хроматическое число графа не превышает величины δmax(G) + 1, т.е. λ(G)

δmax(G) + 1;

б) для любого графа G(V, Е) с вершинным числом независимости β0(G) справедливо утверждение:

V

β0 λ(G) V β0 +1.

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

25

3) Определение числа правильных раскрасок графа с известным хроматическим числом. Для небольших графов число правильных раскрасок с использованием λ красок определяется по формуле:

π(G, λ) = (1)s p(s, cc ,

s, c

где s – число ребер в подграфе;

с – количество компонент связности в подграфе;

р(s, с) – число подграфов с s ребрами и с компонентами связности.

Для графа G, имеющего n вершин и m ребер, параметр s будет принимать значения от 0 до m, а параметр с – от n до 1 (естественно, что s и с – целые числа). Для того, чтобы избежать ошибок при подсчете числа подграфов р(s, с) можно воспользоваться формулой

p(s) = Csm =

m!

 

,

s!(m s)!

 

 

учитывая при этом следующие обстоятельства:

С0m =1 для любого m (поскольку 0! = 1);

значение р(s) рассчитывается для каждого значения s, без учета значения

с.

Процесс отыскания числа правильных раскрасок графа G рассмотрим на примере (рис. 4.1).

Рис. 4.1

1) s = 0; с = 5; р(0, 5) = 1

26

2) s = 1; с = 4; р(1, 4) = 5

3) s = 2; с = 3; р(2, 3) = 10

4) s = 3; с = 2; р(3, 2) = 10

Следующие этапы заслуживают особого внимания: р(4) = 5, но число подграфов в этом случае целесообразно разделить в зависимости от числа компонент связности.

5) s = 4; с = 2; р(4, 2) = 1

27

6)s = 4; с = 1; р(4, 1) = 4

7)s = 5; с = 1; р(5, 1) = 1

В окончательном виде число правильных раскрасок определится выражением:

π(G, λ) = (1)0 1 λ5 +(1)1 5 λ4 +(1)2 10 λ3 +(1)3 10 λ2 +(1)4 1 λ2 + +(1)4 4 λ1 +(1)5 1 λ1 = λ5 4 +10λ3 10λ2 +λ2 +λ =

= λ5 4 +10λ3 2 += λ (λ-1)2 2 +3).

Это выражение дает также возможность отыскать хроматическое число графа – им будет наименьшее значение λ, при котором хроматический полином π (G, λ) 0.

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

Лемма 1: Если графы G1 и G2 не связаны, т.е. представляют собой компоненты связности графа G (рис. 4.2), то

π(G, λ) = π(G1, λ) π(G2 , λ) .

28

Рис. 4.2

Лемма 2: Если граф G имеет точку сочленения vС (рис. 4.3), то

π(G, λ) = 1λ π(G1 , λ) π(G2 , λ) .

 

 

Рис. 4.3

 

Лемма 3: Если граф G имеет мост еС (рис. 4.4), то

 

 

1

 

 

, λ) .

π(G, λ) = 1

 

 

 

π(G1 , λ) π(G2

 

λ

 

 

 

 

 

 

Рис. 4.4

Лемма 4: Если граф G получен из графа G1 добавлением ребра е без изменения числа вершин (рис. 4.5), то

π(G, λ) = π(G1 , λ) π(G1, λ)

29

где граф G1получен из G1 склеиванием висячей вершины,

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

Рис. 4.5

2) Задача коммивояжера.

Задача о коммивояжере - связана с поиском кратчайшего гамильтонова контура.

Коммивояжер должен посетить по одному разу каждый из n городов ( каждая пара городов связана с дорогой) и вернутся в исходный город. При этом он должен выбрать кратчайший маршрут.

Определение кратчайшего маршрута с помощью просмотра всех гамильтоновых циклов приводит к перебору (n-1)!/2 возможных циклов; для больших n эта величина является астрономической. Эффективного алгоритма решения такой задачи еще не существует. Однако существуют некоторые вычислительные алгоритмы.

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

Предполагается, что граф является плоским и имеет хотя бы одну вершину степени 5 или меньше. Начиная с произвольной вершины v1, минимальной степени δ ≤ 5 можно определить С2δ ≤ 10 различных подграфов, каждый из которых состоит из всех вершин графа G, всех ребер, не инцидентных с v1 и двух из δ ребер, инцидентных v1. Таким образом,

30