人工智能技术导论(第三版) 第3章 图搜索与问题求解

合集下载

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

人工智能 第三章 搜索策略

人工智能 第三章 搜索策略

动 作 b=0, c=c-1 b=0, m=m-1 b=0, m=m-1, c=c-1 b=0, c=c-2 b=0, m=m-2 b=1, c=c+1 b=1, m=m+1 b=1, m=m+1, c=c+1 b=1, c=c+2 13 b=1, m=m+2
3.1.2 状态空间问题求解方法
3. 状态空间的例子(11/14)
1
3.1.1 搜索的含义
概念: 依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识, 从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索 适用情况: 不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的 算法可供求解使用。 搜索的类型 按是否使用启发式信息: 盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得的中间信息并 不改变控制策略。 启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝 着最有希望的方向前进,加速问题的求解过程并找到最优解。 按问题的表示方式: 状态空间搜索:用状态空间法来求解问题所进行的搜索 与或树搜索:用问题归约法来求解问题时所进行的搜索
3.1.2 状态空间问题求解方法
3. 状态空间的例子(5/14) 例3.2 修道士(Missionaries)和野人(Cannibals)问题(简称M-C问题)。 设在河的一岸有3个野人、3个修道士和1条船,修道士想用这条船把所有的 人运到河对岸,但受以下条件的约束: 第一,修道士和野人都会划船,但每次船上至多可载2个人; 第二,在河的任一岸,如果野人数目超过修道士数,修道士会被野人吃掉。 如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过 河,且没有修道士被野人吃掉的安全过河计划。 解:先选取描述问题状态的方法。这里,需要考虑两岸的修道士人数和野 人数,还需要考虑船在左岸还是在右岸,故可用如下三元组来表示状态 S=(m, c, b) 其中,m表示左岸的修道士人数,c表示左岸的野人数,b表示左岸的船数。 而右岸的状态可由下式确定: 右岸修道士数 m'=3-m 右岸野人数 c'=3-c 右岸船数 b'=1-b 在这种表示方式下,m和c都可取0、1、2、3中之一,b可取0和1中之一。 9 因此,共有4×4×2=32种状态。

人工智能 第3章(确定性推理3-与或树搜索)

人工智能 第3章(确定性推理3-与或树搜索)
常用启发式函数
包括基于距离的启发式函数、基于成本的启发式函数、基于规则的启发式函数等。
节点排序和选择策略
节点排序的目的和意义
节点排序是为了在扩展节点时,按照一定的顺序选择下一个要扩展的节点,以优化搜索过程。
常用节点排序策略
包括最佳优先搜索、广度优先搜索、深度优先搜索等。最佳优先搜索根据启发式函数的值来选择最优节点; 广度优先搜索按照节点的层次顺序进行扩展;深度优先搜索则尽可能深地扩展节点。
盲目搜索方法比较与选择
• 宽度优先搜索、深度优先搜索和迭代加深搜索都是盲目搜索方法,它们在不同的场景下有不同的应用。 • 宽度优先搜索适用于问题空间较大、解存在于较浅层次的情况,因为它可以逐层遍历整个问题空间,找到最短
路径。 • 深度优先搜索适用于问题空间较小、解存在于较深层次的情况,因为它可以尽可能深地搜索树的分支,找到更
启发式信息获取途径
01
02
03
问题自身的特性
通过分析问题的性质、结 构、约束条件等,提取出 对搜索过程有指导意义的 启发式信息。
领域知识
利用领域内的经验、规则、 常识等,为搜索过程提供 有价值的启发式信息。
搜索过程中的信息
在搜索过程中,通过评估 当前状态、已搜索路径、 未搜索路径等,动态地获 取启发式信息。
04 与或树搜索优化技术
剪枝策略
01
剪枝的定义和目的
剪枝是在搜索过程中,通过某些评估标准,提前终止对某些无意义或低
效的节点的扩展,以减少搜索空间,提高搜索效率。
02 03
常用剪枝策略
包括限界剪枝、启发式剪枝、概率剪枝等。限界剪枝通过设置上下界来 限制搜索范围;启发式剪枝利用启发式函数来评估节点的重要性;概率 剪枝则根据节点的概率分布来进行剪枝。

人工智能_第三搜索推理技术

人工智能_第三搜索推理技术

(9)GO LOOP
§3.1.1图搜索策略
举例:
S
2 A 3 B
1.S OPEN(S) CLOSED( )
2.A 3.B 4.C 5.D 6.E 7.N OPEN(A, B) CLOSED(S) OPRN(B, C, D) CLOSED(S, A) OPEN(C, D, E) CLOSED(S, A, B) OPEN(D,E) CLOSED(S, A,B,C) OPEN(E,M,F) CLOSED(S, A,B,C,D) 求解
(3)用于决定某些应该从搜索树中抛弃或修剪的节点
§3.3启发式搜索
§3.3.1启发式搜索策略 二.启发式搜索 1.启发式搜索:利用启发信息的搜索方法。
本节只讨论利用第一种启发信息的搜索
2.有序搜索:利用第一种启发信息,总是选择“最 有希望”的节点作为下一个被扩展的节点。
§3.3启发式搜索
§3.3.2估价函数
2
2 3 1 8 4 7 6 5
c
1
2 8 3 1 4 7 6 5
3 6
2 3 1 8 4 7 6 5
9
2 3 1 8 4 7 6 5
d
2 8 3 1 6 4 7 5
4 5
2 8 3 1 4 7 6 5
7 8
2 8 3 1 4 7 6 5
a
1 2 3 8 4 7 6 5
b
2 8 3 1 6 4 7 5
§3.2盲目搜索
2.流程图
开始 把S放表入OPEN表
OPEN表为空表
把第一个节点n从OPEN 表移至CLOSED表 把节点n的后继节点 放入OPEN表的末端, 提供返回节点n的指针 是否有 任何后继节点 为目标节点 ?

人工智能技术导论(第三版)习题.docx

人工智能技术导论(第三版)习题.docx

三大块: 一、搜索1.什么是搜索?有哪两大类搜索方法?两者的区别是什么?2.什么是状态空间?用状态空间表示问题时,什么是问题的解?什么是最优解,最优解唯一吗?3.在状态空间的搜索过程中,Open表和Closed表的作用与区别是什么?4.广度优先搜索与深度优先搜索有何区别?什么时候使用广度?什么时候使用深度?5. 下列问题应使用什么优先策略?1.国际象棋程序2.医疗诊断程序3.寻找使机器人从A点到B点的路径规划程序4.一个决定从原料到最终产品的生产步骤地最优次序的程序5.用于判断两个命题演算表达式是否等同的程序6.分析深度和广度的优缺点。

7.什么是与树?什么是或树?什么是与/或树?什么是可解节点?什么是解树?8.何为估价函数?在估价函数中,g(n)和h(n)各起什么作用?9.移动将牌游戏:B B W W EB表示黑色将牌,W表示白色将牌,E表示空格,走法为:(1)任意一个将牌可移入邻近的空格,其代价规定为1(2)任何一个将牌可相隔…个其他的将牌跳入空格,其代价为跳过奖牌的数H加1。

游戏要达到的目标是把所有的W移到B的左边,请定义一个启发式函数h(n),并给出用这个启发式函数产生的搜索树。

10.与或树如下图所示,请分别用与或树的广度和深度搜索求出解树。

二、确定性推理(一阶谓词)1.什么是置换?什么是合一?什么是二元归结式?2.什么是子句集?如何将谓词公式转化为子句集?3.把下列谓词公式转化为子句集。

1.(Vx)(Vy)(P(x,y)A2U,y))2.(Vx)(3y)(P(x, y) v (g(x, y) T R(x, y)))4.对下列各题分别证明G是否为Fl, F2,……Fn 的逻辑结论1.F1: (Vx)(P(x) t (Vy)(Q(y) t 7(九刃))F2: (3x)(P(x) A (Vy)(/?(y) L(x, y)))G:(色)(R(x) t2.F:(V X)(P(X)A((2(«)V2O)G: (%)(P(x)人Q(x))5.设有如下一段知识张、王、李都属于高山协会,该协会的每个成员不是滑雪运动员就是登山运动员,登山运动员不喜欢雨, 而且任一个不喜欢雪的运动员不是滑雪运动员,王讨厌李所喜欢的一切东西,而喜欢张所讨厌的一切东西, 张喜欢雨和雪。

人工智能第3章搜索原理

人工智能第3章搜索原理
(3)若OPEN表是空表,则问题无解,失败退出。
(4)选择OPEN表中的第一个节点,把它从 OPEN表移出,并放入CLOSED表中,将此节点 记为节点n,它是CLOSED表中节点的编号。
(5)若n为一目标节点,则有解并成功退出。问 题的解即可从图G中沿着指针从n到S这条路径 而得到。
图搜索策略(续)
等代价搜索(续)
记号
S:起始节点。 c(i,j): 节点i到它的后继节点j的连接弧线代价。 g(i): 起始节点S到任一节点i的路径代价,在搜索
树上它也是从起始节点S到节点i的最少代价路 径上的代价。
等代价搜索(续)
等代价搜索算法
与宽度优先搜索算法区别,以g(i)的递增 顺序扩展其节点,即根据节点的代价大小对 OPEN表中的所有节点进行从小到大的排序。 (1)把起始节点S放到OPEN表中。如果此起始 节点为一目标节点,则求得一个解;否则令 g(S)=0; (2)如果OPEN表是个空表,则没有解而失败 退出;
3.1.2 宽度优先搜索
定义
如果搜索是以接近起始节点的程度依次扩展 节点的,那么这种搜索就叫做宽度优先搜索。 宽度优先搜索又称广度优先搜索,是一种盲目 搜索策略。
其基本思想是:从初始节点开始,逐层对 节点进行依次扩展,并考虑它是否为目标节点, 在对下层节点进行扩展(或搜索)前,必须完 成对当前层的所有节点的扩展(或搜索)。
(2)深度优先搜索所求得的解答路径不一定是最 短路径;
(3)深度界限得选择很重要,过大,可能会影响 搜索效率,过小,有可能求不到解。有界深度 优先搜索策略是不完备的。 例3.3,P74,图3.8
3.1.4 等代价搜索
定义
有些问题并不要求有应用算符序列 为最少的解,而是要求具有某些特性的 解。宽度优先搜索可被推广用来解决这 种寻找从起始状态至目标状态的具有最 小代价的路径问题,这种推广了的宽度 优先搜索算法叫做等代价搜索算法。

人工智能ppt chapter3_1


人工智能及其应用 6
3.2.2 问题的直接求解法
例 3-1:设有四个城市 A 、 B 、 C、 D ,城市间的里程如表 3-1。有一个售货员从A城出发,访问每个城市一次,最 后回到A城,希望找出一条距离最短的巡回售货路线。 其可能解的状态空间图如下,其中,粗线为最短路线, L=25。 A
第三章 智能求解及其搜索策略
内容提要:

搜索系统的组成
问题表示及求解方法


基本搜索策略
启发式搜索策略


基本推理技术
搜索策略的效率
人工智能及其应用
1
3.1 搜索系统的组成
从知识的角度看,搜索系统由知识库、规则、控制性知 识三大成分构成 : 知识库:第一层次知识,可狭义地理解成数据库,它 描述当前任务的范围以及要求解问题的目标。 规则 :第二层次知识,操作或规则的集合,用于对数 据库的加工处理。 产生式规则:前提与结论 发生器函数:算子 重写规则:字符串处理中把一个字符串变成另一个 控制性知识:有关控制策略的知识。它决定下一步应 如何做?选择什么操作?在何处使用此控制?如何选择合 适的操作序列是求解中的重要目标之一。 人工智能系统:问题的表达是求解的基础,推理和搜 索是求解系统结点 父结点
人工智能及其应用
17
1.3.2 状态空间图搜索算法

开始
S 放入OPEN 表, CLOES 表置空 , n=1 初始化 : Y
态 空 间 搜 索 算 法 流 程 :
人工智能及其应用
OPEN 为空表NULL? N
失败
OPEN 表中的第一个结点n移至 CLOSE 表 n=目标结点D 吗? N Y
2015-1-20

人工智能导论课件第3章第3节


3.3.2 纷繁的数据越多越好
• 有时候,当我们掌握了大量新型数据时,精确性就不那么重要了,我们同样可 以掌握事情的发展趋势。大数据不仅让我们不再期待精确性,也让我们无法实 现精确性。然而,除了一开始会与我们的直觉相矛盾之外,接受数据的不精确 和不完美,我们反而能够更好地进行预测,也能够更好地理解这个世界。
3.3.1 允许不精确
• 对“小数据”而言,最基本、最重要的要求就是减少错误,保证质量。因为收 集的信息量比较少,所以我们必须确保记录下来的数据尽量精确。为了使结果 更加准确,很多科学家都致力于优化测量的工具。在采样的时候,对精确度的 要求就更高更苛刻了。因为收集信息的有限意味着细微的错误会被放大,甚至 有可能影响整个结果的准确性。
3.3.1 允许不精确
• 结果有点令人吃惊。他们发现,随着数据的增多,4种算法的表现都大幅提高 了。当数据只有500万的时候,有一种简单的算法表现得很差,但当数据达10 亿的时候,它变成了表现最好的,准确率从原来的75%提高到了95%以上。与 之相反地,在少量数据情况下运行得最好的算法,当加入更多的数据时,也会 像其他的算法一样有所提高,但是却变成了在大量数据条件下运行得最不好的。 它的准确率会从86%提高到94%。
• 这种思维方式适用于掌握“小数据量”的情况,因为需要分析的数据很少,所 以我们必须尽可能精准地量化我们的记录。在某些方面,我们已经意识到了差 别。例如,一个小商店在晚上打烊的时候要把收银台里的每分钱都数清楚,但 是我们不会、也不可能用“分”这个单位去精确度量国民生产总值。随着规模 的扩大,对精确度的痴迷将减弱。
• 混乱还指格式的不一致性,因为要达到格式一致,就需要在进行数据处理之前 仔细地清洗数据,而这在大数据背景下很难做到。当然,在萃取或处理数据的 时候,混乱也会发生。因为在进行数据转化的时候,我们是在把它变成另外的 事物。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档