A*演算法疑問 |
尚未結案
|
ksam123
一般會員 發表:6 回覆:3 積分:1 註冊:2004-06-12 發送簡訊給我 |
搜索過程中設置兩個表:OPEN和CLOSED。OPEN表保存了所有已生成而未考察的節點,CLOSED表中記錄已訪問過的節點。演算法中有一步是根據估價函數重排OPEN表。這樣迴圈中的每一步只考慮OPEN表中狀態最好的節點。具體搜索過程如下: 1)初始狀態:
OPEN=[A5]; CLOSED=[];
2)估算A5,取得搜有子節點,並放入OPEN表中;
OPEN=[B4, C4, D6]; CLOSED=[A5]
3)估算B4,取得搜有子節點,並放入OPEN表中;
OPEN=[C4, E5, F5, D6]; CLOSED=[B4, A5]
4)估算C4;取得搜有子節點,並放入OPEN表中;
OPEN=[H3, G4, E5, F5, D6] CLOSED=[C4, B4, A5]
5)估算H3,取得搜有子節點,並放入OPEN表中;
OPEN=[O2, P3, G4, E5, F5, D6]; CLOSED=H3C4, B4, A5]
6)估算O2,取得搜有子節點,並放入OPEN表中;
OPEN=[P3, G4, E5, F5, D6]; CLOSED=[O2, H3, C4, B 4,A5]
7)估算P3,已得到解; 請問以上程式是說所設的2個表(OPEN CLOSED) 適用哪種方法設?是堆疊嗎?
在BCB裡要如何實現阿?
|
pkdemon
初階會員 發表:2 回覆:51 積分:25 註冊:2004-09-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |