Casella allineata all'asse più piccola che contiene


11

Input: un set di punti in R 3 e un numero intero k n .nR3kn

Output: il riquadro di delimitazione allineato all'asse del volume più piccolo che contiene almeno di questi n punti.kn

Mi chiedo se sono noti algoritmi per questo problema. Il meglio che mi venne in mente fu il tempo , vagamente come segue: forza bruta su tutti i possibili limiti superiore e inferiore per due delle tre dimensioni; per ciascuna di queste possibilità O ( n 4 ) , possiamo risolvere la corrispondente versione 1- dimensionale del problema nel tempo O ( n ) usando un algoritmo a finestra scorrevole.O(n5)O(n4)1O(n)


Non possiamo calcolare una tabella di dimensioni per il numero di punti p con p . x < x , p . y < y , p . z < z ? Il calcolo del numero di punti e del volume può essere fatto con un numero costante di operazioni e possiamo usare la programmazione dinamica con una tabella di dimensioni k n 3 e dovremmo essere in grado di ottenere un algoritmo O ( k n 3 ) . n3pp.x<x,p.y<y,p.z<zkn3O(kn3)
Kaveh,

k=Θ(n)n5n6n5

(1ϵ)kkO(((n/k)/ϵ2logn)O(1))k=Θ(n)

Risposte:


11

nO(n3)

1/kn/kO((n/k)3)RO(k6logn)volte. Con alta probabilità, una delle caselle che hai provato è la casella desiderata.

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

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

Θ(n3)

O(n3log2n)


k=Θ(n)O(n3k3)O(n6)k
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.