A* Arama Algoritması
A* Search Algorithm · Ayrıca şöyle bilinir: A* algorithm, A-star algorithm, A* search
Peter E. Hart, Nils J. Nilsson ve Bertram Raphael tarafından 1968'de geliştirilen A* Arama Algoritması, Dijkstra algoritmasının faydalarını sezgisel yönlendirme ile birleştiren optimal bir yol bulma algoritmasıdır. Başlangıçtan olan gerçek mesafeyi hedef mesafesiyle dengeleyerek en kısa yolu verimli bir şekilde bulur.
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
Ne zaman kullanılır
İyi bir sezgisel fonksiyonun mevcut olduğu grafiklerde optimal yollar bulmanız gerektiğinde A*'yı uygulayın. Özellikle oyunlarda, robotikte ve yönlendirme planlamasında, bilgilendirilmiş aramanın hesaplamayı önemli ölçüde azaltabileceği yol bulma için etkilidir. Hızın önemli olduğu ancak optimalliğin gerekli olduğu durumlarda kullanın. Güvenilir bir sezgisel fonksiyonun olmadığı durumlar için bunun yerine Dijkstra algoritmasını kullanın.
Güçlü yönler & sınırlılıklar
- Sezgisel kabul edilebilir olduğunda optimal yol bulma
- İyi sezgisel fonksiyonlar mevcut olduğunda Dijkstra veya genişlik öncelikli aramadan çok daha hızlı
- Esnek: herhangi bir kabul edilebilir sezgisel fonksiyonla çalışır
- Tek hedefli yol bulma problemleri için çok uygundur
- Oyunlarda, robotikte ve navigasyon sistemlerinde kapsamlı gerçek dünya doğrulaması
- Optimallik, sezgisel fonksiyonun kabul edilebilirliğine bağlıdır
- Kötü veya kabul edilemez sezgisel fonksiyonlarla performans önemli ölçüde düşer
- Büyük arama alanlarında bellek kullanımı önemli olabilir (açık ve kapalı kümeleri tutar)
- İyi sezgisel fonksiyonlar tasarlamak için açık alan bilgisi gerektirir
SSS
Kabul edilebilir bir sezgisel fonksiyon nedir ve neden önemlidir?
Kabul edilebilir bir sezgisel fonksiyon, hedefe giden gerçek maliyeti asla aşırı tahmin etmez. Bu özellik, A*'nın optimal yolu bulmasını garanti eder. Bir sezgisel fonksiyon aşırı tahmin ederse, A* daha kısa yolları kaçırabilir ve suboptimal çözümler döndürebilir.
Bir problem için iyi bir sezgisel fonksiyon nasıl tasarlanır?
İyi sezgisel fonksiyonlar, alan bilgisine ve problem yapısına dayanır. Izgara tabanlı yol bulma için Manhattan veya Öklid mesafesi iyi çalışır. Daha karmaşık problemler için, kısıtlamaları gevşetmeyi veya kabul edilebilir sezgisel fonksiyonları hesaplamak için desen veritabanlarını kullanmayı düşünün.
A* ile Dijkstra algoritması arasındaki fark nedir?
Her ikisi de optimal yollar bulur, ancak A*, iyi bir sezgisel fonksiyon mevcut olduğunda onu çok daha hızlı hale getiren hedef yönünde keşfi önceliklendirmek için bir sezgisel fonksiyon kullanır. Dijkstra her yönde eşit olarak keşfeder ve sezgisel fonksiyonlar güvenilmez olduğunda daha güvenlidir.
A* en kısa yolu bulmayı garanti edebilir mi?
Evet, sezgisel fonksiyon kabul edilebilir olduğunda (gerçek maliyeti asla aşırı tahmin etmediğinde) A* en kısa yolu garanti eder. Kabul edilemez sezgisel fonksiyonlarla optimallik garanti edilmez.
Kaynaklar
- Hart, P. E., Nilsson, N. J., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 4(2), 100-107. DOI: 10.1109/TSSC.1968.300136 ↗
- Russell, S. J., & Norvig, P. (2009). Artificial Intelligence: A Modern Approach (3rd ed.). Pearson. ISBN: 978-0-13-604259-4
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). A* Search Algorithm. ScholarGate. https://scholargate.app/tr/operations-research/a-star-search-algorithm
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- Bellman-Ford AlgoritmasıYöneylem araştırması↔ karşılaştır
- Dijkstra AlgoritmasıYöneylem araştırması↔ karşılaştır