- 0
- 0
- 约7.84千字
- 约 47页
- 2026-02-03 发布于北京
- 举报
规则演绎推理
05
图搜索策略
图搜索策略
➢图搜索(GraphSearch)
◆如果一个问题的状态空间可以用图来表示,这样就能使用第二章
的图表示来解决,通过将问题构建为图,把问题转变为在图中寻找
一条从起点到终点的路径.
图搜索策略
➢图搜索过程
◆基于图的搜索过程,叫做图搜索过程.这里,令图中起点和终点分别为初始数据
库和目标数据库.因此,图搜索过程可以被定义为从初始到目标数据数据库的路
径选择过程.
◆图搜索的三个数据结构分别为:
⚫1.数据的图结构:数据的信息;
⚫2.OPEN表:存放但未扩展的图节点;
⚫3.CLOSED表:存放已扩展的图节点.
图搜索策略
➢数据结构图
◆STATE:节点的状态信息;
◆PARENTNODE:指向父节点的指针;
◆ACTION:父节点到达该节点应执行的动作;
◆DEPTH:当前节点在搜索树中的深度;
◆PATHCOST:起始节点到该节点的路径代价.
图搜索策略
➢一般图搜索的流程
◆建立只含初始节点S的搜索图G,然后将S放入OPEN表;
◆初始化CLOSED表为空;
◆LOOP:判断OPEN表是否为空表,若是则以失败结束,否则继续;
◆选择OPEN表中的第一个节点,将其移动到CLOSED表中,同时命名该点为n;
◆判断n是否为目标节点,若是,则以成功结束,并且路径由n到S构成,否
则继续;
◆扩展节点n生成集合M.如果M中的节点未出现在OPEN和CLOSED表过,将其
父节点设为n,并放入OPEN表末端.如果出现在OPEN或者CLOSED表过,则
需要考虑是否修改其父节点.对于在CLOSED表中M节点,其父节点更改了,则
需要将其移动到OPEN表中;
◆以某种方式重排OPEN表;
◆继续进行LOOP.
盲目搜索
宽度优先搜索
➢宽度优先搜索
◆搜索过程中,优先搜索离起始节点近的节点的方法,叫做宽度优先
搜索(Breadth-firstSearch).宽度优先按照顺序一层一层地进行搜索,
最终遍历完所有的节点.
宽度优先搜索
➢算法步骤
◆把起始点放入OPEN表中,倘若该点为目标节点,则停止,并返回结果;
◆LOOP:判断OPEN表是否为空,若是则失败,否则进入下一步;
◆将OPEN表中第一个节点n取出,放入CLOSED表;
◆扩展节点n,得到子集M,若无后继节点,则返回LOOP;
◆把M加入OPEN表末端,并将指针指向n;
◆若n后继节点有目标节点,则成功,否则进入LOOP.
深度优先搜索
➢深度优先搜索
◆与宽度优先搜索的由浅入深的方式相对,另一种思路则是优先
搜索到最深处,这种方法叫做深度优先搜索.
启发式搜索
启发式搜索
➢启发式搜索策略
◆启发式搜索往往采用问题相关的信息来指导搜索,以增强搜索的效果.具体的说,在搜索的过程
原创力文档

文档评论(0)