2012-05-24 17 views
5

Inspirado por este cómic http://xkcd.com/173/Algoritmo para encontrar una 'ruta de expansión mínima'?

Sé que hay muchos algoritmos para encontrar el árbol de expansión mínimo de un grafo ponderado, sin embargo he estado luchando para encontrar cualquiera que pueda encontrar la expansión mínima 'camino'.

Para el cómic, si ponderamos cada borde en función de la relación de cada pareja, entonces la disposición socialmente óptima sería la "trayectoria" mínima de expansión, es decir, una ruta que abarque todos los vértices. ¿Alguien puede ayudar?

+2

¿Es esto diferente de encontrar un mínimo [camino de Hamilton] (http://en.wikipedia.org/wiki/Hamiltonian_path)? –

+0

La observación correcta, por supuesto. Otro caso interesante donde los problemas relacionados difieren en complejidad: MST = fácil, MSP/HP = difícil. –

+0

Si puede hacer algunas suposiciones sobre las restricciones sociales, es posible que pueda resolver esto con un algoritmo huffman modificado. –

Respuesta

2

Encontrar una ruta Hamiltoniana óptima (también conocida como ruta óptima cubierta) es un problema difícil. (La determinación de si existe una ruta hamiltoniana es un problema NP-completo.) This scholarly article analiza, entre otras cosas, un algoritmo de cobertura de ruta óptima. Puede buscar estos términos en la web para buscar otros recursos. No sé de ningún código disponible.

Dicho sea de paso, this question (que es básicamente un duplicado suyo) explica claramente por qué el Problema de Vendedor Viajero no es el mejor lugar para comenzar.

Cuestiones relacionadas