第3章 搜索推理技术

合集下载

智能控制-第三章--搜索推理技术概要PPT课件

智能控制-第三章--搜索推理技术概要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个 节点之后才求得解(目标节点)。
.
深度优先搜索示意图

第三章-推理技术PPT课件

第三章-推理技术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章搜索与推理

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表重新排 序,调整亲子关系及指针

人工智能课件-搜索推理技术

人工智能课件-搜索推理技术
(3) 對變數標準化 對啞元(虛構變數)改名,以保證每個量詞 有其自己唯一的啞元。
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与或树搜索

第3章搜索推理技术3与或树搜索
OPEN表的末端 5、无叶节点,转到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
算法结束的条件:
➢ 若初始节点被标志为可解节点,算法成 功结束(有解)
➢ 若起始节点被标志为不可解节点,则搜 索失败结束(无解)
与或图的解图: 由最少的可解节点所构成的子图,这些节 点能够使问题的起始节点是可解的

人工智能-第3章 搜索技术

人工智能-第3章  搜索技术

其中,初 始状态集 合和操作 符集合定 义了问题 的搜索空 间。
5
搜索问题包括:
搜索什么(目标) 在哪里搜索(搜索空间)
和通常的搜索空间不同,人工智能 中大多数问题的状态空间在问题求 解之前不是全部知道的。
6
搜索分成:
状态空间的生成阶段 在该状态空间中对所求问题状态的搜 索
搜索可以根据是否使用启发式信息 分为
51
策略说明:
(1)深度限制dm很重要。当问题有解, 且解的路径长度小于或等于dm时, 则搜索过程一定能够找到解,但是 和深度优先搜索一样这并不能保证 最先找到的是最优解。 但是当dm取得太小,解的路径长度 大于dm时,则搜索过程中就找不到 解,即这时搜索过程甚至是不完备 的。
((1,1))
20
Q () Q
((1,1))
((1,1) (2,3))
21
Q ()
((1,1))
((1,1) (2,3))
22
Q () Q
((1,1))
((1,1) (2,3))
((1,1) (2,4))
23
Q () Q Q
((1,1))
((1,1) (2,3))
((1,1) (2,4))
((1,1) (2,4) (3.2))
2 8 3 7 1 4 6 5
2 8 1 4 3 7 6 5
2 8 3 1 4 5 7 6
目标
50
3.2.3 迭代加深搜索
有界深度优先搜索过程总体上按深度 优先算法方法进行,但对搜索深度 需要给出一个深度限制dm,当深度 达到了dm的时候,如果还没有找到 解答,就停止对该分支的搜索,换 到另外一个分支进行搜索。
47
初始节点放到栈中,栈指针指向栈的最上边的元素。 为了对该节点进行检测,需要从栈中弹出该节点, 如果是目标,该算法结束,否则把其子节点以任何 顺序压入栈中。该过程直到栈变成为空。 深度 遍历一棵树的过程(下图)。

第3章搜索推理策略人工智能

第3章搜索推理策略人工智能

推理的基本概念
推理方法及其分类
1.按推理的逻辑基础分:演绎,归纳,类比归纳推理
演绎推理与归纳推理的区别:
– 演绎推理是在已知领域内的一般性知识的前提下,通 过演绎求解一个具体问题或者证明一个结论的正确性。 它所得出的结论实际上早已蕴含在一般性知识的前提 中,演绎推理只不过是将已有事实揭露出来,因此它 不能增殖新知识。
Artificial Intelligence (AI)
人工智能
第3章: 确定性推理
主讲:何春梅
Email:xiaoxiao_he8@
内容提要
第三章:确定演绎推理
4.归结演绎推理
5.基于规则的演绎推理
内容提要
第三章:确定性推理
1.推理的基本概念
推理的基本概念
推理的控制策略及其分类
推理方向控制策略: – 混合推理:把正向推理和逆向推理结合起来所进行 的推理称为混合推理。是一种解决较复杂问题的方 法。 – 混合推理方法的三种类型: 1. 先正向后逆向:这种方法先进行正向推理,从 已知事实出发推出部分结果,然后再用逆向推理 对这些结果进行证实或提高它们的可信度。
推理的基本概念
推理方法及其分类
1.按推理的逻辑基础分:演绎,归纳,类比归纳推理
归纳推理:按照所选事例的广泛性可分为完全归纳
推理和不完全归纳推理。
– 完全归纳推理:在进行归纳时需要考察相应事物 的全部对象,并根据这些对象是否都具有某种属 性,推出该类事物是否具有此属性。 – 不完全归纳推理:在进行归纳时只考察了相应事 物的部分对象,就得出了关于该事物的结论。
内容提要
第三章:确定性推理
1.推理的基本概念
2.搜索策略
3.自然演绎推理

