35
INSTITUT FÜR THEORETISCHE INFORMATIK · ALGORITHMIK · PROF.DR.DOROTHEA WAGNER Algorithmen für Routenplanung 3. Sitzung, Sommersemester 2013 Thomas Pajor | 24.04.2013 KIT – Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

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

Algorithmen für Routenplanung3. Sitzung, Sommersemester 2013

Thomas Pajor | 24.04.2013

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

www.kit.edu

Page 2: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Schematischer Suchraum

s t

Thomas Pajor – Algorithmen für RoutenplanungFolie 2 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 3: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Schematischer Suchraum

s t

Thomas Pajor – Algorithmen für RoutenplanungFolie 2 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 4: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Ideensammlung

Wie Suche zielgerichtet machen?

prunen von Kanten, Knoten die in die “falsche” Richtung liegenReihenfolge in der Knoten besucht werden ändern

heute letzteres

Thomas Pajor – Algorithmen für RoutenplanungFolie 3 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 5: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A*

A*auch zielgerichtete Suche (goal-directed search) genannt

Idee:Dijkstra’s Algorithmus benutzt d [u] um zu entscheiden, welcherKnoten als nächstes abgearbeitet wird

Benutze Potential πt : V → R

πt [v ] ist ein Schätzwert für Entfernung dist(v , t) zum Ziel t

Benutze d [u] + πt(u) als Key in Q

Thomas Pajor – Algorithmen für RoutenplanungFolie 4 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 6: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Pseudocode A*A*(G = (V ,E), s, t)

1 d [s] = 02 Q.clear(), Q.add(s, πt(s) )

3 while !Q.empty() do4 u ← Q.deleteMin()5 break if u = t

6 forall the edges e = (u, v) ∈ E do7 if d [u] + len(e) < d [v ] then8 d [v ]← d [u] + len(e)

9 if v ∈ Q then Q.decreaseKey(v , d [v ] + πt(v) )10

11 else Q.insert(v , d [v ] + πt(v) )

Thomas Pajor – Algorithmen für RoutenplanungFolie 5 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 7: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Frage

Können beliebige Potentialfunktionen benutzt werden?

Damit könnten (fast) beliebige Abarbeitungsreihenfolgen erzeugtwerdenDies kann offensichtlich zu falschen Ergebnissen führen.

Wie kommen wir also zu gültigen Potentialfunktionen?

Thomas Pajor – Algorithmen für RoutenplanungFolie 6 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 8: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A* – Äquivalente FormulierungGegeben: Graph G = (V ,E , len), Knoten s, t ∈ V , Potential πt

Betrachte: Graph G = (V ,E , len) mitlen(u, v) = len(u, v)− πt(u) + πt(v)

Es gilt für jeden Pfad P = (s = v1, . . . , vk )

len(P) =k∑

i=1

len(vi , vi+1) =k∑

i=1

(len(vi , vi+1)− πt(vi) + πt(vi+1))

= −πt(v1) + πt(vk ) +k∑

i=1

len(vi , vi+1)

= −πt(s) + πt(vk ) + len(P).

Was können wir daraus folgern?

Thomas Pajor – Algorithmen für RoutenplanungFolie 7 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 9: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A* – Äquivalente FormulierungGegeben: Graph G = (V ,E , len), Knoten s, t ∈ V , Potential πtBetrachte: Graph G = (V ,E , len) mit

len(u, v) = len(u, v)− πt(u) + πt(v)

Es gilt für jeden Pfad P = (s = v1, . . . , vk )

len(P) =k∑

i=1

len(vi , vi+1) =k∑

i=1

(len(vi , vi+1)− πt(vi) + πt(vi+1))

= −πt(v1) + πt(vk ) +k∑

i=1

len(vi , vi+1)

= −πt(s) + πt(vk ) + len(P).

Zulässiges Potential (feasible potential)Eine Potentialfunktion πt : V → R heißt zulässig (bzgl einem GraphenG = (V ,E , len)), falls len(u, v)− πt(u) + πt(v) ≥ 0 für alle alle Kanten(u, v) ∈ E .

Thomas Pajor – Algorithmen für RoutenplanungFolie 7 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 10: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A* – Äquivalente FormulierungGegeben: Graph G = (V ,E , len), Knoten s, t ∈ V , Potential πtBetrachte: Graph G = (V ,E , len) mit

len(u, v) = len(u, v)− πt(u) + πt(v)

Es gilt für jeden Pfad P = (s = v1, . . . , vk )

len(P) =k∑

i=1

len(vi , vi+1) =k∑

i=1

(len(vi , vi+1)− πt(vi) + πt(vi+1))

= −πt(v1) + πt(vk ) +k∑

i=1

len(vi , vi+1)

= −πt(s) + πt(vk ) + len(P).

Thomas Pajor – Algorithmen für RoutenplanungFolie 7 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 11: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A* – Äquivalente FormulierungGegeben: Graph G = (V ,E , len), Knoten s, t ∈ V , Potential πtBetrachte: Graph G = (V ,E , len) mit

len(u, v) = len(u, v)− πt(u) + πt(v)

Es gilt für jeden Pfad P = (s = v1, . . . , vk )

len(P) =k∑

i=1

len(vi , vi+1) =k∑

i=1

(len(vi , vi+1)− πt(vi) + πt(vi+1))

= −πt(v1) + πt(vk ) +k∑

i=1

len(vi , vi+1)

= −πt(s) + πt(vk ) + len(P).

Thomas Pajor – Algorithmen für RoutenplanungFolie 7 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 12: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A* – Äquivalente FormulierungGegeben: Graph G = (V ,E , len), Knoten s, t ∈ V , Potential πtBetrachte: Graph G = (V ,E , len) mit

len(u, v) = len(u, v)− πt(u) + πt(v)

Es gilt für jeden Pfad P = (s = v1, . . . , vk )

len(P) =k∑

i=1

len(vi , vi+1) =k∑

i=1

(len(vi , vi+1)− πt(vi) + πt(vi+1))

= −πt(v1) + πt(vk ) +k∑

i=1

len(vi , vi+1)

= −πt(s) + πt(vk ) + len(P).

A* auf G ist gleich Dijkstra’s Algorithmus auf G

Thomas Pajor – Algorithmen für RoutenplanungFolie 7 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 13: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

A* – Äquivalente FormulierungGegeben: Graph G = (V ,E , len), Knoten s, t ∈ V , Potential πtBetrachte: Graph G = (V ,E , len) mit

len(u, v) = len(u, v)− πt(u) + πt(v)

Es gilt für jeden Pfad P = (s = v1, . . . , vk )

len(P) =k∑

i=1

len(vi , vi+1) =k∑

i=1

(len(vi , vi+1)− πt(vi) + πt(vi+1))

= −πt(v1) + πt(vk ) +k∑

i=1

len(vi , vi+1)

= −πt(s) + πt(vk ) + len(P).

Wie bekommen wir dann gültige Potentiale?

Thomas Pajor – Algorithmen für RoutenplanungFolie 7 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 14: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Ein Beispiel - Euklidische Ebene

Knoten sind Punkte in der (euklidischen) Ebene

Kantenlängen sind euklidische Abstände(d.h. len(u, v) = ‖u − v‖2).

πt(v) = ‖v − t‖2

Thomas Pajor – Algorithmen für RoutenplanungFolie 8 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 15: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Ein Beispiel - Euklidische Ebene

Knoten sind Punkte in der (euklidischen) Ebene

Kantenlängen sind euklidische Abstände(d.h. len(u, v) = ‖u − v‖2).

πt(v) = ‖v − t‖2

π ist zulässiges Potential, denn

len(u, v)− πt(u) + πt(v) = ‖u − v‖2 − ‖u − t‖2 + ‖v − t‖2 ≥ 0

wegen Dreiecksungleichung (M-UGL)

‖u − v‖2 + ‖v − t‖2 ≥ ‖u − t‖2

Thomas Pajor – Algorithmen für RoutenplanungFolie 8 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 16: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Ein Beispiel - Daten mitgeographischer Herkunft

Idee:Knoten besitzen GeokoordinatenKanten besitzen FahrtgeschwindigkeitenKantenmetrik: Fahrtzeites gibt eine Maximalgeschwindigtkeit vmax in Gnimm ‖u − t‖/vmax als Potential

Ist gültiges Potential, denn

len(u, v)− πt(u) + πt(v) =‖u − v‖2

v(u,v)− ‖u − t‖2

vmax+‖v − t‖2

vmax≥ 0

Thomas Pajor – Algorithmen für RoutenplanungFolie 9 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 17: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Ein Beispiel - Daten mitgeographischer Herkunft

Idee:Knoten besitzen GeokoordinatenKanten besitzen FahrtgeschwindigkeitenKantenmetrik: Fahrtzeites gibt eine Maximalgeschwindigtkeit vmax in Gnimm ‖u − t‖/vmax als Potential

Probleme (bei Straßengraphen):Overhead zur Berechnung des Potentials ‖u − t‖/vmax großAbschätzung eher schlechtdeswegen praktisch keine Beschleunigung in Transportnetzen

Thomas Pajor – Algorithmen für RoutenplanungFolie 9 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 18: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Zulässige Potentiale – Eigenschaften

Intuition: πt(v) ist ein Schätzwert für dist(v , t)

Falls πt(t) = 0, so ist das Potential pt(v) eine untere Schrankefür dist(v , t).

Faustregel:Bessere untere Schranken ergeben kleinere Suchräume

Ist πt(v) = dist(v , t) für alle v ∈ V , so werden nur Knoten aufkürzesten s-t-Wegen abgearbeitet.

Thomas Pajor – Algorithmen für RoutenplanungFolie 10 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 19: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Kombinierbarkeit von Potentialen

Kombinierbarkeit von PotentialenSeien π1 und π2 zulässige Potentiale. Dann ist p = max{π1, π2}(komponentenweises Maximum) auch ein gültiges Potential.

Herleitung

len(u, v)− π1t (u) + π1

t (v) ≥ 0len(u, v)− π2

t (u) + π2t (v) ≥ 0

len(u, v)− π1t (u) + max{π1

t (v), π2t (v)} ≥ 0

len(u, v)− π2t (u) + max{π1

t (v), π2t (v)} ≥ 0

len(u, v)−max{π1t (u), π

2t (u)}+ max{π1

t (v), π2t (v)} ≥ 0

Thomas Pajor – Algorithmen für RoutenplanungFolie 11 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 20: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Kombinierbarkeit von Potentialen

Kombinierbarkeit von PotentialenSeien π1 und π2 zulässige Potentiale. Dann ist p = max{π1, π2}(komponentenweises Maximum) auch ein gültiges Potential.

Herleitung

len(u, v)− π1t (u) + π1

t (v) ≥ 0len(u, v)− π2

t (u) + π2t (v) ≥ 0

len(u, v)− π1t (u) + max{π1

t (v), π2t (v)} ≥ 0

len(u, v)− π2t (u) + max{π1

t (v), π2t (v)} ≥ 0

len(u, v)−max{π1t (u), π

2t (u)}+ max{π1

t (v), π2t (v)} ≥ 0

Thomas Pajor – Algorithmen für RoutenplanungFolie 11 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 21: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Die Dreiecksungleichung fürGraphen

Für alle Knoten s,u, t ∈ V gilt

dist(s,u) + dist(u, t) ≥ dist(s, t)

Thomas Pajor – Algorithmen für RoutenplanungFolie 12 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 22: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Der ALT-Algorithmus

Der ALT-Algorithmus ist A* mit einer speziellen vorberechnetenPotentialfunktion

ALT steht für A*, landmarks, triangle-inequality

VorberechnungDazu wird eine kleine Menge L (≈ 16) an Knoten (sog.Landmarken) ausgewählt

Für jede Landmarke l und jeden Knoten v ∈ V werden dieDistanzen d(v , l) und d(l , v) vorberechnet

Thomas Pajor – Algorithmen für RoutenplanungFolie 13 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 23: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Potentiale durch Landmarken

M-UGLdist(s,u) + dist(u, t) ≥ dist(s, t)

also gilt für alle Knoten u, t , l ∈ V

d(u, t) ≥ d(l , t)− d(l ,u)d(u, t) ≥ d(u, l)− d(t , l)

Benutze die Potentiale

π+t (u) = d(l , t)− d(l ,u)π−t (u) = d(u, l)− d(t , l)

Thomas Pajor – Algorithmen für RoutenplanungFolie 14 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 24: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Potentiale durch LandmarkenSatzDie Potentiale

πl+t (u) = d(l , t)− d(l ,u)

πl−t (u) = d(u, l)− d(t , l)

sind zulässig für jede Landmarke l ∈ L.

Beweis: Mit M-UGL für Graphen.

KorollarFür eine Menge L von Landmarken ist das Potential

πLt (u) = max

l∈L{πl+

t (u), πl−t (u)}

zulässig.

Thomas Pajor – Algorithmen für RoutenplanungFolie 15 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 25: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Eigenschaften Landmarken

Was sind gute Landmarken?πl1+

t (u) = d(u, l1)− d(t , l1), πl1+t (v) = d(v , l1)− d(t , l1)

also lenπ(u, v) = len(u, v)− d(u, l1) + d(v , l1) = 0gemeinsame Kanten (kürzester Weg und Weg zur Landmarke)haben reduzierte Kosten von 0

Also:“gute” Landmarken überdeckten viele Kanten für viele Paaretrifft unter anderem zu, wenn “hinter” vielen KnotenRand des Graphen

