Semplifica il tuo flusso di lavoro: cerca miniwebtool.
Aggiungi
Vedi anche
Controllo ReindirizzamentiCalcolatore della Legge di Beer-LambertCalcolatore del Prossimo Anno BisestilePrevisione di Ovulazione
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.

Operazioni matematiche avanzate:

Strumenti in primo piano:

Calcolatore dei numeri degli angeliCalcolatrice di Compatibilità AmorosaCalcolatore Ascendente, Segno Solare e Lunare 🌞🌙✨Calcolatore di Compatibilità dei Segni Lunari📅 Calcolatore di DataCalcolatore di SommeGeneratore di parole casuali in ingleseRicerca Citazioni (Inglese)Calcolatore del numero di percorso di vitaVerificatore di Nome Utente sui Social MediaEstrattore di Immagini da VideoFormattatore di TestoCalcolatore Posizione del SoleCalcolatore EsadecimaleConvertitore di Piedi e Pollici in CentimetriQual è il mio numero fortunato?Ricerca ID Utente InstagramCalcolatore del percentile di altezzaGeneratore di Superpotere CasualeCalcolatore del Numero dell'AnimaGeneratore di Citazioni CasualiConvertitore da esadecimale a decimaleGeneratore casuale di animaliGeneratore di Carte da Gioco CasualeGeneratore di Obbligo o Verità AleatorioPalla Magica 8Calcolatore del Giorno dell'Anno - Che giorno dell'anno è oggi?Generatore di Gruppi CasualiCalcolatore del Numero del NomeCalcolatore di ScalaEstrattore AudioCalcolatore per ridurre frazioniInverti TestoSelettore di Film CasualeGeneratore di Date CasualiRimuovi linee vuote da un testoRimuovi spaziConvertitore da cm a piedi e polliciGeneratore di stringhe casualiGeneratore di anagrammiDivisore AudioUnisci VideoGeneratore di CrucipuzzleRicerca Indirizzo MACRicerca ID Utente FacebookCalcolatore tempo di raffreddamento birra⏱️ Calcolatore di OreCalcolatore di VelocitàConvertitore FPSCalcolatore della Media GeometricaCalcolatore BinarioGeneratore di Testo CapovoltoGeneratore di Orario CasualeConvertitore Misura AnelloDivisore videoGeneratore di oggetti casualiSegnapunti TennisCalcolatore di Guadagni TwitchCompressore VideoCalcolatore del deficit caloricoCalcolatore del Giorno della SettimanaGeneratore di Personaggi RPG CasualeConvertitore da decimale a esadecimaleDivisore di ImmaginiCalcolatore di ArrotondamentoLista di Anni BisestiliRuota VideoCalcolatore del Segno LunareCalcolatore della Congettura di CollatzCalcolatore Formula di EroneCalcolatore del calcio corretto👙 Calcolatore Taglia ReggisenoCalendario del Giorno dell'AnnoConvertitore in numeri romaniCreatore di CruciverbaMiglioratore di ImmaginiConvertitore da Decimale a TempoCalcolatore dell'Aspettativa di VitaOrdina NumeriCalcolatore del Numero della PersonalitàCalcolatore Dimensioni di Stampa e Risoluzione (DPI/PPI)Calcolatore del Ritorno di SaturnoCalcolatore del Segno di VenereGeneratore di Compleanni CasualiGeneratore di Piani di Allenamento IAStrumento Cifrario di VigenèreCalcolatore dell'ArcotangenteCalcolatore di combinazioneStrumento Cifrario di CesareConvertitore da Lbs a KgCalcolatore PERCalcolatore del Numero del DestinoCalcolatore del SonnoConvertitore di Percentuale in PPMGeneratore di CrittogrammaValidatore XML🔍 Verificatore di PlagioCalcolatrice del Numero d'Espressioneconvertitore da ppm a percentualeGeneratore di Argomenti di Dibattito CasualiStatistiche del Canale YouTubeCalcolatore di anni caniniCalcolatore di radice quadrataCalcolatrice di NumerologiaConvertitore da binario a esadecimaleGeneratore di Lettera CasualeCalcolatore del Tempo di Raddoppiamento dell'hCGCalcolatore dell'Errore PercentualeCalcolatore Dosaggio FarmacoCalcolatore Unità Alcoliche StandardContatore di lineaConvertitore da kPa a psiConvertitore Data GiulianaConvertitore di Velocità di Trasferimento DatiGeneratore di Colori CasualiGeneratore di IMEI CasualePredittore Cinese del Sesso del BebèCalcolatore dell'Arcocoseno (Coseno Inverso)Calcolatore dell'ArcosenoConvertitore di Tempo in DecimaliCalcolatore delle Ore di Studio per la Fluidità LinguisticaCalcolatore di Affitto Sostenibile🖱️ Contatore di ClicConvertitore da DMS a Gradi Decimali🔊 Generatore di ToniUmanizzatore di Testo AIÈ un Numero Primo?Calcolatore di Inflazione USCalendario di luna nuova e luna pienaConvertitore di Frequenza e Lunghezza d'OndaConvertitore HTML in TestoGeneratore di Accordi CasualiRisolutore di DisequazioniVerificatore Numero Pari o DispariCalcolatore del Test Chi-QuadratoCalcolatore della Distanza di VoloCalcolatore di Differenza di Liste📅 Calcolatore Differenza tra DateCalcolatore Proporzioni RicetteCalcolatore Ritmo NuotoConvertitore di VelocitàGeneratore di frequenza sonora casualeGeneratore di Pasti CasualiGeneratore di Testo BarratoSelettore di Nome CasualeAggiungi Testo all'ImmagineCalcolatore del Consumo di AcquaCalcolatore di Filo per Punto CroceCalcolatore di Stipendio in BagnoCalcolatore Resistore per LEDCalcolatore Sottorete IPContatore di SillabeConvertitore da mAh a WhConvertitore Numero in FrazioneDecodificatore di Morse CodeGeneratore di Distribuzione GaussianaSimulatore di Porte LogicheCalcolatore Altezza Futura del BambinoCalcolatore da frazione a decimaleCalcolatore di Area del Poligono IrregolareCalcolatore di conversione da decimale a frazioneCalcolatore di Log in Base 10Calcolatore GFRCalcolatore Handicap GolfCalcolatore Passi in DistanzaConfronta due stringheConvertitore Calendario EbraicoConvertitore da Esadecimale a BinarioGeneratore di PaletteGeneratore di Tabelloni Torneo CasualiInterprete dei sogni AILista di numeri cubiVerificatore di Squadratura (Regola 3-4-5) 📐Calcolatore del Numero MaestroCalcolatore del Volume di un EllissoideCalcolatore delle dimensioni dello zainoCalcolatore di alba e tramontoCalcolatore di Comparazione di FrazioniCalcolatore di etàCalcolatore Prezzo Progetti FreelanceCalcolatore Quanto Tempo FaConta il numero di caratteriConvertitore di dimensioni del fileGeneratore di PIN CasualeGeneratore di Nomi FantasyGeneratore di Biscotti della FortunaGeneratore di Idee per DisegnareGeneratore di spunti per il diarioGeneratore di affermazioni giornaliereGeneratore di complimentiGeneratore di frasi per rimorchiareGeneratore di battute da papàGeneratore di barzellette casualiGeneratore di curiosità casualiGeneratore di domande triviaGeneratore di parole per l'impiccatoGeneratore di parole per PictionaryGeneratore di SciaradaGeneratore di domande rompighiaccioGeneratore Io non ho maiGeneratore PreferirestiGeneratore di domande casualiGeneratore di biglietti di ringraziamento con IAGeneratore di discorsi di nozze con IAGeneratore di Comunicati Stampa AIGeneratore di Descrizioni di Prodotto con IAGeneratore di Script Video AIGeneratore di Titoli e Descrizioni YouTube con IAGeneratore di Didascalie Instagram con IAGeneratore di Titolo e Bio LinkedIn con IAGeneratore di Punti per Curriculum IAGeneratore di Lettere di Presentazione con IAGeneratore di testi rap con IAAppiattire PDFSblocca PDF (Rimozione password proprietario)Estrattore da PDF a testoEstrattore di pagine PDFContatore di Parole PDFProteggi PDFAggiungi numeri di pagina al PDFRiordina pagine PDFElimina pagine PDFRuota PDFDa JPG a PDFPDF in JPGComprimi PDFDividere PDFUnire PDFConvertitore da PT a PXConvertitore da PX a REMConvertitore da Tola a GrammiConvertitore di unità di terra indianeConvertitore da mcg a mgGeneratore di testi di canzoni con IAGeneratore di poesie IAGeneratore di storie IATraduttore IARiassuntore di Testo IAConvertitore da mg a mLConvertitore da MPH a KMHConvertitore da nodi a MPHMetri cubi a piedi cubiConvertitore da piedi cubi a iarde cubeConvertitore da piedi quadrati a metri quadratiConvertitore da metri quadrati a piedi quadratiConvertitore Oz in mLConvertitore ML in ozConvertitore da galloni a litriConvertitore da litri a galloniConvertitore da Kg a StoneConvertitore da Stone a KgConvertitore da pollici a millimetriConvertitore da millimetri a polliciConvertitore da miglia a kmConvertitore da km a migliaConvertitore da Fahrenheit a CelsiusConvertitore da Celsius a FahrenheitCalcolatore del volume della tavola da surfCalcolatore della misura dell’impugnatura da tennisCalcolatore della Taglia del CascoCalcolatore della taglia dei guantiConvertitore di taglie per cappelliCalcolatore della taglia dello snowboardCalcolatore delle dimensioni degli sciCalcolatore della taglia della biciTimer per split di speedrunCalcolatore StablefordCalcolatore checkout freccetteCalcolatore dell’economia del bowlingCalcolatore Strike Rate CricketCalcolatore Net Run RateCalcolatore Rapporto K/DCalcolatore Rating EloCalcolatore del Recupero della Frequenza CardiacaCalcolatore del tempo di escursioneCalcolatore del Ritmo di CanottaggioCalcolatore Age-Grading CorsaCalcolatore FTP e zone di potenzaCalcolatore Beep TestCalcolatore punteggio ACFTCalcolatore Wilks & DOTSCalcolatore Offset RuotaRicerca Indice di Carico e Indice di Velocità PneumaticiCalcolatore del Costo per MiglioCalcolatore di Riscatto del LeasingCalcolatore Miscela OttaniCalcolatore Miscela Olio 2 TempiCalcolatore Cilindrata MotoreCalcolatore Ingombro Divano PortaCalcolatore di Cataste di LegnaCalcolatore CADR Purificatore AriaCalcolatore Dimensione DeumidificatoreCalcolatore Dimensione Ventilatore da SoffittoCalcolatore Dimensioni TendeCalcolatore Dimensione TappetoCalcolatore Altezza per Appendere QuadriCalcolatore Altezza di Montaggio TVCalcolatore Dimensioni TVCalcolatore Volume e Telo per LaghettoCalcolatore Sale PiscinaCalcolatore Volume PiscinaCalcolatore Dimensione ScaldabagnoCalcolatore di Resina EpossidicaCalcolatore Spaziatura BalaustriCalcolatore di Battiscopa e ModanatureCalcolatore di RivestimentoCalcolatore impregnante per deckCalcolatore Semi per PratoCalcolatore di Zolle ErboseCalcolatore AsfaltoCalcolatore di Iarde CubeCalcolatore Lunghezza AntennaCalcolatore Riempimento TuboCalcolatore di Condensatori in Serie e ParalleloCalcolatore di Reattanza InduttivaCalcolatore di Illuminazione della StanzaCalcolatore da Lux a LumenConvertitore da Lumen a WattCalcolatore Dimensione GeneratoreCalcolatore di Potenza TrifaseCalcolatore kVACalcolatore da Ampere a WattCalcolatore da Watt ad AmpereCalcolatore Resistenze in SerieCalcolatore di AttritoCalcolatore del Piano InclinatoCalcolatore del Vantaggio MeccanicoCalcolatore della Velocità del SuonoCalcolatore della Velocità dell'OndaCalcolatore di galleggiabilitàCalcolatore di Velocità TerminaleCalcolatore della Lunghezza d'Onda di de BroglieCalcolatore di Energia del FotoneCalcolatore E=mc²Calcolatore di Dilatazione del TempoCalcolatore della Terza Legge di KepleroCalcolatore della Velocità di FugaCalcolatore della Forza GravitazionaleCalcolatore della Legge di Beer-LambertCalcolatore dell'Equazione di NernstCalcolatore della Pressione OsmoticaCalcolatore di Innalzamento del Punto di EbollizioneCalcolatore di Abbassamento del Punto di CongelamentoCalcolatore di Composizione PercentualeCalcolatore di NormalitàCalcolatore di MolalitàConvertitore da pKa a KaCalcolatore di Henderson-HasselbalchCalcolatore della Resa TeoricaCalcolatore del Reagente LimitanteCalcolatore di Configurazione ElettronicaTavola Periodica InterattivaGeneratore di Piani di Lezione con IAGeneratore di Quiz IAGeneratore di Citazioni (APA/MLA/Chicago)Calcolatore Percentuale di PresenzeAP Score CalculatorCalcolatore Punteggio ACTCalcolatore Punteggio SATCalcolatore Guadagni YouTube