Вы находитесь на странице: 1из 88

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

В.Н. Берцун

МАТЕМАТИЧЕСКОЕ
МОДЕЛИРОВАНИЕ
НА ГРАФАХ
Часть 1
Учебное пособие

Томск – 2006
2 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

УДК 519.17
ББК 22.174
Б 527

Берцун В.Н. Математическое моделирование на графах.


Б 527 Часть 1: Учебное пособие. – Томск: Изд-во НТЛ, 2006. –
88 с.

ISBN 5-89503-312-1

Учебное пособие предназначено для студентов механико-математических


и физико-математических факультетов университетов. Оно также может
быть полезно студентам других специальностей и аспирантам, занимающим-
ся математическим моделированием прикладных задач и оптимизацией вы-
числительных алгоритмов для высокопроизводительных компьютеров (кла-
стеров).
В части 1 пособия содержится два раздела теории графов, приведён необ-
ходимый теоретический материал, а также включены задачи для самостоя-
тельного выполнения.
УДК 519.17
ББК 22.174

Рецензент:
доктор физико-математических наук А.В. Старченко

ISBN 5-89503-312-1 © В.Н. Берцун, 2006


© Томский госуниверситет, 2006
Глава 1. Основные понятия теории графов 3

СОДЕРЖАНИЕ

ВВЕДЕНИЕ ..............................................................................................4

Г л а в а 1. Основные понятия теории графов .................................5


1.1. Из истории теории графов ..........................................5
1.2. Граф и его дополнение ................................................6
1.3. Маршрут в графе, цикл, связанность .......................12
1.4. Компоненты связности графа ...................................16
1.5. Изоморфизм графов...................................................18
1.6. Двудольные графы и их свойства .............................20
1.7. Ориентированные графы...........................................23
1.8. Деревья и их свойства ...............................................28
1.9. Ациклические графы .................................................38
Задачи .................................................................................44
Г л а в а 2. Плоские и планарные графы ........................................48
2.1. Свойства плоского графа...........................................48
2.2. Эйлеровы графы.........................................................53
2.3. Гамильтоновы графы .................................................57
2.4. Гиперкуб и его свойства ............................................61
2.5. Графы сеточных функций .........................................63
Задачи .................................................................................73
ЛИТЕРАТУРА .........................................................................................76
БИОГРАФИЧЕСКИЙ УКАЗАТЕЛЬ .....................................................80
4 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

ВВЕДЕНИЕ

В настоящее время компьютерное моделирование резко расши-


рило сферу своего применения в различных областях знаний. Это
относится и к теории графов – разделу прикладной математики, ко-
торый нашёл своё применение: в теории игр и квантовой химии,
экономике и политике, логистике и социологии, биологии и медици-
не, оптимальном управлении и навигации, создании сложных про-
граммных комплексов и анализе современных компьютерных сис-
тем на основе сетей Петри [1 – 7]. Свойства графов активно исполь-
зуются и для решения краевых задач на сетевых системах (нефте-
проводах, газопроводах, электросетях и т.д.), в решении сложных
задач на многопроцессорных вычислительных системах (МВС).
Граф алгоритма позволяет получить представление о том, как рас-
пространяется и преобразуется информация при его реализации [8,
9], что особенно важно для оптимизации параллельных вычисли-
тельных алгоритмов. Перспективным направлением решения слож-
ных задач теории графов являются имитационные методы, основан-
ные на природных механизмах принятия решений (клеточных авто-
матах, муравьиных алгоритмах, генетических алгоритмах и др.) [10].
Глава 1. Основные понятия теории графов 5

Глава 1

ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ ГРАФОВ

1.1. Из истории теории графов


Теория графов как математическая дисциплина стала активно
развиваться еще со времен Эйлера (1707 – 1783 гг.), который в 1736 г.
решил задачу о Кёнигсбергских мостах [2]. В городе два острова,
соединенные семью мостами (см. рис. 1.1). Можно ли побывать на
всех четырёх частях суши, пройдя по каждому мосту один раз и
оказаться на той части суши, с которой началось движение?

C
2
3 6

5
A L

7
1 4
B

Рис. 1.1

Термин граф, который был введен в употребление Кенигом,


подразумевает наличие наглядной графической интерпретации рас-
сматриваемого объекта. Эйлер отождествил с точкой (вершиной
графа) каждую часть суши, а каждый мост – с линией (ребром графа),
6 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

C соединяющей соответствующие
точки. Получился граф, изображён-
ный на рис. 1.2.
Анализируя этот граф, Эйлер
A L доказал, что сформулированная
выше задача о мостах не имеет ре-
шения.
Важным стимулом к развитию
теории графов явилась возникшая в
B
Рис. 1.2
середине XIX в. задача о четырех
красках. Любую карту на плоско-
сти раскрасить в четыре цвета
так, чтобы смежные страны имели различные цвета. Решить эту
задачу удалось только в конце ХХ в. с помощью компьютера [11].

1.2. Граф и его дополнение


Графом G(V, E) называется совокупность двух множеств – непус-
того множества объектов некоторой природы V (вершин графа) и
множества E неупорядоченных пар элементов множества V,
называемых ребрами графа (V ≠ ∅, E ⊆ V × V). Таким образом, граф
определяется множеством вершин V, множеством рёбер E (подмно-
жеством двухэлементных подмножеств множества V) и отношением
инцидентности, которое каждому ребру сопоставляет одну или две
вершины. При изображении графов на рисунках отрезки (ребра)
могут быть криволинейными и прямолинейными, а длины отрезков
и расположение точек произвольно. Будем рассматривать только
такие графы, у которых множества V(G) и E(G) конечны
(n = n(G) =│V│, m = m(G) =│E│) [11 – 16].
Ребро графа называется звеном, если у него два конца, и петлей,
если конец один (петля это ребро, у которого два конца совпадают).
Два или более звеньев, имеющих одинаковые пары концов, образу-
ют кратное соединение и называются кратными рёбрами. Граф без
петель и кратных рёбер называется простым. Примеры графов изо-
бражены на рис. 1.3.
Глава 1. Основные понятия теории графов 7

Один и тот же граф n = 4, m=4

Граф-вершина Граф-петля Граф-звено

n = 5, m = 8 n = 5, m = 2 n = 3, m = 0

Граф куба Граф с петлями


Рис. 1.3

Вершины графа будем обозначать буквами русского и латинского


алфавитов или цифрами, а ребра графа – парами вершин (А, B), (В, С)
или буквами латинского алфавита.
Мультиграфом называется пара множеств, состоящая из множе-
ства вершин и множества ребер, причем две вершины могут быть
соединены более чем одним ребром. Например, граф на рис. 1.4 яв-
ляется мультиграфом.
8 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Говорят, что вершины графа x, y – смежные, если они соединены


ребром. Поэтому вершины C и D на рис. 1.4 являются смежными, а
D и A – нет.
B

D
C
Рис. 1.4

Граф называется полным, если любые две различные его верши-


ны соединены одним и только одним ребром. Такой граф имеет мак-
симальное число ребер. Каждой вершине в полном графе с n верши-
нами, который в дальнейшем будем обозначать Kn, принадлежит (n –
1) ребро. Но в произведении n(n – 1) каждое ребро учитывается
дважды, поэтому в полном графе n(n – 1)/2 ребер. На рис. 1.5 приве-
дены примеры полных графов: K3, K4, K5.

Рис. 1.5

Граф, не являющийся полным, можно преобразовать в полный,


добавив к нему недостающие ребра. Дополнением графа G называ-
ется граф D с теми же вершинами, что и граф G, и теми и только
теми ребрами, которые необходимо добавить к графу G, чтобы
Глава 1. Основные понятия теории графов 9

получился полный граф. На рис. 1.6 представлен неполный граф и


его дополнение.

Неполный граф G Полный граф Дополнение графа G


Рис. 1.6

В табл. 1.1 приведено число различных графов с n вершинами


и m ≤ n(n – 1)/2 ребрами, которые можно получить из полного
графа [3].
Таблица 1.1

n
m 2 3 4 5
0 1 1 1 1
1 1 1 1 1
2 1 2 2
3 1 3 4
4 2 6
5 1 6
6 1 6
7 4
8 2
9 1
10 1
∑ 2 4 11 34

В общем случае, в графе число ребер, которым принадлежит та


или иная вершина, различно.
Степенью (валентностью) νА вершины А называется число рёбер
графа, которым принадлежит эта вершина (число ребер, инцидент-
10 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

ных вершине А, причем петля считается дважды). На рис. 1.7 пред-


ставлены графы с различными степенями вершин.

A C B C A B

A D

B D F E D C
νА = 1 νF = 2 νD = 3, νА = 2
Рис. 1.7

Вершина А является четной, если νА – четно, и нечетной, если


νА – нечетно. Вершины, у которых νА = 1, называются висячими.
У полного графа с n вершинами степень любой вершины νА = n – 1,
для изолированной вершины νА = 0.
Утверждение 1.1. Во всяком графе G сумма степеней всех его
вершин число четное, равное удвоенному числу ребер графа.
Доказательство. При определении степеней вершин графа каж-
дое ребро учитывается два раза, поэтому
n
∑ νi = 2 p ,
i =1
где n – число вершин, p – число ребер. ■
Утверждение 1.2. Во всяком графе с n вершинами (n ≥ 2) всегда
найдется по крайней мере две вершины с одинаковыми степенями.
Доказательство. Каждая вершина графа с n вершинами может
иметь степень 0,1,2,…, n – 1. Пусть все вершины имеют разную сте-
пень. Но этого не может быть, так как если есть вершина степени 0,
то не может быть вершины степени n – 1 (так как она может быть
соединена всего лишь с n – 2 оставшимися вершинами). Таким обра-
зом, найдутся хотя бы две вершины с одинаковыми степенями. ■
Часть вершин графа G и все инцидентные к ним рёбра образуют
подграф графа G. Если такой подграф полный, то он называется кли-
кой графа G. Очевидно, что множество подграфов определяется ко-
личеством вершин исходного графа. Все вершины и часть инци-
Глава 1. Основные понятия теории графов 11

дентных им рёбер называется суграфом (остовным подграфом) гра-


фа G. Например, на рис. 1.8 приведены подграф и суграф графа G1.
x1 x5 x1 x1 x5
G1:
x2 x3 x4 x2 x3 x4 x2 x3 x4
Подграф G1: Суграф G1:
Рис. 1.8

Если А и В два множества, то для них можно ввести следующие


операции: объединение, разность и пересечение множеств. На
рис. 1.9 для этих операций приведены диаграммы Эйлера.

Рис. 1.9

Соответствующие операции (объединение, разность и пересече-


ние) вводятся и для графов. При этом предполагается, что при уда-
лении вершины графа удаляются и все инцидентные ей ребра. На
рис.1.10 для графов G1 и G2 приведены графы G1 ∪ G2, G1\G2, G1∩G2.
x1 x5 x1
G1: G2:
x2 x3 x4 x2

x1 x5 x5 x1

x2 x3 x4 x3 x4 x2

G1 ∪ G2 G1\G2 G1∩G2
Рис. 1.10
12 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Используя символы таблицы Менделеева, в химии графы приме-


няются для изображения молекул. Например, на рис. 1.11 представ-
лены мультиграфы молекул ацетилена (C2H2) и этилена (C2H4).

H H
C C
C C
H H

H H
Рис. 1.11

1.3. Маршрут в графе, цикл, связанность


Рассмотрим граф на рис. 1.12, в котором из вершины x1 в x5 мож-
но попасть различными способами.
Маршрутом в графе называется чередующаяся последователь-
ность вершин ai и ребер ei
a = a0, e0, a1, e1, …, en–1, an = b,
где ei = (a1, ai+1), a – начало маршрута, b – конец маршрута. Маршрут
можно задавать, например, перечислением его вершин (a0, a1,…, an).
В маршруте ребра и вершины могут повторяться. Если в нем все
ребра различны, то он называется цепью. В цепи вершины могут по-
вторяться. Если все вершины в цепи различны, то она является про-
стой цепью. Например, на рис. 1.12 последовательность вершин x1,
x2, x3, x4, x6, x4, x5 является мар-
x6 x5 шрутом из x1 к x5, а вершины x1,
x2, x3, x4, x5 определяют простую
цепь (простой путь) из x1 в x5.
x4 Длина маршрута в графе изме-
x1 ряется количеством ребер в нем
(с повторениями). Длина крат-
чайшей простой цепи, соеди-
x2 x3
няющей вершины А и В, опре-
Рис. 1.12 деляет расстояние между ними.
Глава 1. Основные понятия теории графов 13

Циклом называется замкнутая цепь, в которой совпадают ее на-


чальная и конечная вершины. Простым циклом в графе называется
простая замкнутая цепь. На рис. 1.12 x2, x3, x4, x6, x5, x4, x2 – цикл, x2,
x3, x4, x2 – простой цикл. Очевидно, что в простом цикле с n верши-
нами (n ≥ 3), который будем обозначать Сn, содержится n рёбер. На
рис.1.13 представлены простые циклы: С3, С5, С6 . Длина цикла изме-
ряется числом рёбер в этом цикле.
C
B B C
B D

A D

A C A E F E
Рис. 1.13

В простой цепи число вершин на единицу больше, чем число ре-


бер, а в простом цикле их количество совпадает.
Для графа G на рис. 1.14 все циклы длины 4: (AB, BC, CD, DA),
(AE, ED, DC, CA), (AD, DE, EB, BA), (AC, CB, BE, EA), являются про-
стыми.
B

A C

E D
Рис. 1.14

Утверждение 1.3. В графе G любой цикл содержит простой цикл.


14 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Доказательство. При числе ребер m = 1 цикл (петля с одним


ребром) является простым. Пусть утверждение верно для циклов
длины не больше m – 1. Рассмотрим произвольный цикл С длины m.
Он либо является простым, либо проходит через некоторые верши-
ны более одного раза. На таких вершинах существует цикл длины не
больше m – 1, содержащий простой цикл. ■
Утверждение 1.4. Если у графа G все простые циклы четной
длины, то граф не имеет ни одного цикла нечётной длины.
Доказательство. 1. Если граф является простым циклом, то до-
казательство очевидно.
2. Пусть у графа с простыми циклами четной длины найдется
цикл нечетной длины. Во всяком непростом цикле нечетной длины
найдется вершина, которая повторяется более одного раза, как, на-
пример, на рис. 1.15.
F

A C
E

B
D
Рис. 1.15

В такой вершине цикл можно разделить на два: четной и нечет-


