Personalisierte Routenplanung

Ähnliche Dokumente
Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2014 Prof. Christos Zaroliagis 26. Mai 2014

Algorithmen für Routenplanung 11. Sitzung, Sommersemester 2013 Julian Dibbelt 10. Juni 2013

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012

Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2012 Daniel Delling 13. Juni 2012

Algorithmen für Routenplanung Vorlesung 11

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 6. Juni 2011

Algorithmen für Routenplanung 9. Sitzung, Sommersemester 2015 Moritz Kobitzsch 20. Mai 2015

Algorithmen für Routenplanung 6. Vorlesung, Sommersemester 2010 Daniel Delling 17. Mai 2010

Algorithmen für Routenplanung 7. Vorlesung, Sommersemester 2012 Daniel Delling 16. Mai 2012

Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks

Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19.

Algorithmen für Routenplanung

Untersuchung von Beschleunigungsverfahren für den Dijkstra-Algorithmus im Zusammenhang mit multimodalem Routing

Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010

Algorithmen für Routenplanung 18. Sitzung, Sommersemester 2015 Moritz Baum 13. Juli 2015

Algorithmen für Routenplanung Vorlesung 2

Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017

Algorithmen für Routenplanung Vorlesung 12

Praktikum Routenplanung Vorbesprechung, Wintersemester 2013/2014 Moritz Baum, Julian Dibbelt, Ben Strasser 21. Oktober 2013

Algorithmen für Routenplanung 10. Vorlesung, Sommersemester 2016 Ben Strasser 25. Mai 2016

Algorithmen für Routenplanung Vorlesung 6

Praktikum Routenplanung Vorbesprechung, Wintersemester 2014/2015 Moritz Baum, Julian Dibbelt, Ben Strasser 22. Oktober 2014

Praktikum Routenplanung

Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2013 Julian Dibbelt 19. Juni 2013

Algorithmen für Routenplanung Vorlesung 7

Algorithmen für Routenplanung 9. Sitzung, Sommersemester 2010 Thomas Pajor 7. Juni 2010

Maximale s t-flüsse in Planaren Graphen

Vorlesung Datenstrukturen

Vorlesung 2 KÜRZESTE WEGE

Praktikum Routenplanung

Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2017 Tobias Zündorf 5. Juli 2017

Map Matching. Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3

Kürzeste und Schnellste Wege

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2010 Thomas Pajor 28. Juni 2010

Route Planning in Road Networks

Algorithmen für Routenplanung Vorlesung 10

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2013 Julian Dibbelt 17. Juni 2013

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2013 Julian Dibbelt 22. Mai 2013

Algorithmen für Routenplanung 19. und letzte Sitzung, Sommersemester 2012 Thomas Pajor 16. Juli 2012

Schnelle und genaue Routenplanung

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Grundlagen: Algorithmen und Datenstrukturen

Algorithmen II Vorlesung am

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012

Algorithmen II Vorlesung am

Vorlesung 2 KÜRZESTE WEGE

Geradenarrangements und Dualität von Punkten und Geraden

Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2012 Daniel Delling 20. Juni 2012

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

2. Optimierungsprobleme 6

Algorithmen für Geographische Informationssysteme

Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2016 Tobias Zündorf 25. April 2016

Übung 2 Algorithmen II

Algorithmen für Routenplanung 11. Sitzung, Sommersemester 2015 Julian Dibbelt 01. Juni 2015

Seminar Algorithmen für planare Graphen

Effiziente Algorithmen Lineares Programmieren 216. Schwache Dualität

Viertes Übungsblatt - Musterlösung

Algorithmen für Routenplanung Vorlesung 4

Genauer Hochleistungs-Routenplaner

Begriffsklärung: Dominanz

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Theoretische Grundlagen der Informatik

Informatik II, SS 2014

Algorithmische Graphentheorie

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

Praktikum Routenplanung Vorbesprechung, Wintersemester 2012/2013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17.

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Kombinatorische Optimierung

Vortrag 20: Kurze Vektoren in Gittern

Der Eulersche Polyedersatz in beliebiger Dimension

Algorithmen für Routenplanung 14. Sitzung, Sommersemester 2011 Thomas Pajor 16. Juni 2011

Das Steinerbaumproblem

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2016 Ben Strasser 30. Mai 2016

Algorithmische Herausforderungen bei der multimodalen Routenplanung Heureka 14 Prof. Dorothea Wagner 3. April 2014

Vorlesung 4 BETWEENNESS CENTRALITY

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmen für Routenplanung 3. Sitzung, Sommersemester 2010 Thomas Pajor 30. April 2010

Beschleunigte Berechnung von ressourcenbeschränkten kürzesten Wegen

Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2018 Tim Zeitz 30. April 2018

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Schnelle und genaue Routenplanung

Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2017 Moritz Baum 15. Mai 2017

Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2014 Andreas Gemsa 20. April 2014

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Algorithmische Methoden für schwere Optimierungsprobleme

Theoretische Grundlagen der Informatik

Transkript:

Personalisierte Routenplanung Vorlesung Routenplanung, KIT, 2016 Sabine Storandt, JMU Würzburg

Motivation Viele Kriterien definieren die optimale Route von A nach B. Distanz Reisezeit Benzinverbrauch Staugefahr Szenerie Energieverbrauch Mautkosten 37min, e 4.61 40min, e 3.87 44min, e 3.81

Motivation Viele Kriterien definieren die optimale Route von A nach B. Distanz Reisezeit Benzinverbrauch Staugefahr Szenerie Energieverbrauch Mautkosten Gewichtung für jeden Fahrer anders... Teilweise fahrzeugabhängig. 37min, e 4.61 40min, e 3.87 44min, e 3.81

Problemdefinition

Problemdefinition Gegeben G(V, E) Straßennetzwerk c : E R d d-dimensionaler Kostenvektor pro Kante (12, 0.5, 488) (1, 40, 100)

Problemdefinition Gegeben G(V, E) Straßennetzwerk c : E R d d-dimensionaler Kostenvektor pro Kante (12, 0.5, 488) s t Anfrage s, t V (1, 10, 0.25) (1, 40, 100) α R d Gewichtsvektor

Problemdefinition Gegeben G(V, E) Straßennetzwerk c : E R d d-dimensionaler Kostenvektor pro Kante 12 + 5 + 122 = 139 (12, 0.5, 488) s t Anfrage s, t V α R d Gewichtsvektor (1, 10, 0.25) Ziel: Finde Pfad p von s nach t mit min e p α T c. 1 + 400 + 25 = 426 (1, 40, 100)

Problemdefinition Gegeben G(V, E) Straßennetzwerk c : E R d d-dimensionaler Kostenvektor pro Kante 12 + 5 + 122 = 139 (12, 0.5, 488) s t Anfrage s, t V α R d Gewichtsvektor (1, 10, 0.25) Ziel: Finde Pfad p von s nach t mit min e p α T c. 1 + 400 + 25 = 426 (1, 40, 100) Problem 1: Wie findet man personalisierte optimale Routen effizient? Problem 2: Kann man α aus Nutzerdaten extrahieren?

Bisherige Ansätze

Bisherige Ansätze Alternativrouten Wähle unter den Alternativen die beste gemäß α.

Bisherige Ansätze Alternativrouten Wähle unter den Alternativen die beste gemäß α. Optimale α-route evtl. deutlich billiger...

Bisherige Ansätze Alternativrouten Wähle unter den Alternativen die beste gemäß α. Optimale α-route evtl. deutlich billiger... Dijkstra 15 4.5 (3,2,4) 2.75 (2,1,3) s (1,7,12) 0 10.5 10.5 10 (20,0,0) t 20.5 17.75 (5,6,1) Berechne Kantenkosten bei Relaxierung. O(n log n + dm) α = (0.5, 1, 0.25)

Bisherige Ansätze Alternativrouten Wähle unter den Alternativen die beste gemäß α. Optimale α-route evtl. deutlich billiger... Dijkstra 15 4.5 (3,2,4) 2.75 (2,1,3) s (1,7,12) 0 10.5 α = (0.5, 1, 0.25) 10.5 10 (20,0,0) t 20.5 17.75 (5,6,1) Berechne Kantenkosten bei Relaxierung. O(n log n + dm) > 7 Sekunden

Bisherige Ansätze Multikriterielle Routenplanung/CSP Methoden für personalisierte Routenplanung einsetzbar. NP-hart, große Pareto-Mengen, auch in der Praxis, Overkill. dominiert Pareto-optimal α-optimal c 1 c 2 d = 2 λ = α 1 α 1 + α 2 λc 1 + (1 λ)c 2 untere konvexe Hülle 0 1 λ

Bisherige Ansätze Multikriterielle Routenplanung/CSP Methoden für personalisierte Routenplanung einsetzbar. NP-hart, große Pareto-Mengen, auch in der Praxis, Overkill. dominiert Pareto-optimal α-optimal c 1 c 2 d = 2 Pareto-optimale Pfade Obermenge der α-optimalen Pfade. untere konvexe Hülle λ = α 1 α 1 + α 2 λc 1 + (1 λ)c 2 0 1 λ

Bisherige Ansätze Customization (z.b. CRP, CCH) 3 Phasen: 1. Konstruiere metrik-unabhängigen Overlay Graph. (preprocessing) 2. Überziehe Overlay mit Metrik. (customization) 3. Beantworte Queries im Overlay Graph. (queries) Zeit min sec ms

Bisherige Ansätze Customization (z.b. CRP, CCH) 3 Phasen: 1. Konstruiere metrik-unabhängigen Overlay Graph. (preprocessing) 2. Überziehe Overlay mit Metrik. (customization) 3. Beantworte Queries im Overlay Graph. (queries) Zeit min sec ms 3 4 6 2 5 4 7

Bisherige Ansätze Customization (z.b. CRP, CCH) 3 Phasen: Zeit 1. Konstruiere metrik-unabhängigen Overlay Graph. (preprocessing) min 2. Überziehe Overlay mit Metrik. (customization) sec 3. Beantworte Queries im Overlay Graph. (queries) ms pro Anfrage/Query Kann für personalisierte Routenplanung instrumentalisiert werden. Personalisiert den Overlay Graph. 3 4 6 2 5 4 7

Bisherige Ansätze Customization (z.b. CRP, CCH) 3 Phasen: Zeit 1. Konstruiere metrik-unabhängigen Overlay Graph. (preprocessing) min 2. Überziehe Overlay mit Metrik. (customization) sec 3. Beantworte Queries im Overlay Graph. (queries) ms pro Anfrage/Query Kann für personalisierte Routenplanung instrumentalisiert werden. Personalisiert den Overlay Graph. Anfragezeiten unparallelisiert kaum schneller als mit Dijkstra (superlinear). 3 4 6 2 5 4 7

Effiziente Personalisierung

Effiziente Personalisierung Ansatz 1 Problem: Personalisierte CH-Konstruktion. Welche Shortcuts müssen gesetzt werden? (2,5) (3,7)?

Effiziente Personalisierung Ansatz 1 Problem: Personalisierte CH-Konstruktion. Welche Shortcuts müssen gesetzt werden? (2,5) (3,7)? Ansatz 2 Von Customizable zu Personalizable 1. Konstruiere metrik-unabhängigen Overlay Graph. 2. Überziehe Overlay Graph mit Kostenvektoren. 3. Beantworte personalisierte Anfragen. Problem: Wie prunt man Kostenvektormengen? (2,7) (1,5) (8,1) (5,3) (8,0) (2,2) (8,15) (10,2) (9,6)

Effiziente Personalisierung Ansatz 1 Problem: Personalisierte CH-Konstruktion. Welche Shortcuts müssen gesetzt werden? (2,5) (3,7)? California 11M nodes, 23M edges Metriken Reisezeit + Benzinkosten Dijkstra 2097ms CH-Dijkstra 2ms speed-up >1000 Ansatz 2 Von Customizable zu Personalizable 1. Konstruiere metrik-unabhängigen Overlay Graph. 2. Überziehe Overlay Graph mit Kostenvektoren. 3. Beantworte personalisierte Anfragen. Problem: Wie prunt man Kostenvektormengen? (1,5) (2,7) (8,1) (8,0) (2,2) (5,3) Germany 22M nodes, 44M edges d # polls # vectors time speed-up 1 1.5 10 5 6.9 10 5 71 ms 111 2 1.7 10 5 7.3 10 5 78 ms 107 5 1.7 10 5 7.7 10 5 82 ms 104 10 1.6 10 5 1.3 10 6 135 ms 67 32 1.6 10 5 2.5 10 6 287 ms 35 64 1.8 10 5 4.9 10 6 612 ms 20 (8,15) (10,2) (9,6)

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden.

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. (2,3) (4,1) (6,4)?

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 c : E N M = max e E c(e) Zwei Eckpunkte der UKH haben Mindestabstand Ω(1/(nM) 2 ). λ

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. α-optimal = Teil der unteren konvexen Hülle (UKH) UKH kann exponentiell groß sein. Check ob Pfad optimal für bestimmtes α = Dijkstra Lauf in G α c 2 c 1 c : E N M = max e E c(e) Zwei Eckpunkte der UKH haben Mindestabstand Ω(1/(nM) 2 ). λ Intervall wird in jeder Runde halbiert. Laufzeit O(log(nM)(n log n + m))

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. Generalisierbar für d > 2.

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. Generalisierbar für d > 2. Kosten c 1,, c d UKH d 1 i=1 λ ic i + (1 d 1 i=1 λ i)c d λ i [0, 1], d i=1 λ i = 1 Linien Hyperebenen c 1 c 2 c 3 c 1 c 2 0.3 0.3 0 1 λ 1 0 0.5 1 λ λ 2 1

Personalisierte CH Alle α-optimalen Pfade müssen erhalten werden. Generalisierbar für d > 2. Erzeugt minimale CH für gegebene Kontraktionsreihenfolge. Ermöglicht theoretische Laufzeitschranken. Gute Kontraktionsreihenfolge? Vorberechnung teuer, da mehrere Dijkstra Läufe notwendig sind für jede Shortcut-Entscheidung. CAL, d=2 18 min Speed-Up geringer für höheres d. d = 2 : 1000, d = 3 : 200

Von Customizable zu Personalizable

Von Customizable zu Personalizable Idee konstruiere metrik-unabhängigen Overlay Graph, Customization mit Vektoren statt skalaren Kosten (13, 13) (10, 17) (7, 23) (9,1) (6,5) (3,11) (12, 14) (9,18) (6, 24) (4,12) (3,13) (4,2) (2,3) (9,1) (0,0) (2,6) (1,5) (3,7) (2,2) (1,5) (1,11)

Von Customizable zu Personalizable Idee konstruiere metrik-unabhängigen Overlay Graph, Customization mit Vektoren statt skalaren Kosten (13, 13) (10, 17) (7, 23) Große Kostenvektormengen pro Shortcut! (9,1) (6,5) (3,11) (12, 14) (9,18) (6, 24) (4,12) (3,13) (4,2) (2,3) (9,1) (0,0) (2,6) (1,5) (3,7) (2,2) (1,5) (1,11)

Von Customizable zu Personalizable Viele Vektoren überflüssig für korrekte Queries... b b a (1,2) (3,4) (2,1) v (10,0) u (6,6) w (5,9) c a (1,2) (16,6) (2,1) u (11,15) (3,4) v (15,9) c a (1,2) (19,20) (5,5) u b (18,13) a (20,22) (6,7) b (18,13) (16,20) (22,15) (36,20) (30,35) (36,30) (40,35) (11,15) (17,10) (31,15) c (12,17) (18,12) (32,17) c

Von Customizable zu Personalizable (2,4) (3,6) Lösche dominierte Vektoren ein Vektor v R d dominiert einen anderen Vektor w R d wenn v i w i i = 1,..., d und v i < w i für mindest ein i {1,..., d}. Naiver Ansatz vergleiche alle Paare von Vektoren O(d S 2 ) Beschleunigung wähle d Kandidaten (z.b. den kostenminimalen pro Dimension) überprüfe für alle anderen Vektoren ob diese dominiert werden runtime O(d 2 S )

Von Customizable zu Personalizable (2,4) (5,3) (6,2) Löschen aufgespannter Vektoren Lemma Ein Vektor v R d kann gelöscht werden wenn eine Konvexkombination von höchstens d anderen Vektoren v dominiert.

Von Customizable zu Personalizable Löschen aufgespannter Vektoren (2,4) (5,3) (6,2) 4 3 Lemma Ein Vektor v R d kann gelöscht werden wenn eine Konvexkombination von höchstens d anderen Vektoren v dominiert. Annahme: α : α T v = z minimal und eindeutig w 1,, w d Vektoren die v aufspannen mit v < v

Von Customizable zu Personalizable Löschen aufgespannter Vektoren (2,4) (5,3) (6,2) 4 3 Lemma Ein Vektor v R d kann gelöscht werden wenn eine Konvexkombination von höchstens d anderen Vektoren v dominiert. Annahme: α : α T v = z minimal und eindeutig w 1,, w d Vektoren die v aufspannen mit v < v γi w i = v < v mit γ i = 1 und γ i 0 α T γ i w i = α T v < α T v = z

