Geometrische Planungsprobleme für kürzeste Wege
Klaus Reinhardt
Universität Halle
Betrachtete Bewegungsplanungsprobleme:
Bewegung einer Strecke bei punktförmigen Hindernissen
Das Rush Hour Puzzle verallgemeinert
Das Finden des Ufers bei unbekannter Orientierung
Hinweise:
Mathematische Idealisierung, Euklidische Ebene, Optimale Lösung, Worst-Case Komplexität
Methoden:
(Teil-)Diskretisierung des Problems auf kleine Mengen von Positionen
Spiegelung des Ziels
Das Feuerwehrproblem
Bewegungsplanung mit Hindernissen
Idee:
Virtuelle Hindernisse werden durch die Minkowsi-Summe der Hindernisse mit dem negativen bewegten Objekt gebildet, die Anzahl der Ecken ist polynomiell.
Der kürzeste Weg zum Ziel knickt nur an Ecken von (virtuellen) Hindernissen ab und verläuft ansonsten gerade (Gummibandargument).
Fazit:
Der kürzesete Weg eines nicht drehbaren Objekts (Polygon) in einer Ebene mit Hindernissenen (ebenfalls Polygone) ist effizient (d.h. in polynomieller Zeit) berechenbar.
Einfachster Fall eines drehbaren Objekts: Strecke der Länge
l
mit Drehpunkt an einem Ende.
Idee:
Wir betrachten die folgende 3 Arten von Positionen für die Strecke, an der die Bewegung des Drehpunktes abknicken kann:
1. Schnittpunkte zweier Kreise mit Radius
l
um zwei Hindernispunkte.
2. Positionen bei denen sich das andere Ende der Strecke an einem Hindernispunkt befindet und ein weiterer Hindernispunkt die Strecke berührt (zwei Möglichkeiten welche Seite).
3. Positionen direkt bei einem Hindernispunkt, dabei sind maximal eine lineare Anzahl von Schwenkbereichen zu unterscheiden.
Es gibt
O(n
2
)
solche Konfigurationen.
[Hald 2014]:
Der direkte Übergang für zwei solche Konfigurationen kann in polynomieller Zeit geprüft werden
Gleiches gilt für Übergänge mit einer Reflexion am Kreisbogen:
Fazit:
Der kürzesete Weg einer um einen Endpunkt drehbaren Strecke in der Ebene mit Punkt-Hindernissenen ist effizient berechenbar.
[Asano, Kirkpartik, Yap 2003]:
NP-vollständig
für Polygone als Hindernisse.
Problem offen für um einen inneren Punkt drehbare Strecke in der Ebene mit Punkt-Hindernissenen
Das Rushhour Puzzle:
Viele Applets in Internet zu finden:
Erfinder des Spiels: Nob Yoshigahara
>
Gegeben: Autos auf diskreten Gitterpositionen (Parkplatz):
Frage: Kann das rote Auto entfernt werden? Wieviele Züge?
Wie komplex ist das Problem allgemein?
[Flake, Baum 2001]:
PSPACE-vollständig
Fix Parameter Komplexität
Idee:
Man beschränkt sich auf Probleminstanzen, bei denen ein Parameter
k
klein ist.
Definition (Downey und Fellows):
Ein Problem ist in
FPT
(fixed parameter tractable), wenn Instanzen der Größe
n
in der Zeit
O(f(
k
)
p(n)
)
gelöst werden können für ein
Polynom
p
.
[Fernau, Hagerup, Nishimura, Ragde, Reinhardt]:
Das verallgemeinerte Rush Hour Problem ist in
FPT
mit Laufzeit
O((2
k
3
)
2
k
p(n)
)
für
k
= Anzahl der Autos und
2
O(
b
2
3
b
)
p(n)
für
b
= Anzahl der Bewegungen.
>
Verallgemeinerte Definition
Gegeben:
Autos als axenparallele Rechtecke
auf beliebigen Positionen in der Ebene (
R
2
)
mit beliebigen Längen und Breiten (in
R
)
mit einem Richungsvektor in
{(1,0),(0,1),(0,0)}
Gesucht:
Eine Folge von legalen Bewegungen, die ein (oder jedes) Auto auf eines seiner Zielpositionen bringt.
>
Problem:
Unendlich viele Positionen für ein Auto möglich.
Idee:
Identifiziere bestimmte Positionen für jedes Auto, die genügen um jede erfolgreiche Bewegungsequenz durch eine diskretisierte Bewegungsequenz zu ersetzen.
Erster Versuch:
Verlängere jede Bewegungen bis zum Erreichen der nächsten Spur oder eines Autos.
Dies führt zu exponentiell vielen Positionen
>
Besser:
Verlängere jede Bewegungen soweit bis ein Auto an die Spur eines anderen geschoben wird (
< k
Einzelbewegungen).
Die Position eines Autos hängt nun ab von
- dem "schiebenden" Auto (
<
k
Möglichkeiten)
,
- dem Auto, das den Stop verursachte (
<
k
Möglichkeiten)
und
- der Spur oder Zielposition, die den Stop verursachte (
<2
k
Mögl.) .
Damit sind
< 2
k
3
diskretisierte Positionen pro Auto zu berücksichtigen.
>
Dies ergibt
<(2
k
3
)
2
k
diskretisierte Konfigurationen und damit eine Laufzeit von
O((2
k
3
)
2
k
p(n)
)
.
Führen
t
Bewegungen zum Ziel, so auch
<
k
t
diskretisierte Bewegungen.
>
Parameter:
b
= Anzahl der Bewegungen.
Höchstens
3
b
Autos sind relevant.
Es sind
2
O(
b
2
)
diskretisierte Positionen pro Auto zu berücksichtigen.
Dies ergibt eine Laufzeit von
2
O(
b
2
3
b
)
p(n)
.
>
Weitere Verallgemeinerungen
Der Ansatz für den Parameter
b
= Anzahl der Bewegungen lässt sich auf folgende Verallgemeinerungen übertragen:
Autos als konvexe Polygone
Das Finden des Ufers bei unbekannter Orientierung
Gegeben: Ein Polygon
Gesucht: Die kürzeste Kurve (Länge
l
), die in keiner Orientierung vollständig in das Innere des Polygons passt.
D.h. der längste Wurm für den das Polygon ein komfortables Quartier ist hat Länge
l
.
[Chan, Golynski, Lopez-Oritz, Quimper 2003]:
Für Rechtecke ist
l<2,2782
Beim Parallelogramm
gibt es eine weiter Möglichkeit.
Beim Dreieck sind noch mehr Fälle zu unterscheiden: