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(n2) 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((2k3)2kp(n)) für k = Anzahl der Autos und
2O(b23b)p(n) für b = Anzahl der Bewegungen.

>



Verallgemeinerte Definition

Gegeben: Autos als axenparallele Rechtecke
  • auf beliebigen Positionen in der Ebene (R2)
  • 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 k3 diskretisierte Positionen pro Auto zu berücksichtigen.


    >



    Dies ergibt <(2k3)2k diskretisierte Konfigurationen und damit eine Laufzeit von O((2k3)2kp(n)).

    Führen t Bewegungen zum Ziel, so auch < kt diskretisierte Bewegungen.








    >




    Parameter:
    b = Anzahl der Bewegungen.

    Höchstens 3b Autos sind relevant.



    Es sind 2O(b2) diskretisierte Positionen pro Auto zu berücksichtigen.
    Dies ergibt eine Laufzeit von 2O(b23b)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: