W wymiarach N (~ 500), chciałbym znaleźć największą kulę lub prostokąt, tak aby sfera/prostokąt nie zawierał już istniejących punktów. Cały zestaw punktów jest ograniczony prostopadłościennym prostokątem (dolna i górna granica wartości).Największa pusta kula lub prostokąt
Czy istnieje znana metoda/kod czasu wielomianowego, z którego mogę skorzystać w celu rozwiązania mojego problemu?
Dwa dobrze znane algorytmy: i) największy pusty prostokąt w obrębie prostokąta (http://www.cs.princeton.edu/~chazelle/pubs/ComputLargestEmptyRectangle.pdf) oraz ii) znalezienie największego pustego okręgu w obrębie ograniczeń lokalizacji (http://www.cs.dartmouth.edu/reports/TR86-130.pdf) nie działa.
Chociaż złożoność powyższych algorytmów to N log N lub N^2 log N, gdzie N jest liczbą już istniejących punktów, złożoność jest również funkcją liniową liczby wierzchołków wypukłego kadłuba lub obwiedni wielokąt. Prostokąt w 500 wymiarach będzie miał 2^500 narożników, co uniemożliwia zastosowanie powyższych technik.
Idealnie, szukam metody (nie musi to być dokładne), która może określić największy cykl/prostokąt w czasie wielomianu w N (liczba punktów) i D (wymiar).
Dziękuję.
Możesz wypróbować chciwy algorytm: wybierz losowo, znajdź największy możliwy prostokąt zawierający go, lub największą wykonalną sferę, na środku; dla kuli, możesz spróbować poprawić rozwiązanie za pomocą lokalnego wyszukiwania; powtórz kilka razy, z różnymi punktami. Nie jestem przekonany, że będzie dobrze działać w dużym wymiarze, chociaż: , nawet jeśli istnieje duża dziura w chmurze punktów, jej względna objętość zmniejsza się wraz z wymiarem ... –