64
INSTITUT FÜR THEORETISCHE INFORMATIK · ALGORITHMIK I · PROF.DR.DOROTHEA WAGNER Praktikum Routenplanung Vorbesprechung, Wintersemester 2011/2012 Julian Dibbelt und Thomas Pajor | 2. November 2011 KIT – Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

INSTITUT FÜR THEORETISCHE INFORMATIK · ALGORITHMIK I · PROF. DR. DOROTHEA WAGNER

Praktikum RoutenplanungVorbesprechung, Wintersemester 2011/2012

Julian Dibbelt und Thomas Pajor | 2. November 2011

KIT – Universität des Landes Baden-Württemberg undnationales Großforschungszentrum in der Helmholtz-Gemeinschaft

www.kit.edu

Page 2: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Organisatorisches

PraktikumBearbeitung in 2er-GruppenBetreuer: Julian Dibbelt und Thomas PajorCredits: 6 ETCS (4 SWS)Email: [email protected] / [email protected] in Raum 318 und 322 (Gebäude 50.34)Bei Fragen kommt einfach vorbei!

Homepage:http://i11www.iti.uni-karlsruhe.de/teaching/winter2011/algorithmengineeringpraktikum/index

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 3: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Vorkenntnisse

Informatik I/II oder Algorithmen IAlgorithmentechnik oder Algorithmen II (muss aber nicht sein)ein bisschen RechnerarchitekturGute Kenntnisse von C++

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 4: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

MaterialFolienEinführungsblätter (Übung)wissenschaftliche AufsätzeBetreuer ;-)Basiskenntnisse:

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 5: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Ablauf

1 Organisatorisches

2 Einführung

3 Zeitplan

4 Themen

5 Framework

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 6: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

0. MotivationWorum geht es bei der Routenplanung?

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 7: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Problemstellung

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Gesucht:finde die beste Verbindung in einemTransportnetzwerk

Idee:Netzwerk als Graphen G = (V ,E)

Kantengewichte sind Reisezeitenkürzeste Wege in G entsprechenschnellsten Verbindungenklassisches Problem (Dijkstra)

Probleme:Transportnetzwerke sind großDijkstra zu langsam (> 1 Sekunde)

Page 8: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Problemstellung

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Gesucht:finde die beste Verbindung in einemTransportnetzwerk

Idee:Netzwerk als Graphen G = (V ,E)

Kantengewichte sind Reisezeitenkürzeste Wege in G entsprechenschnellsten Verbindungenklassisches Problem (Dijkstra)

Probleme:Transportnetzwerke sind großDijkstra zu langsam (> 1 Sekunde)

Page 9: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Problemstellung

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Gesucht:finde die beste Verbindung in einemTransportnetzwerk

Idee:Netzwerk als Graphen G = (V ,E)

Kantengewichte sind Reisezeitenkürzeste Wege in G entsprechenschnellsten Verbindungenklassisches Problem (Dijkstra)

Probleme:Transportnetzwerke sind großDijkstra zu langsam (> 1 Sekunde)

Page 10: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Beschleunigungstechniken

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Beobachtungen:viele Anfragen in (statischem) Netzwerkmanche Berechnungen scheinen unnötig

Idee:Zwei-Phasen Algorithmus:

offline: berechne Zusatzinformationwährend Vorberechnungonline: beschleunige Berechung mitdiesen Zusatzinformationen

drei Kriterien:wenig Zusatzinformation O(n)kurze Vorberechnung (im BereichStunden/Minuten)hohe Beschleunigung

Page 11: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Beschleunigungstechniken

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Beobachtungen:viele Anfragen in (statischem) Netzwerkmanche Berechnungen scheinen unnötig

Idee:Zwei-Phasen Algorithmus:

offline: berechne Zusatzinformationwährend Vorberechnungonline: beschleunige Berechung mitdiesen Zusatzinformationen

drei Kriterien:wenig Zusatzinformation O(n)kurze Vorberechnung (im BereichStunden/Minuten)hohe Beschleunigung

