>br>>>p>Um caminho Hamiltoniano, também chamado caminho Hamilton, é um caminho gráfico entre dois vértices de um gráfico que visita cada vértice exactamente uma vez. Se existir um caminho Hamiltoniano cujos pontos finais sejam adjacentes, então o ciclo gráfico resultante é chamado um ciclo Hamiltoniano (ou ciclo Hamiltoniano).
Um gráfico que possui um caminho Hamiltoniano é chamado um traçado.
Em geral, o problema de encontrar um caminho Hamiltoniano é NP-complete (Garey and Johnson 1983, pp. 199-200), pelo que a única forma conhecida de determinar se um dado gráfico geral tem um caminho Hamiltoniano é empreender uma pesquisa exaustiva
Um gráfico bipartido com um desequilíbrio de paridade de vértices
não tem caminhos Hamiltonianos.
De encontrar um único caminho Hamiltoniano de um gráfico
é implementado na Linguagem Wolfram como FindHamiltonianPath. Todos os caminhos hamiltonianos de um dado gráfico podem ser encontrados (ineficientemente) usando o comando HamiltonianPath no pacote Combinatorica da Wolfram Language` . Uma lista pré-determinada de todos os caminhos Hamiltonianos de muitos gráficos nomeados pode ser obtida usando GraphData, onde e ambas as orientações de caminhos estão incluídas (de modo que ![]()
é considerado distinto de ![]()
). Uma contagem pré-determinada do número correspondente de caminhos Hamiltonianos é dada por GraphData.
Os números totais de caminhos Hamiltonianos dirigidos para todos os gráficos simples de ordens
, 2, … são 0, 2, 8, 50, 416, 5616, 117308, 4862736, … (OEIS A193352).
Rubin (1974) descreve um procedimento de pesquisa eficiente que pode encontrar alguns ou todos os caminhos e circuitos Hamilton num gráfico usando deduções que reduzem grandemente o retrocesso e o trabalho de adivinhação. Um algoritmo probabilístico devido a Angluin e Valiant (1979), descrito por Wilf (1994), também pode ser útil para encontrar ciclos e percursos Hamiltonianos. Um caminho Hamiltoniano entre dois vértices
e
pode ser encontrado se um algoritmo para ciclos Hamiltonianos estiver disponível. Isto pode ser feito verificando se o gráfico original
contém a borda
e adicionando-o se não for para obter
. Uma vez que um caminho Hamiltoniano com pontos finais adjacentes é um ciclo Hamiltoniano e uma vez que
e
são agora adjacentes, encontrar um ciclo hamiltoniano e dividir-se na margem dá um caminho hamiltoniano de
a
em
. Da mesma forma, se não existir nenhum ciclo Hamiltoniano em
, então não existe nenhum caminho Hamiltoniano de
a
em
.
A tabela seguinte resume os números dos caminhos (não direccionados) Hamiltonianos em várias classes de gráficos.
| graph | formula |
| barbell graph | |
| gráfico de coquetel de festa |
|
| gráfico completo |
|
| gráfico bipartido completo |
|
| gráfico do ciclo |
|
| ladder graph |
|
| Escada Möbius |
|
| gráfico do caminho |
1 |
| gráfico de prisma |
|
| gráfico de sol | |
| gráfico de roda |
Relações de recorrência para o número de caminhos Hamiltonianos dirigidos para algumas famílias gráficas são resumidas abaixo.
| graph | order | recurrence |
| gráfico antiprisma | 9 | |
| crown graph | 3 | |
| gráfico de prisma |
6 |