In N (~ 500) Dimensionen möchte ich die größte Kugel oder das Rechteck herausfinden, so dass die Kugel/das Rechteck keine bereits vorhandenen Punkte enthält. Die gesamte Menge von Punkten ist in einer achsgerechten rechteckigen Box (untere und obere Grenze der Werte) begrenzt.größte leere Kugel oder Rechteck
Gibt es eine bekannte polynomielle Zeitmethode/Code, mit der ich mein Problem lösen kann?
Die beiden bekannten Algorithmen: i) das größte leere Rechteck innerhalb eines Rechtecks (http://www.cs.princeton.edu/~chazelle/pubs/ComputLargestEmptyRectangle.pdf) und ii) das Finden des größten leeren Kreises innerhalb von Ortsbedingungen (http://www.cs.dartmouth.edu/reports/TR86-130.pdf) funktioniert nicht.
Obwohl die Komplexität der obigen Algorithmen N log N oder N^2 log N ist, wobei N die Anzahl der bereits vorhandenen Punkte ist, ist die Komplexität auch eine lineare Funktion der Anzahl der Ecken der konvexen Hülle oder der Begrenzung Polygon. Ein Rechteck in 500 Dimensionen wird 2^500 Ecken haben, was die obigen Techniken unmöglich macht.
Idealerweise suche ich nach einer Methode (sie muss nicht exakt sein), die in N (Anzahl der Punkte) und D (der Dimension) den größten Kreis/das größte Rechteck in Polynomialzeit bestimmen kann.
Vielen Dank.
Sie könnten einen Greedy-Algorithmus versuchen: wählen Sie einen zufälligen Punkt, finden Sie das größte machbare Rechteck, das es enthält, oder die größte mögliche Kugel zentriert darauf; für die Kugel können Sie dann versuchen, die Lösung mit einer lokalen Suche zu verbessern; mehrmals wiederholen, mit verschiedenen Punkten. Ich bin nicht davon überzeugt, dass es gut funktioniert in hoher Dimension, obwohl: auch wenn es ein großes Loch in Ihrer Wolke von Punkten ist, sein relatives Volumen verringert sich mit der Dimension ... –