Page 12: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Beschleunigungstechniken

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Beobachtungen:viele Anfragen in (statischem) Netzwerkmanche Berechnungen scheinen unnötig

Idee:Zwei-Phasen Algorithmus:

offline: berechne Zusatzinformationwährend Vorberechnungonline: beschleunige Berechung mitdiesen Zusatzinformationen

drei Kriterien:wenig Zusatzinformation O(n)kurze Vorberechnung (im BereichStunden/Minuten)hohe Beschleunigung

Page 13: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Unterschiede zur IndustrieIndustrie:

Falk, TomTom, bahn.de, usw.alles heuristische Verfahren

betrachte nur noch “wichtige” Kantenwenn mehr als x Kilometer von Start wegKombination mit A∗-Suchelangsam!

Ausnahme: Google Maps

Unser Anspruch:Anfragen sollen beweisbar korrekt sein

⇒ weniger Ausnahmeregelungen⇒ schneller (!)

Verfahren sollen nach und nach in der Industrie eingesetztwerden

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 14: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Ergebnisse

Eingabe: Straßennetzwerk von Westeuropa18 Mio. Knoten42 Mio. Kanten

VORBERECHNUNG ANFRAGE

Zeit Platz ZeitJahr [h:m] [byte/n] [ms] Beschl.

Dijkstra 1959∗ 0:00 0 5 153.0000 0Arc-Flags 2004 17:08 19 1.6000 3 221Highway Hierarchies 2005 0:13 48 0.6100 8 448Transit-Node Routing 2006 1:15 226 0.0043 1.2 Mio.Contraction Hier. 2008 0:29 0 0.1900 27 121CH + Arc-Flags 2008 1:39 12 0.0170 ca. 300 000TNR + AF 2008 3:49 312 0.0019 ca. 3 Mio.

∗ Damalige Variante deutlich langsamer, wir sehen nachher, warum

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 15: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Klassischer Ansatz

problem

algorithm

asymptoticbounds

implementationexperiments

theoretical

applied

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 16: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Lücke Theorie vs. Praxis

Theorie vs. Praxiseinfach Problem-Modell komplexeinfach Maschinenmodell komplexkomplex Algorithmen einfachfortgeschritten Datenstrukturen einfachworst-case Komplexitäts-Messung typische Eingabenasymptotisch Effizienz konstante Faktoren

hier:sehr anwendungsnahes GebietEingaben sind echte Daten

StraßengraphenEisenbahn (Fahrpläne)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 17: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Lücke Theorie vs. Praxis

Theorie vs. Praxiseinfach Problem-Modell komplexeinfach Maschinenmodell komplexkomplex Algorithmen einfachfortgeschritten Datenstrukturen einfachworst-case Komplexitäts-Messung typische Eingabenasymptotisch Effizienz konstante Faktoren

hier:sehr anwendungsnahes GebietEingaben sind echte Daten

StraßengraphenEisenbahn (Fahrpläne)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 18: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Algorithm Engineering

realisticmodels

design

implementation

librariesalgorithm−

perf.−guarantees

app

lication

sdeduction

falsifiable

inductionhypothesesanalysis experiments

algorithmengineering real

Inputs

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 19: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graph-Repräsentationen

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

2

3 11

1

2

0

1 2

3

Drei klassische Ansätze:AdjazenzmatrixAdjazenzlistenAdjazenzarray

Page 20: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graph-Repräsentationen

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

2

3 11

1

2

0

1 2

3

Drei klassische Ansätze:AdjazenzmatrixAdjazenzlistenAdjazenzarray

1

2

3

3

1

1 1

2

20

0 1 2 3

−−

−−

−− −− −

Page 21: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graph-Repräsentationen

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

2

3 11

1

2

0

1 2

3

Drei klassische Ansätze:AdjazenzmatrixAdjazenzlistenAdjazenzarray

0 1 2 3

1

3

2 3 0

2

3 1 1

1

2

2

Page 22: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graph-Repräsentationen

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

2

3 11

1

2

0

1 2

3

Drei klassische Ansätze:AdjazenzmatrixAdjazenzlistenAdjazenzarray

