Взвешенные графы. Остовные деревья. Кратчайшие пути

Содержание

Слайд 2

Взвешенный граф

Если каждому ребру в графе / дуге в орграфе сопоставлено некоторое

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

Слайд 3

Подграф

Граф, все вершины и ребра которого принадлежат исходному графу.

Подграф Граф, все вершины и ребра которого принадлежат исходному графу.

Слайд 4

Остовной подграф

Остовным называется подграф, которое содержит все вершины исходного графа.

Остовной подграф Остовным называется подграф, которое содержит все вершины исходного графа.

Слайд 5

Остовное дерево графа

Остовное дерево графа (остов) – ациклический связный подграф, содержащий все

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

Слайд 6

Теорема Кирхгофа

 

Теорема Кирхгофа

Слайд 7

Алгоритм Краскала, 1956

Сортируем ребра графа по возрастанию весов.
Полагаем, что каждая вершина

Алгоритм Краскала, 1956 Сортируем ребра графа по возрастанию весов. Полагаем, что каждая
относится к своей компоненте связности.
Проходим ребра в "отсортированном" порядке. Для каждого ребра выполняем:
если вершины, соединяемые данным ребром, лежат в разных компонентах связности, то объединяем эти компоненты в одну, а рассматриваемое ребро добавляем к минимальному остовному дереву;
если вершины, соединяемые данным ребром лежат в одной компоненте связности, то исключаем ребро из рассмотрения.
Если есть еще нерассмотренные ребра и не все компоненты связности объединены в одну, то переходим к шагу 3, иначе выход.

Слайд 8

Алгоритм Краскала

Алгоритм Краскала

Слайд 9

Алгоритм Прима

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

Алгоритм Прима На каждом шаге вычеркиваем из графа дугу максимальной стоимости с
условием, что она не разрывает граф на две или более компоненты связности, т.е. после удаления дуги граф должен оставаться связным.
Для того, чтобы определить, остался ли граф связным, достаточно запустить поиск в глубину от одной из вершин, связанных с удаленной дугой.
Условие окончания алгоритма?
Например, пока количество ребер больше либо равно количеству вершин, нужно продолжать, иначе – остановиться.

Слайд 10

Задача

Телевизионная компания планирует подключение к своей кабельной сети пяти новых районов. На

Задача Телевизионная компания планирует подключение к своей кабельной сети пяти новых районов.
рисунке показана структура планируемой сети и расстояния (в км) между районами и телецентром. Необходимо спланировать наиболее экономичную кабельную сеть.

Слайд 11

Ребра AD и CE имеют минимальный вес, равный 5.
Произвольно выбирается ребро AD (выделено на рисунке).

Ребра AD и CE имеют минимальный вес, равный 5. Произвольно выбирается ребро
Теперь наименьший вес, равный 5, имеет ребро CE.
Так как добавление CE не образует цикла, то
выбираем его в качестве второго ребра.

Аналогично выбираем ребро DF, вес которого
равен 6.

Слайд 12

Следующие ребра — AB и BE с весом 7. Произвольно выбирается ребро AB, выделенное на рисунке. Ребро BD

Следующие ребра — AB и BE с весом 7. Произвольно выбирается ребро
выделено красным, так как уже существует путь (зелёный) между A и D, поэтому, если бы это ребро было выбрано, то образовался бы цикл ABD.

Аналогичным образом выбирается ребро BE,
вес которого равен 7. На этом этапе красным выделено гораздо больше ребер: BC, потому что оно создаст цикл BCE, DE, потому что оно создаст
цикл DEBA, и FE, потому что оно сформирует цикл FEBAD.

Алгоритм завершается добавлением ребра EG 
с весом 9.
Минимальное остовное дерево построено  построено.

Слайд 14

Поиск минимального пути

Поиск минимального пути

Слайд 15

Алгоритм Флойда-Уоршелла

 

 

Алгоритм Флойда-Уоршелла

Слайд 16

Алгоритм Флойда-Уоршелла

 

Алгоритм Флойда-Уоршелла

Слайд 17

Восстановление пути в алгоритме Флойда-Уоршелла

 

Восстановление пути в алгоритме Флойда-Уоршелла

Слайд 18

Пример

Матрица смежности:

Пример Матрица смежности:

Слайд 19

Пример

Матрица 1-расстояний

Пример Матрица 1-расстояний

Слайд 20

Пример

1-я итерация

Пример 1-я итерация

Слайд 21

Пример

2-я итерация

Пример 2-я итерация

Слайд 22

Пример

3-я итерация

Пример 3-я итерация

Слайд 23

Пример

4, 5, 6 итерации

Пример 4, 5, 6 итерации

Слайд 24

Пример

 

Матрица кратчайших расстояний:

Пример Матрица кратчайших расстояний:

Слайд 25

Алгоритм Дейкстры

 

Алгоритм Дейкстры

Слайд 26

Алгоритм Дейкстры

 

Алгоритм Дейкстры

Слайд 27

Пример

Пример

Слайд 28

Пример

Пример

Слайд 29

Пример

Пример

Слайд 30

Пример

Пример

Слайд 31

Пример

Пример

Слайд 32

Пример

Пример

Слайд 33

Пример

Пример

Слайд 34

Пример

Пример