tag YolBulma
A* Algoritması Nedir? Yapay Zekada Yol Bulma (A* Arama Algoritması)
Bu sayfada YolBulma (A* Algoritması Nedir? Yapay Zekada Yol Bulma (A* Arama Algoritması)) etiketi ile işaretlenmiş 1 yapay zeka kavramını bulabilirsiniz.
A* (A-yıldız) algoritması, 1968 yılında Peter Hart, Nils Nilsson ve Bertram Raphael tarafından Stanford Araştırma Enstitüsü'nde geliştirilen, graflar ve ağlar üzerinde en kısa yolu bulan sezgisel bir arama algoritmasıdır. Yapay zeka, robotik, oyun geliştirme ve navigasyon sistemlerinde en yaygın kullanılan yol bulma (pathfinding) yöntemi olma özelliğini korumaktadır. A*, Dijkstra algoritmasının garantili optimalliği ile sezgisel arama yöntemlerinin verimliliğini bir araya getirir. Temel değerlendirme fonksiyonu f(n) = g(n) + h(n) formülüyle tanımlanır: g(n) başlangıç noktasından mevcut düğüme ulaşmanın gerçek maliyetini, h(n) ise mevcut düğümden hedef noktaya olan tahmini mesafeyi (sezgisel fonksiyon) ifade eder. Bu iki bileşeni birleştirerek algoritma, hem geçmiş maliyeti hem de gelecekteki tahmini maliyeti optimize eder. Algoritmanın doğruluk ve optimallik garantisi, kullanılan sezgisel fonksiyonun kabul edilebilir (admissible) olmasına bağlıdır. Kabul edilebilir sezgisel, gerçek maliyeti hiçbir zaman olduğundan fazla tahmin etmez. Düzlemsel koordinatlarda sıklıkla kullanılan Öklid ve Manhattan mesafe formülleri bu kriteri karşılar. Sezgisel aynı zamanda tutarlı (consistent/monotone) olduğunda A* keşfedilen düğümleri yeniden ziyaret etmez ve bellek kullanımı azalır. A*, açık liste (open list) ve kapalı liste (closed list) veri yapılarıyla çalışır. Önce başlangıç düğümünü açık listeye ekler; her adımda f değeri en düşük düğümü seçer, komşularını değerlendirir ve listeyi günceller. Bu süreç hedefe ulaşılana veya tüm olası yollar tükenene kadar devam eder. Öncelik kuyruğu (priority queue) ile uygulandığında zaman karmaşıklığı O(E log V) mertebesindedir. Yapay zeka araştırmalarında A*, pekiştirmeli öğrenmede planlama problemlerinin çözümünde, doğal dil işlemede sözdizimi ağaçlarının aranmasında ve konfigürasyon uzaylarında robot hareket planlamasında kullanılmaktadır. Oyun motorlarında ise NPC (Non-Player Character) yapay zekasının temel navigasyon bileşeni olarak yaygındır.