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 heeft geen Hamiltoniaanse paden.
Hamiltoniaanse paden vinden van een grafiek 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 , 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 en kan gevonden worden als er een algoritme voor Hamiltoniaanse cycli beschikbaar is. Dit kan door te controleren of de oorspronkelijke grafiek de rand bevat en deze zo niet toe te voegen om te verkrijgen. Aangezien een Hamiltoniaans pad met aangrenzende eindpunten een Hamiltoniaanse cyclus is en aangezien en nu aangrenzend zijn, geeft het vinden van een Hamiltoniaanse cyclus en splitsen aan de rand een Hamiltoniaans pad van naar in . Evenzo, als er geen Hamiltoniaanse cyclus bestaat in , dan is er geen Hamiltoniaans pad van naar in .
De volgende tabel geeft een overzicht van de aantallen (ongerichte) Hamiltoniaanse paden op verschillende klassen van grafieken.
grafiek | formule |
barbelgrafiek | |
cocktailpartygrafiek | |
volledige grafiek | |
complete tweeledige grafiek | |
-doorkruiste prisma grafiek | |
cyclusgrafiek | |
versnelling grafiek | |
laddergrafiek | |
Möbius ladder | |
padgrafiek | 1 |
prisma grafiek | |
zonnegrafiek | |
wielgrafiek |
Recurrence-relaties voor het aantal gerichte Hamiltoniaanse paden voor enkele grafiekfamilies worden hieronder samengevat.
graf | orde | recurrence |
antiprisma-grafiek | 9 | |
kroongrafiek | 3 | |
prisma grafiek | 6 |