Hanoi Kulesi, sabit bir platformun üzerinde bulunan çubuklara ve bu çubuklara geçirmek üzere kullanılacak birden fazla diskin bulunduğu oyunun genel adıdır. Biraz puzzle, biraz da oyun havası vardır. Bu oyun, Brahma Kulesi ya da Lucas’ın Kulesi adıyla da anılır.
Hanoi Kulesi oyunu, 1883 yılında Fransız matematikçi Edouard Lucas tarafından icat edilmiş ve piyasaya sürülmüştür. Ancak tarihi çok daha eskiye dayanır. Bir rivayete göre Hindistan’da bulunan Kashi Wishwanat Tapınağında, içinde 64 adet altın disk bulunan büyük bir oda varmış. Rahipler bu 64 diski, büyükten küçüğe sıralanacak şekilde, Brahman inançlarına göre hareket ettirirlermiş. Yine efsaneye göre son disk doğru şekilde yerleştirildiğinde dünyanın sonu gelecekmiş.
Eğer bu efsane doğru ise ve rahiplerin her biri saniyede bir hamle yaparlar ise oyun 565 milyar yıl sonra bitiyor. Bu sayı evrenin yaşının tam 4 katı.
Rahiplerin anlatmak istediği 64 diski yer değiştirecek zamanın milyarda biri kadar bir süre bile dünyada kalmayacak insanın hırslarının büyüklüğü müdür? Yoksa boş işlerle hayatın geçtiğini mi vurgulamaya çalıştılar. Bilinmez. Efsanenin altında hangi felsefi öğreti olursa olsun kaçınılmaz bir gerçek karşımızda durmaktadır.
Hanoi Kuleleri oyununun mantığını kavraması kolaydır ama başarılı olması biraz zordur. Hanoi kulesi oyununda, sabit bir platform üzerinde 3 adet sütun vardır. Herhangi bir sütunun içine geçirilmiş diskleri yine aynı şekilde olacak şekilde başka bir sütuna geçirmek amaçlanır. Bunu yaparken de diskler büyükten küçüğe doğru sıralanmalıdır ve her seferinde tek hamle hakkınız vardır. Ayrıca bir disk kendinden küçük çaplı bir diskin üzerine yerleştirilemez.
1- Hanoi kulesi oyununda en başta tüm diskler büyükten küçüğe tek sütuna dizilmelidir.
2- Her hamlede sadece bir disk yerinden oynatılabilir.
3- Büyük disk, küçük diskin üzerine kesinlikle gelemez.
4- Aldığınız diski oyun platformu dışında tutamazsınız. Sütunun birine koymak zorundasınız.
İşi formüle döktüğümüz vakit ortaya çıkan ilginç bir algoritma olacaktır bu algoritma, rekürsif algoritmadır. Üç disk probleminde, ilk 3 hamle ile iki disk problemi çözülür, 1 hamle ile büyük disk hedefe konulur, sonraki 3 hamle ile iki disk üstüne eklenir. Yani yapılan işlem sayısı 3 + 1 + 3 =7 dir.
Dört disk probleminin çözümü 15 hamlede gerçekleşti. Üç diski ortada toplamamız 7 hamle almıştır, bundan sonraki 1 hamle, dördüncü diske sağa almaktır. Sonraki hamle ise, 7 hamlede üç diski, bu en büyük diskin üzerine almaktır.
Buradan yola çıkarak basit bir mantıkla beş disk için 31, altı disk için 63 hamle gerektiğini bulabiliriz. Bu aktarımı formüle dökersek (2^n)-1 elde ederiz. n yerine 64 sayısını yerleştirdiğimizde elde edeceğimiz sonuç 18446744073709551615 tir.
Oyun linki:Hanoi
Yorum Bırakın