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érticesX⊆V(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 objetivo∑i,jd(i,j)yi,j, sujeito às restrições ∑xi≤k e xi≥yi,j e xj≥yi,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=xi∧xj 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.