JS Algorithms
Hanoi Kuleleri
Geçen çocukların odasını toplarken oğlumun ahşap dersinde yapmış olduğu bir oyuncağını (Hanoi Kulesi) buldum. Büyük bir ihtimal ile bu oyuncak ahşap disk, çubuklar ve ana tahtanın kesimse, boyanması ve sonra çubukların tutkal ile ana tahtaya yapıştırılması ile tamamlandı. Belki birkaç kere diskler bir çubuktan, diğer bir çubuğa aktarıldı sonrasında her oyuncak gibi bir kenara atıldı.
Ama aslında Hanoi Kulesi bundan fazlasını içeriyor. Bir satranç, dama ve go gibi bir oyun aslında.
Hanoi’nin kuralları çok basit.
- Her seferinde bir disk taşıyabilirsiniz.
- Bir diskin üzerine kendisinden büyük bir disk koyamazsınız.
- Hadi bütün diskleri diğer çubuğa taşıyalım..
Hadi gelin şimdi bu oyunu gözümüzde bir canlandıralım. Aşağıda disklerin nasıl taşındığı ile ilgili ufak bir görselleştirme yaptım.
Bunu adımları analiz edersek, toplamda 4 disk için 15 adımda bu işlemleri gerçekleştirmişiz. (2 üzeri 4) → 16 -1 =15 adım. Bu durumda
1 disk -> 1 adım
2 disk -> 3 adım
3 disk -> 7 adım
4 disk -> 15 adım
görüleceği üzeri disk sayısı artığında adım sayımız 2nin exponential olarak artıyor.
Bu yazıyı ileride tamamlamak üzere burada bırakalım.
İleride Geliştirmeyi Düşündüğüm Alanlar
- Bu uygulamanın oynanabilir görsel bir versiyonun digital garden içerisinde yapılması
- Oynanırken yapılan hareketlerin görsel olarak gösterilmesinin yapılması
- Bilgisayarın kendi başına oynayabileceği versiyonu için çözüm algoritması yazılması
- Bilgisayarın normal bir kullanıcı gibi oyunu oynayabilmesi.
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.