|
|||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
Graf hamiltonowski to graf rozważany w teorii grafów zawierający ścieżkę (drogę) przechodzącą przez każdy wierzchołek dokładnie jeden raz zwaną ścieżką Hamiltona. W szczególności grafem hamiltonowskim jest graf zawierający cykl Hamiltona, tj. zamkniętą ścieżkę Hamiltona. W niektórych źródłach graf zawierający tylko ścieżkę Hamiltona nazywany jest grafem półhamiltonowskim.
Graf skierowany posiadający ścieżkę Hamiltona. Niebieskie kropki to wierzchołki grafu, strzałki to krawędzie grafu, a ścieżkę hamiltona oznaczono kolorem czerwonym.
Aby lepiej zrozumieć właściwości grafu hamiltonowskiego można się posłużyć przykładem komiwojażera, który chce odwiedzić wszystkich swoich klientów, ale tylko raz (problem komiwojażera). Klienci, to wierzchołki grafu, a drogi między nimi są jego krawędziami. Jeżeli graf jest hamiltonowski, to znaczy, że komiwojażer może obejść wszystkich klientów, bez mijania drugi raz żadnego z nich i wrócić do punktu wyjścia.
edytuj Przykłady grafów Hamiltonowskich
Przykładowy cykl Hamiltona w grafie dwunastościanu foremnego.
Grafem hamiltonowskim w szczególności jest każdy graf:
edytuj Złożoność czasowaNie są znane algorytmy umożliwiające jednoznaczne rozwiązanie problemu znajdowania najkrótszej możliwej ścieżki Hamiltona w czasie wielomianowym i działające dla wszystkich możliwych grafów (problem ścieżki Hamiltona jest NP zupełny). W praktyce najczęściej stosowane są algorytmy genetyczne, często wykorzystywane w połączeniu z heurystycznymi (np. heurystyka najbliższego sąsiada). Są to jednak metody dające w większości jedynie rozwiązania bliskie optymalnemu. Znalezienie najlepszego, możliwego rozwiązania, zależy głównie od ilości punktów oraz czasem szczęścia na skutek generacji populacji początkowej, krzyżowania oraz mutacji w algorytmach genetycznych. Problem złożoności czasowej znajdowania rozwiązania problemu grafu Hamiltonowskiego wiąże się z brakiem twierdzenia takiego jak twierdzenie Eulera dla grafów Eulera. Owo twierdzenie pozwala w czasie liniowym (tj. zależnym liniowo od, w tym przypadku, liczby wierzchołków) znaleźć odpowiedź na pytanie, czy graf jest eulerowski. W przypadku grafów Hamiltona twierdzenie takie prawdopodobnie nie istnieje. Znalezienie algorytmu znajdowania drogi Hamiltona w czasie wielomianowym jest "Świętym Graalem" informatyki, i chociaż powstały już setki publikacji opisujących rzekomo taki właśnie algorytm, problem jest nadal otwarty. Według znakomitej części specjalistów taki algorytm nie istnieje ("gdyż, zgodnie z rachunkiem prawdopodobieństwa, ktoś już by taki algorytm znalazł"), jednak do czasu udowodnienia, że takowy algorytm nie istnieje, lub udowodnienia, że taki dowód nie może zostać przeprowadzony należy wstrzymać się z kategorycznymi osądami.
Przykładowy cykl hamiltonowski w grafie Mycielskiego.
edytuj OznaczeniaNiech edytuj Indeksowanie wierzchołkówŚcieżka/cykl Hamiltona może być jednoznacznie wyznaczona przez indeksowanie wierzchołków - tj. nadamie im indeksów, powiedzmy Gdy znane jest indeksowanie edytuj Warunek koniecznyJeżeli graf G jest hamiltonowski to dla każdego niepustego zbioru gdzie edytuj Warunki wystarczająceIstnieją jednak twierdzenia pozwalające na podstawie cech grafu, dostępnych w czasie liniowym, stwierdzić jednoznacznie, że dany graf jest hamiltonowski. Należy pamiętać, że jest to implikacja jednostronna - istnieje nieskończenie wiele grafów hamiltonowskich, które nie mają poniższych cech. Twierdzenia te są matematycznym obrazem dość naturalnej obserwacji dotyczącej własności grafów - jest logiczne, że im więcej jest krawędzi w grafie, tym "większe są szanse" na znalezienie wśród nich drogi Hamiltona. W skrócie (i nieformalnie), poniższe twierdzenia mówią, że graf jest hamiltonowski, jeżeli tylko ma on odpowiednio dużo krawędzi w stosunku do ilości wierzchołków. Najważniejsze z nich to:
edytuj Szczególne przypadkiOczywiste jest, że żaden graf niespójny nie jest hamiltonowski. Dodawanie krawędzi (w szczególności krawędzi wielokrotnych i pętli) do grafu Hamiltona w oczywisty sposób nie może uczynić z niego grafu niehamiltonowskiego. Każdy graf pełny o V wierzchołkach zawiera V! cykli Hamiltona, gdyż dla każdej permutacji indeksów wierzchołków, edytuj Algorytmy znajdowania ścieżki Hamiltonaedytuj Bibliografia
edytuj Zobacz też |
| All Right Reserved © 2007, Designed by Stylish Blog. |