Bilgisiz Arama
BİM444 — Hafta 3
Öğr. Gör. Oktay Cesur
2026-02-16
Bilgisiz Arama Algoritmaları
BFS — Breadth-First Search (Enine Arama)
Fikir: Katman katman genişle — bir derinlikteki tüm düğümler bitmeden sonraki derinliğe geçme
Veri yapısı: FIFO kuyruğu — en eski (en sığ) düğüm önce çıkar
Tam: Evet (b sonluysa) · Optimal: Evet (adım maliyetleri eşitse)
Zaman:
\(O(b^d)\)
· Yer:
\(O(b^d)\)
— tüm sınırı bellekte tutar
BFS — Bellek Tablosu
Derinlik
Düğüm
Süre
Bellek
\(2\)
\(110\)
\(0.11\,\text{ms}\)
\(107\,\text{KB}\)
\(6\)
\(10^6\)
\(1.1\,\text{s}\)
\(1\,\text{GB}\)
\(8\)
\(10^8\)
\(2\,\text{dk}\)
\(103\,\text{GB}\)
\(10\)
\(10^{10}\)
\(3\,\text{saat}\)
\(10\,\text{TB}\)
\(12\)
\(10^{12}\)
\(13\,\text{gün}\)
\(1\,\text{PB}\)
UCS — Uniform-Cost Search (En Düşük Maliyetli Arama)
Fikir: En düşük toplam yol maliyetine sahip düğümü önce genişlet
Değerlendirme:
\(g(n)\)
— başlangıçtan
n
düğümüne kadar biriken gerçek maliyet
Veri yapısı: Öncelik kuyruğu
Tam: Evet (adım maliyetleri pozitifse) · Optimal: Evet
Zaman / Yer:
\(O\!\left(b^{1+\lfloor C^*/\varepsilon \rfloor}\right)\)
DFS — Depth-First Search
Fikir: Daima en derin genişletilmemiş düğümü seç — çıkmaz sokakta geri dön
Veri yapısı: LIFO yığını
Tam: Hayır — sonsuz yollarda takılır
Optimal: Hayır — ilk bulduğu çözümü döndürür
Zaman:
\(O(b^m)\)
· Yer:
\(O(bm)\)
— BFS’ye kıyasla devasa avantaj
Derinlik Sınırlı Arama
DFS’nin sonsuz yol sorununa basit çözüm: ℓ derinlik sınırı koy
ℓ < d ise hedefi kaçırırsınız
Tam değil, optimal değil (ℓ doğru seçilmezse)
IDS — Iterative Deepening Search
Motivasyon: BFS tam+optimal ama bellek sorunlu · DFS bellek verimli ama tam+optimal değil
Fikir: Derinlik sınırını
\(0\)
’dan başlat, her seferinde artır, her seferinde DFS uygula
BFS gibi: tam ve optimal · DFS gibi: bellek
\(O(bd)\)
\(b=10\)
,
\(d=5\)
: IDS=
\(123{,}450\)
· BFS=
\(111{,}110\)
→ fark
\(%11\)
, bellek farkı trilyonlarca kat
Çift Yönlü Arama
Fikir: İki arama eş zamanlı — başlangıçtan ileri, hedeften geri
Sınırlar kesişince çözüm bulundu
\(b^d\)
yerine
\(2 \times b^{d/2}\)
— zaman ve yer:
\(O(b^{d/2})\)
\(d=6\)
,
\(b=10\)
: BFS=
\(1{,}111{,}110\)
düğüm · Çift yönlü=
\(2{,}220\)
düğüm
Karşılaştırma Tablosu
Yöntem
Tam?
Optimal?
Zaman
Yer
BFS
Evet
Evet†
\(O(b^d)\)
\(O(b^d)\)
Uniform-Cost
Evet
Evet
\(O(b^{C^*/\varepsilon})\)
\(O(b^{C^*/\varepsilon})\)
DFS
Hayır
Hayır
\(O(b^m)\)
\(O(bm)\)
Derinlik Sınırlı
Hayır
Hayır
\(O(b^\ell)\)
\(O(b\ell)\)
IDS
Evet
Evet†
\(O(b^d)\)
\(O(bd)\)
Çift Yönlü
Evet
Evet†
\(O(b^{d/2})\)
\(O(b^{d/2})\)