l1st

u v w

Thomas Pajor – Algorithmen für RoutenplanungFolie 16 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 26: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Beispiel gute Landmarken

Thomas Pajor – Algorithmen für RoutenplanungFolie 17 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 27: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Berechnung Landmarken

mehrere Ansätze:brute force: O(n|L| · n(m + n log n)︸ ︷︷ ︸

all pair shortest path

)

+ höchste Beschleunigung− zu lange Vorberechnung

wähle zufällig+ schnellste Vorberechnung− schlechte Beschleunigung

mehrere Heuristiken, die versuchen den Rand zu findenplanarfarthestavoidlokale Optimierung (maxCover)

Thomas Pajor – Algorithmen für RoutenplanungFolie 18 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 28: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Planar-Landmarken

Vorgehen:suche Mittelpunkt c desGraphenteile Graphen in k Teilein jedem Teil wähle Knoten mitmaximalen Abstand zu c alsLandmarke

Anmerkungen:(benötigt planare Einbettung)liefert erstaunlich schlechte Ergebnisse

Thomas Pajor – Algorithmen für RoutenplanungFolie 19 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 29: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Planar-Landmarken

Vorgehen:suche Mittelpunkt c desGraphenteile Graphen in k Teilein jedem Teil wähle Knoten mitmaximalen Abstand zu c alsLandmarke

Anmerkungen:(benötigt planare Einbettung)liefert erstaunlich schlechte Ergebnisse

Thomas Pajor – Algorithmen für RoutenplanungFolie 19 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 30: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Planar-Landmarken

Vorgehen:suche Mittelpunkt c desGraphenteile Graphen in k Teilein jedem Teil wähle Knoten mitmaximalen Abstand zu c alsLandmarke

Anmerkungen:(benötigt planare Einbettung)liefert erstaunlich schlechte Ergebnisse

Thomas Pajor – Algorithmen für RoutenplanungFolie 19 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 31: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Farthest-LandmarkenFarthest-Landmarks(G,k )

1 L← ∅2 while |L| < k do3 if |L| = 0 then DIJKSTRA(G,RANDOMNODE)4

5 else DIJKSTRA(G,L)6

7 u ← last settled node8 L← L ∪ {u}

Anmerkungen:Multi-Startknoten Dijkstraschlecht für kleine kerste Landmarke schlechtweitere Landmarken massiv abhängig von erster

Thomas Pajor – Algorithmen für RoutenplanungFolie 20 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 32: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Avoid-Landmarken

Vorgehen:berechne kürzeste Wege Baum Tr von einem Knoten rweight(u) = d(r ,u)− d(r ,u) (bzgl. L)size(u) Summe der Gewichte (weight) seiner Nachfolger in Tr

size(u) = 0 wenn mindestens ein Nachfolger in Tr eineLandmarke istw sei der Knoten mit maximaler Größe (size)traversiere Tr startend von w , folge immer dem Knoten mitmaximaler Größedas erreichte Blatt wird zu L hinzugefügt

Anmerkungen:Verfeinerung von Farthest Strategie

Thomas Pajor – Algorithmen für RoutenplanungFolie 21 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 33: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Optimierung von Landmarken

Problem:konstruktive Heuristikanfangs gewähle Landmarken eventuell suboptimal

Idee:lokale Optimierungberechne mehr landmarken als nötig (≈ 4k )wähle beste durch Optimierungsfunktion, z.B.

maximiere Anzahl überdeckter Kanten, d.h.len(u, v)− π(u) + π(v) = 0maximiere π(s) für 1 Mio. s-t Paare (simuliert Anfragen)

avoid + Funktion I wird maxCover genannt

Thomas Pajor – Algorithmen für RoutenplanungFolie 22 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 34: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Literatur

Bidirektionale Suche, A* und ALT:Andrew Goldberg, Georg Harrelson, SODA 2005Andrew Goldberg, Renato Werneck, ALENEX 2005

Anmerkung:wird auf der Homepage verlinkt

Thomas Pajor – Algorithmen für RoutenplanungFolie 23 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik

Page 35: Algorithmen für Routenplanung · wegen Dreiecksungleichung (M-UGL) ku vk 2 +kv tk 2 ku tk 2 Thomas Pajor – Algorithmen für Routenplanung Folie 8 – 24.04.2013 Institut für Theoretische

Nächste Termine

Montag, 29.04.2013

Thomas Pajor – Algorithmen für RoutenplanungFolie 24 – 24.04.2013

Institut für Theoretische InformatikLehrstuhl Algorithmik