![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Hamilton_path.svg/langpt-640px-Hamilton_path.svg.png&w=640&q=50)
Caminho hamiltoniano
De Wikipedia, a enciclopédia encyclopedia
Um caminho hamiltoniano é um caminho que permite passar por todos os vértices de um grafo G, não repetindo nenhum, ou seja, passar por todos uma e uma só vez por cada. Caso esse caminho seja possível descrever um ciclo, este é denominado ciclo hamiltoniano (ou circuito hamiltoniano) em G. E, um grafo que possua tal circuito é chamado de grafo hamiltoniano.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Hamilton_path.svg/220px-Hamilton_path.svg.png)
O problema de decidir se um dado grafo é hamiltoniano é completo em NP, o que significa que é pouco provável que exista um algoritmo polinomial para o problema. Outro objetivo provavelmente ambicioso demais: mostrar que o problema está em co-NP, ou seja, obter uma boa condição necessária e suficiente para existência de ciclo hamiltoniano.
Um problema que envolve caminhos hamiltonianos é o problema do caixeiro viajante, em que um caixeiro deseja visitar um conjunto de N cidades (vértices), passando por cada cidade exatamente uma vez e retornando à cidade de origem, fazendo o caminho de menor tamanho possível.
Em 2009 conseguiu-se uma resolução para este problema utilizando-se de bactérias[1] na implementação do algoritmo, que historicamente costuma ter um custo de tempo de computação exponencial.