北大公开课-人工智能基础 17 通过搜索求解之无信息搜索策略(四)


深度受限搜索,是一种特殊的深度优先搜索,利用了深度搜索空间复杂性较低的特点,
而规定了最大的树搜索深度,降低了搜索的时间复杂性,
(如果状态空间无限,则深度优先搜索就会一直搜索下去)

【深度受限搜索算法】
搜索中调用了一个 recursive-dls算法
recursive代表递归
dls是深度限定搜索 depth limited search的缩写
这个 recursive-dls算法在使用过程中,调用了它自己,因此它是一个递归的算法
定义变量和算法后
先判断当前的节点状态 node.state是否为目标状态 goal,如果是,则返回当前的节点node为解 solution
大致逻辑与深度优先算法相同,
但是这个循环之外,增加了recursive-dls与limit的判断

【迭代加深搜索算法】
迭代加深搜索,是调用了上述的深度受限算法,
而在深度受限算法之上,再增加了一个判断。
可以理解为先限定深度,再限定的深度内,如果一直没有找到解solution
则逐步增加深度,在新的限定深度内,再次寻找解,直到找到解为止,