ной длины. Будем продолжать расчленять непростые нечетные цик-
лы на четные и нечетные, пока не дойдем до простых циклов. Один
из таких циклов должен иметь нечетную длину. А это противоречит
условию, что все циклы четные. ■
Две вершины А и В графа G называются связанными, если в графе
есть цепь (путь) с концами А и В. Две вершины А и В не связаны в G,
если в графе нет ни одного пути, связывающего их. Граф называется
связным, если любые две его вершины связаны. Граф называется
Глава 1. Основные понятия теории графов 15

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


рис. 1.16 представлен связный (1.16, а) и несвязный (1.16, б) граф.

D
B

C E
A
F K

Связный граф Несвязный граф

а б
Рис. 1.16

Назовем расстоянием d(u, v) длину кратчайшей простой цепи ме-


жду вершинами u и v в графе G, тогда d(u, u) = 0, ∀ u∈V. Если вер-
шина v недостижима из u, то полагаем d(u, v) = ∞. В связном графе G
расстояние обладает следующими свойствами (удовлетворяет ак-
сиомам метрики):
1) d(u, v) ≥ 0 и d(u, v) = 0 тогда и только тогда, когда u = v;
2) d(u, v) = d(v, u), ∀u, v∈V(G);
3) d(u, v) ≤ d(u, w) + d(w, v), ∀ u, v, w∈V(G).
Эксцентриситет вершины u графа G есть величина
e(u ) = max d (u , v), v ∈ V (G ).
Наибольшее расстояние между вершинами называется диамет-
ром графа (diam(G)), а минимальный из эксцентриситетов вершин
связного графа называется радиусом графа (rad(G)). Вершина u,
для которой достигается минимум e(u), называется центральной.
Множество всех центральных вершин образует центр графа.
Например, у простого цикла С6 диаметр и радиус совпадают, а
каждая вершина является центральной. Для полных графов Kn:
diam(G) = rad(G) = 1.
16 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

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


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

D X
C

D, С – точки сочленения, Х – мост

Блоки

Рис. 1.17

Вершинной связностью χ графа G называется наименьшее число


вершин, удаление которых приводит к несвязному или тривиально-
му (одновершинному) графу. Следовательно, связность несвязного
графа χ = 0, связность связного графа с точкой сочленения χ = 1. Ес-
ли в полном графе Kn удалить n – 1 вершину, то получим тривиаль-
ный граф, поэтому для такого графа χ = n – 1. Для простого цикла
всегда χ (Cn) = 2. На рис. 1.18 для полного графа K4 и простого цикла
C8 вершинная связность χ(K4) = 3, χ(C8) = 2.

K4 С8
Рис. 1.18
Глава 1. Основные понятия теории графов 17

Рассмотрим граф на рис. 1.19 с точкой сочленения C. Удалив эту


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

С
χ(G)=1

Рис. 1.19

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


надо в нем удалить не менее трех ребер. Числом реберной связности
λ(G) называется наименьшее число ребер, удаление которых приво-
дит к несвязному графу. Для любого графа G верны неравенства
χ(G) ≤ λ(G) ≤ δ(G), где δ(G) – минимальная степень вершин графа G.
Граф связен, если любые две его вершины соединены цепью. Ес-
ли в произвольном графе G вершина xi связана с xj, а xj связана с xk,
то xi связана с xк. Тогда, если Vi есть множество вершин G, связан-
ных с вершиной xi, то множество вершин графа G, которое обозна-
чим через V, можно представить в виде попарно не пересекающихся
подмножеств [2]
V = ∪Vi .
i

Соответственно G = ∪ Gi ,
i

где Gi – связные непересекающиеся подграфы G.


Если число таких подграфов P, то, говорят, что G имеет P компо-
нент связности. Любой граф можно рассматривать как совокуп-
ность связных графов. Всякий максимально связный подграф графа
G называется компонентой связности графа G.
Например, графы на рис. 1.16 имеют соответственно одну и две
компоненты связности.
Утверждение 1.5. Граф G связен тогда и только тогда, когда он
состоит из единственной компоненты связности.
18 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Доказательство. Пусть множества вершин Vi и Vj определяют


две различные компоненты связности. Тогда нет цепи (пути) из вер-
шины xi ∈Vi в вершину xj∈Vj, а это противоречит связности графа. ■

1.5. Изоморфизм графов


Как уже отмечалось, один и тот же граф на рисунках может вы-
глядеть по-разному. Например, на рис. 1.20 изображен один и тот же
граф [15, 16].

Рис. 1.20

Говорят, что два графа G1(V1,E1) и G2(V2,E2) изоморфны (G1 ~ G2),


если существует биекция (взаимно-однозначное отображение) f :
V1 → V2, сохраняющая смежность [16]:
е1 = (а, в) ∈ E1 ⇒ е2 = (f (а), f (в)) ∈ E2,
е2 = (а, в) ∈ E2 ⇒ е1 = (f –1(а), f –1(в)) ∈ E1.
Изоморфизм графов есть отношение эквивалентности, так как он
обладает свойствами: рефлексивности (G1 ~ G1); симметричности
(если G1 ~ G2, то G2 ~ G1); транзитивности (если G1 ~ G2 и G2 ~ G3,
то G1 ~ G3). Понятие изоморфизма для графов имеет наглядное тол-
кование. Допустим, что рёбра графов являются эластичными нитя-
ми, связывающими узлы – вершины. Тогда изоморфизм можно
представить как перемещение узлов и растяжение нитей. Очевидно,
что два графа являются изоморфными, если они отличаются лишь
идентификацией своих вершин. Например, на рис. 1.21 приведены
два графа G и G1, изоморфизм которых определяется изоморфной
подстановкой [17]
⎛ ABC D E F ⎞
f1 = ⎜ ⎟.
⎝1 6 5 4 3 2 ⎠
Глава 1. Основные понятия теории графов 19

A F
6 5 4
B E

C D 1 2 3
Рис. 1.21

Для изоморфных графов некоторые числовые характеристики


(инварианты) сохраняются. К инвариантам относятся, например,
число вершин, число ребер графа и др. Однако совпадение числа
вершин, числа ребер и степеней вершин не всегда соответствует
изоморфным графам. Неизвестно набора инвариантов, определяю-
щих граф с точностью до изоморфизма.
Свойства графов можно исследовать и с помощью матриц, свя-
занных с ними. Матрицей смежности вершин помеченного графа G
называется матрица A = [aij]1n, где элемент aij есть число ребер, со-
единяющих вершины xi и xj (при этом петля означает два ребра).
Очевидно, что для простых графов такие матрицы являются симмет-
ричными. На рис. 1.22 представлены неизоморфные графы, разли-
чающиеся отсутствием или наличием простых циклов нечетной
длины.

Рис. 1.22

Матрицы смежности для этих графов имеют соответственно вид


0 1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 0 1 1
A= , A1 =
1 0 1 0 1 0 1 0 0 0 1 1
0 1 0 1 0 1 0 1 1 1 0 0
1 0 1 0 1 0 1 0 1 1 0 0
20 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Теоретически можно проверить два графа G и G1 с n вершинами


на изоморфизм, переставляя строки и соответствующие столбцы
матрицы смежности, например, графа G, пока она не превратится в
соответствующую матрицу графа G1 [1] . Если это не произойдет по-
сле n! перестановок, то графы неизоморфны. Однако практическое
использование такого алгоритма при компьютерном анализе мало-
эффективно для больших значений n.
Задачи распознавания изоморфизма графов, изоморфного вложе-
ния и изоморфного пересечения возникают, например, при автома-
тизации проектирования радиоэлектронной аппаратуры, анализе мо-
лекулярных структур химических соединений, разработке эффек-
тивных параллельных вычислительных алгоритмов [16].

1.6. Двудольные графы и их свойства


Множество вершин U ⊆ V называется вершинным покрытием
множества E, если каждое ребро графа G(V, E) инцидентно некото-
рой вершине из U. Очевидно, что все вершины связного графа V все-
гда образуют одно из вершинных покрытий. Наименьшее число
вершин в вершинных покрытиях графа G называется числом вер-
шинного покрытия α0, а наименьшее число ребер в реберных покры-
тиях определяет число реберного покрытия α1. Эти два числа явля-
ются инвариантами графа [16]. Например, α0(Kn) = n – 1, α1(K2n) = n,
α1(K2n+1) = n + 1, α1(С2n) = n, α1(С2n+1) = n + 1. Для изоморфных гра-
фов на рис. 1.20 α0 = 3, α1 = 2, а для графов на рис. 1.21 α0 = 3,
α1 = 3.
Множество вершин (ребер) графа называется независимым, если
никакие две (два) из них не смежные. Максимальная мощность вер-
шин в независимом множестве вершин называется вершинным чис-
лом независимости (числом внутренней устойчивости) β0. Соответ-
ственно максимальная мощность ребер в независимом множестве
ребер называется реберным числом независимости β1. Например,
β0(Kn) = 1, β1(K2n) = n, β1(K2n+1) = n – 1. Известно [16], что в связном
графе (n > 1) имеют место соотношения
α0 + β0 = n, α1 + β1 = n .
Глава 1. Основные понятия теории графов 21

Граф G = (V,E) называется двудольным (или биграфом), если су-


ществует разбиение множества его вершин V на две части (доли)
V = A ∪ B (А ∩ B = ∅) такое, что никакие две вершины из A или из B
не являются смежными. В таком графе G(A, B, E) концы каждого
ребра принадлежат разным долям. Например, на рис. 1.23, в граф не
является двудольным [2, 11, 18].

A A

B B B

а б в
Рис. 1.23

Отметим, что у графа на рис. 1.23, б две любые вершины, при-


надлежащие разным долям, являются смежными. Такие двудольные
графы называются полными и обозначаются через Kn, m, где n, m –
количество вершин каждой доли. Граф K1, m называется звездным.
Утверждение 1.6. Граф является двудольным тогда и только то-
гда, когда все простые циклы в нем имеют четную длину.
Доказательство. Необходимость. Пусть G(A, B, E) – двудольный
граф, имеющий простой цикл нечетной длины a1, a2,..., a2j+1, a1, в ко-
тором вершины с нечетными номерами находятся в доле A. Тогда
наличие ребра (a1, a2j+1) ∈ А противоречит двудольности графа.
Достаточность. Пусть G – связный граф (для несвязного графа
каждую компоненту можно рассматривать отдельно), который не
содержит простых нечетных циклов. Выберем произвольную вер-
шину a1 ∈ G, которую поместим в долю А.
В эту же долю включим все вершины, удаленные от a1 на четное
число ребер (на четное расстояние). Остальные вершины (с нечет-
ным расстоянием до a1∈А) поместим в долю В. Допустим, что во
множестве вершин доли В есть две вершины p, q, соединенные реб-
ром (p,q)∈Е. Рассмотрим две кратчайшие простые цепи (a1,p) и
(a1,q). Они имеют нечетную длину и хотя бы одну общую вершину.
22 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Пусть b наиболее удаленная от a1 общая вершина рассматриваемых


цепей, тогда расстояние
|(b, p)| + |(b, q)| = |(a1, p)| + |(a1, q)| – 2|(a1, b)|
оценивается четным числом ребер. Поэтому у графа есть простой
цикл (b,..., p, q,...,b) нечетной длины, что противоречит условию. Та-
ким образом, никакие две вершины множества B не соединены реб-
ром. Это утверждение имеет место и для вершин во множестве A. ■
Паросочетанием (независимым множеством ребер) называется
множество М попарно не смежных ребер графа G(V, E). На рис. 1.24
для графа K5,5 приведен пример паросочетания и максимального па-
росочетания [11, 16, 17], для которого β1 = 5.
1 2 3 4 5 1 2 3 4 5

Рис. 1.24

Если каждая вершина множества U⊆V инцидентна какому-либо


ребру паросочетания М, то говорят, что М покрывает множество U.
Известно [11], что максимальная мощность паросочетания в дву-
дольном графе равна минимальной мощности его вершинного по-
крытия а0.
Для полного двудольного графа
α0(K n, m) = min(n,m), α1(K n, m) = max(n,m),
β0(K n, m) = max(n,m), β1(K n, m) = min(n,m).
К необходимости нахождения паросочетания в графе приводят
различные практические задачи. Например, пусть имеется группа из
n рабочих, каждый из которых может выполнить один или несколь-
ко из m необходимых видов работ, но каждый рабочий должен вы-
Глава 1. Основные понятия теории графов 23

полнить только один вид работы. Требуется оптимально распреде-


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

1.7. Ориентированные графы


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

Рис. 1.25

Схемы программ для ЭВМ или, например, сетевые графики также


являются ориентированными графами [2, 9]. На рис. 1.26 орграфом
представлены результаты кругового турнира по футболу без ничьих
в один круг, где А, В, С, D, Е – команды. Как следует из рисунка, ко-
манда В выиграла все встречи, С проиграла все встречи, команда А
выиграла встречи с С, D, Е. Граф такого вида называется турниром.

A B С D E

Рис. 1.26
24 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Ориентированным графом⎯G = (X, Г) называется множество X,


не обязательно конечное, рассматриваемое вместе с некоторым ото-
бражением Г: X → X, которое может не быть однозначным. Элемен-
ты множества X (или точки) называются вершинами орграфа⎯G, а
пара вершин (x, y) называется дугой, если y = Гx. Точка x в этом слу-
чае – начало дуги (предшествующая вершина), а точка y – конец ду-
ги (последующая вершина)[1 – 3]. Например, в орграфе⎯G на
рис. 1.27 изображено 10 дуг для числа вершин n = 5.
X = { x1 , x2 , x3 , x 4 , x5 } , Гx1 = { x2 , x4 , x5 } , Гx2 = { x2 , x3 } ,
Гx3 = { x4 , x5 } , Гx4 = { x 1 , x5 } , Гx5 = { x1}.

Две вершины называются смежными, если они соединены дугой,


а две дуги смежные, если у них общая вершина. Например, на
рис. 1.27 вершины x1, x2 и дуги u1, u3 являются смежными.
u2
x2
u3
u1
x3
u9
x1
u8 u7 u4
u10

u6

x4 u5 x5

Рис. 1.27

Говорят, что вершина x и дуга графа u являются инцидентными,


если вершина x есть начало или конец этой дуги. На рис. 1.27 вер-
шина x1 инцидентна дуге u1, а вершина x5 не инцидентна дуге u3.
Полустепенью исхода (степенью выхода) µ вершины А орграфа
называется число выходящих из А дуг, а полустепенью захода (сте-
Глава 1. Основные понятия теории графов 25

пенью входа) ν – число входящих дуг. Очевидно, что в графе⎯G для


