融合成发展新趋势 中国软件业正在起飞时

          昨天看人工智能,几页A*算法的证明过程看了我几个小时,结果后来几句话就可以很直观的证明出来了.

首先是在一个有穷图中,弧必然要>某个正数,其次,对于节点n的估价函数h^(n)必须<=实际的估价函数h(n),

这样就保证了A*的可接纳性,也就是一定可以找到一条最优路径

其次,假设s2是s1的后继,则必须保证一致性(单调的性质),也就是g^(s2) - g^(s1) >= h^(s1) - h^(s2),也就

是F^(s2) >= F^(s1),一致性使得A*在每扩展节点N都可以找到达到N的一条最优秀路径。

对于一致性使得A*在扩展节点N的时候可以找到N的最优秀路径,我的直观的证明是这样的:

1)由于每次A*是取F^(x)最小的点,所以A*总是沿着已经扩展了的F^(x)点集的边缘向外扩展

2) 由于一致性,保证了F^(s2) >= F^(s1),所以在扩展F^(s2)之前,所有可能是s2父节点都将会被扩展(这是因

为s2父节点的F^肯定不大于s2的F^),按照这个推理,直到最顶层的n0(开始节点),他本身就是最小代价路

径了,于是s2所计算的F^自然会是最小值,而且由于可接纳性保证了可以找到最优(最小代价)路径,当扩展

s2的时候,就自然等于找到了s2的最优(最小代价)路径。当然可能有人会说,那如果s2的父亲节点的F^和s2

一样,而却先扩展了s2呢?对于这样的情况,由于一致性,s2父亲节点扩展的节点肯定 >= 他本身,所以s2依

然是最优的。


上面的过程非常不规范,谈不上证明吧,但是对于理解却很有帮助,因为真的比书上的证明过程直观得多了,

呵呵 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值