85d71f3f176ec55db89ad8220666453b.ppt
- Количество слайдов: 16
Алгоритмы поиска путей на графах дорог СПб. АУ, 12 мая 2011
Алгоритм Дейкстры 2
Алгоритм Дейкстры 3
Алгоритм Дейкстры Dijkstra(G, s) dist[1. . |V|] = {∞, … , ∞} dist[s] = 0 Q = Make. Priority. Queue(V, dist) while Q != 0 u = Extract. Min(Q) for all (u, v) E if dist[u] + w(u, v) < dist[v] = dist[u] + w(u, v) Decrease. Key(Q, v) 4
Алгоритм Дейкстры Dijkstra(G, s, t) dist[1. . |V|] = {∞, … , ∞} is_finished[1. . |V|] = {false, …, false} dist[s] = 0 Q = Make. Priority. Queue(s, dist[s]) while Q != 0 u = Extract. Min(Q) is_finished[u] = true if u = t return for all (u, v) E and (is_finished[v] = false) if dist[u] + w(u, v) < dist[v] = dist[u] + w(u, v) Decrease. Key(Q, v) // or Insert 5
6
Bi-Dijkstra A 5 5 S T 2 2 4 B C 7
Направленный поиск 8
Направленный поиск A* - Дейкстра на графе с длинами На каждом шаге ищем вершину с минимальным значением следующей величины: Для корректность A* необходимо выполнение следующих свойств: 1) Эвристическая функция даёт нижнюю оценку длины пути до цели 2) Эвристика монотонна (выполняется неравенство треугольника) 9
Препроцессинг 10
ALT 11
ALT 12
Reach 13
Reach 14
Reach 15
Спасибо за внимание! 16
85d71f3f176ec55db89ad8220666453b.ppt