изолированной вершины степень входа и степень выхода равны ну-
лю. Если в вершине графа есть только выходящие дуги, то она назы-
вается источником, если есть только входящие дуги, то она называ-
ется стоком. На рис. 1.26 вершина С является стоком, а вершина В –
источником.
Путем в графе⎯G от вершины А1 к Аn называется последователь-
ность ориентированных ребер (А1, А2), …, (Аn–1, An) такая, что конец
каждого предыдущего совпадает с началом следующего. Очевидно,
что если в⎯G есть путь от А и В, то пути В к А может не быть. Если
существует ориентированный путь от A к В, то говорят, что B дос-
тижима из А. Длина пути измеряется числом дуг в пути. В графе⎯G
расстояние d(A, B) от вершины А до В, определяется длиной крат-
чайшего пути от А до В. Если пути от А к В нет (вершина В не дос-
тижима из А), то длина пути между этими вершинами считается бес-
конечной (d(A, B) = ∞). Например, у графа на рис. 1.28 d(A, B) = 1,
d(C, B) = 2, d(B, C) = ∞.
С D

A B

Рис. 1.28

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


цепи в неориентированном графе. Для орграфов цепь называется
путем, простая цепь – простым путем, цикл (замкнутая цепь) –
контуром, а простой цикл – простым контуром.
Орграф называется сильным (сильно связным), если любые две
его вершины достижимы друг для друга и односторонним, если для
любой пары его вершин, по меньшей мере, одна достижима из дру-
гой.
26 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

На рис. 1.29 приведен пример сильного и одностороннего графа,


где на рис. 1.29, а (С, А, В, С) – простой контур.
С С

А В А В
Сильный граф Односторонний граф
а б
Рис. 1.29

Каждый сильный граф всегда является и односторонним.


Граф⎯G называется полным (турниром), если каждая пара его
вершин соединена в точности одним ориентированным ребром.
В полном ориентированном графе без петель с n вершинами и m
дугами
m = n(n – 1)/2 .
Орграф может не содержать контуров. Ациклический (бесконтур-
ный) орграф – орграф, не содержащий контуров, но возможно
имеющий циклы. Например, орграф на рис. 1.29, б является ацикли-
ческим. Для орграфов бесконтурные графы играют роль, подобную
роли деревьев в множестве неориентированных графов.
При анализе и оптимизации сложных программ часто пользуются
понятием управляющего графа программы (уграфа) [19]. Вершинам
такого орграфа соответствуют операторы алгоритмического языка, а
дуги соответствуют возможным передачам управления. Если каждой
вершине приписать число операций, которым она соответствует, а
дугам приписать условия перехода к новой вершине, то получим на-
правленный взвешенный уграф. В таком графе имеется одна началь-
ная вершина и одна или несколько конечных вершин, вес которых
считается равным нулю [20]. На рис. 1.30 представлены основные
фрагменты уграфов вычислительных алгоритмов.
Глава 1. Основные понятия теории графов 27

a := z + x b := c/f d := a + b
Линейная
структура

z := a

a с
Условный
оператор
;

z := c

case i of
Оператор
выбора

Тело Условие

Тело Операторы
цикла repeat … until
while … do …
Рис. 1.30

Для изучения структурных характеристик и свойств сетей ЭВМ,


параллельных вычислительных систем, систем автоматического
управления процессами, которые являются дискретными динамиче-
скими системами, используются сетевые модели К. Петри [21, 22].
Сеть Петри является примером двудольного орграфа G(A, B, E), где
А – множество переходов, В – множество мест, А ∩ В = ∅, Е – мно-
жество дуг, соединяющих места и переходы.
28 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

1.8. Деревья и их свойства


Простейшим классом графов являются деревья, которые играют
важную роль в современных компьютерных технологиях и про-
граммировании [23, 24]. Это понятие в теорию графов было введено
еще в XIX в. Г. Кирхгофом для анализа электрических цепей и
А. Кэли при анализе структур химических формул. Деревья – очень
удобный инструмент представления информации самого разного ви-
да. Деревом называется всякий связный граф, не имеющий циклов
[17, 25]. Изолированную вершину также можно считать деревом.
Деревом является, например, изображение на карте реки с ее прито-
ками. Примеры деревьев представлены на рис. 1.31.

Рис. 1.31

Если ребрам (дугам) графа приписаны некоторые веса, то он на-


зывается взвешенным. Каждое ребро дерева является мостом, а вер-
шины степени 1 называются висячими.
Утверждение 1.7. Дерево с n вершинами имеет n – 1 ребро.
Доказательство. Для изолированной вершины доказательство
очевидно. Если G – дерево (см. рис. 1.31), то удалив из G одно реб-
ро, получим два дерева с теми же вершинами. Для получения трех
деревьев необходимо удалить два ребра. Для того чтобы из дерева с
n вершинами получить n изолированных вершин, необходимо уда-
лить n – 1 ребро. ■
Отметим, что любые две различные вершины дерева соединяет
единственная простая цепь. Центр дерева содержит одну или две
смежные вершины, и каждая цепь наибольшей длины проходит че-
Глава 1. Основные понятия теории графов 29

рез центр дерева. Лесом называется несвязный граф, представляю-


щий собой объединение деревьев. Очевидно, что лес является гра-
фом без циклов (ациклическим графом). Дерево с выделенной вер-
шиной (корнем) называется корневым деревом, а без выделенной
вершины – свободным деревом. В дереве с n вершинами можно вы-
брать n различных корней. В табл. 1 приведено множество различ-
ных свободных и корневых деревьев для n = 3, 5.

Таблица 1.2
n Свободные деревья Корневые деревья

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


при организации работы файловой системы компьютеров, где файлы
объединены в особые структуры – папки и каталоги. Помеченным
называется граф, вершинам которого приписаны метки (номера,
30 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

цвета и т.п.). Например, на рис. 1.32 изображены два различных по-


меченных дерева, содержащих одно и то же множество вершин.
1 1

3 3
2 2
6 6

4 4
5 5
Рис. 1.32

Пусть нумерация вершин дерева G с n вершинами (1, 2, …,n) при


различном соединении их ребрами остается неизменной. В дереве
всегда есть хотя бы две висячие вершины. Выберем ту из них, кото-
рая имеет минимальный номер, и удалим ее вместе с инцидентным
ей ребром. Если другой конец этого ребра был инцидентен вершине
с номером i1, то эту вершину поместим в вектор v(i1). На втором и
последующих шагах процесс повторяется, пока не останется одно
ребро. Таким образом, получим вектор v(i1, i2,…, in–2), состоящий из
n – 2 компонент, который называется кодом дерева G. Например, для
дерева на рис. 1.32, а – v(2, 2, 2, 5), а для дерева на рис. 1.32, б –
v(1, 2, 2, 5).
Утверждение 1.8 (теорема Кэли). Число различных помеченных
деревьев с n вершинами tp = nn–2.
Доказательство. Число возможных вариантов записи кода дере-
ва v(i1, i2,…, in–2) совпадает с числом размещений с повторениями из
n элементов по n – 2 [26, 27]. Тогда число различных помеченных
деревьев
t p = Ann − 2 = n n − 2 . ■
Отметим, что в формуле Кэли подсчитывается число всех поме-
ченных деревьев. Если их рассматривать как свободные деревья, то
многие из них изоморфны. В табл. 1.3 для четырех значений n при-
ведено число различных деревьев [28, 29 ].
Глава 1. Основные понятия теории графов 31

Таблица 1.3
n 3 4 5 7
tp 3 16 125 16807
tk 2 4 9 48
tc 1 2 3 11
tp – число помеченных деревьев, tk – число корневых деревьев, tc – число свободных
деревьев.

На рис. 1.33 представлены помеченные деревья, соответствую-


щие расположению атомов в молекуле бутана (С4Н10) и изобутана
(С4Н10). Эти два вещества имеют одинаковое количество атомов уг-
лерода и водорода, но различная структура молекул обуславливает,
например, различие их температуры кипения и плавления [30].
H

H H
H H H H
С
H H
С
H
С С С
H С
С С
H

H H H H H H H H

Рис. 1.33

Число простых помеченных графов T(n) с n вершинами и число


помеченных графов с n вершинами и m ребрами Tp(n, m) определяет-
ся соответственно по формулам [3, 29]
T p ( n) = 2 q ,
⎛q ⎞ q!
Tp (n, m) = ⎜ ⎟ = Сqm = ,
⎝m⎠ m!(q − m)!
n!
q = Сn2 = = n(n − 1) / 2.
2!(n − 2)!
32 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

На рис. 1.34 изображены все помеченные графы с тремя верши-


нами.
3 3 3 3

1 2 1 2 1 2 1 2

3 3 3 3

1 2 1 2 1 2 1 2

Рис. 1.34

Таким образом, четыре различных графа с тремя вершинами по-


рождают 8 помеченных графов, из которых 3 являются помеченны-
ми деревьями с тремя вершинами. Отметим, что число помеченных
корневых деревьев tpk = n · tp, так как существует n вариантов выбора
корня. Из асимптотической формулы Пойа для числа непомеченных
графов [15] следует, что число таких графов «примерно» в n! раз
меньше числа помеченных графов на n вершинах.
Остовным деревом (каркасом) называется суграф в виде дерева.
На рис. 1.35 представлены каркасы графа G.

Рис. 1.35

При решении задач проектирования сетей часто требуется мини-


мизировать, например, их стоимость или длину. В этом случае воз-
никает задача построения минимального остовного дерева для гра-
фа, ребрам которого приписаны некоторые веса (стоимость, рас-
Глава 1. Основные понятия теории графов 33

стояние). Для нахождения остовных деревьев, удовлетворяющих оп-


ределенным условиям, можно использовать, например, алгоритм
поиска «в глубину» или алгоритм поиска «в ширину» из [15, 16, 25].
Ориентированным деревом с корнем а называется корневое дере-
во, в котором каждое ребро заменено дугой таким образом, что либо
из каждой вершины можно попасть в корень, двигаясь вдоль ориен-
тации дуг (входящее дерево), либо в каждую вершину можно по-
пасть из корня, двигаясь вдоль ориентации дуг (выходящее или рас-
тущее дерево). Таким образом, задание корня превращает дерево в
ордерево, которое является ациклическим графом.
Николай
(1623 – 1708)

Якоб I Николай Иоганн I


(1654 – 1705) (1662 – 1716) (1667 – 1748)

Николай I Николай II Даниил I Иоганн II


(1687 – 1759) (1695 – 1726) (1700 – 1782) (1710 – 1790)

Иоганн III Даниил II Якоб II


(1744 – 1807) (1754 – 1834) (1759 – 1789)

Христофор
(1782 – 1863)

Иоганн Густав
(1811 – 1863)
Рис. 1.36. Упорядоченное родословное дерево семьи Бернулли

В ордереве каждая концевая вершина называется листом, а путь,


ведущий из корня в лист, называется ветвью. Вершины дерева, на-
ходящиеся на одном расстоянии от корня, называются ярусом дере-
ва. Номер яруса определяется расстоянием до корня. Длина наи-
34 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

большей ветви называется высотой ордерева. Изображение генеало-


гических (родословных) деревьев предполагает, что для дуги (u,v)
вершина u называется отцом (родителем) вершины v, а вершина v
называется сыном (потомком) вершины u. Сыновья одной вершины
называются братьями. Если в ордереве множество сыновей каждой
вершины упорядочено слева направо, то такое дерево называется
упорядоченным. На рис. 1.36 приведено упорядоченное родословное
дерево семьи швейцарских ученых Бернулли.
В классе орграфов существуют бинарные (двоичные) деревья, ко-
торые часто используются для хранения, обработки и представления
информации. Бинарное дерево состоит из корня и двух непересе-
кающихся бинарных деревьев – левого и правого, возможно пустых.
Такое дерево не является упорядоченным.
Например, на рис. 1.37 приведено левое и
правое бинарные деревья, которые изоморф-
ны как упорядоченные, ориентированные и
Рис. 1.37 свободные деревья, но не изоморфны как би-
нарные деревья.
На рис. 1.38 изображено двоичное дерево с весами, которое
используется при кодировании информации по алгоритму Хаффмана
[16]. В соответствии с этим деревом кода, например, слово ММF со-
ответствует двоичному коду: 000110001101001.

Рис. 1.38
Глава 1. Основные понятия теории графов 35

На рис. 1.39 представлено бинарное четырехъярусное дерево ре-


шений для сортировки по убыванию трехэлементного массива про-
стым выбором
x 1 x2

x1 x3
x1 x3

x2 x3 x2 x3
x 2 x 1 x3
x3 x 1 x 2

x 1 x 2 x3 x 1 x3 x 2 x 2 x3 x 1 x3 x 2 x 1

Рис. 1.39

Если корень дерева соответствует первому ярусу, то на m-м ярусе


бинарного дерева находится 2(m–1) узел, а у полного двоичного (иде-
ального) дерева с k ярусами 2k – 1 узел. У дерева с N! листьями чис-
ло ярусов k есть наименьшее целое число, для которого
N! ≤ 2(k–1) или log2N! ≤ k – 1 .
Если у каждой вершины дерева, кроме последней, есть только
один потомок, то такое дерево называется вырожденным и соответ-
ствует линейному списку. Для числа бинарных деревьев на n верши-
нах, которое определяется как сумма чисел возможных комбинаций
левых и правых поддеревьев, имеют место формулы [20]
tn = C2nn /(n + 1), tv = 2( n −1) ,
где tn – число бинарных деревьев, tv – число вырожденных деревьев.
На рис. 1.40 приведены все возможные вырожденные деревья для
n = 3.

Рис. 1.40
36 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Всякий алгоритм сортировки, основанный на попарном сравне-


нии, имеет свое дерево решений, где самый короткий путь из корня
в лист соответствует наилучшему случаю. Для оптимального алго-
ритма каждая перестановка из N элементов массива появится только
один раз, а в дереве решений должно быть не меньше N! листъев.
Так как
log2 N! = log2 (N(N – 1)(N – 2)…1) ≈ N log2 N,
то количество операций в такой сортировке О(N log2 N).
На рис. 1.41 изображено кодовое дерево азбуки Морзе [31], где
используется не более пяти знаков (•, ⎯) для кодирования букв рус-
ского языка.

Е Т

И М
А Н

С У Р Д О
В К Г
Ф
П
Ж Ю Л З Ш Ч
Х ЬЪ Ы Щ
Я Й Б Ц
Э
Рис. 1.41

Кодирование начинается с вершины двоичного дерева. В каждом


