AI算法是一種重要的啟發式算法,主要用於選擇兩點之間的最佳路徑,A的實現也通過評估函數實現
F=G + H
G代表從這一點到起點的成本
H是從此點到終點的曼哈頓距離。
F是G和H的和,最佳路徑是選擇最小的F值並進行下一步(更多詳細信息將在后面描述)
曼哈頓距離
Paste_Image.png
上圖中從熊到樹葉的曼哈頓距離是由藍線表示的距離,其中沒有考慮障礙物。如果上圖中每個框的長度為1,則此時熊的曼哈頓距離為9。
開始(X1,Y1),結束(X2,Y2),H=| X2-X1 | + | Y2-Y1 |
我們也可以通過幾何坐標點來計算曼哈頓距離,或者以上圖為例,左下角是(0,0)點,熊的位置是(1,4),樹葉的位置是(7,1),則H=| 7-1 | + | 1-4 |=9。
打開,關閉列表
以上面的圖片為例。例如,開始時,熊的位置將被添加到CLOSE列表中,熊可移動的點將被添加到OPEN列表中,熊周圍的八個節點為F=G + An評估操作(例如H),然后在8個節點中選擇F值最小的節點,然后從OPEN列表中刪除該節點並將其添加到Close列表。從那時起,此節點8周圍的每個節點都會執行評估操作,然后按順序進行計算。因此,每個人可能都不太了解它。我將在下面詳細解釋。
*算法示例
Paste_Image.png
從頭到尾,我們使用A-star算法找到最佳路徑
Paste_Image.png
我們將每個正方形的長度定義為1,則從起點到5位置的成本為1,從3到1.4的成本為1.41。定義好之后,我們來看上圖,然后計算
Paste_Image.png
第一步,我們將起點周圍的點添加到“打開”列表中,然后執行評估操作。計算結果如上所示。在這里,您會看到一個指向起點的小箭頭。此箭頭指向父節點,並且打開列表G值是基於此計算的,這意味着我需要從前一個父節點運行到此點的總成本。如果點不相同,則G值不同。經過計算,我們在上圖中找到了1個點。 F值為7.41,這是最小的值,因此我們選擇此點並從OPEN列表中刪除1點,然后將其添加到CLOSE列表中,但是當我們下降時,我們發現大約1點,2點和3要點如何應對三個出發點。首先,起點已添加到CLOSE,並且他不需要執行此操作。這是CLOSE列表的作用,我們還可以在2和3處對他執行操作。對於點的計算,當我們從1點移動到2點時,他需要的價格是G值將變為2.41, H值不會改變。 F=2.41 + 7=9.41。這個算法主要用於智能寫作,我們發現此值大於原始F值,我們無法將其更改(將父節點指向1,並將F值更改為9.41,因為我們一直在努力使F值最小化),並且相同適用於3分。
如果您有互聯網問題,也可以咨詢我,謝謝!如果你也想一起學習人工智能,歡迎留言交流。