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

advertisement
Основы теории графов
Оглавление
Введение в теорию графов........................................ 2
Основные понятия................................................... 2
Матрица смежности ................................................ 8
Матрица инциденции ............................................ 10
Операции над графами ............................................ 14
Операции над графами ......................................... 14
Эйлеров путь.......................................................... 17
1
Основы теории графов
Введение в теорию графов
В результате изучения данной темы Вы будете:
• иметь представление о теории графов;
• знать основные виды графов;
• уметь составлять матрицы смежности и
матрицы инциденции графов.
Основные понятия
Теория графов в последнее время широко
используется в различных отраслях науки и
техники, особенно в экономике и социологии.
Основы теории графов разработал Л. Эйлер,
решавший задачу о разработке замкнутого
маршрута движения по мостам в г. Кенигсберге.
При решении задачи он обозначил каждую часть
суши точкой, а каждый мост — линией, их
соединяющей. В результате был получен граф (Рис.
1).
Рис.1
Эйлер доказал, что такая задача решения не имеет.
Пусть на плоскости задано некоторое множество
вершин Х и множество U соединяющих их дуг.
Графом называют бинарное отношение множества
2
Х и множеств U: G = (Х; U), или, иначе f : X → Y .
Здесь f — отображение инциденции.
Граф называется ориентированным, если указано
направление дуг (Рис. 2) и неориентированным если
такое направление не указано.
2
4
1
3
Примером
карта дорог.
Рис. 2
неориентированного
графа
является
Граф называется петлей, если его начало и конец
совпадают.
Две вершины называются смежными,
существует соединяющая их дуга.
если
Ребро иj называется инцидентным вершине х, если
оно выходит или входит в вершину.
Степенью (валентностью) вершины называется
число инцидентных ей ребер. Кратностью пары
вершин называется число соединяющих их ребер
или дуг. Вершина графа, имеющая степень 0,
называется изолированной, а если ее степень равна
1, то такая вершина называется висячей.
3
Подграфом Ga графа G называется граф, в который
входит лишь часть вершин графа G вместе с дугами
их соединяющими.
Частным графом Gb графа называется граф, в
который входит лишь часть дуг графа G вместе с
вершинами их соединяющими. Карта шоссейных
дорог это граф. Дороги Саратовской области это
подграф, а главные дороги — это частный граф,
Путем
в
графе
G
называется
такая
последовательность дуг, в которой конец каждой
последующей
дуги
совпадает
с
началом
предыдущей. Длиной пути называют число
входящих в этот путь дуг. Путь может быть
конечным и бесконечным. Путь, в котором никакая
дуга
не
встречается
дважды,
называется
элементарным.
Контур — это конечный путь, у которого начальная
и конечная вершины совпадают. Контур называется
элементарным, если все его вершины различны
(кроме начальной и конечной). Контур единичной
дуги называется петлей.
В неориентированном графе понятие дуга, путь,
контур заменяются соответственно на ребро, цепь,
цикл.
Ребро — отрезок, соединяющий две вершины, цепь
— последовательность ребер.
4
Цикл — конечная цепь, у которой начальная и
конечная вершина совпадают.
Граф называется связанным, если любые его две
вершины можно соединить цепью. Граф сильно
связан, если для его двух любых вершин xi ≠ x j ,
существует путь, идущий из хi и хj.
Граф, который не является связанным, может быть
разбит на конечное число связных графов,
называемых компонентами, или частями.
Ребро графа G называется мостом, если граф,
полученный из G путем удаления этого ребра, имеет
больше компонент связности, чем граф G (Рис. 3).
Точкой сочленения графа называется вершина,
удаление которой приводит к увеличению числа его
компонент связности (Рис. 3).
k
1
k - мост, 1 - точка сочленения
Рис. 3
Неразделимым называется связный граф, не
имеющий точек сочленения.
Блоком
графа
называют
максимальный
неразделимый подграф (Рис. 4).
5
граф G
блоки графа G
Рис. 4
Дерево это конечный, связный, не ориентированный
граф, не имеющий циклов.
Характеристическое свойство деревьев состоит в
том, что любые две вершины дерева соединены
единственной цепью.
Теория деревьев была, в основном, разработана
Кирхгофом. Он применил ее для решения систем
линейных
уравнений,
описывающих
работу
электрических цепей.
Развитие теории графов (деревьев) связано с именем
немецкого химика Кели, который успешно
применил ее для решения задач органической химии
(для изучения изомеров углеводородов с заданным
числом атомов). Совокупность деревьев называется
лесом. Если все вершины графа принадлежат
дереву, то он называется покрывающим. Пусть дано
множество вершин графа. Одну из вершин,
например х1 примем за начальную, которую назовем
корнем дерева. Из этой вершины проводим ребра к
остальным вершинам x2, х3, и т. д. Простейшее
6
дерево состоит из двух вершин, соединенных
ребром.
Если добавить ребро, то добавляется и вершина. Таким образом, дерево с п вершинами имеет п—1 ребро. Дерево имеет корень в вершине Вj, если
существует путь от х1, к каждой из вершин. Ребра
графа, принадлежащие дереву, называют ветвями,
остальные ребра называют хордами.
Граф называется планарным (плоским), если он
может быть изображен на плоскости таким образом,
что его ребра будут пересекаться только в
планарных вершинах (Рис. 5).
1
2
3
4
6
5
14
10
12
19
7
11
9
8
13
15
17
18
16
21
20
Рис. 5
Дерево, являющееся подграфом графа G, называется
покрывающим граф G, если оно содержит все его
вершины.
7
Матрица смежности
Пусть имеется x1 , x2 ,..., xn вершин и u1 , u 2 ,..., u m дуг, их
содержащих. Матрицей смежности S порядка п
называется матрица, состоящая из чисел sij, которые
1, если существует дуга (хi, xj),
sij = 
0, если вершины хi, xj не связаны дугой (хi, xj).
Матрица смежности для ориентированного и
неориентированного графа, вообще говоря, имеет
разный вид (Рис. 4.6).
j
2
4
1
3
1
0
i
а) Ориентированный граф и его матрица смежности
2
4
1
3
б) Неориентированный граф и его матрица смежности
Рис. 6
Рассмотрим
процесс
построения
матрицы
смежности представленного ориентированного
графа (Рис. 6, а).
• Число вершин = 4, следовательно, матрица
смежности будет размером 4х4. Индексы i
отображают строки, а индексы j – столбцы
матрицы.
• Последовательно идем по всем элементам
8
матрицы и проверяем наличие дуги ij. Там где
она есть, выставляем 1, где ее нет – 0. Так,
например, дуга, соединяющая вершины 1 и 2
есть, а вот дуги, соединяющей вершины 2 и 1 –
нет.
Матрица смежности неориентированного графа
отличается от матрицы ориентированного своей
симметричностью относительно диагонали, т.к. дуги
не имеют направлений и элементы sij = s ji .
9
Матрица инциденции
Матрицей инциденции для неориентированного
графа с n вершинами и m ребрами называется
матрица T = [tij ] , i = 1,2,..., n , j = 1,2,.., m , строки
которой соответствуют вершинам, а столбцы –
ребрам. Элементы
1, если вершина хi инцидентна ребру uj,
tij = 
0, если вершинf хi не инцидентна ребру uj.
Матрицей инциденции для ориентированного графа
с n вершинами и m дугами называется матрица
T = [tij ] , i = 1,2,..., n , j = 1,2,.., m , строки которой
соответствуют вершинам, а столбцы – дугам.
Элементы
если дуга иj выходит из вершины хi,
 1,

