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(n3log⁡n)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.