Maximizar a distância entre k nós em um gráfico


8

Eu tenho um gráfico não ponderado não direcionado G e eu quero selecionar k nós de Gde modo que eles estejam emparelhados o mais longe possível um do outro, em termos de distância geodésica . Em outras palavras, eles devem ser espalhados pelo gráfico quanto possível.

Deixei d(u,v) ser o comprimento de um caminho mais curto entre u e v no G. Agora, para um conjunto de vérticesXV(G), definir

d(X)={u,v}Xd(u,v).

Deixe o problema SET DISPERSO ser o problema que na entrada G,k pede para encontrar um conjunto de k vértices X maximizando d(X).

Existe um algoritmo eficiente para resolver o SCATTERED SET?


@DW O objetivo seria maximizar a distância entre todos os nós escolhidos. Portanto, no seu exemplo, 5,5,5 seria melhor, pois seria 15. Outra maneira de ver isso é que eu preciso maximizar o número de nós intermediários no gráfico que um seria necessário percorrer para, eventualmente, visitar todas as nós escolhidos. Não tem tanta certeza sobre cluster, você tem alguma abordagem em mente?
JBX

Isso é um pouco semelhante ao problema do número geodésico. Um conjunto de vérticesX de um gráfico Gé geodésico se todos os vértices deG encontra-se no caminho mais curto entre dois vértices distintos (não necessariamente) X. Dado um gráficoG e um inteiro k, o problema é decidir se G tem um conjunto geodésico de cardinalidade no máximo k. O problema é NP-completo, mesmo para gráficos bipartidos de acordes.
Juho

O objetivo pode ser reescrito para maximizar a distância média.
Pål GD

Respostas:


4

Não sei se existe um algoritmo de tempo polinomial (parece difícil para NP), mas aqui estão algumas abordagens algorítmicas plausíveis que você pode considerar, se precisar resolvê-lo na prática:

Heurística

Um algoritmo bem explorado é o Furthest Point First (FPF). A cada iteração, ele escolhe um ponto mais distante do conjunto de pontos selecionados até o momento. Iterarkvezes. Como esta é uma estratégia gananciosa, não há razão para esperar que ela dê uma resposta ótima ou até quase ótima, e foi projetada para otimizar uma função objetiva um pouco diferente ... mas, em alguns contextos, fornece uma aproximação razoável, portanto pode valer a pena tentar.

O FPF sai da literatura sobre clustering baseado em gráficos e foi introduzido no seguinte trabalho de pesquisa:

Teofilo F. Gonzalez. Clustering para minimizar a distância máxima do intercluster . Teorical Computer Science, vol. 38, pp.293-306, 1985.

Você pode tentar explorar a literatura sobre armazenamento em cluster baseado em gráficos para ver se alguém estudou seu problema específico.

Algoritmos exatos

Se você tem esse problema na prática e precisa de uma solução ideal exata, tente resolvê-lo usando um solucionador de ILP.

Aqui está como. Introduzir variáveis ​​0 ou 1xi, Onde xi indica se o io vértice foi selecionado e as variáveis ​​0 ou 1 yi,j, com o significado pretendido de que yi,j=1 somente se xi=1 e xj=1. Agora maximize a função objetivoi,jd(i,j)yi,j, sujeito às restrições xik e xiyi,j e xjyi,j. Agora resolva esse ILP com um solucionador de ILP pronto para uso. Como o ILP é difícil para o NP, não há garantia de que isso será eficiente, mas pode funcionar em algumas instâncias de problemas.

Outra abordagem é usar o MAX-SAT ponderado . Em particular, introduza variáveis ​​booleanasxi, Onde xi é verdade se o io vértice foi selecionado e as variáveis yi,j. A fórmula éϕi,jyi,j, Onde ϕ deve ser verdadeiro (suas cláusulas têm peso W para alguns muito grandes W) e cada cláusula yi,j recebe peso d(i,j). Defina a fórmulaϕ para ser verdade se no máximo k do xisão verdadeiras (veja aqui para obter detalhes sobre como fazer isso) e seyi,j=xixj para todos i,j. Agora, a solução para esse problema MAX-SAT ponderado é a solução para o problema original, para que você possa tentar lançar um solucionador MAX-SAT ponderado no problema. As mesmas advertências se aplicam.


8

Não, o problema é NP-completo.

Deixei (G,k)ser uma instância do INDEPENDENT SET. ConstruirG adicionando um vértice universal u para G. A observação crucial é que a distância entre dois vértices naG é 1 em G se e somente se eles são adjacentes em Ge 2 caso contrário.

Agora, a solução ideal do SCATTERED SET na entrada (G,k) é 2(k2)se e somente se tiver um conjunto independente de tamanho .Gk

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.