Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЕлизавета Недосекина
1 Алгоритмы на графах Волновой метод
2 Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется найти цепь, соединяющую вершины а и b и содержащую наименьшее число ребер.
3 Волновой метод Алгоритм решения задачи волновым методом. Алгоритм решения задачи волновым методом. 1. Помечаем вершину а индексом Вершины, смежные с а и соединенные с а, дугами, инцидентными вершине а, помечаем индексами Вершины, смежные с помеченными индексами 1 и соединенные с ними инцидентными вершинам 1 дугами, помечаем индексами 2.
4 Волновой метод 4. Аналогично помечаем вершины индексами 3, 4, … 5. Совокупность вершин, помеченных индексом m, обозначим A m. 6. В некоторой момент будет помечена вершина b, пусть b A n. Останавливаем процесс индексации.
5 Волновой метод 7. По построению можно найти вершину b 1 A n-1, смежную с b, по тем же соображениям существует вершина b 2 A n-2, смежная с b 1, и т.д. 8. Искомая цепь с наименьшим числом ребер получается теперь как последовательность вершин (b, b 1, b 2, …, b n =a), где b i A n-i, то есть нужно двигаться, начиная от конечной вершины b в сторону убывания индекса вершины.
6 Задание Найти все кратчайшие цепочки от b до а а b
7 Условный радиус вершины Если мы не будем останавливать индексацию, то через некоторое количество шагов все вершины графа будут снабжены индексами, причем наибольший из них является условным радиусом графа G относительно вершины а. r a =max d(a, b)
8 Волновой метод В случае ориентированного графа волновой метод позволяет решить две задачи: Найти длины кратчайших путей от вершины а до остальных вершин графа; Найти длины кратчайших путей от каждой вершины графа до вершины а. При этом в основном алгоритме изменяется только построение множества А n.
9 Центр и диаметр графа Расстоянием между вершинами a и b называется длина кратчайшей цепи из a в b. Радиус графа определяется как наименьший из условных радиусов вершин графа. Центром графа G называется такая вершина a, что максимальное расстояние между a и любой другой вершиной является наименьшим из всех возможных. Это расстояние называется радиусом графа. Диаметром d связного графа называется максимальное возможное расстояние между любыми двумя его вершинами. Если расстояние между двумя вершинами равно диаметру графа, то кратчайший путь, соединяющий эти вершины, называется диаметральным путем, а подграф, образованный вершинами и ребрами этого пути, – диаметральной цепью.
10 Задание Найти радиус и диаметр графа
11 Задание Найти центр, радиус и диаметр графа
12 Задание Найти радиус, диаметр и центр графа
13 Задание Найти радиус, диаметр и центр графа
14 Задание Найти радиус, диаметр и центр графа
15 Алгоритм Флойда Построим матрицу D 0 размерности |V| x |V|, элементы которой определяются по правилу: d ii 0 = 0; d ij 0 = Weight(v i, v j ), где ij, если в графе существует ребро (дуга) (v i, v j ); d ij 0 = бесконечность, где ij, если нет ребра (дуги) (v i, v j ). m=0
16 Пример V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V2 50ххх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V
17 Основная часть алгоритма 1. Построим матрицу D m+1 по D m, вычисляя ее элементы следующим образом: d ij m+1 =min{d ij m, d i(m+1) m + d (m+1)j m }, где ij; d ii m+1 =0 (*). Если d im m + d mi m < 0 для какого-то i, то в графе существует цикл (контур) отрицательной длины, проходящий через вершину v i. 2. m:=m+1; если m
18 Пример m=0 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V2 50ххх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V хх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V
19 Пример m=1 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V V3V х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V
20 Пример m=2 V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V V3V V4V4 хх20х V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V
21 Пример m=3 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V5 ххх10 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V5 9+1хх10 V1 V2 V3 V4 V
22 Пример m=4 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V V1 V2 V3 V4 V
23 Пример m=5 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V
24 Пример V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V φ 1 =13 Ψ 1 =31 Q 1 =44 φ 2 =28 Ψ 2 =16 Q 2 =44 φ 3 =16 Ψ 3 =16 Q 3 =32 φ 4 =20 Ψ 4 =16 Q 4 =36 φ 5 =19 Ψ 5 =17 Q 5 =36 Q 3 – медиана.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.