Top Banner
Der kürzeste Weg zum Ziel (die Mathematik im Routenplaner) Sven O. Krumke, 13. Oktober 2005 [email protected]
45

Routenplaner

Jun 06, 2015

Download

Documents

Lice

Eine sehr geile Präsentation zum Thema Routenplaner. Wie funktioniert er und was ist die Mathematik dahinter?
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Routenplaner

Der kürzeste Weg zum Ziel(die Mathematik im Routenplaner)

Sven O. Krumke, 13. Oktober 2005

[email protected]

Page 2: Routenplaner

Reiseplanung

Wie komme ich nach Halver?

Page 3: Routenplaner

Anforderungen

Wir wollen eine Antwort, die

• richtig

• schnell

• praktikabel

ist.

Page 4: Routenplaner

Überblick

• Kürzeste Wege

• Navigationsysteme

• Graphen und Netzwerke

• Algorithmen und Datenstrukturen

Page 5: Routenplaner

Kürzeste Wege I

Tell: Nennt mir den nächsten Weg nach Arth und KüssnachtFischer: Die offne Straße zieht sich über Steinen,

doch einen kürzern Weg und heimlichernkann Euch mein Knabe über Lowerz führen.

Page 6: Routenplaner

Kürzeste Wege II

Page 7: Routenplaner

Wege überhaupt

Theseus fand den Weg aus den Labyrinth dank eines Fadens von Ariadne.

Page 8: Routenplaner

Navigationssysteme

Page 9: Routenplaner

Navigation mit System

Lokalisation

Routenplanung

Page 10: Routenplaner

Lokalisation und Routenplanung

Lokalisation ist „einfach“ …

Bei der Routenplanung haben wir

• ca. 5 022 028 Kreuzungen

• ca. 6 169 904 Straßen

• ca. 10100 potentielle Reiserouten

Page 11: Routenplaner

Das Problem

Wie zum #!?*$!} können wir in1 Sekunde

einenkürzesten Weg

finden?

Vielleicht sollten wir mal die Mathematiker fragen?

Page 12: Routenplaner

Historisches

1736 suchten die Menschen in Königsberg einen Rundweg, der über alle 7 Brücken genau einmal führte.

Page 13: Routenplaner

Historisches

1736 suchten die Menschen in Königsberg einen Rundweg, der über alle 7 Brücken genau einmal führte.

Irgendwie geht das nicht!

Page 14: Routenplaner

Euler und die Graphentheorie

Leonhard Euler

D

C

B

A

Page 15: Routenplaner

Euler und die Graphentheorie

Leonhard Euler

D

C

B

A

Ein Graph besteht aus einer

• Menge von Ecken

• Menge von Kanten

Es gibt keinen Rundweg, weil alle Ecken ungeraden

Grad haben!

Satz von Euler:

Es gibt genau dann einen Rundweg, wenn G zsh. und alle Eckengrade gerade sind.

Page 16: Routenplaner

Der Satz von Euler

Satz von Euler:

Es gibt genau dann einen Rundweg, wenn G zsh. und alle Eckengrade gerade sind.

Zeige: Alle Eckengrade gerade es gibt Euler-Kreis

Betrachte längsten Kreis K in G

Fall 1: K ist eulersch

Page 17: Routenplaner

Der Satz von Euler

Satz von Euler:

Es gibt genau dann einen Rundweg, wenn G zsh. und alle Eckengrade gerade sind.

Zeige: Alle Eckengrade gerade es gibt Euler-Kreis

Betrachte längsten Kreis K in G

Fall 1: K ist eulersch

Fall 2: K ist nicht eulersch

Page 18: Routenplaner

Der Satz von Euler

Satz von Euler:

Es gibt genau dann einen Rundweg, wenn G zsh. und alle Eckengrade gerade sind.

Zeige: Alle Eckengrade gerade es gibt Euler-Kreis

Betrachte längsten Kreis K in G

Fall 1: K ist eulersch

Fall 2: K ist nicht eulersch

Neuer Kreis W

Es gibt einen längerenKreis als K!

Page 19: Routenplaner

Graphen

D

C

B

A D

C

B

A

ungerichteter Graph gerichteter Graph

In einem gerichteten Graphen G=(V,E) hat jede Kante (u,v)eine Richtung.

u v

Page 20: Routenplaner

Unser Problem in neuem Gewand

Gegeben: Gerichteter Graph G=(V,E)

• Start s, Ziel t

• Kantengewichte

Gesucht: ein kürzester s-t-Weg

A

B C

D E1

2

4

8

3

6

2s(start)

t(target)

Page 21: Routenplaner

Mr. Bruteforce

Hahahaha!

Mit meinem schnellen Computerprobiere ich einfach

alle Wege aus!

Ich weiss ja nicht …

Page 22: Routenplaner

Auf den Spuren des Zufalls

Wie viele s-t-Wege gibt es in einem zufälligen Graphen?

n Eckenfür jede der n(n-1) möglichen Kanten werfen wir eine Münze

?

?

?

??

?

Page 23: Routenplaner

Auf den Spuren des Zufalls

Wie viele s-t-Wege gibt es in einem zufälligen Graphen?

n Eckenfür jede der n(n-1) möglichen Kanten werfen wir eine Münze

Mögliche #Wege mit n-1 Kanten:

W‘keit, dass ein fester Weg existiert:

Erwartete Anzahl von Wegen:

Page 24: Routenplaner

Kopf gegen Kraft

Mit roher Kraft geht es wohl nicht!

Kürzester s-t-Weg = Kürzester s-z-Weg

+ Kürzester z-t-Weg

Page 25: Routenplaner

210

Kopf gegen Kraft (II)

• s ist von sich selbst 0 entfernt

• alle direkten Nachfolger von s sind 1 entfernt

• alle deren Nachfolger, die nicht 1 entfernt sind, sind 2 entfernt

• …

Page 26: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Gesucht: Kürzester Weg von A nach C

Page 27: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

∞ ∞

∞∞

„unendlich“

Page 28: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

∞ ∞

∞∞

Page 29: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

∞ ∞

∞∞

A

0

4

1

Page 30: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

4

1

7

4

Page 31: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

4

1

D

1

7

4

3

Page 32: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

1

D

1

7

4

3

Page 33: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

1

D

1

7

4

3

B

3

5

Page 34: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

1

D

1

5

4

3

B

3

Page 35: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

1

D

1

5

4

3

B

3

E

4

Page 36: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

1

D

1

5

4

3

B

3

E

4

Page 37: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

Permanent markierte Ecken

0

A

0

1

D

1

5

4

3

B

3

E

4

C

5

Page 38: Routenplaner

Der Algorithmus von Dijkstra

A

B C

D E1

2

4

8

3

6

2

0

∞1

7

4

3• In jeder Iteration wird die nicht permanent markierte Ecke mit geringstem „Schlüsselwert“permanent markiert

• für alle ihre Nachfolger wird der Schlüsselwert angepasst

Gesamtaufwand(n Ecken und m Kanten):

Page 39: Routenplaner

Laufzeit des Algorithmus von Dijkstra

2C

3B

5A

SchlüsselwertEcke

2

Page 40: Routenplaner

Rechenzeit

1.5 h100.0000

0,0036s

0,0025s

0,0016s

0,0009s

0,0004s

366 Jahrhunderte

60

37,7 Jahre50

12,7 Tage40

17,9 min30

1s20

n

Rechenzeit

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39

Das muss doch noch besser gehen!

Page 41: Routenplaner

Haufenweise Haufen

Das Problem liegt hier!

Ein Heap (Haufen) hilft:

2

5 3

9 9 7 7

10 14 11 9 14

Kleinstes Element

(=Minimum)

„Höhe“ log n

Minimum: Zeit 1Verringern:

4

5

n mal Minimum

9

???????

Page 42: Routenplaner

Laufzeit „reloaded“

…2C

3B

5A

SchlüsselwertEcke

Rechenzeit

0

200

400

600

800

1000

1200

1400

1600

1800

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39

Reihe2

Reihe1

Page 43: Routenplaner

Höhere Mathematik

Mit noch ausgeklügelterenAlgorithmen und Datenstrukturen kann man die Laufzeit weiter verringern.

Page 44: Routenplaner

Zusammenfassung

• Hinter dem Routenplaner steckt eine Menge Mathematik

• Denken ist besser als rohe Gewalt

• Netzwerkoptimierung:

Page 45: Routenplaner

Vielen Dank!

http://www.mathematik.uni-kl.de/~krumke