Mathématiques discrètes > Théorie des graphes > Circuits >

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 1 n’a pas de chemin hamiltonien.

La recherche d’un seul chemin hamiltonien d’un graphe g 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 n=1, 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 i et j peut être trouvé si un algorithme pour les cycles hamiltoniens est disponible. Cela peut être fait en vérifiant si le graphe original G contient l’arête (i,j) et en l’ajoutant si ce n’est pas le cas pour obtenir G^''. Puisqu’un chemin hamiltonien dont les extrémités sont adjacentes est un cycle hamiltonien et puisque i et j sont maintenant adjacents, trouver un cycle hamiltonien et se diviser au niveau du bord donne un chemin hamiltonien de ij dans G. De même, si aucun cycle hamiltonien n’existe dans G^'', alors il n’existe pas de chemin hamiltonien de ij dans G.

Le tableau suivant résume le nombre de chemins hamiltoniens (non dirigés) sur diverses classes de graphes.

.

graphique formule
graphe de barbeaux ^2
graphe du cocktail K_(n×2) (2n) !_1F_1(-n;-2n;-2)
graphe complet K_n n !
Graphe bipartite complet K_(n,n) (n !)^2
2n-graphe à prisme croisé 6-2^(n-1)n(n+1)
graphe du cycle C_n n
graphe de la boîte de vitesses graphique n(n+1)
graphe en échelle P_2 carré P_n n^2-n+2
Échelle de Möbius M_n 1/2(-1)^nn
graphe de chemin P_n 1
graphe à prisme Y_n 1/2n
graphe du soleil n(n+1)
graphe des roues W_n 2(n-1)(n-2)

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 a_n=a_(n-9)+a_(n-8)-3a_(n-7)-5a_(n-6)+5a_(n-5)+7a_(n-4)-4a_(n-3)-6a_(n-2)+5a_(n-1)
graphe de la couronne 3 a_n=n(n-1)^2a_(n-2)+(n-2)n(n-1)a_(n-3)+n(n-1)a_(n-1)
prisme graphique Y_n 6 a_n=-a_(n-6)+2a_(n-5)+a_(n-4)-4a_(n-3)+a_(n-2)+2a_(n-1)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *