Sezgisel Aramaya Giriş

Greedy, A* ve Temel Fikirler

Öğr. Gör. Oktay Cesur

2026-02-16

1. Aramayla Problem Çözme: Nerede Kaldık?

  • Bir problemi arama problemi olarak tanımladık:
  • başlangıç durumu
  • eylemler
  • geçiş modeli
  • hedef testi
  • yol maliyeti

Aramayla Problem Çözme: Nerede Kaldık?

Bu yapı üzerinde bilgisiz arama algoritmalarını gördük:
* BFS
* DFS
* UCS
* IDS
* Böylece çözümü sistematik olarak aramayı mümkün hale getirdik

Peki Neden Bu Yetmedi?

  • Bu algoritmalar çözüm bulabilir
  • Ama aramayı hedefe doğru yönlendiremez
  • Bu yüzden çok sayıda gereksiz düğüm açabilir.
  • Soru: Hedefe yakın görünen durumları önce incelesek ne olur?

1

Rota Oluşturuluyor….

  • Hedefe olan gerçek uzaklığı bilmiyoruz.
    • Peki aramayı yönlendirmek için ne kullanabiliriz?
    • İpucu: Bu yolculuğa biz çıksak Tekirdağ üzerinden gider miydik?
    • İst→Ank için \(1000\,km\) yol yapılması makul mü?
    • Ör: Tek→İps→Blk→Krm→Krs→Erz→Ank rotası makul müdür?
      • Böyle bir rotaya girmiş bir ajan bundan ne zaman vazgeçer?
  • Problemin yapısından gelen ek bilgi kullanabiliriz.
    • Ör: şehirler arası kuş uçuşu mesafe.
  • Eğer bu mesafeyi biliyorsak,
    • ideal yolun bu değerin çok üzerinde olmasını beklemeyiz.

Sezgisel Fonksiyon — h(n)

  • h(n): n düğümünden hedefe olan tahmini maliyet
  • Hedef düğümde h(goal) = 0
  • Probleme özgü bilgi gerektirir
  • Örnek: kuş uçuşu mesafe (hesaplaması ucuz bir tahmin)
  • Gerçek yol maliyeti genellikle ≥ kuş uçuşu mesafe

Sezgisel Arama Stratejileri

Bir sezgisel fonksiyon h(n) verildiğinde, arama algoritmaları düğümleri bir değerlendirme fonksiyonu f(n) ile sıralar.

  • Açgözlü en iyi ilk arama (Greedy best-first)
    f(n) = h(n)
    → Hedefe en yakın görünen düğüm seçilir.

  • A*
    f(n) = g(n) + h(n)
    → Gerçek maliyet (g) ve tahmini kalan maliyet (h) birlikte kullanılır.

  • Her iki algoritmada da frontier bir öncelik kuyruğu olarak tutulur ve en küçük f(n) değerine sahip düğüm genişletilir.

Açgözlü En İyi İlk Arama (Greedy Best-First)

  • Temel fikir: Hedefe en yakın görünen düğümü seç
  • Değerlendirme fonksiyonu: f(n) = h(n)
  • Frontier içinden en küçük h(n) değerine sahip düğüm genişletilir

Örnek akış (Greedy):
İstanbul → Bolu → Ankara
Toplam maliyet: 650 km

Daha kısa rota:
İstanbul → Bursa → Eskişehir → Ankara
Toplam maliyet: 550 km

Açgözlülüğün Sonu

  • Tam mı? Hayır — döngülere takılabilir

    • Örneğin Düzce düğümüne ulaşırsak Düzce-Adap döngüsüne sıkışırdık.
  • Optimal mi? Hayır — ilk bulduğu çözüm en kısa olmayabilir

  • Zaman: O(b^m) (kötü durumda)

  • Yer: O(b^m) — tüm sınırı bellekte tutar

  • Avantaj: İyi sezgiyle hızlı sonuç verebilir

  • Geçmiş maliyeti (g(n)) dikkate almaz

  • Kısa vadeli avantaja odaklanır, uzun vadede kötü olabilir

A* — Temel Fikir

  • Değerlendirme fonksiyonu: f(n) = g(n) + h(n)

    • g(n): başlangıçtan n’ye gerçek maliyet
    • h(n): n’den hedefe tahmini maliyet
    • f(n): n üzerinden giden yolun tahmini toplam maliyeti
  • Frontier’dan en küçük f(n) değerine sahip düğüm seçilir

Animasyon: A*’ın UCS’den farkı — Bursa (f=470) Tekirdağ’dan (f=550) önce açılır.

A*’da Hedef Testi Zamanlaması

  • Kural: Hedef testi düğüm genişletilirken yapılır
  • Neden? İlk üretilen hedef düğüm en düşük maliyetli olmayabilir

Örnek: İstanbul → Ankara * İst → Bol → Ank (650 km) önce üretilir * İst → Bur → Kut → Esk → Ank (550 km) sonra üretilir

Eğer üretme anında test etseydik, 650 km’lik çözümü döndürür, optimali kaçırırdık.

Brecht, Bertolt. (1943) 1984. Galileo Galilei. Translated by Genco Erkal, Teoman Aktürel, and Adalet Cimcoz. Dostlar Tiyatrosu Yayınları.