Kleinste achsenausgerichtete Box, die

11

Eingabe: Eine Menge von Punkten in R 3 und eine ganze Zahl k n .nR3kn

Ausgabe: Der kleinste an der Volumenachse ausgerichtete Begrenzungsrahmen, der mindestens dieser n Punkte enthält.kn

Ich frage mich, ob Algorithmen für dieses Problem bekannt sind. Das Beste, was ich mir vorstellen konnte, war die -Zeit, lose wie folgt: Brute-Force über alle möglichen oberen und unteren Grenzen für zwei der drei Dimensionen; Für jede dieser O ( n 4 ) -Möglichkeiten können wir die entsprechende 1- dimensionale Version des Problems in O ( n ) -Zeit unter Verwendung eines Schiebefensteralgorithmus lösen .O(n5)O(n4)1O(n)

GMB
quelle
Können wir nicht eine Tabelle der Größe berechnen für die Anzahl der Punkte p mit p . x < x , p . y < y , p . z < z ? Die Berechnung der Anzahl der Punkte und des Volumens kann mit einer konstanten Anzahl von Operationen erfolgen, und wir können die dynamische Programmierung mit einer Tabelle der Größe k n 3 verwenden und sollten in der Lage sein, einen O ( k n 3 ) -Algorithmus zu erhalten. n3pp.x<x,p.y<y,p.z<zkn3O(kn3)
Kaveh
k=Θ(n)n5n6n5
(1ϵ)kkO(((n/k)/ϵ2logn)O(1))k=Θ(n)

Antworten:

11

nO(n3)

1/kn/kO((n/k)3)RO(k6logn)mal. Mit hoher Wahrscheinlichkeit ist eine der Boxen, die Sie ausprobiert haben, die gewünschte Box.

O((n/k)3k6polylogn)=O(n3k3logO(1)n)

1k6(11/k)k61/k6=pO((1/p)logn)

Θ(n3)

O(n3log2n)

Sariel Har-Peled
quelle
k=Θ(n)O(n3k3)O(n6)k