第三章确定性推理.ppt
《第三章确定性推理.ppt》由会员分享,可在线阅读,更多相关《第三章确定性推理.ppt(121页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CSUCSUCSUCSUCSUCSUCSUCSUCSU 上一章中我们研究了知识表示方法,为人工智上一章中我们研究了知识表示方法,为人工智能问题的求解打下了基础。能问题的求解打下了基础。从问题表示到问题的解从问题表示到问题的解决决,是一个求解的过程,这,是一个求解的过程,这其实就是搜索过程其实就是搜索过程,所,所以搜索实际上就是求解问题的一种方法。接下来要以搜索实际上就是求解问题的一种方法。接下来要研究的是实现求解的过程,采用的基本方法包括搜研究的是实现求解的过程,采用的基本方法包括搜索和推理。本章先介绍索和推理。本章先介绍搜索技术搜索技术,将要讨论问题求,将要讨论问题求解的搜索原理,包括一些用
2、于解决比较简单问题的解的搜索原理,包括一些用于解决比较简单问题的搜索原理和一些比较新的能够求解比较复杂问题的搜索原理和一些比较新的能够求解比较复杂问题的搜索原理和推理技术搜索原理和推理技术。CSUCSUCSUCSUCSUCSUCSUCSUCSU可可把把图图搜搜索索策策略略看看成成一一种种在在图图中中寻寻找找路路径径的的方方法法。第第二二章章我我们们已已经经介介绍绍过过有有关关状状态态空空间间图图的的知知识识表表示示方方法法,本本节节着着重重对对基基于于状状态态空空间间图图的的搜搜索索策策略略进进行行介介绍绍。状状态态空空间间图图中中的的节节点点对对应应于于状状态态,而而连连线线对对应应于操作符
3、于操作符,表示一次操作、走步或算符表示一次操作、走步或算符。基基于于图图的的搜搜索索策策略略就就等等价价于于求求得得图图中中从从某某一一初初始状态节点到另一目标状态节点的一条始状态节点到另一目标状态节点的一条路径问题路径问题。在介绍图搜索策略之前,先来看一个例子。在介绍图搜索策略之前,先来看一个例子。3.1图搜索策略CSUCSUCSUCSUCSUCSUCSUCSUCSU例子:从某王姓家族的四代中找王例子:从某王姓家族的四代中找王A A的后代且其寿命为的后代且其寿命为X X的人。的人。王王A A:寿命:寿命4747,有儿子王,有儿子王B1B1、王、王B3B3、王、王B2B2王王B1B1:寿命:寿
4、命7777,有儿子王,有儿子王C1C1、王、王C2C2王王B3B3:寿命:寿命5252,有儿子王,有儿子王D1D1王王B2B2:寿命:寿命6565,有儿子王,有儿子王E1E1、王、王E2E2王王C1C1:寿命:寿命2727,没有儿子,没有儿子王王C2C2:寿命:寿命8787,有儿子王,有儿子王F1F1王王D1D1:寿命:寿命7777,没有儿子,没有儿子王王E1E1:寿命:寿命5757,有儿子王,有儿子王G1G1王王E2E2:寿命:寿命9292,有儿子王,有儿子王H1H1王王F1F1:寿命:寿命3232王王G1G1:寿命:寿命9696王王H1H1:寿命:寿命5151若要查找寿命若要查找寿命X=5
5、7X=57的后代,试给出其答案。的后代,试给出其答案。CSUCSUCSUCSUCSUCSUCSUCSUCSU如果是一个如果是一个N N代的家族表中找其寿命为代的家族表中找其寿命为X的人,人工方法是从的人,人工方法是从家族表的开始往下,若家族表的开始往下,若N N的数目很大,可能就比较复杂。的数目很大,可能就比较复杂。若这个若这个问题用图来表示和求解,就比较直观和容易了问题用图来表示和求解,就比较直观和容易了。图中省去姓氏,。图中省去姓氏,每个成员的后代按所给名字的先后顺序。图示为:每个成员的后代按所给名字的先后顺序。图示为:CSUCSUCSUCSUCSUCSUCSUCSUCSU利用利用搜索方法
6、求解问题的基本思想搜索方法求解问题的基本思想:首先将问:首先将问题的题的初始状态初始状态(即状态空间图中的初始节点)作为(即状态空间图中的初始节点)作为当前状态,选择一当前状态,选择一适当的算符适当的算符作用于当前状态,生作用于当前状态,生成一组成一组后继状态后继状态(或称后继节点),检查这组后继(或称后继节点),检查这组后继状态节点中有没有目标状态。如果有,则说明搜索状态节点中有没有目标状态。如果有,则说明搜索成功,从成功,从初始状态到目标状态的一系列算符即是问初始状态到目标状态的一系列算符即是问题的解题的解;若没有,则按照某种;若没有,则按照某种控制策略控制策略从已生成的从已生成的状态中再
7、选择一个状态作为当前状态,重复上述过状态中再选择一个状态作为当前状态,重复上述过程,直到出现目标状态或不再有可供操作的状态及程,直到出现目标状态或不再有可供操作的状态及算符为止。该过程类似于隐式状态空间图的扩展。算符为止。该过程类似于隐式状态空间图的扩展。图搜索(图搜索(GRAPHSEARCH)的一般过程如下:)的一般过程如下:CSUCSUCSUCSUCSUCSUCSUCSUCSU(1)(1)建建立立一一个个只只含含有有起起始始节节点点S S的的搜搜索索图图G G,把把S S放放到到一一个个叫叫做做OPENOPEN的未扩展节点表的未扩展节点表中(简称中(简称OPENOPEN表)。表)。(2)(
8、2)建建立立一一个个叫叫做做CLOSEDCLOSED的的已已扩扩展展节节点点表表(简简称称CLOSEDCLOSED表表),其初始为空表。其初始为空表。(3)LOOP(3)LOOP:若:若OPENOPEN表是空表,则失败退出。表是空表,则失败退出。(4)(4)选选择择OPENOPEN表表上上的的第第一一个个节节点点,把把它它从从OPENOPEN表表移移出出并并放放进进CLOSEDCLOSED表中。称为节点表中。称为节点n n,它是在,它是在CLOSEDCLOSED表中节点的编号表中节点的编号。(5)(5)若若n n为为目目标标节节点点,则则有有解解并并成成功功退退出出,此此解解是是追追踪踪图图G
9、 G中中沿沿着指针从着指针从n n到到S S这条路径而得到的(这条路径而得到的(指针将在第指针将在第7 7步中设置步中设置)。)。(6)(6)扩扩展展节节点点n n,同同时时生生成成n n的的后后继继节节点点的的集集合合M M。把把M M的的这这些些成成员作为员作为n n的后继节点添入图的后继节点添入图G G中。中。(7)(7)对对那那些些未未曾曾在在G G中中出出现现过过的的(既既未未曾曾在在OPENOPEN表表上上或或CLOSEDCLOSED表表上上出出现现过过的的)M M成成员员设设置置一一个个指指向向父父节节点点n n的的指指针针。把把M M的的这这些些成成员员加加进进OPENOPEN
10、表表。对对已已经经在在OPENOPEN或或CLOSEDCLOSED表表上上的的每每一一个个M M成成员员,确确定定是是否否需需要要更更改改通通到到n n的的指指针针方方向向,若若需需要要更更改改,并并相相应应地地在在图图G G中更改指针方向,使得中更改指针方向,使得指向现在的父节点指向现在的父节点n n。(8)(8)按某一任意方式或按某个探试值,按某一任意方式或按某个探试值,重排重排OPENOPEN表表。(9)GO LOOP(9)GO LOOP。CSUCSUCSUCSUCSUCSUCSUCSUCSU开始开始把把S放入放入OPEN表表OPEN表为空表?表为空表?把第一个节点把第一个节点(n)从从
11、OPEN表移至表移至CLOSED表表n为目标节点吗?为目标节点吗?把把n的后继节点放入的后继节点放入OPEN表的表的末端,提供返回节点末端,提供返回节点n的指针的指针修改父节点指针指向修改父节点指针指向n重排重排OPEN表表失败失败成功成功图搜索过程框图图搜索过程框图是是是是否否否否CSUCSUCSUCSUCSUCSUCSUCSUCSU图搜索算法中的几个重要名词图搜索算法中的几个重要名词1扩展节点和未扩展节点扩展节点和未扩展节点扩扩展展就就是是用用合合适适的的算算符符对对某某个个节节点点进进行行操操作作生生成成一一组组后后继继节节点点。对对于于状状态态空空间间图图中中的的某某个个节节点点,如如
12、果果求求出出了了它它的的后后继继节节点点,则则此此节节点点就就是是已已扩扩展展节节点点,而而尚尚未未被被求求出出后后继继节节点点称称为为未未扩扩展展节节点点。将将未未扩扩展展的的节节点点存存于于一一个个名名为为OPEN的的表表中中,而而将将已已扩扩展展的的节点存于节点存于一个名一个名CLOSED的表中。的表中。2OPEN表表状态节点状态节点父节点父节点3CLOSED表表编号编号状态节点状态节点父节点父节点CSUCSUCSUCSUCSUCSUCSUCSUCSU4搜索图搜索图图图搜搜索索过过程程会会生生成成一一个个明明确确的的图图G G,它它是是问问题题状状态态空空间间图图的的一一部部分分,称称为
13、为搜搜索索图图(也也称称为为搜搜索索树树)。G G中中的的每每个个节节点点(除除S S外外)都都有有一一个个只只指指向向G G中中一一个个父父辈辈节节点点的的指指针针,该该父父辈辈节节点点就就定定为为树树中中那那个个节节点点的的唯唯一一父父辈辈节节点点。到到达达由由算算法法发发现现的的某某个个节节点点上上,每每条条可可能能的的路路径径被被明明确确地地保保存存在在图图中中,对对任任何何节节点点的的单单独独一一条明显路径是用条明显路径是用T T来定义的。来定义的。OPENOPEN表表上上的的节节点点都都是是搜搜索索树树上上未未被被扩扩展展的的端端节节点点;在在CLOSEDCLOSED表表上上的的节
14、节点点,或或者者是是几几个个已已扩扩展展但但是是在在搜搜索索树树中中没没有有生生成成后后继继节节点点的的端端节节点点,或或者者是是搜搜索索树树的的非非端节点端节点。CSUCSUCSUCSUCSUCSUCSUCSUCSU当当被被选选作作扩扩展展的的节节点点为为目目标标节节点点时时,这这一一过过程程就就宣宣告告成成功功结结束束。这这时时,重重现现从从起起始始节节点点到到目目标标节节点点的的这这条条成成功功路路径径的的方方法法是是:从从目目标标节节点点按按指指针针向向初初始始点点S返返回回追追溯溯。如如果果目目标标节节点点还还没没找找到到,且且搜搜索索图图不不再再剩剩有有未未被被扩扩展展的的端端节节
15、点点时时,过过程程就就以以失失败败告告终终(某某些些节节点点最最终终可可能能没没有有后后继继节节点点,所所以以OPEN表表可可能能最最后后变成一张空表)。变成一张空表)。CSUCSUCSUCSUCSUCSUCSUCSUCSU上上述述状状态态空空间间图图的的图图搜搜索索算算法法具具有有通通用用性性。本本章章后后面面各各小小节节讨讨论论的的几几种种搜搜索索策策略略都都可可以以是是它它的的一一个个特特例例。各各种种策策略略的的主主要要区区别别就就是是在在于于第第8步步对对OPEN表表上上的的节节点点进进行行排排序序的的策策略略不不同同。在在第第8步步对对OPEN表表中中的的节节点点排排序序,主主要要
16、目目的的是是希希望望从从未未扩扩展展节节点点中中选选出出一一个个“最最有有希希望望”的的节节点点作作为为第第4步步扩扩展展用用。若若这这种种排排序序是是任任意意指指定定或或盲盲目目的的,则则搜搜索索过过程程称称为为盲盲目目搜搜索索(无无信信息息搜搜索索);若若这这种种对对未未扩扩展展节节点点的的排排序序是是按按照照某某种种启启发发信信息息或或准准则则为为依依据据就就是是启启发式搜索(有信息搜索)发式搜索(有信息搜索)。CSUCSUCSUCSUCSUCSUCSUCSUCSU盲盲目目搜搜索索过过程程中中,没没有有任任何何启启发发信信息息来来改改变变未未扩扩展展节节点点的的排排列列顺顺序序,从从而而
17、不不太太可可能能按按“最最有有希希望望”的的路路径径或或方方向向进进行行搜搜索索,使使得得搜搜索索带带有有盲盲目目性性,效效率率低低,适适用用于于相相对对简简单单的的问问题题。启启发发式式搜搜索索能能根根据据问问题题本本身身的的特特性性或或某某些些信信息息不不断断改改变变调调整整搜搜索索的的方方向向,使使搜搜索索朝朝“最最有有希希望望”的的方方向向前前进进,加加速速问问题题的的求求解解,并并可可能能找找到到最最优优解解。启启发发式式搜搜索索求求解解效效率率更更高高,更更易易于于求求解复杂的问题解复杂的问题。但但并并不不是是所所有有的的问问题题都都能能方方便便地地抽抽取取到到其其相相关关的的特特
18、性性或或信信息息,因因此此尽尽管管启启发发式式搜搜索索明明显显优优于于盲盲目目搜搜索索,但盲目搜索仍会在很多的问题求解中得到应用。但盲目搜索仍会在很多的问题求解中得到应用。CSUCSUCSUCSUCSUCSUCSUCSUCSU无无需需重重排排OPEN表表的的搜搜索索方方法法叫叫做做盲盲目目搜搜索索或或无无信信息息搜搜索索,它它包包括括宽宽度度优优先先搜搜索索和和深深度度优优先先搜搜索索和和等等代代价价搜搜索索。盲盲目目搜搜索索方方法法效效率率不不高高,一一般般适适用用于于求求解解相对简单的问题。相对简单的问题。3.2.1宽度优先搜索回回顾顾上上一一节节的的寻寻找找寿寿命命为为X的的人人的的例例
19、子子,若若搜搜索索时时,从从节节点点A开开始始,对对他他三三个个儿儿子子按按从从左左至至右右搜搜索索,然然后后对对他他的的所所有有孙孙子子按按从从左左至至右右搜搜索索,依依此此下下去去,这这种搜索就是种搜索就是宽度优先搜索宽度优先搜索。3.2盲目搜索CSUCSUCSUCSUCSUCSUCSUCSUCSU1、宽度优先搜索的定义、宽度优先搜索的定义如如果果搜搜索索是是以以接接近近起起始始节节点点的的程程度度依依次次扩扩展展节节点点的的,那那么么这这种种搜搜索索就就叫叫做做宽宽度度优优先先搜搜索索。如如下下图图所所示示,这这种种搜搜索索是是逐逐层层进进行行的的;在在对对下下一一层层的的任任一一节节点
20、点进进行行搜搜索索之之前前,必必须须搜搜索索完完本本层层的的所所有有节节点点。在在搜搜索索过过程程中中,未未扩扩展展节节点点OPEN表表中中节节点点的的排排序序准准则则是是:先先进进入入表表的的节节点点排排在在最最前前面面,后后进进入入表表的的节节点点排排在在最最后后面面(即即将将扩扩展展得得到到的的后后继继节节点点放放入入OPEN表的末端表的末端)。)。CSUCSUCSUCSUCSUCSUCSUCSUCSU宽度优先搜索示意图宽度优先搜索示意图CSUCSUCSUCSUCSUCSUCSUCSUCSU2、宽度优先搜索算法如下:、宽度优先搜索算法如下:(1)把把起起始始节节点点放放到到OPEN表表中
21、中(如如果果该该起起始始节节点为一目标节点,则求得一个解答)。点为一目标节点,则求得一个解答)。(2)如如果果OPEN表表是是个个空空表表,则则没没有有解解,失失败败退退出;否则继续。出;否则继续。(3)把把第第一一个个节节点点(节节点点n)从从OPEN表表移移出出,并并把它放入把它放入CLOSED扩展节点表中。扩展节点表中。(4)扩扩展展节节点点n,如如果果没没有有后后继继节节点点,则则转转向向上上述述第第(2)步。步。(5)把把n的的所所有有后后继继节节点点放放到到OPEN表表的的末末端端,并并提供从这些后继节点回到提供从这些后继节点回到n的指针。的指针。(6)如如果果n的的任任一一个个后
22、后继继节节点点是是目目标标节节点点,则则找找到到一个解答,成功退出;否则转向第一个解答,成功退出;否则转向第(2)步。步。宽度优先搜索过程如下图所示:宽度优先搜索过程如下图所示:CSUCSUCSUCSUCSUCSUCSUCSUCSU开始开始把把S放入放入OPEN表表OPEN表为空表?表为空表?把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表是否有后继节点是否有后继节点为目标节点?为目标节点?扩展扩展n,把,把n的后继节点放入的后继节点放入OPEN表的表的末端末端,提供返回节点,提供返回节点n的指针的指针失败失败成功成功宽度优先算法框图宽度优先算法框图是是否否是是否否CSU
23、CSUCSUCSUCSUCSUCSUCSUCSUv例子:应用宽度优先搜索算法来求解八数码难题例子:应用宽度优先搜索算法来求解八数码难题(8-puzzle problem)12384567(目标状态)(目标状态)12384567(初始状态(初始状态)规定规定:将牌移入空格的顺序为:从空格左边开始,:将牌移入空格的顺序为:从空格左边开始,再上,然后右,最后下的顺时针方向。不许斜向移动,再上,然后右,最后下的顺时针方向。不许斜向移动,也不返回先辈节点。也不返回先辈节点。CSUCSUCSUCSUCSUCSUCSUCSUCSU1238456712384123845674123856712 3841238
24、45671238456767891011121312384567567567123845671123845671238456712384567123845672345八数码难题的宽度优先搜索树13456123845671238456712384567123845671 238456723242526271236782212384567123845671 238456712 384567123845671238456712384567141516171819202112384567gCSUCSUCSUCSUCSUCSUCSUCSUCSU从图可见从图可见,搜索树上的所有节点都标记它们所,搜索树上的
25、所有节点都标记它们所对应的状态描述,每个节点旁边的数字表示节点扩对应的状态描述,每个节点旁边的数字表示节点扩展的顺序,要扩展展的顺序,要扩展16个节点,共生成个节点,共生成27个节点之后个节点之后才求得解(目标节点)。才求得解(目标节点)。3、宽度优先搜索方法分析、宽度优先搜索方法分析:宽度优先搜索是图搜索一般过程的特殊情况,宽度优先搜索是图搜索一般过程的特殊情况,将图搜索一般过程中的第将图搜索一般过程中的第8步具体化为本算法中的第步具体化为本算法中的第5步,这就是步,这就是将将OPEN表作为表作为“先进先出先进先出”的队列的队列进行进行操作。操作。CSUCSUCSUCSUCSUCSUCSUC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 确定性推理 第三 确定性 推理
限制150内