узле поворот к левому дереву добавляет в коде буквы точку, а к пра-
вому – тире.
Рассмотрим пример построения и анализа дерева в задаче о лаби-
ринте. В лабиринте (см. рис. 1.42, a) морская свинка должна найти
пищу [32]. Сколькими способами она может это сделать, если ни в
один тупик она не заходит более одного раза. Причём, попав в ту-
пик, она возвращается на перекрёсток, с которого свернула. Дерево
маршрутов для этого лабиринта изображено на рис. 1.42, б. Как сле-
дует из этого графа, всего существует 8 возможных маршрутов, а
самый оптимальный из них имеет длину 4.
Глава 1. Основные понятия теории графов 37

а пища
2 7
1 3 5 6
4

б
3
2 1
5
1 4
6
7 3
3 5
5 4 5

3 7
6 5
7 7
5
5 7
6 7
7
5
7

Рис. 1.42

С задачей о нахождении минимального остовного дерева (МОД),


которую можно решить с помощью «жадного» алгоритма Дейкстры
– Прима [23], тесно связана задача Штейнера о кратчайшем соеди-
нении (по сумме расстояний) точек на плоскости [16]. При решении
этой задачи разрешается к исходному графу добавлять новые вер-
шины (точки Штейнера) с целью обеспечения минимальной суммы
расстояний. Частным случаем этой постановки является задача Тор-
ричелли – Ферма: в треугольнике АВС найти точку Р такую, чтобы
сумма расстояний от Р до вершин А, В, С была минимальной [18].
Известно, что в этом случае все три угла в точке Р, образованные
прямыми РА, РВ, РС, равны 120°.
38 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

1.9. Ациклические графы


В орграфе с конечным числом вершин всегда существует хотя бы
один простой путь максимальной длины. Такой путь называется
критическим путем. Это понятие играет важную роль, например,
при анализе сетевых графиков.
Утверждение 1.9. В любом ациклическом орграфе существуют
хотя бы одна вершина с нулевой полустепенью захода и хотя бы од-
на вершина с нулевой полустепенью исхода.
Доказательство. В графе⎯G всегда существует хотя бы один
критический путь. Рассмотрим один из них. Допустим, что первая
его вершина имеет предшествующую вершину. Если предшествую-
щая вершина совпадает с одной из вершин выбранного критического
пути, тогда в графе есть контур. Если предшествующая вершина не
совпадает ни с одной из вершин, образующих критический путь, то-
гда существует путь, имеющий большую длину, чем критический.
Таким образом, в обоих случаях получаем противоречие с предпо-
ложением о том, что полустепень захода первой вершины отлична
от нуля. Аналогичным образом доказывается существование верши-
ны, не имеющей последующей. ■
Утверждение 1.10. Пусть ациклический орграф имеет n вершин.
Существует целое число s ≤ n, для которого все вершины графа
можно так пометить одним из индексов 1,2,…,s, что если дуга из
вершины с индексом i идет в вершину с индексом j, то i < j.
Доказательство. Выберем в графе любое число вершин, кото-
рые не имеют предшествующих, и пометим их индексом 1. Удалим
их из графа вместе с инцидентными им дугами. В оставшемся ацик-
лическом графе выберем любое число вершин, не имеющих предше-
ствующих, и пометим их индексом 2. Снова удалим из графа поме-
ченные вершины и инцидентные им дуги. Так как при каждом шаге
помечается не менее одной вершины, то число различных индексов
не превышает числа вершин графа. ■
Следствия из утверждения 1.10:
1) никакие две вершины с одним и тем же индексом не связаны
дугой;
Глава 1. Основные понятия теории графов 39

2) длина критического пути графа на 1 меньше минимального


числа индексов, которыми можно пометить все его вершины;
3) для любого целого числа s ≤ n, но большего длины критическо-
го пути, существует такая разметка вершин ациклического графа G,
в которой используются все s индексов.
Граф, размеченный в соответствии с утверждением 1.10, называ-
ется параллельной формой графа, а процесс разметки вершин назы-
вается топологической сортировкой графа [9]. Такая сортировка на-
зывается линейной, если все верши- 3 2
ны помечены разными индексами. 4
Например, на рис. 1.43 вершины
графа линейно отсортированы и
s = 5.
Если при разметке графа все 1 5
входные вершины окажутся в од- Рис. 1.43
ной группе с индексом 1, то такая
форма называется канонической. У графа такая форма единственна.
Для детерминированных алгоритмов программная реализация не
содержит условных операторов. Соответствующие им информаци-
онные графы имеют наиболее простую структуру. В этом случае
всегда существует взаимно-однозначное отображение между верши-
нами информационного графа алгоритма и всеми операциями соот-
ветствующей ему программы. Отметим, что в любой программе реа-
лизуются только явные вычисления, поэтому информационный граф
детерминированного алгоритма всегда является ациклическим орг-
рафом. Допустим, что все операции алгоритма разделены на группы,
причем каждая операция любой группы зависит либо от начальных
данных, либо от результатов выполнения операций, находящихся в
предыдущих группах. Такое представление алгоритма называется
параллельной формой алгоритма (ПФА). Каждая группа операций
называется ярусом ПФА, число групп – высотой ПФА, максималь-
ное число операций в ярусе – шириной ПФА.
Пусть точками на плоскости, которые будем считать вершинами
орграфа, изображено множество всех операций алгоритма. Каждой
вершине можно поставить в соответствие имя и размер (количество
40 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

операций, соответствующих данной вершине графа). Дугами будем


изображать каналы обмена данными. Каждой дуге можно поставить
в соответствие время пересылки и пересылаемую переменную. Если
(в соответствии с алгоритмом) операция u поставляет аргумент для
выполнения операции v, то u соединяется дугой с вершиной v. Когда
результат выполнения одной операции используется в N других опе-
рациях, то из соответствующей вершины выходит N дуг. Если аргу-
ментами являются входные данные, то соответствующие дуги графа
могут отсутствовать. Так как в топологической сортировке никакие
две вершины с одним индексом не связаны дугой, то их можно ото-
ждествить с ярусом ПФА, а число вершин с одним индексом с ши-
риной яруса. Таким образом, если граф описывает некоторый алго-
ритм, то множество параллельных форм алгоритма определяется ко-
личеством его топологических сортировок. Например, на рис. 1.44
приведены две топологические сортировки одного и того же алго-
ритма вычисления суммы
S = a1 + a2 + … + a8
с помощью алгоритма попарного суммирования (алгоритма сдваи-
вания). Здесь в качестве начальных вершин выбраны начальные
данные ai , i = 1,8 .
a1 a2 a3 a4 a5 a6 a7 a8 a1 a2 a3 a4 a5 a6 a7 a8
0

4
Рис. 1.44

Таким образом, зная параллельные формы алгоритма, можно вы-


брать наиболее оптимальную из них для реализации на конкретной
МВС. На выбор оптимальных ПФА влияет и структура вычисли-
Глава 1. Основные понятия теории графов 41

тельных формул. Например, пусть требуется вычислить


S = ((a1a2 )a3 + a4 )a5 + a6 . (1)
С учетом правил действий с алгебраическими выражениями (1) пе-
репишем в иной форме
S = (a1a2 )(a3 a5 ) + (a4 a5 ) + a6 . (2)
Формула (2) более удобна для распараллеливания. На рис. 1.45
приведены соответствующие графы последовательного алгоритма
(формула 1) и параллельного (формула 2).
a1 a2 a3 a4 a5 a6 a1 a2 a3 a4 a5 a6

3
S

5
S
Рис. 1.45

Как следует из этого рисунка, форма записи алгебраического вы-


ражения может изменить число операций и высоту ПФА.
При реализации алгоритма на МВС операции на ярусе ПФА вы-
полняются за один такт, а количество тактов совпадает с высотой
ПФА. Например, на рис. 1.44 для четырехпроцессорной вычисли-
тельной системы по алгоритму сдваивания результат получается за
три такта, а для двух процессоров – за четыре такта.
При суммировании по алгоритму сдваивания четного числа сла-
гаемых N = 2k общее число операций суммирования
42 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

L = N/2 + N/4 + ··· + 1 = N – 1,


а количество параллельных операций k = log2 N соответствует числу
тактов.
Концепция неограниченного параллелелизма [9], возникшая в се-
редине прошлого века, предполагает, что алгоритм, разработанный
для МВС, зависит только от числа процессоров p и имеет необходи-
мую память, одновременно доступную всем процессорам. В рамках
этой идеальной концепции алгоритмы оптимизируются только по
высоте ПФА. Эффективная реализация алгоритмов на МВС зависит
не только от числа процессоров p, которые пронумерованы от 0 до
p – 1, но и строения оперативной памяти. МВС может иметь общую
для всех процессоров память; либо распределенную память, когда
каждый процессор имеет свою локальную память. При создании вы-
числительного алгоритма необходимо учитывать и организацию
связи между процессорами (топологию сети), которая характеризу-
ется диаметром соответствующего связного графа.
Например, на рис. 1.46 представлен граф одного из вариантов
связи между процессорами i = 0,...,15 в виде двумерной решетки
(4 × 4). Для таких процессорных графов внутренний узел i непосред-
ственно связан с узлами i ± 1, i ± 4.

Рис. 1.46

В этом случае обмен информацией между вершиной i и несмеж-


ными вершинами осуществляется как последовательность обменов
между соседними вершинами.
Глава 1. Основные понятия теории графов 43

Аналогичный граф связи для p = 64 использовался в МВС с рас-


пределенной памятью ILLIAC-IV, созданной в 1974 г.
На рис 1.47 приведены примеры шести основных способов связи
процессоров МВС [33]: полный граф, линейка, кольцо, звезда, ре-
шетка. Отметим, что, если в топологии решетки по каждой размер-
ности сетки имеется только два процессора (узла), то она называется
гиперкубовой.

Полный граф Линейка

Звезда Кольцо

2-мерная решётка 3-мерная решётка

Рис. 1.47. Примеры топологий


многопроцессорных вычислительных систем
44 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Задачи
1. Является ли в графе G ребро (AB) мостом?

A
B

2. Найти простой цикл в графе. Является ли этот граф двудоль-


ным?
2
1 3

4
8
5
7 6

3. Нарисуйте связный граф с семью вершинами и шестью ребрами.


4. Можно ли из полного графа с одиннадцатью вершинами уда-
лить часть рёбер так, чтобы степень каждой вершины была равна
семи?
5. Какое наибольшее число ребер можно удалить, чтобы граф ос-
тался связным?

6. При встрече n друзей обменялись рукопожатиями. Сколько


было друзей, если рукопожатий было 28.
Глава 1. Основные понятия теории графов 45

7. Является ли граф двудольным?

8. Сколько существует свободных деревьев с шестью вершинами?


9. Есть ли среди свободных деревьев изоморфные?

10. Составить дерево розыгрыша кубка по футболу среди 8 ко-


манд по олимпийской системе: без ничьих, проигравшая команда
выбывает.
11. Изоморфны ли графы?

а б в г

а б

а б в
46 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

12. В город прибыло три группы иностранных туристов Ti ,


i = 1, 2, 3, говорящих соответственно на английском, французском и
итальянском языках. Туристическое бюро располагает пятью пере-
водчиками Pi , i = 1, 2,…,5, владеющими соответственно языками:
английским, французским и итальянским, немецким и французским,
китайским и итальянским, английским. Нарисовать двудольный
граф распределения всех переводчиков по группам.
13. Имеется две урны, первая из которых содержит два белых и
один черный шар, а вторая – один белый и два черных шара. Нари-
совать дерево логических возможностей и определить число вариан-
тов выбора шаров из урн.
14. Нарисовать дерево маршрутов движения, если в лабиринте на
рис. 1.42 появится еще один тупик.
пища
2 7
1 3 5 6
8 4

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


16. Для кодового дерева на рис. 1.41 записать таблицу кодирова-
ния букв и проверить ее оптимальность по частотной таблице букв
русского языка [31].
17. Найти радиус, диаметр и центр графа

18. Нарисовать все помеченные графы с четырьмя вершинами.


19. Найти всевозможные цепи, соединяющие вершины графа А и
В. Определить длину максимальной простой цепи.

A
B
Глава 1. Основные понятия теории графов 47

20. Нарисовать все возможные вырожденные бинарные деревья


для n = 4.
21. Определить вершинную и реберную связность, диаметр и
центр графов на рис. 1.47.
22. Доказать, что полный граф Kn имеет в точности nn–2 остовных
деревьев.
23. Самая длинная простая цепь является диаметром графа. Дока-
зать, что любые два диаметра имеют общую вершину.
24. Доказать, что простой граф на n вершинах не является дву-
дольным, если он имеет более n2/4 ребер.
25. Доказать, что в дереве существуют хотя бы две висячие вер-
шины.
26. Доказать, что при добавлении ребра между двумя любыми
вершинами дерева в полученном графе образуется ровно один цикл.
27. При каких условиях a задаче Торричелли – Ферма точка Р на-
ходится внутри треугольника.
28. Записать матрицы смежности для графов C3, K3, K3,3.
29. Доказать, что диаметр графа не превосходит его удвоенного
радиуса.
30. Сколько помеченных графов порождает простой цикл С5?
Глава 2

ПЛОСКИЕ И ПЛАНАРНЫЕ ГРАФЫ

2.1. Свойства плоского графа


При изготовлении различных технических устройств (микросхем,
транспортных сетей без пересечений и др.) важно знать, существует
ли изоморфное представление соответствующего графа на плоско-
сти (решение задачи), удовлетворяющее определенным технологи-
ческим требованиям.
Граф G называется плоским, если его можно нарисовать на плос-
кости так, чтобы никакие два его ребра не имели общих точек, кроме
их общей вершины. Граф называется планарным, если он изоморфен
плоскому графу (допускает плоскую укладку). На рис. 2.1 изображе-
ны планарный и плоские графы [3, 11].

Рис. 2.1

Очевидно, что плоскими графами являются: простые циклы, де-


ревья, лес, географическая карта (без островных государств).
Гранью в плоском представлении графа G называется макси-
мальное по включению множество точек плоскости, каждая пара ко-
торых может быть соединена жордановой кривой, не пересекающей
ребра графа. Длина цикла, ограничивающего грань плоского графа,
называется степенью грани. Две грани называются соседними, если
Глава 2. Плоские и планарные графы 49

они имеют хотя бы одно общее ребро.


В качестве грани можно рассматривать D C
и часть плоскости, расположенную вне
плоского графа. Такую плоскость на-
зывают бесконечной или внешней гра-
нью. Грань может содержать дерево.
A B
На рис. 2.2 изображена бесконечная
грань. Примеры граней приведены на Рис. 2.2
рис. 2.3.
P
D
E F
z D
A F H
x
B E
A C
B C
(A, D, C) – не грань, z – грань степени 4, (A, B, C, D, P) –
(A, B, C) – грань x – грань степени 6 внешняя грань
Рис. 2.3

