人工智能技术导论(第三版) 第3章 图搜索与问题求解
- 格式:ppt
- 大小:1.67 MB
- 文档页数:106
第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.在状态空间的搜索过程中,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.设有如下一段知识张、王、李都属于高山协会,该协会的每个成员不是滑雪运动员就是登山运动员,登山运动员不喜欢雨, 而且任一个不喜欢雪的运动员不是滑雪运动员,王讨厌李所喜欢的一切东西,而喜欢张所讨厌的一切东西, 张喜欢雨和雪。