O problema do caminho mais longo é NP-hard. A prova (típica?) Baseia-se na redução do problema do caminho hamiltoniano (que é NP-completo). Observe que aqui o caminho é considerado simples (nó). Ou seja, nenhum vértice pode ocorrer mais de uma vez no caminho. Obviamente, também é simples de borda (nenhuma borda ocorrerá mais de uma vez no caminho).
E se abandonarmos o requisito de encontrar um caminho simples (nó) e continuarmos a encontrar um caminho simples (borda). À primeira vista, uma vez que encontrar uma trilha euleriana é muito mais fácil do que encontrar um caminho hamiltoniano, pode-se ter alguma esperança de que encontrar o caminho mais longo seja mais fácil do que encontrar o caminho mais longo. No entanto, não consigo encontrar nenhuma referência que comprove isso, muito menos uma que forneça um algoritmo.
Observe que estou ciente do argumento aqui: /programming/8368547/how-to-find-the-longest-heaviest-trail-in-an-undirected-weighted-graph No entanto, o argumento parece falho em sua forma atual, pois mostra basicamente que você pode resolver o caso simples de borda resolvendo o caso simples de nó em um gráfico diferente (portanto, a redução é inversa). Não está claro que a redução possa ser facilmente alterada para funcionar da outra maneira. (Ainda assim, mostra que pelo menos o problema de trilhas mais longas não é mais difícil do que o problema de trilhas mais longas.)
Existem resultados conhecidos para encontrar trilhas mais longas (caminhos simples)? Complexidade (classe)? Algoritmo (eficiente)?
Respostas:
Pelos comentários acima: o problema do ciclo hamiltoniano permanece NP-completo, mesmo em gráficos de grade com grau máximo 3 [1], mas nesses gráficos toda travessia de um nó requer duas arestas e no máximo uma aresta permanece sem uso, portanto, um nó não pode ser percorrido duas vezes por um caminho euleriano.
Então, aparentemente, há uma redução imediata do problema do ciclo hamiltoniano para o seu problema: dado um gráfico de grade com grau máximo 3 , basta pedir uma trilha de comprimento | V | .G = ( V, E) | V|
[1] Christos H Papadimitriou, Umesh V Vazirani, Sobre dois problemas geométricos relacionados ao problema do vendedor ambulante, Journal of Algorithms, Volume 5, Edição 5, Edição 2, Junho de 1984, Páginas 231-246, ISSN 0196-6774
fonte