3
与/或树的深度优先搜索
搜索过程
(1)把初始节点S0放入OPEN表
(2)把OPEN表中的第一个节点(n)取出放入CLOSE表
(3)如果节点n的深度大于深度界限,则转第(5)步的第<1>点
(4)如果节点n可扩展,做
<1>扩展节点n,将其子节点放入OPEN表的首部,为每个子节点配置指向父节点的指针,以备标示过程使用
<2> 考察这些子节点中是否有终止节点。有,标示这些终止节点为可解节点,应用可解标示过程对其先辈节点中的可解节点进行标示。如果初始节点S0也被标示为可解节点,搜索成功,退出。如果不能确定S0为可解,则从OPEN表中删去具有可解先辈的节点<3>转(2)
(5)如果节点n不可扩展,做
<1>标示节点n为不可解节点
<2>应用不可解标示过程对节点n的先辈节点中不可解的节点进行标示。如果S0也标示为不可解,搜索失败,退出。如果不能确定S0为不可解节点,从OPEN表中删除具有不可解先辈的节点。
<3>转(2)
点击看大图及详解
|