Od 2010 · Ponad 2 mln uruchomień narzędzi miesięcznie
Od 2010
Dodaj do Chrome

Moje Narzędzia

Tryb Automatyczny

Nie zapisano jeszcze żadnych narzędzi.

Uaktualnij do Wersji Premium
Powiązane narzędzia
Walidator Grafu PlanarnegoKalkulator Najkrótszej Ścieżki DijkstryPredyktor owulacji
Strona główna > Matematyka > Zaawansowane działania matematyczne
 

Sprawdzanie Ścieżki Hamiltona

Sprawdź, czy graf zawiera ścieżkę lub cykl Hamiltona. Używa backtrackingu z regułą Warnsdorffa, weryfikuje spójność i warunki stopni, testuje warunki Diraca i Orego oraz pokazuje znalezioną ścieżkę na diagramie SVG.

BezpłatneBez rejestracjiNatychmiastowe wyniki
Sprawdzanie Ścieżki HamiltonaWypróbuj teraz — za darmo ▼
Akceptuje A-B, A->B, A B, A,B lub wiersze macierzy jak 0 1 1 0. Użyj liter, cyfr lub znaku podkreślenia dla etykiet.
Etykiety oddzielone przecinkami lub spacjami, po jednej na wiersz. W przypadku pominięcia domyślnie A, B, C…

Embed Sprawdzanie Ścieżki Hamiltona Widget

O Sprawdzanie Ścieżki Hamiltona

Sprawdzanie ścieżki Hamiltona rozstrzyga, czy graf zawiera ścieżkę Hamiltona — sekwencję odwiedzającą każdy wierzchołek dokładnie raz — lub cykl Hamiltona, który dodatkowo powraca do wierzchołka początkowego. Łączy w sobie szybkie wstępne kontrole strukturalne (spójność, wymagania dotyczące stopni, twierdzenie Diraca, twierdzenie Ore) z przeszukiwaniem z nawrotami dostrojonym przez heurystykę Warnsdorffa oraz wizualizuje ścieżkę świadka za pomocą animacji krok po kroku.

Co to jest ścieżka Hamiltona?

Dla danego grafu G = (V, E) o n wierzchołkach, ścieżka Hamiltona to uporządkowana sekwencja v1, v2, …, vn wszystkich wierzchołków taka, że każda kolejna para (vi, vi+1) jest krawędzią w G, a każdy wierzchołek pojawia się dokładnie raz. Jeśli dodatkowo (vn, v1) jest krawędzią, sekwencja ta jest cyklem Hamiltona.

Ścieżka Hamiltona: v1 — v2 — v3 — … — vn (wszystkie różne, każda kolejna para to krawędź) Cykl Hamiltona: v1 — v2 — v3 — … — vn — v1 (zamyka się z powrotem do startu)

Problem został nazwany na cześć Williama Rowana Hamiltona, który w 1857 roku wynalazł grę ikozjańską — łamigłówkę polegającą na znalezieniu cyklu odwiedzającego każdy wierzchołek regularnego dwunastościanu dokładnie raz.

Dlaczego to jest trudne: NP-zupełność

Zarówno problem decyzyjny ścieżki Hamiltona, jak i cyklu Hamiltona są NP-zupełne (Karp, 1972). O ile P ≠ NP, nie istnieje algorytm o czasie wielomianowym, który rozwiązywałby każdy przypadek. W najgorszym razie przeszukiwanie z nawrotami bada drzewo o rozmiarze do (n−1)! dla cyklu. Dlatego kalkulator ogranicza dane wejściowe do 20 wierzchołków — niewielki wielomianowy wzrost n powoduje gwałtowny wzrost czasu działania.

W praktyce heurystyka Warnsdorffa (pierwotnie opracowana przez Heinricha Warnsdorffa w 1823 roku dla problemu skoku skoczka) drastycznie przyspiesza wyszukiwanie w grafach strukturalnych: w każdym kroku algorytm rozszerza bieżącą ścieżkę o nieodwiedzonego sąsiada z najmniejszą liczbą pozostałych nieodwiedzonych sąsiadów. Ta zachłanna reguła zapobiega "zapędzeniu się w kozi róg" i często znajduje trasę Hamiltona bez żadnych nawrotów w dobrze zachowujących się grafach.

Warunki konieczne — szybkie odrzucanie

Przed uruchomieniem kosztownego wyszukiwania kalkulator odrzuca grafy, które na pewno nie mogą zawierać ścieżki Hamiltona:

Zasady te odrzucają wiele beznadziejnych przypadków w czasie liniowym, unikając marnowania wysiłku na przeszukiwanie z nawrotami.

Warunki wystarczające — twierdzenia klasyczne

Kilka klasycznych twierdzeń podaje warunki wystarczające (ale nie konieczne) gwarantujące istnienie cyklu Hamiltona w prostych grafach nieskierowanych. Jeśli którykolwiek z nich ma zastosowanie, kalkulator oznacza wynik jako "GWARANTUJE" bez konieczności uruchamiania wyszukiwania — chociaż nadal pokazuje cykl świadka.

