状态空间法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j2
优化问题:寻求图中最小费用路径 (2) 问题求解的图描述 初始节点S与目标节点集合{ti}中任一节点
之间的路径。 初始节点集合{si}中任一节点与目标节点T
之间的路径。 初始节点集合{si}中任一节点与目标节点
集合{ti}中任一节点之间的路径。 (3) 图分类
显式图:各节点及其费用的弧线可以用图表 或表格的形式明确给出
(c,1,c,1)
(a,0,c,0) 初始状态
goto(U)
goto(U)
(U,0,b,0)
U=b, pushbox(V)
pushbox(V)
(V,0,V,0)
U=b, climbbox (b,1,b,0)
climbbox goto(U)
goto(U)
(V,1,V,0)
(U,0,V,0)
V=c, grasp (c,1,c,1) 目标状态
弧线费用:弧线表示的算符计算的费用
c(ni, nj) 路径费用:路径上所有弧线费用之和
优化问题:寻求图中最小费用路径
ni2 ni1
nik
ni3
C(ni4, ni5)
路径:k=10 ,k=6 可达节点:j=2,3,。。。,k
路径费用:
11
L1
c(ni( j1) , nij )
j2
7
L1
c(ni( j 1) , nij )
S入OPEN 标出f(S)
启发式有序搜索算法
Y
OPEN空?
失败,退出
N 计算f(ni),i=1,2.. MIN[f(ni)入CLOSED
Y ni=T?
N
成功,退出
Y f(nij)< f’(nij-1)?
N
f(nij)取代 f’(nij-1) 指针改指j
扩 展 ni,生 成 全 部 后 继 节点。计算每个后继
….
的过程中生成的节点数?
如何决定搜索树中抛弃或 修剪的节点?
估价函数(启发信息):估计节点可扩展 “希望”程度的 函数
已扩展节点 未扩展节点
S
S
1
623
4
5
1
62 3
4
5
(a)节点1扩展前
(b)节点1扩展后
修剪:节点1扩展前后的搜索树
启发式搜索算法:有序状态空间搜索 定义:
S --- 问题初始状态 T --- 问题目标状态 ni --- i时刻的问题状态 f(n) --- 估价函数,单调减 OPEN表---节点未扩展时,搜索图的数据结构 CLOSED表---节点扩展后,搜索图数据结构
可纳性证明:
a. A*一定会找到一个目标节点而终止。
如果存在一条从S到目标节点T的路径,终 止之前OPEN表不会空。因为结论1,总 会有一个节点在OPEN表上,且是最佳路 径上。
b. A*只能找到一条最佳路径而终止。
假定A*未找到一条最佳路径而在目标节点 t终止,则:f(t)=g(t)>f*(S),
e
d*(n)=3 n g*(n)3e
f*(n)=g*(n)+h*(n)
∴ f(n) g(n) d*(n) e
说明:即使A*扩展的节点n的f(n)最小,但仍具有 任意大的d*(n),如果A*不终止,节点就具有任意 大的f(n),这与节点扩展最小f(n)相矛盾,所以, 算法终止。
证明: A*终止之前,OPEN表上总有一个节点使
最优化问题:寻找遵循某种规则的最优路径 例如,八数码难题求解中使用的算符最少, 走步最少(最优解搜索问题)
状态描述三原则:
(1)状态描述方式选择,尤其是初始状态 (2)算符集合及其对状态描述的作用 (3)目标状态描述特性
2)图示法(问题求解的抽象描述) (1)图论的几个概念
图:节点的集合,包括有限节点或无限节点。 有向图:节点之间用有向弧线联结的图。 节点:
隐式图:已知无限集合{si} 及后裔算符L,则 {si}和L规定的图
3)状态空间求解举例
例 2-3 推销员旅行问题。一个推销员计划 作一次旅行,必须访问图2-4所示的每个城 市。从城市A出发,访问每一个城市一次, 且最多一次,并返回城市A,求最短距离路 线。
B
10
77
13
E
A
6C
9
5
6
10
D
图2 – 4 推销员旅行问题地图
图2-9 猴子和香蕉状态空间图
人工智能经典问题:
1 设有三个传教士和三个野人来到河边,打 算乘一只船从河右岸渡到河左岸去。该船 的最大负荷能力为两人。在任何时候,如 果野人人数超过传教士人数,野人就会把 传教士吃掉。他们怎样才能用这条船安全 地把所有人都渡过河去?
2 把八个皇后摆在一个标准的国际象棋棋盘 上,使得每行、每列以及每个对角线上都 只包含不多于一个皇后。画出部分状态空 间图,写出算符规则。
Allen Newell (1927-
1992 ) 1975年第一 届图灵奖获得者,LT 发明者之一,美国人
工智能学会AAAI的发起 人之一
LT 逻辑理论家 ILP 归纳逻辑程序设计
2.1.1 状态空间法 1)问题描述
状 态:问题求解中每一步问题状况的数 据结构 状态描述:符号、字符串、向量、二维数 组、树、表等数据结构表示的问题状态 例 2-1 八数码难题
终端节点:变量、常量
树图:
B
C
A
CD
B
A B CD
图2-2 代数简化树图
算符:代数规则: 分配律、结合律、。。。 字符串法: ABCDBC ACDB
前缀(只作用于两个运算数) 目标状态
单一目标状态 多目标状态:某一条件下产生的子状态集
合。例如,象棋、围棋的终局
八数码难题目标状态:最上面一行不存在编 号大于5的棋子
四种状态:(W, x, Y, z)
算符集合:
① goto(U) (a,0,b,0) goto(U)
(U,0,b,0)
② pushbox(V) (b,0,b,0) pushbox(V) (V,0,V,0)
③ climbbox (V,0,V,0) climbbox (V,1,V,0)
④ grasp
(c,1,c,0) grasp
7
目标节点
图 2 - 5 推销员旅行问题搜索树
例2-2.猴子和香蕉问题
猴子
香蕉
箱子
a
c
b
图 2-8 猴子和香蕉问题
状态描述模式:用变量描述状态集合的表达式
猴子状态:
水平走动 w
上下箱子 x[0,1],( 1=箱上,0 =箱下)
摘取香蕉 z[0,1],(1= 拿到,0 = 未拿到)。
箱子状态:水平移动Y
节点f(nij)
Y f(nij)< f’(nij-1)?
N
f(nij)取代 f’(nij-1) nij移回OPEN
Y
nij=T? NY
nij,加入OPEN,从nj加一指向节点nij的 Y 指针。计算f(nij),按 f(n)小-〉大排序
nij在OPEN?
nij在CLOSED? N
N
例 八数码难题。 估价函数:f(n)=d(n)+w(n)
证明:
(1)每当一个目标节点可达时,算法终止。
结论1:A*对有限图总是终止的
结论1:A*对无限图也是终止的
证明:反证法 ,假设A*不终止
设:d*(n) : A*产生的搜索S树中从S到任一节点n
的搜索隐含图中最短路经长度
e :图中所有弧的最小长度 g(n) g*(n) d*(n) e ∵ h(n) 0
状态描述:目前为止访问过的城市列表(A…) 初始状态:(A) 目标状态: (A ……A)
算符:下一步走向的城市 (a)(b)(c)(d)(e) 约束:每个城市只能走过一次,A除外
(AB)
(A)
初始节点
7
6 (AC) 10
13
(AD)
(ACD) 5
(AE)
6 (ACDE) (ACDEB)
10
(ACDEBA)
归纳法假设:A1扩展了A2搜索树中深度 k 的 所有节点
证明:A2搜索树中由A2扩展的深度k+1的任意节 点n也可由A1扩展
根据假设,A2搜索树中n的任一父辈节点都可由A1
八数码算符:EL-- 空格左移 ER--空格右移 EU--空格上移 ED--空格下移
约 束:E1,4,6 -- 禁止EL E1,2,3 -- 禁止EU E3,5,8 -- 禁止ER E6,7,8 -- 禁止ED
例2-2 代数式简化问题。
(AB+CD)/BC
A/C+D/B
状态描述:二元树法
非 终 端:节点算术运算符号+、-、*、/
S
n f*(n)=g*(n)+h*(n)
T
f(n) = g(n) + h(n) : f*(n)的一个估计 f*(S) = h*(S) :从起始节点到目标节点的最佳路径 .
OPEN
A*的可纳性
CLOSED
可纳性:对于任意图G,如果存在从S到T
的路径,那么,终搜止索:找算到目法标 总能终止在一条 从S到T的最佳路径上用完,OP则EN此节点搜索算法可 纳

