Ś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 graniastosłupa prawidłowego | |
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 |