Existe algum algoritmo (eficiente) para selecionar um subconjunto de pontos de um conjunto de pontos ( ), de modo que eles "cubram" a maior parte da área (em todos os subconjuntos possíveis de tamanho )?M < N M
Presumo que os pontos estejam no plano 2D.
O algoritmo ingênuo é simples, mas proibitivo em termos de complexidade de tempo:
for each subset of N points
sum distance between each pair of points in the subset
remember subset with the maximum sum
Estou procurando um método mais eficiente ou até aproximado.
Exemplo, aqui está um plano com alguns pontos aleatórios:
Para , espero selecionar pontos como estes:
Observe que os pontos selecionados (vermelho) estão espalhados por todo o plano.
Encontrei um artigo " SELECIONANDO EFICIENTEMENTE KEYPOINTS DISTRIBUÍDO ESPACIALMENTE PARA O RASTREIO VISUAL ", relacionado a esse problema. No entanto, isso pressupõe que os pontos são ponderados.