Rheinische Friedrich-Wilhelms-Universität Bonn Institut für Informatik I Dr. Elmar Langetepe, Tom Kamphans Bewegungsplanung für Roboter, WS 2003/04, Blatt 4 Dienstag, 9.12.2003, 1630 s. t., Raum N1001 Aufgabe 1 Eine gitterförmige Umgebung im 3D ist dadurch gekennzeichnet, daß jede Zelle nicht 4 adjazente Zellen hat, sondern 6 (vorn, hinten, rechts, links, oben, unten). Überlege, wie sich CellExplore (bzw. Scan-STC) zur Erkundung einer 3D-Umgebung erweitern liesse. Welche Probleme können dabei auftreten? Aufgabe 2 In der Vorlesung wurden zwei Varianten der eingeschränkten Exploration von Graphen mit maximaler Tiefe r genannt: • Der Roboter ist an eine Leine (Stromkabel) der Länge = (1 + α)r gebunden. • Der Roboter muß nach 2(1 + β)r Schritten zum Startpunkt zurückkehren, z. B., weil sein Benzintank/Akku leer ist. (i) Wo ist der Unterschied zwischen beiden Varianten? (ii) In der Vorlesung wurde ein Algorithmus für die erste Variante vorgestellt. Zeige: Sei ein Algorithmus A für die erste Variante gegeben, dann läßt sich damit ein Algorithmus B für die zweite Variante mit β > α konstruieren. Die Anzahl der Schritte für B ist dabei nur um einen konstanten Faktor größer (der Faktor darf von α und β abhängen). Aufgabe 3 Der in der Vorlesung vorgestellte CFS–Algorithmus setzt voraus, daß die maximale Tiefe r des Graphen bekannt ist. Wie läßt sich das Problem lösen, wenn dies nicht bekannt ist? Wie ändert sich dann die Laufzeit? Tip: der vorgestellte Algorithmus darf mehrmals laufen... bitte wenden Postanschrift: Universität Bonn Institut für Informatik I Römerstr. 164, D-53117 Bonn Telefon: (02 28) 73–4386 Fax: (02 28) 73–4321 Email: [email protected] Aufgabe 4 Der Algorithmus ’CFS’ zur beschränkten Exploration eines Graphen hat (grob) folgende Schritte: • Bestimmung des nächsten zu bearbeitenden Teilbaumes Ti aus T • Pruning: Ein Teilbaum Tw mit Wurzel w wird von Ti abgeschnitten, wenn w die zur Wurzel si des Teilbaums Ti hat und Tw eine gewisse Mindesttiefe ( αr ) Distanz αr 4 2 hat. Übrig bleibt ein Restbaum mit Wurzel si . • Exploration des Restbaumes: • Gehe auf kürzestem Weg zur Wurzel des zu explorierenden Teilbaumes • Exploriere den Teilbaum mit DFS, dabei: • Exploriere Knoten vom Typ ’incomplete’ mit bDFS bDFS ist ein DFS, bei dem die Länge des Seils berücksichtigt wird. • Berechne einen Spannbaum der neu erkundeten Knoten • explorierte Teilbäume in T löschen und Teilbäume mit gemeinsamen Knoten zusammenfassen (’mergen’) Die Algorithmus und seine Analyse sind nur für Graphen formuliert, bei denen alle Kanten die Länge 1 haben (unit length). (i) Was ändert sich, wenn der Graph beliebige Kantenlängen enthält, genauer, was kann der Algorithmus bei unit length Graphen ausnutzen? (ii) Die Analyse basiert auf der Eigenschaft, daß die Tiefe jedes Teilbaumes nach dem Pruning ≥ αr ist. 4 Gilt diese Invariante auch immer, wenn die Kantenlängen beliebig sind? Wenn ja, begründe deine Antwort; wenn nein, wie kann man den Algorithmus modifizieren, so daß die Gültigkeit der Invariante sichergestellt wird? Aufgabe 5: Literaturaufgabe Die Exploration eines bekannten Gittergraphen ist NP–hart. Recherchiere, bis auf welchen Faktor sich eine Explorationstour polynomiell approximieren läßt. Welche Laufzeit hat der gefundene Approximationsalgorithmus? 2