У меня есть набор двумерных данных, где я хочу найти центры с указанным количеством центров окружностей ( ), которые максимизируют общее количество точек на указанном расстоянии ( ).R
например, у меня есть 10000 точек данных и я хочу найти центры из окружностей, которые захватывают как можно больше точек в радиусе . 5 центров и радиус 10 приведены заранее, а не по данным.N = 5 R = 10
Наличие точки данных внутри круга является двоичным или / или суждением. Если , нет никакой разницы в значении для точки на расстоянии 11 единиц от 100 единиц на расстоянии, так как они оба> 10. Аналогично для того, чтобы быть в пределах круга, нет никакого дополнительного значения для того, чтобы быть около центра против края , Точка данных находится либо в одном из кругов, либо вне.
Есть ли хороший алгоритм, который можно использовать для решения этой проблемы? Похоже, это относится к методам кластеризации, но вместо минимизации среднего расстояния функция «расстояния» равна 0, если точка находится в пределах любой из точек, и 1 - в противном случае.N
Я предпочел бы найти способ сделать это в R, но любой подход был бы оценен.