第三章 搜索推理技术

合集下载

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

《人工智能及其应用》(蔡自兴)课后习题答案第3章

《人工智能及其应用》(蔡自兴)课后习题答案第3章

第三章搜索推理技术3-1什么是图搜索过程?其中,重排OPEN表意味着什么,重排的原则是什么?图搜索的一般过程如下:(1) 建立一个搜索图G(初始只含有起始节点S),把S放到未扩展节点表中(OPEN表)中。

(2) 建立一个已扩展节点表(CLOSED表),其初始为空表。

(3) LOOP:若OPEN表是空表,则失败退出。

(4) 选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。

称此节点为节点n,它是CLOSED表中节点的编号(5) 若n为一目标节点,则有解并成功退出。

此解是追踪图G中沿着指针从n到S这条路径而得到的(指针将在第7步中设置)(6) 扩展节点n,生成不是n的祖先的那些后继节点的集合M。

将M添入图G中。

(7) 对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针,并将它们加进OPEN表。

对已经在OPEN或CLOSED表上的每个M成员,确定是否需要更改通到n的指针方向。

对已在CLOSED表上的每个M成员,确定是否需要更改图G中通向它的每个后裔节点的指针方向。

(8) 按某一任意方式或按某个探试值,重排OPEN表。

(9) GO LOOP。

重排OPEN表意味着,在第(6)步中,将优先扩展哪个节点,不同的排序标准对应着不同的搜索策略。

重排的原则当视具体需求而定,不同的原则对应着不同的搜索策略,如果想尽快地找到一个解,则应当将最有可能达到目标节点的那些节点排在OPEN表的前面部分,如果想找到代价最小的解,则应当按代价从小到大的顺序重排OPEN表。

3-2 试举例比较各种搜索方法的效率。

宽度优先搜索(1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。

(2) 如果OPEN是个空表,则没有解,失败退出;否则继续。

(3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。

(4) 扩展节点n。

(搜索推理技术-与或树搜索)

(搜索推理技术-与或树搜索)

7、无判断起始节点1可解
8、从OPEN中删除含有可解先辈节点的节点
删除
OPEN= { B, C, t1, 10, 11, 12, A, t2, t3 }
CLOSED= { 1, 2, 3, 4, 5, 6, 7, 8, 9 } OPEN= {t1, 10, 11, 12, t2, t3}
CLOSED= {1, 2, 3, 4, 5, 6, 7, 8, 9} 说明:对于OPEN表中的叶节点直接移到 CLOSED表,不作任何处理
OPEN= {9, B, C, t1, 10, 11, 12, A} CLOSED= {1, 2, 3, 4, 5, 6, 7, 8}
第九大循环(3、4、5、6、7、8步): 3、从OPEN表中取出节点9,并送到CLOSED表 4、扩展节点9,生成后继节点 t2、t3,并送到 OPEN表的末端 5、有叶节点 6、实现可解标志过程(可以判断节点9、4、2可解)
即OPEN是堆栈
注意
由于深度限制,深度优先搜索算法有可能找不 到解
例:
深度界限为4

2
1


6

3
Ⅹ A √ √
7 √
C

4
5
8
t

Ⅹ B
t
t
t
t




注:后生成的节点画在左边
课堂练习:用宽度和深度优先搜索算法找出解树
提示:对于宽度优先搜索,先生成的节点画在左;
对于深度优先搜索,后生成的节点画在左
CLOSED= { 1, 2, 3, 4, 5, 6, 7, 8, 9, t1, 10 }
搜索过程演示

6第六讲 第三章(盲目、启发搜索)

6第六讲  第三章(盲目、启发搜索)

二、有序搜索
用估价函数 f 来排列OPEN表上的节点。
应用某个算法选择OPEN表上具有最小f 值的节点作为
二、宽度优先搜索
例3.2 八数码问题 操作规定: 允许空格四周上、下、左、右的数码 块移入空格中,不许斜方向移动,不许返回先辈 结点。
1 2 3 8 5 7 4 6
1
4
1 3 8 2 5 7 4 6
2
1 2 3 8 4 5 7 6
3
1 2 3 8 5 7 4 6
5
1 2 3 8 5 7 4 6
深度优先搜索的特点
OPEN表为堆栈,操作是后进先出(LIFO) 深度优先又称纵向搜索。 一般不容易保证找到最优解(如下图所示) 防止搜索过程沿着无益的路径扩展下去,往往 给出一个节点扩展的最大深度——深度界限。
2、有界深度优先搜索
引入搜索深度限制值d,使深度优先搜索具有完备性 。 (1)深度界限的选择很重要 d若太小,则达不到解的深度,得不到解;若太大,既 浪费了计算机的存储空间与时间,降低了搜索效率。由于 解的路径长度事先难以预料,要恰当地给出d的值是比较 困难的。 (2)即使能求出解,它也不一定是最优解。 例3.3:设定搜索深度限制d=5的八数码问题。
4. 搜索过程框图
S0放入OPEN表 是 OPEN表空? 否 将OPEN表中第一个节点(n) 移至CLOSE表 否 n是目标节点? 扩展节点n,把n的后继节点放入 OPEN表末端,提供指向 节点n的指针 修改指针方针,重排OPEN表
失败

成功
一、图搜索策略(Graph Search) 5.图搜索方法分析:
3.2 启发式搜索
盲目搜索的不足:效率低,耗费空间与时间。 启发式搜索:利用问题本身特性信息(启发信息) 指导搜索过程。是有序搜索。 一、启发式搜索策略 启发式信息主要用途:

第三章搜索技术

第三章搜索技术
6)为了避免不正常的h值对解题路径的影响, Martelli提出了B算法,基本思想是h(n)可动态修 改,在h值不正常时,只根据g的值来选择展开的节 点。
在解题过程中的每一时刻,所要解决的问题均
处于一定的状态,搜索过程只是将一个状态变成 另一个状态(如,一盘棋局变成另一盘棋局),则 称为状态空间搜索。
若搜索的对象是问题,搜索的原则是把一个复 杂的问题化为一组比较简单的子问题(如把一个 复杂的下棋策略分为几个子策略),则称为问题 空间搜索。
注:问题空间搜索常常比状态空间搜索有效,但 算法要复杂些。
第三章 搜索技术
第二节 启发式搜索
五、H*算法 注:2)H*算法的搜索效率在很大程度上取决于函 数h(n)的选择,它要求h(n)h*(n),但若h(n)太小, 则启发信息就很少。
3)若h(n)0,g(n)为搜索深度或代价,则H*算法 将退化为广度优先搜索或代价优先搜索。
4)h(n)的值在满足小于或等于h*(n)的前提下越 大越好,启发式信息多(即h值大)的H*算法展开 的节点是启发式信息少(即h值小)的H *算法展开 的节点的子集。
注:1)这里,搜索的对象(常称状态)往往是边 搜索边生成,因此在考虑这种搜索的复杂性时, 必须将搜索对象的生成和评估的代价计算在内。
第三章 搜索技术
第二节 启发式搜索
一、启发式搜索
注:2)根据启发性信息(特定领域的知识信息), 在生成搜索树时可考虑种种可能的选择:
a)下一步展开哪个节点? b)是部分展开还是全部展开? c)使用哪个规则(算子)? d)怎样决定舍弃还是保留新生成的节点? e)怎样决定舍弃还是保留一棵子树? f)怎样决定停止或继续搜索? g)如何定义启发函数(估值函数)? h)如何决定搜索方向?

人工智能第三章_搜索策略-1

人工智能第三章_搜索策略-1
❖搜索什么
搜索什么通常指的就是目标。
❖在哪里搜索
在哪里搜索就是“搜索空间”。搜索空间通常 是指一系列状态的汇集,因此称为状态空间。
和通常的搜索空间不同,人工智能中大多数问题的状 态空间在问题求解之前不是全部知道的。
2020/10/31
6
所以,人工智能中的搜索可以分成两个 阶段:
状态空间的生成阶段 在该状态空间中对所求问题状态的搜索
(1)初始状态集合:定义了初始 的环境。
(2)操作符集合:把一个问题从 一个状态变换为另一个状态的 动作集合。
(3)目标检测函数:用来确定一 个状态是不是目标。
(4)路径费用函数:对每条路径 赋予一定费用的函数。
其中,初 始状态集 合和操作 符集合定 义了问题 的搜索空
间。
2020/10/31
5
➢ 在人工智能中,搜索问题一般包括两个重 要的问题:
分析:通过引入一个三维变量将问题表示出来。设 三维变量为:Q=[q1,q2,q3],式中qi (i=1,2,3)=1表 示钱币为正面,qi (i=1,2,3)=0表示钱币为反面。 则三个钱币可能出现的状态有8种组合: Q0=(0,0,0),Q1=(0,0,1),Q2=(0,1,0),Q3=(0,1,1),Q4= (1,0,0),Q5=(1,0,1), Q6=(1,1,0), Q7=(1,1,1)。 即初始状态为Q5,目标状态为Q0或Q7,要求步数为3。
2020/10/31
21
钱币问题的状态空间图
2020/10/31
22
状态空间搜索
——1.状态空间及其搜索的表示
(2)状态空间表示的经典例子“传教士和野人问题” ★
问题的描述:
N个传教士带领N个野人划船过河; 3个安全约束条件:

