Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория и практика построения и применения сетей и графов. Учебное пособие
.pdf
1.1. Графы как модели
11
Для разреженных графов (тех, у которых относительно мало рёбер)
список смежности занимает меньше места, чем матрица смежности. Для
плотных графов (с большим количеством рёбер) использование пространства списка и матрицы смежности сопоставимо. Каждое описание графа
имеет свои преимущества и недостатки с точки зрения эффективности
вычислений. Однако матрица смежности имеет больше теоретических
применений, поскольку в этом случае может быть применен аппарат линейной алгебры. Часто бывает полезно представить граф с помощью рисунка. Именно возможность визуального анализа добавляет привлекательности теории графов.
Определение. Изображение графа – это множество точек (вершин) и
попарно соединяющих их линий (не обязательно прямых). В графе важен
только факт наличия связи между двумя вершинами. От способа изображения этой связи структура графа не зависит. Названия вершин и ребер могут
быть написаны рядом с ними на чертеже.
Но как следует рисовать граф? Как минимум, вершины должны иметь
различные местоположения, а ребра не должны пересекать вершины, которым они не инцидентны. Рёбра могут пересекаться, но обычно они не
должны пересекаться более одного раза. Способов нарисовать граф может
быть довольно много. Не существует единственного наилучшего изображение графа, скорее есть варианты, подчёркивающие разные свойства графа.
Один из способов представления графа, например, разместить все
вершины по окружности и сделать все ребра прямыми линиями, которые
являются хордами окружности. Некоторые компьютерные программы используют этот метод, когда не вводится никакой информации о то м, где
разместить вершины. Однако этот способ приводит к появлению многочисленных пересечений рёбер, что может затруднить правильное визуальное восприятие.
Другой способ представления графа – начать с одной вершины, рядом расположить её соседей, потом попытаться приблизить к каждой новой
вершине её соседей и так далее. Независимо от того, какой способ построения графа используется, обычно требуется несколько попыток, чтобы
найти наиболее полезное изображение графа.
Пример. Сначала нарисуем граф (рис. 1.4, слева), у которого вершины изначально производным образом расположены по окружности.

1. Теоретические основы построения графов
12
Можно заметить, что граф содержит две группы из 4-х вершин: {1, 2, 3, 4} –
одна группа и {5, 6, 7, 8} – другая группа. Можно поменять местами две
пары вершин, чтобы убрать излишнее пересечение ребер в центре графа
(изображение в центре). Наконец, можно переместить группу {5, 6, 7, 8}
внутрь квадрата другой группы {1, 2, 3, 4}, чтобы рёбра вообще не пересекались (изображение справа). В результате получаем симметричное, визуально правильное изображение графа.
Рис. 1.4. Преобразования изображений одного и того же графа
Тот факт, что граф может быть представлен многими различными
способами, поднимает проблему того, что два графа, которые кажутся разными, могут быть, по сути, одинаковыми. Говорят, что два графа изоморфны, если их вершины могут быть переименованы или перемещены таким образом, что графы станут одинаковыми.
Можно создать изображение графа, не называя его вершин. Такой
граф называется немаркированным графом. Немаркированный граф можно
рассматривать как представляющий все возможные помеченные графы с
одинаковой структурой. Два немаркированных графа изоморфны, если
можно пометить их вершины так, чтобы они были одинаковыми. Если два
немаркированных графа G и H изоморфны, будем писать G = H.
Будем называть граф с именованными вершинами помеченным графом. Без дополнительного контекста «граф» будет означать немаркированный граф. Практические приложения обычно включают помеченные
графы, в то время как теоретические задачи чаще всего имеют дело с немаркированными графами. Когда мы работаем с помеченным графом, который не является производным от конкретного приложения, нам просто
нужно n различных имён для вершин, где n – количество вершин в графе.

1.1. Графы как модели
13
Естественным выбором является использование множества [n] = {1, …, n}
в качестве множества вершин.
Пример. Пусть V(G) = n, т.е. граф G содержит n вершин. Вычислим
сколько существует обыкновенных графов на этом множестве вершин. Все
они отличаются друг от друга только множествами рёбер, а каждое ребро –
это неупорядоченная пара различных элементов из множества V(G). Чтобы
найти число таких пар нужно найти число сочетаний пар на множестве n
вершин, это число равно n х (n − 1) / 2. Каждая пара может быть включена
или не включена в множество рёбер графа. Таким образом, число графов с
n вершинами определяется по формуле
2
1)n(n
2Gn
−
=
,
где Gn – число графов на n вершинах.
Введём обозначения для количества вершин и рёбер графа.
Определение. Порядок n(G) = | V(G) | графа G – это число вершин в
графе G. Размер m(G) = | E(G) | графа G – это число рёбер графа G. Когда
контекст понятен, т.е. идёт обсуждение одного графа, то можно упростить
обозначения порядка и размера до n и m соответственно. Мы будем использовать только n и m для представления порядка и размера, таким образом
полный граф Kn имеет порядок n.
Определение. Полный граф Kn имеет порядок n; у такого графа каждая пара вершин является смежной. Пустой граф Kn имеет порядок n и не
имеет рёбер. Уникальный граф с одной вершиной K1 называется тривиальным графом. Граф с более чем одной вершиной – нетривиален.
Полный граф Kn имеет размер, равный числу сочетаний
2
1)n(n
С
2
n
−
=
, поскольку каждая пара вершин образует ребро (рис. 1.5).
Рис. 1.5. Полные графы: К3, К4 , К5 , К6

1. Теоретические основы построения графов
14
Полные и пустые графы являются противоположными крайностями
для графа с n вершинами. Эти классы графов интересны сами по себе. Когда мы изучаем незнакомый параметр или свойство графов, мы обычно сначала применяем его к этим классам, поскольку с них мы и начинаем применять метод индукции.
Определение. Степенью вершины v называется число рёбер, инцидентных v. Вершина со степенью 0 является изолированной вершиной.
Вершина со степенью 1 – это лист. Чётной вершиной называется вершина
с чётной степенью; нечётной вершиной называется вершина с нечётной
степенью. Окрестность вершины v, N(v) является множеством соседней
вершины v. Обратите внимание, что степень вершины – это количество
вершин в её строке списка смежности и число единиц в её строке (или
столбце) матрицы смежности.
Пример. Авиакомпании обычно не делают рейсы напрямую между
двумя небольшими городами. Вместо этого они летают из аэропорта небольшого города в аэропорт большого города, который выполняет рейсы
во многие другие аэропорты меньшего размера и другие узловые аэропорты. Аэропорт-узел можно идентифицировать по относительно большому значению степени вершины, которую он представляет на графе, моделирующем авиарейсы.
Определение. Последовательность степеней графа G – это список
его степеней, обычно записываемый в порядке возрастания. Его минимальная степень равна δ(G). Его максимальная степень равна ∆(G).
Граф называется регулярным, если каждая вершина имеет одинаковую степень (k-регулярный, если общая степень равна k). Например, 3-регулярный граф – это кубический граф. Число вершин регулярного графа
k-й степени не может быть меньше k + 1. У регулярного графа нечётной
степени может быть лишь чётное число вершин.
Пример. Следующий граф G (рис. 1.6) имеет последовательность
степеней 4, 3, 2, 2, 1, ∆( G) = 4, а δ(G) = 1.
Рис. 1.6. Пример неориентированного графа

1.1. Графы как модели
15
Существует множество взаимосвязей между параметрами графа.
Следующую теорему называют первой теоремой теории графов.
Теорема 1 (первая теорема теории графов)1.
Если G – граф, то сумма весов всех вершин ∑d(vi) равна удвоенному
количеству всех рёбер.
Доказательство. Рассмотрим множество всех совпадений вершин с
рёбрами (с «концами» рёбер) в графе. Разбиение множества на вершины
показывает, что его мощность равна сумме значений. Разбиение набора по
рёбрам показывает, что каждое ребро появляется дважды, поэтому его
мощность равна 2m. Таким образом, ∑d(vi) = 2m.
Эта теорема также известна под названием «формула суммы степеней». В доказательстве используется метод, известный как подсчёт двумя
различными способами, в результате которых получают тождество.
Следствие теоремы 1. Каждый граф имеет чётное число вершин нечётной степени.
Доказательство. Предположим, наоборот, что граф имеет нечётное
число нечётных вершин. Тогда сумма его степеней должна быть нечётной,
что противоречит первой теореме.
И это следствие, и первую теорему иногда называют леммой о рукопожатии. Результаты интерпретируются на примере вечеринки, где люди
обмениваются рукопожатиями при встрече (или прощании). Поскольку
вершины графа представляют людей, а ребра – рукопожатия между парами,
из леммы следует, что чётное число людей пожимает нечётное число рук.
Из первой теоремы непосредственно вытекает, что средняя степень
графа равна (2m / n). Следовательно, верно следующее неравенство
δ (G) ≤ 2m / n ≤ ∆ (G). Кроме того, количество рёбер k-регулярного графа
порядка n равно m = (n х k) / 2.
Графы могут быть объединены в классы по определённым свойствам или параметрам. Выше уже было дано определение классу полных
графов. Дадим определения несколько другим важным классам графов.
Определение. Путь Pn − это граф, вершины которого могут быть пронумерованы v1, v2, …, vn так, что его ребра равны v1v2, …, v
n-1vn
.
1
Алексеев В. Е, Захарова Д. В. Теория графов: учебное пособие. Нижний
Новгород: Нижегородский госуниверситет, 2017.

1. Теоретические основы построения графов
16
Цикл Cn (или n-цикл) − это граф, вершины которого могут быть про-
нумерованы v1, v2, …, vn так, что его ребра равны v1v2, …, v
n-1vn
и vn v1.
Чётный цикл имеет n чётных значений, а нечётный цикл имеет n нечётных
значений. Небольшие пути и циклы представлены на рис. 1.7.
Рис. 1.7. Примеры путей и циклов графа
Многие математические объекты содержат подобъекты. Множества
содержат подмножества. Группы содержат подгруппы. Векторные пространства содержат подпространства. То же самое верно и для графов.
Определение. Граф H является подграфом графа G, если V(H) ⊆
⊆ V(G) и E(H) ⊆ E(G), так что ребра в E(H) используют только вершины в
V(H). Мы пишем H ⊆ G и говорим, что G содержит H.
Индуцированный подграф – это подграф G[S] с вершинами из множества S ⊆ V(G) и всеми рёбрами с обоими концами в S. То есть индуцированным называют подграф, в котором все вершины включают в себя все
рёбра исходного графа, инцидентные вершинам множества S.
Определение. Кликой графа G называют его максимальный полный
подграф или множество вершин, порождающих полный подграф, т.е. подграф, все вершины которого попарно являются смежными. При этом максимальным полным подграфом клика называется в том смысле, что никакой другой подграф, содержащий клику и не совпадающий с ней, не является полным.
Независимый набор вершин – это набор, который индуцирует пустой граф. Графы, которые не содержат определённых подграфов, также
представляют интерес.
Почти любой тип математических объектов имеет соответствующие
математические операции для манипулирования объектами и создания новых объектов. Числа, например, можно складывать или делить. Функции

1.1. Графы как модели
17
можно умножать. Множества могут быть дополнены или пересекаться друг
с другом. Подобные операции существуют и для графов.
Определение. Дополнение графа G называется граф Ḡ, который имеет
тот же набор вершин, что и граф G, а рёбра только те, которые необходимо
добавить, чтобы получить полный граф с множеством вершин V(G).
Пример. Пусть у нас есть граф G = <V; R>, тогда дополнением этого
графа будет граф G = <V; V2\R>, где V
2 –
это все пары вершин которые имеют
дуги и рёбра, которых не было в графе G, но при добавлении которых граф G
становится полным. Пример графа и его дополнения приведены на рис. 1.8.
Рис. 1.8. Граф G = <V;R> его дополнение граф 𝐆 = <V; V2\R>
Определение. Для графа может быть реализована операция добавления вершины. При этом новых связей (рёбер) не добавляется. Например,
если к графу G = <V;R> мы добавим вершину {k}, то мы получим граф
H = G∪{k}= <V∪{k}; R> (рис. 1.9).
Рис. 1.9. Графы G и H
Определение. Добавление дуги или ребра происходит на том же
множестве вершин, но новый граф Q уже будет таким: Q1 = G∪{ij}=
= <V; R∪{ij}>. Аналогично, дуга может быть и удалена, и новый граф Q2
будет тогда таким: Q2 = G\ {ab} = <V; R\{ab}> (рис. 1.10).
Определение. Удаление вершины происходит следующим образом:
вместе с ней удаляются все инцидентные ей дуги. G1 = G\{c} = <V\{c};
R\{(ij)| i = c или j = c}> (рис. 1.11).

1. Теоретические основы построения графов
18
Рис. 1.10. Графы Q и Q1
Рис. 1.11. Графы G и граф G1
Определение. Декомпозиция G – это набор непустых подграфов,
удовлетворяющих некоторым специальным условиям, и полностью покрывающие граф G.
Рассмотрим несколько бинарных операций: объединение, пересече-
ние, соединение и декартово произведение графов.
Определение. Объединение графов G и H, G∪H является графом с
множеством вершин V(G) ∪ V(H) и множеством рёбер E (G) ∪ E(H). Объединение называется непересекающимся объединением, если множества
вершин графов не пересекаются. Когда мы работаем с немаркированными
графами, мы рассматриваем непересекающееся объединение.
Пример. В результате объединения двух графов (рис. 1.12, слева) по-
лучился новый граф (рис. 1.12, справа).
Рис. 1.12. Слева представлены два графа, справа – их объединение в один граф
Можно нарисовать первый граф и к нему добавить недостающие
элементы второго графа, тем самым получить объединение двух графов.

1.1. Графы как модели
19
Определение. Пересечение графов G1 = <V1; R1> и G2 = <V2; R2> является граф Н, если H = G1 ∩ G2 <V1 ∩ V2; R1 ∩ R2>.
Пример. Результат пересечения двух графов, представленных слева,
новый граф (рис. 1.13, справа).
Рис. 1.13. Слева два графа, справа – их пересечение
Определение. Кольцевой суммой графов G1 = < V1; R1 > и G2 =
= < V2; R2 > назовём граф H = < V1 ∪ V2; R1 ⊗ R2 >. Кольцевой суммой называется объединение двух множеств с исключением их пересечения (рис. 1.14).
Рис. 1.14. Слева представлены два графа, справа – их кольцевая сумма
То есть чтобы получить кольцевую сумму двух графов, нужно найти
их объединение и удалить дуги, которые есть в их пересечении.
Определение. Декартово произведение двух графов G1 = < V1; R1 > и
G2 = < V2; R2 > есть граф H = G1 ⊗ G2 = < V(G1) ⊗ V(G2); R >, где множество
дуг R:
=
=
12121
22121
2211
R)x;(x;yy
R)y;(y;xx
))y;(x);y;x((
.
Например, декартово произведение двух графов Р3 и Р4 является прямоугольной решёткой (рис. 1.15).
То есть множество вершин графа G1 ⊗ G2 является декартовым
произведением множеств V(G1) и V(G2), т.е. вершины этого графа – это
пары упорядоченных вершин (xi;yi), где xi ∈ V1, а yi ∈ V2. Вершины (x1;y1)
и (x2;y2) в графе H = G1 ⊗ G2 являются смежными тогда и только тогда,
когда x1 = x2 и существует дуга (y1;y2) ∈ R2, т.е. y1 и y2 – смежные вершины

1. Теоретические основы построения графов
20
в графе G2 или y1 = y2, и существует дуга (x1;x2) ∈ R1, т.е. x1 и x2 – смежные
вершины в графе G1.
Рис. 1.15. Декартово произведение графов P3 и P4
Теперь рассмотрим, как можно перемещаться по графу через смеж-
ные ребра.
Определение. Маршрут − это список вершин и рёбер {v0, e1, v1, …,
ek, vk}, таких, что ei = {v
i-1,vi
} . Будем называть (u−v)-путь, если u и v – вер-
шины графа, и u = v0 и v = vk, и они – конечные вершины списка. Путь
считается закрытым, если его конечные вершины совпадают.
(U−v)-путь – это путь с конечными точками u и v. Другие его вер-
шины являются внутренними вершинами. Длина обхода, траектории или
цикла – это количество содержащихся в нем рёбер. Обратите внимание, что
путь – это маршрут без повторяющихся вершин. Длина пути Pn равна n − 1,
так как n – 1 ребро входит в путь Pn.
Пример. На приведённом ниже графике {u, z, y, v, u, x, y, v} − это
(u−v)- путь длиной 7, а {u, x, y, v} – это (u – v)-путь длиной 3 (рис. 1.16).
Рис. 1.16. Пример (u – v)-путей графа
Определение. Граф считается подключённым или связным, если он
содержит (u − v) – путь для всех вершин u и v. Граф считается отключённым,
если он несвязный. Любой несвязный граф является непересекающимся
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
