banner





Grafy hamiltonowskie

Ścieżka Hamiltona

Monika wybiera się do dużego miasta odwiedzić znajomych. Tylko że każdy z nich mieszka w innym miejscu! Zaznaczyła je wszystkie na mapce wraz z dogodnymi dojazdami. Żadnego ze znajomych nie chce pominąć, gdyż mógłby się obrazić, koło żadnego z nich nie chce przejeżdżać też więcej niż jeden raz, gdyż znowu zaprosiłby ją do siebie i nie zdążyłaby odwiedzić innych. Od którego ze znajomych powinna zacząć i na którym skończyć odwiedziny, aby każdego udało się odwiedzić dokładnie raz?

Zbudujmy graf. Wierzchołkami będą miejsca, w których mieszkają znajomi, a krawędzie możliwymi dojazdami. W grafie chcemy znaleźć ścieżkę Hamiltona. Jest to ścieżka, która przechodzi przez wszystkie wierzchołki w grafie dokładnie raz. Oczywiście nie w każdym grafie istnieje taka ścieżka, sprawdzenie tego czy ona istnieje i wyznaczenie przez które przechodzi jest problemem algorytmicznym NP-zupełnym, co oznacza, że nie istnieją efektywne algorytmy odpowiadające na pytanie czy taka ścieżka w grafie istnieje czy nie.
Poniżej graf, w którym istnieje ścieżka Hamiltona oraz podana przykładowa taka ścieżka:
sciezka hamiltona
Graf, w którym istnieje ścieżka Hamiltona (a nie istnieje cykl Hamiltona) nazywamy półhamilotnowskimi.

Cykl Hamiltona

Pasją Moniki jest fotografia. Na dziś zaznaczyła na mapce kilka miejsc, które chciałaby sfotografować. Innym kolorem zaznaczony jest dom, skąd Monika zaczyna trasę i dokąd musi wrócić. Nie ma potrzeby odwiedzania któregoś miejsca 2 razy, więc w każdym z nich chce być dokładnie raz. Czy przy zadanym układzie miejsc i dróg jest to możliwe?

Problem podobny jak wyżej, z tym, że chcemy zakończyć naszą podróż w tym samym miejscu co skończyliśmy. Dokładniej, to chcemy wyznaczyć cykl Hamiltona. Rozwiązanie tego problemu jest z algorytmicznego punktu widzenia rozwiązaniem problemu komiwojażera. Ponieważ interesuje nas tylko strona matematyczna tego zagadnienia, zobaczmy na animacji poniżej przykładowy cykl Hamiltona:

cykl hamiltona
Graf, w którym istnieje cykl Hamiltona, nazywamy grafem hamiltonowskim.





Created by Monika Ciosek