Von Customizable zu Personalizable Löschen aufgespannter Vektoren (2,4) (5,3) (6,2) 4 3 Lemma Ein Vektor v R d kann gelöscht werden wenn eine Konvexkombination von höchstens d anderen Vektoren v dominiert. Annahme: α : α T v = z minimal und eindeutig w 1,, w d Vektoren die v aufspannen mit v < v γi w i = v < v mit γ i = 1 und γ i 0 α T γ i w i = α T v < α T v = z γ i α T w i < z α T v minimal und eindeutig α T w i > z γ i α T w i > γ i z = z

Von Customizable zu Personalizable Löschen aufgespannter Vektoren (2,4) (5,3) (6,2) 4 3 Lemma Ein Vektor v R d kann gelöscht werden wenn eine Konvexkombination von höchstens d anderen Vektoren v dominiert. Annahme: α : α T v = z minimal und eindeutig w 1,, w d Vektoren die v aufspannen mit v < v γi w i = v < v mit γ i = 1 und γ i 0 α T γ i w i = α T v < α T v = z γ i α T w i < z α T v minimal und eindeutig α T w i > z γ i α T w i > γ i z = z Widerspruch!

Von Customizable zu Personalizable (2,4) (5,3) (6,2) Löschen aufgespannter Vektoren Lemma Ein Vektor v R d kann gelöscht werden wenn eine Konvexkombination von höchstens d anderen Vektoren v dominiert. Pruning Orakel Überprüfung auf Existenz einer solchen Konvexkombination mit folgendem Gleichungssystem: γ 1 w 11 + γ 2 w 21 + + γ d w d1 v 1 γ 1 w 12 + γ 2 w 22 + + γ d w d2 v 2 γ 1 w 1d + γ 2 w 2d + + γ d w dd v d γ 1 + γ 2 + + γ d = 1 γ i 0 Theoretisch b = ( S d ) viele Basen möglich. Wähle vielversprechende Kandidaten.

Von Customizable zu Personalizable Dreiecks-Pruning w (4,3) v (5,2) (1,7) (8,8) (9,6) u

Von Customizable zu Personalizable Experimentelle Pruning Ergebnisse

Von Customizable zu Personalizable Experimentelle Pruning Ergebnisse Bis d = 64 Anfragezeiten unter einer Sekunde.

Automatische α-deduktion

Automatische α-deduktion Problem α manuell zu spezifizieren ist aufwändig und nicht trivial 0.3 Reisezeit, 0.4 Benzinkosten, 0.3 Staugefahr? 0.2 Reisezeit, 0.5 Benzinkosten, 0.3 Staugefahr? 0.2 Reisezeit, 0.2 Benzinkosten, 0.6 Staugefahr?

Automatische α-deduktion Problem α manuell zu spezifizieren ist aufwändig und nicht trivial 0.3 Reisezeit, 0.4 Benzinkosten, 0.3 Staugefahr? 0.2 Reisezeit, 0.5 Benzinkosten, 0.3 Staugefahr? 0.2 Reisezeit, 0.2 Benzinkosten, 0.6 Staugefahr? Idee automatische α-berechnung aus bisherigen Routen eines Nutzers

Automatische α-deduktion Eine Menge von Pfaden ist zulässig, wenn es ein α gibt, sodass alle diese Pfade optimal sind für dieses α. O.B.d.A. α i [0, 1], i α i = 1 Wie findet man α für eine gegebene Menge P zulässiger Pfade?

Automatische α-deduktion Eine Menge von Pfaden ist zulässig, wenn es ein α gibt, sodass alle diese Pfade optimal sind für dieses α. O.B.d.A. α i [0, 1], i α i = 1 Wie findet man α für eine gegebene Menge P zulässiger Pfade? LP-Formulierung α 1 + + α d = 1 α 1 0 α d 0

Automatische α-deduktion Eine Menge von Pfaden ist zulässig, wenn es ein α gibt, sodass alle diese Pfade optimal sind für dieses α. O.B.d.A. α i [0, 1], i α i = 1 Wie findet man α für eine gegebene Menge P zulässiger Pfade? LP-Formulierung α 1 + + α d = 1 α 1 0 α d 0 p(s, t) P : für alle alternativen s t Pfade p : α T c(p) α T c(p ) 0 alle Alternativpfade müssen teurer sein als p für α

Automatische α-deduktion Eine Menge von Pfaden ist zulässig, wenn es ein α gibt, sodass alle diese Pfade optimal sind für dieses α. O.B.d.A. α i [0, 1], i α i = 1 Wie findet man α für eine gegebene Menge P zulässiger Pfade? LP-Formulierung α 1 + + α d = 1 α 1 0 α d 0 p(s, t) P : für alle alternativen s t Pfade p : α T c(p) α T c(p ) 0 alle Alternativpfade müssen teurer sein als p für α Problem potenziell exponentiell viele Alternativpfade

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu.

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. (10,12) 1 α 2 (8,3) (0.5,0.5) (12,5) 0 1 α 1

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. (10,12) 1 α 2 (8,3) (0.5,0.5) (12,5) 0 1 α 1 11.5 (10,12) 1 α 2 (0,1) 6α 1 2α 2 0 5.5 5.0 (8,3) (5,5) 8.5 (12,5) 6.5 (6,7) 3α 1 2α 2 0 0 1 α 1

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. 11.5 (10,12) 1 (0,1) 5.5 5.0 (8,3) (5,5) 8.5 (12,5) 6.5 (6,7) α 2 0 1 α 1

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. 11.5 (10,12) 1 (0,1) 5.5 5.0 (8,3) (5,5) 8.5 (12,5) 6.5 (6,7) 0 1 α 1 9 12 (10,12) (28,9) α 2 α 2 1 18α 1 3α 2 0 3 (8,3) (0.25,0.75) 5 (12,5) 0 1 α 1

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. 9 12 (10,12) (28,9) 1 α 2 3 (8,3) (0.25,0.75) 5 (12,5) 0 1 α 1

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. 9 12 (10,12) (28,9) 1 α 2 3 (8,3) (0.25,0.75) 5 (12,5) 11.5 (10,12) 0 1 α 1 4.25 (8,3) 6.75 (12,5)

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. Polyzeitalgorithmus via Ellipsoidmethode.

Automatische α-deduktion Abhilfe Füge Constraints nach Bedarf hinzu. Polyzeitalgorithmus via Ellipsoidmethode. Beschleunigung in der Praxis: CCH mit Customization pro while-durchlauf (innerhalb der Schleife α für alle Queries gleich)

Automatische α-deduktion Resultate Stadt Bundesland Deutschland Zeit Runden α com Zeit Runden α com Zeit Runden α com P (s) A N (s) A N (s) A N 1 0.2 1.8 0.19 33.7 29.0 0.51 141.7 31.4 0.67 10 0.4 6.1 0.17 24.1 14.9 0.21 73.8 16.2 0.23 50 0.4 6.2 0.06 19.9 10.2 0.05 47.3 9.5 0.04 100 0.4 5.8 0.03 20.5 7.7 0.03 32.4 5.2 0.01 1000 0.8 4.2 0.01 85.3 5.3 0.02 103.9 3.1 0.00 d = 10 A N misst wie stark sich Pfade unterscheiden, die mit dem echten Nutzer-α und dem von uns berechneten α generiert wurden.

Zusammenfassung Beschleunigungstechniken in abgewandelter Form für personalisierte Queries anwendbar. Personalisierte CH. Notwendigkeit eines Shortcuts entscheidbar in Polyzeit. Customizable Personalizable. Schnelles Prunen von hochdimensionalen Vektormengen.

Zusammenfassung Beschleunigungstechniken in abgewandelter Form für personalisierte Queries anwendbar. Personalisierte CH. Notwendigkeit eines Shortcuts entscheidbar in Polyzeit. Customizable Personalizable. Schnelles Prunen von hochdimensionalen Vektormengen. Nutzerpräferenzen können automatisch aus Pfaddaten ermittelt werden. LP-Formulierung Ellipsoid-Methode + effizientes Dijkstra-Orakel für Constraints basierend auf CCH

Literatur Daniel Delling, Andrew V. Goldberg, Moiss Goldszmidt, John Krumm, Kunal Talwar, Renato F. Werneck: Navigation made personal: inferring driving preferences from GPS traces. SIGSPATIAL/GIS 2015: 31:1-31:9 Julian Dibbelt, Ben Strasser, Dorothea Wagner: Fast exact shortest path and distance queries on road networks with parametrized costs. SIGSPATIAL/GIS 2015: 66:1-66:4 Stefan Funke, Sabine Storandt: Personalized route planning in road networks. SIGSPATIAL/GIS 2015: 45:1-45:10 Stefan Funke, Sabine Storandt: Polynomial-time construction of contraction hierarchies for multi-criteria objectives. ALENEX 2013: 41-54 Robert Geisberger, Moritz Kobitzsch, Peter Sanders: Route Planning with Flexible Objective Functions. ALENEX 2010: 124-137