人工智能第三章搜索策略-1

人工智能第三章搜索策略-1

2021/7/9
在树的最深一层的节 点中扩展一个节点。 只有当搜索遇到一个 死亡节点(非目标节 点并且是无法扩展的 节点)的时候,才返 回上一层选择其他的 节点搜索。
10
无论是宽度优先搜索还是深度优先搜索,遍历 节点的顺序一般都是固定的,即一旦搜索空间 给定,节点遍历的顺序就固定了。这种类型的 遍历称为“确定性”的,也就是盲目搜索。
定义2类操作算子:
L(x,y)——指示从左岸到右岸的划船操作 R(x,y)——指示从右岸到左岸的划船操作
x + y ≤K=2(船的载重限制); x和y取值的可能组合只有5个 10,20,11,01,02 ( 允许在船上只有野人而没有传教士 )
共有10个操作算子
2021/7/9
26
渡河问题的状态空间有向图
2021/7/9
21
钱币问题的状态空间图
2021/7/9
22
状态空间搜索
——1.状态空间及其搜索的表示
(2)状态空间表示的经典例子“传教士和野人问题” ★
问题的描述:
N个传教士带领N个野人划船过河; 3个安全约束条件:
1)船上人数不得超过载重限量,设为K个人; 2)任何时刻(包括两岸、船上)野人数目不得超
人工智能第三章搜索策 略-1
2021/7/9
第3章 搜索策略
两大类搜索技术:
1、一般图搜索、启发式搜索 2、基于问题归约的与或图搜索
两种典型的推理技术:
1、基于归结的演绎推理
归结反演
2、基于规则的演绎推理
正向演绎推理 逆向演绎推理
2021/7/9
2
3.1 引言
对于给定的问题,智能系统的行为一般是 找到能够达到所希望目标的动作序列,并使 其所付出的代价最小、性能最好。

人工智能及其应用_搜索推理技术修改

人工智能及其应用_搜索推理技术修改

为依据(属于启发式搜索)。

每当被选作扩展的节点为目标节点时,这一过程就宣告成功结束。 这时,能够重现从起始节点到目标节点的这条成功路径,其办法是从目
标节点按指针向S返回追溯。当搜索树不再剩有未被扩展的端节点时,
过程就以失败告终(某些节点最终可能没有后继节点,所以OPEN表可能 最后变成空表)。在失败终止的情况下,从起始节点出发,一定达不到 目标节点。

估价过的节点,并计算全条路径的长度或难度。每个不同的衡量标准只能考虑
该问题中这个节点的某些决定性特性,或者对给定节点与目标节点进行比较, 以决定相关特性。 我们用符号f来标记估价函数,用f(n)表示节点n的估价函数值。暂时令f为 任意函数,以后我们将会提出f是从起始节点约束地通过节点n而到达目标节点 的最小代价路径上的一个估算代价。

启发信息按其用途可分为下列3种: (1) 用于决定要扩展的下一个节点,以免像在宽度优先或深度优先搜索中那 样盲目地扩展。 (2) 在扩展一个节点的过程中,用于决定要生成哪一个或哪几个后继节点, 以免盲目地同时生成所有可能的节点。 (3) 用于决定某些应该从搜索树中抛弃或修剪的节点。 在本节中,我们只讨论利用上述第一种启发信息的状态空间搜索算法,即决定 哪个是下一步要扩展的节点。这种搜索总是选择“最有希望”的节点作为下一 个被扩展的节点。这种搜索叫做有序搜索(ordered search)。

宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最 短途径;这棵搜索树提供了所有存在的路径(如果没有路径存在,那么 对有限图来说,我们就说该法失败退出;对于无限图来说,则永远不会
终止)。
3.2 盲目搜索

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