praktikum routenplanung - vorbesprechung, wintersemester ...kombination mit a -suche langsam!...
TRANSCRIPT
![Page 1: Praktikum Routenplanung - Vorbesprechung, Wintersemester ...Kombination mit A -Suche langsam! Ausnahme: Google Maps Unser Anspruch: Anfragen sollenbeweisbarkorrekt sein)weniger Ausnahmeregelungen)schneller](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/55.jpg)
Ü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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f2c607e708231d442d977/html5/thumbnails/64.jpg)
Viel Erfolg!
Julian Dibbelt und Thomas Pajor – Praktikum Routenplanung 2. November 2011