Semplifica il tuo flusso di lavoro: cerca miniwebtool.
Aggiungi
Pagina Iniziale > Matematica > Operazioni matematiche avanzate > Verificatore di Cammino Hamiltoniano
 

Verificatore di Cammino Hamiltoniano

Verifica se un grafo contiene un cammino hamiltoniano o un ciclo hamiltoniano. Esegue il backtracking con pruning di Warnsdorff, verifica i prerequisiti di connettività e grado, testa le condizioni sufficienti di Dirac e Ore e mostra il cammino risultante su una visualizzazione SVG animata.

Verificatore di Cammino Hamiltoniano
Accetta A-B, A->B, A B, A,B o righe di matrice come 0 1 1 0. Usa lettere, cifre o underscore per le etichette.
Etichette separate da virgola o spazio, una per riga. Default: A, B, C... se omesso.

Embed Verificatore di Cammino Hamiltoniano Widget

Verificatore di Cammino Hamiltoniano

Il Verificatore di Cammino Hamiltoniano stabilisce se un grafo contiene un cammino hamiltoniano — una sequenza che visita ogni vertice esattamente una volta — o un ciclo hamiltoniano, che inoltre ritorna al vertice di partenza. Combina veloci controlli strutturali preliminari (connettività, prerequisiti sui gradi, teorema di Dirac, teorema di Ore) con una ricerca con backtracking ottimizzata dall'euristica di Warnsdorff, e visualizza il percorso trovato con un'animazione passo-passo.

Cos'è un cammino hamiltoniano?

Dato un grafo G = (V, E) con n vertici, un cammino hamiltoniano è una sequenza ordinata v1, v2, …, vn di tutti i vertici tale che ogni coppia consecutiva (vi, vi+1) è un arco di G, e ogni vertice appare esattamente una volta. Se inoltre (vn, v1) è un arco, la sequenza è un ciclo hamiltoniano.

Cammino hamiltoniano: v1 — v2 — v3 — … — vn (tutti distinti, ogni coppia è un arco) Ciclo hamiltoniano: v1 — v2 — v3 — … — vn — v1 (si chiude tornando all'inizio)

Il problema deve il suo nome a William Rowan Hamilton, che nel 1857 inventò il gioco icosiano — un rompicapo che chiedeva di trovare un ciclo che visitasse ogni vertice di un dodecaedro regolare esattamente una volta.

Perché è difficile: NP-completezza

Sia il problema di decisione del cammino hamiltoniano che quello del ciclo hamiltoniano sono NP-completi (Karp, 1972). A meno che P = NP, non esiste alcun algoritmo in tempo polinomiale che risolva ogni istanza. Nel peggiore dei casi, il backtracking esplora un albero di ricerca di dimensioni fino a (n−1)! per un ciclo. Questo è il motivo per cui il calcolatore limita l'input a 20 vertici — un piccolo aumento polinomiale di n produce un aumento esplosivo del tempo di esecuzione.

In pratica, l'euristica di Warnsdorff (originariamente ideata da Heinrich Warnsdorff nel 1823 per il problema del giro del cavallo) rende la ricerca drasticamente più veloce su grafi strutturati: ad ogni passo, l'algoritmo estende il cammino corrente verso il vicino non visitato con il minor numero di vicini non visitati rimanenti. Questa regola "greedy" evita che la ricerca finisca in un vicolo cieco e spesso trova un percorso hamiltoniano senza alcun backtracking su grafi regolari.

Condizioni Necessarie — Rifiuto Rapido

Prima di eseguire una ricerca costosa, il calcolatore scarta i grafi che non possono assolutamente contenere un cammino hamiltoniano:

Queste regole scartano molti input impossibili in tempo lineare, evitando sforzi inutili di backtracking.

Condizioni Sufficienti — Teoremi Classici

Diversi teoremi classici forniscono condizioni sufficienti (ma non necessarie) che garantiscono un ciclo hamiltoniano in grafi semplici non orientati. Se una di queste si applica, il calcolatore contrassegna il risultato come "GARANTITO" senza nemmeno eseguire la ricerca (sebbene mostri comunque un ciclo di riscontro).

Teorema di Dirac (1952)

Se G è un grafo semplice non orientato con n ≥ 3 vertici e ogni vertice ha un grado almeno pari a n / 2, allora G possiede un ciclo hamiltoniano.

δ(G) ≥ n / 2 ⟹ G è hamiltoniano

Teorema di Ore (1960)

Se per ogni coppia di vertici non adiacenti u e v abbiamo deg(u) + deg(v) ≥ n, allora G possiede un ciclo hamiltoniano. La condizione di Ore è strettamente più debole di quella di Dirac, quindi Ore implica Dirac.

∀ u, v non adiacenti: deg(u) + deg(v) ≥ n ⟹ G è hamiltoniano

Il fallimento della condizione di Dirac o di Ore non significa che il grafo sia privo di un ciclo hamiltoniano — molti grafi non soddisfano nessuna delle due ma ne contengono comunque uno (ad esempio, un semplice n-ciclo ha grado minimo 2, molto al di sotto di n/2 per grandi n).

L'Algoritmo di Ricerca Interno

Quando i controlli preliminari non risolvono la questione, il calcolatore esegue una ricerca con backtracking sulla rappresentazione di adiacenza del grafo. Tattiche chiave:

  1. Bitmask del set visitato. I vertici visitati sono memorizzati come una bitmask (test di appartenenza veloce O(1) fino a 20 vertici).
  2. Euristica di Warnsdorff. In ogni estensione, i vicini vengono provati in ordine di grado non visitato residuo (il più piccolo per primo).
  3. Selezione della radice. Per il ciclo hamiltoniano, è necessario un solo vertice di partenza (i cicli sono invarianti per rotazione). Per il cammino hamiltoniano, le partenze vengono provate in ordine crescente di grado in uscita — le posizioni più rare per prime.
  4. Budget di passi. Un limite rigido impedisce alle istanze patologiche di girare all'infinito; l'interfaccia segnala il verdetto come "scaduto" (timed out) se il budget viene esaurito.

Hamiltoniano vs Euleriano

È facile confondere i problemi hamiltoniani ed euleriani — sembrano simili ma sono fondamentalmente diversi:

Proprietà Cammino / Ciclo Hamiltoniano Percorso / Circuito Euleriano
Visita ogni... Vertice esattamente una volta Arco esattamente una volta
Complessità NP-completo Polinomiale (O(n+m))
Condizione Nessuna caratterizzazione semplice Connesso + tutti i gradi pari (per il circuito)
Nome da W. R. Hamilton (1857) L. Euler (1736, ponti di Königsberg)
Esempio classico Commesso viaggiatore, gioco icosiano Ispezione stradale, problema del postino

Formati di Input Supportati

Lista di archi

Un arco per riga, o separati da virgole. Separatori supportati: A-B, A B, A,B, A--B, A->B, A<-B. Usa -> per forzare l'orientamento.

A-B, B-C, C-D, D-A, A-C (grafo non orientato con 5 archi) A->B, B->C, C->D, D->A (ciclo orientato a 4 nodi)

Matrice di adiacenza

Matrice quadrata di valori 0/1, una riga per riga, separati da spazio o virgola. Inserisci le etichette opzionali nel campo Etichette matrice; altrimenti verranno usate automaticamente A, B, C...

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

Come usare questo verificatore

  1. Scegli un formato di input — Lista di archi per piccoli grafi scritti a mano, Matrice di adiacenza per incollare dati da codice o libri di testo.
  2. Incolla il tuo grafo nell'area di testo. Per l'input a matrice, fornisci opzionalmente le etichette dei vertici.
  3. Scegli cosa verificare: Solo cammino, solo ciclo, o entrambi in una volta.
  4. Seleziona il tipo di grafo — Il rilevamento automatico deduce l'orientamento dallo stile delle frecce (->) o dalla simmetria della matrice.
  5. Clicca su Verifica Hamiltoniano. La pagina dei risultati mostra il verdetto, il controllo delle condizioni necessarie, i test di Dirac / Ore, il cammino di riscontro (se esistente) e una visualizzazione interattiva.
  6. Riproduci il riscontro usando i controlli Play / Step. Osserva il percorso che si illumina arco dopo arco sul grafo.

Esempio Pratico — Il Grafo di Petersen

Il famoso grafo di Petersen (10 vertici, 15 archi, 3-regolare) è un esempio classico di grafo con un cammino hamiltoniano ma nessun ciclo hamiltoniano. Incolla questo nella lista di archi e clicca su Verifica:

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

Il verificatore conferma: cammino hamiltoniano trovato (es. 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3), ma la ricerca esaustiva non trova alcun modo per chiudere il loop — un risultato dimostrato per la prima volta nel 1890.

Applicazioni Comuni

Domande Frequenti

Cos'è un cammino hamiltoniano?

Un cammino hamiltoniano è un percorso in un grafo che visita ogni vertice esattamente una volta. Prende il nome da William Rowan Hamilton, che studiò il problema sul grafo del dodecaedro nel 1857. Decidere se tale cammino esista è un problema NP-completo, quindi non si conoscono algoritmi in tempo polinomiale validi per tutti i grafi.

In cosa differisce un ciclo hamiltoniano da un cammino hamiltoniano?

Un ciclo hamiltoniano è un cammino hamiltoniano che ritorna al suo vertice di partenza, formando un loop chiuso che visita ogni vertice esattamente una volta. Ogni ciclo hamiltoniano contiene un cammino hamiltoniano (basta togliere l'ultimo arco di chiusura), ma il contrario non è vero: molti grafi hanno un cammino hamiltoniano ma nessun ciclo hamiltoniano.

Cosa dice il teorema di Dirac?

Il teorema di Dirac (1952) afferma che ogni grafo semplice non orientato su n ≥ 3 vertici in cui ogni vertice ha grado almeno n/2 contiene un ciclo hamiltoniano. È una condizione sufficiente ma non necessaria.

Cosa dice il teorema di Ore?

Il teorema di Ore (1960) afferma che se, per ogni coppia di vertici non adiacenti u e v in un grafo semplice su n ≥ 3 vertici, la somma dei loro gradi è almeno n, allora il grafo ha un ciclo hamiltoniano. La condizione di Ore è più debole di quella di Dirac.

Perché la ricerca è limitata a 20 vertici?

I problemi del cammino e del ciclo hamiltoniano sono NP-completi. Il tempo di esecuzione nel caso peggiore cresce esponenzialmente. Con l'euristica di Warnsdorff il calcolatore gestisce velocemente molti grafi fino a 20 vertici, ma istanze più complesse potrebbero andare in timeout.

Cos'è l'euristica di Warnsdorff?

La regola di Warnsdorff, proposta nel 1823 per il problema del cavallo, dice che ad ogni passo dovresti visitare il vertice successivo che ha il minor numero di vicini non visitati rimanenti. Questa regola riduce enormemente l'albero di ricerca e spesso trova soluzioni senza alcun backtracking.

Questo strumento trova tutti i cammini hamiltoniani?

No — trova un singolo cammino o ciclo di riscontro quando ne esiste uno. Contare il numero totale di cammini hamiltoniani è un problema #P-completo, molto più difficile del problema di decisione.

Ulteriori Letture

Cita questo contenuto, pagina o strumento come:

"Verificatore di Cammino Hamiltoniano" su https://MiniWebtool.com/it/verificatore-di-cammino-hamiltoniano/ di MiniWebtool, https://MiniWebtool.com/

dal team miniwebtool. Aggiornato: 21 apr 2026

Puoi anche provare il nostro Risolutore di Matematica AI GPT per risolvere i tuoi problemi matematici attraverso domande e risposte in linguaggio naturale.

Altri strumenti correlati:

Operazioni matematiche avanzate:

Strumenti in primo piano:

Calcolatore dei numeri degli angeli📅 Calcolatore di DataCalcolatrice di Compatibilità AmorosaCalcolatore Segno Solare, Lunare e Ascendente 🌞🌙✨Convertitore da esadecimale a decimaleCalcolatore BinarioRimuovi spaziConvertitore di Piedi e Pollici in CentimetriCalcolatore di SommeGeneratore di parole casuali in ingleseGeneratore di CrucipuzzleCalcolatore EsadecimaleConvertitore di Tempo in DecimaliFormattatore di TestoGeneratore di Haiku CasualeCalcolatore di Compatibilità dei Segni LunariConvertitore da Decimale a TempoConvertitore da decimale a esadecimaleconvertitore da ppm a percentualeQual è il mio numero fortunato?Convertitore da Esadecimale a BinarioDivisore di ImmaginiCalcolatrice di NumerologiaCalcolatore per ridurre frazioniEstrattore di Immagini da VideoGeneratore di Colori CasualiPalla Magica 8Generatore di Date CasualiDivisore AudioCreatore di CruciverbaRicerca ID Utente InstagramCalcolatore del calcio correttoCalcolatore di ScalaCalcolatore del Rapporto di ProbabilitàConvertitore di Percentuale in PPMGeneratore di Citazioni CasualiCalcolatore della Media GeometricaCalcolatore del Segno LunareGeneratore di stringhe casualiInverti Testoricerca-indirizzo-MACCalcolatore del SonnoConvertitore HTML in TestoVerificatore di Nome Utente sui Social MediaAggiungi prefisso e suffisso al testoConvertitore da cm a piedi e polliciCalcolatore di Durata del TempoConvertitore da binario a esadecimaleCalcolatore del Giorno dell'Anno - Che giorno dell'anno è oggi?Generatore casuale di animaliGeneratore di oggetti casualiCalcolatore del numero di percorso di vitaCalcolatore del Numero dell'AnimaCalcolatore dei VotiRicerca ID Utente FacebookGeneratore di Gruppi CasualiGeneratore di Unisci i PuntiniOrdina NumeriCalendario del Giorno dell'AnnoCalcolatore di calcestruzzoConvertitore da Decimale a BinarioCalcolatore del Numero del NomeCalcolatore di ArrotondamentoCalcolatore di Conversione Scala ModelloCalcolatore di Differenza di ListeCalcolatore Passi in DistanzaStrumento Cifrario di CesareCalcolatore di radice quadrataEstrattore AudioCalcolatore dell'Aspettativa di Vita⏱️ Calcolatore di Ore📅 Calcolatore Differenza tra DateLista di Anni BisestiliSelettore di Film CasualeGeneratore di Personaggi RPG CasualeConvertitore in numeri romaniCalcolatore di ModuloCalcolatore da frazione a decimaleGeneratore di Orario CasualeGeneratore di Superpotere CasualeCalcolatore del Test Chi-QuadratoValidatore XMLCalcolatore dell'ArcosenoCalcolatore della Circonferenza di un EllisseRisolutore di DisequazioniCalcolatore dell'ArcotangenteGeneratore di Obbligo o Verità AleatorioCalcolatrice della Deviazione Standard RelativaGeneratore di Carte da Gioco CasualeGeneratore di Crittogramma💧 Calcolatore del Punto di RugiadaGeneratore di Modello Cono SviluppatoCalcolatore del percentile di altezzaGeneratore di Compleanni CasualiCalcolatore Ritmo Nuotoconvertitore da parole a numero di telefonoCalcolatore di combinazionePrimi n Numeri di Pi GrecoRimuovi interruzioni di rigaCalcolatore Dimensioni di Stampa e Risoluzione (DPI/PPI)Verificatore di Cammino HamiltonianoRisolutore del Commesso Viaggiatore (TSP)Risolutore di Programmazione LineareCalcolatore Inclusione-EsclusioneRisolutore di Relazioni di RicorrenzaCalcolatore di Matrice di AdiacenzaCalcolatore di Ordinamento TopologicoCalcolatore di Colorazione di GrafiSimulatore di Porte LogicheRisolutore di Mappa di Karnaugh (K-Map)Semplificatore di Algebra BooleanaCalcolatore Funzione di PartizioneCalcolatore di Radice DigitaleVerificatore di Numero di FibonacciCalcolatore Frazioni EgizieCalcolatore Funzione di MöbiusVerificatore della Congettura di GoldbachVerificatore di Primo di MersenneTrova Numeri Primi GemelliVerificatore di Numeri AmicabiliVerificatore di Numeri PerfettiCalcolatore Esponenziazione ModulareCalcolatore Permutazioni con RipetizioneCalcolatore Dimensione dell'EffettoCalcolatore Rischio RelativoCalcolatore Tabella di ContingenzaCalcolatore del Test Esatto di FisherCalcolatore di Correlazione per Ranghi di SpearmanCalcolatore Distribuzione BetaCalcolatore di Distribuzione di WeibullCalcolatore Distribuzione EsponenzialeCalcolatore Distribuzione GeometricaCalcolatore Distribuzione Binomiale NegativaCalcolatore Distribuzione IpergeometricaCalcolatore Test F e Distribuzione FCalcolatore del Teorema di BayesCalcolatore Polinomio CaratteristicoCalcolatore di Potenza di MatriceCalcolatore di Decomposizione di CholeskyCalcolatore Decomposizione QRCalcolatore di Diagonalizzazione di MatriceCalcolatore Regola di CramerCalcolatore Spazio ColonnaCalcolatore Spazio NulloCalcolatore dell'Angolo tra VettoriCalcolatore Vettore UnitarioCalcolatore di Modulo del VettoreCalcolatore del Prodotto VettorialeCalcolatore del Prodotto ScalareCalcolatore di Moltiplicazione di MatriciCalcolatore Matrice InversaCalcolatore RREF (Forma a Scalini Ridotta)Calcolatore del Metodo di NewtonCalcolatore Matrice JacobianaCalcolatore Integrale di SuperficieCalcolatore Integrale di LineaCalcolatore del RotoreCalcolatore di DivergenzaCalcolatore di Gradiente MultivariabileCalcolatore di Ottimizzazione (Calcolo)Risolutore Tassi CorrelatiCalcolatore del Tasso di Variazione IstantaneaCalcolatore del Tasso Medio di VariazioneCalcolatore Somma Serie InfiniteCalcolatore Test di Convergenza delle SerieCalcolatore di Serie di PotenzeCalcolatore della Serie di MaclaurinCalcolatore Regola di de l'HôpitalCalcolatore di Integrale ImproprioCalcolatore della Regola di SimpsonCalcolatore della Regola del TrapezioCalcolatore Somma di RiemannGraficatore di Curve ParametricheCalcolatore della Superficie di RivoluzioneCalcolatore del Volume di RivoluzioneCalcolatore Distanza Geometria CoordinateCalcolatore Formula di EroneCalcolatore della Retta Tangente al CerchioCalcolatore della Bisettrice dell'AngoloCalcolatore del Cerchio Inscritto (Incerchio)Calcolatore del Cerchio CircoscrittoCalcolatore della Distanza del Cerchio MassimoCalcolatore Distanza 3DCalcolatore del ToroCalcolatore del Tronco di ConoCalcolatore di Area del Poligono IrregolareCalcolatore di Poligono RegolareIdentificatore di Sezione ConicaCalcolatore di IperboleCalcolatore di ParabolaCalcolatore di Espansione del Teorema BinomialeGeneratore del Triangolo di PascalCalcolatore Notazione Prodotto (Notazione Pi)Calcolatore Notazione Sigma (Sommatoria)Calcolatore del Teorema delle Radici RazionaliCalcolatore della Regola dei Segni di CartesioCalcolatore di Rette Parallele e PerpendicolariCalcolatore Equazione della RettaConvertitore da Forma Standard a Forma Pendenza-IntercettaCalcolatore Forma Punto-PendenzaRisolutore di Sistema di Equazioni Non LineariRisolutore di Equazioni RazionaliRisolutore di Equazioni LetteraliRisolutore di Equazioni TrigonometricheRisolutore di Equazioni EsponenzialiRisolutore di Equazioni LogaritmicheCalcolatore Equazione di Quarto GradoRisolutore di Equazione CubicaCalcolatore di StimaConvertitore Numero in FrazioneGeneratore di Conteggio a SaltiCalcolatore Prezzo UnitarioCalcolatore Funzione Soffitto e PavimentoCalcolatore del Valore AssolutoTrova Schemi NumericiGeneratore di Tabella del Valore PosizionaleCalcolatore Ordine delle Operazioni (PEMDAS)Calcolatore di Addizione e Sottrazione in ColonnaCalcolatore di Moltiplicazione LungaGeneratore di Tavole Pitagoriche🎮 Convertitore di Valuta di Gioco🎲 Calcolatore Probabilità Loot Drop🎰 Calcolatore Pity Gacha⚔️ Calcolatore DPS🎮 Convertitore di Sensibilità dei Giochi❄️ Calcolatore Giorno di Neve🚚 Stimatore Costi Trasloco🔍 Verificatore di Plagio📷 OCR / Immagine in Testo📈 Creatore di Grafici a Linee🥧 Creatore di Grafici a Torta📊 Creatore di Grafici a Barre🔊 Generatore di Toni🖱️ Contatore di ClicBlocco Note Online⬛ Calcolatore Rapporto di Aspetto🌍 Calcolatore Impronta di Carbonio👙 Calcolatore Taglia ReggisenoCalcolatore Misura PneumaticiCalcolatore Costo Carburante🌡️ Calcolatore Indice di Calore🌬️ Calcolatore del Fattore Wind Chill⏰ Sveglia Online⏰ Calcolatore Cartellino Presenze🕐 Convertitore Orario Militare⏱️ Cronometro Online⏱️ Timer Conto alla Rovescia🌐 Convertitore di Fuso OrarioCalcolatore di MoquetteCalcolatore Muro di ContenimentoCalcolatore Dimensionamento HVACCalcolatore IsolamentoCalcolatore PavimentazioneCalcolatore ArmaturaCalcolatore LegnameCalcolatore di MetraturaCalcolatore di Moltiplicazione IncrociataCalcolatore del Riepilogo a Cinque NumeriCalcolatore di PercentileCalcolatore Distribuzione NormaleCalcolatore del Valore pCalcolatore di RapportiCalcolatore del Completamento del QuadratoCalcolatore di Divisione LungaCalcolatrice ScientificaTimer Studio PomodoroCalcolatore di Cifre SignificativeCalcolatore Punteggio TestCalcolatore di Voti PonderatiCalcolatore di Voto FinaleCalcolatore Frequenza di RisonanzaCalcolatore di ImpedenzaCalcolatore di Decibel (dB)Calcolatore del Fattore di PotenzaCalcolatore Costante di Tempo RCCalcolatrice per TrasformatoriCalcolatore Sezione CavoCalcolatore Timer 555Calcolatore di CondensatoreCalcolatore Resistenze in ParalleloCalcolatore del Partitore di TensioneCalcolatore Resistore per LEDConvertitore Mole/Grammo/ParticellaCalcolatore di TitolazioneCalcolatore del Punto di EbollizioneCalcolatore di Formula EmpiricaCalcolatore della Resa PercentualeCalcolatore di StechiometriaBilanciatore di Equazioni ChimicheCalcolatore di DiluizioneCalcolatore Cavalli VaporeCalcolatore di CoppiaCalcolatore Caduta LiberaCalcolatore della Legge dei Gas IdealiCalcolatore di PressioneCalcolatore di DensitàCalcolatore di Lavoro e PotenzaCalcolatore di Energia PotenzialeCalcolatore di Energia CineticaCalcolatore del Moto del ProiettileCalcolatore di Quantità di MotoCalcolatore di VelocitàCalcolatore di AccelerazioneCalcolatore di ForzaCalcolatore ROI InfluencerCalcolatore ROASCalcolatore CTROttimizzatore Orari di Pubblicazione sui Social MediaCalcolatore ROI Social MediaCalcolatore Costi Pubblicità FacebookCalcolatore di Monetizzazione YouTube ShortsCalcolatore di Guadagni TwitchCalcolatore Tempo di Visualizzazione YouTubeConvertitore di Timestamp Twitter/XStatistiche del Canale YouTubeCalcolatore Guadagni TikTokGuida alle Dimensioni Immagini Social MediaGeneratore di Font per InstagramContatore Caratteri Twitter/XSelettore di Commenti YouTubeEstrattore di tag YouTubeScaricatore di Miniature YouTubeCalcolatore Guadagni YouTube