firstEdge

targetNode

weight

0

1

3

3

2

2

2

3

1

2

1

0

1

2 3 4 6

Page 23: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Was brauchen wir?

Eigenschaften: Matrix Liste ArraySpeicher O(n2) O(n + m) O(n + m)Ausgehende Kanten iterieren O(n) O(deg u) O(deg u)Kantenzugriff (u, v) O(1) O(deg u) O(n + deg u)Effizienz + − +Updates (topologisch) + + −Updates (Gewicht) + + +

Fragen:Was brauchen wir?Was muss nich supereffizient sein?erstmal Modelle anschauen!

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 24: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Was brauchen wir?

Eigenschaften: Matrix Liste ArraySpeicher O(n2) O(n + m) O(n + m)Ausgehende Kanten iterieren O(n) O(deg u) O(deg u)Kantenzugriff (u, v) O(1) O(deg u) O(n + deg u)Effizienz + − +Updates (topologisch) + + −Updates (Gewicht) + + +

Fragen:Was brauchen wir?Was muss nich supereffizient sein?erstmal Modelle anschauen!

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 25: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 26: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 27: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Knoten sind KreuzungenKanten sind StraßenEinbahnstraßenMetrik ist Reisezeit

Page 28: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Knoten sind KreuzungenKanten sind StraßenEinbahnstraßenMetrik ist Reisezeit

Page 29: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

53

2

21

12

1

3

2

1

5

2

2

13

8

8

2

2

5

Knoten sind KreuzungenKanten sind StraßenEinbahnstraßenMetrik ist Reisezeit

Page 30: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

53

2

21

12

1

3

2

1

5

2

2

13

8

8

2

2

5

Eigenschaften (sammeln):

Page 31: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Modellierung (Straßengraphen)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

53

2

21

12

1

3

2

1

5

2

2

13

8

8

2

2

5

Eigenschaften:dünn(fast) ungerichtetgeringer KnotengradKantenzügeHierarchie (Autobahnen!)

Page 32: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Eigenschaften der Graphen

dünn (!)gerichtetgeringer Knotengradmeist verborgene Hierarchie (Autobahnen, ICE)Einbettung vorhanden (fast planar?)Kantengewichte nicht-negativ

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 33: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Ablauf des Praktikums

Ablauf1 Zuteilung der Themen an die Gruppen (heute)2 Einlesen und Bearbeiten v. erstem Aufgabenblatt (alle Gruppen)3 Bearbeiten zweites Aufgabenblatt (alle Gruppen)4 Kurzvorträge, ca. 10 min (Vorstellung der Themen)5 Implementierung des Themas6 Endvorträge, ca. 20 min7 Abgabe der Ausarbeitung (ca 10 Seiten)

Abgabe / Vorführen der Aufgabenblätter im Rechnerpool

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 34: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Zeitplan

Terminfindung

Woche Num. Aufgabe bis hierhin

31.10.–04.11. 1 Vorbesprechung07.11.–10.11. 2 Abgabe Blatt 1 / Einlesen21.11.–25.11. 4 Abgabe Blatt 205.12.–09.12. 6 Zwischenvorträge (je 5–10 Minuten)

ca. 13.02.–17.02. ca. 15 Endvorträge + Demo (je 20 Minuten)Ende Februar Draft-Version von Ausarbeitung

ca. Semesterende Abgabe Ausarbeitung

An diesen Terminen ist Anwesenheitspflicht.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 35: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Zeitplan

Terminfindung

Woche Num. Aufgabe bis hierhin

31.10.–04.11. 1 Vorbesprechung07.11.–10.11. 2 Abgabe Blatt 1 / Einlesen21.11.–25.11. 4 Abgabe Blatt 205.12.–09.12. 6 Zwischenvorträge (je 5–10 Minuten)

ca. 13.02.–17.02. ca. 15 Endvorträge + Demo (je 20 Minuten)Ende Februar Draft-Version von Ausarbeitung

ca. Semesterende Abgabe Ausarbeitung

