簡體   English   中英

如果我使用4x曼哈頓距離作為15-Puzzle的啟發式,為什么A *會更快

[英]Why A* is faster if i use 4xManhattan Distances as Heuristic for 15-Puzzle

我已經實現了一個A *算法來解決15-puzzle。 我進行了一項研究,尋找一些可行的或可接受的啟發式方法,尋找快速解決方案,我發現使用4 * Manhattan Distance作為啟發式方法總能在不到一秒的時間內解決任何15個難題。 我試過這個並且有效地工作了。 我試圖找到答案,但我找不到。

任何人都可以解釋一下嗎?

4 *曼哈頓距離不允許啟發式,這使得算法首先表現得更接近貪婪(算法選擇哪個節點僅基於啟發式函數開發)。 這使得算法有時更喜歡解決方案的深度和對廣度和最優性的探索。

這個想法類似於A * -Epsilon中發生的事情,你允許A *在沒有最佳節點的情況下達到某個界限以加速你的算法,實際上 - 我懷疑你會得到相同的(或類似的結果)如果你用曼哈頓距離和epsilon = 3運行A * -Epsilon。 (如果我是正確的,這會使您在修改的啟發式中找到的解決方案受到4*OPTIMAL ,其中OPTIMAL是最佳路徑的長度)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM