Hanoi Kuleleri: Özyinelemenin En Zarif Bulmacası
64 altın diski taşımak için Brahma rahipleri evrenin sonuna kadar çalışacak. Bu eski efsane, neden bilgisayar bilimlerinde özyinelemenin ders kitabı örneği oldu?

Brahma'nın altın diskleri
Efsaneye göre Hindistan'da bir tapınakta üç elmas çubuk vardır. Birinin üzerinde Brahma'nın koyduğu 64 altın disk bulunur — en büyüğü altta, üst üste küçülerek. Rahiplerin görevi tüm diskleri başka bir çubuğa taşımaktır. Üç kural var:
- Tek seferde tek disk taşınır.
- Disk yalnızca üç çubuktan birinin en üstüne konur.
- Büyük disk asla küçüğün üstüne konulamaz.
Efsaneye göre tüm diskler taşındığında evren sona erecektir. Korkulacak bir şey var mı?
Bulmacayı bu hikâyeyle popüler yapan kişi Fransız matematikçi Édouard Lucas (1883). Lucas oyuncak versiyonunu satılığa çıkardığında matematikçiler ve bilgisayar bilimciler için sıçramalı bir örnek doğmuştu.
Algoritma: kendine seslenen çözüm
diski A'dan C'ye, B'yi yardımcı çubuk olarak kullanarak taşıyalım. Üç adım:
- Üstteki diski A'dan B'ye taşı.
- En alttaki büyük diski A'dan C'ye taşı (1 hamle).
- B'deki diski C'ye taşı.
Dikkat: 1. ve 3. adımlar aynı problemin küçük versiyonu. Algoritma kendisini çağırıyor — bu özyineleme.
function hanoi(n, kaynak, hedef, yardımcı):
if n == 1:
print "Taşı: " + kaynak + " -> " + hedef
return
hanoi(n-1, kaynak, yardımcı, hedef)
print "Taşı: " + kaynak + " -> " + hedef
hanoi(n-1, yardımcı, hedef, kaynak)
Sadece dört satır. Bu kadar kısa bir kod milyonlarca hamlelik düzgün bir koreografi üretir. Bu yüzden hemen her bilgisayar bilimi dersinde özyinelemenin ilk örneğidir.
Kaç hamlede biter?
toplam hamle sayısı olsun. Algoritma şunu söyler:
Bu özyineleme bağıntısı çözüldüğünde:
Yani diske karşılık hamle. Küçük örnekler:
- hamle
- hamle
- hamle
Brahma'nın rahipleri ne zaman bitirir?
Saniyede bir hamle yapsalar:
Yaklaşık 585 milyar yıl. Evrenin şu anki yaşı yaklaşık 13.8 milyar yıl olduğuna göre rahipler işin %2.4'ünü ancak bitirmişlerdir. Endişeye gerek yok.
Üstel büyümenin gözle görülür dersi
Hanoi Kuleleri'nin en güçlü tarafı, üstel patlamayı somutlaştırmasıdır. Bir disk eklediğinizde hamle sayısı iki katına çıkar artı bir. 64 disk için gereken süre, 63 disk için gerekenin tam iki katıdır. Bu, kriptografide neden 256 bitlik anahtarlar kırılmaz olarak kabul edildiğini açıklayan aynı patlamadır.
Aynı zamanda NP-zor problemleri "bilgisayar daha hızlı olsa çözeriz" yanılgısının panzehridir: bilgisayar 1000 kat hızlansa, çözebileceğiniz problem boyutu sadece disk artar. Donanım hızı üstel duvarı yıkamaz.
Tek çözüm var mı?
Evet — minimum hamle sayısıyla çözüm tektir (simetri hariç). Hatta bir başka güzellik: hamleleri ikili sayma ile eşleştirebilirsiniz. . hamlede hangi diskin hareket ettiği, sayısının ikili gösterimindeki en sağdaki 1'in konumu ile belirlenir. Yani bulmacanın yapısı doğrudan Gray kodu ve ikili sayma ile aynı iskelete sahiptir.
Bir bulmaca, bir efsane, bir özyineleme örneği, bir kombinatorik şekil — Hanoi Kuleleri tek bir küçük oyuncakta matematiğin pek çok dalını birden öğretir. Lucas neden başarılı? Çünkü o bir oyuncak değil; bir fikrin maket halidir.
Etiketler
Kendinizi Test Edin
Cevaplarınız profilinizde istatistik olarak saklanır.
1. Hanoi Kuleleri'nin minimum hamle sayısı (n disk için) hangisidir?
2. Algoritma kendisini hangi şekilde çağırır?
3. 64 disk için Brahma rahipleri saniyede bir hamle yapsa ne kadar sürede biter?
4. Hanoi Kuleleri'nin matematikteki en güçlü dersi nedir?
5. Bulmacayı 1883'te popülerleştiren matematikçi kimdir?
İlgili Yazılar
Sekreter Problemi: Hayatın En İyi Seçimini Yapmak için "%37 Kuralı"
Bir işe alma görüşmesi, bir ev arama süreci, hatta hayat arkadaşı seçimi… Hepsinin altında aynı klasik matematik problemi yatar. Cevap şaşırtıcı biçimde tek bir sayıya bağlıdır: %37.
MatematikPisagor Teoremi ve Saklı Bir Sır: İrrasyonel Sayılar Nasıl Keşfedildi?
Dik üçgenlerle ilgili o ünlü kural, aynı zamanda matematik tarihinin en sarsıcı keşfine yol açtı: kesir olarak yazılamayan sayılar. Üstelik bu keşif, bir bilim topluluğunu temellerinden sarstı.
MatematikFibonacci Dizisi ve Altın Oran: Tavşanlardan Ayçiçeklerine Uzanan Örüntü
Bir tavşan üretme bilmecesiyle başlayan basit bir sayı dizisi, ayçiçeği tohumlarından çam kozalaklarına, deniz kabuklarından galaksilere kadar doğanın her yerinde nasıl karşımıza çıkıyor?