AO*算法详解,附例子和算法详细步骤

 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)
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值