湘潭大学-人工智能课件-确定性推理-part3_第1页
湘潭大学-人工智能课件-确定性推理-part3_第2页
湘潭大学-人工智能课件-确定性推理-part3_第3页
湘潭大学-人工智能课件-确定性推理-part3_第4页
湘潭大学-人工智能课件-确定性推理-part3_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Artificial Intelligence (AI)人工智能,第二章:知识表示与推理,内容提要,第二章:知识表示与推理,1.推理的基本概念,2.搜索策略,3.自然演绎推理,4.消解演绎推理,5.基于规则的演绎推理,搜索策略,搜索策略 搜索的基本概念 状态空间的搜索策略 与/或树的搜索策略 搜索的完备性与效率,状态空间的搜索策略,状态空间的搜索策略 状态空间搜索的基本思想 图搜索的一般过程 状态空间的盲目搜索 广度优先搜索 深度优先搜索 代价树搜索 状态空间的启发式搜索 启发性信息和估价函数 A算法和A*算法,A算法,A算法:在图搜索算法中,如果能在搜索的每一步都利用估价函数f(n)=g(n

2、)+h(n)对OPEN表中的节点进行排序,则该搜索算法为A算法。 由于估价函数中带有问题自身的启发性信息,因此,A算法也被称为启发式搜索算法。 A算法的类型:可根据搜索过程中选择扩展节点的范围,将启发式搜索算法分为 全局择优搜索算法: 从OPEN表的所有节点中选择一个估价函数值最小的一个进行扩展。 局部择优搜索算法:仅从刚生成的子节点中选择一个估价函数值最小的一个进行扩展。,A算法,全局择优搜索算法流程 (1)把初始节点S0放入OPEN表,计算f(S0)。 (2)如果OPEN表为空,则问题无解,退出。 (3)把OPEN表的第一个节点(记为节点n)取出放入CLOSED表。 (4)考察节点n是否为

3、目标节点。若是,则求得了问题的解,退出。 (5)若节点n不可扩展,则转第2步。 (6)扩展节点n,用估价函数f(x)计算每个子节点的估价值,并为每一个子节点都配置指向父节点的指针。把这些子节点都送入OPEN表中,然后对OPEN表中的全部节点按估价值从小至大的顺序进行排序,然后转第2步。,A算法,局部择优搜索算法流程 (1) 把初始节点S0放入OPEN表,计算f(S0)。 (2)如果OPEN表为空,则问题无解,退出。 (3)把OPEN表的第一个节点(记为节点n)取出放入CLOSED表。 (4)考察节点n是否为目标节点。若是,则求得了问题的解,退出。 (5)若节点n不可扩展,则转第2步。 (6)

4、扩展节点n,用估价函数f(x)计算每个子节点的估价值,并按估价值从小到大的顺序放到OPEN表中的首部,并为每一个子节点都配置指向父节点的指针,然后转第2步。,A算法,全局择优搜索算法:八数码难题 设问题的初始状态S0和目标状态Sg如图所示 估价函数为: f(n)=d(n)+W(n) d(n):表示节点n在搜索树中的深度 W(n):表示节点n中“错误”的数码个数 用全局择优搜索解决该问题,S0,Sg,启发性信息和估价函数,用全局择优搜索求解八数码难题 解: 该问题的全局择优搜索树如右图所示 在该图中,每个节点旁边的数字是该节点的估价函数值 该问题的解为: S0S1S2S3Sg,A*算法,A*算法

5、:A*算法是对A算法的估价函数f(n)=g(n)+h(n)加上某些限制后得到的一种启发式搜索算法。 假设f*(n)是从初始节点出发经过节点n达到目标节点的最小代价,估价函数f(n)是对f*(n)的估计值。且 f*(n)=g*(n)+h*(n) g*(n)是从初始节点S0到节点n的最小代价。 h*(n)是从节点n到目标节点的最小代价,若有多个目标节点,则为其中最小的一个。,A*算法,A*算法:A*算法对A算法(全局择优的启发式搜索算法)中的g(n)和h(n)分别提出如下限制: 第一,g(n)是对最小代价g*(n)的估计,且g(n)0; 第二,h(n)是最小代价h*(n)的下界,即对任意节点n均有

6、h(n)h*(n)。 即:满足上述两条限制的A算法称为A*算法。,A*算法,在A*算法中, g(n)比较容易得到,它实际上就是从初始节点S0到节点n的路径代价,恒有: g(n) g*(n) 在算法执行过程中,随着更多搜索信息的获得, g(n)呈下降的趋势。 如右图的例子: 对S0扩展后g(n1)=3, g(n2)=7 对n1扩展后g(n2)=6, g(n3)=5,A*算法,A*算法应用: 八数码难题 f(n)=g(n)+h(n) g(n) :深度 h(n):与目标距离 f*=g*+h* 注:h(n)定义为:每一个数码与其目标位置之间距离的总和。因而,可以断定至少要移动h(n) 步才能到达目标,

7、因此满足h(n)h*(n)。,f(n)=g(n)+h(n) g(n) 深度 h(n)与目标距离 f*=g*+h*,搜索策略,搜索策略 搜索的基本概念 状态空间的搜索策略 与/或树的搜索策略 搜索的完备性与效率,与/或树的搜索策略,与/或树的搜索策略 与/或树的一般搜索过程 与/或树的广度优先搜索 与/或树的深度优先搜索 与/或树的启发式搜索 博弈树的启发式搜索 -剪枝技术,与/或树的搜索策略,与/或树的搜索策略 与/或树的一般搜索过程 与/或树的广度优先搜索 与/或树的深度优先搜索 与/或树的启发式搜索 博弈树的启发式搜索 -剪枝技术,与/或树的一般搜索过程,与/或树的搜索策略: 用与/或树方

8、法求解问题时,首先要定义问题的描述方法,及分解或变换问题的算符,然后就用它们通过搜索生成与/或树,从而求得原始问题的解。 在与/或树中,一个节点是否为可解节点是由它的子节点确定的。由可解/不可解子节点来确定父节点、祖父节点等为可解/不可解节点的过程成为可解/不可解标记过程。 与/或树的搜索过程是反复调用可解/不可解标记过程,直到初始节点(原始问题)被标记为可解/不可解节点为止。,与/或树的一般搜索过程,与/或树的一般搜索过程如下: (1) 把原始问题作为初始节点S0,并把它作为当前节点; (2) 应用分解或等价变换操作对当前节点进行扩展; (3) 为每个子节点设置指向父节点的指针; (4) 选

9、择合适的子节点作为当前节点,反复执行第(2)步和第(3)步,在此期间需要多次调用可解标记过程或不可解标记过程,直到初始节点被标记为可解节点或不可解节点为止。 上述搜索过程将形成一棵与/或树,这种由搜索过程所形成的与/或树称为搜索树。,与/或树的搜索策略,与/或树的搜索策略 与/或树的一般搜索过程 与/或树的广度优先搜索 与/或树的深度优先搜索 与/或树的启发式搜索 博弈树的启发式搜索 -剪枝技术,与/或树的广度优先搜索,与/或树的广度优先搜索: 与/或树的广度优先搜索与状态空间的广度优先搜索的主要差别是,需要在搜索过程中需要多次调用可解标识过程或不可解标识过程。 与/或树的广度优先搜索算法如下

10、: (1)把初始节点S0放入OPEN表中; (2)把OPEN表的第一个节点取出放入CLOSED表,并记该节点为n; (3)如果节点n可扩展,则做下列工作:,与/或树的广度优先搜索, 扩展节点n,将其子节点放入OPEN表的尾部,并为每一个子节点设置指向父节点的指针; 考察这些子节点中有否终止节点。若有,则标记这些终止节点为可解节点,并用可解标记过程对其父节点及先辈节点中的可解解节点进行标记。如果初始解节点S0能够被标记为可解节点,就得到了解树,搜索成功,退出搜索过程;如果不能确定S0为可解节点,则从OPEN表中删去具有可解先辈的节点。 转第(2)步。,与/或树的广度优先搜索,(4) 如果节点n不

