Komplexität der Berechnung kürzester Wege in der Ebene mit polygonalen Hindernissen


22

Angenommen, wir erhalten mehrere disjunkte einfache Polygone in der Ebene und zwei Punkte und außerhalb jedes Polygons. Das Problem des euklidischen kürzesten Pfades besteht darin, den euklidischen kürzesten Pfad von nach zu berechnen, der das Innere eines Polygons nicht schneidet. Nehmen wir der Vollständigkeit halber an, dass die Koordinaten von und und die Koordinaten jedes Polygonknotens ganze Zahlen sind.ss t s ttstst

Kann dieses Problem in polynomialer Zeit gelöst werden?

Die meisten rechnergestützten Geometer würden natürlich sofort Ja sagen: John Hershberger und Subhash Suri haben einen Algorithmus beschrieben, der euklidische kürzeste Pfade in berechnet , und diese Zeitgrenze ist im algebraischen rechnergestützten Baummodell optimal. Leider scheint der Algorithmus von Hershberger und Suri (und fast alle vor und nach ihm verwandten Algorithmen) eine exakte reelle Arithmetik im folgenden Sinne zu erfordern .O(nLogn)

Nennen Sie einen polygonalen Pfad gültig, wenn alle inneren Eckpunkte Hinderniseckpunkte sind. Jeder euklidische kürzeste Weg ist gültig. Die Länge eines gültigen Pfades ist die Summe der Quadratwurzeln von ganzen Zahlen. Der Vergleich der Längen zweier gültiger Pfade erfordert daher den Vergleich zweier Summen von Quadratwurzeln, was wir in der Polynomzeit nicht wissen .

Darüber hinaus erscheint es durchaus plausibel, dass eine beliebige Instanz des Problems der Quadratwurzelsumme auf ein äquivalentes euklidisches Problem des kürzesten Pfades reduziert werden könnte.

Also: Gibt es einen Polynom-Zeit-Algorithmus, um die kürzesten euklidischen Pfade zu berechnen? Oder ist das Problem NP-schwer? Oder die Summe der Quadratwurzeln ? Oder etwas anderes?

Ein paar Anmerkungen:

  • Kürzeste Pfade innerhalb (oder außerhalb) eines Polygons können in Zeit ohne merkwürdige numerische Probleme unter Verwendung des Standard-Trichteralgorithmus berechnet werden, zumindest wenn eine Triangulation des Polygons gegeben ist.O(n)

  • In der Praxis reicht die Gleitkomma-Arithmetik aus, um Pfade zu berechnen, die bis zur Gleitkomma-Genauigkeit am kürzesten sind. Mich interessiert nur die Komplexität des genauen Problems.

  • John Canny und John Reif haben bewiesen, dass das entsprechende Problem im 3-Raum NP-schwer ist (moralisch, weil es eine exponentielle Anzahl von kürzesten Wegen geben kann). Joonsoo Choi, Jürgen Sellen und Chee-Keng Yap beschrieben ein polynomialzeitliches Approximationsschema.

  • Simon Kahan und Jack Snoeyink betrachteten ähnliche Probleme für das verwandte Problem der Pfade mit minimalen Verbindungen in einem einfachen Polygon.


4
Es wäre schön, wenn es eine Liste von Problemen mit der Summe der Quadratwurzeln gäbe.
Suresh Venkat

4
Das klingt nach einer perfekten Frage für die Theorie. Warum fragst du es nicht?
Peter Shor

Antworten:


4

Vielleicht vermisse ich etwas, aber wenn wir den "einfachen" Fall betrachten, in dem alle Hindernisse Punkte sind, dann haben wir das Problem, den kürzesten Weg zwischen zwei Eckpunkten in einem ebenen Graphen zu berechnen, der, wenn ich mich nicht irre, bekannt ist als Quadratwurzelsummen-hart.

PS. Ich wollte einen Kommentar hinzufügen und keine Antwort, aber ich kann nicht finden, wie. Ich entschuldige mich dafür. Können die Administratoren mir bitte dabei helfen?


Sie benötigen 50 Ruf, um einen Kommentar in stackexchange zu veröffentlichen. Weitere Details hier: cstheory.stackexchange.com/privileges/comment . Da Sie einige Informationen zur Verfügung stellen, ist es in Ordnung, diese als Antwort zu veröffentlichen.
Chazisop

1
In dem "einfachen" Fall, in dem die Hindernisse Punkte sind, ist der euklidische kürzeste Pfad (oder formal der Infimalpfad) immer ein gerades Liniensegment und die Berechnung ist trivial. Aber selbst für kürzeste Wege in ebenen Graphen mit euklidischen Kantenlängen haben Sie eine Referenz für die Härte der Wurzelsumme? (Bei vierdimensionalen Diagrammen ist eine Reduzierung nicht schwer zu erkennen, da jede Ganzzahl die Summe von höchstens vier perfekten Quadraten ist.)
Jeffε

3
4k+1

Du hast recht. Der "einfache" Fall ist eher ein trivialer.
Elias
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.