contraction hierarchies faster and simpler hierarchical
play

Contraction Hierarchies: Faster and Simpler Hierarchical Routing in - PowerPoint PPT Presentation

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 .


  1. 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

  2. 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

  3. Motivation Route Planning Our Contributions Previous Work Mobile Navigation R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 3

  4. Motivation Route Planning Our Contributions Previous Work Logistics R. Geisberger, P . Sanders, D. Schultes, D. Delling Contraction Hierarchies 4

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend