Semplifica il tuo flusso di lavoro: cerca miniwebtool.
Aggiungi
Strumenti correlati
Calcolatore del Percorso più Breve di DijkstraCalcolatore di Colorazione di GrafiValidatore di Sequenza di Gradi di GrafoCalcolatore di Flusso in Rete (Flusso Massimo)Verificatore di Grafo PlanareCalcolatore di Cifre SignificativeCalcolatore di Ordinamento Topologico
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 angeli📅 Calcolatore di DataCalcolatrice di Compatibilità AmorosaCalcolatore Segno Solare, Lunare e Ascendente 🌞🌙✨Calcolatore di SommeGeneratore di parole casuali in ingleseRimuovi spaziCalcolatore di Compatibilità dei Segni LunariConvertitore di Tempo in DecimaliConvertitore di Piedi e Pollici in CentimetriFormattatore di Testo⏱️ Calcolatore di OreRicerca ID Utente InstagramRicerca ID Utente FacebookQual è il mio numero fortunato?Generatore di CrucipuzzleEstrattore di Immagini da VideoCalcolatore del Giorno dell'Anno - Che giorno dell'anno è oggi?Generatore di Carte da Gioco CasualeConvertitore da esadecimale a decimaleCalcolatore del numero di percorso di vitaCalcolatore per ridurre frazioniCalcolatore EsadecimaleGeneratore di Citazioni CasualiPalla Magica 8Convertitore Numero in FrazioneGeneratore di anagrammiGeneratore di Orario CasualeSelettore di Film CasualeGeneratore di Obbligo o Verità AleatorioCalcolatore del Numero del NomeVerificatore di Nome Utente sui Social MediaCalcolatore del Numero dell'AnimaEstrattore AudioGeneratore di stringhe casualiCalendario del Giorno dell'AnnoInverti Testoconvertitore da ppm a percentualeCalcolatore di ScalaGeneratore di Date CasualiConvertitore da cm a piedi e polliciDivisore AudioSegnapunti TennisGeneratore casuale di animaliGeneratore di Colori CasualiCompressore VideoCalcolatore del percentile di altezzaConvertitore di Percentuale in PPMUnisci Videoricerca-indirizzo-MACRimuovi linee vuote da un testoCalendario di Mercurio RetrogradoConvertitore da Decimale a TempoCalcolatore di Durata del TempoConvertitore da binario a esadecimaleGeneratore di oggetti casualiLista di Anni BisestiliDivisore videoCalcolatore Dimensioni di Stampa e Risoluzione (DPI/PPI)Calendario di luna nuova e luna pienaCalcolatore BinarioConvertitore di potenzaGeneratore di Personaggi RPG CasualeCalcolatore del Test Chi-QuadratoCalcolatrice della Deviazione Standard RelativaConvertitore di Frequenza e Lunghezza d'OndaDivisore di ImmaginiMiglioratore di ImmaginiCalcolatore del calcio correttoCalcolatore della Media GeometricaConvertitore da decimale a esadecimaleValidatore XMLCalcolatore Ritmo NuotoCalcolatore del Coefficiente di VariazioneOrdina NumeriCalcolatore della Circonferenza di un EllisseCalcolatore di calcestruzzoCalcolatore EBITDA🔍 Verificatore di PlagioCalcolatore di Comparazione di FrazioniCalcolatore di Log in Base 10Calcolatore di notazioni scientificheConvertitore da Esadecimale a BinarioGeneratore di LabirintiCalcolatore dell'Aspettativa di VitaCalcolatore Posizione del SoleConvertitore FPS🔊 Generatore di ToniGeneratore di Superpotere Casualegeneratore-di-testo-capovoltoAggiungi o Sostituisci Audio nel VideoCalcolatore della Distanza di VoloCalcolatore dello Zodiaco dell'Albero CelticoCalcolatore di ArrotondamentoGeneratore di Compleanni CasualiGeneratore di Unisci i PuntiniCreatore di CruciverbaConvertitore di AngoliGeneratore di CrittogrammaStatistiche del Canale YouTubeCalcolatrice di NumerologiaCalcolatore del Ritorno di SaturnoConvertitore di Velocità di Trasferimento DatiConvertitore HTML in TestoGeneratore di IMEI CasualeCalcolatrice del Numero d'EspressioneCalcolatore di Probabilità dei DadiCalcolatore tempo di raffreddamento birraStrumento Cifrario di VigenèreCalcolatore di Differenza di ListeCalcolatore di diminuzione di percentualeCalcolatore di Guadagni TwitchContatore di lineaContatore di Token AICalcolatore da frazione a decimaleRuota VideoCalcolatore CAGRCalcolatore del Numero della PersonalitàCalcolatore dell'ArcotangenteCalcolatore della TangenteCalcolatore delle frazioni equivalentiConfronta due stringheCalcolatore di alba e tramontoConvertitore di VelocitàStrumento online per rimuovere la punteggiaturaAggiungi prefisso e suffisso al testoCalcolatore del deficit caloricoCalcolatore dell'Arcocoseno (Coseno Inverso)Calcolatore Lunghezza AntennaCalcolatore Rapporto ParcheggioConvertitore in numeri romaniGeneratore di indirizzi MACRimozione Caratteri InvisibiliCalcolatore del Segno di VenereCalcolatore di Filo per Punto CroceConta il numero di caratteriGeneratore di Argomenti di Dibattito CasualiGeneratore di Coordinate CasualiGeneratore di Lettera CasualeCalcolatore dell'Area di un EllisseCalcolatrice del giorno della settimana di nascitaGeneratore di Emoji CasualeCalcolatore di Conversione Scala ModelloCalcolatore di Decibel (dB)Calcolatore di VelocitàGeneratore di Tabelloni Torneo CasualiRandomizzatore di listaCalcolatore del cerchioCalcolatore di Arctan2Calcolatore Media, Mediana e Modaconvertitore da parole a numero di telefonoConvertitore di Unità di CucinaConvertitore Taglie di AbbigliamentoGeneratore di Gruppi CasualiGeneratore Sasso Carta ForbiciRegola Velocità VideoCalcolatore Proporzioni Ricette👙 Calcolatore Taglia ReggisenoConvertitore da binario a ottaleConvertitore Misura AnelloGeneratore di frequenza sonora casualeInverti VideoAnalizzatore di Frequenza delle ParoleCalcolatore del Giorno della SettimanaCalcolatore del Numero MaestroCalcolatore di anni caniniCalcolatore Guadagni YouTubeCalcolatore Notazione Sigma (Sommatoria)Convertitore di dimensioni del fileConvertitore di Taglie ScarpeGeneratore di Carte di Credito CasualeCalcolatore della Congettura di CollatzCalcolatore di radice quadrataCalcolatore di Velocità di CiclismoCalcolatore Handicap GolfEspansore di Frasi AIGeneratore di Morse CodeRimuovi audio da videoStrumento Cifrario di CesareVerificatore di Robustezza della PasswordVerificatore Numero Pari o DispariAggiungi Testo all'ImmagineCalcolatore Cavalli VaporeCalcolatore del SonnoCalcolatore dell'Errore PercentualeCalcolatore Resistore per LEDConvertitore di Codici Colore (Tutti i Formati)Convertitore di piedi in metriGeneratore di Testo BarratoCalcolatore del segno di mercurioCalcolatore del Segno LunareCalcolatore di Area del Poligono IrregolareCalcolatore di log naturaleCalcolatore di ModuloCalcolatore di Pendenza e GradoCalcolatore di pH🖱️ Contatore di ClicConvertitore di pollici in cmLista di Numeri di FibonacciCalcolatore del Consumo di AcquaCalcolatore 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 Riempimento TuboCalcolatore di Condensatori in Serie e ParalleloCalcolatore di Reattanza InduttivaCalcolatore di Illuminazione della StanzaCalcolatore da Lux a LumenConvertitore da Lumen a WattCalcolatore Dimensione GeneratoreConvertitore da mAh a WhCalcolatore 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 SATConvertitore da Percentuale a CGPAConvertitore da CGPA a PercentualeCorrettore Voti Facile (EZ Grader)Calcolatore del Costo di Crescere un FiglioCalcolatore di Assunzione di Latte per NeonatiCalcolatore Taglia PannoliniGeneratore di Nomi per BambiniPredittore del Colore degli Occhi del BambinoCalcolatore del Percentile BMI per BambiniCalcolatore Altezza Futura del BambinoCalcolatore del Tempo di Raddoppiamento dell'hCGCalcolatore della Data Prevista del Parto FIVETCalcolatore di ImpiantoPredittore Cinese del Sesso del BebèFormattatore di Date ISO 8601Convertitore Data GiulianaNap CalculatorCalcolatore delle Fasi LunariOrologio MondialeConvertitore da Data a Numeri RomaniConto alla Rovescia per la PensioneCalcolatore di SobrietàCalcolatore di Mezzo CompleannoCalcolatore AnniversarioCalcolatore Numero della SettimanaCalcolatore di Ripartizione delle ManceCalcolatore ROI Email MarketingCalcolatore del Costo Per LeadCalcolatore del Capitale Circolante