赞
踩
问题求解分为两大类:知识贫乏系统(依靠搜索技术解决)、知识丰富系统(依靠推理技术)
两大类搜索技术:
求解问题包括:1. 目标表示 2.搜索 3.执行
初始状态集合和操作符集合定义了问题的搜索空间
搜索策略评价标准:
状态空间搜索是一般图搜索的代表形式,用状态空间搜索
来求解问题的系统均定义一个状态空间
,并通过适当的搜索算法
在状态空间中
搜索解答路径
。
状态空间表示法
:定义状态的描述形式,将一切状态表示出来,再定义一组操作算子,通过他们将问题由一种状态转变为另一个状态。问题求解过程就是不断通过操作作用于状态的过程,得到操作状态到目标状态所用的操作序列的过程。
而使用操作最少或较少的解称为最优解,采用不同的搜索策略得到的结果顺序也可能不同。
状态空间可表示成二元组(S, O):
S:表示所有可能到达的合法状态构成的集合
O:表示操作算子的集合
状态就用一个矢量来表示某一时刻问题现状的快照
状态空间图:1. 结点:状态 2. 有向弧:状态的变迁 3.弧上的标签:导致状态变迁的操作算子
问题的状态空间是一个表示该问题的所有可能状态及其变迁的有向图
状态空间表示例子
传教士与野人问题
描述:N个传教士带领N个野人划船过河;
需要满足三个约束条件:
求解当N = 3,K = 2时的状态空间有向图
解:
状态表示:
(m, c, b)表示(传教士在左岸的实际数量,野人在左岸实际数量,船是否停在左岸(0/1))
共有 4 x 4 x 2 = 32中状态
其中合法状态:
不可能达到的合法状态:
操作算子:
L(x, y)表示从左岸向右岸划船,x表示传教士人数,y表示野人数量
R(x, y)表示从右岸向左岸划船,x表示传教士人数,y表示野人数量
x, y取值为(1, 0) , (2, 0), (1, 1), (0, 1), (0, 2)
可以看出野人自己也会划船
而整个状态空间搜索可以用五元组表示:
SE=(S,O,E,I,G)
E–搜索引擎(搜索策略/算法)
I–问题的初始状态
G–问题的目标状态
基本思想:通过搜索引擎E寻找一个操作算子的调用序列,使问题从初始状态I变迁到目标状态G之一。
解答路径就是从初始状态到目标状态的操作算子的调用序列。
搜索树:
一般图的搜索过程是或图,操作算子之间是一种“或”的关系
搜索术语:
符号说明:
s – 初始状态节点
G – 搜索图
OPEN – 存放待扩展节点的表
CLOSE – 存放已被扩展的结点的表
MOVE-FIRST(OPEN) – 取OPEN表首的节点作为当前要被扩展的节点n同时将结点n移至CLOSE表
分为两个阶段:
扩展的节点分为3类:
提高搜索效率的关键是优化OPEN
表中节点的排序方式
BFS
扩展当前节点后生成的子节点总是置于OPEN表的后端,及OPEN表作为队列,先进先出,是搜索优先向横向方向发展。
性质:
优缺点:
DFS
扩展当前节点后生成的子节点总是置于OPEN表的前端,即OPEN表作为栈,后进后出,使搜索优先向纵深方向发展。
由于人工智能中一条路径的深度不可测,所以这样做不一定找得到最佳解,甚至可能找不到解,所以为了保证能找到解所以应加上深度界限(有界DFS
),或者采取不断加大深度界限的办法,反复搜索(迭代加深DFS
)。
DFS的性质:
优缺点:
优点:比BFS使用较少的空间
缺点:既不是完备的,也不是最优的
BFS与DFS的比较
DFS | BFS | |
---|---|---|
适用场合 | 当问题有多个解且只需要找到其中一个时,往往对深度进行限制 | 确保搜索到的是最短路径 |
共同优缺点 | 优点:不需要设计排序方法,简单易行,适用于复杂度不高的问题 | 缺点:节点排序的盲目性,白白搜索了大量无关的状态节点 |
有界DFS
按深度优先算法进行,但是要给深度一个限制
深度dm很重要,当dm过小时可能找不到解是不完备的,当dm过大时,搜索过程会产生过多的无用节点,即浪费了计算机资源,又降低了搜索效率
主要问题就是深度限制值dm的选取
迭代加深搜索
先任意给定一个较小的数作dm,然后按有界深度算法搜索,若在此深度限制内找到了解,则算法结束,否则增大深度限制dm,继续搜索。
相对于整个树的结点来说,距离根节点的节点就是很少的,对这些节点反复扩展对于整个树来说是很小的,所以相对看了负担实际很小。
四种方法的比较
标准 | 宽度优先 | 深度优先 | 有界深度 | 迭代加深 |
---|---|---|---|---|
时间 | b d b^d bd | b m b^m bm | b d m b^{dm} bdm | b d b^d bd |
空间 | b d b^d bd | b ∗ m b*m b∗m | b ∗ d m b*dm b∗dm | b d bd bd |
最优 | 是 | 否 | 否 | 是 |
完备 | 是 | 否 | 如果 d m > d dm > d dm>d | 是 |
b是分支系数,d是解答深度,m是搜索树的最大深度,dm是深度限制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。