Yerel Arama

BİM444 — Hafta 5 · Ders 1

Öğr. Gör. Oktay Cesur

2026-03-23

Nerede Kaldık?

  • A* ile optimal yol bulmayı öğrendik: g(n) + h(n)
  • Yol-tabanlı arama üç varsayıma dayanıyordu:
    • Çevre tam gözlemlenebilir
    • Eylemler deterministik
    • Durum uzayı biliniyor
  • Çözüm tipi: başlangıçtan hedefe sabit bir eylem dizisi

Neleri yapmadık?

  • Yol tabanlı aramada ne yapamıyoruz?
    • Yolun önemsiz olduğu optimizasyon problemleri.
    • Ortamdaki tek ajanın bizimki olmadığı durumlar.

8-Queens: Yeni Tür Bir Problem

  • n × n tahtaya n vezir yerleştirin; hiçbiri diğerini tehdit etmesin
  • Başlangıç durumu: Her sütuna rastgele bir vezir koy
  • Hedef: Saldıran çift sayısı = 0 olan bir konfigürasyon
  • Hedefe nasıl vardığımız önemsiz; yalnızca son durum önemli

Yerel Arama Fikri

  • Tek bir mevcut durum tut; yalnızca komşularına bak
  • Daha iyi bir komşu varsa oraya geç; yolu hatırlama
  • Frontier yönetimi yok, yol korunmaz
  • İki büyük avantaj:
    • Bellek O(1) — yalnızca mevcut durum tutulur
    • Çok büyük veya sürekli durum uzaylarında çalışabilir

Yerel Aramanın Üç Unsuru

Her yerel arama algoritması üç bileşen üzerine kuruludur:

  1. Başlangıç noktası: Arama nerede başlıyor? Rastgele mi, sezgisel mi?
  2. Komşuluk yapısı: Mevcut durumdan hangi durumlara geçilebilir?
  3. İlerleme algoritması: Komşular arasından hangisine geçileceğini belirleyen kural

Hill climbing, SA ve beam search → aynı çerçevenin farklı ilerleme kuralları

Durum Uzayı Manzarası

  • Durum uzayını topografik harita olarak düşünün
  • Her nokta = bir durum · Yükseklik = durumun değeri (objective function)
  • Amaç: global maksimuma (veya minimuma) ulaşmak
Tuzak Ne oluyor Sonuç
Yerel maksimum Çevresiyle en iyi ama global değil Ajan takılır
Plato Tüm komşular eşit değerde Yön yok
Sırt Dar çıkıntı boyunca dik eğim Zigzag, yavaş ilerleme

Hill Climbing — Tepe Tırmanma

  • Her adımda en iyi komşuya geç; daha iyi komşu yoksa dur
  • Mevcut durumun yakın komşularının ötesine bakmaz
  • Geri dönüş mekanizması yok
function HILL-CLIMBING(problem) returns a state
  current ← problem.INITIAL-STATE
  loop do
    neighbor ← highest-valued successor of current
    if neighbor.VALUE ≤ current.VALUE then return current
    current ← neighbor

Hill Climbing: 8-Queens Üzerinde

  • h = birbirine saldıran vezir çiftlerinin sayısı · Hedef: h = 0
  • Başlangıç: h = 17 → en iyi komşu h = 12 → birkaç adımda h = 1
  • h = 1’de: tek çift sorunlu ama her olası tek-vezir hareketi h’yi artırıyor
  • Algoritma yerel minimumda takıldı

Hill Climbing: Performans ve Takılma

  • 8-queens’de steepest-ascent: %14 başarı, %86 yerel minimuma takılıyor
  • Her başarılı deneme ortalama 4 adım
  • Sideways move izni eklenirse: başarı %14 → %94
    • Ama maliyet artar: başarılı ortalama 21 adım, başarısız 64 adım

Yerel Maksimumdan Kaçış

Random-restart — merkezde olan strateji:

  • Takılınca rastgele yeni başlangıç noktası seç, tekrar tırman
  • p ≈ 0.14 başarı → ortalama 7 deneme → toplamda ~22 adım
  • Basit, ucuz, güçlü: her başarısız deneme sadece ~4 adım maliyetinde

Diğer varyantlar:

Varyant Fikir
Stochastic HC Daha iyi komşular arasından rastgele seç
First-choice HC İlk bulduğun daha iyi komşuya geç (b çok büyükse pratik)

Simulated Annealing — Motivasyon

  • Hill climbing: aşağı hamle yapmak istemediği için yerel maksimumda takılıyor
  • Tamamen rastgele yürüyüş: tam ama son derece verimsiz
  • SA = hill climbing’in hızlı tırmanması + random walk’ın keşif gücü

Simulated Annealing — Algoritma

function SIMULATED-ANNEALING(problem, schedule) returns a state
  current ← problem.INITIAL-STATE
  for t = 1 to ∞ do
    T ← schedule(t)
    if T = 0 then return current
    next ← randomly selected successor of current
    ΔE ← next.VALUE − current.VALUE
    if ΔE > 0 then current ← next
    else current ← next only with probability e^(ΔE/T)

SA — Kabul Formülünün Üç Sezgisi

Kötü hamle kabulü: e^(ΔE/T) olasılığıyla

  • ΔE küçük negatif, T büyük → olasılık yüksek → başta özgürce keşfet
  • ΔE küçük negatif, T küçük → olasılık ≈ 0 → sonda yalnızca iyileştir
  • ΔE çok negatif (felaket hamle) → T ne olursa olsun olasılık düşük

SA — Özellikler ve Uygulamaları

  • Teori: T yeterince yavaş azaltılırsa → global optimuma yaklaşma olasılığı 1’e yaklaşır
  • Pratik: “Yeterince yavaş” kabul edilemez uzunlukta olabilir; çizelge deneysel ayarlanır
  • Soğuma çizelgesi kritik: çok hızlı → yerel maks; çok yavaş → çok uzun süre
  • Uygulamalar: VLSI yerleşimi · çizelgeleme · havayolu planlaması · protein konfigürasyonu

Kapanış: Yerel Arama Ailesi

Algoritma İlerleme kuralı Güçlü yön Zayıf yön
Hill climbing En iyi komşu Hızlı, basit Yerel maks’ta takılır
Simulated annealing Rastgele komşu + kontrollü kabul Yerel maks’tan kaçar Çizelge tasarımı kritik
Local beam search k paralel + en iyi k seçim Bilgi paylaşımı Çeşitlilik kaybı riski

Aynı problem tipine — yolun değil son durumun önemli olduğu optimizasyon — üç farklı tasarım cevabı.

Sıradaki soru: Ya çevre pasif değilse? Ya her hamlemizden sonra bir rakip bize en ters gelecek karşılığı veriyorsa?