É intuitivo ver que encontrar um caminho hamiltoniano não está em P enquanto encontrar um caminho de Euler?

8

Eu não tenho certeza de vê-lo. Pelo que entendi, arestas e vértices são complementos um para o outro e é bastante surpreendente que essa diferença exista.

Existe uma maneira boa / rápida / fácil de ver que, na verdade, encontrar um caminho hamiltoniano deve ser muito mais difícil do que encontrar um caminho de Euler?

lazer
fonte
1
Não sabemos se o Caminho Hamiltoniano está em P ou não.
Raphael

Respostas:

12

Talvez a seguinte perspectiva ajude:

Quando você está tentando construir um caminho euleriano, pode prosseguir quase avidamente. Você apenas começa o caminho em algum lugar e tenta andar o maior tempo possível. Se você detectar um círculo, excluirá suas arestas (mas registre que esse círculo foi construído). Com isso, você decompõe o gráfico em círculos, que podem ser facilmente combinados em um tour euleriano. O ponto é que nenhuma de sua decisão "como percorrer o gráfico" pode realmente estar errada. Você sempre terá sucesso e nunca ficará preso.

A situação com os caminhos hamiltonianos é diferente. Novamente, convém construir um caminho caminhando pelas bordas do gráfico. Mas desta vez você pode realmente tomar más decisões. Isso significa que você não pode continuar o caminho, mas nem todos os vértices foram visitados. O que você pode fazer é voltar atrás. Isso significa que você reverte algumas de suas decisões antigas e continua por um caminho diferente. Essencialmente, todos os algoritmos conhecidos pelo problema geral dependem de uma maneira ou de outra do rastreamento de retorno ou da tentativa de um grande conjunto de soluções. Isso, no entanto, é característico para problemas de NP-completo.

Conclusão (simplificada): o caminho euleriano não requer rastreamento, mas o caminho hamiltoniano.

(Observe que pode ser que P = NP e, neste caso, um algoritmo de caminho hamiltoniano inteligente existisse.)

A.Schulz
fonte
1
Minha resposta é mais uma resposta instintiva. Este é provavelmente mais do que o OP está atrás.
21412 Juho
1
não, não sabemos se o HamPath exige retorno !
Kaveh
2
@ Kaveh: eu sei. Por isso escrevi "... todos os algoritmos conhecidos pelo problema geral ...". E também eu disse simplificado . Enfim, reformulei a última afirmação levemente.
A.Schulz
5

Outro detalhe que pode ajudar sua intuição é que existe um ciclo de Euler se e somente se cada vértice tiver grau uniforme. Um teorema semelhante existe para os caminhos de Euler. Isso decorre de uma prova bastante direta - basicamente, toda vez que você visita um vértice, deve deixá-lo, para que cada "visita" consiga duas do grau do vértice. Isso não explica por que o caminho hamiltoniano é difícil (o que, é claro, nós nem sabemos), mas ajuda a explicar por que é fácil encontrar um caminho de Euler.

Victor Adamchik dá uma boa explicação para a prova. A maioria dos livros de teoria dos grafos / matemática discreta provavelmente também terá uma prova que você pode achar mais fácil.

As outras respostas dão uma boa intuição de por que uma prova tão simples parece não funcionar para os ciclos de Hamilton.

SamM
fonte
2

"É intuitivo ver que encontrar um caminho hamiltoniano não está em P enquanto encontrar um caminho de Euler?"

As suposições em sua pergunta não estão corretas.

Note que não sabemos issoHamPath não está em P! Alguém algum dia poderá encontrar uma caracterização muito inteligente deHamPath (semelhante à caracterização de EulerPath como tendo graus pares), o que o colocaria dentro P.

A maioria das pessoas acredita que não está presentePmas não está provado. Os argumentos (e não a prova!) De por que é improvável que isso aconteçaP é o mesmo que os argumentos para PNP e a maioria deles não fala muito sobre HamPath em si, além do fato de que é NP-complete.

Agora, você pode perguntar por que HamPath é NP-complete mas não podemos mostrar isso EulerPath é NP-complete? Porque alguém encontrou uma caracterização dele que está emP e, em seguida, a resposta seria semelhante à razão pela qual acreditamos que PNP portanto, é improvável (mas não provado!) que EulerPath é NP-complete.

Kaveh
fonte
0

Aqui está uma maneira rápida de ver isso. O problema HAM-PATH éNP-complete, então atualmente não o fazemos se puder ser resolvido em tempo polinomial ou não. Pelo menos ninguém criou esse algoritmo. O problema do caminho euleriano, por outro lado, é comprovadamentePjá que temos algoritmos de tempo polinomial para isso. ANPproblemas incompletos, como o HAM-PATH, resistiram a ataques até agora, então essa é uma maneira imediata de ver ou acreditar que é mais difícil do que um problema em P, digamos, encontrar um caminho euleriano.

Juho
fonte