если дуга иj входит в вершину хi,
tij = − 1,
 0,
если такой дуги нет.

Запишем
матрицу
инциденции
для
ориентированного графа, изображенного на Рис. 6,
а).
• Граф имеет 4 вершины и 5 дуг, таким образом
ее размер будет 4х5.
• Пусть
столбцы
соответствуют
дугам,
соединяющим вершины 1 и 2, 2 и 4, 2 и 3, 3 и 1,
3 и 4.
• Теперь пройдем по всем элементам матрицы и
10
проверим вхождение дуг в соответствующие
вершины. Так, например, дуга
½ выходит из
вершины 1 (ставим t11 = 1), но входит в вершину
2 (ставим t 21 = −1).
В результате получилась матрица:
3
3
2
2
2
4
3
1
4
0 − 1 0 1
 1 0


T = −1
1
1 0
0 2
 0
0 −1
1
1 3


0 − 1 4
 0 −1 0
1
Подведем итоги
• Граф представляет из себя совокупность
множества вершин и множества соединяющих
их дуг.
• Графы
обладают
различными
характеристиками,
такими
как
ориентированность,
степень
вершин,
связанность и т.д.
• Любой граф можно представить в графическом
виде – в геометрическом изображении точек
(вершин) и линий (ребер). Также любой граф
можно однозначно представить в виде матрицы
смежности или матрицы инцидентности.
Вопросы для самоконтроля
1. Чем
отличается
ориентированный
граф
от
11
неориентированного?
2. В ориентированных графах используются понятия
«дуга», «путь», «контур», какие аналогичные
понятия применяются в неориентированных
графах?
3. Каким образом можно представить граф?
4. Какие графы называют деревьями?
основные характеристики дерева.
Дайте
Практические задания
Постройте матрицы смежности и инцидентности
для графа.
Вариант 1.
2
1
5
3
4
Вариант 2.
2
1
5
3
4
Вариант 3.
2
1
5
3
4
12
13
Операции над графами
В результате изучения данной темы Вы будете:
• иметь представление об операциях, возможных
над графами;
• иметь представление о задачах, решаемых с
помощью теории графов.
Операции над графами
Объединением
двух,
или
более
графов
G1 ∪ G2 ∪ ... ∪ Gn называется граф, у которого
множество вершин и множество дуг объединены
(Рис. 7).
a
b
a
1
1
1
2
b
3
2
3
Рис. 1
G1 ∪ G2 ∪ ... ∪ Gn = ( X 1 ∪ X 2 ∪ ...; U1 ∪ U 2 ∪ ...).
Суммой графов G1 и G2 называется граф,
определяемый как объединение графов, причем
каждая вершина, не вошедшая в объединение,
соединяется с другими вершинами (Рис. 8).
14
a
1
b
2
3
Рис. 2
Произведением двух графов называется граф:
G1 * G2 = {( X j1 ; X j 2 ) ∈ G1 * G2 }.
Вершина представляет собой бинарное отношение,
т. е. вершин у нас будет 6 (Рис. 9).
a
b
(a, 1)
1
(a, 2)
(a, 3)
2
3
(b, 1)
(b, 2)
(b, 3)
Рис. 3
Рассмотрим
подробно
решение
задачи
о
Кенигсбергских мостах. В городе Кенигсберге
имеется остров Кнайпхоф, который охвачен двумя
рукавами реки Пречель. Через два рукава
перекинуты семь мостов: a, b, с, d, е, f, g. Можно ли
спланировать прогулку таким образом, чтобы по
каждому мосту пройти только один раз и вернуться
в начальное положение? Поставим в соответствие
каждому мосту ребро графа, а суше вершину (Рис.
10).
15
B
B
f
b
a
A
e
f
a
b
D
c
d
g
C
A
c
d
C
Рис. 4
16
D
e
g
Эйлеров путь
Эйлеровым путем в графе G называется такой путь,
в котором каждое ребро встречается один раз. Эйлер
доказал, что такой путь существует тогда и только
тогда, когда связанный граф G содержит не более
двух вершин нечетной степени. В данной задаче
существует четыре вершины нечетной степени (5, 3,
3, 3). Таким образом, задача о Кенигсбергских
мостах не содержит Эйлеров путь и не имеет
решения.
Если граф содержит точно две вершины нечетной
степени, то в эйлеровом пути эти вершины должны
быть конечными.
Если вершин нечетной степени нет, то граф имеет
замкнутый эйлеров путь.
Ниже показан граф без замкнутого эйлерова пути
(Рис. 11, а) и граф имеющий замкнутый эйлеров
путь (Рис. 11, б).
B
A
2
3
1
C
а)
б)
Рис. 5
Теорема Эйлера. В любом конечном графе сумма
степеней вершин равна удвоенному числу его рёбер.
В XIX в. Гамильтон придумал игру, состоящую в
том, что на доске располагались города в виде
додекаэдра (Рис. 12).
17
Рис. 6
Играющий (игрок) должен обозначить шнуром
замкнутый круг, соединяющий последовательно
одну вершину с другой, посетив при этом все
города, зайдя в каждый только один раз. Граф G
называют Гамильтоновым, если он содержит
простейший путь, проходящий через его вершину.
Гамильтонова задача о путешественнике нередко
преобразуется
в
задачу
о
коммивояжере.
Коммивояжер – не праздно путешествующий
турист, а деловой человек, ограниченный
временными, денежными или какими-либо другими
ресурсами.
Каждому
ребру
назначается
определенная
характеристика,
например
километраж.
Требуется
найти
такой
путь
коммивояжера, по которому необходимо посетить n1 городов, зайдя в каждый город, вернуться домой,
причем протяженность пути должна быть
минимальной. Таким образом, среди всех
гамильтоновых циклов графа с n вершинами нужно
найти сумму длин ребер, путь по которым будет
минимальным.
18
Подведем итоги
• Графы можно объединять, находить их сумму и
произведение.
• С помощью теории графов удобно решать
задачи, связанные с различными схемами
маршрутов, транспортных сетей и т.д.
Вопросы для самоконтроля
1. Какие операции допустимы над графами?
Приведите соответствующие формулы.
2. Что такое Эйлеров путь? Какие графы им
обладают?
3. В чем заключается теорема Эйлера?
4. Какие графы называют Гамильтоновыми?
Практические задания
Постройте матрицы смежности и инцидентности
графа G: G1 ∪ G2 ∪ G3
Вариант 1.
G1
G2
2
1
2
3
5
G3
2
3
4
5
4
5
19
Вариант 2.
G1
G2
3
7
G3
6
1
3
5
1
4
4
2
3
Вариант 3.
G1
G2
2
2
8
3
4
20
G3
5
6
7
1
4
8
Download