using multi level graphs for timetable information
play

Using Multi-Level Graphs for Timetable Information Frank Schulz, - PowerPoint PPT Presentation

Using Multi-Level Graphs for Timetable Information Frank Schulz, Dorothea Wagner, and Christos Zaroliagis 1 Overview 1. Introduction Timetable Information - A Shortest Path Problem 2. Multi-Level Graphs Speed-Up Technique for Shortest


  1. Using Multi-Level Graphs for Timetable Information Frank Schulz, Dorothea Wagner, and Christos Zaroliagis

  2. 1 Overview 1. Introduction ⊲ Timetable Information - A Shortest Path Problem 2. Multi-Level Graphs ⊲ Speed-Up Technique for Shortest Path Algorithms 3. Timetable Information Graphs 4. Experiments 5. Conclusion & Outlook

  3. 2 Overview 1. Introduction ⊲ Timetable Information - A Shortest Path Problem 2. Multi-Level Graphs ⊲ Speed-Up Technique for Shortest Path Algorithms 3. Timetable Information Graphs 4. Experiments 5. Conclusion & Outlook

  4. 3 Application Scenario Timetable Information System • Large timetable (e.g., 500.000 departures, 7.000 stations) • Central server (e.g., 100 on-line queries per second) → Fast Algorithm Simple Queries • Input: departure and arrival station, departure time • Output: train connection with earliest arrival time

  5. 4 Shortest Path Problem Graph model • Solving a query ⇔ finding a shortest path Speed-up techniques needed • Commercial products ⊲ Heuristics that don’t guarantee optimality • Scientific work ⊲ Geometric techniques ⊲ Hierarchical graph decomposition

  6. 5 Contribution Multi-Level Graph Approach • Hierarchical graph decomposition technique • For general digraphs • Idea ⊲ Preprocessing: Construct multiple levels of additional edges ⊲ On-Line Phase: Compute shortest paths in small subgraphs Experimental Evaluation • For the given application scenario • With real data

  7. 6 Overview 1. Introduction √ 2. Multi-Level Graphs 3. Timetable Information Graphs 4. Experiments 5. Conclusion & Outlook

  8. 7 Multi-Level Graphs Given • a weighted digraph G = ( V, E ) • a sequence of subsets of V V ⊃ S 1 ⊃ . . . ⊃ S l Outline • Construct l levels of additional edges → M ( G ) • Component Tree • Define subgraph of M ( G ) for a pair s, t ∈ V • Use subgraph to compute s - t shortest path

  9. 7 Multi-Level Graphs Given • a weighted digraph G = ( V, E ) • a sequence of subsets of V V ⊃ S 1 ⊃ . . . ⊃ S l Outline • Construct l levels of additional edges → M ( G ) • Component Tree • Define subgraph of M ( G ) for a pair s, t ∈ V • Use subgraph to compute s - t shortest path

  10. 8 Level Construction G b c a G = ( V, E ) , S 1 = { a, b, c } , S 2 = { a, c }

  11. 8 Level Construction Level 1 G Level 0 b c a Connected Components in G − S 1

  12. 8 Level Construction Level 1 G Level 0 b c a No internal vertex of path belongs to S 1

  13. 8 Level Construction Level 1 G Level 0 b c a ⇒ Edge in level 1

  14. 8 Level Construction Level 1 G Level 0 b c a No internal vertex of path belongs to S 1

  15. 8 Level Construction Level 1 G Level 0 b c a ⇒ Edge in level 1

  16. 8 Level Construction Level 1 G Level 0 b c a No internal vertex of path belongs to S 1

  17. 8 Level Construction Level 1 G Level 0 b c a ⇒ Edge in level 1

  18. 8 Level Construction E Level 1 1 G Level 0 b c a All edges in level 1

  19. 8 Level Construction E Level 1 1 Consider now iteratively graph ( S 1 , E 1 )

  20. 8 Level Construction E Level 2 2 E Level 1 1 Connected components in G − S 2

  21. 8 Level Construction E Level 2 2 E Level 1 1 No internal vertex of path belongs to S 2

  22. 8 Level Construction E Level 2 2 E Level 1 1 ⇒ Edge in level 2

  23. 8 Level Construction E Level 2 2 E Level 1 1 All edges in level 2

  24. 8 Level Construction E Level 2 2 E Level 1 1 G Level 0 b c a 3-Level Graph M ( G, S 1 , S 2 )

  25. 9 Multi-Level Graphs Given • a weighted digraph G = ( V, E ) • a sequence of subsets of V V ⊃ S 1 ⊃ . . . ⊃ S l Outline • Construct l levels of additional edges → M ( G ) √ • Component Tree • Define subgraph of M ( G ) for a pair s, t ∈ V • Use subgraph to compute s - t shortest path

  26. 10 Component Tree E Level 2 2 E Level 1 1 G Level 0

  27. 10 Component Tree Level 2 Level 1 Level 0

  28. 10 Component Tree root Level 2 Level 1 Level 0

  29. 10 Component Tree root Level 2 Level 1 Level 0

  30. 10 Component Tree root Level 2 Level 1 Level 0

  31. 10 Component Tree root Level 2 Level 1 Level 0

  32. 11 Multi-Level Graphs Given • a weighted digraph G = ( V, E ) • a sequence of subsets of V V ⊃ S 1 ⊃ . . . ⊃ S l Outline • Construct l levels of additional edges → M ( G ) √ • Component Tree √ • Define subgraph of M ( G ) for a pair s, t ∈ V • Use subgraph to compute s - t shortest path

  33. 12 Define Subgraph root Level 2 Level 1 Level 0 t s

  34. 12 Define Subgraph root Level 2 Level 1 Level 0 t s

  35. 12 Define Subgraph root E Level 2 2 E Level 1 1 G Level 0 t s

  36. 12 Define Subgraph root E Level 2 2 E Level 1 1 G Level 0 t s

  37. 12 Define Subgraph root E Level 2 2 E Level 1 1 G Level 0 t s

  38. 12 Define Subgraph root E Level 2 2 E Level 1 1 G Level 0 t s

  39. 13 Multi-Level Graphs Given • a weighted digraph G = ( V, E ) • a sequence of subsets of V V ⊃ S 1 ⊃ . . . ⊃ S l Outline • Construct l levels of additional edges → M ( G ) √ • Component Tree √ • Define subgraph of M ( G ) for a pair s, t ∈ V √ • Use subgraph to compute s - t shortest path

  40. 14 Lemma The length of a shortest s - t path is the same in the s - t subgraph of M ( G ) and G . Subgraph of M ( G ) : s t Original Graph G : G

  41. 15 A Different Pair s, t root Level 2 Level 1 Level 0 s t

  42. 15 A Different Pair s, t E Level 2 2 E Level 1 1 s G Level 0 t

  43. 15 A Different Pair s, t Level 2 E Level 1 1 s Level 0 t

  44. 16 Overview 1. Introduction √ 2. Multi-Level Graphs √ 3. Timetable Information Graphs 4. Experiments 5. Conclusion & Outlook

  45. 17 Station Graph Korinthos Athens Patras

  46. 18 Train Graph Athens Patras Korinthos

  47. 18 Train Graph 00:00 Athens Patras Korinthos 24:00 time

  48. 18 Train Graph 00:00 Athens Patras Korinthos 24:00 time

  49. 18 Train Graph 00:00 Athens Patras Korinthos 24:00 time

  50. 19 Query Single-source some-targets shortest path problem 00:00 Athens Patras Korinthos departure 10:00 24:00 arrival time

  51. 20 Multi-Level Train Graph • Given l subsets of stations Σ 1 ⊃ . . . ⊃ Σ l • Component tree in station graph • Define subgraph for a pair of stations

  52. 21 Overview 1. Introduction √ 2. Multi-Level Graphs √ 3. Timetable Information Graphs √ 4. Experiments 5. Conclusion & Outlook

  53. 22 Experiments Given one instance G of a traingraph • Timetable of German trains, winter 1996/97 • ∼ 500000 vertices, ∼ 7000 stations Evaluate multi-level train graph M ( G, Σ 1 , . . . , Σ l ) Investigate dependence on • number of levels • input sequence Σ 1 ⊃ . . . ⊃ Σ l

  54. 23 Sets of stations Σ i Three criteria to sort stations A Importance regarding train changes B Degree in station graph C Random Consider the first n j stations according to A, B, C • n 1 = 1974 , . . . , n 10 = 50 ❀ Sets of stations Σ A j , Σ B j , Σ C j

  55. 24 2-Level Graphs M ( G, Σ X j ) Number of Additional Edges 7e+06 importance degree random 6e+06 5e+06 4e+06 3e+06 2e+06 1e+06 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000

  56. 25 Evaluation of M ( G, Σ 1 , . . . , Σ l ) Consider only criterion A in the following Average Speed-up over 100000 queries • r = Runtime for Dijkstra in G • q = Runtime for Dijkstra in subgraph of M • Speed-up = r/q

  57. 26 2-Level Graphs M ( G, Σ A j ) Average Speed-up 4 speedup 3.5 3 2.5 2 1.5 1 0 200 400 600 800 1000 1200 1400 1600 1800 2000

  58. 27 Problem with small Σ A j Big components ⇒ Level 1 rarely used E Level 1 1 s G Level 0 t

  59. 28 2-Level Graphs M ( G, Σ A j ) Queries Using Level 1 14 110 speedup of queries using level 1 percentage of queries using level 1 12 100 10 90 8 80 6 70 4 60 2 50 0 40 0 200 400 600 800 1000 1200 1400 1600 1800 2000

  60. 29 3-Level Graphs M ( G, Σ A j , Σ A k ) Average Speed-up 11 1 7 8 9 10 9 8 7 6 5 4 0 50 100 150 200 250 300 350 400 450 500

  61. 30 l -Level Graphs M ( G, Σ 1 , . . . , Σ l − 1 ) Best Average Speed-up (CPU-time, #Edges hit) 18 CPU-speedup edge-speedup 16 14 12 10 8 6 4 2 0 1 2 3 4 5 6

  62. 31 Overview 1. Introduction √ 2. Multi-Level Graphs √ 3. Timetable Information Graphs √ 4. Experiments √ 5. Conclusion & Outlook

  63. 32 Conclusion & Outlook Experimental evaluation of multi-level graphs • Input graph from timetable information • Best number of levels: 4, 5 • Sizes of Σ i are crucial Outlook • Other input graphs • Relation (Σ 1 , . . . , Σ l ) ↔ speed-up ⊲ Here: Criteria A, B, C; Sizes of Σ i • Theoretical analysis

  64. 33 Overview 1. Introduction √ 2. Multi-Level Graphs √ 3. Timetable Information Graphs √ 4. Experiments √ 5. Conclusion & Outlook √

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