Слайд 1Теория графов
Основные определения
Слайд 2Задание графов
Графический способ
Привести пример графического задания графа, состоящего из вершин А,
В и С, связанных ребрами – ребро d между вершинами А и В, ребро e между вершинами В и С, ребро f между вершинами В и А, ребро g между вершиной С и С.
Как называется ребро е по отношению к ребру d?
Как называется ребро g?
Слайд 3Задание графов
Пусть граф задан графически.
Составить матрицу смежности и матрицу инцидентности
Слайд 4Задание графов
По матрице смежности построить граф
Слайд 5Задание графов
Построить граф, если задана матрица инцидентности
Слайд 6Изоморфизм
Показать, что следующие два графа изоморфны
Слайд 7Изоморфизм
Изобразить все попарно неизоморфные 4-вершинные графы без петель и кратных ребер.
Изобразить
все попарно неизоморфные несвязные 5-вершинные графы, не имеющие петель, кратных ребер и изолированных вершин.
Слайд 8Изоморфизм и степень вершин
Изобразить все попарно неизоморфные 6-вершинные графы без петель
и кратных ребер со следующим набором степеней вершин (2, 2, 3, 3, 3, 5)
Изобразить все попарно неизоморфные не имеющие петель и кратных ребер кубические графы с 6 вершинами (кубические – однородные (у которых все вершины – одинаковой степени) графы со степенью 3)
Слайд 9Изоморфизм
Среди пар графов, изображенных на рисунке, найдите пары изоморфных и неизоморфных.
Ответ обосновать.
Слайд 10Изоморфизм
Среди пар графов, изображенных на рисунке, найдите пары изоморфных и неизоморфных.
Ответ обосновать.
Слайд 11Изоморфизм
Среди пар графов, изображенных на рисунке, найдите пары изоморфных и неизоморфных.
Слайд 12Остов минимального веса
Задача нахождения остова минимального веса во взвешенном связном графе,
возникает при проектировании линий электропередачи, трубопроводов, дорог и т.п., когда требуется заданные центры соединить некоторой системой каналов, связных либо непосредственно соединяющим их каналом, либо через другие центры и каналы, так, чтобы общая длина (или, например, стоимость) каналов связи была минимальной. Решение этой задачи «слепым» перебором вариантов потребовало бы чрезвычайно больших вычислений даже при относительно малых n (можно доказать, что полный граф Kn содержит nn–2 различных остовных дерева). Однако для ее решения имеются эффективные алгоритмы. Опишем два из них - алгоритмы Дж. Краскала (1956) и Р. Прима (1957), применяемые к произвольному связному графу (G, w) порядка n.
Слайд 13Алгоритм Краскалла
Шаг 1. Строим граф T1=On+e1, присоединяя к пустому графу на
множестве вершин VG ребро e1∈VG минимального веса.
Шаг 2. Если граф Ti уже построен и i
Слайд 14Задание
Дан граф, найти остов минимального веса.
2
4
5
6
4
2
3
1
7
6
9
8
3
3
4
1
7
5
5
2
Слайд 15Задача о минимальной связке
Найти остовное дерево графа с наименьшим весом, используя
алгоритм Краскалла.
12
1
2
4
3
7
8
5
6
10
11
9
1
7
9
5
6
2
3
4
1
6
7
1
8
2
1
1
6
4
3
Слайд 16Волновой метод
Постановка задачи. Пусть G – неориентированный связный граф, а и
b – две его вершины. Требуется найти цепь, соединяющую вершины а и b и содержащую наименьшее число ребер.
Слайд 17Волновой метод
Алгоритм решения задачи волновым методом.
Помечаем вершину а индексом 0.
Вершины, смежные
с а и соединенные с а, дугами, инцидентными вершине а, помечаем индексами 1.
Вершины, смежные с помеченными индексами 1 и соединенные с ними инцидентными вершинам 1 дугами, помечаем индексами 2.
Слайд 18Волновой метод
Аналогично помечаем вершины индексами 3, 4, …
Совокупность вершин, помеченных индексом
m, обозначим Am.
В некоторой момент будет помечена вершина b, пусть b∈An. Останавливаем процесс индексации.
Слайд 19Волновой метод
По построению можно найти вершину b1∈An-1, смежную с b, по
тем же соображениям существует вершина b2∈An-2, смежная с b1, и т.д.
Искомая цепь с наименьшим числом ребер получается теперь как последовательность вершин (b, b1, b2, …, bn=a), где bi An-i, то есть нужно двигаться, начиная от конечной вершины b в сторону убывания индекса вершины.
Слайд 20Задание
Найти все кратчайшие цепочки от b до а.
1
2
3
4
5
24
23
22
21
14
6
7
10
15
а
11
8
16
17
20
12
13
9
18
19
b
Слайд 21Условный радиус вершины
Если мы не будем останавливать индексацию, то через некоторое
количество шагов все вершины графа будут снабжены индексами, причем наибольший из них является условным радиусом графа G относительно вершины а.
ra=max d(a, b)
Слайд 22Волновой метод
В случае ориентированного графа волновой метод позволяет решить две задачи:
Найти
длины кратчайших путей от вершины а до остальных вершин графа;
Найти длины кратчайших путей от каждой вершины графа до вершины а.
При этом в основном алгоритме изменяется только построение множества Аn.
Слайд 23Центр и диаметр графа
Расстоянием между вершинами a и b называется длина
кратчайшей цепи из a в b.
Радиус графа определяется как наименьший из условных радиусов вершин графа.
Центром графа G называется такая вершина a, что максимальное расстояние между a и любой другой вершиной является наименьшим из всех возможных. Это расстояние называется радиусом графа.
Диаметром d связного графа называется максимальное возможное расстояние между любыми двумя его вершинами.
Если расстояние между двумя вершинами равно диаметру графа, то кратчайший путь, соединяющий эти вершины, называется диаметральным путем, а подграф, образованный вершинами и ребрами этого пути, – диаметральной цепью.
Слайд 24Задание
Найти центр, радиус и диаметр графа
Слайд 25Задача о кратчайшей цепи
Задача о кратчайшем пути. Пусть задана сеть из
n + 1 вершины, то есть ориентированный граф, в котором выделены две вершины – вход (нулевая вершина) и выход (вершина с номером n). Для каждой дуги заданы числа, называемые длинами дуг.
Длиной пути (контура) называется сумма длин входящих в него дуг (если длины дуг не заданы, то длина пути (контура) определяется как число входящих в него дуг).
Задача заключается в поиске кратчайшего пути (пути минимальной длины) от входа до выхода сети.
Известно, что для существования кратчайшего пути необходимо и достаточно отсутствия в сети контуров отрицательной длины.
Слайд 26Алгоритм Дейкстры
Алгоритм основан на приписывании узлам временных или постоянных меток. Первоначально
только источнику приписывается постоянная метка, равная нулю. Всем другим узлам приписываются временные метки, соответствующие весу дуги из источника в рассматриваемый узел. Если такой дуги нет, то узлу приписывается временная метка, равная бесконечности.
Слайд 27Алгоритм Дейкстры
Для определения ближайшего к источнику узла выберем временную метку с
минимальным значением и объявим ее постоянной. Затем, до тех пор, пока стоку не будет приписана постоянная метка, необходимо выполнить следующее:
Слайд 28Алгоритм Дейкстры
Рассмотреть оставшиеся узлы с временными метками. Сравнить величину каждой временной
метки с суммой величин последней из постоянных меток и веса дуги, ведущей из соответствующего постоянно помеченного узла в рассматриваемый. Минимальная из двух сравниваемых величин определяется как новая временная метка рассматриваемого узла.
Среди временных меток выбрать минимальную и объявить ее постоянной.
После постоянного помечивания стока алгоритм прекращает работу, при этом минимальная сумма весов дуг, соединяющий источник и сток, равна постоянной метке стока. Искомая цепь состоит из дуг, для каждой из которых разность между постоянными метками ее концевых узлов равна весу этой дуги.
Слайд 29Задание 1
Дана сеть. Определить ориентированную цепь из узла S в узел
t, сумма весов дуг которой минимальна.
S
V1
V2
t
V5
V3
V4
1
3
10
2
3
1
6
7
5
1
3
3
2
Слайд 30Задание 2
Дана сеть. Определить ориентированную цепь из узла S в узел
t, сумма весов дуг которой минимальна.
Слайд 31Задание 3
Дана сеть. Определить ориентированную цепь из узла S в узел
t, сумма весов дуг которой минимальна.
t
S
5
12
5
6
6
9
4
8
2
4
12
8
2
3
7
8
3
V1
V2
V3
V8
V7
V6
V4
V5