Wieże Hanoi

Minimalna liczba ruchów to 2^n - 1: 7 dla 3 krążków, 31 dla 5, 1023 dla 10. Gra z podpowiedzią, rozwiązaniem i listą ruchów.

Minimalna liczba ruchów w wieży Hanoi to 2^n - 1, gdzie n oznacza liczbę krążków: 3 krążki wymagają 7 ruchów, 4 krążki 15, 5 krążków 31, a 10 krążków 1023. Każdy kolejny krążek podwaja liczbę ruchów i dodaje jeden. Gra pozwala układać od 3 do 10 krążków, a gdy trzeba, podpowiada ruch albo sama kończy układanie.

Cyfra od 1 do 3 podnosi górny krążek z tego słupka, a cyfra drugiego słupka go tam odkłada. Escape odkłada podniesiony krążek z powrotem. Strzałki przechodzą między słupkami.

Ruchy
0
Minimum
15
Czas
0:00

Przenieś całą wieżę na słupek C, po jednym krążku i nigdy większy krążek na mniejszy.

Start, tempo rozwiązywania i numery
Rozwiązanie ruch po ruchu

Wieża ułożona od startu bez podpowiedzi, cofania i automatycznego rozwiązywania pojawi się tutaj jako najlepszy wynik.

Wieża Hanoi, klasyczna gra logiczna, działa tu w przeglądarce telefonu lub komputera, bez konta i bez aplikacji. Krążki przekłada się stuknięciem, przeciągnięciem albo z klawiatury, a gra pilnuje zasad, liczy ruchy i czas, podpowiada następny ruch i potrafi sama dokończyć układanie. Pod planszą czeka najkrótsze rozwiązanie ruch po ruchu, gotowe do wydruku.

Zasady łamigłówki i przekładanie krążków

Wieże Hanoi to łamigłówka z trzema słupkami i krążkami o różnych średnicach, nałożonymi na pierwszy słupek od największego na dole do najmniejszego na górze. Celem jest przeniesienie całej wieży na ostatni słupek, czyli słupek docelowy. W jednym ruchu przekłada się jeden krążek, zawsze ten z wierzchu, i nigdy nie kładzie się większego krążka na mniejszym. Środkowy słupek pełni rolę słupka pomocniczego.

Na planszy słupki mają litery A, B i C, a ostatni ma podpis „cel”. Krążek 1 jest najmniejszy; numery na krążkach można wyłączyć w opcjach. Pierwsza gra zaczyna się od 4 krążki na słupku A, które da się ułożyć w 15 ruchach, a liczbę krążków wybiera się od 3 do 10.

Krążek przenosi się na trzy sposoby. Stuknięcie lub kliknięcie słupka podnosi jego górny krążek, a stuknięcie innego słupka go tam odkłada. Krążek można też przeciągnąć palcem albo myszą. Z klawiatury, gdy słupek jest zaznaczony klawiszem Tab, cyfra lub litera słupka podnosi i odkłada krążek, Escape oddaje podniesiony krążek, a strzałki przechodzą między słupkami.

Ruch niezgodny z zasadami nie dochodzi do skutku, a gra podaje powód, na przykład „Krążek 2 nie może leżeć na krążku 1”. Plansza lekko się wtedy trzęsie, chyba że w systemie włączono ograniczenie animacji. Trzy liczniki pod planszą pokazują wykonane ruchy, najmniejszą możliwą liczbę ruchów w tej grze oraz czas, który rusza z pierwszym ruchem i staje po ułożeniu wieży.

Po ułożeniu gra podaje czas z dokładnością do dziesiątej części sekundy oraz liczbę podpowiedzi i cofniętych ruchów. Przycisk „Kopiuj wynik” kopiuje linijkę z wynikiem razem z linkiem, a kolejny przycisk dokłada krążek do następnej gry.

Ile ruchów wymaga wieża Hanoi?

