Ścieżka hamiltonowska, zwana również ścieżką Hamiltona, to ścieżka grafu między dwoma wierzchołkami grafu, która odwiedza każdy wierzchołek dokładnie raz. Jeśli istnieje ścieżka Hamiltona, której punkty końcowe są sąsiednie, to powstały w ten sposób cykl grafu nazywamy cyklem Hamiltona (lub cyklem Hamiltona).
Graf posiadający ścieżkę Hamiltona nazywamy grafem identyfikowalnym.
W ogólności problem znalezienia ścieżki Hamiltona jest NP-zupełny (Garey i Johnson 1983, pp. 199-200), więc jedynym znanym sposobem na określenie, czy dany graf ogólny ma ścieżkę Hamiltona, jest podjęcie wyczerpującego przeszukiwania
Każdy graf dwudzielny z nierównością parzystości wierzchołków
nie ma ścieżek Hamiltona.
Znalezienie pojedynczej ścieżki hamiltonowskiej grafu
jest zaimplementowane w Wolfram Language jako FindHamiltonianPath. Wszystkie ścieżki hamiltonowskie danego grafu można znaleźć (nieefektywnie) za pomocą polecenia HamiltonianPath w pakiecie Wolfram Language Combinatorica` . Wstępnie obliczoną listę wszystkich ścieżek hamiltonowskich dla wielu nazwanych grafów można uzyskać za pomocą GraphData, gdzie i obie orientacje ścieżek są uwzględnione (tak, że ![]()
jest uważany za odrębny od ![]()
). Wstępnie obliczona liczba odpowiadających im ścieżek Hamiltona jest podawana przez GraphData.
Całkowite liczby skierowanych ścieżek Hamiltona dla wszystkich grafów prostych rzędu
, 2, … wynoszą 0, 2, 8, 50, 416, 5616, 117308, 4862736, …. (OEIS A193352).
Rubin (1974) opisuje efektywną procedurę wyszukiwania, która może znaleźć niektóre lub wszystkie ścieżki i obwody Hamiltona w grafie przy użyciu dedukcji, które znacznie redukują backtracking i zgadywanie. Probabilistyczny algorytm Angluina i Valianta (1979), opisany przez Wilfa (1994), może być również użyteczny do znajdowania cykli i ścieżek Hamiltona. Ścieżka Hamiltonowska pomiędzy dwoma wierzchołkami
i
może być znaleziona, jeśli dostępny jest algorytm dla cykli Hamiltonowskich. Można to zrobić, sprawdzając, czy oryginalny graf
zawiera krawędź
i dodając ją, jeśli nie, aby uzyskać
. Ponieważ ścieżka Hamiltona z sąsiadującymi punktami końcowymi jest cyklem Hamiltona i ponieważ
i
są teraz sąsiadujące, znalezienie cyklu hamiltonowskiego i podział na krawędziach daje ścieżkę hamiltonowską od
do
w
. Podobnie, jeśli żaden cykl hamiltonowski nie istnieje w
, to nie istnieje ścieżka hamiltonowska od
do
w
.
Poniższa tabela podsumowuje liczby (nieukierunkowanych) ścieżek Hamiltona na różnych klasach grafów.
| graf | formuła |
| graf sztangowy | |
| graf koktajlowy |
|
| graf całkowity |
|
| graf dwudzielny zupełny |
|
| |
|
| graf cykliczny |
|
| przekrój graph | |
| graf drabinkowy |
|
| Drabina Möbiusa |
|
| graf ścieżki |
1 |
| graf pryzmatyczny |
|
| graf słoneczny | |
| graf koła |
Zależności rekurencyjne dla liczby skierowanych ścieżek Hamiltonowskich dla niektórych rodzin grafów są podsumowane poniżej.
| graf | kolejność | rekurencja |
| graf antypryzmatyczny | 9 | |
| wykres korony | 3 | |
| graf pryzmatyczny |
6 |