Hanojská věž na webu

Podle legendy pečuje skupina východních mnichů o tři věže, na nichž je umístěno 64 zlatých kruhů. Původně bylo všech 64 různě velkých kruhů naskládáno na jedné věži podle velikosti tak, že každý kruh byl menší než kruh, který byl pod ním. Úkolem mnichů je přemístit všechny kruhy z první věže na třetí. Kruhy je nutno přemísťovat jeden po druhém tak, aby větší kruh nikdy neležel na kruhu menším. Jakmile bude všech 64 kruhů přemístěno, nastane konec světa.

Až do nedávna jsem spolu se svým příručním matematickým slovníkem věřil, že hlavolam Hanojská věž je starého indického původu, jak naznačuje i výše uvedená dosti rozšířená legenda. Ale zdá se, že ve skutečnosti byl vymyšlen se vším všudy, včetně té legendy, až v r. 1883 francouzským matematikem Edouardem Lucasem. Alespoň z literatury není známa žádná zmínka o tomto hlavolamu nebo o s ním spojené legendě před r. 1883.

Profesor Lucas nazval svůj vynález "Hanojská věž". Jednotné číslo se vztahuje k jediné věži sestavené z disků, kterou je třeba rozebrat a sestavit na jiné tyči. Můj slovník a řada dalších zdrojů z posledních 25 let používají množné číslo - "Hanojské věže". To by mohlo odrážet buď rostoucí víru ve starobylý původ hlavolamu (legenda mluví o třech věžích - je možno si snadno představit tři jehlancovité pagody se spíše dosti tenkými zlatými kruhy umístěnými na jejich šikmých stěnách) nebo by to mohlo prostě odrážet fakt, že jazyk je živá entita, jejíž neustálý vývoj není možno zastavit. Udělal jsem malý průzkum níže uvedených webových míst a zjistil jsem, že asi 26 z nich respektuje původní jméno dané hlavolamu jeho vynálezcem a používá jednotné číslo "Hanojská věž", zatímco asi 29 z nich používá množné číslo "Hanojské věže".

Ilustrace z krabice původní hry prof. Lucase

Na počátku jsem si jen trochu hrál s JavaScriptem. Pak jsem se v něm pokusil napsat

(umístí na obrazovce všechny tři věže i s něco málo přes 100 kotouči). Přitom jsem našel nové rychlé nerekurzivní algoritmy pro řešení tohoto problému. Pak jsem trochu prohledával Internet a našel jsem dost jiných zajímavých stránek věnovaných Hanojské věži (HV) a tak mě napadlo sepsat to co jsem našel (stav z února 1998):

Za prvé, několik dalších lidí použilo JavaScript k napsání HV pro Internet, většinou ale nejvíce pro 10 kotoučů:

Existuje také pěkná verze v ActiveX pro Internet Explorer:

Většina HV pro Internet je však napsaná v Javě, ve které to zřejmě jde snadněji (i tak většina z nich zvládne jen malý počet kotoučů, málokteré více než 8):

Je možno také najít několik míst s HV v multimediálním Shockware:

A tři stránky, které používají CGI skripty:

HV je (pomocí ML) možno napsat i v prostém HTML:

A pomocí VRML vytvořit i třírozměrnou variantu:

Nebo použít animované GIFy k demonstraci řešení:


Je možno si také natáhnout

nebo si vyrobit vlastní lepenkovou HV z webové stránky vytištěné vaším prohlížečem:


Můžete si prohlédnout i humorná "alternativní" řešení HV:


Nové stránky, adresy, opravy přidávat zde