Simplifiez votre flux de travail : Recherchez miniwebtool.
Ajouter
Outils connexes
Calculateur de plus court chemin de DijkstraCalculateur de Coloration de GraphesValidateur de séquence de degrés de grapheCalculateur de Flot Maximal dans un RéseauVérificateur de Graphe PlanaireCalculateur de Chiffres SignificatifsCalculateur de Tri Topologique
Page d'accueil > Mathématiques > Opérations mathématiques avancées > Vérificateur de Chemin Hamiltonien
 

Vérificateur de Chemin Hamiltonien

Vérifiez si un graphe contient un chemin ou un cycle hamiltonien. Exécute le backtracking avec élagage de Warnsdorff, vérifie la connectivité et les prérequis de degré, teste les conditions suffisantes de Dirac et Ore, et affiche le chemin témoin sur une visualisation SVG animée.

Vérificateur de Chemin Hamiltonien
Accepte A-B, A->B, A B, A,B ou des lignes de matrice comme 0 1 1 0. Utilisez des lettres, chiffres ou soulignés pour les étiquettes.
Étiquettes séparées par des virgules ou des espaces, une par ligne. A, B, C... par défaut si omis.

Embed Vérificateur de Chemin Hamiltonien Widget

Vérificateur de Chemin Hamiltonien

Le Vérificateur de Chemin Hamiltonien détermine si un graphe contient un chemin hamiltonien — une séquence qui visite chaque sommet exactement une fois — ou un cycle hamiltonien, qui revient en plus au sommet de départ. Il combine des pré-vérifications structurelles rapides (connectivité, conditions préalables de degré, théorème de Dirac, théorème d'Ore) avec une recherche par retour sur trace (backtracking) optimisée par l'heuristique de Warnsdorff, et visualise le chemin témoin avec une animation étape par étape.

Qu'est-ce qu'un chemin hamiltonien ?

Étant donné un graphe G = (V, E) à n sommets, un chemin hamiltonien est une séquence ordonnée v1, v2, …, vn de tous les sommets telle que chaque paire consécutive (vi, vi+1) est une arête de G, et chaque sommet apparaît exactement une fois. Si, de plus, (vn, v1) est une arête, la séquence est un cycle hamiltonien.

Chemin hamiltonien : v1 — v2 — v3 — … — vn (tous distincts, chaque paire consécutive est une arête) Cycle hamiltonien : v1 — v2 — v3 — … — vn — v1 (se referme sur le départ)

Le problème tire son nom de William Rowan Hamilton, qui inventa en 1857 le jeu icôsien — un casse-tête demandant au joueur de trouver un cycle visitant chaque sommet d'un dodécaèdre régulier exactement une fois.

Pourquoi c'est difficile : la NP-complétude

Le problème de décision du chemin hamiltonien et celui du cycle hamiltonien sont tous deux NP-complets (Karp, 1972). À moins que P = NP, il n'existe aucun algorithme en temps polynomial capable de résoudre chaque instance. Dans le pire des cas, le retour sur trace explore un arbre de recherche d'une taille allant jusqu'à (n−1)! pour un cycle. C'est pourquoi le calculateur limite l'entrée à 20 sommets — une faible augmentation polynomiale de n produit une augmentation explosive du temps d'exécution.

En pratique, l'heuristique de Warnsdorff (conçue à l'origine par Heinrich Warnsdorff en 1823 pour le problème du cavalier) rend la recherche considérablement plus rapide sur les graphes structurés : à chaque étape, l'algorithme prolonge le chemin actuel vers le voisin non visité ayant le plus petit nombre de voisins non visités restants. Cette règle gloutonne empêche la recherche de s'enfermer dans une impasse et trouve souvent un parcours hamiltonien sans aucun retour sur trace sur les graphes bien structurés.

Conditions nécessaires — Rejet rapide

Avant de lancer une recherche coûteuse, le calculateur rejette les graphes qui ne peuvent pas contenir de chemin hamiltonien :

Ces règles permettent de rejeter de nombreuses entrées sans issue en temps linéaire, évitant ainsi des efforts inutiles de backtracking.

Conditions suffisantes — Théorèmes classiques

