Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Online Competitive Algorithms Computational Geometry, WS 2006/07 Lecture 17 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.

Ähnliche Präsentationen


Präsentation zum Thema: "Online Competitive Algorithms Computational Geometry, WS 2006/07 Lecture 17 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik."—  Präsentation transkript:

1 Online Competitive Algorithms Computational Geometry, WS 2006/07 Lecture 17 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für Angewandte Wissenschaften Albert-Ludwigs-Universität Freiburg

2 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann2 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

3 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann3 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)

4 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann4 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.

5 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann5 Beispiellabyrinth 1

6 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann6 Beispiellabyrinth 2

7 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann7 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

8 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann8 Verhalten für Labyrinth 1

9 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann9 Verhalten für Labyrinth 2

10 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann10 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!

11 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann11 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!

12 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann12 Korrektheit des Pledge Algorithmus 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.

13 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann13 Unmöglichkeit von Kreuzungen

14 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann14 Korrektheit des Pledge Algorithmus Bew. des Satzes: Fall 1: Roboter durchläuft P gegen Uhrzeigersinn. Fall 2: Roboter durchläuft P im Uhrzeigersinn.

15 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann15 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.

16 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann16 Strategie Bug 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

17 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann17 Beispiel für Zielfindung

18 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann18 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.

19 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann19 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.

20 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann20 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.

21 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann21 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.

22 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann22 Verdopplungsstrategie 2. Versuch: Verdopple die Suchtiefe nach jedem Richtungswechsel.

23 Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann23 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.

24


Herunterladen ppt "Online Competitive Algorithms Computational Geometry, WS 2006/07 Lecture 17 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik."

Ähnliche Präsentationen


Google-Anzeigen