第3章 搜索推理技术(自学)
智能控制-第三章--搜索推理技术概要PPT课件
3.1 图搜索策略 3.2 盲目搜索 3.3 启发式搜索 3.4 消解原理 3.5 规则演绎系统
3.6 产生式系统 3.7 系统组织技术 3.8 小结
3.1 图搜索策略
❖ 图搜索控制策略 一种在图中寻找路径的方法。 图中每个节点对应一个状态,每条连线对应 一个操作符。这些节点和连线又分别由产生 式系统的数据库和规则来标记。求得把一个 数据库变换为另一数据库的规则序列问题就 等价于求得图中的一条路径问题。
5)若n为一目标节点,则有解并成功退出,此 解是追踪图G中沿着指针从n到S这条路径而 得到的(指针将在第7步中设置)。
.
3.1 图搜索策略
6)扩展节点n,同时生成不是n的祖先的那些后 继节点的集合M。把M的这些成员作为n的后 继节点添入图G中。
7)对那些未曾在G中出现过的M成员设置一个 通向n的指针。把M的这些成员加进OPEN表。 对已经在OPEN或CLOSED表上的每一个M成 员,确定是否需更改通到n的指针方向。对已 在CLOSED表上的每个M成员,确定是否需 要更改图G中通向它的每个后裔节点的指针方 向。
是否有后继节点 为目标节点?
否
是 成功
图3.2 宽度优先算法框图
.
❖ 例子
八数码难题(8-puzzle problem)
3.2 盲目搜索
28 3
1
4
76 5
(初始状态)
12 3
8
4
76 5
(目标状态)
规定:将棋子移入空格的顺序为:从空格左边开 始顺时针旋转。不许斜向移动,也不返回先辈节 点。从图可见,要扩展26个节点,共生成46个 节点之后才求得解(目标节点)。
.
深度优先搜索示意图
09第三章(3) 搜索推理技术
子句集的求取
• (6)把母式化为合取范式 • 任何母式都可写成由一些谓词公式 和(或)谓词公式的否定的析取的有限集 组成的合取。这种母式叫做合取范式。 我们可以反复应用分配律。把任一母式 化成合取范式。例如,我们把 A∨{B∧C}化为{A∨B}∧{A∨C}
28
子句集的求取
• (7)消去全称量词 到了这一步,所有余下的量词均被全称量词量化 了。同时,全称量词的次序也不重要了。因此,我们 可以消去前缀,即消去明显出现的全称量词。 • (8)消去连词符号∧ • 用{(A∨B),(A∨C)}代替(A∨B)∧(A∨C),以消 去明显的符号∧。反复代替的结果,最后得到一个有 限集,其中每个公式是文字的析取。任一个只由文字 的析取构成的合式公式叫做一个子句。
对于g(n) g(n)来说,一个明显的选择就是搜索树中从S到n g(n) S n 这段路径的代价,这一代价可以由从n到S寻找指针时, n S 把所遇到的各段弧线的代价加起来给出(这条路径就 ( 是到目前为止用搜索算法找到的从S到n的最小代价路 S n 径)) ))。这个定义包含了g(n) g*(n) g(n)≥g*(n) )) g(n)
29
子句集的求取
• (9)更换变量名称 可以更换变量符号的名称,使一个变量符 号不出现在一个以上的子句中。例如,对于子 集{~ P(x)∨~ P(y)∨P[f(x,y)], • ~ P(x)∨Q[x,g(x)], ~ P(x)∨~ P[g(x)]},在 更改变量名后,可以得到子句集: • {~ P(x1)∨~ P(y)∨P[f(x1,y)], • ~ P(x2)∨Q[x2,g(x2)], ~ P(x3)∨~ P[g(x3)]
42
消解反演
• 例: • 前提:每个储蓄钱的人都获得利息。 结论:如果没有利息,那么就没有人去 储蓄钱。 证明:令S(x,y)表示"x储蓄y" • M(x)表示"x是钱" I(x)表示"x是利息" E(x,y)表示"x获得y"
第三章-推理技术PPT课件
.
34
举例如下:
目标表达式被化成与或形:
~P(f(y))∨{Q(f(y),y)∧[~P(f(y))∨~S(y)]}
式中,f(y)为一Skolem函数。
对目标的主要析取式中的变量分离标准化可得:
~P(f(z))∨{Q(f(y),y)∧[~P(f(y))∨~S(y)]}
应注意不能对析取的子表达式内的变量y改名
将下列谓词演算公式化为一个子句集
( x){P(x)→{( y)[P(y)→P(f(x,y))]∧~( y)[Q(x,y)→P(y)]}}
.
9
3.1.2 消解推理规则
1、消解式 已知两子句L1∨α和~L2∨β,如果L1和L2具有
最一般合一者σ,那么通过消解可以从这两个父辈 子句推导出一个新子句α∨β。这个新子句叫做消 解式。它是由取这两个子句的析取,然后消去互补
可见目标子句是文字的合取,而这些子句的析取 是目标公式的子句形。
2.与或图的B规则变换 B规则:即逆向推理规则。 B规则是建立在确定的蕴涵式基础上的,我们把B 规则限制为:
W→L
其中,W为任一与或形公式,L为文字,
把B规则限制为这种形式的蕴涵式还可以简化匹配,
可以把像W→ (L1∧L2)这样的蕴涵式化为两个规则
W→L1和W→L2。
.
37
3.作为终止条件的事实节点的一致解图 逆向系统中的事实表达式均限制为文字合取
形,它可以表示为一个文字集。当一个事实文字 和标在该图文字节点上的文字相匹配时,就可把 相应的后裔事实节点添加到该与或图中去。这个 事实节点通过标有mgu的匹配弧与匹配的子目标文 字节点连接起来。
而使每个析取式具有不同的变量。
.
35
与或形的目标公式也可以表示为与或图。不过,与 事实表达式的与或图不同的是,对于目标表达式, 与或图中的k线连接符用来分开合取关系的子表达 式。上例所用的目标公式的与或图如下所示:
3章搜索与推理
成功
是
失败
把具有最小g(i)值的节点i从OPEN表移 至CLOSED表
是否有后继节点 为目标节点?
否
是
成功
扩展i,计算其后继节点j的g(j), 并把后继节点放入OPEN表
17
3.3 启发式搜索 特点:重排OPEN表,选择最有希望的节 点加以扩展 种类:有序搜索、A*算法等
3.3.1 启发式搜索策略和估价函数
A*算法的定义: 定义1 在图搜索过程中,如果第8步 的重排OPEN表是依据f(x)=g(x)+h(x) 进行的,则称该过程为A算法。 定义2 在A算法中,如果对所有的x存 在h(x)≤h*(x),则称 h(x) 为 h*(x) 的下界, 它表示某种偏于保守的估计。 定义3 采用h*(x)的下界h(x)为启发函 数的A算法,称为A*算法。当h=0时, A*算法就变为有序搜索算法。
27
1 2 3 8 4 7 6 5
14
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
图3.4 八数码难题的宽度优先搜索树
3.2.2 深度优先搜索
定义
首先扩展最新产生的(即最深的)节点。
算法
防止搜索过程沿着无益的路径扩展下去, 往往给出一个节点扩展的最大深度——深度界 限。 与宽度优先搜索算法最根本的不同在于: 将扩展的后继节点放在OPEN表的前端。
开始
算法
把S放入OPEN表, 计算估价函数 f (s)
OPEN表为空表?
是
失败
否 选取OPEN表中f值最小的节点i放入CLOSED表
i为目标节点吗?
是
成功
否 扩展i,得后继节点j,计算f(j),提供返回 节点i的指针,利用f(j)对OPEN表重新排 序,调整亲子关系及指针
人工智能之(搜索推理技术1-图盲目搜索)
3.2 盲目搜索
盲目搜索是指无问题先验信息的搜索技术
特点:
OPEN表中节点的排列是人为规定的 一般只适合于求解比较简单的一些问题
图的盲目搜索技术分成: 宽度优先搜索技术
深度优先搜索技术
等代价(代价优先)搜索技术
3.2.1 宽度优先搜索
宽度优先搜索:以接近起始节点的程度依次扩展 节点的搜索技术(即:离起始节点近的节点先被
13
14
1
4
2
8
8
3
3
0
1
2
4
1
5
4
7
7
0
6
6
5
1 8
7
2
3 4
14 15 15
16 16
3 2 4
3 4
8 2 2
1 1
1 8 8
2 2
3 3 3
3 3
2 7 7
7 8
0 0 1
8 0
4 4 4
4 4
7 6 6
0 7
6 1 5
6 6
5 5 0
5 5
6
5
目标节点
最后的CLOSED表:
1 2 3 4 5 6 7 8 9
1 1 1 1 2 2 3 3
1 2 3 4 2 3 1 4
2 2 2 2 2 0 2 0 2
8 8 0 8 8 8 8 2 3
3 3 3 3 3 3 3 3 0
1 0 1 1 1 2 7 1 1
0 1 8 6 4 1 1 8 8
4 4 4 4 0 4 4 4 4
7 7 7 7 7 7 0 7 7
6 6 6 0 6 6 6 6 6
2
人工智能课件-搜索推理技术
1
3.4 消解原理
(4) (x){~P(x)∨{(y)[~P(y)∨P(f(x,y))]
∧[Q(x,g(x))∧~P(g(x))]}}
式中,w=g(x)為一Skolem函數。
(4) 消去存在量詞
以Skolem函數代替存在量詞內的約束變數,
❖ 實質
❖ 把一棵根部有NIL的反演樹變換為根部帶有回 答 語句的一棵證明樹。
1
3.5 規則演繹系統
—— g是g*的估計 ,h是h*的估計
❖ A*演算法的定義:
定義1 在GRAPHSEARCH過程中,如果第8步的重排OPEN表
是依據f(x)=g(x)+h(x)進行的,則稱該過程為A演算法。
定義2 在A演算法中,如果對所有的x存在h(x)≤h*(x),則稱h(x)
為h*(x)的下界,它表示某種偏於保守的估計。
子句(4) {a/x,b/y}
子句(7) ~M(b)
子句(5)
圖3.12 儲蓄問題反演樹
NIL
1
3.4 消解原理
❖ 反演求解過程 ❖從反演樹求取答案步驟
❖把由目標公式的否定產生的每個子句添加到目 標公式否定之否定的子句中去。
❖按照反演樹,執行和以前相同的消解,直至在 根部得到某個子句止。
❖用根部的子句作為一個回答語句。
❖ 種類:有序搜索、A*演算法等
3.3.1 啟發式搜索策略和估價函數
❖盲目搜索可能帶來組合爆炸 ❖啟發式資訊
用來加速搜索過程的有關問題領域的特徵資訊。
1
3.3 啟發式搜索
❖ 估價函數 為獲得某些節點“希望”的啟發資訊,提供一
第3章搜索推理技术3与或树搜索
OPEN= { 2,3 } CLOSED= { 1 }
第二大循环(3、4、5步): 3、从OPEN表中取出节点2,并送到CLOSED表 4、扩展节点2,生成后继节点4、5,并送到OPEN
表的末端 5、无叶节点,转到3步
OPEN= { 3, 4, 5 } CLOSED= { 1, 2 }
1、没有后裔的非终叶节点是不可解节点
2、如果某一个非终叶节点含有“或”后继节点, 那么,只要当所有的后继节点都不可解时,这一 个非终叶节点才是不可解的
3、如果某一个非终叶节点含有“与”后继节点, 那么,只要有一个后继节点是不可解的,这一个 非终叶节点就是不可解的
可解标志过程与不可解标志过程:
根据可解与不可解节点的递归定义,用递归的方 式作用于某一个与或图,以标出所有的可解节点 与不可解节点
注意
由于深度限制,深度优先搜索算法有可能找不 到解
例: 深度界限为4
√
1
√
√
2
6
√
3
ⅩA 7 √ C
Ⅹ
4
√
5
√
8
t√
ⅩB
t
t
t
t
√
√
√
√
注:后生成的节点画在左边
课堂练习:用宽度和深度优先搜索算法找出解树
提示:对于宽度优先搜索,先生成的节点画在左; 对于深度优先搜索,后生成的节点画在左
2 4
算法结束的条件:
➢ 若初始节点被标志为可解节点,算法成 功结束(有解)
➢ 若起始节点被标志为不可解节点,则搜 索失败结束(无解)
与或图的解图: 由最少的可解节点所构成的子图,这些节 点能够使问题的起始节点是可解的
人工智能课程习题与部分解答
⼈⼯智能课程习题与部分解答《⼈⼯智能》课程习题与部分解答第1章绪论1.1 什么是⼈⼯智能? 它的研究⽬标是什么?1.2 什么是图灵测试?简述图灵测试的基本过程及其重要特征.1.3 在⼈⼯智能的发展过程中,有哪些思想和思潮起了重要作⽤? 1.5 在⼈⼯智能的发展过程中,有哪些思想和思潮起了重要作⽤?1.7 ⼈⼯智能的主要研究和应⽤领域是什么?其中,哪些是新的研究热点?第2章知识表⽰⽅法2.1 什么是知识?分类情况如何?2.2 什么是知识表⽰?不同的知识表⽰⽅法各有什么优缺点? 2.4 ⼈⼯智能对知识表⽰有什么要求? 2.5 ⽤谓词公式表⽰下列规则性知识:⾃然数都是⼤于零的整数。
任何⼈都会死的。
[解] 定义谓词如下:N(x): “x 是⾃然数”, I(x): “x 是整数”, L(x): “x ⼤于0”, D(x): “x 会死的”, M(x): “x 是⼈”,则上述知识可⽤谓词分别表⽰为: )]()()()[(x I x L x N x ∨→? )]()()[(x D x M x →?2.6 ⽤谓词公式表⽰下列事实性知识:⼩明是计算机系的学⽣,但他不喜欢编程。
李晓新⽐他⽗亲长得⾼。
2.8 产⽣式系统由哪⼏个部分组成? 它们各⾃的作⽤是什么?2.9 可以从哪些⾓度对产⽣式系统进⾏分类? 阐述各类产⽣式系统的特点。
2.10简述产⽣式系统的优缺点。
2.11 简述框架表⽰的基本构成,并给出框架的⼀般结构 2.12框架表⽰法有什么特点?2.13试构造⼀个描述你的卧室的框架系统。
2.14 试描述⼀个具体的⼤学教师的框架系统。
[解] ⼀个具体⼤学教师的框架系统为:框架名:<教师-1> 类属:<⼤学教师>姓名:张宇性别:男年龄:32职业:<教师>职称:副教授部门:计算机系研究⽅向:计算机软件与理论⼯作:参加时间:2000年7⽉⼯龄:当前年份-2000⼯资:<⼯资单>2.16把下列命题⽤⼀个语义⽹络表⽰出来(1)树和草都是植物;(2)树和草都是有根有叶的;(3)⽔草是草,且⽣长在⽔中;(4)果树是树,且会结果;(5)苹果树是果树的⼀种,它结苹果。
第3章(搜索推理技术1-图盲目搜索)
先在左
(6,0) 前 右
(4,0)
前 (2,0) 右
(6,45)
X
(4,45)
X
左
前
向前 2 向左 1 向右
(2,45) (4,90) 前 右 (0,0) (2,90)
右 出口
(6,90)
人
3
宽度优先搜索算法
(没有生成已有的状态)
先在左
(6,0) 前 右
(4,0)
前 (2,0) 前
(4,45)
右 (4,90) 右
(2,45) 前 (0,0)
X
向前 2 向左 1 向右
(6,90)
出口
人
3
宽度优先搜索算法
课堂作业存在主要问题:
1、搜索过程画成图的形式,将导致反向追踪路
径出现歧义
2、操作符使用混乱,搜索树不规范。
3、画出整棵搜索树
3.2.2 深度优先搜索
深度优先搜索策略是先扩展最新产生的
(即最深的)节点
节点的深度;
OPEN表 1 1 1 1 2 3
1
4
2
8
3
1
4
0
7
6
5
父 符
⑥ 后继节点中无目标节点,转到②
② OPEN表不为空,继续
③ 将第一个节点 n 从 OPEN 表中移出,并放到 CLOSED 表中
OPEN表
1 1 1 2 3 4 2 2 2 0 8 8 3 3 3 1 1 1 8 6 4 4 4 0 7 7 7 6 0 6 5 5 5
⑤ 把 n 的所有后继节点放到OPEN表的末端,
并提供从这些后继节点回到 n 的指针
⑥ 如果 n 的任一个后继节点是个目标节点,则 找到一个解(反向追踪得到从目标节点到起始 节点的路径),成功退出,否则转向第②步
搜索推理技术
Example: 8-puzzle problem
2 1 7 8 6 3 4 5 1 8 7 2 6 3 4 5
(initial state)
(goal state)
八数码难题的估计函数为:
f(n) = d(n)+W(n) d(n): 搜索树中节点n的深度; W(n): 对应于节点n的数据库中错放的棋子个数
8 3 2 1 4 7 6 5
2 8 3 7 1 4 6 5
2 3 1 8 4 7 6 5
2 3 1 8 4 7 6 5
2 8 3 1 6 4 7 5
2 8 3 1 6 4 7 5
2 8 1 4 3 7 6 5
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
Put descendant node of n into the end of OPEN, and provide arrow pointed to n
Is any descendant Node the goal node?
Yes
SUCCESS
No
宽度优先算法框图
Central South University Artificial Intelligence
特点:没有先验知识,不需重排OPEN表 种类:宽度优先、深度优先、等代价搜索等。
3.2.1 Breadth-first search(宽度优先搜索)
定义
以接近起始节点的程度逐层扩展节点的搜索方法。
特点
一种高代价搜索,但若有解存在,则必能找到它
算法
Central South University Artificial Intelligence
第三章 搜索推理技术
第三章搜索推理技术1. 什么是图搜索过程?其中,重排OPEN表意味着什么,重排的原则是什么?2. 试举例比较各种搜索方法的效率。
3. 化为子句形有哪些步骤?请结合例子说明之。
4. 如何通过消解反演求取问题的答案?5. 什么叫合适公式?合适公式有哪些等价关系?6. 用宽度优先搜索求下图所示迷宫的出路。
7. 用有界深度优先搜索方法求解下图所示八数码难题。
8. 应用最新的方法来表达传教士和野人问题,编写一个计算机程序,以求得安全渡过全部6个人的解答。
提示:在应用状态空间表示和搜索方法时,可用(Nm,Nc)来表示状态描述,其中Nm和Nc 分别为传教士和野人的人数。
初始状态为(3,3),而可能的中间状态为(0,1),(0,2),(0,3),(1,1),(2,1),(2,2),(3,0),(3,1)和(3,2)等。
9. 试比较宽度优先搜索、有界深度优先搜索及有序搜索的搜索效率,并以实例数据加以说明。
10. 一个机器人驾驶卡车,携带包裹(编号分别为#1、#2和#3)分别投递到林(LIN)、吴(WU)和胡(HU)3家住宅处。
规定了某些简单的操作符,如表示驾驶方位的drive(x,y)和表示卸下包裹的unload (z) ;对于每个操作符,都有一定的先决条件和结果。
试说明状态空间问题求解系统如何能够应用谓词演算求得一个操作符序列,该序列能够生成一个满足AT(#1,LIN)∧AT(#2,WU)∧AT(#3,HU)和目标状态。
11. 什么是估价函数?它在搜索算法中有何作用?12. 把下列句子变换成子句形式:(1)(2)(3)(4)13. 规则演绎系统和产生式系统有哪几种推理方式?各自的特点为何?14. 为什么需要采用系统组织技术?有哪几种系统组织技术?15. 什么是产生式系统?试述其组成部分的功用?16. 研究不确定性推理有何意义?有哪几种不确定性?17. 单调推理有何局限性?什么叫缺省推理?非单调推理系统如何证实一个节点的有效性?18. 在什么情况下需要采用不确定推理或非单调推理?19. 下列语句是一些几何定理,把这些语句表示为基于规则的几何证明系统的产生式规则:(1) 两个全等三角形的各对应角相等。
第3章 推理技术.ppt
P(Hi | E1E2 Em )
P(Hi ) P(E1 | Hi ) P(E2 | Hi )
n
P(Em | Hi )
P(H j ) P(E1 | H j ) P(E2 | H j ) P(Em | H j )
j1
, i 1, 2,..., n
2020/2/7
P(¬E|S)=1-P(E|S)
2020/2/7
《人工智能》
11
4、不确定性的传递算法
主观Bayes方法推理的任务就是根据证据E的概率P(E) 及LS、LN的值,把H的先验概率P(H)更新为后验概率 P(H|E)或P(H|¬E)。即
P(H
)
P(E) LS,LN
P(H
|
E)或者P(H
Bayes公式
若A1,A2,…,An是彼此独立的事件,且P(Ai)>0(i=1,2,…,n),P(B)>0, 那么Bayes公式可表示为
P( Ai | B)
P( Ai ) P(B | Ai )
n
, i 1, 2,..., n
P(Aj ) P(B | Aj )
j 1
其中,P(Ai)是事件Ai的先验概率;P(B|Ai)是在事件Ai发生条 件下事件B的条件概率。
2020/2/7
《人工智能》
6
如果用产生式规则
IF
E THEN
Hi
中的前提条件E代替Bayes公式中的B,用Hi代替公式 中的Ai ,就可得到:
P(Hi | E)
P(Hi ) P(E | Hi )
n
, i 1, 2,..., n
P(H j ) P(E | H j )
j 1
第3章 搜索推理技术
3.2盲目搜索
3.等代价搜索算法 (1) 把起始节点放到OPEN表中。如果该起始节点为一 目标节点,则求得一个解;否则令g(S)=0。 (2) 如果OPEN是个空表,则没有解,失败退出; (3) 从OPEN表中选择一个节点i,使其g(i)最小。如果 有几个节点都合格,那么就要选择一个目标节点i(要是有 目标节点的话);否则,就从中选一个作为节点i。把节点 i从OPEN表移至扩展节点表CLOSED中。 (4)如果节点i为目标节点,则求得一个解。 (5) 扩展节点i。如果没有后继节点,则转向上述第(2) 步。 (6)对于节点i的每个后继节点j,计算g(j)=g(i)+c(i,j), 并把所有后继节点放到OPEN表,并提供回溯到节点i的指 针。 (7) 转向第(2)步。
2.估价函数的定义 定义g*为g*(n)=k(S,n) 定义函数f*,使得在任一节点n上其函数值f*(n)就 是从节点S到节点n的一条最佳路径的实际代价加上从 节点n到某目标节点的一条最佳路径的代价之和,即 f*(n)=g*(n)+h*(n) 希望估价函数f是f*的一个估计,此估计可由下式 给出: f(n)=g(n)+h(n)
3.2盲目搜索
4、宽度优先搜索方法分析: 宽度优先搜索是图搜索一般过程的特殊情 况,将图搜索一般过程中的第8步具体化为本算 法中的第6步,这实际是将OPEN表作为“先进 先出”的队列进行操作。 宽度优先搜索方法能够保证在搜索树中找 到一条通向目标节点的最短途径;这棵搜索树 提供了所有存在的路径(如果没有路径存在,那 么对有限图来说,我们就说该法失败退出;对 于无限图来说,则永远不会终止)。
3.3 启发式搜索
3.3.3 A*算法 A*算法是一种有序搜索算法,其特点在于对估价 函数的定义上。 1.几个记号 令k(ni,nj)表示任意两个节点ni和nj之间最小代 价路径的实际代价(对于两节点间没有通路的节点,函 数k没有定义)。 于是,从节点n到某个具体的目标节点ti,某一条 最小代价路径的代价可由k(n,ti)给出。
第三章确定性推理资料
上述状态空间图的图搜索算法具有通用性。本 章后面各小节讨论的几种搜索策略都可以是它的一 个特例。各种策略的主要区别就是在于第8步对 OPEN表上的节点进行排序的策略不同。在第8步对 OPEN表中的节点排序,主要目的是希望从未扩展 节点中选出一个“最有希望”的节点作为第4步扩 展用。若这种排序是任意指定或盲目的,则搜索过 程称为盲目搜索(无信息搜索);若这种对未扩展 节点的排序是按照某种启发信息或准则为依据就是 启发式搜索(有信息搜索)。
OPEN表上的节点都是搜索树上未被扩展的端节点; 在CLOSED表上的节点,或者是几个已扩展但是在搜索 树中没有生成后继节点的端节点,或者是搜索树的非 端节点。
当被选作扩展的节点为目标节点时,这一过程 就宣告成功结束。这时,重现从起始节点到目标节 点的这条成功路径的方法是:从目标节点按指针向 初始点S返回追溯。如果目标节点还没找到,且搜索 图不再剩有未被扩展的端节点时,过程就以失败告 终(某些节点最终可能没有后继节点,所以OPEN表 可能最后变成一张空表)。
在介绍图搜索策略之前,先来看一个例子。
例子:从某王姓家族的四代中找王A的后代且其寿命为X的人。 王A:寿命47,有儿子王B1、王B3、王B2 王B1:寿命77,有儿子王C1、王C2 王B3:寿命52,有儿子王D1 王B2:寿命65,有儿子王E1、王E2 王C1:寿命27,没有儿子 王C2:寿命87,有儿子王F1 王D1:寿命77,没有儿子 王E1:寿命57,有儿子王G1 王E2:寿命92,有儿子王H1 王F1:寿命32 王G1:寿命96 王H1:寿命51
3.1 图搜索策略
可把图搜索策略看成一种在图中寻找路径的方 法。第二章我们已经介绍过有关状态空间图的知识 表示方法,本节着重对基于状态空间图的搜索策略 进行介绍。状态空间图中的节点对应于状态,而连 线对应于操作符,表示一次操作、走步或算符。
人工智能3(1)搜索推理技术
第3章确定性推理3.1 图搜索策略3.2 盲目搜索3.3 启发式搜索3.4 消解原理3.5 规则演绎系统3.6 产生式系统3.7 非单调推理概述(1)问题求解§AI中每个研究领域都有其各自的特点和规律,但就求解问题的过程看,都可抽象为一个问题求解过程。
§问题求解过程实际上是一个搜索,广义地说,它包含了全部计算机科学。
§任何问题求解技术都包括两个重要的方面:表示和搜索§表示是基本的,搜索必须要在表示的基础上进行。
表示关系到搜索的效率。
§本章讨论的表示主要包括:§状态空间表示§问题空间表示概述(2)q1974年,Nilsson归纳出的AI研究的基本问题知识的模型化和表示常识性推理、演绎和问题解决启发式搜索人工智能系统和语言q搜索是人工智能中的一个基本问题,是推理不可分割的一部分,直接关系到智能系统的性能和运行效率q AI为什么要研究search?问题没有直接的解法;需要探索地求解;搜索(3)什么是搜索§根据问题的实际情况不断寻找可利用的知识,构造出一条代价较少的推理路线,使问题得到圆满解决的过程称为搜索包括两个方面:---找到从初始事实到问题最终答案的一条推理路径---找到的这条路径在时间和空间上复杂度最小搜索(4)§盲目搜索:也称为无信息搜索,即只按预定的控制策略进行搜索,在搜索过程中获得的中间信息不用来改进控制策略§启发式搜索: 在搜索中加入了与问题有关的启发性信息,用于指导搜索朝着最有希望的方向进行,加速问题的求解过程并找到最优解要考虑的因素u完备性:当问题有解时,这个算法是否能保证找到一个解?u最优性:这个搜索策略是否能找到最优解?u时间复杂度:找到一个解需要花费多长时间?u空间复杂度:在执行搜索过程中需要有多少内存?无信息的搜索策略•广度优先搜索(Breadth-first search)•代价一致搜索(Uniform-cost search)•深度优先搜索(Depth-first search)•深度有限搜索(Depth-limited search)•双向搜索(Bidirectional search)•迭代深度优先搜索(Iterative deepening depth-first search)有信息的搜索策略贪婪最佳优先搜索(Greedy best-first search)A*搜索(A* search: Minimizing the total estimated solution cost)递归最佳优先搜索(Recursive best-first search)爬山法搜索(Hill-climbing search)模拟退火搜索(Simulated annealing search)局部剪枝搜索(Local beam search)遗传算法(Genetic algorithm)联机搜索(Online search)Heuristic search Beyond Classical Search状态空间表示法(1)q状态空间表示法:用来表示问题及其搜索过程的一种方法q状态:状态是描述问题求解过程中任一时刻状况的数据结构.23751486(2, 3,7 ,0 , 5, 1, 4, 8, 6)状态空间表示法(2)q状态空间:由问题的全部状态及一切可用算符所构成的集合称为问题的状态空间.一般表示为:(S, F, G)S:问题所有的初始状态集合;F:算符集合; G:目标状态集合q算符: 引起状态中某些分量发生变化, 从而使问题由一个状态变为另一个状态的操作称为算符.q状态空间表示法是用“状态”和“算符”表示问题的一种方法q状态空间图:状态空间的图式表示,称为状态空间图.其中节点表示状态,有向边(弧)表示算符.状态空间表示法(3)路径状态序列搜索寻找从初始状态到目标状态的路径;S0Sg状态空间表示法(4)例1:二阶梵塔问题§设有三个钢针,在一号钢针上穿有A,B两个金片,A小于B,A位于B的上面.要求把这两个金片全部移到另一个钢针上,而且规定每次只能移动一片,任何时刻都不能使B位于A的上面§设用Sk=(Sk0,Sk1)表示问题的状态,SK0表示金片A所在的钢针号,SK1表示金片B所在的钢针号,全部可能的状态为:S0=(1,1), S1=(1,2), S3=(1,3)S4=(2,1), S5=(2,2), S6=(2,3)S7=(3,1), S8=(3,2), S9=(3,3)§问题初始状态集合S={S0},§目标状态集合G={S4,S8}.§算符:A( i,j):表示把金片A从第i号针移到第j号针上B(i,j):表示把B从第i号针移到第j号针上§共12个算符:§A(1,2), A(1,3), A(2,1) ,A(2,3), A(3,1),A(3,2)§B(1,2), B(1,3), B(2,1), B(2,3), B(3,1), B(3,2)状态空间表示法(5)用状态空间表示,首先必须定义状态的描述形式,把问题的一切状态都表示出来,其次定义算符,完成状态的转换问题的求解过程就是一个把算符不断地作用于状态的过程.如果在使用某个算符后得到的状态就是目标状态,就得到了问题的解.这个解就是从初始状态到目标状态所用算符构成的序列.算符的一次使用,就使问题由一种状态转变为另一种状态.可能有多个算符序列都可使问题从初始状态变到目标状态,这就得到了多个解.对任何一个状态,可使用的算符可能不止一个,这样由一个状态所生成的后继状态可能有多个.如何选择下一步的操作,由搜索策略决定.搜索控制策略(1)q搜索控制策略不可撤回的控制策略;试探性控制策略回溯型图搜索搜索控制策略(2)不可撤回的控制策略例:八数码问题评价函数:f:(规定: 评价函数非增)2831647512384765与的差异为4搜索控制策略(3)不可撤回的控制策略2831647528314765231847651123847651238476523184765 f=4f=3f=3f=0f=1f=2搜索控制策略(4)不可撤回的控制策略28314765283147658321476583214765 28132476581324765 f=3f=3f=3f=3f=3f=313824765f=213824765f=1搜索控制策略(5)不可撤回的控制策略可能无解1251238476384765目标f=2回溯策略((1,1))((1,1))((1,1))((1,1))Q ((1,1))((1,1))((1,1))((1,1))((1,1))((1,1))Q ((1,1))Q ((1,1))3.1 图搜索策略¾一些基本概念节点深度:根节点深度=0其它节点深度=父节点深度+11233.1 图搜索策略¾一些基本概念路径设一节点序列为(n0, n1,…,n k),对于i=1,…,k,若节点n具有一个后继节点n,则该序列称为从n到n的i-1i0k路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 2.估价函数的定义 定义g*为g*(n)=k(S,n) 定义函数f*,使得在任一节点n上其函数值f*(n) 就是从节点S到节点n的一条最佳路径的实际代 价加上从节点n到某目标节点的一条最佳路径的 代价之和,即 f*(n)=g*(n)+h*(n) 希望估价函数f是f*的一个估计,此估计可由下 式给出: f(n)=g(n)+h(n)
• 2.实质 选择OPEN表上具有最小f值的节点作为下一个要扩 展的节点,即总是选择最有希望的节点作为下一个要扩 展的节点。 • 3.有序状态空间搜索算法 (1) 把起始节点S放到OPEN表中,计算f(S)并把其值与 节点S联系起来。 (2) 如果OPEN是个空表,则失败退出,无解。 (3) 从OPEN表中选择一个f值最小的节点i。若有几个 节点合格,当其中有一个为目标节点时,则选择此目标节 点,否则就选择其中任一个节点作为节点i。 (4) 把节点i从OPEN表中移出,并把它放入CLOSED的 扩展节点表中。
3.4 消解原理
• 消解原理的基础知识 (1) 谓词公式、某些推理规则以及置换合一等 概念。 (2) 子句:由文字的析取组成的公式(一个原子 公式和原子公式的否定都叫做文字)。 (3) 消解:当消解可使用时,消解过程被应用于 母体子句对,以便产生一个导出子句。 例如,如果存在某个公理E1∨E2和另一公理~ E2∨E3,那么E1∨E3在逻辑上成立。这就是消 解,而称E1∧E3为E1∨E2和~E2∨E3的消解式 (resolvent)。
• 3.4.1 子句集的求取 • 1.步骤 (1) 消去蕴涵符号 只应用∨和~符号,以~A∨B替换A=>B。 (2) 减少否定符号的辖域 每个否定符号~最多只用到一个谓词符 号上,并反复应用狄•摩根定律。 (3) 对变量标准化
• 在任一量词辖域内,受该量词约束的变量为 一哑元(虚构变量),它可以在该辖域内处处 统一地被另一个没有出现过的任意变量所 代替,而不改变公式的真值。合适公式中变 量的标准化意味着对哑元改名以保证每个 量词有其自己唯一的哑元。 (4) 消去存在量词 用Skolem函数代替存在的x,就可以消去 全部存在量词,并写成: (y)P[g(y),y]
• 3.等代价搜索算法 请同学们课后认真阅读本算法,指出与宽 度优先、深度优先算法有何特别之处。 • 4.等代价搜索方法分析 如果所有的连接弧线具有相等的代价,那 么等代价算法就简化为宽度优先搜索算法。
3.3 启发式搜索
• 3.3.1 启发式搜索策略和估价函数 • 1.为什么需要启发式搜索 盲目搜索效率低,耗费过多的计算空间与 时间,这是组合爆炸的一种表现形式。 • 2.定义 进行搜索技术一般需要某些有关具体问 题领域的特性的信息,把此种信息叫做启发 信息。利用启发信息的搜索方法叫做启发 式搜索方法。
• (6) 扩展节点n,同时生成不是n的祖先的那些后 继节点的集合M。把M的这些成员作为n的后继 节点添入图G中。 (7) 对那些未曾在G中出现过的(既未曾在 OPEN表上或CLOSED表上出现过的)M成员设 置一个通向n的指针。把M的这些成员加进 OPEN表。对已经在OPEN或CLOSED表上的每 一个M成员,确定是否需要更改通到n的指针方向。 对已在CLOSED表上的每个M成员,确定是否需 要更改图G中通向它的每个后裔节点的指针方向。 (8) 按某一任意方式或按某个探试值,重排 OPEN表。 (9) GO LOOP。
• 3.3.2 有序搜索 • 1.定义 用估价函数f来排列GRAPHSEARCH第8 步中OPEN表上的节点。应用某个算法(例 如等代价算法)选择OPEN表上具有最小f值 的节点作为下一个要扩展的节点,这种搜索 方法叫做有序搜索(ordered search)或最佳 优先搜索(best-first search)。 尼尔逊(Nilsson)曾提出一个有序搜索的 基本算法。估价函数f是这样确定的:一个节 点的希望程序越大,其f值就越小。被选为扩 展的节点,是估价函数最小的节点。
• (5) 如果i是个目标节点,则成功退出,求得一个解。 (6) 扩展节点i,生成其全部后继节点。对于i的每 一个后继节点j: (a) 计算f(j); (b) 若j既不在OPEN表,又不在CLOSED表中, 则将其加入OPEN表,并按f值排序,提供指向i的指 针; (c) 若j已在OPEN或CLOSED表中,则比较新 的f(j)和以前计算过的值,若新值较小,用新值取代 旧值,将j的父节点由原来的改为i,若j在CLOSED中 将其移回OPEN表。 (7) 转向(2),即GO TO(2)。
• 3.启发式搜索策略 有关具体问题领域的信息常常可以用来 简化搜索。一种利用启发信息的方法是应 用某些准则来重新排列OPEN表中节点的顺 序。然后,搜索就可能沿着某个被认为是最 有希望的边缘区段向外扩展。应用这种排 序过程,需要某些估算节点“希望”的量度, 这种量度叫做估价函数(evaluation function)。
第3章 搜索推理技术
3.1 图搜索策略
1.何谓图搜索 图搜索策略可看作一种在图中寻找路径的方 法。初始节点和目标节点分别代表初始数据库 和满足终止条件的数据库。求得把一个数据库 变换为另一数据库的规则序列问题就等价于求 得图中的一条路径问题。 2.图搜索算法中的几个重要名词术语 (1) OPEN表与CLOSE表 (2) 搜索图与搜索树
• 从一个公式消去一个存在量词的一般规则 是以一个Skolem函数代替每个出现的存在 量词的量化变量,而这个Skolem函数的变量 就是由那些全称量词所约束的全称量词量 化变量,这些全称量词的辖域包括要被消去 的存在量词的辖域在内。Skolem函数所使 用的函数符号必须是新的,即不允许是公式 中已经出现过的函数符号。例如: (y)(x)P(x,y)被〔(y)P(g(y),y)〕代替,其 中g(y)为一Skolem函数。
• 4.图搜索方法分析 图搜索过程的第8步对OPEN表上的节点进 行排序,以便能够从中选出一个“最好”的节 点作为第4步扩展用。这种排序可以是任意的 (盲目搜索),也可以启发思想或其它准则为依据 (启发式搜索)。搜索过程在找到目标节点时成 功结束,这时,通过第7步设置的指针从目标节 点向S回溯。当图中不再有未被扩展的非端节 点时,搜索过程就以失败告终,在此情况下,问题 无解。
• 3.2.2 深度优先搜索(depth-first search) • 1.定义 如果搜索时首先扩展最新产生的(即最深 的)节点,这种搜索就叫做深度优先搜索。 • 2.特点 扩展最深的节点的结果使得搜索沿着状 态空间某条单一的路径从起始节点向下进 行,只有当搜索到达一个没有后裔的状态时, 它才考虑另一条替代的路径。
• 3.图搜索(GRAPHSEARCH)的一般过程 (1) 建立一个只含有起始节点S的搜索图G,把S 放到一个叫做OPEN的未扩展节点表中。 (2) 建立一个叫做CLOSED的已扩展节点表,其 初始为空表。 (3) LOOP:若OPEN表是空表,则失败退出。 (4) 选择OPEN表上的第一个节点,把它从 OPEN表移出并放进CLOSED表中。称此节点为 节点n。 (5) 若n为一目标节点,则有解并成功退出,此解 是追踪图G中沿着指针从n到S这条路径而得到的 (指针将在第7步中设置)。
3.2 盲目搜索
• 3.2.1 宽度优先搜索(breadth-first search) • 1.定义 如果搜索是以接近起始节点的程度依次扩 展节点的,那么这种搜索就叫做宽度优先搜索。 • 2.特点 这种搜索是逐层进行的,在对下一层的任一 节点进行搜索之前,必须搜索完本层的所有节 点。
• 3.宽度优先搜索算法 (1) 把起始节点放到OPEN表中(如果该起 始节点为一目标节点,则求得一个解答)。 (2) OPEN是个空表,则没有解,失败退出; 否则继续。 (3) 把第一个节点(节点n)从OPEN表移出, 并把它放入CLOSED的扩展节点表中。 (4) 扩展节点n。如果没有后继节点,则转 向上述第(2)步。 (5) 把n的所有后继节点放到OPEN表的 末端,并提供从这些后继节点回到n的指针。 (6) 如果n的任一后继节点是目标节点,则 找到一个解答,成功退出;否则转向(2)。
• 4.宽度优先搜索方法分析 宽度优先搜索是图搜索一般过程的特殊 情况,将图搜索一般过程中的第(8)步具体化 为本算法中的第(5)步,这实际是将OPEN表 作为“先进先出”的队列进行操作。 宽度优先搜索方法能够保证在搜索树中 找到一条通向目标节点的最短途径;这棵搜 索树提供了所有存在的路径(如果没有路径 存在,那么对有限图来说,我们就说该法失败 退出;对于无限图来说,则永远不会终止)。
• 3.深度界限 为了避免考虑太长的路径,往往给出一个 节点扩展的最大深度——深度界限。任何 节点如果达到了深度界限,那么都将把它们 作为没有后继节点处理。 • 4.含有深度界限的深度优先搜索算法 请同学们课后自学,并回答课后思考题。
• 3.2.3 等代价搜索(depth-first search) • 1.定义 宽度优先搜索可被推广用来解决寻找从起始状 态至目标状态的具有最小代价的路径问题,这种推 广了的宽度优先搜索算法叫做等代价搜索算法。 • 2.等代价搜索中的几个记号 起始节点记为S; 从节点i到它的后继节点j的连接弧线代价记为 c(i,j); 从起始节点S到任一节点i的路径代价记为g(i)。
• 4.估价函数 为获得某些节点“希望”的启发信息,提 供一个评定侯选扩展节点的方法,以便确定 哪个节点最有可能在通向目标的最佳路径 上。 f(n)——表示节点n的估价函数值。 建立估价函数的一般方法:试图确定一个 处在最佳路径上的节点的概率;提出任意节 点与目标集之间的距离量度或差别量度;或 者在棋盘式的博弈和难题中根据棋局的某 些特点来决定棋局的得分数。这些特点被 认为与向目标节点前进一步的希望程先搜索、等代价搜索和深度优先 搜索统统是有序搜索技术的特例。对于宽 度优先搜索,选择f(i)作为节点i的深度。对于 等代价搜索,f(i)是从起始节点至节点i这段路 径的代价。f的选择直接影响了有序搜索的 效率,其选择涉及两个方面的内容:即时间和 空间之间的折衷,以及能否保证有一个最优 的解或任意解。