Supercharged Dijkstras Computing shortest paths on large road
- Slides: 31
Supercharged Dijkstra’s Computing ‘shortest’ paths on large road graphs in microseconds! Payas Rajan @Payas. R
A graph is composed of Nodes
A graph is composed of Nodes Edges
A graph is composed of… Nodes Edge Weights Shown graph taken from Hannah Bast’s Route Planning lectures
We assume No self loops No parallel edges All edge weights are positive integers
The Problem Find shortest path between s and t
The (Real) Problem: Find shortest path on. Nodes: 264, 346 Edges: 733, 846 New York City Nodes: 321, 270 Edges: 800, 172 San Francisco Bay Area NYC graph was extracted using Geoff Boeing’s OSMnx library and the Bay Area map was taken from Project OSRM and Open. Street. Maps.
Section 1: Dijkstra’s Algorithm
The 1959 paper
The 1959 paper
Relax the shortest edge incident to the frontier Repeat till target ‘t’ found or we run out of nodes
Complexity
Demo 1: Bidirectional Dijkstra’s
Section 2: Contraction Hierarchies
In 2006…
Road network of Helsinki. Height defined by speed limit val Created by Topi Tjukanov (@tjukanov)
Ideas that make CH work 1. Vertices can be ordered by their ‘importance’!
Ideas that make CH work 1. Vertices can be ordered by their ‘importance’! 2. SHORTCUTS!
Ideas that make CH work 1. Vertices can be ordered by their ‘importance’! 2. SHORTCUTS! If U->V->W is the shortest path from U to W, add a shortcut U -> W! (this is called the ‘contraction operation’)
Think about what we just did for a second… We ADDED edges to the graph, and made it bigger… in order to compute shortest paths faster!
Image by Hannah Bast
Considerations 1. In what order should the vertices be contracted? A: In increasing order of their ‘importance’. 2. How to determine importance of a vertex? A: In practice, we fast heuristics suffice. 3. Is there an ‘optimal’ CH? A: Yes, an optimal CH is one where we add minimum number of additional edges to the graph without affecting the performance of shortest path queries.
Demo: Contraction Hierarchies
References • Hannah Bast’s 2012 video lectures on route planning • Geisberger, Robert, et al. "Contraction hierarchies: Faster and simpler hierarchical routing in road networks. " International Workshop on Experimental and Efficient Algorithms. Springer, Berlin, Heidelberg, 2008.
Linear time algorithm available*! *In Theory
In 2014. .
- Shortest path problem linear programming
- Single-source shortest paths
- Difference constraints and shortest paths
- Shortest paths and transitive closure in data structure
- Johnson's all-pairs shortest paths
- Shortest path problem definition
- All-pairs shortest paths
- Undirected
- Paved road vs unpaved road
- Drive right chapter 8
- Conventional computing and intelligent computing
- Parasitism
- Language r
- Theoretical flow time formula
- Jeremiah 6 16
- Cyclomatic complexity example
- Red dot
- Yes there are two paths
- Forwarding paths pipeline
- Networks and graphs: circuits, paths, and graph structures
- Paths start and stop at
- Human migration out of africa
- Life paths research center
- Eightfold paths of buddhism
- Paths, trees, and flowers
- Reconstruct market boundaries
- Parabolic paths
- Fellowship with god in the sixth path
- Linearly independent paths
- Teach me your ways oh lord
- All paths lead to the same destination
- Augmenting path algorithm