Percorso Hamiltoniano

Matematica Discreta >

Circuiti >

Un percorso Hamiltoniano, chiamato anche percorso di Hamilton, è un percorso tra due vertici di un grafico che visita ogni vertice esattamente una volta. Se esiste un percorso hamiltoniano i cui punti finali sono adiacenti, allora il ciclo del grafo risultante è chiamato ciclo hamiltoniano (o ciclo hamiltoniano).

Un grafo che possiede un percorso hamiltoniano è chiamato traceablegraph.

In generale, il problema di trovare un percorso hamiltoniano è NP-completo (Garey e Johnson 1983, pp. 199-200), quindi l’unico modo conosciuto per determinare se un dato grafo generale ha un percorso hamiltoniano è quello di intraprendere una ricerca esaustiva

Ogni grafo bipartito con uno sbilanciamento di parità dei vertici 1 non ha percorsi hamiltoniani.

Trovare un singolo percorso hamiltoniano di un grafo g è implementato nel linguaggio Wolfram come FindHamiltonianPath. Tutti i percorsi hamiltoniani di un dato grafo possono essere trovati (in modo inefficiente) usando il comando HamiltonianPath nel pacchetto Combinatorica` del linguaggio Wolfram. Una lista precalcolata di tutti i percorsi hamiltoniani per molti grafi nominati può essere ottenuta usando GraphData, dove e entrambi gli orientamenti dei percorsi sono inclusi (in modo che {} è considerato distinto da {}). Un conteggio precalcolato del corrispondente numero di cammini hamiltoniani è dato da GraphData.

I numeri totali di cammini hamiltoniani diretti per tutti i grafi semplici di ordine n=1, 2, … sono 0, 2, 8, 50, 416, 5616, 117308, 4862736, … (OEIS A193352).

Rubin (1974) descrive una procedura di ricerca efficiente che può trovare alcuni o tutti i percorsi e circuiti Hamilton in un grafo usando deduzioni che riducono notevolmente il backtracking e le congetture. Un algoritmo probabilistico dovuto ad Angluin e Valiant (1979), descritto da Wilf (1994), può anche essere utile per trovare cicli e percorsi hamiltoniani. Un percorso hamiltoniano tra due vertici i e j può essere trovato se è disponibile un algoritmo per i cicli hamiltoniani. Questo può essere fatto controllando se il grafico originale G contiene il bordo (i,j) e aggiungendolo in caso contrario per ottenere G^''. Poiché un percorso hamiltoniano con punti finali adiacenti è un ciclo hamiltoniano e poiché i e j sono ora adiacenti, trovando un ciclo hamiltoniano e dividendo il bordo si ottiene un percorso hamiltoniano da i a j in G. Allo stesso modo, se non esiste un ciclo hamiltoniano in G^'', allora non esiste un percorso hamiltoniano da i a j in G.

La seguente tabella riassume i numeri di percorsi hamiltoniani (non diretti) su varie classi di grafi.

grafo formula
grafo a bilanciere ^2
grafico del cocktail party K_(n×2) (2n)!_1F_1(-n;-2n;-2)
grafico completo K_n n!
grafo bipartito completo K_(n,n) (n!)^2
2n grafo a prisma incrociato
6-2^(n-1)n(n+1)
grafico del ciclo C_n n
grafico del cambio grafico n(n+1)
grafico ladder P_2 piazza P_n n^2-n+2
Scala di Möbius M_n 1/2(-1)^nn
percorso grafico P_n 1
grafico del prisma Y_n 1/2n
grafico del sole n(n+1)
grafico della ruota W_n 2(n-1)(n-2)

Le relazioni di ricorrenza per il numero di percorsi hamiltoniani diretti per alcune famiglie di grafi sono riassunte di seguito.

graph order recurrence
grafico antiprisma 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)
grafico a corona 3 a_n=n(n-1)^2a_(n-2)+(n-2)n(n-1)a_(n-3)+n(n-1)a_(n-1)
grafico del prisma Y_n 6 a_n=-a_(n-6)+2a_(n-5)+a_(n-4)-4a_(n-3)+a_(n-2)+2a_(n-1)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *