1 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Bewegungsplanung bei unvollständiger Information Ausweg aus einem Labyrinth Finden eines.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Knapsack & Bin Packing Sebastian Stober
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Prof. Dr. W. Conen 15. November 2004
Algorithmische Anwendung
CSCW-Seminar Escape the Maze C omputer S upported C ollaborative W ork Escape the Maze ist ein Lernszenario: Abstrakt Denken lernen Algorithmen entwickeln.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Informierte Suche.
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix –Tree –Konstruktion Ukkonen Algorithmus.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Online Competitive Algorithms
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Algorithmentheorie 7 – Bin Packing
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Geometrisches Divide and Conquer
Kapitel 5 Stetigkeit.
Kapitel 1 Das Schubfachprinzip
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Algorithmen und Komplexität
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Planung Planung Planung Planung Prof. Dr. Bernd Schmidt Planung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Chromatische Zahl.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Mehrkriterielle Optimierung mit Metaheuristiken
… oder wie finde ich den Weg
Lineare Funktionen und ihre Schaubilder, die Geraden
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Der A*-Algorithmus.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
 Präsentation transkript:

1 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Bewegungsplanung bei unvollständiger Information Ausweg aus einem Labyrinth Finden eines Punktes in unbekannter Umgebung Kompetitive Strategien –Beispiel: Online-Bin-Packing –Beispiel: Suche nach einer Tür in einer Wand

2 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Ausweg aus einem Labyrinth Gegeben sei ein punktförmiger Roboter, der nur über einen Tastsensor und einen Winkelzähler verfügt. Gesucht ist eine Strategie, mit der der Roboter aus jedem unbekannten Labyrinth herausfindet, wenn es überhaupt einen Ausweg gibt. Herausfinden = den Rand der konvexen Hülle des Labyrinths erreichen = (Entkommen = true)

3 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann 1. Versuch: An der Wand entlang Wähle Richtung beliebig; repeat folge Richtung until Wandkontakt; repeat folge der Wand until Entkommen Willkürliche Festlegung: Sobald der Roboter auf ein Hindernis trifft, dreht er sich rechts herum und läuft so an der Wand entlang, dass sich die Wand stets links von ihm befindet.

4 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann

5 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann

6 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann 2. Versuch: Möglichst in Anfangsrichtung Wähle Richtung beliebig; Winkelzähler = 0; repeat folge Richtung until Wandkontakt; repeat folge der Wand until Winkelzähler mod 2π = 0 until Entkommen Roboter läuft in Anfangsrichtung, wann immer seine Nase in diese Richtung zeigt! Winkelwerte: Linksdrehung: positiv Rechtsdrehung: negativ

7 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann

8 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann

9 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann 3. Versuch: Pledge Algorithmus Wähle Richtung beliebig; Winkelzähler = 0; repeat folge Richtung until Wandkontakt; repeat folge der Wand until Winkelzähler = 0 until Entkommen Vermeidet Endlosschleifen!

10 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Korrektheit des Pledge Algorithmus Satz: Der Pledge Algorithmus findet in jedem Labyrinth von jeder Startposition aus einen Weg ins Freie, von der überhaupt ein Ausweg existiert. Lemma 1: Der Winkelzähler W nimmt niemals einen positiven Wert an. Bew. 1: Anfangs ist W = 0, sobald ein Hindernis angetroffen wird, wird W negativ, sobald W = 0 wird, löst sich der Roboter vom Hindernis und wandert in Ausgangsrichtung bis zum nächsten Hindernis!

11 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Zu zeigen: Falls der Roboter nach dem Pledge Algorithmus keinen Weg ins Freie findet, gibt es keinen solchen Weg. Lemma 2: Angenommen, der Roboter findet nicht aus dem Labyrinth heraus. Dann besteht sein Weg bis auf ein endliches Anfangsstück aus einem geschlossenen Weg, der immer wieder durchlaufen wird. Sei P der geschlossene Weg, den der Roboter bei seinem vergeblichen Versuch, aus dem Labyrinth zu entkommen, immer wieder durchläuft. Lemma 3: Der Weg P kann sich nicht selbst kreuzen.

