Yükleniyor...

Hanoi Kuleleri'nde ustalaşmak için temel prensipleri anlamak yeterlidir. Rekürsif düşünce yapısı ve pratik ipuçları ile her disk sayısı için optimal çözüm mümkündür.

Temel Strateji

Optimal strateji, "böl ve fethet" (divide and conquer) prensibine dayanır. Her zaman en küçük hedefe odaklanın: n disk için önce n-1 diski yardımcı çubuğa taşıyın, en büyük diski hedefe yerleştirin, sonra n-1 diski yardımcıdan hedefe taşıyın.

3 Disk İçin Adım Adım Çözüm

1

Başlangıç Durumu

Tüm diskler (1, 2, 3) Kaynak çubukta.

123 | |
2

Üst 2 Diski Taşı

Disk 1'i Yardımcı'ya, Disk 2'yi Hedef'e taşı.

3 | 2 | 1
3

En Büyük Diski Yerleştir

Disk 3'ü Kaynak'tan Hedef'e taşı.

| 2 | 1 3
4

Küçük Diskleri Tamamla

Disk 1'i Kaynak'a, Disk 2'yi Hedef'e, Disk 1'i Hedef'e taşı.

| | 1 2 3

Altın Kural

🎯 Stratejik Prensip

Her zaman hedefinizi bölecek şekilde düşünün:

  • n disk problemi → (n-1) disk + 1 disk + (n-1) disk
  • Her alt problem kendi içinde aynı stratejiyle çözülür
  • Baz durum: 1 disk = doğrudan taşı

Rekürsif Düşünme

Rekürsiyon, Hanoi Kuleleri'nin en doğal ve zarif çözümüdür. Bu yaklaşım, problemi kendi kopyalarına dönüştürerek çözer.

Mental Model

Seviye 1: 3 Disk Problem

"2 diski Yardımcı'ya taşı, sonra 3'ü Hedef'e, sonra 2'yi Hedef'e"

Seviye 2: 2 Disk Problem

"1 diski Hedef'e taşı, sonra 2'yi Yardımcı'ya, sonra 1'i Yardımcı'ya"

Seviye 3: 1 Disk (Baz)

"Doğrudan taşı"

Pratik İpucu: Küçük Disk

💡 En Küçük Disk Stratejisi

En küçük disk (Disk 1), her zaman bir yönde dolaşır:

  • Tek disk sayısı (3, 5, 7...): Saat yönünde (1→2→3→1)
  • Çift disk sayısı (2, 4, 6...): Saat yönünün tersi (1→3→2→1)

Bu kural, optimal çözümün %50'sini oluşturur!

İteratif Yaklaşım

İteratif (döngüsel) çözüm, herhangi bir programlama dilinde kolayca uygulanabilir ve rekürsif çağrı yığını sorununu önler.

İteratif Algoritma

function hanoi_iterative(n):
    // n tek ise küçük disk saat yönünde
    // n çift ise küçük disk saat yönünün tersi
    direction = (n % 2 == 1) ? clockwise : counter_clockwise
    
    total_moves = 2n - 1
    
    for move from 1 to total_moves:
        if move is odd:
            // Tek hamleler: En küçük disgi tasi
            move_smallest_disk(direction)
        else:
            // Çift hamleler: Tek legal hamleyi yap
            make_only_legal_move()
    
    return

Küçük Disk Deseni

Hamle Disk 1 Hareketi (n=3) Disk 1 Hareketi (n=4)
11→21→3
31→31→2
51→21→3
71→31→2

İleri Seviye İpuçları

🧠 Hafıza Teknikleri

  • "İki küçük, bir büyük" desenini hatırla
  • Her disk için hedef çubuğu görselleştir
  • Hamle numarasını sayarak ilerle

⚡ Hız Teknikleri

  • Önce tüm küçük diskleri taşıma kuralını öğren
  • Görsel desen tanıma pratiği yap
  • Otomatik hamleler geliştir (refleks)

🎯 Optimal Kontrol

  • Hamle sayını sürekli kontrol et: 2n-1
  • Büyük diski sadece bir kez taşımalısın
  • Her diski 2(disk_no-1) kez taşırsın

📐 Uzaysal Strateji

  • Her zaman hedef çubuğu görselleştir
  • Yardımcı çubuğu "geçici depo" olarak gör
  • Disk sıralamasını aklında tut

Ortak Hatalardan Kaçının

Aynı Disgi Ard ArdA Taşıma

Optimal çözümde aynı disk ard arda iki kez taşınmaz (en küçük disk hariç).

Büyük Diskleri Erken Taşıma

En büyük diski hedefe yerleştirmeden önce tüm küçük diskler yardımcı çubukta olmalı.

Disk Sıralamasını Bozma

Asla büyük bir diski küçüğün üzerine koyma - bu geçersiz hamledir.

Alıştırma Modları

Becerilerinizi geliştirmek için sistematik alıştırmalar yapın:

Önerilen Eğitim Programı

Seviye 1: Başlangıç (3-4 Disk)

  • 3 disk ile 7 hamlede çözüm hedefi
  • Her hamleyi düşünerek yap
  • Rekürsif stratejiyi içselleştir
Hedef: 2-3 dakika

Seviye 2: Orta (5-6 Disk)

  • 5 disk için 31 hamle
  • 6 disk için 63 hamle
  • Küçük disk desenini kullan
Hedef: 5-8 dakika

Seviye 3: İleri (7-8 Disk)

  • 7 disk için 127 hamle
  • 8 disk için 255 hamle
  • Refleks hamleler geliştir
Hedef: 15-25 dakika

Pratik Egzersizler

Desen Tanıma

5 hamle yap, sonra kalan hamleleri tahmin etmeye çalış.

Ters Çözüm

Hedef çubuktan başlayıp kaynak çubuğa geri dön.

Kısıtlı Çözüm

Sadece belirli çubukları kullanarak çöz (zor mod).

Hız Rekorları

Profesyonel oyuncular ve bilgisayarlar arasındaki hız rekorları:

İnsan Rekorları

Disk Rekor Süre Tarih
3~5 saniye-
4~15 saniye-
5~30 saniye-
6~1 dakika-
7~3 dakika2023

Bilgisayar Rekorları

GPU Hızlandırılmış Çözüm:

  • 20 disk: Saniyenin binde biri içinde
  • 32 disk: ~1 saniye
  • 64 disk: ~1 saniye (hesaplama, görselleştirme değil)

Not: 64 disk için tüm hamleleri görselleştirmek bile yıllar alır!

Kendi Rekorunu Kır!

Pratik yaparak hızını artır: