[英]Admissible Heuristic Manhattan Distance
我最近開始了人工智能的入門課程,並且我已經獲得了在Python中實現可接受的啟發式功能的任務,該功能通過A *搜索解決了15-Puzzle。
我實施了曼哈頓距離以及其他一些啟發式算法。 Python代碼運行得很好,算法實際上解決了這個問題,但我對曼哈頓距離啟發式是否可以接受這個特定問題有一些疑問。
根據理論,如果從未 高估達到目標的成本,則啟發式是可以接受的。 這意味着啟發式是樂觀的,它返回的成本永遠不會超過實際成本。
當初始狀態如下(0表示空槽)時:
1 2 3 4
0 6 7 8
5 9 10 12
13 14 11 15
我的程序通過5次移動解決了問題,但是每個放錯位置的瓦片的曼哈頓距離之和等於10,這是實際成本的兩倍。 因此,實際成本遠低於估計成本。 這是否意味着啟發式不可接受或我的邏輯有什么問題?
我想過只計算空塊的曼哈頓距離,但是當空塊在正確的位置而其他瓷磚放錯位置時,這會導致估計成本為零的狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.