Утверждение 2.1 (формула Эйлера). Если плоский связный граф


имеет n вершин, m ребер и f граней, то
n – m + f = 2. (1)
Доказательство. Рассмотрим плоский связный граф. Преобразу-
ем его в дерево, содержащее все его вершины. Для этого будем уда-
лять те ребра, которые разомкнут простые
циклы (см., например, рис. 2.4).
Тогда получится граф без перегородок
и связный. Каждое удаление ребра
уменьшает число граней на I, так как раз-
мыкается простой цикл либо из двух цик-
Рис. 2.4 лов образуется один. Таким образом, раз-
ность m – f сохраняется. В полученном
дереве пусть n1 – число вершин, m1 – число ребер, f1 – число граней.
Тогда m – f = m1 – f1 = m1 – 1, так как в дереве одна грань. По опреде-
50 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

лению в полученном дереве число вершин сохраняется, тогда n = n1.


Но дерево с n вершинами имеет n – 1 ребро. Тогда m1 = n – 1. Поэто-
му m – f = m1 – 1 = n – 2 или n – m + f = 2. ■
Ответ на вопрос о том, является ли данный граф плоским, очень
часто не является очевидным и требует дополнительного анализа
графа. Рассмотрим, например, задачу о трех домах и трех колодцах.
D E F

A B C
Рис. 2.5

Пусть имеется 3 дома и 3 колодца. От каждого дома к каждому


колодцу идет тропинка. Можно ли проложить тропинки так, чтобы
они не пересекались? Решение задачи сводится к определению того,
является ли полный двудольный граф K3,3 на рис. 2.5 плоским. До-
пустим, что он является плоским [34 – 37]. Для этого графа n = 6,
m = 9 и из формулы (1) получим
f = 2 + 9 – 6 = 5.
Отметим, что у двудольного графа K3,3 нет простых циклов длины
3, т.е. граница любой грани в плоском представлении содержит не
менее четырех ребер. Тогда число граней
f = f4 + f5 + f6 + ..., (2)
где fi – число граней, ограниченных i ребрами. Но каждое ребро яв-
ляется границей двух граней (с учетом внешней грани), поэтому все-
го граней не больше 2m. С другой стороны, удвоенное число ребер
можно вычислить через количество ребер в гранях
2m = 4f4 + 5f5 + 6f6 + ... (3)
Глава 2. Плоские и планарные графы 51

С учетом (2), можно записать


4f = 4f4 + 4f5 + 4f6 + ... (4)
Тогда 4f ≤ 2m или 2f ≤ m. Но для m = 9, f = 5 получим, что 10 ≤ 9.
Таким образом, граф K3,3 не плоский. Аналогичным образом можно
показать, что полный граф с пятью вершинами K5, имеющий про-
стые циклы длины 3, не плоский. Следовательно, имеется 2 типа не
плоских графов: тип I – граф K3,3, тип II – граф K5. ■
По критерию Понтрягина – Куратовского необходимое и доста-
точное условие, при котором граф G является планарным, состоит
в том, что граф не должен содержать подграфов типа I и типа II
[15].
Для проверки планарности графа с n вершинами по этому крите-
рию необходимо рассмотреть Сn5 графов с пятью вершинами и Сn6
графов с шестью вершинами.
Рассмотрим плоский граф G на рис. 2.6. Если добавить к нему два
ребра (штриховые линии), то он останется
плоским.
Плоский граф называется максимально
плоским если невозможно добавить к не-
му ни одного ребра так, чтобы новый
граф был бы плоским. Каждая грань в
максимально плоском графе имеет 3 вер-
шины, поэтому максимально плоский
граф называется триангулированным и Рис. 2.6
имеет ровно 3 внешних ребра.
Утверждение 2.2. Для любого планарного графа G существует
плоская укладка, в которой все ребра – прямолинейные отрезки.
Доказательство. Будем рассматривать общий случай – макси-
мально плоских графов. Для n < 4 утверждение очевидно. Если n = 4,
то четвертая вершина А может находиться либо внутри грани (см.
рис. 2.7, a), либо вне ее, но тогда существует граф с прямолинейны-
ми отрезками, изображенный на рис. 2.7, в.
Пусть теорема верна для максимально плоского графа с n верши-
нами Ai, соединенными прямолинейными отрезками. Добавим еще
одну вершину Аn+1. Так как граф триангулирован, то эта вершина на-
52 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

ходится либо внутри одной из треугольных граней либо вне ее, как
на рис. 2.7, в. ■
А
А

А
а б в
Рис. 2.7

Следствие из формулы Эйлера. Плоский граф с числом вершин


n ≥ 3 имеет не более 3n – 6 ребер. Триангулированный граф с n вер-
шинами имеет 3n – 6 ребер.
Доказательство. Каждая грань графа ограничена не менее тремя
ребрами, а каждое ребро является границей не более двух граней,
тогда 3f ≤ 2 m. Но из (1) следует, что
2 = n – m + f ≤ n – m + 2m/3 ⇒ m ≤ 3n – 6. ■
Отметим, что для плоского графа со степенями граней не меньше
четырех имеет место оценка m ≤ 2n – 4.
Рассмотрим выпуклый многоугольник, ограниченный, например,
простым циклом С5. На рис. 2.8 представлены примеры его триангу-
ляции непересекающимися диагоналями.

Рис. 2.8

Эйлер получил, что количество вариантов триангуляции Ln вы-


пуклого многоугольника с n вершинами (n > 3) его непересекающи-
мися диагоналями находится в последовательности Каталана [38]
1, 2, 5, 14, 42, 132, 429, ...,
где а1 = 1, аn = (2 n)! / [n! (n + 1)!], n > 1, Ln = аn–2 .
Глава 2. Плоские и планарные графы 53

Кэли установил, что числа Каталана перечисляют все плоские


корневые кубические деревья, которые порождает триангуляция
многоугольника его непересекающимися диагоналями.
Формула (1) получена Эйлером в 1758 г. для связного выпуклого
многогранника в трехмерном пространстве с n вершинами, m ребра-
ми и f гранями. Выпуклый многогранник можно представить на сфе-
ре, центр которой находится внутри его, таким образом, что никакие
2 ребра не пересекаются в точках, отличных от вершины. Стерео-
графическая проекция такого графа является связным плоским гра-
фом [35]. Формула (1), отражающая фундаментальные свойства
трехмерного пространства, не связана с расстоянием и углами, она
стала основой для двух математических дисциплин – топологии и
теории графов [34]. Известно, что существует только 5 правильных
многогранников (пять Платоновых тел), плоские графы которых
изображены на рис. 2.9.

Тетраэдр Куб Октаэдр Икосаэдр Додекаэдр


(огонь) (земля) (воздух) (вода) (вселенная)
Рис. 2.9

Если на ребра планарного (или непланарного) графа нанести про-


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

2.2. Эйлеровы графы


Можно ли нарисовать графы, изображенные на рис. 2.10, не от-
рывая карандаша от бумаги и не проходя по каждому ребру более
одного раза? Очевидно, что это можно сделать не для любого из
этих графов [1 – 4].
54 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Рис. 2.10

Эйлеровой цепью (в цепи ребро не встречается дважды) в графе


называется цепь, содержащая все ребра графа. Эйлеровым циклом
называется цикл, содержащий все ребра графа в точности один раз.
Граф, обладающий эйлеровым циклом, называется эйлеровым гра-
фом.
Утверждение 2.3. Если граф G обладает эйлеровым циклом, то
он связный и все его вершины имеют четную степень.
Доказательство. Связность графа следует из определения эйле-
рова цикла. В эйлеровом цикле каждое ребро встречается только
один раз, а каждая вершина встречается k ≥ 1 раз (или k + 1 раз, если
это начальная и конечная вершины цикла, которые совпадают). По-
этому все вершины графа должны иметь четную степень 2k. ■
Утверждение 2.4. В графе G из всякого цикла можно выделить
простой цикл.
Доказательство. Если длина цикла L = 1, то цикл есть петля и он
прост. Пусть утверждение верно для всех графов с циклами длины
до L – 1. Рассмотрим цикл длины L. Он либо простой, либо в нем
есть вершины, повторяющиеся более одного раза. Цикл, сущест-
вующий на таких вершинах, имеет длину меньше L и поэтому со-
держит простой цикл. ■
Утверждение 2.5. Если граф G связный и все его вершины имеют
четную степень, то он обладает эйлеровым циклом.
Доказательство. Для петли, состоящей из одного ребра, эйлеров
цикл существует. Допустим, что у связных графов с числом ребер ≤
m – 1 есть эйлеров цикл. У графа G с m ребрами четные степени
вершин, поэтому он имеет хотя бы один простой цикл С. Если этот
цикл содержит все ребра графа G, то С – эйлеров цикл. Если С не
эйлеров цикл, то удалив из G все ребра цикла С, получим суграф G1.
В таком суграфе каждая компонента связности является либо изоли-
Глава 2. Плоские и планарные графы 55

рованной вершиной, либо эйлеровым графом с четными степенями


вершин и числом ребер меньшим m. В этом случае эйлеровым цик-
лом связного графа G будет объединение простого цикла С с эйле-
ровыми циклами связных компонент подграфа G1. ■
Утверждение 2.6. Связный граф G обладает эйлеровой цепью с
концами А и В тогда и только тогда, когда А и В единственные не-
четные его вершины.
Доказательство. Необходимость. Пусть G имеет эйлерову цепь
(А, В). Присоединим к этому графу новое ребро, соединяющее кон-
цы эйлеровой цепи. В полученном графе G1 степени всех вершин
четные и, следовательно, существует эйлеров цикл. Тогда в графе G
все вершины, кроме А и В, являются четными.
Достаточность. Пусть G связен и А, В – единственные его не-
четные вершины. Соединив концы нечетных вершин, получим эйле-
ров граф G1, в котором эйлеров цикл содержит вершины А и В. Если
в этом цикле исключить дополнительное ребро, то получим эйлеро-
ву цепь. ■
Если граф G связный и имеет 2k вершин нечетной степени, то в
нем можно провести k различных цепей, содержащих все его ребра в
совокупности ровно по одному разу [2, 36].
Рассмотрим пример. Пусть автобусная сеть имеет вид графа на
рис. 2.11. Требуется найти минимальное число маршрутов, обеспе-
чивающих проезд пассажиров из
любого пункта в любой с пересад- D
С
ками или без них. Каждый автобус
при этом должен двигаться по сво- А
ему маршруту. F
Решение. Граф – не эйлеров, так
Рис. 2.11
как имеет 4 нечетные вершины. По-
этому в этом графе существует два маршрута (две различные цепи),
например, ADFC, DCAF. При решении прикладных задач (голово-
ломок, лабиринтов и др.) возникает проблема построения замкнуто-
го маршрута из некоторой вершины А, содержащего все ребра графа
дважды. Такие задачи приводят к необходимости рассмотрения со-
ответствующих ориентированных графов. Орграф является эйлеро-
56 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

вым, если в нем есть контур, проходящий по каждой дуге этого гра-
фа в точности один раз. Известно [1 – 3], что:
1) связный орграф – эйлеров, если в каждой его вершине полу-
степень захода равна полустепени исхода;
2) если граф G – связный, то можно построить цикличный мар-
шрут, содержащий все его ребра в точности два раза, по одному разу
в каждом из двух направлений.
Рассмотрим граф на рис. 2.12, a, в котором требуется найти замк-
нутый путь из вершины А, содержащий все ребра графа G, дважды
по одному разу в каждом направлении.
А
А

а б
Рис. 2.12

Для этой цели используем правило Тарри для связного графа [1].
Из произвольной вершины А начинаем движение вдоль любого реб-
ра. Ребро, по которому впервые приходим в вершину, отмечаем, на-
пример, стрелкой с точкой. Ребро, по которому впервые попали в
вершину, используем для выхода, если нет других возможностей.
Один из вариантов пути в этом случае представлен на рис. 2.12, б.
Утверждение 2.7. Почти нет эйлеровых графов [11].
Доказательство. Пусть G(n) – множество графов с n вершинами,
Э(n) множество эйлеровых графов с n вершинами и мощностью
│Э(n)│. Если Э′(n) – множество графов с n вершинами и четными
степенями, тогда
Э′(n) ⊃ Э (n) и | Э′(n)| ≥ |Э(n)| .
В любом графе число вершин нечетной степени четно. Тогда лю-
бой граф из множества Э′(n) можно получить из некоторого графа
Глава 2. Плоские и планарные графы 57

Gn–1 в множестве G(n – 1), если к нему добавить новую вершину и


соединить ее со старыми вершинами нечетной степени. Поэтому
|Э'(n)| ≤ |G(n – 1)|. C другой стороны, число графов с n вершинами
определяется через количество ребер в полном графе
|G(n)| = 2q, q = C(n, 2) = n(n – 1)/2.
Учитывая, что C(k,2)-C(k – 1, 2) = k – 1,
получим
|Э(n)| ≤ |Э'(n)| ≤ |G(n – 1)| = 2C(n–1, 2) = 2c(n, 2) – (n–1) = |G(n)|·2– (n–1).
1
Тогда δ = |Э(n)| / |G(n)| ≤ и δ→0 при n→∞,
n−1
2
т.е. почти нет эйлеровых графов. ■
Эйлеров цикл в эйлеровом графе можно найти, если нумеровать
ребра по алгоритму Флери [24]:
- выбираем произвольную вершину а и одно из инцидентных ре-
бер (а, в), которому присваиваем номер 1;
- зачеркиваем ребро (а, в) и переходим к вершине в;
- продолжаем процесс, пока не будут занумерованы все ребра
графа;
- мост выбираем только тогда, когда нет других возможностей.
Полученная последовательность ребер и определяет эйлеров цикл.
Отметим, что наличие эйлерова цикла в графах электрических,
телефонных и железнодорожных линий позволяет оптимизировать
их покомпонентное тестирование.

2.3. Гамильтоновы графы


Ирландский математик Вильям Гамильтон в 1857 г. предложил
игру, названную «Кругосветное путешествие».
Пусть 20 городов расположены в вершинах правильного додека-
эдра (n = 20, m = 30, f = 12), моделирующего Землю и представлен-
ного на рис. 2.13. Необходимо пройти по рёбрам через все вершины
додекаэдра (через все города) и вернуться в исходный пункт так, что
ни в одну вершину нельзя заходить более одного раза.
58 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

