人工智能第三章搜索推理技术41287.docx
《人工智能第三章搜索推理技术41287.docx》由会员分享,可在线阅读,更多相关《人工智能第三章搜索推理技术41287.docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 搜索推理技术教学内容:本章在上一章知识表示的基础上研究问题求解的方法,是人工智能研究的又一核心问题。内容包括早期搜索推理技术,如图搜索策略和消解原理;以及高级搜索推理技术,如规则演绎系统、产生式系统、系统组织技术、不确定性推理和非单调推理。教学重点:图搜索策略、消解原理、规则演绎系统、产生式系统。教学难点:启发发式搜索、规规则双向演绎绎系统等。教学方法:课堂堂教学为主,辅辅以恰当的实实验。注意结结合前面所学学知识表示的的基础内容,将将其与问题求求解方法融为为一体。及时时提问、收集集学生学习情情况。尽量使使用实例和网网络课程中的的多媒体素材材进行讲解。教学要求:重点点掌握一般图图搜索策略
2、和和消解原理,掌掌握各种搜索索方法和产生生式系统原理理,了解规则则演绎系统的的基本原理,对对系统组织技技术、不确定定性推理和非非单调推理等等高级推理技技术作一般性性了解。3.1 图搜索索策略教学内容:本节节介绍图搜索索的一般策略略,作为各种种图搜索技术术的基础。教学重点:图搜搜索的一般过过程、OPEEN表和CLLOSE表的的概念。教学难点:OPPEN表和CCLOSE表表的物理意义义。教学方法:课堂堂教学为主,通通过提问彻底底弄清图搜索索的基本概念念。教学要求:重点点掌握图搜索索一般策略,掌掌握OPENN表和CLOOSE表的构构成及作用。1、图搜索策略略的定义图搜索策略略可看作一种种在图中寻找找
3、路径的方法法。初始节点点和目标节点点分别代表初初始数据库和和满足终止条条件的数据库库。求得把一一个数据库变变换为另一数数据库的规则则序列问题就就等价于求得得图中的一条条路径问题。研研究图搜索的的一般策略,能能够给出图搜搜索过程的一一般步骤。2、图搜索算法法中的几个重重要名词术语语(1)OPPEN表与CCLOSE表表(2)搜索索图与搜索树树3、图搜索(GGRAPHSSEARCHH)的一般过过程(1) 建建立一个只含含有起始节点点S的搜索图图G,把S放放到一个叫做做OPEN的的未扩展节点点表中。(2) 建建立一个叫做做CLOSEED的已扩展展节点表,其其初始为空表表。(3) LLOOP:若若OPE
4、N表表是空表,则则失败退出。(4) 选选择OPENN表上的第一一个节点,把把它从OPEEN表移出并并放进CLOOSED表中中。称此节点点为节点n。(5) 若若n为一目标标节点,则有有解并成功退退出,此解是是追踪图G中中沿着指针从从n到S这条条路径而得到到的(指针将将在第7步中中设置)。(6) 扩扩展节点n,同同时生成不是是n的祖先的的那些后继节节点的集合MM。把M的这这些成员作为为n的后继节节点添入图GG中。(7) 对对那些未曾在在G中出现过过的(既未曾曾在OPENN表上或CLLOSED表表上出现过的的)M成员设设置一个通向向n的指针。把把M的这些成成员加进OPPEN表。对对已经在OPPEN或
5、CLLOSED表表上的每一个个M成员,确确定是否需要要更改通到nn的指针方向向。对已在CCLOSEDD表上的每个个M成员,确确定是否需要要更改图G中中通向它的每每个后裔节点点的指针方向向。(8) 按按某一任意方方式或按某个个探试值,重重排OPENN表。(9) GGO LOOOP。提问:图搜索是是针对什么知知识表示方法法的问题求解解方法?4、图搜索方法法分析:图搜索过程程的第8步对对OPEN表表上的节点进进行排序,以以便能够从中中选出一个“最好”的节点作为为第4步扩展展用。这种排排序可以是任任意的即盲目目的(属于盲盲目搜索),也也可以用以后后要讨论的各各种启发思想想或其它准则则为依据(属属于启发
6、式搜搜索)。每当当被选作扩展展的节点为目目标节点时,这这一过程就宣宣告成功结束束。这时,能能够重现从起起始节点到目目标节点的这这条成功路径径,其办法是是从目标节点点按指针向SS返回追溯。当当搜索树不再再剩有未被扩扩展的端节点点时,过程就就以失败告终终(某些节点点最终可能没没有后继节点点,所以OPPEN表可能能最后变成空空表)。在失失败终止的情情况下,从起起始节点出发发,一定达不不到目标节点点。提问:什么是图图搜索? 其其中,重排OOPEN表意意味着什么,重重排的原则是是什么?3.2盲目搜索索教学内容:介绍绍三种盲目搜搜索方法,即即宽度优先搜搜索、深度优优先搜索和等等代价搜索。教学重点:盲目目搜
7、索的特点点,宽度优先先搜索。教学难点:等代代价搜索中代代价的概念。教学方法:以实实例强化内容容的学习,通通过提问引导导学生对三种种方法的特点点进行比较。教学要求:掌握握盲目搜索的的特点,比较较三种盲目搜搜索方法的优优缺点。3.2.1宽度度优先搜索1、定义如果搜索是是以接近起始始节点的程度度依次扩展节节点的,那么么这种搜索就就叫做宽度优优先搜索(bbreadtth-firrst seearch)。2、特点这种搜索是是逐层进行的的;在对下一一层的任一节节点进行搜索索之前,必须须搜索完本层层的所有节点点。3、宽度优先搜搜索算法(1) 把把起始节点放放到OPENN表中(如果果该起始节点点为一目标节节点
8、,则求得得一个解答)。(2) 如如果OPENN是个空表,则则没有解,失失败退出;否否则继续。(3) 把把第一个节点点(节点n)从OPENN表移出,并并把它放入CCLOSEDD的扩展节点点表中。(4) 扩扩展节点n。如如果没有后继继节点,则转转向上述第(2)步。(5) 把把n的所有后后继节点放到到OPEN表表的末端,并并提供从这些些后继节点回回到n的指针针。(6) 如如果n的任一一个后继节点点是个目标节节点,则找到到一个解答,成成功退出;否否则转向第(2)步。4、宽度优先搜搜索方法分析析:宽度优先搜搜索是图搜索索一般过程的的特殊情况,将将图搜索一般般过程中的第第8步具体化化为本算法中中的第6步,
9、这这实际是将OOPEN表作作为“先进先出”的队列进行行操作。宽度优先搜搜索方法能够够保证在搜索索树中找到一一条通向目标标节点的最短短途径;这棵棵搜索树提供供了所有存在在的路径(如如果没有路径径存在,那么么对有限图来来说,我们就就说该法失败败退出;对于于无限图来说说,则永远不不会终止)。5、例:把宽度度优先搜索应应用于八数码码难题时所生生成的搜索树树,这个问题题就是要把初初始棋局变为为如下目标棋棋局的问题:1 2 38 47 6 5提问:宽度优先先搜索方法中中OPEN表表需要按什么么方式进行操操作?A先进后出 B先进先先出3.2.2深度度优先搜索1、定义在此搜索中中,首先扩展展最新产生的的(即最
10、深的的)节点。深深度相等的节节点可以任意意排列。这种盲目(无信息)搜搜索叫做深度度优先搜索(depthh-firsst seaarch)。2、特点首先,扩展展最深的节点点的结果使得得搜索沿着状状态空间某条条单一的路径径从起始节点点向下进行下下去;只有当当搜索到达一一个没有后裔裔的状态时,它它才考虑另一一条替代的路路径。3、深度界限为了避免考考虑太长的路路径(防止搜搜索过程沿着着无益的路径径扩展下去),往往给出出一个节点扩扩展的最大深深度棗深度界界限。任何节节点如果达到到了深度界限限,那么都将将把它们作为为没有后继节节点处理。4、含有深度界界限的深度优优先搜索算法法请同学们课课后自学,并并回答课
11、后思思考题。思考题:有界深深度优先搜索索方法能够保保证在搜索树树中找到一条条通向目标节节点的最短途途径吗?3.2.3等代代价搜索1、定义宽度优先搜搜索可被推广广用来解决寻寻找从起始状状态至目标状状态的具有最最小代价的路路径问题,这这种推广了的的宽度优先搜搜索算法叫做做等代价搜索索算法。2、等代价搜索索中的几个记记号起始节点记记为S;从节点i到到它的后继节节点j的连接接弧线代价记记为c(i,jj);从起始节点点S到任一节节点i的路径径代价记为gg(i)。3、等代价搜索索算法(请同学们们课后认真阅阅读本算法,指指出与宽度优优先、深度优优先算法有何何特别之处。)4、等代价搜索索方法分析如果所有的的连
12、接弧线具具有相等的代代价,那么等等代价算法就就简化为宽度度优先搜索算算法。思考:试比较各各种盲目搜索索搜索方法的的效率,找出出影响算法效效率的原因。3.3 启发式式搜索教学内容:启发发式搜索策略略概述和有序序搜索。启发发式搜索弥补补盲目搜索的的不足,提高高搜索效率。教学重点:启发发式搜索策略略、启发信息息和有序搜索索。教学难点:估价价函数的设计计、A*算法法原理。教学方法:通过过实例加深对对原理的理解解,鼓励同学学扩大阅读范范围。教学要求:掌握握启发式搜索索策略和估价价函数的设计计方法,了解解A*算法原原理。3.3.1启发发式搜索策略略和估价函数数1、为什么需要要启发式搜索索盲目搜索效效率低,
13、耗费费过多的计算算空间与时间间,这是组合合爆炸的一种种表现形式。2、定义进行搜索技技术一般需要要某些有关具具体问题领域域的特性的信信息,把此种种信息叫做启启发信息。利利用启发信息息的搜索方法法叫做启发式式搜索方法。3、启发式搜索索策略有关具体问问题领域的信信息常常可以以用来简化搜搜索。一个比比较灵活(但但代价也较大大)的利用启启发信息的方方法是应用某某些准则来重重新排列每一一步OPENN表中所有节节点的顺序。然然后,搜索就就可能沿着某某个被认为是是最有希望的的边缘区段向向外扩展。应应用这种排序序过程,需要要某些估算节节点“希望”的量度,这这种量度叫做做估价函数(evaluution funct
14、tion)。4、估价函数为获得某些些节点“希望”的启发信息息,提供一个个评定侯选扩扩展节点的方方法,以便确确定哪个节点点最有可能在在通向目标的的最佳路径上上 。ff(n)表示节点nn的估价函数数值建立估价函函数的一般方方法:试图确确定一个处在在最佳路径上上的节点的概概率;提出任任意节点与目目标集之间的的距离量度或或差别量度;或者在棋盘盘式的博弈和和难题中根据据棋局的某些些特点来决定定棋局的得分分数。这些特特点被认为与与向目标节点点前进一步的的希望程度有有关。3.3.2 有有序搜索1、定义用估价函数数f来排列GRAAPHSEAARCH第8步中OPENN表上的节点点。应用某个个算法(例如等代价价算
15、法)选择OPENN表上具有最最小f值的节点作作为下一个要要扩展的节点点。这种搜索索方法叫做有有序搜索(oordereed seaarch)或或最佳优先搜搜索(besst-firrst seearch),而其算法法就叫做有序序搜索算法或或最佳优先算算法。尼尔逊(NNilssoon)曾提出出一个有序搜搜索的基本算算法。估价函函数f是这样确定定的:一个节节点的希望程程序越大,其其f值就越小。被被选为扩展的的节点,是估估价函数最小小的节点。2、实质选择OPEEN表上具有有最小f值的节点作作为下一个要要扩展的节点点,即总是选选择最有希望望的节点作为为下一个要扩扩展的节点。3、有序状态空空间搜索算法法(1
16、) 把把起始节点SS放到OPENN表中,计算算f(S)并把把其值与节点点S联系起来。(2) 如如果OPENN是个空表,则则失败退出,无无解。(3) 从从OPEN表中中选择一个ff值最小的节节点i。结果有几几个节点合格格,当其中有有一个为目标标节点时,则则选择此目标标节点,否则则就选择其中中任一个节点点作为节点ii。(4) 把把节点i从OPEN表中中移出,并把把它放入CLLOSED的的扩展节点表表中。(5) 如如果i是个目标节节点,则成功功退出,求得得一个解。(6) 扩扩展节点i,生成其全全部后继节点点。对于i的每一个后后继节点j:(a)计算f(j)。(b)如果j既既不在OPEEN表中,又又不在
17、CLOOSED表中,则则用估价函数数f把它添入OPPEN表。从从j加一指向其其父辈节点ii的指针,以以便一旦找到到目标节点时时记住一个解解答路径。(c)如果j已已在OPENN表上或CLOOSED表上上,则比较刚刚刚对j计算过的f值和前面计计算过的该节节点在表中的的f值。如果新新的f值较小,则则(i) 以以此新值取代代旧值。(ii) 从j指向i,而不是指指向它的父辈辈节点。(iii) 如果节点点j在CLOSEED表中,则则把它移回OOPEN表。(7) 转转向(2),即GO TTO(2)。4、有序搜索方方法分析宽度优先搜搜索、等代价价搜索和深度度优先搜索统统统是有序搜搜索技术的特特例。对于宽宽度优
18、先搜索索,选择f(i)作为节节点i的深度。对对于等代价搜搜索,f(ii)是从起始始节点至节点点i这段路径的的代价。有序搜索的的有效性直接接取决于f的选择,如如果选择的ff不合适,有有序搜索就可可能失去一个个最好的解甚甚至全部的解解。如果没有有适用的准确确的希望量度度,那么f的选择将涉涉及两个方面面的内容:一一方面是一个个时间和空间间之间的折衷衷方案;另一一方面是保证证有一个最优优的解或任意意解。5、例:八数码码难题采用了简单单的估价函数数f(n)=d(n)+W(n)其中:d(n)是搜索索树中节点nn的深度;W(n)用来计计算对应于节节点n的数据库中中错放的棋子子个数。因此此,起始节点点棋局2
19、8 31 47 6 5的f值等于0+4=4。3.3.3 AA*算法A*算法是是一种有序搜搜索算法,其其特点在于对对估价函数的的定义上。1、几个记号令k(nii,nj)表示任意两两个节点ni和nj之间最小代代价路径的实实际代价(对于两节点点间没有通路路的节点,函函数k没有定义)。于是,从从节点n到某个具体体的目标节点点ti,某一条最最小代价路径径的代价可由由k(n,tti)给出。令h*(n)表示示整个目标节节点集合tti上所有k(n,ti)中最小的一一个,因此,h*(n)就是从n到目标节点最小代价路径的代价,而且从n到目标节点能够获得h*(n)的任一路径就是一条从n到某个目标节点的最佳路径(对于
20、任何不能到达目标节点的节点n,函数h*没有定义)。2、估价函数的的定义定义g*为为g*(n)=k(S,n)定义函数ff*,使得在在任一节点nn上其函数值值f*(n)就是从节点点S到节点n的一条最佳佳路径的实际际代价加上从从节点n到某目标节节点的一条最最佳路径的代代价之和,即即f*(n)=gg*(n)+h*(n)希望估价函函数f是f*的一个估估计,此估计计可由下式给给出:f(n)=g(n)+h(n)其中:g是是g*的估计;h是h*的估计。对对于g(n)来说,一个个明显的选择择就是搜索树树中从S到n这段路径的的代价,这一一代价可以由由从n到S寻找指针时时,把所遇到到的各段弧线线的代价加起起来给出(
21、这条路径就就是到目前为为止用搜索算算法找到的从从S到n的最小代价价路径)。这个定义义包含了g(n)g*(n)。h*(n)的估计h(nn)依赖于有有关问题的领领域的启发信信息。这种信信息可能与八八数码难题中中的函数W(n)所用的的那种信息相相似。把h叫做启发函函数。3、A*算法定定义定义1 在在GRAPHHSEARCCH过程中,如如果第8步的重排OPEN表是依依据f(x)=g(x)+h(x)进行的,则则称该过程为为A算法。定义2 在在A算法中,如如果对所有的的x存在h(x)h*(x),则称h(x)为h*(x)的下界,它它表示某种偏偏于保守的估估计。定义3 采采用h*(xx)的下界h(xx)为启发
22、函函数的A算法,称为为A*算法。当当h=0时,A*算法就变变为有序搜索索算法。4、A*算法A*算法描描述参考教材材。提问:由g*(n)和g(n)的定义义知g*(n)g(n)A对 B错错思考:试比较宽宽度优先搜索索、有界深度度优先搜索及及有序搜索的的搜索效率,并并以实例数据据加以说明3.4 消解原原理教学内容:消解解原理是针对对谓词逻辑知知识表示的问问题求解方法法。本节内容容主要包括子子句集的求取取、消解推理理的规则和消消解反演问题题求解方法。教学重点:子句句集的求取、消消解推理的规规则和消解反反演问题求解解方法。教学难点:消解解反演的思想想。教学方法:实例例讲解,注重重课堂练习。教学要求:重点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 第三 搜索 推理 技术 41287
限制150内