手机版

人工智能_(马少平_朱小燕_著)_清华大学出版社_课(10)

发布时间:2021-06-07   来源:未知    
字号:

过去,需要一次摆渡。 化简有:

再考虑船在右岸的情况。同样不考虑限制条件。船在右岸,需要一个人将船运到左岸。因此对于状态(M,C,0)来说,其所需要的最少摆渡数,相当于船在左岸时状态(M+1,C,1)或(M,C+1,1)所需要的最少摆渡数,再加上第一次将船从右岸送到左岸的一次摆渡数。因此所需要的最少摆渡数为:(M+C+1)-2+1 。其中(M+C+1)的"+1"表示送船回到左岸的那个人,而最后边的"+1",表示送船到左岸时的一次摆渡。 化简有:(M+C+1)-2+1=M+C。

综合船在左岸和船在右岸两种情况下,所需要的最少摆渡次数用一个式子表示为:M+C-2B。其中B=1表示船在左岸,B=0表示船在右岸。 由于该摆渡次数是在不考虑限制条件下,推出的最少所需要的摆渡次数。因此,当有限制条件时,最优的摆渡次数只能大于等于该摆渡次数。所以该启发函数h是满足A*条件的。

6、证明OPEN表上具有f(n)<f*(s)的任何节点n,最终都将被A*选择去扩展。

答:题目的另一个说法是:当A*结束时,OPEN表中任何一个具有f(n)<f*(s)的节点都被扩展了。 用反证法证明。

假设在A*结束的时候,OPEN表中有一个节点n没有被扩展,且f(n)<f*(s)。A*算法每次从OPEN表中取出f值最小的节点扩展,当该节点是目标节点时,算法结束。并且由可采纳性定理,知道这时A*找到了从初始节点到目标节点的最佳路径,即f(t)=f*(s)。如果这时OPEN中存在f(n)<f*(s)的节点n,由于f(n)<f(t),则这时A*算法应选择n扩展,而不是目标t,与A*已经结束矛盾。

7、如果算法A*从OPEN表中去掉任一节点n,对n有f(n)>F(F>f*(s)),试说明为什么算法A*仍然是可采纳的。

答: 因为A*选作扩展的任何一个节点n,均有f(n)≤f*(s),因此f(n)>f*(s)的节点,不会被A*所扩展。所以如果从OPEN表中去掉f(n)>f*(s)的节点,不会影响A*的可采纳性。而F是f*(s)的上界范围,因此去掉f(n)>F的节点也同样不会影响A*的可采纳性。

8、用算法A逆向求解图2.7中的八数码问题,评价函数仍定义为f(n)=d(n)+w(n)。逆向搜索在什么地方和正向搜索相会。

提示:对于8数码问题,逆向搜索和正向搜索是完全一样的,只是把目标状态和初始状态对调就可以了。

9、讨论一个h函数在搜索期间可以得到改善的几种方法。

提示:在搜索期间改善h函数,是一种动态改变h函数的方法。像改进的A*算法中,对NEST中的节点按g值的大小选择待扩展的节点,相当于令这些节点的h=0,就是动态修改h函数的一种方法。 由定理6,当h满足单调条件时,A*所扩展的节点序列,其f是非递减的。对于任何节点i,j,如果j是i的子节点,则有f(i)≤f(j)。利用该性质,我们可以提出另一种动态修改h函数的方法: f(j)=max(f(i), f(j))

以f(j)作为节点j的f值。f值的改变,隐含了h值的改变。

人工智能_(马少平_朱小燕_著)_清华大学出版社_课(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)