12 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann

13 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Bew. des Satzes: Fall 1: Roboter durchläuft P gegen Uhrzeigersinn. Fall 2: Roboter durchläuft P im Uhrzeigersinn.

14 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Finden eines Punktes in unbekannter Umgebung Aufgabe: Roboter soll Zielpunkt in einer unbekannten Umgebung finden Erweiterung der Fähigkeiten des Roboters: –Er kennt zu jedem Zeitpunkt seine eigenen (globalen) Koordinaten –Er kennt die (globalen Koordinaten des Zielpunktes. Strategie Bug: Roboter läuft solange auf Zielpunkt zu, bis er auf ein Hindernis trifft. Dies wird einmal umrundet. Dabei merkt sich der Roboter denjenigen Punkt auf dem Rand des Hindernisses, der dem Zielpunkt am nächsten ist, und kehrt nach der vollständigen Umrundung dorthin zurück. Von diesem Punkt aus wird der Weg in gleicher Weise fortgesetzt.

15 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann repeat laufe auf Zielpunkt zu until Wandkontakt; A = AktuellePosition; (*auf Hinderniswand*) D = AktuellePosition; (*zum Zielpunkt nächster bisher besuchter Punkt auf Hinderniswand*) repeat rücke AktuellePosition entlang der Wand vor; if AktuellePosition näher an Zielpunkt als D then D = AktuellePosition until AktuellePosition = A; gehe auf kürzestem Weg längs Hinderniswand zu D until ZielpunktErreicht

16 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann

17 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Eigenschaften der Strategie Bug Die Strategie Bug findet stets einen Weg vom Startpunkt s zum Zielpunkt t, wenn ein solcher Weg überhaupt existiert. (Beweis: vgl. R. Klein) Der von der Strategie Bug zurückgelegte Weg kann beliebig viel länger sein als der kürzeste Weg von s nach t.

18 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Kompetitive Strategien: Beispiel Bin-Packing Aufgabe: Gegeben eine Folge o 1, o 2, … von Objekten mit Größe 1. Verpacke die Objekte so in Kisten mit Größe 1, dass möglichst wenige Kisten gebraucht werden. Next-fit-Strategie: Packe das jeweils nächste Objekt in dieselbe Kiste wie das vorangehende, wenn es da noch hineinpasst, sonst mache eine neue Kiste auf. Die Next-fit-Strategie verbraucht höchstens doppelt so viele Kisten, wie bei optimaler Packung erforderlich wären.

19 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Kompetitivität einer Strategie Sei ein Problem und S eine Strategie, die jedes Problem P aus korrekt löst und dabei Kosten K S (P) verursacht. Strategie S heißt kompetitiv mit Faktor C, wenn es eine Konstante A gibt, sodass für jedes Beispiel P gilt: K S (P) C K opt (P) + A, mit K opt (P) = Kosten einer optimalen Lösung Next-fit ist kompetitiv mit Faktor 2.

20 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Suche nach einer Tür in einer Wand Roboter mit Tastsensor soll eine Tür in einer (beliebig langen) Wand finden, die sich in unbekanntem Abstand d und unbekannter Richtung vom Startpunkt befindet. 1. Versuch: Wechsele Suchrichtung und erhöhe Suchtiefe inkrementell um je 1.

21 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Verdopplungsstrategie 2. Versuch: Verdopple die Suchtiefe nach jedem Richtungswechsel.

22 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Eigenschaften der Verdopplungsstrategie Satz 1: Die Strategie der abwechselnden Verdopplung der Suchtiefe ist kompetitiv mit dem Faktor 9. Satz 2: Jede kompetitive Strategie zum Auffinden eines Punkts auf einer Geraden hat einen Faktor 9. Das Prinzip der exponentiellen Vergrößerung der Suchtiefe ist erweiterbar auf andere und mehr als zwei Suchräume. Satz 3: Diese Suchstrategie für m Halbgeraden ist kompetitiv mit dem Faktor (2 m m / (m -1) m-1 ) + 1 2em +1 Dabei ist e = 2.718… die Eulersche Zahl.