A versão do problema de decisão desse problema de otimização é:
Dado um limite , você deseja saber se é possível encontrar um subconjunto de pontos, de modo que cada par de pontos no subconjunto esteja pelo menos unidades distantes.tnt
Obviamente, se você puder resolver o problema de decisão, podemos resolver seu problema de otimização (por pesquisa binária no limite ).t
Agora, esse problema de decisão é o problema de encontrar um conjunto independente em um gráfico euclidiano, onde os pontos têm uma aresta entre eles se estiverem à distância distante. Uma abordagem seria examinar algoritmos de aproximação padrão para conjuntos independentes.x , y≤ t
Melhor ainda, você pode procurar algoritmos para conjuntos independentes em gráficos de interseção geométrica . Considere um conjunto de discos, onde cada disco tem diâmetro e é centrado em um dos pontos no seu conjunto . Agora podemos formar um gráfico de interseção geométrica, onde existe um vértice para cada disco e uma aresta entre dois vértices se os discos correspondentes se cruzarem. O problema de encontrar um conjunto independente nesse tipo de gráfico foi estudado e existem algoritmos de aproximação para esse problema que você pode tentar usar.CtC
Se você deseja exatamente o ideal, em vez de uma aproximação, pode usar qualquer um dos "grandes martelos" padrão, como um solucionador SAT ou um solucionador ILP. Existe uma maneira simples de formular o problema de conjunto independente como uma instância SAT e, em seguida, você pode aplicar um solucionador SAT a ele para descobrir se existe um subconjunto de pontos que estão todos unidades de uma a outra.≥ tn≥ t