Hanoi Kuleleri, üstel büyüme, rekürsif fonksiyonlar ve kombinatorik analizin en güzel örneklerinden biridir. n disk için minimum hamle sayısı 2n - 1 formülü ile verilir ve bu, matematiksel olarak ispatlanmış optimal çözümdür.
Temel Formül
Hanoi Kuleleri için en temel ve önemli formül, n disk taşınırken gereken minimum hamle sayısını veren formüldür:
Minimum Hamle Sayısı
Burada T(n), n disk için gereken minimum hamle sayısıdır.
Örnek Hesaplamalar
| Disk Sayısı (n) | 2n | 2n - 1 | Süre (sn/disk) |
|---|---|---|---|
| 1 | 2 | 1 | 1 sn |
| 2 | 4 | 3 | 3 sn |
| 3 | 8 | 7 | 7 sn |
| 4 | 16 | 15 | 15 sn |
| 5 | 32 | 31 | 31 sn |
| 6 | 64 | 63 | 1 dk 3 sn |
| 7 | 128 | 127 | 2 dk 7 sn |
| 8 | 256 | 255 | 4 dk 15 sn |
| 10 | 1,024 | 1,023 | 17 dk 3 sn |
| 20 | 1,048,576 | 1,048,575 | 12 gün |
| 32 | 4,294,967,296 | 4,294,967,295 | 136 yıl |
| 64 | 18,446,744,073,709,551,616 | 18,446,744,073,709,551,615 | 585 milyar yıl |
64 Disk Örneği
Efsanedeki 64 disk için gereken hamle sayısı 18,446,744,073,709,551,615'tir. Bu sayı o kadar büyüktür ki, saniyede bir hamle yapan bir makine bile bunu tamamlamak için 585 milyar yıl gerektirir. Evrenin şu anki yaşı yaklaşık 13.8 milyar yıldır!
Rekürsif Çözüm
Hanoi Kuleleri'nin en zarif çözümü rekürsif yaklaşımdır. Bu yaklaşım, problemi daha küçük alt problemlere ayırır ve "böl ve fethet" (divide and conquer) stratejisini kullanır.
Rekürsif Algoritma
function hanoi(n, kaynak, hedef, yardimci):
// Base case: 1 disk
if n == 1:
tasi_disk(kaynak, hedef)
return
// n-1 diski kaynaktan yardimciya tasi
hanoi(n-1, kaynak, yardimci, hedef)
// En buyuk diski kaynaktan hedefe tasi
tasi_disk(kaynak, hedef)
// n-1 diski yardimcidan hedefe tasi
hanoi(n-1, yardimci, hedef, kaynak)
Matematiksel İndüksiyon Kanıtı
Teorem: n disk için minimum hamle 2n - 1'dir.
Temel Durum (n = 1):
T(1) = 1 = 21 - 1. Tek disk için doğru.
İndüksiyon Varsayımı:
n-1 disk için T(n-1) = 2n-1 - 1 olsun.
İndüksiyon Adımı:
n disk için:
- n-1 diski kaynaktan yardımcıya tasi: T(n-1) hamle
- En büyük diski kaynaktan hedefe tasi: 1 hamle
- n-1 diski yardımcıdan hedefe tasi: T(n-1) hamle
İndüksiyon varsayımını yerine koyalım:
Sonuç: İndüksiyon tamamlandı. Teorem doğrudur. ∎
Karmaşıklık Analizi
Algoritma karmaşıklığı analizi, bir algoritmanın verimliliğini ölçmek için kullanılan matematiksel bir çerçevedir.
Zaman Karmaşıklığı
⏱️ Zaman Karmaşıklığı
Üstel zaman karmaşıklığı. Her disk eklendiğinde süre ikiye katlanır.
💾 Uzay Karmaşıklığı
Rekürsif çağrı yığını için gerekli alan.
🎯 Optimallik
Alt ve üst sınır aynıdır - daha iyisi mümkün değil.
Büyüme Oranları Karşılaştırması
| Büyüme Sınıfı | Örnek | 220 için süre |
|---|---|---|
| O(1) | Sabit | 1 işlem |
| O(log n) | İkili arama | 20 işlem |
| O(n) | Lineer arama | 1 milyon işlem |
| O(n log n) | Hızlı sıralama | 20 milyon işlem |
| O(n²) | Kabarcık sıralama | 1 trilyon işlem |
| O(2n) | Hanoi Kuleleri | 1 milyon trilyon işlem |
NP-Hard Bağlantısı
Genelleştirilmiş Hanoi Kuleleri problemi (4+ çubuk), NP-hard olarak sınıflandırılır. Bu, büyük örnekler için optimal çözüm bulmanın hesaplama açısından zor olduğu anlamına gelir.
Kapalı Form Çözümü
Rekürsif tanımın yanında, Hanoi Kuleleri için kapalı form (closed-form) çözümler de vardır.
T(n) = 2n - 1 Türetimi
Rekürsif denklem:
Her iki tarafa 1 ekleyelim:
S(n) = T(n) + 1 dönüşümü yapalım:
Bu geometrik dizinin çözümü:
Geri dönüşüm:
Alternatif İteratif Formül
Bit Manipülasyonu ile:
Bu, 2n - 1 hesaplamasının bilgisayar bilimindeki ifadesidir.
İkili Gösterim ve Bit Desenleri
Hanoi Kuleleri'nin çözümü, ikili sayı sistemi ile yakından ilişkilidir. Her hamle, ikili sayıların yapısından doğrudan türetilebilir.
Gray Kod Bağlantısı
Hanoi Kuleleri çözümü, Gray kodları ile izomorfiktir. Gray kod, ardışık sayılar arasında sadece bir bit değişen bir sayı sistemidir.
| Hamle | Binary | Gray Kod | Hareket Edilen Disk |
|---|---|---|---|
| 0 | 000 | 000 | - |
| 1 | 001 | 001 | 1 |
| 2 | 010 | 011 | 2 |
| 3 | 011 | 010 | 1 |
| 4 | 100 | 110 | 3 |
| 5 | 101 | 111 | 1 |
| 6 | 110 | 101 | 2 |
| 7 | 111 | 100 | 1 |
İkili Hamle Belirleme
Hamle sayısının en sağdaki 1 bit'i hangi diskin hareket edeceğini gösterir:
Örnek: Hamle 5 (1012) → En sağdaki 1, 1. pozisyonda → Disk 1
Genellemeler
Klasik 3 çubuklu problem, çeşitli şekillerde genelleştirilebilir.
4+ Çubuk Problemi (Frame-Stewart Algoritması)
Problem: n disk ve k çubuk (k ≥ 3)
Frame-Stewart Algoritması (1941):
- En uygun m diski seç (0 < m < n)
- m diski kaynaktan yardımcı çubuğa taşı (k-1 çubuk kullanarak)
- Kalan n-m diski kaynaktan hedefe taşı (k çubuk kullanarak)
- m diski yardımcıdan hedefe taşı (k-1 çubuk kullanarak)
Çoklu Hedef Problemleri
- Cyclic Hanoi: Diskler sadece bir yönde hareket edebilir. Çözüm: 3n - 1 hamle
- Directed Graph: Çubuklar arası geçişler kısıtlı. Karmaşıklık geçiş grafiğine bağlıdır.
- Reve's Puzzle: Farklı boyutlardaki diskler için genelleme.
İstatistiksel Analiz
Rastgele hamlelerle çözüm olasılıkları ve ortalama çözüm süreleri üzerine istatistiksel çalışmalar yapılmıştır.
Rastgele Çözüm Olasılığı
Her hamlede rastgele seçim yapıldığında:
- Küçük disk sayıları için (n ≤ 5): Makul sürede çözüm bulunabilir
- Orta disk sayıları için (n = 6-8): Çok uzun süre gerektirir
- Büyük disk sayıları için (n > 8): Pratik olarak imkansız
Ortalama Çözüm Süreleri
| Disk | Optimal (sn) | Ortalama (dk) | Uzman (sn) |
|---|---|---|---|
| 3 | 7 | 1-2 | 10-15 |
| 4 | 15 | 3-5 | 30-45 |
| 5 | 31 | 8-12 | 1-2 |
| 6 | 63 | 20-30 | 3-5 |
| 7 | 127 | 45-60 | 8-12 |
| 8 | 255 | 2-3 saat | 20-30 |
İnsan Performansı
Deneyimli oyuncular, optimal stratejiyi kullanarak disk başına ortalama 1-2 saniyede hamle yapabilirler. Bu, otomatik çözümden sadece 2-3 kat daha yavaştır.
Matematiksel Özet
Hanoi Kuleleri, matematiğin en zarif problemlerinden biridir. Basit kurallarla tanımlanmasına rağmen, derin matematiksel yapılar içerir:
- Rekürsiyon: Kendini referans eden elegan çözüm
- Üstel Büyüme: 2n - 1 formülü
- İkili Sistem: Gray kod ile doğal bağlantı
- Kombinatorik: Optimal ve suboptimal çözüm uzayı
- Algoritma: Bilgisayar biliminin temel örneği
Pratik Uygulama
Matematiksel bilgilerinizi test edin:
Referanslar
- Frame, J. S. (1941). Solution to advanced problem 3918. American Mathematical Monthly, 48, 216-217.
- Stewart, B. M. (1939). Problem 3918. American Mathematical Monthly, 46, 363.
- Hinz, A. M. (1989). An iterative algorithm for the Tower of Hanoi with four or more pegs. The Computer Journal.
- Troshkin, A. A. (1989). Analysis of a recursion hierarchy. Computer Science.
- Scorer, R. S., Grundy, P. M., & Smith, C. A. B. (1944). Some binary games. Mathematical Gazette.