Labirent Arama Algoritmalari

Algoritma Sonuclar Performans Olcumleri
Ziyaret Edilen Kareler Yol Uzunlugu Calisma Zamani (s) Kullanilan Bellek (Dugumler)
BFS - - - -
DFS - - - -
A* - - - -
Cift Yonlu Arama - - - -
Greedy Best-First Arama - - - -
En Kisa Yol Uzunlugu -

Labirent Arama Algoritmaları - Problem Açıklaması

Amaç

Rastgele oluşturulmuş bir labirentte başlangıç noktasından (yeşil) hedef noktasına (kırmızı) en kısa yolu bulmak. Labirentte duvarlar (%30 yoğunluk) geçilemez engellerdir.

Problem Özellikleri

Algoritma Karşılaştırması

Değerlendirme Metrikleri

Sezgisel (Heuristic) Fonksiyonlar

A* ve Greedy algoritmaları hedefe olan uzaklığı tahmin etmek için sezgisel fonksiyon kullanır:

Manhattan Distance (h):

h(n) = |x_current - x_goal| + |y_current - y_goal|

Grid tabanlı labirentlerde diagonal hareket yoksa Manhattan distance admissible (kabul edilebilir) bir heuristic'tir.

A* Değerlendirme Fonksiyonu:

f(n) = g(n) + h(n)

• g(n) = başlangıçtan n'e gerçek maliyet (adım sayısı)
• h(n) = n'den hedefe tahmini maliyet (Manhattan distance)
• f(n) = n üzerinden giden toplam tahmini maliyet

Greedy Best-First Değerlendirme:

f(n) = h(n)

Sadece hedefe uzaklığa bakar (g'yi görmezden gelir), bu yüzden optimal yolu garanti etmez.

Kullanım

Labirent boyutunu seçin, bir algoritma belirleyin ve "Başlat" butonuna tıklayın. Sarı hücreler ziyaret edilenleri, mavi hücreler bulunan yolu gösterir. Tabloda algoritmaların performansını karşılaştırabilirsiniz.