16

15 11 10 8 7 17
3 4

2 5
1
12 6

20

13 19
14 18
Рис. 2.13

Гамильтоновым циклом в графе G называется простой цикл, про-


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

Рис. 2.14

Из этого рисунка следует, что гамильтонов цикл может не содер-


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

общему числу маршрутов тогда соответствует n! возможных пере-


становок вершин полного графа.
Пусть, например, четыре города связаны по схеме на рис. 2.15.
Если движение начинается из города А, то общее число маршрутов
(n – 1)! = 6.
B

7 10
10

13
A E

10 6
D
Рис. 2.15

Для решения задачи методом перебора можно построить граф-


дерево. На рис. 2.16 представлен фрагмент такого графа, содержа-
щий все шесть гамильтоновых циклов. Для рассматриваемой задачи
один из самых коротких маршрутов SAВEDA = 33, а один из самых
длинных SAEBDA = 43.
A

B D E
D E B E D B

E D E B B D

A
Рис. 2.16
60 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

В рассматриваемой задаче вес ребра cij (расстояние между вер-


шинами i и j) не зависит от направления обхода, поэтому существует
только три различных гамильтоновых цикла. Если cij ≠ cji, то такая
задача коммивояжера называется несимметричной.
Метод полного перебора неэффективен даже для сравнительно
небольших значений n, так как потребуется порядка O(n!) шагов.
Так как n! с увеличением n растет быстрее, чем любой полином от n
и даже быстрее 2n, то задача коммивояжера принадлежит к числу NP
– полных задач [24]. Заметим, что, например, алгоритм Гаусса реше-
ния системы из n линейных уравнений имеет полиномиальную
сложность с числом операций O(n3). Поэтому увеличение размерно-
сти системы в два раза увеличивает число операций на порядок.
Иначе обстоит дело с определением гамильтонова цикла методом
полного перебора. При увеличении числа вершин графа в два раза
количество операций увеличивается более, чем в 2n раз. Поэтому не-
гамильтоновость графа установить гораздо труднее, чем найти га-
мильтонов цикл.
Очевидно, что гамильтонов граф должен быть двусвязным, одна-
ко этого условия недостаточно.
Тэта-графом называется граф, содержащий только вершины сте-
пени 2 и две несмежные вершины степени 3.
Примеры таких двусвязных графов представлены на рис. 2.17.

Рис. 2.17

Тэта-граф негамильтонов и имеет 3 простых попарно не пересе-


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

Справедливы следующие утверждения [11, 15]:


1. Каждый негамильтонов двусвязный граф содержит тэта-под-
граф.
2. Если ⎪G⎪ = n ≥ 3 и для любой его вершины u ∈ G степень
νu ≥ n/2, то G – гамильтонов граф.
3. Если для любой пары u и w несмежных вершин графа G поряд-
ка n ≥ 3 выполняется неравенство νu + νw ≥ n, то G – гамильтонов
граф.
4. Всякий полный граф является гамильтоновым.
5. В гамильтоновом графе нет точек сочленения, т.е. гамильтонов
граф неразделим.
6. В каждом турнире существует гамильтонов путь.
7. Сильно связный турнир является гамильтоновым орграфом.
Отметим, что гамильтонов граф не обязательно является планар-
ным.
В 1967 г. социолог C. Милграм предложил гипотезу «тесного
(маленького) мира» («small world») – каждого человека можно свя-
зать с любым другим человеком на земном шаре цепочкой из шести
знакомых [39]. Позднее эмпирически было доказано, что подобным
свойством обладают структуры многих социальных технических
систем. Например: электроэнергетические сети, WWW-сети, ней-
ронные сети, сети научного сотрудничества и др.
Для описания растущей во времени структуры, обладающей
свойством «тесного мира», и анализа ее стойкости можно использо-
вать аппарат фрактальных графов.

2.4. Гиперкуб и его свойства


Рассмотрим два графа Gi(Vi, Ei), (i = 1,2). Их произведением назы-
вается граф G(V, E), вершины которого V(G) = V1 × V2 − декартово
произведение множества вершин исходных графов. Множество ре-
бер E(G) при этом определяется по правилу: вершины u = (u1, u2) и
v = (v1, v2) – смежные в графе G ⇔, когда или u1 = v1, а u2, v2 смеж-
ные в G2, или u2 = v2 и u1, v1 являются смежными в G1 [15]. При этом
⎮V⎮ = ⎮V1⎮·⎮V2⎮, ⎮E⎮ = ⎮V1⎮·⎮E2⎮ + ⎮V2⎮·⎮ E1⎮.
62 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Например, на рис. 2.18 представлен граф G = G1 × G2 .

1 (1, U) (1, V) (1, W)

U V W

0 (0, U) (0, V) (0, W)

Рис. 2.18

С помощью операции произведения можно рекуррентно ввести


важный класс графов – N-мерные гиперкубы ГN
Г1 = К 2 , Г 2 = К 2 × К 2 , Г N = К 2 × Г N −1 , N > 1 .
Число вершин в таком графе n = 2N, число ребер m = N·2N–1, а макси-
мальное расстояние между узлами совпадает с N. При увеличении
размерности гиперкуба на единицу количество вершин увеличивает-
ся в 2 раза, а максимальное расстояние между ними увеличивается
только на 1. При этом ГN можно разделить на два гиперкуба размер-
ности (N – 1).
Гиперкубовая топология является одной из наиболее эффектив-
ных способов соединения процессоров в МВС и отличается от пол-
ного графа простотой реализации. В этом случае нумерацию процес-
соров можно задать в двоичной системе (0, 1) – векторами длины N,
так, что номера соседних узлов будут отличаться только одним би-
том. Тогда два процессора имеют соединение, если двоичное пред-
ставление их номеров отличается только одним битом. Например, на
рис. 2.19 представлены графы ГN связи процессоров в виде гиперку-
ба для различных значений размерности N.
Известно, что передачу информации между узлами по кольцевой
топологии (в выбранном направлении по кольцу) можно осущест-
вить наиболее просто. Если в ГN необходимо осуществить цикличе-
ский сдвиг информации, то удобно граф ГN отобразить на простой
Глава 2. Плоские и планарные графы 63

цикл Сn (n = 2N) при помощи двоичного кода Грея [31, 33], как на
рис. 2.20 для Г3 .
(1,1,0) (1,1,1)
(1) (0, 1) (1, 1)
(0,1,0) (0,1,1)

(1,0,0) (1,0,1)

(0) (0, 0) (1, 0) (0,0,0) (0,0,1)


Рис. 2.19. Двоичная нумерация вершин гиперкуба

4 5
6 7
3 2
2 3

7 6
4 5

0 1
0 1

Рис. 2.20. Схема отображения Г3 на С8


(в кружках приведены номера процессоров гиперкуба)

При этом новая нумерация вершин определяет гамильтонов цикл,


соседние вершины которого отображаются на соседние вершины в
гиперкубе.

2.5. Графы сеточных функций


При решении различных прикладных задач часто требуется осу-
ществлять восстановление некоторой функции f в замкнутой области
D по известным ее экспериментальным значениям в n точках облас-
ти D, либо строить в этой области нерегулярную адаптивную сетку
64 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

(граф) для решения краевой задачи, например, методом конечных


объемов [40]. Значительный практический интерес представляет
восстановление функции, заданной на линиях нерегулярной сетки, а
также решение краевых задач на одномерных клеточных комплексах
(теплопроводность в системе стержней, течение газа в трубопрово-
дах и скважинах, неустановившиеся течения воды в системах реч-
ных русел и каналов и др.) [41 – 43]. Например, на рис. 2.21 пред-
ставлен подграф одномерного клеточного комплекса, описывающий
систему сосудов головного мозга человека, используемый в [44, 45]
для математического моделирования работы сердечно-сосудистой
системы.

Рис. 2.21
Глава 2. Плоские и планарные графы 65

Пусть на плоскости задано множество S точек Pi, i = 1, …, n, в ко-


торых известны значения некоторой функции fi, i = 1 …, n.
Многоугольник Mk с упорядоченным набором вершин Pi, i=1,...,k,
называется простым, если никакая пара его несмежных ребер не
имеет общих точек.
Простой многоугольник Mk называется выпуклым, если для лю-
бых двух точек g и q из Mk соединяющий их отрезок целиком при-
надлежит Mk.
Для нахождения выпуклого многоугольника по n точкам на плос-
кости можно использовать, например, метод Джарвиса (метод «за-
ворачивания подарка») или метод обхода Грэхема [46].
Построим выпуклый многоугольник так, чтобы его вершины
принадлежали множеству заданных точек, а все точки, не попавшие
в вершины, лежали внутри него.
Триангуляция полученного много- у Р1

угольника дает треугольную сетку с


вершинами, Pi, i = 1, …, n, изобра- Р2
жённую на рис. 2.22 для n = 8. Лю-
Р6
бые два треугольника в этом случае
либо не имеют общих точек, либо Р7
имеют одну общую вершину или Р3
одну общую сторону. Очевидно, что
такая триангуляция может быть вы- Р8
полнена не единственным образом. Р5
Р4
Пусть среди n точек плоскости
(n > 2) не все из них коллинеарные, а 0 х
k − число внутренних точек соответ- Рис. 2.22
ствующего многоугольника. Тогда
при любом способе триангуляции число треугольников Q = n – k + 2,
а число ребер такого графа m ≤ 3n – 6.
Если необходимо осуществить триангуляцию не на заданных
точках, а для выпуклой односвязной области D, то можно начать с
задания трех упорядоченных точек на границе области. Одним из
способов оптимизации этого процесса является триангуляция Дело-
не [46 – 49] .
66 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Триангуляция набора из n точек на плоскости называется триан-


гуляцией Делоне, если окружность, описанная вокруг каждого из
треугольников, не будет содержать внутри себя точек набора n. В
этом случае достигается максимум минимального угла по всем тре-
угольникам, что повышает точность интерполяции.
Триангуляция, приведенная на рис. 2.23, a является триангуляци-
ей Делоне, а на рис. 2.23, б − нет, так как существует окружность,
содержащая внутри себя точку набора n.

а б
Рис. 2.23

Если набор n содержит не менее трех неколлинеарных точек и


никакие 4 точки из n не лежат на одной окружности, то такая триан-
гуляция единственна. Соответствующий ей граф назовем графом
Делоне (или сеткой Делоне в терминах теории интерполирования).
Отметим, что для квадрата, например, триангуляция Делоне неодно-
значна.
При интерполировании на нерегулярной сетке в выпуклом мно-
гоугольнике Mk возникает задача определения треугольника, содер-
жащего заданную точку P(x, y) [50].
Условия принадлежности этой точки треугольнику, например, с
вершинами (p1, p2, p3), если они пронумерованы против часовой
стрелки, имеют вид
∆( P, p2 , p3 ) > 0, ∆( p1 , P, p3 ) > 0, ∆( p1 , p2 , P) > 0 ,
где (xi, yi) − координаты вершин выбранного треугольника; mod ∆ −
его удвоенная площадь
Глава 2. Плоские и планарные графы 67

x1 y1 1
∆( p1 , p2 , p3 ) = x2 y2 1 ≠0.
x3 y3 1
Сплайном первой степени на нерегулярной сетке называется
функция, которая внутри каждого треугольника представима в виде
S(x, y) = ax + by + c, (5)
где коэффициенты a, b, c постоянны для выбранного треугольника.
Рассмотрим треугольник (p1, p2, p3), изображенный на рис. 2.24, в
вершинах которого заданы соответственно значения f1, f2, f3.

у р3

р1
р2
0 х
Рис. 2.24

Тогда для определения трех коэффициентов из (5) получим сис-


тему линейных уравнений
ax1 + by1 + c = f1 ⎫

ax2 + by2 + c = f 2 ⎬ . (6)
ax3 + by3 + c = f3 ⎪⎭
Определив коэффициенты из системы (6), для сплайна (5) полу-
чим
S ( x , y ) = (∆1 ( f ) x + ∆ 2 ( f ) y + ∆3 ( f )) / ∆ . (7)
Полином (7) можно переписать в виде
1
S ( x , y) = [ f1∆( p, p2 , p3 ) + f 2 ∆( p1 , p, p3 ) + f3∆( p1 , p2 , p)] .

68 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Такая форма записи удобна для интерполяции внутри треугольника


для нескольких массивов сеточных функций.
Локальный сплайн вида (6) дает возможность восстановить зна-
чение функции f (x, y) в любой точке треугольных граней, содержа-
щихся в выпуклом многоугольнике Mk.
Диаграмма Вороного [40, 46, 49] конечного множества S точек на
плоскости – это такое разбиение плоскости, при котором каждая об-
ласть этого разбиения образует множество точек, более близких к
одному из элементов множества S, чем к любому другому элементу
этого множества. Область разбиения V(i), содержащая элемент Pi ∈S,
называется многоугольником Вороного. Такие многоугольники
впервые были рассмотрены русским математиком Вороным (1868 –
1908), использовавшим их в работе по квадратичным формам. Ино-
гда V(i) также называют ячейками Дирихле или многоугольниками
Тиссена.
Будем считать, что на множестве S можно построить единствен-
ную триангуляцию Делоне с остроугольными треугольниками, тогда
центры описанных окружностей лежат внутри треугольников. Пусть
Pi ∈S является внутренней точкой выпуклого многогранника, по-
строенного на множестве точек S. Пусть k треугольников триангуля-
ции Делоне имеют общую вершину Pi . Соединив центры описанных
окружностей смежных треугольников этой группы, получим замк-
нутый выпуклый многоугольник, содержащий k вершин. Он и явля-
ется ячейкой V(i) диаграммы Вороного, имеющей центр в точке Рi,
как это изображено на рис. 2.25 для k = 5.
Из построения следует, что
каждое ребро диаграммы Воро-
V(i) ного является отрезком прямой,
Pi перпендикулярной ребру триан-
гуляции, соединяющему некото-
рую пару точек множества S, и
делящей этот отрезок (ребро)
пополам. Таким образом, каждое
ребро триангуляции принадле-
Рис. 2.25 жит в точности двум много-
Глава 2. Плоские и планарные графы 69

угольникам Вороного. Рассмотренный способ построения диаграм-


