Ho una serie di dati 2D in cui voglio trovare i centri di un determinato numero di centri di cerchi ( ) che massimizzano il numero totale di punti entro una distanza specificata ( ).
ad es. ho 10.000 punti dati e voglio trovare i centri di cerchi che catturano il maggior numero possibile di punti entro un raggio di . I 5 centri e il raggio di 10 sono indicati in precedenza, non derivati dai dati.
La presenza di un punto dati all'interno di un cerchio è una / o proposizione binaria. Se , non vi è alcuna differenza di valore in un punto a 11 unità di distanza rispetto a 100 unità di distanza, poiché sono entrambi> 10. Analogamente per essere all'interno del cerchio, non vi è alcun valore aggiuntivo per essere vicino al centro rispetto al bordo . Un punto dati è in uno dei cerchi o fuori.
Esiste un buon algoritmo che può essere utilizzato per risolvere questo problema? Questi sembrano correlati alle tecniche di raggruppamento, ma piuttosto che ridurre al minimo la distanza media, la funzione "distanza" è 0 se il punto si trova all'interno di di uno qualsiasi degli punti e 1 altrimenti.
La mia preferenza sarebbe quella di trovare un modo per farlo in R, ma qualsiasi approccio sarebbe apprezzato.