第三章 搜索推理技术解读

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
与或树的广度优先搜索,搜索过程
(1)OPEN:=S0 (2)LOOP: n:=FIRST(OPEN),REMOVE(n,OPEN),ADD(n,CLOSE) (3)IF EXPAND(n) THEN *EXPAND(n)M{mi},ADD(mi,OPEN),mi|n *IF mi=END,mi可解,对父、祖父等先辈节点中的可解 节点进行标示,若S0可解节点,得到解树,搜索成 功,退出;若不能确定S0为可解节点,则从OPEN表 中删除具有可解先辈的节点 *GO LOOP
2
开始 把S放入OPEN表 是 OPEN表为空表? 否 把第一个节点(n)从OPEN表移至CLOSED表
3.1 图搜索策略
失败
n为目标节点吗?
否 把n的后继节点放入OPEN表的 末端,提供返回节点n的指针

成功
修改指针方向
重排OPEN表 图3.1 图搜索过程框图
3
搜索过程 Open表:用于存放刚生成的节点 Close表:用于存放将要扩展和已扩展的节点 (1)把初始节点S0放入到OPEN表中,并建立只包含 S0的图,记为G OPEN:=S0,G:=G0(G0=S0) (2)检查OPEN表是否为空,若为空则问题无解,退 出 LOOP: IF(OPEN)=() THEN EXIT(FALL) (3)把OPEN表的第一个节点放入到CLOSE表,把该 节点记为n n:=FIRST(OPEN),REMOVE(n,OPEN),ADD(n,CLOSE) (4)观察节点n是否为目标节点,若是,则求得问题 的解,退出
第三章 搜索推理技术
3.1 图搜索策略 3.2 盲目搜索 3.3 启发式搜索 3.4 消解原理 3.5 规则演绎系统 3.6 产生式系统 3.7 系统组织技术 3.8 不确定性推理 3.9 非单调推理 3.10 小结
3.1 图搜索策略
图搜索控制策略
一种在图中寻找路径的方法。 图中每个节点对应一个状态,每条连线对应 一个操作符。这些节点和连线(即状态与操 作符)又分别由产生式系统的数据库和规则 来标记。求得把一个数据库变换为另一数据 库的规则序列问题就等价于求得图中的一条 路径问题。 图搜索过程图
7
1
2 8 3 1 4 7 6 5
3.2 盲目搜索
2 6
2 8 3 1 4 7 6 5
3 7 8
2 3 1 8 4 7 6 5
4 9
10
2 8 3 1 6 4 7 5
5
11 12
2 8 3 1 4 7 6 5
13
2 8 3 1 4 5 7 6
8 3 2 1 4 7 6 5
2 8 3 7 1 4 6 5
1
12
3.2 盲目搜索
3.2.2 深度优先搜索
定义
首先扩展最新产生的(即最深的)节点。
算法
是否有后继节点 为目标节点? 否 图3.2 宽度优先算法框图

成功
6
3.2 盲目搜索
例子
八数码难题(8-puzzle problem)
2 1 7 8 6 3 4 5 1 8 7 2 6 3 4 5
(初始状态)
(目标状态)
算符有:空格左移,上移,右移,下移 优点:只要有解,用广度优先搜索总可以得到, 而且得到的是路径最短的解 缺点:搜索效率低,特别是目标节点距离初始节 点较远时
图3.4 八数码难题的宽度优先搜索树
8
与或树的广度优先搜索
与或树的搜索过程也是不断的扩展节点,
并配以返回指针,而形成一棵不断生长 的搜索树。但与或树搜索解图,不像在 或图中那样只是简单的寻找目标节点, 而是边扩展节点边进行逻辑判断,以确 定初始节点是否可解,一旦能够确定初 始节点的可解性,则搜索停止。这时, 根据返回指针便可从搜索树中得到一个 可解图。
10
与或树的广度优先搜索,搜索过程
(4)IF EXPAND(n)=() THEN *标示节点n为不可解节点 *应用不可解标示过程对节点n的先辈节点中不可解的节 点进行标示,如果S0也被标示为不可解节点,则搜 索失败,原问题无解,退出。如果不可能确定S0为 不可解节点,则从OPEN表中删除具有不可解的先辈 节点。 *GO LOOP 例:与/或树如下,节点按图中所标注的顺序号进行扩 展,其中标有t1,t2,t3,t4的节点均为终止节点,A 和B为不可解节点。
20
2 8 1 4 3 7 6 5 2 8 1 4 3 7 6 5
21
2 8 3 1 4 5 7 6
22
8 2 7
23
24
25
26
1 2 3 7 8 4 6 5
27
1 2 3 8 4 7 6 5
8 1 3 3 1 4 2 4 6 5 7 6 5
2 8 3 2 8 3 4 7 1 4 7 6 1 5 6 5
11
4
A
搜索过程 (1)EXPAND(1),OPEN(2,3),EXPAND(2) 3 2 (2)OPEN(3,4,t1)因为2是与节点,t1可解, 不能确定2可解 t1 5 B (3)EXPAND(3),OPEN(4,t1,5,B) (4)EXPAND(4),OPEN(t1,5,B,A,t2),t2可解, 4可解,2可解,1不确定 (5)EXPAND(5),OPEN(t1,B,A,t2,t3,t4),t3,t t2 t3 t4 4可解,5可解,3可解,1可解。搜索 成功1,2,3,4,5,和t1,t2,t3,t4节点构 成解树。
2 3 1 8 4 7 6 5
2 3 1 8 4 7 6 5
wk.baidu.com
14
8 3 2 1 4 7 6 5
15
2 8 3 7 1 4 6 5
16
1 2 3 8 4 7 6 5
17
2 3 4 1 8 7 6 5
18
2 8 3 1 6 4 7 5 2 8 3 6 4 1 7 5
2 8 3 1 6 4 7 5
19
2 8 3 1 6 7 5 4
4
3.2 盲目搜索
特点:不需重排OPEN表
种类:宽度优先、深度优先、等代价搜索等。
3.2.1 广度优先搜索
定义
以接近起始节点的程度逐层扩展节点的搜索方法。 特点: 一种高代价搜索,但若有解存在,则必能找到它。
5
3.2 盲目搜索 开始
把S放入OPEN表
OPEN表为空表?

失败
否 把第一个节点(n)从OPEN表移至CLOSED表 扩展n,把n的后继节点放入OPEN 表的末端,提供返回节点n的指针
相关文档
最新文档