Maximizar la distancia entre k nodos en un gráfico


8

Tengo un gráfico no ponderado no dirigido y quiero seleccionar nodos de modo que estén en pares lo más lejos posible entre sí, en términos de distancia geodésica . En otras palabras, deben extenderse alrededor del gráfico como sea posible.GkG

Que ser la longitud de un camino más corto entre y en . Ahora, para un conjunto de vértices , defina d(u,v)uvGXV(G)

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

Deje que el problema CONJUNTO DISPERSO sea el problema que en la entrada G,k pide encontrar un conjunto de k vértices X maximizando d(X) .

¿Existe un algoritmo eficiente para resolver SET DISPERSO?


@DW El objetivo sería maximizar la distancia entre todos los nodos elegidos. Entonces, en su ejemplo, 5,5,5 sería mejor ya que sería 15. Otra forma de verlo es que necesito maximizar el número de nodos intermedios en el gráfico que uno tendría que atravesar para eventualmente visitar todos los nodos elegidos No estoy tan seguro sobre la agrupación, ¿tiene algún enfoque en particular en mente?
jbx

Esto es algo similar al problema del número geodésico. Un conjunto de vértices de un gráfico es geodésica si cada vértice de se encuentra en un camino más corto entre dos (no necesariamente) vértices distintos en . Dado un gráfico y un entero , el problema es decidir si tiene un conjunto geodésico de cardinalidad como máximo . El problema es NP-completo incluso para gráficos bipartitos cordales. XGGXGkGk
Juho

El objetivo puede ser reescrito para maximizar la distancia promedio.
Pål GD

Respuestas:


4

No sé si hay un algoritmo de tiempo polinómico (parece que podría ser NP-hard), pero aquí hay algunos enfoques algorítmicos plausibles que podría considerar, si necesita resolverlo en la práctica:

Heurística

Un algoritmo bien explorado es Furthest Point First (FPF). En cada iteración, elige un punto que está más alejado del conjunto de puntos seleccionados hasta ahora. Iterar veces. Como esta es una estrategia codiciosa, no hay razón para esperar que esto dé una respuesta óptima o incluso cercana a la óptima, y ​​fue diseñada para optimizar una función objetivo ligeramente diferente ... pero en algunos contextos ofrece una aproximación razonable, por lo que Podría valer la pena intentarlo.k

FPF sale de la literatura sobre agrupamiento basado en gráficos y se introdujo en el siguiente trabajo de investigación:

Teofilo F.González. Agrupación para minimizar la distancia máxima entre clústeres . Theoretical Computer Science, vol 38, pp.293-306, 1985.

Podría intentar explorar la literatura sobre agrupación basada en gráficos para ver si alguien ha estudiado su problema específico.

Algoritmos exactos

Si tiene este problema en la práctica y necesita una solución óptima exacta, puede intentar resolverlo utilizando un solucionador ILP.

Así es cómo. Introduzca las variables 0 o 1 , donde indica si se seleccionó el ésimo vértice, y las variables 0 o 1 , con el significado deseado de que solo si y . Ahora maximice la función objetivo , sujeto a las restricciones y y . Ahora resuelva este ILP con un solucionador ILP estándar. Como ILP es NP-hard, no hay garantía de que esto sea eficiente, pero podría funcionar en algunos casos problemáticos.xixiiyi,jyi,j=1xi=1xj=1i,jd(i,j)yi,jxikxiyi,jxjyi,j

Otro enfoque es utilizar MAX-SAT ponderado . En particular, la introducción de variables booleanas , donde es cierto si la se seleccionó ésimo vértice, y las variables . La fórmula es , donde debe ser verdadero (sus cláusulas tienen un peso para una muy grande ) y cada cláusula se da peso . Defina la fórmula como verdadera si a lo sumo de las son verdaderas (consulte aquí para obtener detalles sobre cómo hacerlo) y sixixiiyi,jϕi,jyi,jϕWWyi,jd(i,j)ϕkxiyi,j=xixj para todo . Ahora la solución a este problema de MAX-SAT ponderado es la solución al problema original, por lo que podría intentar lanzar un solucionador de MAX-SAT ponderado al problema. Se aplican las mismas advertencias.i,j


8

No, el problema es NP-completo.

Sea una instancia de CONJUNTO INDEPENDIENTE. Construir mediante la adición de un vértice universales a . La observación crucial es que la distancia entre dos vértices en es 1 en si y solo si son adyacentes en , y 2 en caso contrario.(G,k)GuGGGG

Ahora, la solución óptima de SET DISPERSO en la entrada es si y solo si tiene un conjunto independiente de tamaño .(G,k)2(k2)Gk

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.