Plusieurs théorèmes classiques donnent des conditions suffisantes (mais pas nécessaires) garantissant un cycle hamiltonien dans les graphes simples non orientés. Si l'une de ces conditions s'applique, le calculateur marque le résultat comme "GARANTIT" sans même lancer la recherche — bien qu'il affiche tout de même un cycle témoin.

Théorème de Dirac (1952)

Si G est un graphe simple non orienté à n ≥ 3 sommets et que chaque sommet a un degré au moins égal à n / 2, alors G possède un cycle hamiltonien.

δ(G) ≥ n / 2 ⟹ G est hamiltonien

Théorème d'Ore (1960)

Si pour chaque paire de sommets non adjacents u et v, nous avons deg(u) + deg(v) ≥ n, alors G possède un cycle hamiltonien. La condition d'Ore est strictement plus faible que celle de Dirac, donc Ore implique Dirac.

∀ u, v non adjacents : deg(u) + deg(v) ≥ n ⟹ G est hamiltonien

L'échec des conditions de Dirac ou d'Ore ne signifie pas que le graphe ne possède pas de cycle hamiltonien — de nombreux graphes ne satisfont ni l'un ni l'autre tout en en contenant un (par exemple, un cycle simple à n sommets a un degré minimum de 2, bien en dessous de n/2 pour de grandes valeurs de n).

L'algorithme de recherche interne

Lorsque les pré-vérifications ne permettent pas de trancher, le calculateur lance une recherche par retour sur trace sur la représentation d'adjacence du graphe. Tactiques clés :

  1. Masque de bits pour l'ensemble visité. Les sommets visités sont stockés sous forme de masque de bits (test d'appartenance rapide en O(1) jusqu'à 20 sommets).
  2. Heuristique de Warnsdorff. À chaque extension, les voisins sont essayés dans l'ordre de leur degré non visité restant (le plus petit en premier), imitant un ordre à "faible branchement".
  3. Sélection de la racine. Pour un cycle hamiltonien, un seul sommet de départ est nécessaire (les cycles sont invariants par rotation). Pour un chemin hamiltonien, les départs sont essayés par ordre croissant de degré sortant — les positions les plus rares en premier.
  4. Budget d'étapes. Une limite stricte empêche les instances pathologiques de s'exécuter indéfiniment ; l'interface signale le verdict comme "expiré" si le budget est épuisé.

Hamiltonien vs Eulérien

Il est facile de confondre les problèmes hamiltoniens et eulériens — ils semblent similaires mais sont fondamentalement différents :

Propriété Chemin / Cycle hamiltonien Trajet / Circuit eulérien
Visite chaque... Sommet exactement une fois Arête exactement une fois
Complexité NP-complet Polynomial (O(n+m))
Condition Pas de caractérisation simple Connexe + tous degrés pairs (circuit) ; max 2 impairs pour trajet
Nommé d'après W. R. Hamilton (1857) L. Euler (1736, ponts de Königsberg)
Exemple classique Voyageur de commerce, jeu icôsien Inspection de routes, problème du postier

Formats d'entrée pris en charge

Liste d'arêtes

Une arête par ligne, ou séparée par des virgules. Séparateurs pris en charge : A-B, A B, A,B, A--B, A->B, A<-B. Utilisez -> pour forcer une interprétation orientée.

A-B, B-C, C-D, D-A, A-C (graphe non orienté avec 5 arêtes) A->B, B->C, C->D, D->A (cycle orienté de 4)

Matrice d'adjacence

Matrice carrée de valeurs 0/1, une ligne par ligne, séparée par des espaces ou des virgules. Fournissez des étiquettes facultatives dans le champ Étiquettes de matrice ; sinon, A, B, C... sont utilisés automatiquement.

0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0

Comment utiliser ce vérificateur

  1. Choisissez un format d'entrée — Liste d'arêtes pour les petits graphes écrits à la main, Matrice d'adjacence pour les copier-coller de code ou de manuels.
  2. Collez votre graphe dans la zone de texte. Pour l'entrée matricielle, fournissez éventuellement des étiquettes de sommets.
  3. Choisissez quoi vérifier : Chemin uniquement, Cycle uniquement, ou Les deux en une seule fois.
  4. Sélectionnez le type de graphe — La détection automatique déduit l'orientation à partir du style de flèche (->) ou de la symétrie de la matrice.
  5. Cliquez sur Vérifier l'Hamiltonien. La page de résultats affiche un verdict, la pré-vérification des conditions nécessaires, les tests de conditions suffisantes de Dirac / Ore, le chemin témoin (s'il existe) et une visualisation interactive.
  6. Rejouez le témoin à l'aide des commandes Lecture / Étape. Observez le chemin s'allumer arête par arête sur le graphe.

Exemple pratique — Le graphe de Petersen

Le célèbre graphe de Petersen (10 sommets, 15 arêtes, 3-régulier) est un exemple classique de graphe possédant un chemin hamiltonien mais aucun cycle hamiltonien. Collez ceci dans le champ de liste d'arêtes et cliquez sur Vérifier :

1-2, 2-3, 3-4, 4-5, 5-1, 6-8, 8-10, 10-7, 7-9, 9-6, 1-6, 2-7, 3-8, 4-9, 5-10

Le vérificateur confirme : chemin hamiltonien trouvé (ex : 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3), mais la recherche exhaustive ne trouve aucun moyen de fermer la boucle — un résultat prouvé pour la première fois dans les années 1890.

Applications courantes

Foire aux questions

Qu'est-ce qu'un chemin hamiltonien ?

Un chemin hamiltonien est un parcours dans un graphe qui visite chaque sommet exactement une fois. Il porte le nom de William Rowan Hamilton, qui a étudié le problème sur le graphe du dodécaèdre en 1857. Décider si un tel chemin existe est un problème NP-complet, donc aucun algorithme connu ne le résout en temps polynomial pour tous les graphes.

Quelle est la différence entre un cycle hamiltonien et un chemin hamiltonien ?

Un cycle hamiltonien est un chemin hamiltonien qui revient à son sommet de départ, formant une boucle fermée qui visite chaque sommet exactement une fois. Chaque cycle hamiltonien contient un chemin hamiltonien (il suffit de supprimer l'arête de fermeture), mais l'inverse n'est pas vrai : de nombreux graphes ont un chemin hamiltonien mais pas de cycle hamiltonien.

Que dit le théorème de Dirac ?

Le théorème de Dirac (1952) stipule que tout graphe simple non orienté à n ≥ 3 sommets dans lequel chaque sommet a un degré d'au moins n/2 contient un cycle hamiltonien. C'est une condition suffisante mais pas nécessaire : de nombreux graphes qui n'atteignent pas le seuil de Dirac ont tout de même des cycles hamiltoniens.

Que dit le théorème d'Ore ?

Le théorème d'Ore (1960) stipule que si, pour chaque paire de sommets non adjacents u et v dans un graphe simple à n ≥ 3 sommets, la somme de leurs degrés est au moins égale à n, alors le graphe possède un cycle hamiltonien. La condition d'Ore est plus faible que celle de Dirac, donc le théorème d'Ore s'applique chaque fois que le théorème de Dirac s'applique.

Pourquoi la recherche est-elle limitée à 20 sommets ?

Les problèmes de décision de chemin et de cycle hamiltoniens sont NP-complets. Le temps d'exécution dans le pire des cas augmente de manière exponentielle avec le nombre de sommets. Avec l'élagage et l'heuristique de Warnsdorff, le calculateur traite rapidement de nombreux petits graphes jusqu'à 20 sommets, mais les instances complexes peuvent expirer. Au-delà de 20 sommets, vous devriez utiliser des solveurs spécialisés tels que Concorde ou des formulations de programmation en nombres entiers.

Qu'est-ce que l'heuristique de Warnsdorff ?

La règle de Warnsdorff, proposée en 1823 pour le problème du cavalier, stipule qu'à chaque étape, vous devez visiter le sommet suivant qui possède le moins de voisins non visités restants. Cette règle d'apparence gloutonne élague considérablement l'arbre de recherche en pratique et trouve souvent des chemins hamiltoniens sans aucun retour sur trace sur les graphes réguliers.

Cet outil trouve-t-il tous les chemins hamiltoniens ?

Non — il trouve un seul chemin ou cycle témoin lorsqu'il en existe un. Compter le nombre total de chemins hamiltoniens est en soi un problème #P-complet et bien plus complexe que le problème de décision. Pour l'énumération, des outils spécialisés ou des solveurs de programmation en nombres entiers sont plus appropriés.

Lectures complémentaires

Citez ce contenu, cette page ou cet outil comme suit :

"Vérificateur de Chemin Hamiltonien" sur https://MiniWebtool.com/fr/verificateur-de-chemin-hamiltonien/ de MiniWebtool, https://MiniWebtool.com/

Par l'équipe miniwebtool. Mis à jour : 21 avr. 2026

Vous pouvez également essayer notre Résolveur Mathématique IA GPT pour résoudre vos problèmes mathématiques grâce à des questions-réponses en langage naturel.

Opérations mathématiques avancées:

Outils en vedette:

Calculateur de Position du SoleilGénérateur de Carte de Crédit AléatoireCalculatrice de Compatibilité AmoureuseCalculateur du Jour de l'Année - Quel jour de l'année sommes-nous aujourd'hui ?Calculateur de Signe Solaire, Lunaire et Ascendant 🌞🌙✨Convertisseur cm en pieds et poucesExtracteur d'Images de VidéoRecherche d'Identifiant InstagramSélecteur de Films Aléatoireconvertisseur ppm en pourcentageGénérateur de mots aléatoires en anglaisGénérateur de chaînes aléatoiresrecherche-d-adresse-MACConvertisseur de Pieds et Pouces en CentimètresCalculatrice de SommeConvertisseur de décimales en tempsConvertisseur de Pourcentage en PPMRecherche d'identifiant FacebookConvertisseur de Calendrier HébraïqueFusionner des vidéosConvertisseur HEX en CMJNSupprimer des accents du texteGénérateur de Couleurs AléatoiresCalculateur de percentile de tailleStatistiques de Chaîne YouTubeCalculateur d'âgeCalculatrice d'escaliercalculatrice-des-exposants-haute-précisionQuelle est mon adresse IP ?Calculateur de nombres angéliquesCompteur de lignesCalculateur de Numéro Maître👙 Calculateur de Taille de Soutien-GorgeGénérateur de cartes de bingoParaphraseur IAGénérateur de Cartes à Jouer AléatoireCalculatrice de MédianeGénérateur d'Action ou Vérité AléatoireGénérateur de Code MorseJour d'équinoxe de printempsSupprimer les sauts de ligneCalculateur de Numéro de SemaineCalculateur de vitesse de cyclismeGénérateur de LabyrinthesRandomiseur de listeGénérateur d'heure aléatoireCalculateur de Barbecuecalculatrice-de-hba1cConvertisseur d'AngleCalculatrice ModuloConvertisseur de Temps en DécimalGénérateur de Repas AléatoireConvertisseur FPSDiviseur AudioPivoter la vidéoGénérateur de points à relierCalculatrice de test du khi-deuxDécoupeur de vidéoGénérateur d'adresse MACCalculateur d'ArctangenteGénérateur de patron de cône à platGénérateur de personnage RPG aléatoireOutil en ligne pour supprimer la ponctuationExtracteur AudioGénérateur de Sujets de Débat AléatoiresCompresseur Vidéo🔍 Vérificateur de PlagiatGénérateur de Nonogrammes (Picross)🖱️ Compteur de ClicsVérificateur de Nombre Pair ou ImpairVérificateur de Nom d’Utilisateur sur les Réseaux SociauxCalculateur d'équilibre des éléments astrologiquesCalculateur de Revenus TwitchFormateur de TexteCalculateur de Coût de CarburantCalculateur d'autonomie de batterieCalculateur de Probabilité de Dés🎮 Convertisseur de Monnaie de JeuFusion de SRTSélecteur de Nom AléatoireCompter le nombre de caractèresConvertisseur DMS en Degrés DécimauxSupprimer les espacesCalculatrice de DuréeConvertisseur de Codes Couleur Tous FormatsHumaniseur de Texte IACalculateur de Retour de SaturneCalculatrice de conversion de levureConvertisseur de taille de fichierExtracteur d'e-mailBoule Magique 8🌡️ Calculateur d'Indice de ChaleurCalculatrice de numérologieCalculatrice du Pourcentage d'AugmentationLanceur de PièceListe des Années BissextilesCalculatrice de terrasseGénérateur de Distribution GaussienneGénérateur de tableau de tournoi aléatoireCalculateur de résistance pour LEDCalculatrice du Nombre d'ÂmeGénérateur de Coordonnées AléatoiresCalculateur de PressionCompteur de SyllabesGénérateur d'adresse IP aléatoireGénérateur d'IMEI AléatoireGénérateur de clé WPA en ligneTrier les lignes par ordre alphabétiqueCalculateur de TangenteCalculer les jours entre deux datesConvertisseur de Fréquence et de Longueur d'OndeCréateur de mots croisésGénérateur d'Activités AléatoiresLanceur de DésCalculatrice de la diminution en pourcentageConvertisseur de Livres en KilogrammesGénérateur de mots mêlésCalculatrice Binaire📅 Calculatrice de DateVisualiseur de Cercle Unité InteractifCalculateur de Conversion d'Échelle de MaquetteCalculatrice de CombinaisonCalculatrice de Circonférence d'EllipseGénérateur d'anagrammesCalculatrice de Fonction GammaCalculatrice de Rectangle d'Orconvertisseur de mot à numéro de téléphoneCalculateur de dilatation du tempsCalculateur de nourriture pour chienCalculateur d'espérance de vieCalculateur nutritionnel de recettesCalculatrice d'Écart-Type RelatifCalculatrice HexadécimaleCompte à Rebours de la RetraiteConvertisseur d'adresse IP en binaireGénérateur de Carré MagiqueInverseur de couleursCalculateur d'écart-typeCalculateur de Compost (Rapport C:N)Calculateur de dépréciation de voitureCalculateur de fumage de viandeCalculateur de Mélange Huile 2 TempsConvertisseur de Taille de BagueGénérateur de lettres aléatoiresInverser la VidéoCalculateur de CosinusCalculateur de Modèle de Tricot💧 Calculateur de Point de RoséeCalculateur de soude pour savon (SAP)Calculateur de sous-réseau IPCalculateur de temps de refroidissement de bièreCalculateur du Test Exact de FisherConvertisseur Décimal en BCDDécodeur JWTGénérateur de Texte StyliséTesteur de Robustesse de Mot de PasseCalculateur de Coefficient BinomialConvertisseur de pressionGénérateur d’excuses aléatoiresGénérateur de KakuroListe des Nombres de FibonacciLooper MP3Simulateur de Portes LogiquesSupprimer l'audio d'une vidéoCalculateur d'ArmatureCalculateur de Chute LibreConvertisseur de Degrés Décimaux en DMSGénérateur d'adresses fictives aléatoiresTrier les NombresRandomiseur de nombresSélecteur de commentaires YouTubeAjouter ou Remplacer l'Audio dans une VidéoCalculateur d'âge biologiqueCalculateur de LevainCalculateur de Point d’ÉbullitionCalculateur de Taille de Ventilateur de PlafondCalculatrice du coefficient de variationConvertisseur de Cuillères à Soupe en TassesGénérateur d'ouverture d'échecs aléatoireCalculateur de Débit en TuyauterieCalculateur de Décibels (dB)Calculateur de Foin pour ChevauxCalculateur de Mélange de Couleurs de PeintureGénérateur de Texte BarréGénérateur de mots mélangésGénérateur de numéros de loterieGénérateur de PaletteGénérateur de Word LadderSupprimer les lignes vides du texteSélecteur AléatoireCalculateur de courbureCalculateur de gestation canineCalculateur de pâte à pizzaCalculateur de SinusCalculateur de Taille de TVCalculateur de Temps de Charge VECalculatrice de numéro de nomCalculatrice de ProportionCalculatrice de Valeurs AberrantesCalculatrice du Nombre d'ExpressionCalculateur de Strike Rate au CricketCalculateur de Net Run RateCalculateur de ratio K/DCalculateur de classement EloCalculateur de récupération de la fréquence cardiaqueCalculateur de temps de randonnéeCalculateur d'allure d'avironCalculateur de Performance Ajustée à l'Âge en CourseCalculateur de FTP et Zones de PuissanceCalculateur de test BeepCalculateur de score ACFTCalculateur Wilks & DOTSCalculateur d'offset de janteRecherche d’indice de charge et d’indice de vitesse des pneusCalculateur de coût par mileCalculateur de rachat de leasingCalculateur de Mélange d'OctaneCalculateur de Cylindrée MoteurCalculateur de Passage de CanapéCalculateur de Cordes de Bois de ChauffageCalculateur de CADR de Purificateur d'AirCalculateur de taille de déshumidificateurCalculateur de Taille de RideauxCalculateur de Taille de TapisCalculateur de hauteur pour accrocher un tableauCalculateur de hauteur de fixation TVCalculateur de volume et bâche de bassinCalculateur de Sel pour PiscineCalculateur de Volume de PiscineCalculateur de Taille de Chauffe-EauCalculateur de Résine ÉpoxyCalculateur d'espacement des balustresCalculateur de plinthes et mouluresCalculateur de bardageCalculateur de lasure pour terrasseCalculateur de Semences de GazonCalculateur de gazonCalculateur d'AsphalteCalculateur de Yards CubesCalculateur de Longueur d'AntenneCalculateur de Remplissage de ConduitCalculateur de condensateurs en série et parallèleCalculateur de Reactance InductiveCalculateur d'Éclairage de PièceCalculateur de Lux en LumensConvertisseur Lumens en WattsCalculateur de Taille de GénérateurConvertisseur mAh en WhCalculateur de Puissance TriphaséeCalculateur kVACalculateur Ampères en WattsCalculateur de Watts en AmpèresCalculateur de Résistances en SérieCalculateur de FrottementCalculateur de Plan InclinéCalculateur d'Avantage MécaniqueCalculateur de vitesse du sonCalculateur de vitesse d’ondeCalculateur de flottabilitéCalculateur de Vitesse TerminaleCalculateur de longueur d'onde de de BroglieCalculateur d'énergie du photonCalculateur E=mc²Calculateur de la Troisième Loi de KeplerCalculateur de vitesse de libérationCalculateur de Force GravitationnelleCalculateur de la Loi de Beer-LambertCalculateur d'équation de NernstCalculateur de Pression OsmotiqueCalculateur d'élévation du point d'ébullitionCalculateur d'Abaissement du Point de CongélationCalculateur de Composition CentésimaleCalculateur de NormalitéCalculateur de MolalitéConvertisseur pKa en KaCalculateur de Henderson-HasselbalchCalculateur de Rendement ThéoriqueCalculateur de Réactif LimitantCalculateur de Configuration ÉlectroniqueTableau périodique interactifGénérateur de Plan de Cours IAGénérateur de Quiz IAGénérateur de Citations (APA/MLA/Chicago)Calculateur de Pourcentage de PrésenceCalculateur de Score APCalculateur de Score ACTCalculateur de Score SATConvertisseur Pourcentage en CGPAConvertisseur CGPA en PourcentageCorrecteur de Notes Facile (EZ Grader)Calculateur du Coût d'un EnfantCalculateur de Consommation de Lait pour BébéCalculateur de taille de couchesGénérateur de prénoms de bébéPrédicteur de la couleur des yeux de bébéCalculateur de Percentile IMC pour EnfantCalculateur de Taille Adulte de l'EnfantCalculateur du Temps de Doublement de hCGCalculateur de date d'accouchement FIVCalculateur d'ImplantationPrédicteur de Sexe ChinoisFormateur de date ISO 8601Convertisseur de date julienneCalculateur de siesteCalculateur de Phase de la LuneCalculateur de lever et coucher du soleilHorloge mondialeConvertisseur de Date en Chiffres RomainsCalculateur de SobriétéCalculateur de demi-anniversaireCalculateur d’anniversaireCalculateur de Répartition des PourboiresCalculateur de ROI Email MarketingCalculateur de Coût Par LeadCalculateur de Fonds de RoulementEstimateur de revenus YouTube