„Lange Nacht der Wissenschaft“ Ein Klassiker

Werbung
„Lange Nacht der Wissenschaft“
Ein Klassiker
–
Die Mathematik der
Kürzesten Wege
Thomas Schlechte
09.06.2007
Thomas Schlechte
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB)
[email protected]
http://www.zib.de/schlechte
2
Überblick
Problem – Motivation
Graphentheorie und Euler
Der Algorithmus von Dijkstra
Grenzen des Modells
Ein Verkehrs-Paradoxon
Thomas Schlechte
3
Hier will ich hin !
Motivation
Die Frage ist:
„Wie komme ich
hin ?“
Hier bin ich !
Thomas Schlechte
4
Umsetzbar, Schnell und Richtig !
Ziel
Antwort !
Mögliche Antwort:
• Links in die Tiergartenstraße
• Rechts in die Hofjägerallee
• Kreisverkehr Rechts in die Altonaerstrasse
• Rechts in die Bachstrasse
Thomas Schlechte
5
Welchen Weg suchen wir ?
Ziele
•
•
•
•
schnellster
kürzester
günstigster
...
Thomas Schlechte
6
Überall im Alltag !
Anwendungen
Routenplaner
Navigationssysteme
Fahrplanauskunft
Thomas Schlechte
7
Aber wie funktioniert das ?
Lösung
Lokalisierung
GPS
Thomas Schlechte
Routing
8
Realität
tze,
ä
S
,
nen thmen
o
i
t
i
n
i
Def e, Algori
is
Bewe
Thomas Schlechte
Mathematik
Lösungen Evaluieren
Problem Modellieren
Abstraktion
9
Modellierung
Kreuzungen
Knoten
Strassen
Kanten
Fahrzeiten
Kantengewichten
t
2
5
1
5
3
2
1
1
3
1
6
4
Thomas Schlechte
1
4
2
2
1
3
1
s
10
Graphentheorie
Modellierung
Graph G =(V,A)
V = Menge aller Knoten {s,t,1,2,3,4,5,6}
A = Menge aller Kanten {(s,1),(s,2),(s,4)....}
c = Abbildung der Kosten (Fahrzeiten)
{c(s,1) -> 1, c(s,4) -> 3, .....}
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
11
Kürzeste Wege Problem
Modellierung
Gegeben: Graph G =(V,A), Kostenfunktion c(a)
Gesucht: kürzester Weg von
s
nach
(mit minimalen Kosten bzgl. c(a) )
t
5
2
3
6
4
Thomas Schlechte
1
s
t
12
Historisches
Leonhard Euler
(1707-1783)
Thomas Schlechte
Scans erstellt von Wladimir Velminski für seine
Doktotarbeit in Kunstgeschichte an der HU bei
Prof. Bredekamp (~2008)
13
Königsberg
Thomas Schlechte
14
Das Problem
a Grüne Brücke
b Köttelbrücke
c Krämerbrücke
d Schmiedebrücke
e Honigbrücke
g Holzbrücke
f Hohe Brücke
Thomas Schlechte
„Das Problem, das ziemlich bekannt sein soll, war folgendes. Zu
Königsberg in Preußen ist eine Insel A, genannt „der Kneiphof“,
und der Fluß, der sie umfließt, teilt sich in zwei Arme, wie dies aus
Fig. 1 ersichtlich ist. Über die Arme dieses Flußes führen sieben
Brücken a, b, c, d, e, f und g. Nun wurde gefragt, ob jemand
seinen Spaziergang so einrichten könne, daß er jede dieser
Brücken einmal und nicht mehr als einmal überschreite. Es wurde
mir gesagt, daß einige diese Möglichkeit verneinen, andere daran
zweifeln, daß aber niemand sie erhärte. Hieraus bildete ich mir
folgendes höchst allgemeine Problem: Wie auch die Gestalt des
Flußes und seine Verteilung in Arme, sowie die Anzahl der
Brücken ist, zu finden, ob es möglich sei, jede Brücke genau
einmal zu überschreiten oder nicht.“
15
Enumeration
Anzahl der Spaziergänge (im schlimmsten Fall)
Hier:
Allgemein:
Formel)
7!/2 = 7*6*5*4*3 = 2.520
n!/ 2 ≈ n n e − n 2π n / 2
(Stirling-
„Was das Königsberger Problem von den sieben Brücken betrifft,
so könnte man es lösen durch eine genaue Aufzählung aller
Gänge, die möglich sind; denn dann wüßte man, ob einer
derselben der Bedingung genügt oder keiner. Diese Lösungsart ist
aber wegen der großen Zahl von Kombinationen zu mühsam und
schwierig, und zudem könnte sie in andern Fragen, wo noch viel
mehr Brücken vorhanden sind, gar nicht mehr angewendet werden.
Würde die Untersuchung in der eben erwähnten Weise geführt, so
würde Vieles gefunden, wonach gar nicht gefragt war; dies ist
zweifellos der Grund, warum dieser Weg so beschwerlich wäre.
Darum habe ich diese Methode fallengelassen und eine andere
gesucht, die nur so weit reicht, daß sie erweist, ob ein solcher
Spaziergang gefunden werden kann oder nicht; denn ich
vermutete, daß eine solche Methode viel einfacher sein würde.“
Thomas Schlechte
16
Kombinatorische Explosion
Enumeration
n
Lineares
Quadratisches
Exponentielles
Wachstum (n)
Wachstum (n²)
Wachstum (n!)
1
2
3
...
5
Thomas Schlechte
6
6
36
720
10
10
100
362880
13
13
169
479001600
17
Das Problem
a Grüne Brücke
b Köttelbrücke
c Krämerbrücke
C
d Schmiedebrücke
e Honigbrücke
g Holzbrücke
f Hohe Brücke
A
B
Thomas Schlechte
D
18
Graphentheorie
C
Knoten
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
A
B
Thomas Schlechte
D
19
Graphentheorie
0
Knoten
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
0
0
Thomas Schlechte
0
20
Graphentheorie
1
Knoten
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
0
0
Thomas Schlechte
1
21
Graphentheorie
Knoten
1
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
1
0
Thomas Schlechte
2
22
Graphentheorie
Knoten
2
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
2
0
Thomas Schlechte
2
23
Graphentheorie
Knoten
2
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
3
1
Thomas Schlechte
2
24
Graphentheorie
Knoten
2
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
3
2
Thomas Schlechte
3
25
Graphentheorie
Knoten
3
Kanten
Grad 3
D
Satz: Die
Anzahl der
ungeraden
Knoten ist
gerade.
4
2
Thomas Schlechte
3
26
Graphentheorie
Satz:
Die Anzahl der
ungeraden
Knoten ist
gerade.
Beweis:
Kanten++:
uu → gg (-2)
ug → gu (±0)
gg → uu (+2)
3
5
3
Thomas Schlechte
3
27
Graphentheorie
Lösung:
Es gibt keinen
(Euler-) Weg, weil
3
mehr als 2
Knoten ungeraden
Grad haben.
5
3
Thomas Schlechte
3
28
Graphentheorie
Satz:
Einen Eulerweg gibt
3
es genau dann,
wenn G
zusammenhängend
ist und höchstens 2
5
Knoten ungeraden
Grad haben.
3
Thomas Schlechte
3
29
Graphentheorie
Satz:
Algorithmischer Beweis:
Einen Eulerweg gibt
es genau dann,
Starte in beliebigen
Knoten
wenn G
Laufe Kanten ab bis man
zurückkehrt
zusammenhängend
Lösche Kreis
ist und höchstens 2
Wiederhole das bis keine
Kanten mehr da sind
Knoten ungeraden
Grad haben.
Zerlegung in Kreise und
maximal einen Weg !
Thomas Schlechte
30
Graphentheorie
Satz:
Einen Eulerweg gibt
es genau dann,
wenn G
zusammenhängend
ist und höchstens 2
Knoten ungeraden
Grad haben.
Thomas Schlechte
31
Eulerweg
... ist einfach! Wir können leicht
entweder einen Eulerweg finden
oder beweisen, dass es keine gibt.
Thomas Schlechte
32
Beispiele
... ist einfach! Wir können leicht (linearer Zeit)
entweder eine Eulertour finden
oder beweisen, dass es keine gibt.
Thomas Schlechte
33
Kürzeste Wege Problem
Kürzeste Wege
Gegeben: Graph G =(V,A), Kostenfunktion c(a)
Gesucht: kürzester Weg von
(minimale Kosten)
s
nach
t
5
2
3
6
4
Thomas Schlechte
1
s
t
34
Dijkstra‘s - Idee
t
Edsgar W. Dijkstra
(1930-2002)
z
s
kürzester s-t-Weg
<=
kürzester s-z-Weg
Thomas Schlechte
+ kürzester z-t-Weg
35
Lösung
Knoten :
aktuelle kürzeste
Distanz :
s
1
2
3
4
5
6
t
0
?
?
?
?
?
?
?
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
36
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
?
?
?
?
?
?
?
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
37
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
1
2
?
3
?
?
?
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
38
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
1
2
2
3
?
?
?
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
39
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
1
2
2
3
3
?
?
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
40
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
1
2
2
3
3
?
7
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
41
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
1
2
2
3
3
7
4
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
42
Lösung
s
Annahme: Keine negativen Gewichte
s
1
2
3
4
5
6
t
0
1
2
2
3
3
7
4
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
43
Lösung
s
Annahme: Keine negativen Gewichte
s
s
1
s
3
4
5
s
1
2
3
4
5
6
t
0
1
2
2
3
3
7
4
- Knoten fertig
- aktueller Knoten
t
5
1
5
3
2
1
1
6
4
Thomas Schlechte
1
3
4
2
2
1
3
1
s
44
Grenzen
• Kapazitäten der Kanten
(Fahrbahnen)
• Fahrzeitfunktionen
(wachsend)
s
Thomas Schlechte
t
45
Erweiterung
Fahrzeitfunktionen in Abhängigkeit der
fahrenden Autos !
Fahrzeit
x
4
Anzahl der Autos
Je mehr Autos auf einer Strasse fahren,
umso grösser wird die Fahrzeit !
4
1
Thomas Schlechte
x
2
46
Nash-Gleichgewicht
Gleichgewichte
„Eine intuitive Definition“:
John F. Nash
(1928-)
Thomas Schlechte
Das Nash-Gleichgewicht beschreibt eine
Situation, in der sich keiner der Spieler mehr
aus seiner Froschperspektive heraus
verbessern kann.
47
Nash-Gleichgewicht
Gleichgewichte
John F. Nash
(1928-)
11
s
t
10 + x
Im Gleichgewicht hätten alle eine Fahrzeit von 11 !
Thomas Schlechte
48
Beispiel
10x
50 + x
s
t
1
50 + x
2
10x
Thomas Schlechte
49
Keiner kann sich verbessern !
Lösung
83
83
83
50 + x
30 10x
30
30
s
1
50 + x
53
53
53
t
2
83
10x 83
83
Im Gleichgewicht haben alle eine Fahrzeit von 83 !
Thomas Schlechte
50
Ausbau des Netzes durch neue Verbindung ?!?
Ausbau Szenario
Dietrich Braess
(1930-2002)
30
30
30
83
83
50 + x 83
10x
s
t
1
10 + x
50 + x
53
53
53
Thomas Schlechte
2
10x
83
83
83
51
Ausbau des Netzes durch neue Verbindung ?!?
Ausbau Szenario
10x
40
40
40
40
s
t
1
51
10 + x
50 + x
52
52
Thomas Schlechte
93
93
50 + x 93
2
10x
82
82
81
52
Keiner kann sich verbessern !
Neues Gleichgewicht
10x
40
40
40
40
s
92
50 + x 92
t
1
52
52
10 + x
50 + x
52
52
2
10x
92
92
92
92
Im neuen Gleichgewicht haben alle
eine Fahrzeit von 92 !
Thomas Schlechte
53
Braess-Paradoxon
Trotz Ausbau des Netzes haben sich alle um
9 Minuten verschlechtert ?!?
Thomas Schlechte
54
Die Mathematik der
kürzesten Wege
Vielen Dank für
die Aufmerksamkeit !
Thomas Schlechte
Herunterladen