Najmniejsza liczba ruchów dla n krążków to 2^n - 1, więc wieża z 5 krążków wymaga co najmniej 31 ruchów, z 6 krążków 63, a z 8 krążków 255. Każdy dodatkowy krążek podwaja tę liczbę i dodaje jeden ruch, bo cała mniejsza wieża musi zejść z największego krążka i potem na niego wrócić. Więcej ruchów wolno wykonać: gra przyjmie każde poprawne ułożenie, a licznik pokaże różnicę względem minimum. Przy jednym ruchu na sekundę sześć krążków zajmuje 1 min 3 s, a dziesięć już 17 min 3 s. Kolumna z ustawieniami podaje, na ile sposobów krążki mogą stać na trzech słupkach zgodnie z zasadami.

Minimalna liczba ruchów, czas w tempie ruchu na sekundę i liczba ustawień
KrążkiMinimalna liczba ruchówCzasUstawienia (3^n)
111 s3
233 s9
377 s27
41515 s81
53131 s243
6631 min 3 s729
71272 min 7 s2187
82554 min 15 s6561
95118 min 31 s19 683
10102317 min 3 s59 049

Szybkość ręki mierzy rekord Guinnessa. Według Guinness World Records wieżę z 6 krążków najszybciej ułożono w 22,26 s, a rekord należy do Lim Kai Yi od 15 listopada 2024 roku. To co najmniej 63 ruchy, czyli około 2,8 ruchu na sekundę. Tak wyglądał rekord w dniu sprawdzenia tej strony, 23 października 2026 roku.

Te same liczby gra podaje w liczniku minimum, a porównanie ze znanymi odpowiedziami pokazuje cztery wieże z tabeli Lucasa, łamigłówki Dudeneya i zadania maturalnego, każdą z linkiem do gry.

Jak ułożyć wieżę Hanoi z 5 krążków?

Wystarczy na zmianę wykonywać dwa rodzaje ruchów: najmniejszy krążek przechodzi na kolejny słupek, zawsze w tym samym kierunku, a potem inny krążek wykonuje jedyny dozwolony ruch. Przy pięciu krążkach, jak przy każdej nieparzystej liczbie, najmniejszy krążek idzie najpierw na słupek C i krąży w kolejności A → C → B → A. Przy parzystej liczbie zaczyna od słupka B i krąży w kolejności A → B → C → A.

Między dwoma ruchami najmniejszego krążka zostaje tylko jeden dozwolony ruch, który go nie dotyka: z dwóch pozostałych krążków na wierzchu tylko mniejszy może trafić na większy albo na pusty słupek. Najmniejszy krążek rusza się więc co drugi ruch, w każdym ruchu o numerze nieparzystym. Lucas w trzecim tomie „Récréations mathématiques” przypisuje tę regułę Raoulowi Olive, uczniowi liceum Charlemagne.

Lekcja „Zagadka Wież Hanoi” na Zintegrowanej Platformie Edukacyjnej (ZPE) nazywa ten sposób rozwiązaniem iteracyjnym. Dla trzech krążków to rozwiązanie iteracyjne ma 7 ruchów, zapisanych tu jako numer krążka, słupek startowy i docelowy. Kolejno są to 1: A→C, 2: A→B, 1: C→B, 3: A→C, 1: B→A, 2: B→C, 1: A→C.

Pełne rozwiązanie dla pięciu krążków ma 31 ruchów. Najmniejszy krążek wykonuje w nim 16 z nich, a największy rusza się tylko raz, w ruchu 16, dokładnie w połowie drogi.

Wieża z 5 krążków: 31 ruchów ze słupka A na słupek C
RuchKrążekZe słupkaNa słupek
11AC
22AB
31CB
43AC
51BA
62BC
71AC
84AB
91CB
102CA
111BA
123CB
131AC
142AB
151CB
165AC
171BA
182BC
191AC
203BA
211CB
222CA
231BA
244BC
251AC
262AB
271CB
283AC
291BA
302BC
311AC

W grze ta sama lista ruchów leży pod planszą jako „Rozwiązanie ruch po ruchu” i podświetla następny ruch, dopóki gra idzie zgodnie z nią. Przycisk „Drukuj listę ruchów” drukuje samą listę, bez planszy, dla dowolnej liczby krążków.

