Saya memiliki satu set data 2-D di mana saya ingin menemukan pusat dari sejumlah pusat lingkaran ( ) yang memaksimalkan jumlah total poin dalam jarak yang ditentukan ( R ).
misalnya saya memiliki 10.000 titik data dan saya ingin menemukan pusat-pusat N = 5 lingkaran yang menangkap poin sebanyak mungkin dalam radius R = 10 . 5 pusat dan jari-jari 10 diberikan sebelumnya, bukan berasal dari data.
Kehadiran titik data dalam lingkaran adalah biner baik / atau proposisi. Jika , tidak ada perbedaan nilai ke titik 11 unit jauhnya vs 100 unit jauhnya, karena keduanya> 10. Demikian pula untuk berada di dalam lingkaran, tidak ada nilai tambahan untuk berada di dekat pusat vs dekat tepi . Titik data berada di salah satu lingkaran atau keluar.
Apakah ada algoritma yang baik yang dapat digunakan untuk menyelesaikan masalah ini? Ini tampaknya terkait dengan teknik pengelompokan, tetapi alih-alih meminimalkan jarak rata-rata, fungsi "jarak" adalah 0 jika titik berada dalam dari salah satu titik N , dan 1 sebaliknya.
Preferensi saya adalah menemukan cara untuk melakukan ini di R, tetapi pendekatan apa pun akan dihargai.