Encontrar o maior conjunto de pontos de diâmetro limitado


16

Dados os pontos em e uma distância encontro o maior subconjunto desses pontos, de modo que a distância euclidiana de nenhum deles exceda .p1,,pnRdll

Qual é a complexidade desse problema?

No gráfico sobre os pontos que têm uma aresta sempre que a distância de dois pontos é no máximo , o problema é equivalente a encontrar uma camarilha máxima. O inverso pode não se sustentar, porque nem todo gráfico pode ser obtido dessa maneira (um exemplo é a estrela para ). Portanto, uma pergunta relacionada é: o que se sabe sobre essa classe de gráficos?lK1,7d=2


3
Observe que se é fixo, existe um algoritmo "trivial" no tempo P: como esse conjunto é encerrado em uma bola de raio l / 2 , e sem perda de generalidade, a bola é mínima (ou seja, toca em d + 1 pontos), apenas enumere sobre todos os subconjuntos. Você pode fazer melhor, mas do ponto de vista da complexidade, o problema é "fácil". dl/2d+1
Suresh Venkat

Não acho que seja verdade que o conjunto ideal esteja necessariamente envolvido em uma bola de raio l / 2. No plano, por exemplo, os três vértices de um triângulo equilátero de comprimento lateral l não são tão fechados.
David Eppstein

ah verdade. mas a enumeração deve funcionar independentemente.
Suresh Venkat

11
Você pode enumerar subconjuntos dentro de bolas, mas se você fizer o raio l / 2, não encontrará subconjuntos de baixo diâmetro e, se o raio for maior do que isso, não será óbvio como aparar os subconjuntos para que eles tem baixo diâmetro.
David Eppstein

por que não consigo enumerar subconjuntos, encontrar uma bola minúscula e calcular a cardinalidade interna de cada uma?
Suresh Venkat

Respostas:


16

Existe um algoritmo de tempo para a versão bidimensional desse problema em meu artigo com Jeff Erickson, " Iterado vizinhos mais próximos e encontrando polítopos mínimos ", Disc. Comp. Geom. 11: 321-350, 1994. Na verdade, o artigo analisa principalmente o problema duplo: dado o número de pontos no subconjunto, encontre o menor diâmetro possível; mas usa o problema que você descreve como uma sub-rotina. Pelo menos no momento em que o escrevemos, não sabíamos nada subexponencial para dimensões mais altas (embora, se o subconjunto tenha apenas k pontos, a parte exponencial possa ficar dependente de k em vez de nO(n3logn)kkn usando técnicas no mesmo artigo).


9

A aproximação é bem fácil se você estiver interessado no menor subconjunto com diâmetro no máximo . Um algoritmo de tempo linear usando grades agora é "padrão". A constante provavelmente seria algo como 2 O ( 1 / ε d ) .(1+ϵ)l2O(1/ϵd)

Há algum trabalho para encontrar a menor bola contendo k pontos, mas o problema do diâmetro é inerentemente mais difícil. Para entender por que, um bom ponto de partida é o artigo de Clarkson-Shor para calcular o diâmetro em 3d.

BTW, para dimensões altas, o problema da bola é exponencial no tempo aproximado em (ou algum ruído semelhante), usando conjuntos de cores (mas não na dimensão!). Eu duvido que essa abordagem possa ser estendida a esse problema, mas posso estar errado. O(1/ϵ2)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.