11、可扩展,则作下列工作: 标记节点n为不可解节点; 应用不可解标记过程对节点n的先辈中不可解解的节点进行标记。如果初始解节点S0也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜索过程;如果不能确定S0为不可解节点,则从Open表中删去具有不可解先辈的节点。 转第(2)步。,与/或树的广度优先搜索,与/或树的广度优先搜索的例子: 设有下图所示的与/或树,节点按标注顺序进行扩展,其中标有t1、t2、t3的节点是终止节点,A、B、C为不可解的端节点。,与/或树的广度优先搜索,广度优先搜索过程: (1) 先扩展1号节点,生成2号节点和3号节点。 (2) 扩展2号节点,生成A节点和4号节点。,(

12、3) 扩展3号节点,生成t1节点和5号节点。由于t1为终止节点,则标记它为可解节点,并应用可解标记过程,不能确定3号节点是否可节。 (4) 扩展节点A,由于A是端节点,因此不可扩展。调用不可解标记过程。,与/或树的广度优先搜索,广度优先搜索过程: (5) 扩展4号节点,生成t2节点和B节点。由于t2为终止节点,标记为可解节点,应用可解标记过程,可标记2号节点为可解,但不能标记1号节点为可解。,(6) 扩展5号节点,生成t3节点和C节点。由于t3为终止节点,标记它为可解节点,应用可解标记过程,可标记1号节点为可解节点。 (7) 搜索成功,得到由1、2、3、4、5号节点和t1、t2、t3节点构成的

13、解树。,与/或树的搜索策略,与/或树的搜索策略 与/或树的一般搜索过程 与/或树的广度优先搜索 与/或树的深度优先搜索 与/或树的启发式搜索 博弈树的启发式搜索 -剪枝技术,与/或树的深度优先搜索,与/或树的深度优先搜索: 与/或树的深度优先搜索和与/或树的广度优先搜索过程基本相同,其主要区别在于OPEN表中节点的排列顺序不同。在扩展节点时,与/或树的深度优先搜索过程总是把刚生成的节点放在OPEN表的首部。 与/或树的深度优先搜索也可以带有深度限制dm 与/或树的深度优先搜索算法如下: (1)把初始节点S0放入OPEN表中; (2)把OPEN表第一个节点取出放入CLOSED表,并记该节点为n;

14、,与/或树的深度优先搜索,与/或树的深度优先搜索算法如下: (3)如果节点n的深度等于dm,则转第(5)步的第点; (4)如果节点n可扩展,则做下列工作: 扩展节点n,将其子节点放入OPEN表的首部,并为每一个子节点设置指向父节点的指针; 考察这些子节点中是否有终止节点。若有,则标记这些终止节点为可解节点,并用可解标记过程对其父节点及先辈节点中的可解解节点进行标记。如果初始解节点S0能够被标记为可解节点,就得到了解树,搜索成功;如果不能确定S0为可解节点,则从OPEN表中删去具有可解先辈的节点。,与/或树的深度优先搜索,与/或树的深度优先搜索算法如下: 转第(2)步。 (5)如果节点n不可扩展

15、,则作下列工作: 标记节点n为不可解节点; 应用不可解标记过程对节点n的先辈中不可解解的节点进行标记。如果初始解节点S0也被标记为不可解节点,则搜索失败,表明原始问题无解,退出搜索过程;如果不能确定S0为不可解节点,则从Open表中删去具有不可解先辈的节点。 转第(2)步。,与/或树的深度优先搜索,与/或树的深度优先搜索的例子: 设有下图所示的与/或树,其中表有t1、t2、t3的节点是终止节点,A、B、C为不可解的端节点。若按有界深度优先搜索,设dm=4,则其节点扩展顺序为:1,3,5,2,4。,与/或树的深度优先搜索,深度优先搜索过程: (1) 先扩展1号节点,生成2号节点和3号节点。 (2)扩展3号节点,生成t1节点和5号节点。由于t1为终止节点,则标记它为可解节点,并应用可解标记过程,不能确定3号节点是否可解。,(3)扩展5号节点,生成t3节点和C节点。由于t3为终止节点,则标记它为可解节点,并应用可解标记过程,可标记3号节点为可解节点,但不能标记1号为可解。,与/或树的深度优先

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论