Twierdzenie Diraca (1952)

Jeśli G jest prostym grafem nieskierowanym o n ≥ 3 wierzchołkach i każdy wierzchołek ma stopień co najmniej n / 2, to G posiada cykl Hamiltona.

δ(G) ≥ n / 2 ⟹ G jest hamiltonowski

Twierdzenie Ore (1960)

Jeśli dla każdej pary nieprzyległych wierzchołków u i v mamy deg(u) + deg(v) ≥ n, to G posiada cykl Hamiltona. Warunek Ore jest ściśle słabszy niż Diraca, więc Ore implikuje Diraca.

∀ nieprzyległych u, v: deg(u) + deg(v) ≥ n ⟹ G jest hamiltonowski

Niespełnienie warunku Diraca lub Ore nie oznacza, że graf nie ma cyklu Hamiltona — wiele grafów nie spełnia żadnego z nich, a mimo to go zawiera (np. zwykły cykl n-kątny ma minimalny stopień 2, co dla dużych n jest znacznie poniżej n/2).

Algorytm wyszukiwania wewnątrz narzędzia

Gdy wstępne testy nie dają odpowiedzi, kalkulator uruchamia przeszukiwanie z nawrotami na reprezentacji sąsiedztwa grafu. Kluczowe techniki:

  1. Maska bitowa zbioru odwiedzonych. Odwiedzone wierzchołki są przechowywane jako maska bitowa (szybki test przynależności O(1) dla maksymalnie 20 wierzchołków).
  2. Heurystyka Warnsdorffa. Przy każdym rozszerzeniu sąsiedzi są sprawdzani w kolejności ich pozostałego stopnia nieodwiedzonych wierzchołków (najmniejszy najpierw), naśladując kolejność o "małym rozgałęzieniu".
  3. Wybór korzenia. Dla cyklu Hamiltona potrzebny jest tylko jeden wierzchołek startowy (cykle są niezmiennicze względem rotacji). Dla ścieżki Hamiltona starty są próbowane w rosnącej kolejności stopni wyjściowych — najrzadsze pozycje najpierw.
  4. Budżet kroków. Sztywny limit zapobiega nieskończonemu działaniu patologicznych przypadków; interfejs zgłasza werdykt jako "timeout", jeśli budżet zostanie wyczerpany.

Hamilton vs Euler

Łatwo pomylić problemy Hamiltona i Eulera — brzmią podobnie, ale są fundamentalnie różne:

Właściwość Ścieżka / Cykl Hamiltona Droga / Obwód Eulera
Odwiedza każdy… Wierzchołek dokładnie raz Krawędź dokładnie raz
Złożoność NP-zupełna Wielomianowa (O(n+m))
Warunek Brak prostej charakterystyki Spójny + wszystkie stopnie parzyste (dla obwodu)
Nazwany na cześć W. R. Hamilton (1857) L. Euler (1736, mosty królewieckie)
Klasyczny przykład Komiwojażer, gra ikozjańska Problem listonosza

Obsługiwane formaty wejściowe

Lista krawędzi

Jedna krawędź na linię lub oddzielona przecinkami. Obsługiwane separatory: A-B, A B, A,B, A--B, A->B, A<-B. Użyj ->, aby wymusić interpretację skierowaną.

A-B, B-C, C-D, D-A, A-C (graf nieskierowany o 5 krawędziach) A->B, B->C, C->D, D->A (skierowany cykl 4-elementowy)

Macierz sąsiedztwa

Macierz kwadratowa z wartościami 0/1, jeden wiersz na linię, oddzielona spacjami lub przecinkami. Opcjonalnie podaj etykiety w polu Etykiety macierzy; w przeciwnym razie automatycznie zostaną użyte A, B, C…

0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0

Jak korzystać z tego narzędzia

  1. Wybierz format wejściowy — Listę krawędzi dla małych, odręcznych grafów lub Macierz sąsiedztwa dla danych wklejonych z kodu lub podręczników.
  2. Wklej swój graf w obszarze tekstowym. Dla macierzy możesz opcjonalnie podać etykiety wierzchołków.
  3. Wybierz, co sprawdzić: Tylko ścieżkę, tylko cykl lub oba naraz.
  4. Wybierz typ grafu — Automatyczne wykrywanie rozpoznaje skierowanie na podstawie stylu strzałek (->) lub symetrii macierzy.
  5. Kliknij Sprawdź Hamiltona. Strona wyników pokaże werdykt, wstępne sprawdzenie warunków koniecznych, testy warunków wystarczających Diraca / Ore, ścieżkę świadka (jeśli istnieje) oraz interaktywną wizualizację.
  6. Odtwórz świadka za pomocą kontrolek Odtwórz / Krok. Zobacz, jak ścieżka podświetla się krawędź po krawędzi na grafie.

Przykład — Graf Petersena

Słynny graf Petersena (10 wierzchołków, 15 krawędzi, 3-regularny) to podręcznikowy przykład grafu, który posiada ścieżkę Hamiltona, ale nie posiada cyklu Hamiltona. Wklej to w pole listy krawędzi i kliknij Sprawdź:

1-2, 2-3, 3-4, 4-5, 5-1, 6-8, 8-10, 10-7, 7-9, 9-6, 1-6, 2-7, 3-8, 4-9, 5-10

Narzędzie potwierdza: znaleziono ścieżkę Hamiltona (np. 1 — 2 — 7 — 10 — 5 — 4 — 9 — 6 — 8 — 3), ale wyczerpujące wyszukiwanie nie znajduje sposobu na zamknięcie pętli — wynik ten został po raz pierwszy udowodniony w latach 90. XIX wieku.

Typowe zastosowania

Najczęściej zadawane pytania

Co to jest ścieżka Hamiltona?

Ścieżka Hamiltona to droga w grafie, która odwiedza każdy wierzchołek dokładnie raz. Nazwa pochodzi od Williama Rowana Hamiltona, który badał ten problem na grafie dwunastościanu w 1857 roku. Rozstrzygnięcie, czy taka ścieżka istnieje, jest problemem NP-zupełnym, więc żaden znany algorytm nie rozwiązuje go w czasie wielomianowym dla wszystkich grafów.

Czym różni się cykl Hamiltona od ścieżki Hamiltona?

Cykl Hamiltona to ścieżka Hamiltona, która powraca do swojego wierzchołka początkowego, tworząc zamkniętą pętlę odwiedzającą każdy wierzchołek dokładnie raz. Każdy cykl Hamiltona zawiera ścieżkę Hamiltona (wystarczy usunąć krawędź zamykającą), ale odwrotna zależność nie zachodzi: wiele grafów ma ścieżkę Hamiltona, ale nie ma cyklu Hamiltona.

Co mówi twierdzenie Diraca?

Twierdzenie Diraca (1952) stwierdza, że każdy prosty graf nieskierowany o n ≥ 3 wierzchołkach, w którym każdy wierzchołek ma stopień co najmniej n/2, zawiera cykl Hamiltona. Jest to warunek wystarczający, ale nie konieczny: wiele grafów, które nie spełniają progu Diraca, nadal posiada cykle Hamiltona.

Co mówi twierdzenie Ore?

Twierdzenie Ore (1960) stwierdza, że jeśli dla każdej pary nieprzyległych wierzchołków u i v w prostym grafie o n ≥ 3 wierzchołkach suma ich stopni wynosi co najmniej n, to graf posiada cykl Hamiltona. Warunek Ore jest słabszy niż Diraca, więc twierdzenie Ore ma zastosowanie wszędzie tam, gdzie twierdzenie Diraca.

Dlaczego wyszukiwanie jest ograniczone do 20 wierzchołków?

Problemy decyzyjne dotyczące ścieżki i cyklu Hamiltona są NP-zupełne. W najgorszym przypadku czas działania rośnie wykładniczo wraz z liczbą wierzchołków. Dzięki przycinaniu i heurystyce Warnsdorffa kalkulator szybko radzi sobie z wieloma małymi grafami do 20 wierzchołków, ale trudniejsze przypadki mogą przekroczyć limit czasu. Powyżej 20 wierzchołków należy używać specjalistycznych solverów, takich jak Concorde, lub sformułowań programowania całkowitoliczbowego.

Co to jest heurystyka Warnsdorffa?

Reguła Warnsdorffa, zaproponowana w 1823 roku dla problemu skoku skoczka szachowego, mówi, że w każdym kroku należy odwiedzić następny wierzchołek, który ma najmniej pozostałych nieodwiedzonych sąsiadów. Ta zachłanna reguła w praktyce radykalnie przycina drzewo nawrotów i często znajduje ścieżki Hamiltona bez żadnych nawrotów w grafach regularnych.

Czy to narzędzie znajduje wszystkie ścieżki Hamiltona?

Nie — znajduje jedną ścieżkę świadka lub cykl, jeśli takowy istnieje. Liczenie całkowitej liczby ścieżek Hamiltona jest samo w sobie problemem #P-zupełnym i znacznie trudniejszym niż sam problem decyzyjny. Do enumeracji bardziej odpowiednie są specjalistyczne narzędzia lub solvery programowania całkowitoliczbowego.

Dalsza lektura

Cytuj ten materiał, stronę lub narzędzie w następujący sposób:

"Sprawdzanie Ścieżki Hamiltona" na https://MiniWebtool.com/pl/sprawdzanie-sciezki-hamiltona/ z MiniWebtool, https://MiniWebtool.com/

autor: zespół miniwebtool. Zaktualizowano: 21 kwietnia 2026

Możesz także wypróbować nasz AI Rozwiązywacz Matematyczny GPT, aby rozwiązywać swoje problemy matematyczne poprzez pytania i odpowiedzi w języku naturalnym.

Zaawansowane działania matematyczne:

Popularne i zaktualizowane narzędzia:

Sprawdzacz Liczb FibonacciegoSprawdzacz Liczb ZaprzyjaźnionychSprawdzacz funkcji parzystej i nieparzystejZobacz wszystkie →
Strona główna > Matematyka > Zaawansowane działania matematyczne > Sprawdzanie Ścieżki Hamiltona