Un chemin Hamiltonien, aussi appelé chemin de Hamilton, est un chemin graphique entre deux sommets d’un graphe qui visite chaque sommet exactement une fois. S’il existe un chemin hamiltonien dont les points d’extrémité sont adjacents, alors le cycle de graphe résultant est appelé un cycle hamiltonien (ou cycle de Hamilton).
Un graphe qui possède un chemin hamiltonien est appelé un graphe traçable.
En général, le problème de trouver un chemin hamiltonien est NP-complet (Garey et Johnson 1983, pp. 199-200), de sorte que la seule façon connue de déterminer si un graphe général donné possède un chemin hamiltonien est d’entreprendre une recherche exhaustive
Tout graphe bipartite avec un déséquilibre de parité des sommets n’a pas de chemin hamiltonien.
La recherche d’un seul chemin hamiltonien d’un graphe est implémentée dans le Wolfram Language sous le nom de FindHamiltonianPath. Tous les chemins hamiltoniens d’un graphe donné peuvent être trouvés (de manière inefficace) en utilisant la commande HamiltonianPath dans le paquetage Combinatorica` du Wolfram Language. Une liste précalculée de tous les chemins hamiltoniens pour de nombreux graphes nommés peut être obtenue en utilisant GraphData, où et les deux orientations des chemins sont incluses (de sorte que est considéré comme distinct de ). Un compte précalculé du nombre correspondant de chemins hamiltoniens est donné par GraphData.
Les nombres totaux de chemins hamiltoniens dirigés pour tous les graphes simples d’ordres , 2, … sont 0, 2, 8, 50, 416, 5616, 117308, 4862736, …. (OEIS A193352).
Rubin (1974) décrit une procédure de recherche efficace qui peut trouver certains ou tous les chemins et circuits de Hamilton dans un graphe en utilisant des déductions qui réduisent considérablement le retour en arrière et les conjectures. Un algorithme probabiliste dû à Angluin et Valiant (1979), décrit par Wilf (1994), peut également être utile pour trouver des cycles et des chemins hamiltoniens. Un chemin hamiltonien entre deux sommets et peut être trouvé si un algorithme pour les cycles hamiltoniens est disponible. Cela peut être fait en vérifiant si le graphe original contient l’arête et en l’ajoutant si ce n’est pas le cas pour obtenir . Puisqu’un chemin hamiltonien dont les extrémités sont adjacentes est un cycle hamiltonien et puisque et sont maintenant adjacents, trouver un cycle hamiltonien et se diviser au niveau du bord donne un chemin hamiltonien de dans . De même, si aucun cycle hamiltonien n’existe dans , alors il n’existe pas de chemin hamiltonien de dans .
Le tableau suivant résume le nombre de chemins hamiltoniens (non dirigés) sur diverses classes de graphes.
graphique | formule |
graphe de barbeaux | |
graphe du cocktail | |
graphe complet | |
Graphe bipartite complet | |
-graphe à prisme croisé | |
graphe du cycle | |
graphe de la boîte de vitesses graphique | |
graphe en échelle | |
Échelle de Möbius | |
graphe de chemin | 1 |
graphe à prisme | |
graphe du soleil | |
graphe des roues |
Les relations de récurrence pour le nombre de chemins hamiltoniens dirigés pour certaines familles de graphes sont résumées ci-dessous.
Graph | order | recurrence |
graphe antiprisme | 9 | |
graphe de la couronne | 3 | |
prisme graphique | 6 |