мы, который не является единственным, предполагает наличие три-
ангуляции Делоне на множестве S. Отметим, что диаграмма Вороно-
го строится на плоскости, поэтому ячейки V(i), соответствующие
вершинам выпуклой оболочки Mk, являются неограниченными.
Соседями назовем центры тех ячеек Дирихле – Вороного, кото-
рые имеют общую сторону с ячейкой для Рi. Например, на рис. 2.25
ячейка Дирихле имеет пять соседей.
Координаты вершин ячейки V(i), являющиеся центрами соответ-
ствующих описанных окружностей, можно определить через коор-
динаты соседей и точки Рi. Уравнение окружности, проходящей, на-
пример, через точки с координатами ( x1 , y1 ) , ( x2 , y2 ) , ( x3 , y3 ) , мож-
но записать в виде
x2 + y2 x y 1
x12 + y12 x1 y1 1
=0
x22 + y22 x2 y2 1
x32 + y32 x3 y3 1
Или, разлагая определитель по первой строке, получим другую за-
пись уравнения окружности:

( )
a x 2 + y 2 − bx + cy − d = 0 ,

x1 y1 1 x12 + y12 y1 1
где a = x2 y2 1 , b = x22 + y22 y2 1 ,
x3 y3 1 x32 + y32 y3 1

x12 + y12 x1 1 x12 + y12 x1 y1


c = x22 + y22 x2 1 , d = x22 + y22 x2 y2 .
x32 + y32 x3 1 x32 + y32 x3 y3

2 2 2 2
⎛ x − b ⎞ + ⎛ y + c ⎞ = 4ad + b + c
Тогда ⎜ ⎟ ⎜ ⎟
⎝ 2a ⎠ ⎝ 2a ⎠ 4a 2
70 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

и для координат вершин ячейки V(i) получим


b −c
x= , y= .
2a 2a
Рассмотрим теперь граф, двойственный диаграмме Вороного, т.е.
граф, уложенный на плоскости и получаемый в результате соедине-
ния отрезками каждой пары
точек множества S, много-
угольники Вороного которых
имеют общее ребро. В резуль-
тате получается граф с верши-
нами в n точках множества S,
как это показано на рис. 2.26.
Делоне показал, что граф,
двойственный диаграмме Во-
роного, является триангуляци-
ей множества S.
Утверждение 2.8. Диаграм-
ма Вороного множества из n
Рис. 2.26 точек имеет не более 2n – 5
вершин и 3n – 6 ребер.
Доказательство. Каждому ребру графа, двойственного диа-
грамме Вороного, соответствует единственное ребро диаграммы.
Двойственный граф является триангуляцией, а значит, планарным
графом с n вершинами. В соответствии с формулой Эйлера он имеет
не более 3n – 6 ребер и 2n – 4 граней. Следовательно, диаграмма Во-
роного имеет не более 3n – 6 ребер. Однако лишь ограниченные гра-
ни (их не более 2n – 5) соответствуют вершинам этой диаграммы
при отображении двойственности. ■
Диаграмма Вороного является регулярным графом (все ее верши-
ны имеют одну и ту же степень) со степенью вершин, равной трем.
Любой многоугольник Вороного может иметь до n – 1 ребер, но
полное число ребер не превосходит 3n – 6, при этом каждое ребро
принадлежит в точности двум многоугольникам. Это значит,
что среднее число ребер многоугольника Вороного не превосходит
шести.
Глава 2. Плоские и планарные графы 71

Диаграмма Вороного является классическим математическим


объектом, что позволяет упростить решение большого класса задач
определения близости.
Задача построения зон близости требует нахождения всех точек
плоскости, для которых расстояние ρ до объектов множества {Pi}
минимально. В случае, когда все объекты точечные, эта задача сво-
дится к построению диаграммы Вороного. Например, такие диа-
граммы могут использоваться не только для нахождения зон ско-
рейшего обслуживания (достижимости) из заданных базовых пунк-
тов, но и при решении краевых задач [51 – 55].
В археологии ячейки Дирихле используются для нанесения на
карту ареала применения орудий труда в древних культурах и для
изучения влияния соперничающих центров торговли. В экологии
возможности организма на выживание зависят от числа соседей, с
которыми он должен бороться за пищу и свет. Использование диа-
граммы Вороного, отражающей картину расселения животных и
распределения жизненно важных ресурсов, помогает исследовать
эффект перенаселенности. Совместное влияние электрических и
близкодействующих сил, для изучения которых строятся сложные
диаграммы Вороного, помогает определять структуру молекул.
Среди множества известных методов восстановления сеточных
функций особое место занимает интерполяция Сибсона [56], которая
основана на разбиении пространства по ячейкам Дирихле.
Пусть на множестве S узлов интерполяции Pi, i = 1, …, n, известна
диаграмма Вороного. Если P0 – точка интерполирования, то постро-
им диаграмму на множестве из n + 1 точки P0, Pi, i = 1, …, n. Интер-
поляция Сибсона основана на вычислении линейной комбинации
M M
f 0 = ∑ α m f m .., ∑ αm = 1 , α m = βm / D ≥ 0 , (8)
m =1 m =1

где М – число соседей точки P0, αm – весовые коэффициенты, D –


площадь ячейки Дирихле для точки P0.
Коэффициенты βm есть площади, которые вырезаются из ячейки
Дирихле для точки P соответствующими ячейками Дирихле, при-
надлежащими соседям P0 и построенными по множеству S.
72 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

Несибсоновская интерполяция [57] опирается на аналогичное оп-


ределение соседей точки P0. Она отличается от сибсоновской опре-
делением коэффициентов αm в формуле (8). Пусть точка P0 принад-
лежит ячейке Дирихле V(0) с числом сторон, равным M . Обозначим
длины сторон многоугольника через sm , m = 1,…, M , а высоты, опу-
щенные из P0 на sm (или расстояние от P0 до m-й грани), – через hm,
как это изображено на рис. 2.27 для m = 4.
3

S3
4 h4 h3
S4
h1 h2 S2

S1

1 2
Рис. 2.27

Тогда значение f0 вычисляется по формуле


−1
M ⎛M ⎞
f0 = ∑ α m f m , α m = ( sm / hm ) ⎜ ∑ s j / h j ⎟ , m = 1, 2,… , M .
⎜ ⎟
m =1 ⎝ j =1 ⎠
Недостатком такого алгоритма является необходимость пере-
строения ячеек Дирихле в окрестности точки интерполирования и
первый порядок точности. Однако этот метод по сравнению с мето-
дом Сибсона прост в реализации, особенно в многомерном случае,
обладает свойством однозначности. Поэтому он находит примене-
ние при численном решении краевых задач, в алгоритмах компью-
терной графики и многомерной интерполяции, картографии и геоде-
зии, где важна скорость работы алгоритмов.
Отметим, что центры ячеек Дирихле, являющиеся центрами тя-
жести многоугольников, часто используются как узлы неструктури-
рованной сетки в методе конечных объемов.
Глава 2. Плоские и планарные графы 73

Задачи
1. Доказать, что для плоского графа с р компонентами связности
формула Эйлера имеет вид
n – m + f = p + 1.
2. Доказать, что число граней любой укладки планарного связно-
го графа не зависит от выбора укладки.
3. Существует ли эйлеров цикл в графах?

4. Отыскать эйлеровы цепи в графе.

5. Где на выставке следовало бы сделать выход и вход, чтобы


можно было провести экскурсию по всем залам, побывав в каждом
один раз?

6. Найти замкнутый маршрут из вершины А, содержащий все


ребра графа дважды.
74 В.Н. Берцун. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ НА ГРАФАХ. Часть 1

7. Нарисовать граф, соответствующий лабиринту.

E D

F
A

8. Пусть трамвайная сеть связывает 6 остановок. Требуется найти


минимальное число маршрутов, обеспечивающих проезд пассажи-
ров из любого пункта в любой с пересадками или без них. Каждый
трамвай при этом должен двигаться по своему маршруту [36].

D
В С
А

E F

9. На плоскости расположено n различных точек. Через каждые


две из них проведена прямая. Оказалось, что таких прямых 21. При
каких n это возможно?
10. В треугольнике АВС, наибольший угол которого меньше 2π/3,
известны координаты вершин. Определить координаты точки Р
внутри треугольника, для которой сумма расстояний от Р до вершин
А, В, С была бы минимальной (задача Торричелли – Ферма [18]).
Глава 2. Плоские и планарные графы 75

11. Сколькими способами можно осуществить триангуляцию вы-


пуклого шестиугольника непересекающимися диагоналями. Нарисо-
вать все варианты такой триангуляции.
12. Нарисовать дерево маршрутов и определить максимальный и
минимальный гамильтонов цикл.

4 2

7 6
10
A Е
3 8

C
11 3 5

D
ЛИТЕРАТУРА

1. Берж К. Теория графов и ее применения. – М., 1962. – 319 с.


2. Оре О. Графы и их применение. – М., 2002. – 171 с.
3. Харари Ф. Теория графов. – М., 2003. – 300 с.
4. Татт У. Теория графов. – М., 1988. – 424 с.
5. Кристофидес Н. Теория графов: алгоритмический подход. – М., 1978. –
432 с.
6. Гаджинский А.М. Основы логистики. – М.: ИВЦ «Маркетинг», 1995. –
124 с.
7. Уилсон Р. Введение в теорию графов. – М., 1977. – 207 с.
8. Самарский А.А., Михайлов А.П. Математическое моделирование: Идеи.
Методы. Примеры. – М.: Физматлит, 2001. – 320 с.
9. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.: БХВ
– Петербург, 2002. – 608 с.
10. Штоба С.Д. Муравьиные алгоритмы // Журнал Exponenta Pro. (www.
Exponenta. ru). – 2003. – № 4(4). – C. 70 – 73.
11. Дистель Р. Теория графов. – Новосибирск: Изд-во Ин-та математики,
2002. – 336 с.
12. Любкин А.А. Введение в теорию графов. – М., 1975. – 136 с.
13. Евстигнеев В.А., Касьянов В.Н. Толковый словарь по теории графов.
Ч. I. – 1985. – 52 с.
14. Евстигнеев В.А., Касьянов В.Н. Толковый словарь по теории графов.
Ч. II, III. – 1986. – 193 с.
15. Емеличев В.А., Мельников О.И. и др. Лекции по теории графов. – М.,
1990. – 384 с.
16. Новиков Ф.А. Дискретная математика для программистов. – СПб.: Пи-
тер, 2001. – 304 с.
17. Нечепуренко М.И. и др. Алгоритмы и программы решения задач на гра-
фах и сетях. – Новосибирск: Наука, 1990. – 515 с.
18. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирова-
ния. – Харьков, 1997. – 368 с.
19. Евстигнеев В.А., Касьянов В.Н. Сводимые графы и граф-модели в про-
граммировании. – Новосибирск: Изд-во ИДМИ, 1999. – 288 с.
20. Королев Л.Н., Миков А.И. Информатика. Введение в компьютерные
науки. − М.: Высш. шк., 2003. – 341 с.
Литература 77

21. Котов В.Е. Сети Петри. – М.: Наука, 1984. – 170 с.


22. Малышкин В.Э. Параллельное программирование мультикомпьютеров.
– Новосибирск: Изд-во НГТУ, 2006. – 296 с.
23. Макконнелл Дж. Анализ алгоритмов. Вводный курс. – М.: Техносфера,
2002. – 304 с.
24. Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка,
визуализация и применение. – СПб.: БХВ – Петербург, 2003. – 1104 с.
25. Евстигнеев В.А., Касьянов В.Н. Алгоритмы на деревьях. – Новосибирск,
1989. – 311 с.
26. Пермякова Н.В. Спецглавы математики. Часть 2. Теория графов. –
Томск, 2000. – 125 с.
27. Мещеряков М.В. Избранные лекции по дискретной математике. Ч. 1.
Комбинаторика и графы. – Саранск, 2003. – 116 с.
28. Евстигнеев В.А. Применение теории графов в программировании. – М.,
1985. – 352 с.
29. Риордан Д. Введение в комбинаторный анализ. – М.: ИЛ, 1963. – 287 с.
30. Физика / Под ред. А.С. Ахматова. – М.: Наука, 1965. – 900 с.
31. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс. – М.: Мир, 1990. –
400 с.
32. Кемени Дж., Снелл Дж., Томпсон Дж. Введение в конечную математи-
ку. – М.: ИЛ, 1983. – 486 с.
33. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для
многопроцессорных вычислительных машин. – Нижний Новгород:
Изд-во ННГУ, 2000. – 176 с.
34. Левитин К.Е. Геометрическая рапсодия. – М.: Знание, 1984. – 175 с.
35. Люстерник Л.А. Выпуклые тела. – Л.: ОНТИ НКТП СССР, 1936. – 75 с.
36. Касаткин В.Н. Необычные задачи математики. – Киев, 1987. – 125 с.
37. Березина Л.Ю. Графы и их применение. – М., 1979. – 143 с.
38. Гарднер М. Числа Каталана // Квант. – 1978. – № 7.9
39. Кочкаров Р.А., Малинецкий Г.Г. Стойкость, управление риском и обес-
печение безопасности сложных технических систем // Проблемы безо-
пасности и чрезвычайных ситуаций. – 2005. – № 4. – С. 12 – 25.
40. Ильин В.П. Методы конечных разностей и конечных объемов для эл-
липтических уравнений. – Новосибирск: Изд-во Ин-та математики,
2000. – 345 с.
41. Воеводин А.Ф., Шугрин С.М. Методы решения одномерных эволюцион-
ных систем. – Новосибирск: Наука, 1993. – 367 с.
42. Берцун В.Н., Минакова Е.А. Математическое моделирование теплооб-
мена в элементах, имеющих графовую структуру. – Томск: Изд-во Том.
ун-та, 2002. – С. 69 – 70.
78 Литература

43. Фрязинов И.В. Алгоритм решения разностных задач на графах // Ж. вы-