An diesen Terminen ist Anwesenheitspflicht.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 36: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Themenübersicht

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 37: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Customizable Route Planning

ProblemstellungSchnelles Berechnen von Kürzesten Wegen in Straßennetzwerkenmit beliebigen Metriken.

Motivation

Speed-Up Technik die mit beliebigen Metriken umgehen kannZeit, Fußgänger, keine Autobahnen, Höhenbeschränkungen, etcVorberechnung pro Metrik soll sehr schnell seinEin paar Sekunden für den gesamten GraphenExtrem schnelle lokale UpdatesEchtzeit StaudatenSchnelle Queryzeiten (≤ 10 ms)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 38: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Customizable Route Planning

AufgabenImplementierung der Metric Customization Phase(Basierend auf gegebener Partitionierung des Graphen)Handhabung von verschiedenen Metriken (Updates)Implementierung des Query-AlgorithmusImplementierung von Shortcut-UnpackingVisualisierung von RoutenDurchführen von Experimenten

D. Delling, A. V. Goldberg, T. Pajor, R. F. Werneck:Customizable Route Planning.In: Proceedings of the 10th International Symposium on ExperimentalAlgorithms (SEA’11), volume 6630 of Lecture Notes in Computer Science,pages 376-387. Springer, 2011.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 39: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Customizable Route Planning

AufgabenImplementierung der Metric Customization Phase(Basierend auf gegebener Partitionierung des Graphen)Handhabung von verschiedenen Metriken (Updates)Implementierung des Query-AlgorithmusImplementierung von Shortcut-UnpackingVisualisierung von RoutenDurchführen von Experimenten

D. Delling, A. V. Goldberg, T. Pajor, R. F. Werneck:Customizable Route Planning.In: Proceedings of the 10th International Symposium on ExperimentalAlgorithms (SEA’11), volume 6630 of Lecture Notes in Computer Science,pages 376-387. Springer, 2011.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 40: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

PHAST

ProblemstellungSchnelle Berechnung von one-to-all kürzeste-Wege Bäumen aufStraßennetzwerken.

Motivation

Dijkstra’s Algorithmus berechnet Abstand zu allen Knoten in G.Schnelle Speed-up Techniken nur für Punkt-zu-Punkt Anfragen.Aber: One-to-all Anfragen oft Bestandteil von Vorberechnung.Wie lässt sich die Hardware-Architektur geschickt ausnutzen umone-to-all Anfragen zu beschleunigen?

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 41: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

PHAST

AufgabenBerechnung der Level in einer Contraction HierarchyBei gegebener Contraction HierarchyImplementierung der PHAST-QueryImplementierung von (Hardware-)OptimierungenKnotenordnung, Parallelisierung, SSE-InstruktionenBerechnen von Arc-Flags mittels PHASTImplementierung der Arc-Flags QueryVisualisierung der Routen und Experimente

D. Delling, A. V. Goldberg, A. Nowatzyk, R. F. Werneck:PHAST: Hardware-Accelerated Shortest Path Trees.In: 25th International Parallel and Distributed Processing Symposium(IPDPS’11), pages 921-931. IEEE Computer Society, 2011.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 42: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

PHAST

AufgabenBerechnung der Level in einer Contraction HierarchyBei gegebener Contraction HierarchyImplementierung der PHAST-QueryImplementierung von (Hardware-)OptimierungenKnotenordnung, Parallelisierung, SSE-InstruktionenBerechnen von Arc-Flags mittels PHASTImplementierung der Arc-Flags QueryVisualisierung der Routen und Experimente

D. Delling, A. V. Goldberg, A. Nowatzyk, R. F. Werneck:PHAST: Hardware-Accelerated Shortest Path Trees.In: 25th International Parallel and Distributed Processing Symposium(IPDPS’11), pages 921-931. IEEE Computer Society, 2011.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 43: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

HLDB

ProblemstellungSehr schnelle Routenplanung mit Hilfe einer Datenbank (SQL).

