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