числ. матем. и матем. физ. – 1970. – Т. 10. – № 2.
44. Абакумов М.В., Гаврилюк К.В., Есикова Н.Б. и др. Математическая мо-
дель гемодинамики сердечно-сосудистой системы // Дифференциаль-
ные уравнения. – 1997. – № 33(7). – С. 892 – 898.
45. Абакумов М.В., Есикова Н.Б., Мухин С.И. и др. Разностная схема реше-
ния задач гемодинамики на графе / Препринт. – М.: Диалог-МГУ, 1998.
46. Препарата Ф., Шеймос М. Вычислительная геометрия: Введение. – М.:
Мир, 1989. – 478 с.
47. Делоне Б.Н. О пустоте сферы // Изв. АН СССР. ОМЕН. – 1934. – № 4. –
С. 793 – 800.
48. Скворцов А.В., Костюк Ю.Л. Эффективные алгоритмы построения три-
ангуляции Делоне // Геоинформатика. Теория и практика. Вып. 1. –
Томск: Изд-во Том. ун-та, 1998. – С. 22 – 47.
49. Ильман В.М. Алгоритмы триангуляции плоских областей по нерегуляр-
ным сетям точек // Алгоритмы и программы, ВИЭМС. Вып. 10 (88). –
М., 1985. – С. 3 – 35.
50. Берцун В.Н. Сплайны сеточных функций. – Томск: Изд-во Том. ун-та,
2002. −124 с.
51. Делоне Б.Н. Геометрия положительных квадратичных форм // Успехи
матем. наук. – 1937. – Вып. 3. – С. 16 – 62; Ч. 2 // 1938. – Вып. 4. –
С. 102 – 164.
52. Михайлова Н.В., Тишкин В.Ф., Тюрина Н.Н. и др. Численное моделиро-
вание двумерных газодинамических течений на сетке переменной
структуры // Ж. вычисл. матем. и матем. физ. – 1986. – Т. 26. – № 9. –
С. 1392 – 1406.
53. Неледова А.В., Тишкин В.Ф. Использование адаптивных сеток нерегу-
лярной структуры для расчета разрывных течений с повышенным по-
рядком точности // Дифференциальные уравнения. – 1996. – Т. 32. –
№ 7. – С. 976 – 985.
54. Абалакин И.В., Жохова А.В., Четверушкин Б.Н. Кинетически согласо-
ванные разностные схемы на нерегулярных сетках // Мат. моделирова-
ние. – 1997. – Т. 9. – № 7. – С. 44 – 63.
55. Вабищевич П.Н., Cамарский А.А. Монотонные разностные схемы для
задач конвекции – диффузии на треугольных сетках // Ж. вычисл. ма-
тем. и матем. физ. – 2002. – Т. 42. – № 9. – С. 1368 – 1382.
56. Sibson R. A brief description of the natural neighbour interpolant // Inter-
preting Multivariate Data. – Chichester: Wiley, UK, 1981. – P. 21 – 36.
57. Беликов В.В., Иванов В.Д., Канторович В.К. и др. Несибсоновская ин-
терполяция – новый метод интерполяции значений функции на произ-
Литература 79

вольной системе точек // Ж. вычисл. матем. и матем. физ. – 1997. –


Т. 37. – № 1. – С. 11 – 17.
58. Sukumar N. Sibson and non-Sibsonian interpolants for elliptic partial
differential equations // Proceedings of the First MIT Conference on Fluid
and Solid Mechanics. Vol. 2 / Bathe K.J. (ed.). – Amsterdam, The
Netherlands: Elsevier Press, 2001. – Р. 1665 – 1667.
59. Боголюбов А.Н. Математики и механики. – Киев, 1983. – 638 с.
60. Круликовский Н.Н. Из истории развития математики в Томске. – Томск:
Изд-во Том. ун-та, 2006. −174 с.
61. Депман И.Я. История арифметики. – М.: Просвещение, 1965. – 415 с.
БИОГРАФИЧЕСКИЙ УКАЗАТЕЛЬ

ВОРОНОЙ Георгий Федосеевич (1868 –


1908). Русский математик, член-корреспон-
дент Петербургской АН (с 1907 г.) [59].
Родился в с. Журавка (ныне Черниговской
обл.). Окончил Петербургский университет
(1889 г.). В 1890 – 1893 гг. работал там же,
с 1894 г. – в Варшавском университете
(с 1897 г. – профессор). В 1907 г. принимал
участие в организации в Новочеркасске
Донского политехнического института.
Основные работы посвящены теории чи-
сел. Первым объектом научных интересов
Вороного была теория алгебраических чи-
сел, а именно – теория иррациональностей третьей степени. Он под-
верг тщательному анализу вопрос о базисе кубического поля и вы-
работал удобные вычислительные способы определения разложения
как простых рациональных чисел, так и целых чисел кубического
поля на простые идеальные множители, и всех целых чисел кубиче-
ского поля, делящихся на данное идеальное число. Предложил алго-
ритмы, служащие обобщением непрерывных дробей.
В 1894 – 1908 гг. проводил исследования в направлениях арифме-
тической теории квадратичных форм и аналитической теории чисел.
В первом направлении Вороной оказался продолжателем кристалло-
графических исследований Е.С. Федорова: он выяснил, что постро-
енные Федоровым области в пространстве п измерений могут одно-
значно заполнять все пространство, и пришел к определению вы-
пуклых многогранников, обладающих группой переносов, с помо-
щью которых они однозначно заполняют многомерное пространст-
во, – параллелоэдров. Занимался также теорией функций, в частно-
сти теорией ζ-функций Римана.
Биографический указатель 81

ГАМИЛЬТОН Уильям Роуан (1805 –


1865). Ирландский математик, член Ир-
ландской АН (с 1837 г.), в 1837 – 1845 гг. –
ее президент. Родился в Дублине. Научные
таланты Гамильтона проявились рано: уже
в возрасте 13 лет он достаточно свободно
владел 13 языками, в 16 лет, изучая «Не-
бесную механику» Лапласа, обнаружил в
ней ошибку в доказательстве параллело-
грамма сил. Окончил Дублинский универ-
ситет (1827 г.). Работал там же (с 1827 г. –
профессор).
Основные работы посвящены математической оптике, механике,
вариационному исчислению. Развил (1830 – 1837) математическую
оптику, а затем распространил свои методы на механику. Исследо-
вал теорию комплексных чисел. Идею комплексных чисел распро-
странил на пространство, определив четыре единицы: 1, i, j, k, свя-
занные соотношениями:
i2 = j2 = k2 = –1, ij = –ji = k, jk = –kj = i, ki = –ik = j.

ДЕЛОНЕ Борис Николаевич (1890 – 1980).


Советский математик, член-корреспондент
АН СССР (с 1929 г.). Сын Н.Б. Делоне.
Родился в Петербурге. Окончил Киевский
университет (1913 г.). Ученик Д.А. Граве.
В 1913 – 1916 гг. преподавал там же, в 1916
– 1922 гг. – в Киевском политехническом
институте, в 1922 – 1935 гг. – в Ленинград-
ском университете (с 1926 г. – профессор),
с 1932 г. работал в Математическом инсти-
туте АН СССР. Одновременно в 1935 –
1942 гг. – в Московском университете.
Основные работы посвящены алгебре, теории чисел, математиче-
ской кристаллографии, истории математики. Исследовал решения в
целых числах неопределенных уравнений третьей степени с двумя
неизвестными. Цикл работ относится к геометризации теории Галуа.
82 Биографический указатель

Разрабатывал теории правильного разбиения пространства, приведе-


ния квадратичных форм, решетчатых покрытий пространства сфе-
рами. Ряд работ относится к геометрической кристаллографии. Бы-
вал в Томске, поддержал издание трудов Ф.Э. Молина [60]. Между-
народная премия им. Н.И. Лобачевского (1977 гг.). Член Германской
академии естествоиспытателей «Леопольдина».

КАТАЛАН Эжен Шарль (30.V.1814 –


14.II.1894). Бельгийский математик, член
Бельгийской АН (с 1865 г.). Родился в Брюг-
ге. Окончил Политехническую школу в Па-
риже. Преподавал там же и в Сорбонне. В
1849 г. отказался присягнуть Наполеону III
и был лишен права преподавания. С 1865 г.
– профессор Льежского университета.
Основные работы относятся к геомет-
рии, работал также в области математиче-
ского анализа и механики. Одновременно с
К.Г.Я. Якоби и М.В. Остроградским пред-
ложил метод замены переменных в кратных
интегралах. Ему принадлежит постановка проблемы о том, что
уравнение xz – y t = 1 не имеет решений в натуральных числах при
x, y, z, t, больших единицы, кроме тривиального 32 – 23 = 1. Именем
Каталана названа линейчатая поверхность, прямолинейные обра-
зующие которой параллельны одной и той же плоскости.
Член-корреспондент Петербургской АН (с 1881 г.).

КУРАТОВСКИЙ Казимеж (1896 – 1980). Польский математик,


член Польской АН (с 1954). Родился в Варшаве. В 1913 – 1920 гг.
учился в университетах Глазго и Варшавы. С 1921 г. – профессор
Варшавского университета, в 1927 – 1934 гг. – профессор Львовско-
го политехникума, с 1948 г. – директор Математического института
в Варшаве. С 1957 г. – вице-президент Польской АН.
Основные работы относятся к топологии, теории графов, теории
множеств и теории функций действительного переменного. Один
Биографический указатель 83

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


топологической школы. Независимо от
Л.С. Понтрягина в 1930 г. получил и опуб-
ликовал критерий планарности графа. Раз-
вил аксиоматику общего топологического
пространства, исследовал проблемы мно-
жественной топологии на плоскости. На-
чиная с середины 1940-х гг. занимался по-
исками связей между топологией и теори-
ей аналитических функций. Его работа
«Топология» (1934 г.) была издана в рус-
ском переводе (Т. 1 – 2, 1966 – 1969 гг.).
Президент Польского математического общества (1946 – 1953 гг.).
Иностранный член АН СССР (с 1966 г.).

КЭЛИ Артур (1821 – 1895). Английский


математик, член Лондонского королевского
общества (с 1852 г.). Родился в Ричмонде.
До 1838 г. жил в Петербурге. Окончил Кем-
бриджский университет (1841 г.). В 1843 –
1863 гг. занимался адвокатурой, одновре-
менно проводил математические исследо-
вания, с 1863 г. – профессор Кембриджско-
го университета.
Основные математические работы отно-
сятся к алгебре и алгебраической геомет-
рии. Начал (1858 г.) разработку теории мат-
риц. Заложил основы теории алгебраических инвариантов. Разрабо-
тал основные понятия абстрактной теории конечных групп. Устано-
вил существование связи между теорией инвариантов и проективной
геометрией. На его исследованиях базируется так называемая интер-
претация Кэли – Клейна геометрии Лобачевского. Изучал геометрию
в пространстве п измерений, теорию дифференциальных уравнений.
Занимался небесной механикой, кинематикой механизмов.
Член-корреспондент Петербургской АН (с 1870 г.).
84 Биографический указатель

ПОНТРЯГИН Лев Семенович (1908 –


1988). Советский математик, академик
(с 1958 г.), член-корреспондент АН СССР
(с 1939 г.). Родился в Москве. В 14-лет-
нем возрасте потерял зрение в результате
несчастного случая. Окончил Москов-
ский университет (1929 г.). В 1927 г. до-
казал (но не опубликовал) критерий пла-
нарности графа. С 1930 г. работал в Мо-
сковском университете (с 1935 г. – про-
фессор), одновременно с 1939 г. – в Ма-
тематическом институте АН СССР.
Основные работы относятся к теории дифференциальных урав-
нений, топологии, теории колебаний, теории управления, алгебре.
Создал математическую теорию оптимальных процессов, в основе
которой лежит принцип максимумов Понтрягина.
Почетный член Международной академии астронавтики
(с 1966 г.), вице-президент Международного математического союза
(1970 – 1974 гг.), почетный член АН ВНР (с 1972 г.). Герой Социа-
листического Труда (1969 г.). Ленинская премия (1962 г.), Государ-
ственная премия СССР (1941 г.), Международная премия им.
Н.И. Лобачевского (1966 г.).

ЭЙЛЕР Леонард (1707 – 1783). Мате-


матик, механик, физик и астроном,
академик Петербургской АН (с 1726
по 1741 г. и с 1766 г.). Родился в Базе-
ле (Швейцария). Окончил Базельский
университет (1724 г.). Одним из его
учителей был Йоганн Бернулли. В
1726 г. Эйлер был приглашен в Петер-
бургскую АН и в мае 1727 г. прибыл в
Петербург. С 1726 г. – адьюнкт физио-
логии, позднее – математики, с 1731 г.
– профессор физики и теоретической
механики, 1731 – 1741 гг. – профессор
Биографический указатель 85

математики. В 1736 г. опубликовал трактат «Механика, или наука о


движениях в аналитическом изложении», где впервые была изложе-
на динамика точки и введено понятие силы инерции. В 1738 г. (через
35 лет после издания «Арифметики» Л.Ф. Магницкого) издал книгу
«Введение в искусство счета, для употребления в гимназии при Им-
ператорской академии Наук в С.-Петербурге» [61]. В 1741 г. пере-
ехал в Берлин, где прожил 25 лет. С 1744 г. – директор Математиче-
ского класса Берлинской АН. В 1755 г. Эйлер установил законы рав-
новесия жидкостей, дал общие уравнения гидродинамики. Он зало-
жил основы теории гидравлических турбин, развил новую теорию
полета снаряда. В 1766 г. возвратился в Петербург, а в 1768 г. пред-
ложил численный метод решения задачи Коши.
Эйлер ввел символ е для основания натурального логарифма,
i – для корня из –1, ∆Y – для конечной разности, ∑ – для суммы,
придумал названия тригонометрических функций, ввел двойные ин-
тегралы и др. Эйлер обладал феноменальной памятью. В 1771 г. в
результате болезни он почти полностью потерял зрение, однако око-
ло половины его научных работ было написано после 1771 г.
Научные интересы Эйлера относились ко всем основным облас-
тям естествознания, к которым можно было применить математиче-
ские методы. Он является основателем русской математической
школы.
Список трудов Эйлера содержит около 850 названий, в их числе
ряд многотомных монографий; из них при жизни было опубликова-
но около 550. «Творчество Эйлера изумительно и в науке беспри-
мерно», – писал академик А.Н. Крылов.
Эйлер – иностранный почетный член Петербургской АН (с 1742
по 1766 г.), член Парижской АН, Берлинской АН, Лондонского ко-
ролевского общества и многих других академий наук и научных об-
ществ.
86 Биографический указатель

ДЛЯ ЗАМЕТОК
Биографический указатель 87

ДЛЯ ЗАМЕТОК
88 Биографический указатель

Владимир Николаевич Берцун

МАТЕМАТИЧЕСКОЕ
МОДЕЛИРОВАНИЕ НА ГРАФАХ

Часть 1

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

Редактор Л.Н. Полковникова


Дизайн, верстка Д.В. Фортес

К-ОКП ОК-005-93, код продукции 954240

Изд. лиц. ИД № 04000 от 12.02.2001. Подписано к печати 18.12.2006.


Формат 60 × 84 1/16. Бумага офсетная. Печать офсетная. Гарнитура «Таймс».
Уч.-изд. л. 8,23 Тираж 200 экз. Заказ № 55.

ООО «Издательство научно-технической литературы»


634050, Томск, пл. Ново-Соборная, 1, тел. (3822) 533-335

Отпечатано в типографии ЗАО «М-Принт», г. Томск, ул. Пролетарская, 38/1