图2 - 10 过河问题





图 2- 11 八皇后问题
4)状态空间搜索策略
搜索过程要点:
图论法:起始节点 -〉算符Γ扩展后继节点 (子节点)-〉加指针 -〉… -〉检查后继 节点是否为目标节点 -〉是,终止搜索。 上述路径为问题的解。否,继续扩展。
搜索控制:宽度优先搜索
深度优先搜索
启发式搜索
设: n ≠ T ,h2(n)>h1(n),且存在一条从S到T的 最佳路径, A1, A2都中止在最佳路径上。
证明:在终止的地方A,2 如果图G的节点n能够用
AA21来 扩展扩展的,节那点么数,至也少必与定用能Ad2用=扩k A展1来的扩节展点。数因一此样,
多。
A1
a. n = S,若S=T,两种算n法都d=k不+1必扩展节点 b. 若ST,两种算法都要扩展S
根据结论1,终止前OPEN表上存在一个节 点n’,且满足:
f(n’)<f*(S)<f(t) 因此,这一步A*将选取n’而不是t进行扩展, 与假设A*已终止矛盾。 得证。
结论2:A*算法可纳
A*算法的最优性
h(n) = 0(无启发信息)是h*(n)的下界 设两种A*算法A1,A2有下式:
f1(n) = g1(n) + h1(n) f2(n) = g2(n) + h2(n)
∴ f(n’) g*(n’) + h*(n’)=f*(n’)
在最佳路径上的任一节点费用 f(n’) f*(S)wk.baidu.com
说明即使在A*还没有终止的OPEN表上,节 点的最小f值也不会变为无界。因此,对于 无限图来说,A*必须终止。
结论1:只要存在一条从S到某个目标节点 的路径,则A*必须终止。
推论1:OPEN表上任一具有f(n)f*(S)的节 点n,最终都将被A*选为扩展节点。
第二章 人工智能的基本方法
2.1 符号方法
物理符号系统(符号操作系统) 假设 有限合理性原理 搜索 Computer Science Empirical Inquiry: Symbols and Search
Herbert Alexander Simon (1916-2001)
1975年第一届图灵奖 获得者,LT发明者之 一,1978年诺贝尔经 济学奖获得者
765
5
123 84
765
123 58 4
765
f(S)=d(n)+w(n)
6
283 164 75
6 283 14 765
7
7
23
184
765
7
23 18 4 76 5
A*算法 证明 h*(n)= k (n,T) :从节点n到目标节点最小路径费用 g*(n) = k (S,n):从起始节点S到节点n最小路径费用
图2-12 宽度优先搜索 图2-13 深度优先搜索 盲目搜索: 宽度优先搜索,深度优先搜索 启发式搜索:利用启发式信息进行搜索的过程
启发式信息:用来加速搜索的特别信息

系统总费用



规则应用费用
控制策略费用
信息量
完整信息
图 2 - 12 人工智能系统计算费用
如何选择下一节点?
……....
如何决定选定下一个节点
状态i ni
祖先
算符
nj 后裔 状态j
图 2 - 3 节点定义
路n径ij :,…存,n在ik)某,个令节j=点2,序3,…列N…[n,k],=(对n每i1,一ni个2,…ni,j-1, 如果都存在后裔nij,则称序列N[n]为长度 为k的路径
可达节点:如果两节点之间存在路径,则后 裔是祖先的可达节点
d(n)----搜索树节点n的深度 w(n)----节点n错放棋子数
283
164
7
5
123
8
4
765
初始状态S
目标状态T
八数码难题解图之一
4
283 164
75
6 283 164 75
4
283 14
765
5 283 14
765
23 5 184
765
6
83 214 765
7
283 714
65
23 5 184
得设f:(nAS)*=终f[*n(止s0,)n前1,,…令,nn’t是]是OSP到nE2NTn的表0 …一上n…1 条这.n’n最个3 佳序路列径的一
个节点
nk
存在: f(n’) = g(n’) + h(n’)
∵ n’在最佳路径上, ∴ g(n’) = g*(n’)
f(n’) = g*(n’) + h(n’) 又∵ h(n’) h*(n’)
相关文档
最新文档