Motivation Our Contributions Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks R. Geisberger P . Sanders D. Schultes D. Delling 7th International Workshop on Experimental Algorithms R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 1
Motivation Route Planning Our Contributions Previous Work Motivation exact shortest paths calculation in large road networks minimize: query time preprocessing time space consumption + simplicity R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 2
Motivation Route Planning Our Contributions Previous Work Mobile Navigation R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 3
Motivation Route Planning Our Contributions Previous Work Logistics R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 4
Motivation Route Planning Our Contributions Previous Work Highway-Node Routing (HNR) [Sanders and Schultes, WEA 07] general approach + adopt correctness proofs - relies on another method to create hierarchies R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 5
Motivation Route Planning Our Contributions Previous Work Highway Hierarchies (HH) [Sanders and Schultes, ESA 05, 06] two construction steps that are iteratively applied removal of low degree nodes removal of edges that only appear on shortest paths close to source or target Contraction Hierarchies (CH) are a radical simplification s t R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 6
Motivation Route Planning Our Contributions Previous Work Speedup Techniques Transit-Node Routing (TNR) [BFSS07] fastest speedup technique known today higher preprocessing time s t Goal-Directed Routing can be combined with hierarchical speedup techniques [DDSSSW08] ⇒ both techniques benefit from Contraction Hierarchies (CH) R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 7
Motivation Contraction Hierarchies Our Contributions Experiments Contraction Hierarchies (CH) 6 8 5 5 3 2 2 4 1 3 3 2 2 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 8
Motivation Contraction Hierarchies Our Contributions Experiments Main Idea Contraction Hierarchies (CH) contract only one node at a time ⇒ local and cache-efficient operation in more detail: order nodes by “importance”, V = { 1 , 2 , . . . , n } contract nodes in this order, node v is contracted by foreach pair ( u , v ) and ( v , w ) of edges do if � u , v , w � is a unique shortest path then add shortcut ( u , w ) with weight w ( � u , v , w � ) query relaxes only edges to more “important” nodes ⇒ valid due to shortcuts R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 9
Motivation Contraction Hierarchies Our Contributions Experiments Example: Construction 2 3 2 1 2 2 6 1 4 3 5 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 10
Motivation Contraction Hierarchies Our Contributions Experiments Example: Construction 2 5 1 2 2 6 4 3 5 3 2 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 10
Motivation Contraction Hierarchies Our Contributions Experiments Example: Construction 5 1 2 6 4 3 5 2 3 2 2 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 10
Motivation Contraction Hierarchies Our Contributions Experiments Example: Construction 5 3 6 4 5 1 2 2 3 2 3 2 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 10
Motivation Contraction Hierarchies Our Contributions Experiments Example: Construction 8 6 5 5 3 2 2 4 1 3 3 2 2 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 10
Motivation Contraction Hierarchies Our Contributions Experiments Example: Construction 6 8 5 5 3 2 2 4 1 3 3 2 2 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 10
Motivation Contraction Hierarchies Our Contributions Experiments Construction to identify necessary shortcuts local searches from all nodes u with incoming edge ( u , v ) ignore node v at search add shortcut ( u , w ) iff found distance d ( u , w ) > w ( u , v ) + w ( v , w ) 1 1 1 v 1 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 11
Motivation Contraction Hierarchies Our Contributions Experiments Construction to identify necessary shortcuts local searches from all nodes u with incoming edge ( u , v ) ignore node v at search add shortcut ( u , w ) iff found distance d ( u , w ) > w ( u , v ) + w ( v , w ) 1 2 1 1 v 1 1 2 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 11
Motivation Contraction Hierarchies Our Contributions Experiments Node Order use priority queue of nodes, node v is weighted with a linear combination of: edge difference #shortcuts – #edges incident to v uniformity e.g. #deleted neighbors 1 2 1 . . . 1 v 1 1 2 integrated construction and ordering: remove node v on top of the priority queue 1 2 − 3 = − 1 contract node v 2 update weights of remaining nodes 3 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 12
Motivation Contraction Hierarchies Our Contributions Experiments Query modified bidirectional Dijkstra algorithm upward graph G ↑ := ( V , E ↑ ) with E ↑ := { ( u , v ) ∈ E : u < v } downward graph G ↓ := ( V , E ↓ ) with E ↓ := { ( u , v ) ∈ E : u > v } forward search in G ↑ and backward search in G ↓ 6 8 5 5 3 node order 2 2 4 1 3 3 2 t 2 s 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 13
Motivation Contraction Hierarchies Our Contributions Experiments Query modified bidirectional Dijkstra algorithm upward graph G ↑ := ( V , E ↑ ) with E ↑ := { ( u , v ) ∈ E : u < v } downward graph G ↓ := ( V , E ↓ ) with E ↓ := { ( u , v ) ∈ E : u > v } forward search in G ↑ and backward search in G ↓ 6 8 5 5 3 node order 2 2 4 1 3 3 2 t 2 s 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 13
Motivation Contraction Hierarchies Our Contributions Experiments Query modified bidirectional Dijkstra algorithm upward graph G ↑ := ( V , E ↑ ) with E ↑ := { ( u , v ) ∈ E : u < v } downward graph G ↓ := ( V , E ↓ ) with E ↓ := { ( u , v ) ∈ E : u > v } forward search in G ↑ and backward search in G ↓ 6 8 5 5 3 node order 2 2 4 1 3 3 2 t 2 s 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 13
Motivation Contraction Hierarchies Our Contributions Experiments Query modified bidirectional Dijkstra algorithm upward graph G ↑ := ( V , E ↑ ) with E ↑ := { ( u , v ) ∈ E : u < v } downward graph G ↓ := ( V , E ↓ ) with E ↓ := { ( u , v ) ∈ E : u > v } forward search in G ↑ and backward search in G ↓ 6 8 5 5 3 node order 2 2 4 1 3 3 2 t 2 s 1 R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 13
Motivation Contraction Hierarchies Our Contributions Experiments Outputting Paths 8 for a shortcut ( u , w ) of a path � u , v , w � , 6 store middle node v with the edge 5 node order 5 4 3 t 2 2 expand path by recursively replacing a 1 3 3 2 2 shortcut with its originating edges s 1 2 8 unpack path 2 6 5 2 5 3 2 6 4 5 2 3 2 3 2 6 1 4 5 2 3 2 1 2 2 6 1 4 3 5 s t R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 14
Motivation Contraction Hierarchies Our Contributions Experiments Stall-on-Demand v can be “stalled” by u (if d ( u ) + w ( u , v ) < d ( v ) ) stalling can propagate to adjacent nodes search is not continued from stalled nodes u node order 3 1 v 2 w s 6 7 does not invalidate correctness (only suboptimal paths are stalled) R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 15
Motivation Contraction Hierarchies Our Contributions Experiments Experiments environment AMD Opteron Processor 270 at 2.0 GHz 8 GB main memory GNU C++ compiler 4.2.1 test instance road network of Western Europe (PTV) 18 029 721 nodes 42 199 587 directed edges R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 16
Motivation Contraction Hierarchies Our Contributions Experiments Performance ● 600 16000 edge difference E deleted neighbors D ● limit search space on weight calculation L S search space size 8000 400 ● i (digits) hop limits for testing shortcuts V Voronoi region size node ordering [s] upper bound on edges in search path Q 300 4000 query [ µ s] W relative betweenness ● 2000 ● 200 ● ● ● ● ● ● ● ● 150 ● 1000 ● 500 ● 100 E ED EDL EDSL EDS5 EDS1235 EVSQL EVSWQL economical aggressive method HNR: 594 s / 802 µ s R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 17
Recommend
More recommend