Algorytm rekurencyjny i zadanie maturalne

Rekurencja sprowadza wieżę z n krążków do dwóch wież z n - 1 krążków i jednego ruchu. Najpierw n - 1 mniejszych krążków trafia na słupek pomocniczy, potem największy krążek przechodzi na słupek docelowy, a na końcu n - 1 krążków wraca na niego ze słupka pomocniczego. Przypadek bazowy to jeden krążek, który przenosi się jednym ruchem.

Lekcja ZPE „Misja matura: Zadanie 1. Wieże Hanoi” podaje pręty jako parametry: x to pręt startowy, y docelowy, a z pomocniczy. Pseudokod procedury hanoi(n, x, y, z) mieści się wtedy w czterech krokach:

  1. Jeśli n = 1, przenieś krążek z x na y i zakończ.
  2. W przeciwnym razie wykonaj hanoi(n - 1, x, z, y), czyli odłóż mniejszą wieżę na pręt pomocniczy.
  3. Przenieś największy krążek z x na y.
  4. Wykonaj hanoi(n - 1, z, y, x), czyli nałóż mniejszą wieżę na największy krążek.

Liczbę ruchów opisuje relacja rekurencyjna H(n) = 2H(n - 1) + 1, z H(1) = 1: dwie mniejsze wieże i jeden ruch największego krążka. Tak zapisuje ją Centralna Komisja Egzaminacyjna w zadaniu 9 „Wieże z Hanoi” ze zbioru zadań do egzaminu maturalnego z informatyki na poziomie rozszerzonym. Tabela w tym zadaniu kończy się na H(10) = 1023.

Robert Sedgewick i Kevin Wayne z Uniwersytetu Princeton pokazują ten sam algorytm rekurencyjny w rozdziale o rekurencji swojego kursu programowania. Podstawa programowa dla liceum i technikum z 2018 roku (Dz.U. 2018 poz. 467) wymienia rekurencję w informatyce w zakresie rozszerzonym, choć samej łamigłówki z nazwy nie podaje. Matura z informatyki sprawdza więc samą metodę, a wieże służą za jej przykład w zbiorze zadań CKE i w lekcjach ZPE.

Wzór 2^n - 1 i dowód przez indukcję

Wzór na wieżę Hanoi wynika z prostej obserwacji: największy krążek musi się ruszyć co najmniej raz, a w chwili tego ruchu wszystkie mniejsze krążki muszą stać razem na trzecim słupku. Mniejsza wieża musi więc przejść dwa razy, a największy krążek raz.

Dowodem jest indukcja matematyczna. Jeden krążek wymaga jednego ruchu, czyli 2^1 - 1. Jeśli n - 1 krążków wymaga 2^(n-1) - 1 ruchów, to n krążków wymaga dwa razy tyle i jeszcze jednego ruchu: 2(2^(n-1) - 1) + 1 = 2^n - 1. Tak wyprowadza wzór magazyn Plus Uniwersytetu Cambridge, a ciąg 1, 3, 7, 15 opisuje hasło A000225 w encyklopedii ciągów OEIS.

W najkrótszym rozwiązaniu krążek o numerze k rusza się 2^(n-k) razy. Przy pięciu krążkach daje to kolejno 16, 8, 4, 2, 1 ruchów, od najmniejszego do największego krążka. Numery krążków w kolejnych ruchach tworzą ciąg 1, 2, 1, 3, 1, 2, 1, 4 i tak dalej. Krążek w ruchu m ma numer o jeden większy od liczby zer na końcu m w zapisie dwójkowym. Ten związek opisuje w encyklopedii OEIS komentarz Andreasa M. Hinza do ciągu A001511.

Liczba ruchów rośnie wykładniczo, bo każdy krążek ją podwaja. To złożoność wykładnicza: 10 krążków to już 1023 ruchy, a wieża z legendy Lucasa, z 64 krążków, wymaga liczby o 20 cyfrach.

Losowa pozycja, podpowiedź i automatyczne rozwiązanie

Krążki na trzech słupkach mogą stać na 3^n sposobów, bo każdy krążek wybiera jeden z trzech słupków, a kolejność na słupku wyznaczają zasady. Dla pięciu krążków to 243 ustawienia. Graf, w którym każde ustawienie jest punktem, a każdy ruch odcinkiem, z każdym krążkiem coraz bardziej przypomina trójkąt Sierpińskiego; piszą o tym magazyn Plus oraz książka Andreasa M. Hinza, Sandiego Klavžara i Cirila Petra.

Opcja „Losowa pozycja” rozkłada krążki po słupkach losowo, a każde ułożenie jest równie prawdopodobne. Jedynym wyjątkiem jest największy krążek, który nigdy nie zaczyna na słupku docelowym, więc zawsze musi się ruszyć. Pozycja powstaje dopiero po stuknięciu przycisku „Wylosuj pozycję” i zapisuje się w linku, więc ktoś, kto go otworzy, dostaje ten sam start.

Przycisk „Podpowiedź” pokazuje następny ruch jednej z najkrótszych dróg do celu z bieżącego ustawienia. Podświetla oba słupki i pisze na przykład „Podpowiedź: przenieś krążek 2 z A na C.”. Każda podpowiedź jest liczona, a cofnięcie ruchu jest możliwe bez limitu i trafia do licznika cofniętych ruchów.

Przycisk „Rozwiąż” kończy układanie z bieżącego miejsca w wybranym tempie: od 0,9 s między ruchami przy tempie wolnym do około 0,045 s przy bardzo szybkim. Automatyczne rozwiązywanie można wstrzymać, wykonać nim jeden ruch albo przejąć grę i układać dalej samodzielnie. Gdy gra zaczęta od wieży idzie zgodnie z listą ruchów, automat tę listę kontynuuje.

Gdy wybrane są cztery słupki, gra przyjmuje do 8 krążków, bo podpowiedzi przeszukują wtedy wszystkie 4^n ustawień. Lista ruchów pokazuje rozwiązanie Frame'a i Stewarta, choć istnieją też inne rozwiązania tej samej długości.

Édouard Lucas i legenda o świątyni w Benaresie

Łamigłówkę wydał w 1883 roku francuski matematyk Édouard Lucas jako „la Tour d'Hanoï, véritable casse-tête annamite”, czyli prawdziwą łamigłówkę annamską. Według napisu na pudełku grę przywiózł z Tonkinu „profesor N. Claus (de Siam), mandaryn kolegium Li-Sou-Stian”. Opis z „Journal des Débats” z 27 grudnia 1883 roku cytują R. E. Allardice i A. Y. Fraser.

Obie nazwy to żart. Serwis MacTutor Uniwersytetu St Andrews wyjaśnia, że N. Claus de Siam to anagram „Lucas d'Amiens”, a Li-Sou-Stian to anagram Saint Louis, czyli liceum, w którym Lucas wtedy uczył.

Z grą przyszła legenda. W wielkiej świątyni w Benaresie w Indiach kapłani, bramini, przekładają wieżę z 64 krążków z czystego złota między trzema diamentowymi igłami, po jednym krążku i nigdy większy na mniejszy. Gdy skończą, wieża i bramini runą i nastąpi koniec świata. Lucas opowiada ją w „Récréations mathématiques” z 1893 roku.

Ta legenda to wymysł samego Lucasa. Napisał, że gry nie przywieziono z Tonkinu, „cokolwiek mówi ulotka”, a grę i legendę wymyślono pod numerem 56 przy rue Monge w Paryżu. Nie jest to więc dawna opowieść tybetańska, buddyjska ani wietnamska, a w tekście Lucasa nie ma mnichów ani świątyni w Hanoi. Henri de Parville powtórzył legendę w „La Nature” w 1884 roku, co odnotował W. W. Rouse Ball w „Mathematical Recreations and Essays” z 1914 roku.

