Vorlesung 19.04 ohne Animation zum Ausdrucken

Werbung
Graphenexploration
Elmar Langetepe
University of Bonn
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
1
Wiederholung!
•
•
•
•
•
•
•
•
Einordnung: Aspekt Algorithmik, Geometrische Algorithmen
Unterscheidung: Online/Offline, Beispiel SWR!
Korrektheit, Performance, strukturelle Eigenschaften, Beweise!
Unterscheidung: Modelle, Beispiel Zellenmodell/Sichtmodell
Labyrinth, Labyrinth mit Gitterstruktur!
Shannon: Labyrinth mit Gitterstruktur! 5 × 5
Einfacher Algorithmus! Labels verwenden!
Korrektheit: Formaler Beweis!
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
2
Zusammenhang Graphen und Labyrinthe
• Effizientere Lösungen: Abstrahieren!
• Labyrinth als Graph auffassen!
Def. 1.2: Labyrinthgraph zum Labyrinth L: Graph, der für jede
Kreuzung und jede Sackgasse von L einen Knoten enthält. Zwei
Knoten sind durch eine Kante verbunden, falls es im Labyrinth eine
direkte Verbindung (d.h. ein Gang ohne Abzweigungen) zwischen
den Kreuzungen bzw. Sackgassen gibt.
N
L
B
N
G
O
M
C
G
H
H
B C F
I
D
A E
K L
A
D F
M
O
I
J
E
Labyrinth
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 K
J
Labyrinthgraph
SS ’10
3
Zusammenhang Graphen und Labyrinthe
• Labyrinth mit Gitterstruktur z.B. Shannon
• Spezieller Graph
Def. 1.3: Gittergraph zum Labyrinth mit Gitterstruktur: Graph, der
für jede Zelle einen Knoten enthält. Zwei Knoten sind durch eine
Kante verbunden, falls ihre Zellen im Labyrinth adjazent sind und
sich kein Hindernis zwischen ihnen befindet.
N
G
O
H
B C F
I
D
A E
K L
M
J
Labyrinth
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 Gittergraph
SS ’10
4
Zusammenhang Graphen und Labyrinthe
• Zu jedem Labyrinth existiert planarer Labyrinthgraph
• Zu jedem planaren Graphen existiert Labyrinth
• Gilt nicht für allg. Graphen z.B. K5
N
L
B
N
G
O
M
C
G
H
H
B C F
I
D
A E
K L
A
D F
M
O
I
J
E
Labyrinth
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 K
J
Labyrinthgraph
SS ’10
5
Effizienterer Algorithmus, Graphexploration
• Exploration eines Graphen, alle Kanten (und Knoten) besuchen!
• Kantenausgänge am Knoten sichtbar! Graph aufbauen zum Start
zurück
• Besuchte Kanten sichtbar am Knoten!
• Strategie: Online-DFS auf Kanten! Besucht jede Kante zweimal!
Theorem 1.4: Die vollständige Exploration eines unbekannten
Graphen braucht im Worst-Case in etwa doppelt so viele
Kantenbesuche wie die optimale Explorationstour. Doppelt so viele
reichen aber in jedem Fall aus.
Formaler Beweis! Zweiter Teil bereits klar! Untere Schranke durch
Worst-Case Gegenstrategie!
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
6
Graphexploration, Kanten, Gegenstrategie!
Gegenstrategie: 2 − δ mal schlechter als Optimum
Korridor, Agent hat von s aus l Knoten exploriert
l
s
Jetzt Verzweigungen einbauen bei s0
l
s0
s
l1
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
7
Graphexploration, Kanten, Gegenstrategie!
• Fall 1: Agent kehrt zu s zurück
l3
s0
s
l1
l2
• Fall 2: Agent erreicht das Ende des Startkorridors
l
s0
s
l1
l2
• In beiden Fällen wird jetzt die Szene geschlossen!
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
8
Gegenstrategie Analyse: 1. Fall!
•
•
•
•
•
•
Analyse Strategie SROB gegenüber SOPT
1. Fall: Agent kehrt zu s zurück!
Bislang |SROB| ≥ 2l1 + 2l2 + 2l3 + 2(l − l1) = 2(l + l2 + l3)
Jetzt noch mindestens 2(l + l2 + l3) + 6 dazu!
Optimal: |SOPT| = 2(l + l2 + l3) + 6
3
|SROB| ≥ (2 − δ)|SOPT| für l = δ
l3
s0
s
l1
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 l2
SS ’10
9
Gegenstrategie Analyse: 2. Fall!
•
•
•
•
•
•
2. Fall: Agent erreicht Ende, Ring schließen!
Bislang |SROB| ≥ 2l1 + l − l1 + 2l2 + l + 1
Jetzt noch mindestens l + 1 + 2(l2 + 1) + l − l1 dazu!
Summe: |SROB| = 4(l + l2) + 4
Optimal: |SOPT| = 2(l + 1 + l2 + 1) = 2(l + l2) + 4
3
|SROB| ≥ (2 − δ)|SOPT| für l = δ
l
s0
s
l1
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 l2
SS ’10
10
Bemerkungen!
•
•
•
•
•
Hier: Zurückkehren zum Ziel!
Ohne Rückkehr: Übungsaufgabe
Beispiele: Opt. Tour muss jede Kante zweimal besuchen.
Nur die Knoten besuchen! DFS auf Knoten? Übungsaufgabe
Modell für das Gütemaß
Def. 1.6: Π Problem und S Strategie, die jede Instanz P ∈ Π
korrekt löst. KS (P ) die Kosten, die S verursacht und KOPT(P ) die
Kosten einer optimalen Lösung von P . Dann heißt S c–kompetitiv,
falls es für alle P ∈ Π c, α > 0 gibt, so dass:
KS (P ) ≤ c · KOPT(P ) + α.
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
11
Weitere Bemerkungen!
Korollar 1.7: DFS zur (Kanten) Online-Exploration von Graphen ist
2-kompetitiv und es existiert keine Strategie die C-kompetitiv ist mit
C < 2.
•
•
•
•
•
DFS ist optimal
Additive Konstante: Anfangssituationen!
Z.B: Zielsuche und beliebig nah dran!
Das l auch dazu verwenden!
Echte untere Schranke nur mit beliebig großen Szenen/langen
Wegen
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
12
Exploration Gitterpolygone
• Formale Definition des Eingangsbeispiels, Umgebung und Modell
des Agenten
s
s
?
?
?
?
Def. 1.8:
• Zelle c Tupel (x, y) ∈ IIN2.
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
13
• Zellen c1 = (x1, y1), c2 = (x2, y2) sind adjazent,
:⇔ |x1 − x2| + |y1 − y2| = 1. Zu einer Zelle sind genau vier Zellen
adjazent.
• Zwei Zellen c1 = (x1, y1), c2 = (x2, y2), c1 6= c2 sind diagonal
adjazent, :⇔ |x1 − x2| ≤ 1 ∧ |y1 − y2| ≤ 1. Zu einer Zelle sind
genau die umliegenden acht Zellen diagonal adjazent.
• Weg π(s, t) von s nach t ist eine Folge von Zellen
s = c1, . . . , cn = t mit ci und ci+1 sind adjazent.
• Gitterpolygon P , Menge Weg-zusammenhängender Zellen, d.h.
∀ci, cj ∈ P : ∃ Weg π(ci, cj ), der in P verläuft.
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
14
Gitterpolygone
•
•
•
•
Wie Graphenexploration? Vergleich DFS, OPT!
Gitterpolygone: DFS auf Knoten, 2(C − 1) Besuche!
Untere Schranke 2? Ja, aber Gitterpolygone mit Löchern!
Einfache Gitterpolygone (ohne Löcher): Untere
Schranke/Strategie?
l
s
l00
Online Bewegungsplanung
l0
c Elmar Langetepe
Kapitel 1 19.04.2010 s
SS ’10
15
Einfache Gitterpolygone
• Gitterpolygone ohne innere Löcher
• Einfache Verbesserung gegenüber DFS
• Beispiel!
s
s
DFS
Online Bewegungsplanung
s
Verbesserung
c Elmar Langetepe
Kapitel 1 19.04.2010 Optimal
SS ’10
16
Einfache Gitterpolygone: Untere Schranke!
Theorem 1.9: Jede Strategie zur Erkundung eines einfachen
Gitterpolygons mit C Zellen braucht mindestens 76 C Schritte.
Beweis: Wie vorher, durch Gegenstrategie
Bestenfalls:
7
6
Online Bewegungsplanung
kompetitiv
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
17
Einfache Gitterpolygone: Untere Schranke!
s
(i)
s
s
(iii)
(ii)
s
s
(iv)
Online Bewegungsplanung
s
(v)
c Elmar Langetepe
Kapitel 1 19.04.2010 s
(vi)
(vii)
SS ’10
18
Einfache Gitterpolygone: Obere Schranke!
• Pures DFS keine gute Idee!!
• Hat irgendwie mit Flächigkeit zu tun!
C = 44
E = 90 = 2C + 2
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 E = 30 << 2C
SS ’10
19
Einfaches DFS: Formale Beschreibung!
DFS:
Wähle Richtung dir, so dass reverse(dir ) eine Hinderniszelle ist;
ExploreCell(dir );
ExploreCell(dir):
Linke-Hand-Regel DFS:
ExploreStep(ccw(dir ));
ExploreStep(dir );
ExploreStep(cw(dir ));
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
20
Einfaches DFS: Formale Beschreibung!
ExploreStep(dir):
if unexplored(dir ) then
move(dir );
ExploreCell(dir );
move(reverse(dir ));
end if
Online Bewegungsplanung
c Elmar Langetepe
Kapitel 1 19.04.2010 SS ’10
21
Einfache Gitterpolygone: DFS verbessern!
•
•
•
•
•
•
In flächigen einfachen Umgebungen besser als 2?
Nur die Knoten besuchen!
Abhängigkeit von Hinderniskanten der Umgebung?
Smart DFS!
Anzahl Schritte: C + 12 E − 3
4
3 kompetitiv
s
s
DFS
Online Bewegungsplanung
s
Verbesserung
c Elmar Langetepe
Kapitel 1 19.04.2010 Optimal
SS ’10
22
Herunterladen