MotivationDatenbanken sehr verbreitet. . .. . . und leicht zu wartenDijkstra’s Algorithmus unpraktikabel in SQLSimple Implementierung des Anfragealgorithmus(Einfache SQL-Anfrage)Erweiterte Anfragen, wie z. B. POI-Anfragen.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 44: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

HLDBAufgaben

Implementierung der Vorberechnung eines Labeling-AlgorithmusZu gegebener Contraction HierarchyImplementierung von Verbesserungen für die VorberechnungImplementierung der HL-Query in C++Import der Daten in eine DatenbankImplementierung der HL-Query in SQLImplementierung einer POI-Query in SQLVisualisierung der Labels und Experimente

I. Abraham, D. Delling, A. V. Goldberg, R. F. Werneck.A Hub-Based Labeling Algorithm for Shortest Paths on Road Networks.In: Proceedings of the 10th International Symposium on ExperimentalAlgorithms (SEA’11), volume 6630 of Lecture Notes in Computer Science,pages 230-241. Springer, 2011.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 45: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

HLDBAufgaben

Implementierung der Vorberechnung eines Labeling-AlgorithmusZu gegebener Contraction HierarchyImplementierung von Verbesserungen für die VorberechnungImplementierung der HL-Query in C++Import der Daten in eine DatenbankImplementierung der HL-Query in SQLImplementierung einer POI-Query in SQLVisualisierung der Labels und Experimente

I. Abraham, D. Delling, A. V. Goldberg, R. F. Werneck.A Hub-Based Labeling Algorithm for Shortest Paths on Road Networks.In: Proceedings of the 10th International Symposium on ExperimentalAlgorithms (SEA’11), volume 6630 of Lecture Notes in Computer Science,pages 230-241. Springer, 2011.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 46: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

RAPTOR

ProblemstellungSchnelle Berechnung von multi-kriteriellen (Reisezeit, AnzahlUmstiege, etc.) Anfragen in öffentlichen Verkehrsnetzen.

MotivationNetzwerke sind zeitabhängigBestehen aus Stops, Routen, Trips, . . .Modellierung als Graphen zu kompliziert/langsamOptimierung von Ankunftszeit alleine nicht ausreichendDynamische Aspekte: Verspätungen, Ausfälle, . . .

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 47: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

RAPTOR

AufgabenGegeben: Fahrplan als DatenstrukturImplementierung von RAPTOR für Ankunftszeit und UmstiegeErweiterung von RAPTOR auf Kriterium TarifzonenParallelisierung von RAPTOR auf Multi-CoreAusgabe der Routen und Visualisierung

D. Delling, T. Pajor, R. F. Werneck:Round-Based Public Transit Routing.Unpublished.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 48: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

RAPTOR

AufgabenGegeben: Fahrplan als DatenstrukturImplementierung von RAPTOR für Ankunftszeit und UmstiegeErweiterung von RAPTOR auf Kriterium TarifzonenParallelisierung von RAPTOR auf Multi-CoreAusgabe der Routen und Visualisierung

D. Delling, T. Pajor, R. F. Werneck:Round-Based Public Transit Routing.Unpublished.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 49: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Zuteilung der Themen

Bitte gruppiert euch in 2er Gruppen und wählt.

Themen

Customizable Route PlanningRoutenplanung in Straßennetzwerken mit beliebigen MetrikenPHASTSchnelle Berechnung von one-to-all kürzesten WegenHLDBRoutenplanung mit SQL-DatenbankenRAPTORMulti-kriterielle Fahrplanauskunft

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 50: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Accounts

Rechner-LoginAusfüllen von AntragsblattWir geben per Email bescheid, sobald angelegt

SVN-ZugangWir benutzen SVN zur Versionskontrolle(siehe erstes Blatt)Zugangsdaten per Email an die GruppenBitte checkt regelmäßig euren Fortschritt ein!

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 51: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Austeilung,Einführungsblatt

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 52: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

FrameworkFür das erste Blatt.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 53: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Schnell, schneller, am schnellsten. . .

MaximeBei der Routenplanung müssen

große Datenmengen (Graphen)schnell und ressourcenschonend verarbeitet werden.

