Теория графов Алгоритмы на графах
Медиана графа Медиана вершина графа, у которой сумма кратчайших расстояний от неё до вершин графа минимальная возможная. p-медиана
Внешнее передаточное число p(ik) – длина кратчайшего пути из i в k φ i – сумма длин из вершины i в другие вершины, внешнее передаточное число этой вершины
Внутреннее передаточное число Ψ i -сумма длин от всех вершин до данной, внутреннее передаточное число i-той вершины.
Медиана Внешней медианой называется такая вершина, для которой внешнее передаточное число минимально. i 0 =arg min φ i. Внутренней медианой называется такая вершина, для которой внутреннее передаточное число минимально. j 0 =arg min Ψ i. Медиана – это вершина, в которой сумма Ψ и φ минимальна. Q= Ψ i + φ i.
Волновой метод Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется найти цепь, соединяющую вершины а и b и содержащую наименьшее число ребер.
Волновой метод Алгоритм решения задачи волновым методом. Алгоритм решения задачи волновым методом. 1. Помечаем вершину а индексом Вершины, смежные с а и соединенные с а, дугами, инцидентными вершине а, помечаем индексами Вершины, смежные с помеченными индексами 1 и соединенные с ними инцидентными вершинам 1 дугами, помечаем индексами 2.
Волновой метод 4. Аналогично помечаем вершины индексами 3, 4, … 5. Совокупность вершин, помеченных индексом m, обозначим A m. 6. В некоторой момент будет помечена вершина b, пусть b A n. Останавливаем процесс индексации.
Волновой метод 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 в сторону убывания индекса вершины.
Пример
Первая итерация 01 1
Вторая итерация
Третья итерация
Четвертая итерация
Пятая итерация
Определяем путь , 3, 4, 7, 8, 9 1, 2, 4, 7, 8, , 6, 7, 8, 9
Волновой метод В случае ориентированного графа волновой метод позволяет решить две задачи: – Найти длины кратчайших путей от вершины а до остальных вершин графа; – Найти длины кратчайших путей от каждой вершины графа до вершины а. При этом в основном алгоритме изменяется только построение множества А n.
Условный радиус вершины Если мы не будем останавливать индексацию, то через некоторое количество шагов все вершины графа будут снабжены индексами, причем наибольший из них является условным радиусом графа G относительно вершины а. r a =max d(a, b)
Центр и диаметр графа Расстоянием между вершинами a и b называется длина кратчайшей цепи из a в b. Радиус графа определяется как наименьший из условных радиусов вершин графа. Центром графа G называется такая вершина a, что максимальное расстояние между a и любой другой вершиной является наименьшим из всех возможных. Это расстояние называется радиусом графа. Диаметром d связного графа называется максимальное возможное расстояние между любыми двумя его вершинами. Если расстояние между двумя вершинами равно диаметру графа, то кратчайший путь, соединяющий эти вершины, называется диаметральным путем, а подграф, образованный вершинами и ребрами этого пути, – диаметральной цепью.
Алгоритм Флойда Построим матрицу 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
Пример V1V1 V2V2 V3V3 V4V4 V5V5 V1V1 0х332 V2V2 50ххх V3V3 х20х3 V4V4 хх20х V5V5 ххх10 V1 V2 V3 V4 V
Основная часть алгоритма 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
Пример 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
Пример 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
Пример 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
Пример 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
Пример 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
Пример m=5 V1V1 V2V2 V3V3 V4V4 V5V5 V1V V2V V3V V4V V5V
Пример 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 – медиана.