Bewegungsplanung

Werbung
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
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
1
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)
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
2
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.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
3
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
4
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
5
2. Versuch: Möglichst in Anfangsrichtung
Wähle Richtung beliebig;
Winkelzähler = 0;
repeat
Anfangsrichtung,
wann immer seine Nase
repeat
folge Richtung
until Wandkontakt;
repeat
folge der Wand
until Winkelzähler mod 2π = 0
until Entkommen
Bewegungsplanung
Roboter läuft in
Computational Geometry
Prof. Dr. Th. Ottmann
in diese Richtung zeigt!
Winkelwerte:
Linksdrehung: positiv
Rechtsdrehung: negativ
6
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
7
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
8
3. Versuch: Pledge Algorithmus
Wähle Richtung beliebig;
Winkelzähler = 0;
repeat
repeat
folge Richtung
until Wandkontakt;
repeat
folge der Wand
until Winkelzähler = 0
until Entkommen
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
Vermeidet
Endlosschleifen!
9
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!
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
10
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.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
11
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
12
Bew. des Satzes:
Fall 1: Roboter durchläuft P gegen Uhrzeigersinn.
Fall 2: Roboter durchläuft P im Uhrzeigersinn.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
13
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.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
14
repeat
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
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
15
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
16
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.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
17
Kompetitive Strategien: Beispiel Bin-Packing
Aufgabe: Gegeben eine Folge o1, o2, … 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.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
18
Kompetitivität einer Strategie
Sei P ein Problem und S eine Strategie, die jedes
Problem P aus P korrekt löst und dabei Kosten KS(P)
verursacht.
Strategie S heißt kompetitiv mit Faktor C, wenn es eine
Konstante A gibt, sodass für jedes Beispiel P P gilt:
KS(P) ≤ C Kopt(P) + A, mit
Kopt(P) = Kosten einer optimalen Lösung
Next-fit ist kompetitiv mit Faktor 2.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
19
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.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
20
Verdopplungsstrategie
2. Versuch: Verdopple die Suchtiefe nach jedem
Richtungswechsel.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
21
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mm / (m -1)m-1) + 1 ≤ 2em +1
Dabei ist e = 2.718… die Eulersche Zahl.
Bewegungsplanung
Computational Geometry
Prof. Dr. Th. Ottmann
22
Herunterladen