人工智能搜索推理技术消解原理-精选

人工智能搜索推理技术消解原理-精选
2020/1/24
2、将前束范式转化为斯柯伦(Skolem)范式 ⑥ 得到斯科伦范式
3、将斯柯伦范式转化为子句集 ⑦ 消去前束(全称量词) ⑧ 消去合取连词 ⑨ 变量改名,得到子句集
2020/1/24
说明:
为了使斯科伦函数更简单一些,可以将合取关 系的各个谓词公式分别先分成前束范式、斯科 伦范式,再综合起来化成前束范式、前束合取 范式(后面的定理证明部分就采用了这一种化 法)
2020/1/24
3.6 消解原理 第2章中介绍: ➢ 谓词逻辑的基本知识 ➢ 合一算法(求最一般的一致置换或合一者
mgu) 本节: 消解原理(或者归结原理)
2020/1/24
3.6.1 子句集的求取 如何将谓词公式转化为子句集,作为合一算法 的输入(公式集) 3.6.1.1 若干基本概念 3.6.1.2 子句集的求取

2020/1/24
无量词公式
前束范式 = (前束) (母式)
全称量词串
2020/1/24
⑥ 将母式化成合取范式 利用分配律将前束范式化成前束合取范式: P∨(Q∧R) = (P∨Q)∧(P∨R) (析取 合取)
2020/1/24
⑦ 消去全称量词 谓词公式已经化成了前束合取范式,且只包含 全称量词,此时全称量词的次序也不重要了, 所以可以消去全部量词(即前束、前缀)
2020/1/24
求取子句集的步骤:
① 消去“蕴含”和“等价”连 结词 使用的公式:
AB = ~A∨B AB = (AB)∧(B A)
2020/1/24
② 减少“非”连结词的辖域 将“~”连结词直接作用到原子公式前,使得 每一个“非”联结词最多只能作用于一个原子 公式(谓词符号)
2020/1/24

人工智能-第四章-非经典推理

人工智能-第四章-非经典推理

4.2 概率推理
第三章 搜索推理技术
4.2.1 概率论基础 1.样本空间与随机事件
(1)样本空间 在概率论中,把试验中每一个可能出现的结果称为试
验的一个样本点,由全体样本点构成的集合称为样本空 间。用D表示样本空间,d表示样本点。
如: D={d1,d2} (2)随机事件
在概率论中,把由样本点构成的集合称为随机事件。 对两个事件A与B,如果事件表达的是“事件A与事件B 至少有一个发生”,称该事件为A与B的并事件,记: AUB 如果事件表达的是“事件A与事件B同时发生”,称该 事件为A与B的交事件,记:A∩ B 如果事件A与B之间满足“A∩ B= Φ, AUB=D”,则称A
(2)条件概率 设A与B是某个随机试验中的两个事件,如果在事件
B发生的条件下考虑事件A发生的概率,就称它为事件 A的条件概率,记为P(A/B)。
定义:设A、B是两个事件,P(B)>0,称
P(A| B)P(AB) P(B)
为事件B已发生条件下,事件A发生的条件概率
3.全概率公式与Bayes公式
第三章 搜索推理技术
1P(H)
否则
MD(H,E):不信任增长度,表示证据E的出现,对结论H
的不信任增长度。
M(H D,E) miP n(H {|E)1,P ,(H)} P(H)若P(H)=0
P(H)
否则
P(H)为H的先验概率,P(H|E)为H的条件概率
第三章 搜索推理技术
MB(H,E)>0表示因证据E的出现增加对结论H为真的信
➢必然事件D的概率P(D)=1,不可能事件Φ的概率
P(Φ)=0
➢对任一事件A,有
P( A)=1- P(A)
第三章 搜索推理技术

第3章(搜索推理技术1-图盲目搜索)

第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 的任一个后继节点是个目标节点,则 找到一个解(反向追踪得到从目标节点到起始 节点的路径),成功退出,否则转向第②步

人工智能-第3章-推理技术

人工智能-第3章-推理技术
写的英文字母表示,个体通常用小写的英文字母表示。该 谓词是一个原子谓词公式。
/3/21
《人工智能》
4
2. 个体可以是常量、变元或者函数。 例如:
Less(x,5),x是一个变元。 Teacher(father(wang)),其中father(wang)是一 个函数。 3.谓词的语义由人指定。 例如: S(x)可以表示x是一个人;也可以表示x是一朵花
(x)((y)P(x, y) (y)(Q(x, y) R(x, y))) (x)((y)P(x, y)(y)(Q(x, y) R(x, y)))
(2)减少否定符号的辖域:每个否定符号“¬”最多只用到
一个谓词符号上,即利用等价关系把“¬”移到紧靠谓 词的位置上。上式经等价变换后
(x)((y)P(x, y)(y)(Q(x, y) R(x, y))) (x)((y)P(x, y)(y)(Q(x, y)R(x, y)))
一个合法的代换不允许ti与xi相同,也不允许变元xi循 环地出现在另一个tj中。例如:
{a/x,f(b)/y,w/z}是一个代换 {g(y)/x,f(x)/y}不是代换
2020/3/21
《人工智能》
11
令θ= {t1/x1,t2/x2,…,tn/xn}为一个代换,F为表达 式,则Fθ表示对F用ti代换xi后得到的表达式。 Fθ称为F的特例。
例如:F1:P(x,y,z), F2:P(x,f(a),h(b))
则D1={y,f(a)}, D2={z,h(b)}
求取最一般合一的算法:
1. 令k=0,Fk=F, σk=ε。 ε是空代换。 2. 若Fk只含一个表达式,则算法停止,σk就是最一般合一。 3. 找出Fk的差异集Dk。 4. 若Dk中存在元素xk和tk,其中xk是变元,tk是项,且xk不在tk中出

第三章 搜索推理技术

第三章  搜索推理技术

第三章搜索推理技术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章 搜索推理技术

第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)给出。

人工智能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路径。

人工智能与专家系统第三章

人工智能与专家系统第三章

2、流程
第二节 基本搜索策略
启动
S0放入OPEN表
是 OPEN表=NIL

取OPEN表中最后的节点N 放入CLOSED表冠以顺序n
失败
N=Sg
是 成功

否 N可扩展

扩展N,将其子节点依次放入OPEN表末尾, 配以指向N的返回指针
第二节 基本搜索策略
3、示例——重排九宫问题。在3*3的方格棋盘上放置1~8八个数字,
第一节 知识推理的概念和类型
例3——设一个产生式系统包含一条如下规则 IF ((>animal) is a (>type)) ∧((<animal) is a parent of
(>child)) THEN (<child) is a (<type) 事实库中有如下事实: (1)bozo is a cheetah (2)bozo is a parent of billy (3)bozo is a parent of sugar (4)sweekums is a penguin (5)king is a parent of rex (6)检查规则的前提部分能否被事实库匹配
第二节 基本搜索策略
4、变界深度优先搜索法 •将深度限制的固定值改为可变值,先取较小的dm ,若未搜索到目标节 点,则加大dm值,再搜索,逐步加大dm值,逐步搜索, 当dm= dg时, 一定可以搜索到目标节点 •可找到目标节点,但不一定是最短路径 •再改进: d(Sgm ) =min 1≤ i≤ n (d(Sgi)) •改进后成为搜索算法,而且是可采纳的
第一节 知识推理的概念和类型
2、示例 例1——设有谓词公式 P1: MARRIAGE (john, mary) ∧MALE(john) ∧FEMALE(mary) P2: MARRIAGE (john, mary) ∧MALE(john) 检查P1、P2是否能够匹配 例2——含有变量的谓词公式 P1: FATHER (joe, john) ∧MAN(joe) P2:FATHER (x, y) ∧MAN(x) 考察P1、P2的匹配过程

