Discrete wiskunde > Grafentheorie > Circuits >

Een Hamiltoniaans pad, ook Hamiltonpad genoemd, is een grafiekpad tussen twee hoekpunten van een grafiek dat elk hoekpunt precies één keer aandoet. Als er een Hamiltonpad bestaat waarvan de eindpunten aangrenzend zijn, dan wordt de resulterende grafiekcyclus een Hamiltoncyclus (of Hamiltoncyclus) genoemd.

Een grafiek die een Hamiltonpad bezit, wordt een traceerbare grafiek genoemd.

In het algemeen is het probleem van het vinden van een Hamiltonpad NP-compleet (Garey en Johnson 1983, pp. 199-200), dus de enige bekende manier om te bepalen of een gegeven algemene grafiek een Hamiltoniaans pad heeft, is een uitputtende zoektocht

Elke tweepartiete grafiek met een vertexpariteitsonevenwichtigheid 1 heeft geen Hamiltoniaanse paden.

Hamiltoniaanse paden vinden van een grafiek g is in de Wolfram-taal geïmplementeerd als FindHamiltonianPath. Alle Hamiltoniaanse paden van een gegeven grafiek kunnen (inefficiënt) worden gevonden met het commando HamiltonianPath in het Wolfram Language pakket Combinatorica` . Een vooraf berekende lijst van alle Hamiltoniaanse paden voor veel genoemde grafieken kan worden verkregen met GraphData, waarbij en beide richtingen van paden worden meegenomen (zodat {} als verschillend van {} wordt beschouwd). Een vooraf berekende telling van het corresponderende aantal Hamiltoniaanse paden wordt gegeven door GraphData.

De totale aantallen gerichte Hamiltoniaanse paden voor alle eenvoudige grafieken van de orden n=1, 2, … zijn 0, 2, 8, 50, 416, 5616, 117308, 4862736, … (OEIS A193352).

Rubin (1974) beschrijft een efficiënte zoekprocedure die enkele of alle Hamiltonpaden en -schakelingen in een grafiek kan vinden met behulp van deducties die backtracking en giswerk sterk verminderen. Een probabilistisch algoritme van Angluin en Valiant (1979), beschreven door Wilf (1994), kan ook nuttig zijn om Hamiltoniaanse cycli en paden te vinden. Een Hamiltoniaans pad tussen twee hoekpunten i en j kan gevonden worden als er een algoritme voor Hamiltoniaanse cycli beschikbaar is. Dit kan door te controleren of de oorspronkelijke grafiek G de rand (i,j) bevat en deze zo niet toe te voegen om G^'' te verkrijgen. Aangezien een Hamiltoniaans pad met aangrenzende eindpunten een Hamiltoniaanse cyclus is en aangezien i en j nu aangrenzend zijn, geeft het vinden van een Hamiltoniaanse cyclus en splitsen aan de rand een Hamiltoniaans pad van i naar j in G. Evenzo, als er geen Hamiltoniaanse cyclus bestaat in G^'', dan is er geen Hamiltoniaans pad van i naar j in G.

De volgende tabel geeft een overzicht van de aantallen (ongerichte) Hamiltoniaanse paden op verschillende klassen van grafieken.

grafiek formule
barbelgrafiek ^2
cocktailpartygrafiek K_(n×2) (2n)!_1F_1(-n;-2n;-2)
volledige grafiek K_n n!
complete tweeledige grafiek K_(n,n) (n!)^2
2n-doorkruiste prisma grafiek 6-2^(n-1)n(n+1)
cyclusgrafiek C_n n
versnelling grafiek n(n+1)
laddergrafiek P_2 kwadraat P_n n^2-n+2
Möbius ladder M_n 1/2(-1)^nn
padgrafiek P_n 1
prisma grafiek Y_n 1/2n
zonnegrafiek n(n+1)
wielgrafiek W_n 2(n-1)(n-2)

Recurrence-relaties voor het aantal gerichte Hamiltoniaanse paden voor enkele grafiekfamilies worden hieronder samengevat.

graf orde recurrence
antiprisma-grafiek 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)
kroongrafiek 3 a_n=n(n-1)^2a_(n-2)+(n-2)n(n-1)a_(n-3)+n(n-1)a_(n-1)
prisma grafiek Y_n 6 a_n=-a_(n-6)+2a_(n-5)+a_(n-4)-4a_(n-3)+a_(n-2)+2a_(n-1)

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *