Ich habe einen Satz von 2D-Daten, in denen ich die Zentren einer bestimmten Anzahl von Kreismittelpunkten ( ) finden möchte , die die Gesamtzahl der Punkte innerhalb eines bestimmten Abstands ( ) maximieren .
Ich habe zB 10.000 Datenpunkte und möchte die Zentren von Kreisen finden, die so viele Punkte wie möglich in einem Radius von erfassen . Die 5 Zentren und der Radius von 10 werden vorher angegeben und nicht aus den Daten abgeleitet.
Das Vorhandensein eines Datenpunkts innerhalb eines Kreises ist ein binärer Entweder-Oder-Satz. Wenn , gibt es keinen Wertunterschied zu einem Punkt, der 11 Einheiten entfernt ist, gegenüber 100 Einheiten, da beide> 10 sind. Ebenso gibt es keinen zusätzlichen Wert, wenn Sie sich innerhalb des Kreises befinden, nahe der Mitte oder nahe der Kante . Ein Datenpunkt befindet sich entweder in einem der Kreise oder außerhalb.
Gibt es einen guten Algorithmus, mit dem dieses Problem gelöst werden kann? Diese scheinen mit Clustering-Techniken in Zusammenhang zu stehen, aber anstatt die durchschnittliche Entfernung zu minimieren, ist die "Entfernungs" -Funktion 0, wenn der Punkt innerhalb von eines der Punkte liegt, und ansonsten 1.
Ich würde es vorziehen, einen Weg zu finden, dies in R zu tun, aber jeder Ansatz wäre willkommen.