Procedure AO*
1.建立一个只由根节点构成的搜索图G.
s的费用 q(s) := h(s), G’:=G.
如果s是目标,标记s为SOLVED.
2.Until s被标记为 SOLVED,do:
3.begin
4. 通过跟踪从s出发的有标记的连接符计算部分解图G’(G的连接符将在以后的步骤中标记)
5. 在G’中选一个非终止的叶节点n.
6. 扩展节点n产生n的所有后继,并把它们连到图G上,
对于每一个不曾在G中出现的后继nj,q(nj) :=h(nj),
如果这些后继中某些节点是终止节点,则用SOLVED标记。
7. S:={n};建立一个只由n构成的单元素集合S。
8. Until S变空,do:
9. begin
10. 从S中删除节点m,满足 m在G中的后裔不
出现在 S中
11. 按以下步骤修改m的费用q(m):
对于每一从m出发的指向节点集合{n1i,…,nki}
的连接符,计算qi(m)=ci+q(n1i)+…+q(nki),
q(m):=min {qi(m)}。
(1)将指针标记加到实现此最小值的连接符上。
(2)
AO*算法详解,附例子和算法详细步骤
最新推荐文章于 2024-09-10 15:29:43 发布