⇒Wir benutzen C++ mit einem (sehr) schlankenFramework!

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 54: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Slim-Framework

Das Framework. . .ist selbst geschrieben (und sehr klein)benutzt lediglich ein paar Komponenten der STL

Vorteile:sehr schnellkein (kaum) Overheadfür euch überschaubar :-)

Nachteile:Unflexibel (aber für unsere Zwecke ausreichend)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 55: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Überblick

Das Framework besteht aus folgenden Bestandteilen:

Graph-KlasseVerwaltet den GraphenPriority-QueueZum Beispiel für Dijkstra’s AlgorithmusQuery-AlgorithmenZum Beispiel Dijkstra’s Algorithmus

... und noch ein bisschen IO.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 56: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graphen

Umgehen mit Graphen...

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 57: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Grundlegende Datentypen

Grundlegende Datentypen aus unserem Framework sind

typedef unsigned int types::NodeID;Index in dem Knotenvektor nodes

typedef unsigned int types::EdgeID;Index in dem Kantenvektor edges

typedef int types::EdgeWeight;Kantengewichte

types::INFTYSpezieller EdgeWeight-Wert für∞.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 58: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graphen

Die Graphen sind als Adjazenzarray implementiert.

0 n-1

nodes:

edges:

0 m-1. . .

struct basicNode {

EdgeID first_edge();

EdgeId last_edge();

}

struct indEdge {

NodeID node();

bool forward();

bool backward();

EdgeWeight weight();

}

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 59: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graphen – Beispiel

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Adjazenzarray an einem kleinen Beispiel2

3 11

1

2

0

1 2

3

firstEdge

targetNode

weight

backwardFlag

forwardFlag

0 3 5 7 10

1

3

3 3

2 1

0 2 1 3 0 0 2

3 2 2 1 1 2 1

√ √√ √

√√√

√√

√√√− −

− −−−

−−

Page 60: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Graph-Struktur – ImplementierungWichtige Bestandteile der Graph-Klasse:

template <typename Propert iesType , typename NodeType ,typename EdgeType , typename ConnectionType >c lass dynamicGraph {

/ / . . .vector <NodeType> nodes ;vector <EdgeType> edges ;

} ;

Der einfache Graph ergibt sich damit durch

typedef dynamicGraph<bas icProper t ies , basicNode ,indEdge , basicConnect ion > roadGraph ;

Der Rest ist für uns (erstmal) nicht wichtig!

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 61: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Größe des Graphen

Folgende Funktionen können benutzt werden um Größen zu ermitteln

get_num_nodes()Größe des nodes-vectors −1.

get_num_edges()Größe des edges-vectors

Achtung: get_num_edges() entspricht in der Regel nicht dertatsächlichen Anzahl Kanten im Graph! get_num_arcs() liefert dieAnzahl Vorwärtskanten.

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 62: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Iterieren auf Graphen

Folgende Konstrukte existieren zur Iteration:

FORALL_NODES(G, n)Iteriert über alle Knoten in G

graphs::roadGraph::edgeType *e(NULL);FORALL_EDGES(G, u, e)

Iteriert über alle Kanten, u ist dabei der Quellknoten derKante

graphs::roadGraph::edgeType *e(NULL);FORALL_INCIDENT_EDGES(G, u, e)

Iteriert über alle zu u inzidenten Kanten in G

Benutzung wie normale Schleifenkonstrukte in C++ (z. B. for)

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 63: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Vorwärts und RückwärtskantenProblem: Nur über ausgehende Kanten iterieren.

graphs : : roadGraph G; types : : NodeID u = 42;

/ / I t e r i e r e ueber ausgehende Kanten von u . . .graphs : : roadGraph : : edgeType ∗e (NULL ) ;FORALL_INCIDENT_EDGES(G, u , e ) {

i f ( ! e−>forward ( ) )cont inue ;

s td : : cout << " Kante mi t Gewicht "<< e−>weight ( ) << std : : endl ;

}

Nur Rückwärtskanten: analog

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011

Page 64: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller

Viel Erfolg!

Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011