0

我十分肯定的* (星)A *算法意味着該算法是受理,即可以保證它發現在如果此路徑存在圖中的最短路徑(當所採用的啓發式是樂觀的)。A *算法中的星號是什麼意思?

我說得對不對?我沒有找到有關該主題的任何信息,但我找不到任何參考。希望這個社區的大多數有經驗的用戶知道A *的歷史與我的不同。順便說一句,我認爲像IDA *,D *,SMA *,MOA *,NAMOA *,等基於A *的其他算法遵循相同的名稱約定。

+1

不符合[維基百科](https://en.wikipedia.org/wiki/A*_search_algorithm#History)。 – beaker

回答

0

原因是科學家們首先提出了他們稱爲A1的Dijkstra算法的改進版本。後來,A *的發明人發現A1的改進,他們稱之爲A2。然後,這些人設法證明,在使用啓發式的假設下,A2實際上是最優的。由於A2是最佳的,所以它被重新命名爲A *。在科學中,尤其是在優化中,通常使用「*」符號來表示最優解。有些人還將「*」解釋爲「任何版本號」,因爲已證明不可能構建出性能優於A2/A *的「A3」算法。

順便說一句,在這種情況下,「最優」並不意味着它達到最佳解決方案,而是它在探索最小節點數量時這樣做。當然,A *也是完整的,這意味着它達到最佳解決方案(如果我們使用可接受的啓發式)。

+0

我也從維基百科讀到這個條目:https://en.wikipedia.org/wiki/A*_search_algorithm。我特別尋找這個名稱約定的參考(在一篇研究論文或着名的資料來源中)。 – FrankS101

+0

挖了一下,我發現這個帖子可能會讓你感興趣:http://stackoverflow.com/a/29470434/2174693 – francoisr

+0

謝謝。我看到我的問題是那個問題的重複。有趣的是,接受的答案是引用一篇已發表的論文。那篇論文的作者引用了維基百科在他們的文章中介紹該段落。那麼誰首先在維基百科上寫下這些內容?也許是哈特,也許是那篇論文之前的作者,誰知道...... – FrankS101

相關問題