Wieża braminów wymaga 18 446 744 073 709 551 615 ruchów, liczby o 20 cyfrach, którą Lucas wypisuje w całości. Ten sam autor opisał też grę na kartce w kratkę, znaną w Polsce jako szewc, czyli kropki i kwadraty.

Wieże w psychologii: planowanie i wieża londyńska

Psycholodzy używają zadań z wieżami do badania planowania i rozwiązywania problemów, bo w kolejnych ruchach widać, jak ktoś myśli kilka kroków naprzód. Magazyn Plus Uniwersytetu Cambridge ujmuje to tak, że przy takim zadaniu można obserwować, jak ludzie myślą.

Tim Shallice opisał w 1982 roku zadanie do badania zaburzeń planowania. Wieża londyńska to według zespołu z Uniwersytetu Erazma w Rotterdamie (Koppenol-Gonzalez, Bouwmeester i Boonstra, 2010) szeroko stosowane narzędzie do pomiaru umiejętności planowania. Jeremy R. Sullivan, Cynthia A. Riccio i Candace L. Castillo w metaanalizie z 2009 roku oceniali zadania z wieżami jako miary funkcji wykonawczych u dorosłych. Funkcje wykonawcze i planowanie to dwa pojęcia, w których te badania opisują wyniki zadań z wieżami.

Ta gra jest łamigłówką. Liczy ruchy, czas i podpowiedzi, ale jej wynik nie ma znaczenia klinicznego i nie mierzy inteligencji, uwagi ani żadnej innej cechy. Inne znane zadanie z psychologii poznawczej, z kolorami i słowami, można wypróbować w teście Stroopa.

Najczęstsze pytania

Czy wieże Hanoi online działają na telefonie?

Tak. Gra działa w przeglądarce telefonu, tabletu i komputera, bez konta i bez instalowania aplikacji. Na ekranie dotykowym krążek przenosi się stuknięciem słupka albo przeciągnięciem, a na komputerze także klawiaturą. Liczba krążków i słupków, start, tempo rozwiązywania i numery na krążkach zapisują się w linku, więc ten sam link otwiera tę samą wieżę na innym urządzeniu.

Ile czasu zajęłoby przeniesienie 64 krążków?

Przy jednym ruchu na sekundę około 584,5 miliarda lat. To rachunek tej strony: liczba ruchów, 18 446 744 073 709 551 615, podzielona przez liczbę sekund w roku juliańskim. Lucas ujął to krócej i pisał o ponad 5 miliardach stuleci.

Czy można grać czterema słupkami?

Tak. Czwarty słupek skraca drogę: 8 krążków wymaga wtedy 33 ruchy zamiast 255. To łamigłówka, którą Henry Dudeney opisał w 1907 roku w „The Canterbury Puzzles” jako „The Reve's Puzzle”: 8 serów na czterech stołkach w 33 ruchach, 10 w 49. Problem 3918 B. M. Stewarta z „American Mathematical Monthly” (1939) rozwiązali w 1941 roku Frame i Stewart. Thierry Bousch dowiódł w 2014 roku, że przy czterech słupkach krócej się nie da, a dla pięciu i więcej słupków pytanie pozostaje otwarte.

Od ilu lat można układać wieżę Hanoi?

Żadna instytucja nie wyznacza granicy wieku. Najmniejsza wieża w grze ma 3 krążki i wymaga 7 ruchów, więc do pierwszej gry wystarczą zasady. Na platformie ZPE lekcja „Budujemy wieżę Hanoi” należy do e-podręcznika informatyki dla klas od IV do VIII, choć według jej opisu wykracza ponad podstawę programową szkoły podstawowej.

Czy z każdego ułożenia krążków da się zbudować wieżę?

Tak. Każde ustawienie zgodne z zasadami prowadzi do wieży na słupku docelowym, a podpowiedź zawsze znajduje następny ruch najkrótszej drogi. W losowej pozycji tej gry największy krążek nie stoi na celu, więc ułożenie wymaga od 2^(n-1) do 2^n - 1 ruchów: przy pięciu krążkach od 16 do 31. Średnia dla pięciu krążków wynosi 26; to przeliczenie wszystkich dozwolonych pozycji wykonane przez tę stronę.

