El problema del camino más largo es NP-hard. La prueba (¿típica?) Se basa en una reducción del problema del camino hamiltoniano (que es NP completo). Tenga en cuenta que aquí la ruta se considera simple (nodo). Es decir, ningún vértice puede ocurrir más de una vez en el camino. Obviamente, también es simple de borde (no ocurrirá ningún borde más de una vez en el camino).
Entonces, ¿qué pasa si abandonamos el requisito de encontrar una ruta simple (nodo) y nos limitamos a encontrar una ruta simple (borde)? A primera vista, dado que encontrar un camino euleriano es mucho más fácil que encontrar un camino hamiltoniano, uno podría tener la esperanza de que encontrar el camino más largo sería más fácil que encontrar el camino más largo. Sin embargo, no puedo encontrar ninguna referencia que lo pruebe, y mucho menos una que proporcione un algoritmo.
Tenga en cuenta que estoy al tanto del argumento hecho aquí: /programming/8368547/how-to-find-the-longest-heaviest-trail-in-an-undirected-weighted-graph Sin embargo, el argumento parece defectuoso en su forma actual, ya que básicamente muestra que podría resolver el caso simple de borde resolviendo el caso simple de nodo en un gráfico diferente (por lo que la reducción es al revés). No está claro que la reducción pueda cambiarse fácilmente para que funcione de otra manera también. (Aún así, muestra que al menos el problema de los senderos más largos no es más difícil que el problema de los caminos más largos).
Entonces, ¿hay algún resultado conocido para encontrar senderos más largos (caminos de borde simple)? Complejidad (clase)? Algoritmo (eficiente)?