Trovare la più grande serie di punti di diametro limitato


16

Dati i punti in R d e una distanza l trovano il sottoinsieme più grande di questi punti in modo tale che la distanza euclidea di non due di essi superi l .p1,,pnRdll

Qual è la complessità di questo problema?

Nel grafico sopra i punti che hanno un bordo ogni volta che la distanza di due punti è al massimo , il problema equivale a trovare una cricca massima. Il contrario potrebbe non essere valido, perché non tutti i grafici possono essere ottenuti in questo modo (un esempio è la stella K 1 , 7 per d = 2 ). Pertanto una domanda correlata è: cosa si sa di questa classe di grafici?lK1,7d=2


3
Nota che se è fisso, c'è un algoritmo P-time "banale": poiché tale set è racchiuso in una sfera di raggio l / 2 , e senza perdita di generalità la palla è minima (cioè tocca d + 1 punti), enumera solo tutti i sottoinsiemi. Puoi fare di meglio, ma dal punto di vista della complessità, il problema è "facile". dl/2d+1
Suresh Venkat,

Non credo sia vero che il set ottimale sia necessariamente racchiuso in una sfera di raggio l / 2. Nel piano, ad esempio, i tre vertici di un triangolo equilatero di lunghezza laterale l non sono così chiusi.
David Eppstein,

ah vero. ma l'enumerazione dovrebbe funzionare indipendentemente.
Suresh Venkat,

1
È possibile enumerare i sottoinsiemi all'interno delle sfere, ma se si crea il raggio l / 2, non si troveranno alcuni sottoinsiemi di diametro ridotto e se si rende il raggio più alto di quello, non è ovvio come tagliare i sottoinsiemi in modo che hanno un diametro basso.
David Eppstein,

perché non riesco a enumerare i sottoinsiemi, trovare una palla che racchiude min e calcolare la cardinalità all'interno di ciascuno?
Suresh Venkat,

Risposte:


16

C'è un algoritmo di tempo per la versione bidimensionale di questo problema nel mio articolo con Jeff Erickson, " Iterazione dei vicini più vicini e ricerca di polipropilene minimi ", Disc. Comp. Geom. 11: 321-350, 1994. In realtà il documento esamina principalmente il doppio problema: dato il numero di punti nel sottoinsieme, trova il diametro più piccolo possibile; ma utilizza il problema che descrivi come subroutine. Almeno al momento in cui l'abbiamo scritto, non sapevamo nulla di esponente per dimensioni superiori (anche se se il sottoinsieme ha solo k punti in esso, la parte esponenziale può essere resa dipendente da k anziché da nO(n3logn)kkn usando le tecniche nello stesso documento).


9

L'approssimazione è piuttosto semplice se si è interessati al sottoinsieme più piccolo con diametro al massimo . Un algoritmo di tempo lineare che utilizza le griglie è ormai "standard". La costante sarebbe probabilmente qualcosa come 2 O ( 1 / ϵ d ) .(1+ϵ)l2O(1/ϵd)

C'è qualche lavoro per trovare la palla più piccola contenente k punti, ma il problema del diametro è intrinsecamente più difficile. Per capire perché, un buon punto di partenza è la carta Clarkson-Shor per calcolare il diametro in 3d.

A proposito, per dimensioni elevate, il problema della palla è approssimabile nel tempo esponenziale in (o qualche rumore simile), usando i coreset (ma non nella dimensione!). Dubito che questo approccio possa essere esteso a questo problema, ma potrei sbagliarmi. O(1/ϵ2)

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.