Czy najlepsze wyniki są gdzieś zapisywane?

Tylko w pamięci lokalnej tej przeglądarki i nigdzie nie są wysyłane. Dla każdej wieży, czyli liczby krążków i słupków, gra pamięta, ile razy ją ułożono, najmniejszą liczbę ruchów i najlepszy czas. Liczy się tylko wieża ułożona od pozycji startowej bez podpowiedzi, cofania i automatycznego rozwiązywania; gry z losowej pozycji nie liczą się nigdy. Przycisk „Wyczyść moje wyniki” usuwa zapis.

Jak zrobić wieżę Hanoi z drewna lub tektury?

Potrzebna jest podstawka z trzema pionowymi prętami w jednym rzędzie i krążki o malejących średnicach, z otworem pośrodku, na przykład wycięte z tektury lub sklejki. Zamiast prętów mogą też posłużyć trzy pola narysowane na kartce, a zamiast krążków monety różnej wielkości. Wydrukowana z gry lista ruchów pozwala potem odtworzyć najkrótsze rozwiązanie na stole.

Ile krążków miała pierwsza wieża Hanoi?

Pierwsza wieża Lucasa miała 8 krążków. W książce z 1893 roku opisuje on drewniane krążki z otworem pośrodku, nawleczone na jeden z trzech kołków osadzonych na deseczce. Taka wieża wymaga 255 ruchów, czyli 4 min 15 s, jeśli każdy ruch trwa sekundę. Lucas pisał o ponad czterech minutach.

Sprawdzone na znanych wynikach

Każdy przypadek ma wynik ustalony przez źródło albo policzony z niego ręcznie. Narzędzie przelicza go przy każdej publikacji, a strona, która przestaje się zgadzać, nie zostaje opublikowana.

Źródła

Liczby i zasady na tej stronie zostały sprawdzone na podstawie tych publikacji.

  1. La Tour d'Hanoï (quoting the Journal des Débats of 27 December 1883)(otwiera się w nowej karcie)

    R. E. Allardice and A. Y. Fraser, Proceedings of the Edinburgh Mathematical Society, Cambridge University Press

  2. The Towers of Hanoi(otwiera się w nowej karcie)

    MacTutor History of Mathematics, University of St Andrews

  3. The Tower of Hanoi: Myths and Maths, 2nd edition (2018)(otwiera się w nowej karcie)

    Andreas M. Hinz, Sandi Klavžar and Ciril Petr, Birkhäuser (Springer)

  4. A000225: a(n) = 2^n - 1(otwiera się w nowej karcie)

    The On-Line Encyclopedia of Integer Sequences (OEIS)

  5. A007664: Reve's puzzle, moves with 4 pegs(otwiera się w nowej karcie)

    The On-Line Encyclopedia of Integer Sequences (OEIS)

  6. La quatrième tour de Hanoï (2014)(otwiera się w nowej karcie)

    Thierry Bousch, Bulletin of the Belgian Mathematical Society Simon Stevin

  7. The Tower of Hanoi: where maths meets psychology(otwiera się w nowej karcie)

    Marianne Freiberger, Plus magazine, University of Cambridge

  8. Recursion (section 2.3)(otwiera się w nowej karcie)

    Robert Sedgewick and Kevin Wayne, Princeton University

  9. Specific impairments of planning (1982)(otwiera się w nowej karcie)

    Tim Shallice, Philosophical Transactions of the Royal Society B (PubMed)

  10. Concurrent validity of the tower tasks as measures of executive function in adults: a meta-analysis (2009)(otwiera się w nowej karcie)

    Jeremy R. Sullivan, Cynthia A. Riccio and Candace L. Castillo, Applied Neuropsychology (PubMed)

  11. Understanding planning ability measured by the tower of London (2010)(otwiera się w nowej karcie)

    Gabriela Koppenol-Gonzalez, Samantha Bouwmeester and A. Marije Boonstra, Erasmus University Rotterdam (RePub)

Podobne narzędzia