第3章 推理技术2

第3章 推理技术2
2011-3-9 《人工智能》 13
P(E)=P(E|S)=1。 (1) (2)
充分性度量LS的意义
当LS>1时, Θ(H|E)=LS×Θ(H)>Θ(H),表明由于证 据E的存在,增强了H为真的程度。 当LS=1时, Θ(H|E)=LS×Θ(H)=Θ(H),表明E与H 无关。 当LS<1时, Θ(H|E)=LS×Θ(H)<Θ(H),表明由于证 据E的存在,减小了H为真的程度。 当LS=0时, Θ(H|E)=LS×Θ(H)=0,表明由于证据E 的存在,导致H为假。
∑ P(H
j =1
n
, i = 1, 2, ..., n
j
) × P(E | H j )
对于多个证据:
P ( H i | E1 E2 L Em ) = P ( H i ) × P ( E1 | H i ) × P ( E2 | H i ) ×L × P ( Em | H i )
∑ P( H
j =1
n
其中,P(Ai)是事件Ai的先验概率;P(B|Ai)是在事件Ai发生条 件下事件B的条件概率。
2011-3-9 《人工智能》 6
如果用产生式规则 IF E THEN Hi 中的前提条件E代替Bayes公式中的B,用Hi代替公式 中的Ai ,就可得到:
P(H i | E ) = P(H i ) × P(E | H i )
2011-3-9
《人工智能》
14
(2)证据肯定不存在
在证据肯定不存在时,P(E)=P(E|S)=0, P(¬E)=1。 由Bayes公式得: P(H|¬E)=P(¬E|H)×P(H)/P(¬E) P(¬H|¬E)=P(¬E|¬H)×P(¬H)/P(¬E) (1)式除以(2)式得: P(H|¬E)/P(¬H|¬E)=P(¬E|H)/P(¬E|¬H)×P(H)/P(¬H) 由LN和几率函数的定义得: Θ(H|¬E)=LN×Θ(H) 即 P(H|¬E)=LN×P(H)/[(LN-1)×P(H)+1] (1) (2)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工智能
第三章 搜索推理技术
3.1图搜索策略
1、图搜索策略 图搜索策略可看作一种在图中寻找路径的方 法。初始节点和目标节点分别代表初始数据库和 满足终止条件的数据库。求得把一个数据库变换 为另一数据库的规则序列问题就等价于求得图中 的一条路径问题。 2、图搜索算法中的几个重要名词术语 (1)OPEN表与CLOSE表 (2)搜索图与搜索树
3.3 启发式搜索
思考: 宽度优先搜索、等代价搜索和深度优先搜索与有 序搜索的关系。 有序搜索的有效性直接取决于f的选择,如果选择 的f不合适,有序搜索就可能失去一个最好的解甚至全 部的解。如果没有适用的准确的希望量度,那么f的选 择将涉及两个方面的内容:一方面是一个时间和空间 之间的折衷方案;另一方面是保证有一个最优的解或 任意解。
3.1图搜索策略
思考:图搜索是针对什么知识表示方法的问题 求解方法?
3.1图搜索策略
4、图搜索方法分析: 图搜索过程的第8步对OPEN表上的节点进行排序,以 便能够从中选出一个“最好”的节点作为第4步扩展用。这 种排序可以是任意的即盲目的(属于盲目搜索),也可以用以 后要讨论的各种启发思想或其它准则为依据(属于启发式搜 索)。 每当被选作扩展的节点为目标节点时,这一过程就宣告 成功结束。这时,能够重现从起始节点到目标节点的这条 成功路径,其办法是从目标节点按指针向S返回追溯。 当搜索树不再剩有未被扩展的端节点时,过程就以失 败告终(某些节点最终可能没有后继节点,所以OPEN表可 能最后变成空表)。在失败终止的情况下,从起始节点出发, 一定达不到目标节点。
3.3 启发式搜索
2.实质 选择OPEN表上具有最小f值的节点作为下一个要扩 展的节点,即总是选择最有希望的节点作为下一个要 扩展的节点。
3.3 启发式搜索
3.有序状态空间搜索算法 (1) 把起始节点S放到OPEN表中,计算f(S)并把其 值与节点S联系起来。 (2) 如果OPEN是个空表,则失败退出,无解。 (3) 从OPEN表中选择一个f值最小的节点i。结果 有几个节点合格,当其中有一个为目标节点时,则选 择此目标节点,否则就选择其中任一个节点作为节点i。 (4) 把节点i从OPEN表中移出,并把它放入CLOSED 的扩展节点表中。 (5) 如果i是个目标节点,则成功退出,求得一个 解。
3.2盲目搜索
3.2.1宽度优先搜索 1、定义 如果搜索是以接近起始节点的程度依次扩展节点 的,那么这种搜索就叫做宽度优先搜索 (breadth-first search)。 2、特点 这种搜索是逐层进行的;在对下一层的任一节点 进行搜索之前,必须搜索完本层的所有节点。
3.2盲目搜索
3、宽度优先搜索算法 (1) 把起始节点放到OPEN表中(如果该起始节点为 一目标节点,则求得一个解答)。 (2) 如果OPEN是个空表,则没有解,失败退出; 否则继续。 (3) 把第一个节点(节点n)从OPEN表移出,并把它 放入CLOSED的扩展节点表中。 (4) 扩展节点n。如果没有后继节点,则转向上述第 (2)步。 (5) 把n的所有后继节点放到OPEN表的末端,并提 供从这些后继节点回到n的指针。 (6) 如果n的任一个后继节点是个目标节点,则找到 一个解答,成功退出;否则转向第(2)步。
3.1图搜索策略
(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 启发式搜索
3.估价函数 为获得某些节点“希望”的启发信息,提供一个 评定侯选扩展节点的方法,以便确定哪个节点最有可 能在通向目标的最佳路径上 。 f(n)——表示节点n的估价函数值 建立估价函数的一般方法:试图确定一个处在最 佳路径上的节点的概率;提出任意节点与目标集之间 的距离量度或差别量度;或者在棋盘式的博弈难题中 根据棋局的某些特点来决定棋局的得分数。这些特点 被认为与向目标节点前进一步的希望程度有关。
3.2盲目搜索
3、深度界限 为了避免考虑太长的路径(防止搜索过程沿着无益 的路径扩展下去),往往给出一个节点扩展的最大深度 深度界限。任何节点如果达到了深度界限,那么都将 把它们作为没有后继节点处理。 4、含有深度界限的深度优先搜索算法 (1) 把起始节点放到OPEN表中(如果该起始节点为 一目标节点,则求得一个解答)。 (2) 如果OPEN为一空表,则失败退出。 (3) 把第一个节点(节点n)从OPEN表移到CLOSED 的扩展节点表。
3.2盲目搜索
5、例:画出把宽度优先搜索应用于八数码难题时 所生成的搜索树。 2 1 7 8 3 4 6 5 1 2 3 8 4 7 6 5 目标棋局
初始棋局
3.2盲目搜索
3.2.2深度优先搜索 1、定义 在此搜索中,首先扩展最新产生的(即最深的)节点。 深度相等的节点可以任意排列。 这种盲目(无信息)搜索叫做深度优先搜索(depthfirst search)。 2、特点 首先,扩展最深的节点的结果使得搜索沿着状态 空间某条单一的路径从起始节点向下进行下去;只有 当搜索到达一个没有后裔的状态时,它才考虑另一条 替代的路径。
3.3 启发式搜索
其中:g是g*的估计;h是h*的估计。 对于g(n)来说,一个明显的选择就是搜索树 中从S到n这段路径的代价,这一代价可以由从n 到S寻找指针时,把所遇到的各段弧线的代价加 起来给出(这条路径就是到目前为止用搜索算法 找到的从S到n的最小代价路径)。 h*(n)的估计h(n)依赖于有关问题的领域的 启发信息。这种信息可能与八数码难题中的函 数W(n)所用的那种信息相似。把h叫做启发函数。
3.1图搜索策略
3、图搜索(GRAPHSEARCH)的一般过程 (1) 建立一个只含有起始节点S的搜索图G,把S放 到一个叫做OPEN的未扩展节点表中。 (2) 建立一个叫做CLOSED的已扩展节点表,其初 始为空表。 (3) LOOP:若OPEN表是空表,则失败退出。 (4) 选择OPEN表上的第一个节点,把它从OPEN表 移出并放进CLOSED表中。称此节点为节点n。 (5) 若n为一目标节点,则有解并成功退出,此解是 追踪图G中沿着指针从n到S这条路径而得3 A*算法 A*算法是一种有序搜索算法,其特点在于对估价 函数的定义上。 1.几个记号 令k(ni,nj)表示任意两个节点ni和nj之间最小代 价路径的实际代价(对于两节点间没有通路的节点,函 数k没有定义)。 于是,从节点n到某个具体的目标节点ti,某一条 最小代价路径的代价可由k(n,ti)给出。
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.3 启发式搜索
令h*(n)表示整个目标节点集合{ti}上所 有k(n,ti)中最小的一个,因此,h*(n)就是从n 到目标节点最小代价路径的代价,而且从n到目 标节点能够获得h*(n)的任一路径就是一条从n 到某个目标节点的最佳路径(对于任何不能到达 目标节点的节点n,函数h*没有定义)。
3.3 启发式搜索
3.2盲目搜索
5、例:画出把有界深度优先搜索应用于八数码 难题时所生成的搜索树,其中,深度界限为4。 2 8 3 1 4 7 6 5 初始状态 1 2 3 8 4 7 6 5 目标状态
3.2盲目搜索
3.2.3等代价搜索 1.定义 宽度优先搜索可被推广用来解决寻找从起始状态 至目标状态的具有最小代价的路径问题,这种推广了 的宽度优先搜索算法叫做等代价搜索算法。 2.等代价搜索中的几个记号 起始节点记为S; 从节点i到它的后继节点j的连接弧线代价记为c(i, j); 从起始节点S到任一节点i的路径代价记为g(i)。
3.2盲目搜索
4、宽度优先搜索方法分析: 宽度优先搜索是图搜索一般过程的特殊情 况,将图搜索一般过程中的第8步具体化为本算 法中的第6步,这实际是将OPEN表作为“先进 先出”的队列进行操作。 宽度优先搜索方法能够保证在搜索树中找 到一条通向目标节点的最短途径;这棵搜索树 提供了所有存在的路径(如果没有路径存在,那 么对有限图来说,我们就说该法失败退出;对 于无限图来说,则永远不会终止)。
3.2盲目搜索
(4)如果节点n的深度等于最大深度,则转向 步骤(2)。 (5)扩展节点n,产生其全部后裔,并把它们 放入OPEN表的前头。如果没有后裔,转向步骤 (2)。 (6) 如果n的任一个后继节点是个目标节点, 则找到一个解答,成功退出;否则转向第(2)步。 思考题:有界深度优先搜索方法能够保证在搜 索树中找到一条通向目标节点的最短途径吗?
相关文档
最新文档