Graphexploration Elmar Langetepe University of Bonn Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 1 Wiederholung: Eingeschränkte Graphexploration! 1. Roboter an einer Leine der Länge l = (1 + α)r (ein Stromkabel). 2. Roboter muss nach 2(1 + α)r Schritten zum Startpunkt zurückkehren (Akku nachzuladen). 3. Großer Graph nur bis zur Tiefe d erkunden. Später mit fortschreitender Tiefe. Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 2 Wiederholung: CFS Algorithmus! V. Spanning Tree, neuer Tree! VI. Fertig! Entfernen! T0 T1 III. DFS in Rest T2! entfernen! IV. bDFS starten II. Pruning: (2,4), neuer Tree Tw w s1 T2 s2 I. Auswahl next! s3 s T3 {T1, T2, T3} Online Bewegungsplanung {Tw , T 0, T3} c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 3 Wiederholung: Invarianten Lemma 1.25 Im CFS–Algorithmus gelten folgende Invarianten i) Jeder unvollständig explorierte Knoten gehört zu Baum aus T . ii) Es existiert stets ein unvollständig explorierter Knoten v ∈ V ∗ mit dG∗ (s, v) ≤ r, falls G∗ 6= G. iii) Für die Startknoten si gilt: dG∗ (s, si) ≤ r. iv) Restbaum von Ti wird mit DFS vollständig erkundet, alle Bäume 4|TR | . r ≤ T ∈ T haben Komp. |T | ≥ αr 4 α v) Alle Bäume T ∈ T sind disjunkt! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 4 Wiederholung Analyse Theorem 1.26/Korollar 1.27 CFS–Algorithmus mit bekannter Tiefe r ist (4 + α8 )–kompetitiv/hat Kosten Θ(|E| + |V |/α). über Teilbäume TR • • • • Teilbaum TR, Kosten K1(TR): Weg von s nach si in G∗ K2(TR): DFS, K3(TR): bDFS (Graph!) P K3(TR) ≤ 2 · |E| bDFS global TR P P • K2(TR) = 2 · |TR| ≤ 2 · |E|, DFS, disjunkt TR TR P P P 8 • K1(TR) ≤ 2r ≤ α |TR| ≤ α8 |E| TR Online Bewegungsplanung TR TR c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 5 Unbekannter Graph! • • • • • • • Annahme: Die Tiefe des Graphen sei unbekannt! Einfache nützliche Heuristik: Sukzessive r verdoppeln Solange bis r ausreicht! Starte mit r0 = 2, ≈ log2 r Aufrufe Also insgesamt O(log r|E|) Schritte Re-exploration mit bDFS vermeiden O(|E| + log r|V |) viele Schritte, Korollar 1.28 Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 6 Unbekannter Radius, verbesserter Ansatz! • • • • Nur Anpassungen im Pruning und Explore Schritt Tiefen und Leine nach Gegebenheit anpassen: dG∗ (s, si) als r0 8 Verfahren bleibt bei Kosten: 2 + α 2|V | + 2|E| αr , prune(Ti, si, αr 4 2 ) αd (s,s ) 9αd (s,s ) i G∗ ) • Ersetzen durch: prune(Ti, si, G∗4 i , 16 • explore( T , Ti, si, (1 + α)r ) • Ersetzen durch: explore( T , Ti, si, (1 + α)dG∗ (s, si) ) Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 7 dG∗ (s, si) als r0 in explore/prune • Startproblem: dG∗ (s, si) = 0, r0 = max(dG∗ (s, si), c) • Eigenschaften des Ansatzes Lemma 1.25 i) Jeder unvollständig explorierte Knoten gehört zu Baum aus T . ii) Es existiert stets ein unvollständig explorierter Knoten v ∈ V ∗ mit dG∗ (s, v) ≤ r, falls G∗ 6= G. iii) Für die Startknoten si gilt: dG∗ (s, si) ≤ r. iv) Restbaum von Ti wird mit DFS vollständig erkundet, alle Bäume T ∈ T haben Komp. |T | ≥ αr 4 . v) Alle Bäume T ∈ T sind disjunkt! • i), ii), iii) und v) gelten auch mit den neuen Aufrufen!! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 8 Eigenschaften mit angepassten explore/prune r0 = max(dG∗ (s, si), c) wobei dG∗ (s, si) minimal für Ti ∈ T Lemma 1.29: i) Jeder unvollständig explorierte Knoten gehört zu Baum aus T . ii) Es existiert stets ein unvollständig explorierter Knoten v ∈ V ∗ mit dG∗ (s, v) ≤ r, falls G∗ 6= G. iii) Für Startknoten si gilt: dG∗ (s, si) ≤ r. iv) Restbaum von Ti wird mit DFS vollständig erkundet, alle Bäume max(dG∗ (s,T ),c)α T ∈ T haben Komp. |T | ≥ . 4 v) Alle Bäume T ∈ T sind disjunkt! iv) ist noch zu zeigen! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 9 Beweis Invariante Lemma 1.29 iv) Restbaum von Ti wird mit DFS vollständig erkundet Abstand dG∗ (s, si) Besuche Knoten v in Ti 7dG∗ (s, si)α (1 + α)dG∗ (s, si) − dG∗ (s, si) − dTi (si, v) ≥ 16 da dTi (si, v) ≤ Online Bewegungsplanung 9dG∗ (s,si)α 16 wegen Pruning! c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 10 Beweis Invariante Lemma 1.29 iv) ∀T ∈ T : |T | ≥ max(dG∗ (s,T ),c)α 4 • Zu Beginn: bDFS ab dem Start, alles gesehen oder |T | ≥ (1 + α)c > αc 4 • Sonst Ti, mit si am nächsten zu s, Ann.: dG∗ (s, Ti) > c! d (s,T )α • Zeigen: |Tw | ≥ G∗ 4 w • Sei T Baum Ti nach Pruning, dG∗ (s, T ) = dG∗ (s, si) d (s,T )α • Pruning garantiert: |T | ≥ G∗ 4 9d (s,s )α d (s,s )α d (s,s )α • Tw abgeschn. Baum: |Tw | ≥ G∗16 i − G∗ 4 i = 5 G∗ 16 i • dG∗ (s, Tw ) ≤ dG∗ (s, si) + dG∗ (si, w) = (1 + α4 )dG∗ (s, si) < 5dG∗ (s,si) , α < 1! 4 d (s,T )α • Dann: |Tw | > G∗ 4 w Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 11 Beweis Invariante Lemma 1.29 iv) ∀T ∈ T : |T | ≥ max(dG∗ (s,T ),c)α 4 • Noch die neuen Spannbäume T 0 ab v im Restbaum! 9αdG∗ (s,si) • bDFS-Bäume ab v: dG∗ (si, v) ≤ 16 25dG∗ (s,si) • dG∗ (s, T 0) ≤ dG∗ (s, si) + dG∗ (si, v) < 16 • • • • 16dG∗ (s,T 0) 25 dG∗ (s, si) > T 0 unvollständig 9αdG∗ (s,si) dT (si, v) ≤ 16 7αdG∗ (s,si) Noch Restkabel 16 0 • |T | ≥ 7αdG∗ (s,si) 16 > 7αdG∗ (s,T 0) 25 > dG∗ (s,T 0)α 4 0 • Entweder alles gesehen oder Spannbaum |T | > • Alle T ∈ T betrachtet Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 dG∗ (s,T 0)α 4 SS ’10 12 Analyse Theorem 1.30 CFS–Algorithmus zur eingeschränkten Graphenexploration ohne bekannte Tiefe ist (4 + α8 )–kompetitiv für 0 < α < 1. Teilbaum TR • • • • • Teilbaum TR, Kosten K1(TR): Weg von s nach si in G∗ K2(TR): Exploration mit DFS K3(TR): bDFS von unvollst. expl. Knoten aus (Graph!) P K3(TR) ≤ 2 · |E|, da bDFS nur unexplorierte Kanten besucht TR P P • K2(TR) = 2 · |TR| ≤ 2 · |E|, die bekannten Kosten DFS TR Online Bewegungsplanung TR c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 13 Analyse Theorem 1.30 • Teilbaum TR, Kosten • K1(TR): Weg von s nach si in G∗ • K1(TR) = 2 · dG∗ (s, si) ≤ 8|TαR| d (s,T )α d (s,s )α • |TR| ≥ G∗ 4 R = G∗ 4 i , Lemma 1.29 iv) P P P 8 K1(TR) ≤ 2dG∗ (s, si) ≤ α |TR| ≤ α8 |E| • TR TR TR • 2 · |E| + 2 · |E| + α8 |E| gegenüber E Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 14 Korollar 1.31 CFS–Algorithmus zur eingeschränkten Graphenexploration ohne bekannte Tiefe benötigt Θ(|E| + |V |/α) Schritte für 0 < α < 1. Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 15 Notwendigkeit von Vorausschau α 3 2 Untere Schranke Ω(|E| ) für Offline Akku-Variante! • • • • 2r reichen gar nicht! Mind. 2r + 1! Mit 2r + o(r) nicht effizient! (Klein-o Notation!) Graph mit Pfad und Clique: von Linear! 3 Oberhalb Akkugröße n + f (n): Ω fn(n) Schritte! • Vermutung: r + o(r) reicht für Leine nicht! Offen!! S Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 16 Notwendigkeit von Vorausschau α Lemma 1.32 Die Akku-Variante benötigt mit einem Akku der Größe 3 2r + o(r) mindestens Ω(|E| 2 ) Schritte. Achtung: Kompetitiv kann das trotzdem sein! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 17 Offline Kosten? • • • • • • • Mechanical cost/Computational cost Spannbäume aufbauen Kürzeste Wege zu den Baumwurzeln Verschmelzen der Bäume DFS/bDFS Alles linear? Übung Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 18 Anderes Modell! • • • • • • • Bislang Knoten/Kanten wurden beschriftet Kann man als Landmarks verwenden Annahme: Das geht gar nicht! Wie unterscheiden? Knoten nicht unterscheidbar! Lokale Ordnung der Kanten am Knoten gegeben Muss nicht mit Einbettung übereinstimmen! Gegeben: G = (V, E, S), S cyclic orders! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 19 Anderes Modell! Lokale Ordnung! e7 v5 e7 v6 v5 e8 e5 e4 v1 e11 e5 e5 e6 e6 e11 e9 v4 v1 e4 e4 e3 e3 e2 e10 v2 e3 e1 e2 v3 v2 e10 e1 e4 e9 v3 e1 Von anderem Knoten kommend! Permutation! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 20 Das Mapping Problem! • Bestimme den Graphen (für Navigation!) • Bisherigen Graphen kann man sich merken! • Ohne Marker/Pebble geht es nicht! Online Bewegungsplanung c Elmar Langetepe Kapitel 1 10.05.2010 SS ’10 21