人工智能与机器翻译_第1页
人工智能与机器翻译_第2页
人工智能与机器翻译_第3页
人工智能与机器翻译_第4页
人工智能与机器翻译_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

人工智能与机器翻译主讲:杨宪泽——产生式系统及其搜索方法第3章产生式系统及其搜索方法3.1产生式系统3.2产生式系统的搜索(控制)战略3.3图搜索算法3.4产生式系统的规那么问题3.5运用举例3.6产生式系统的不确定性问题3.7系统设计技巧3.1产生式系统产生式系统运用类似于文法的规那么,对符号串作交换运算。它是智能软件中运用最普遍、最典型的一种构造。为什么要采用产生式系统作为智能软件的主要构造呢?这可以有两点理由:(1)用产生式系统构造求解问题的过程和人类求解问题时的思想过程很相象,因此可以用它来模拟人类求解问题时的思想过程;(2)可以把产生式系统作为智能软件中的根本构造单元或根本方式对待,就好象是积木世界中的积木块一样,因此研讨产生式系统的根本问题就具有普通意义。3.1产生式系统3.1.1产生式系统的组成部分一个智能软件用产生式系统设计的根本组成是:一个综合数据库;一组产生式规那么;一个控制系统。综合数据库是产生式系统所运用的主要数据构造,用来表述问题的形状或有关现实。它包含求解问题的信息,其中有些部分可以是不变的,有些部分能够只与当前问题的解有关。人们可以根据问题的性质,用适当的方法来构造综合数据库的信息。3.1产生式系统3.1.1产生式系统的组成部分产生式规那么的普通方式为:条件─→行动或前提─→结论即表示成为:if┄┄then┄┄的方式。其中,左边确定了该规那么可运用的先决条件;右边描画了运用这条规那么所采取的行动或得出的结论。一条产生式规那么满足了运用的先决条件之后,就可对综合数据库进展操作,使其发生变化。如综合数据库代表当前形状,那么运用规那么后就使形状发生转换,生成新形状。3.1产生式系统3.1.1产生式系统的组成部分控制系统是软件的控制程序,也是规那么的解释(推理)程序。它规定了如何选择一条可运用的规那么对数据库进展操作,即确定了求解过程的推理道路。当数据库满足终了条件时,系统就应停顿运转;还要使系统在求解过程中记住运用过的规那么序列,以便最终能给出解的途径。控制系统也称控制战略,它也可以是从规那么集中选择规那么并作用于形状的一种广义选取函数。确定某一种战略后,可以算法的方式给出。在建立产生式系统描画时,还要给出初始形状和目的条件,详细阐明所求解的问题。产生式系统中控制战略的作用就是从初始形状出发,寻求一个满足一定条件的问题形状。目的条件也是产生式系统终了条件的根底。3.1产生式系统3.1.1产生式系统的组成部分上述产生式系统的定义具有普通性,它可用来模拟任一可计算过程。在研讨人类进展问题求解过程时,完全可用一个产生式系统来模拟求解过程,及可作为描画搜索的一种有效方法。作为智能中的一种方式体系,它还具有以下优点:(1)适宜于模拟强数据驱动特点的智能行为。当一些新的数据数入时,系统的行为就要改动;(2)易于添加新规那么去顺应新的情况,而不破坏系统的其他部分。这是由于产生式系统的各组成部分具有相对的独立性,因此便于扩展和修正。3.1产生式系统3.1.1产生式系统的组成部分用产生式系统来求解问题,首先必需建立起问题的产生式系统描画,即规定出数据库、规那么集合及其控制战略。这种把一个问题的表达转化为产生式系统的三个组成部分,在智能技术中通常称为问题的表示。普通来说一个问题可有多种表示方式,而选择一种较好的表示是运用智能技术处理实践问题首先要思索的,而且要有一定的技巧。建立了产生式系统描画之后,经过控制战略,可求得实现目的的一个规那么序列,这就是所谓问题的解,这个解序列是根据控制系统记住搜索目的过程中用过的一切规那么而构造出来的。3.1产生式系统3.1.1产生式系统的组成部分在普通情况下,问题能够有多个解的序列,但有时会要求得到有某些附加约束条件的解,例如要求步数最少、间隔最短等。这些约束条件通常是用耗散或代价这一概念来概括,这时问题可称为寻觅具有最小耗散的解。在用产生式系统求解问题时,有时引入形状空间图。形状空间图是一个有向图,其节点可表示问题的各种形状(综合数据库),节点之间的弧线代表一些操作(产生式规那么),它们可把一种形状导向另一种形状。这样建立起来的形状空间图,描画了问题一切能够出现的形状及形状和操作之间的关系,因此可以较直观地看出问题的解途径及其性质。当然,只需问题空间规模较小才能够作出形状空间图。3.1产生式系统3.1.1产生式系统的组成部分建立产生式系统描画的过程,就是所谓问题的表示。对问题表示的好坏,往往对求解过程的效率有很大的影响。一种较好的表示法会简化形状空间和规那么集表示,此外,高效率的问题求解过程与控制战略有关,适宜的控制战略可减少形状空间的搜索范围,提高求解的效率。从以上论述可知,用产生式系统来描画和求解问题,就是在问题空间中搜索一条从初始形状到达某一个目的形状的途径。这完全可以模拟人的求解过程,也就是可以把产生式系统作为求解问题思索过程的一种模拟。3.1产生式系统3.1.2产生式系统的根本算法E1:DATA←初始现实库E2:untilDATA满足终了条件以前,doE3:beginE4:在规那么集中,选某一条可用于DATA的规那么E5:DATA←规那么运用到DATA得到的结果E6:终了3.1产生式系统3.1.3产生式系统的类型正向、逆向、双向产生式系统用产生式系统求解某一问题时,假设按照规那么运用的方式或者说按推理方向来划分的话,有正向、逆向和双向产生式系统。正向产生式系统是从初始形状出发朝着目的形状这个方向运用规那么,即正推的方式任务,称这些规那么为F规那么;假设选目的形状作为初始数据库逆向进展求解,即逆向运用规那么,产生子目的形状,反方向一步一步朝着初始形状方向求解,整个逆推方式任务,称逆向产生式系统,逆向运用的规那么称B规那么;假设以双向搜索的方式(即正向和逆向同时进展)去求解问题,那么称为双向产生式系统。3.1产生式系统3.1.3产生式系统的类型可交换的产生式系统可交换式产生式系统的可交换性指几条规那么的运用可以恣意交换次序而不影响求解。普通来说,当一个产生式系统对任何一个数据库D都具有如下性质时,这样一个产生式系统是可交换的。(1)可运用于D的规那么集合,运用了其中恣意一条规那么之后所生成的任何数据库,这样一个规那么集合还适用;(2)满足目的条件的某个数据库D,当运用任何一个可运用于数据库D的规那么之后所生成的任何数据库,任然满足目的条件;(3)假设对D运用某一规那么序列后得到的一个数据库D'(并能到达解),当改动这些规那么次序后,任然可求得解,即求得D'与运用满足D的可运用规那么集合中的规那么次序无关。3.1产生式系统3.1.3产生式系统的类型可交换的产生式系统例:给定一个整数集合的初始形状{a,b,c},设目的形状为具有a,b,c,ab,bc,ca这六个元素组成的集合。可运用的规那么集合为R1:if{a,b,c}then{a,b,c,ab}R2:if{a,b,c}then{a,b,c,bc}R3:if{a,b,c}then{a,b,c,ca}显然,这个产生式实例具有可交换性。一个产生式系统具有可交换性,求解时只需搜索其中任一条途径,只需解存在就一定能找到目的,不用探求多条途径,因此不可撤回的控制方式(下节论述)在这种系统中运用很适宜,因解与最初可运用的规那么系列的次序无关,系统不用提供特殊选择规那么的机理。3.1产生式系统3.1.3产生式系统的类型可分解的产生式系统先研讨一个重写问题的产生式系统,初始数据库为(C,B,Z),产生式规那么如下:R1:C→(D,L)R2:C→(B,M)R3:B→(M,M)R4:Z→(B,B,M)终了条件是生成只包含M组成的数据库,即(M,…,M)。3.1产生式系统3.1.3产生式系统的类型可分解的产生式系统用图搜索方式求解这个问题时,搜索得到的部分形状空间图见图26。图中只给出两条到达目的的途径和一条失败的途径。实践搜索时有能够去探求更多的途径,往往导致效率降低。对于个问题,为了防止搜索多余的途径,可以将初始数据库分解成几个可以独立加以处置的分量,分别对它们进展求解。即可以分别对每一个分量数据库,测试产生式规那么可以运用的条件,如此进展下去,直到分量数据库满足某种终了条件为止。要留意普通结束条件应是一切分量数据库都已满足终了条件。3.1产生式系统3.1.3产生式系统的类型可分解的产生式系统可以分解产生式系统的综合数据库和终了条件的产生式系统称为可分解的产生式系统。一个可分解的产生式系统,其根本算法描画如下:(1)DATA:=初始数据库(2){Di}:=DATA的分解式;每个Di元素都看成单独的数据库(3)Until{Di}的一切元素都满足终了条件之前,do:(4)begin(5)从{Di}中选一个不满足终了条件的D*(6)从{Di}中删去D*(7)在规那么集中选择一条可运用于D*的规那么R(8){di}:=R运用于D*的结果(9)在{Di}上添加di(10)end以下图为分解方式(C,B,Z)初态┌──────┼──────┐↓R2↓R4R1↓(B,M,B,Z)(C,B,B,B,M)(D,L,B,Z)↓R3↓R2↓R3(M,M,M,B,Z)(B,M,B,B,B,M)(D,L,M,M,Z)↓R3↓R3↓R4(M,M,M,M,M,Z)(M,M,M,B,B,B,M)(D,L,M,M,B,B,M)│┌─────┘│↓R4↓R3↓R3(M,M,M,M,M,B,B,M)(D,L,M,M,M,B,M)↓R3↓R3(M,M,M,M,M,M,M,B,M)─┐(D,L,M,M,M,M,M,M,M)R3↓目的(M,M,M,M,M,M,M,M,M,M)图263.2产生式系统的搜索(控制)战略在3.1.2节的算法中,如何选择一条可运用的规那么,作用于当前的综合数据库,生成新的形状以及记住选用的规那么序列是构成控制战略的主要内容。对大多数的智能运用问题,所拥有的控制战略知识或信息并缺乏以使每次经过算法E4时,一下子就能选出最适宜的一条规那么来,因此产生式系统还必需把E4扩展成搜索(推理)算法,以致于根本算法的每一循环中选一条规那么试用,最终找出某一序列能产生一个满足终了条件的数据库为止。由此可见,高效率的控制战略需求有关被求解问题的足够知识,这样才干在搜索过程减少盲目性,比较快的找到解途径。过去三十多年中,人们研讨了许多种搜索算法,归纳起来主要有两类:一类是非启发式算法;另一类是启发式算法。非启发式算法是按预定的控制战略进展搜索,在其过程中获得的中间信息不用来改良控制战略。由于搜索总是按预先规定的道路进展,没有思索问题本身的特性,所以不容易选择到最优的搜索途径,效率较低,且出现"组合爆炸"的频率高。启发式算法是在搜索中参与了与问题有关的启发性信息,用以指点搜索朝着最有希望的方向前进,加速问题的求解过程并找到最优解。3.2产生式系统的搜索(控制)战略3.2产生式系统的搜索(控制)战略3.2.1产生式系统控制战略分类可分解的产生式系统控制战略可划分为两大类:┌不可撤回方法┌回溯方法└试探性方法─┤└图搜索方法3.2产生式系统的搜索(控制)战略3.2.2不可撤回方法这种方法相当于沿着单独一条路搜索下去,利用问题给出的部分知识决议如何选取规那么,就是说根据当前可靠的部分知识选一条可运用规那么并作用于当前综合数据库。接着再根据新形状继续选取规那么,搜索过程不断进展,不用思索撤回用过的规那么。这是由于在搜索过程中如能有效利用部分知识,即使运用了一条不理想的规那么,也不妨碍下一步选得另一条更适宜的规那么。这样不吊销用过的规那么,并不影响求到解,只是解序列中能够多了一些不用要的规那么。显然这种战略具有控制简单的优点。3.2产生式系统的搜索(控制)战略3.2.2不可撤回方法爬山法不仅适用于爬山问题,那些目的为极大值,搜索过程是不断接近目的的单值问题都可运用这一方法。运用不可撤回战略,虽然不能够对任何形状总能选得最优的规那么,但是假设运用了一条不适宜的规那么之后,不去吊销它并不排除下一步运用一条适宜的规那么,那么只是解序列有些多余的规那么而已,求得的解不是最优解,但控制较简单。此外还该当指出,普通很难对给定问题构造出任何情况下都能通用的爬山函数,因此不可撤回的方法具有一定的局限性。3.2产生式系统的搜索(控制)战略3.2.3回溯方法在问题求解过程中,有时会发现运用一条不适宜的规那么会阻扰或拖延到达目的的过程。在这种情况下,需求有这样的控制战略:先试一试某一条规那么,假设以后发现这条规那么不适宜,那么允许退回去,另选一条规那么来试。回溯方法不保管完好的搜索树构造,只记住当前任务的一条途径,回溯就是对这条途径进展修正。运用回溯战略首要的问题要研讨在什么情况下应该回溯,即要确定回溯条件的问题。其次就是如何利用有用知识进展规那么排序,以减少回溯次数。回溯应发生在以下三种情况:(1)新生成的形状在通向初始形状的途径上已出现过;(2)从初始形状开场,运用的规那么数目到达所规定的数目之后还未找到目的形状(这一组规那么的数目实践上就是搜索深度范围所规定的);(3)对当前形状,再没有可运用的规那么。3.2产生式系统的搜索(控制)战略3.2.3回溯方法搜索深度的设置是一个值得留意的问题,设置太浅,有能够找不到解;设置太深,有能够导致回溯次数巨增。因此应根据实践情况来规定搜索范围,先设置适中的深度搜索,失败时再逐渐加深。回溯过程是一种可试探的方法,从方式上无论能否存在对选择规那么有用的知识,都可以采用这种战略。即假设没有有用的知识来引导规那么选取,那么规那么可按恣意方式(固定排序或随机)选取;假设有好的选择规那么的知识可用,那么用这种知识来引导规那么选取,就会减少盲目性,降低回溯次数,甚至不回溯就能找到解,总之普通来说有利于提高效率。此外由于引入回溯机理,可以防止堕入部分极大值的情况,继续寻觅其他到达目的的途径。3.2产生式系统的搜索(控制)战略3.2.3回溯方法可用递归算法描画回溯战略:YX0:选择一条新途径搜索;YX1:搜索已超出规定目的(无新途径、超时,超深度等),失败退出;否那么搜索继续;YX2:搜索的形状找不到可用规那么,回溯到YX0;YX3:搜索的形状依某种原那么(恣意陈列或按启发式准那么)取有用规那么;YX4:假设规那么用完未找到目的,回溯YX0;YX5:取头条可用规那么Ri;YX6:删去头条规那么,减少搜索中规那么集长度(留意,这不动原始规那么集);YX7:规那么Ri作用于当前形状,生成新形状;YX8:假设找到目的,胜利退出;假设生成的"新形状"已出现过,回溯到YX0;YX9:记录新形状,对新形状递规调用YX1~YX7;产生式系统求解问题时,假设控制系统保管一切规那么运用后生成并链接起来的形状记录图,那么称任务在这种方式下的控制系统运用了图搜索战略。实践上图搜索战略是实现从一个隐含图中,生成一部分确实含有一个目的节点的显式表示的子图搜索过程。3.3图搜索算法3.3图搜索算法3.3.1普通性图搜索算法步骤1G←S,OPEN←(S);建立一个搜索图G,它只含有初始节点S,建立一个OPEN表(今后它用于存储生成的节点),开场它只含有初始节点S。步骤2CLOSED←();建立一个CLOSED表(今后它用于存储已扩展节点或将要扩展的某个节点),它的初始形状为空表。步骤3LOOP:ifOPEN=()thenreturnFAIL;进入循环。假设OPEN表已空,阐明没有节点可扩展,就前往FAIL,即失败。步骤4n←FIRST(OPEN),CLOSED←(n,CLOSED);从OPEN表中取出一个节点n,将其放入CLOSED表中。3.3图搜索算法3.3.2典型的非启发式图搜索算法分析与改良广度优先搜索法该方法从初始节点开场,序扩展生成下一级各子节点,OPEN表中已有的节点后面(实现先生成的子节点先扩展),然后从OPEN表中提取最前的一个节点检查能否是目的节点,否那么再扩展,再反复上述操作。这种方法以为同一级各节点对问题求解的价值是同等的,因此对全部节点沿广度进展横向扫描,按各节点生成的先后次序,先生成、先检查、先扩展,沿广度遍历一切节点。这种方法只需问题有解,即假设树图上存在目的节点,经搜索一定能找到。所以,广度优先搜索法是完备的,是一种推理算法。但是,在问题大节点多,且目的节点间隔初始节点较远时将会产生许多无用节点,搜索效率低,还能够产生组合爆炸。因此,这种方法较适宜问题不大的环境中3.3图搜索算法3.3.2典型的非启发式图搜索算法分析与改良深度优先搜索法该方法从初始节点开场,顺序扩展生成下一级各子节点,放在OPEN表中已有的节点前面(实现后生成的子节点先扩展),然后从OPEN表中提取最前的一个节点检查能否是目的节点,否那么再扩展,再反复上述操作。这种方法每一次扩展最晚生成的子节点,沿着最晚生成的子节点分支,逐级纵向深化开展。这种方法搜索一旦进入某个分支,就将沿着该分支不断向下搜索。假设目的节点恰好在此分支上,那么可较快地得到解。但是,假设目的节点不在此分支上,不回溯就不能够得到解。所以,深度优先搜索是不完备的,只是推理步骤。假设回溯,不难证明其平均效率与广度优先搜索法一样。因此,深度优先搜索法假设没有启发信息,很难有适用价值。3.3图搜索算法3.3.2典型的非启发式图搜索算法分析与改良代价驱动搜索法该方法思索了从一个节点经过一条支路,转移到另一个节点时所需求支付的代价,如费用、时间等。该方法从初始节点开场,扩展生成下一级各子节点,这些子节点中假设没有目的节点需再扩展搜索。把它们放进OPEN表中,根据初始节点到它们各自所付出的代价大小进展排序,代价小的节点放在前面扩展,周而复始反复上述操作,直至找到目的节点为止。这种方法根据各条支路所需支付的代价有差别,所以具有同样途径长度(所经过的支路数)的搜索过程,其搜索代价(所支付的总代价)能够不同,优选最小代价的搜索途径,进展推理求解问题。代价驱动搜索无论在实际研讨方面还是实践运用方面都很有前景,例如最短途径问题。进一步的研讨以为最短途径问题的改良应为以下几点:3.3图搜索算法3.3.2典型的非启发式图搜索算法分析与改良代价驱动搜索法1)OPEN表的节点排序问题,特别是在问题节点多达成千上万时尤为重要.这一排序应采用映射排序,它是一个基于地址计算的排序,在预置途径最大代价dmax后,开辟一个数组P(dmax),就可把节点送入其值与P数组下标相等的对应元素中,显然di=50它对应P(50);dj=500,对应P(500)。一样代价值的节点落在同一数组元素中,用计数方式可知有几个。由于数组元素是有序的,500>50,数组元素的下标自然把节点一次定好了位置,排序即完成。这一排序的时间复杂性为O(N),对于OPEN外表临的无数次排序操作,极大的提高了效率.2)搜索过程中,假设到达某一节点的代价≥任一初始节点到目的节点的途径代价,这一节点的途径删去。3)搜索过程中,假好像时出现了两条到达某一节点的途径,代价大的那条途径即时删去。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良搜索过程中,假设在确定扩展那一个节点时能充分利用与问题求解有关的特性信息,就可以估计出节点的重要性,就能使搜索选择重要性较高的节点,以利于求得最优解。象这样就可用于指点搜索过程,且与详细问题求解有关的控制性信息称为启发性信息。启发性信息可以用于估价节点重要性,表示为函数方式:f(x)=g(x)+h(x)其中,g(x)为初始节点S。到节点x曾经付出的代价;h(x)是从节点x到目的节点Sg的最优途径的估计代价,它表达了问题的启发性信息,其方式根据问题的特性确定。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法假设对普通性图搜索算法作以下限制,那么它成为A*算法:(1)OPEN表中的节点按估价函数f(x)=g(x)+h(x)的值从小至大进展排序.(2)g(x)是到目前为止,从S。到x的一条最小耗散值途径的耗散值,是作为从S。到x最小耗散值途径的耗散值g*(x)的估计值,g(x)>0。(3)h(x)是h*(x)的下界,即对一切x均有h(x)≤h*(x)。而h*(x)是从节点x到目的节点的最小代价,假设有多个目的节点,那么为其中最小的一个。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质1对于有限图,A*算法一定会在有限步内终止.证明:对于有限图,其节点个数是有限的,A*算法在经过假设干次循环后会出现两种情况:或者搜索到目的节点在步骤5终了;或者OPEN表中的节点被取完在步骤3终了。不管那种情况,A*算法都在有限步内终止。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质2对于无限图,只需从初始节点到目的节点有途径存在,A*算法也必然终止。证明:分两步.第一步证明A*算法终了前,OPEN表中存在节点x‘,它是最优途径上的一个节点,且满足f(x')≤f*(s).。设最优途径是S。x1,x2,…,S*g由于A*算法中的h(x)满足h(x)≤h*(x)所以f(s0),f(x1),f(x2),…,f(xm)均不大于f(sg*)=f*(s0).又由于A*算法是广度代价择优,所以在它终了之前,OPEN表中一定含有S。x1,x2,…,S*g中的一些节点,设x'是其中最前面的一个,那么它必然满足f(x')≤f*(S0)至此,第一步证明终了;3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质2对于无限图,只需从初始节点到目的节点有途径存在,A*算法也必然终止。第二步证明:用反证法,假设A*算法不终止,并设e是图中各条边的最小代价,d*(xn)是从S。到节点xn的最短途径长度,那么显然有g*(xn)≥d*(xn)×e又由于g(xn)≥g*(xn)所以有g(xn)≥d*(xn)×e再因h(xn)≥0,f(xn)≥g(xn)故得到f(xn)≥d*(xn)×e由于A*算法不终止,随着搜索的进展,d*(xn)会无限增大,从而使f(xn)也无限增大。这与第一步证明得出的结论矛盾,因对可解形状空间来说,f*(s0)一定是有限值。所以,只需从初始节点到目的节点有途径存在,即使对于无限图,A*算法也一定会终止。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质3A*算法一定终止在最正确途径上证明:假设A*算法不是在最优途径上终止,而是在某个目的节点t处终止,那么f(t)=g(t)>f*(s0)。但是由性质2证明可知,在A*算法终了之前,OPEN表中存在着节点x‘,它应该在最优途径上,且满足f(x')≤f*(s0)此时,A*算法一定会选择x'来扩展而不会选择t,这就与假设矛盾,所以,A*算法一定会终止在最优途径上。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质4A*算法是最优的证明:A*算法的搜索效率很大程度上取决h(x),在满足h(x)≤h*(x)的前提下,h(x)的值越大越好。h(x)值越大,阐明它携带的启发信息越多,搜索时扩展的节点数越少,搜索的效率越高。设f1(x)与f2(x)是对同一问题的两个估价函数f1(x)=g1(x)+h1(x)f2(x)=g2(x)+h2(x)A1*和A2*分别是以f1(x)及f2(x)为估价函数的A*算法,且对于一切的非目的节点x均有h1(x)<h2(x)。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质4A*算法是最优的证明〔接前页):此情况下证明A1*扩展的节点数不会比A*2扩展的节点数少,用归纳法:设K表示搜索树的深度当K=0时,结论显然成立;设当搜索树的深度为K-1时结论成立,即A*2扩展了的节点,A*1也扩展了;现仅证明A*2扩展的第K代的任一节点xk也被A*1扩展:3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法几个重要性质:性质4A*算法是最优的证明〔接前页):由假设可知,A*2扩展的前K-1代节点A*1也都扩展了,因此A1*搜索树中有一条从初始节点S。到xk的途径,其费用不会比A*2搜索树从S。到xk的费用更大。即g1(xk)≤g2(xk)假设A*1不扩展节点xk,这表示A*1能找到另一个具有更小估价值的节点进展扩展并找到最优解,此时有f1(xk)≥f*(S0)即g1(xk)+h1(xk)≥f*(S0)运用关系式g1(xk)≤g2(xk)到上列不等式中,得h1(xk)≥f*(S0)-g2(xk),由于h2(xk)=f*(S0)-g2(xk),这就得到h1(xk)≥h2(xk)这与最初的假设h1(x)<h2(x)相矛盾证毕。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法的改良改良1OPEN表中自始至终的排序,采用3.3.2.3节中引见的映射方法。改良2h(x)单调限制:A*算法中,每当扩展一个节点时都要检查其子节点能否已在OPEN表或CLOSED表中,有时还需调整指向父节点的指针,这就添加了搜索代价。假设对启发函数h(x)单调限制,可减少检查和调整的任务量,从而提高搜索效率。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法的改良所谓单调限制h(x)应满足两个条件:(1)h(Sg)=0(2)设xj是节点xi的任一子节点,那么有h(xi)-h(xj)≤c(xi,xj)其中,Sg是目的节点;c(xi,xj)是节点xi到其子节点xj的边代价。假设把上式改写h(xi)≤h(xj)+c(xi,xj),可看出节点xi到目的节点的估价不会超越xi到其子节点xj边代价加从xj到目的节点的估价。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法的改良当A*算法的启发函数h(x)满足单调限制时,可得出以下两个结论:(1)假设A*算法选择节点xn进展扩展,那么g(xn)=g*(xn)(2)由A*算法所扩展的节点序列其f值是非递减的。这两个结论都是在h(x)满足单调限制时才成立.对于第2个结论,当h(x)不满足单调限制时,有能够某个要扩展的节点比以前扩展的节点具有较小的f值.3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法的改良改良3引入感兴趣集的算法:这一改良的思绪是这样的,问题求解时,人们往往知道最正确途径上有关节点的某些启发信息。例如,在求城市A到城市B的最正确途径时,人们往往凭本人的阅历断定所要求的最正确途径必经城市C和城市H,这里我们称{C,H}是感兴趣集合。假设知道感兴趣集且启发式搜索算法恰当地运用感兴趣集,那么一定可以改善算法的搜索效率。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良A*算法的改良算法的改良运用OPEN1和OPEN2,CLOSED1和CLOSED2四个表,对任一节点x,假设从s到节点x的当出途径中不含感兴趣集中的节点,那么x放入OPEN1中;否那么放入OPEN2中。选择节点扩展时,首先扩展OPEN2中的节点,由于OPEN2中含有感兴趣集中的节点,能够比OPEN1中的节点更有希望在最正确途径上,而且所扩展的节点数目总不会多于原算法。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良讨论(1)启发式搜索算法在大问题中普通优于非启发式搜索算法,因此,有效地分析利用启发信息尤为重要。含有启发信息的评价函数可写成以下方式:f(x)=v·g(x)+w·h(x)其中,v、w为权系数且≥0.当w↑,强调启发信息,搜索过程沿最有希望的方向进展,效率一定高,但降低了完备性;当v↑,强调历史信息,搜索过程沿横向扫描,有利于完备性,但降低了搜索效率。3.3图搜索算法3.3.3典型的启发式搜索算法分析与改良讨论(2)根据启发信息,可将复杂的、规模大的问题分解为简单的规模小的假设干子问题。那么各子问题的搜索过程A1,A2,…,An是完备的,那么搜索过程A也是完备的。A=A1∩A2∩…∩An根据启发信息,可将原始的问题进展同构或同态的等价变换,转换为假设干等价问题。那么等价问题的搜索过程A1,A2,…,An是完备的,那么搜索过程A也是完备的。A=A1∪A2∪…∪An.3.3图搜索算法3.3.4AND/OR图搜索算法上节讨论的算法具有重要的意义。但对于复杂的问题,它们并不是独一的途径,假设利用它们直接求解往往还比较困难。AND/OR图算法是用于表示问题及其求解过程的又一种方式化方法。定义1AND图及AND图算法把一个复杂的问题分解成假设干个较为简单的子问题,每个子问题又可继续分解为更为简单的子问题,反复此过程,直到不需求再分解或者不能再分解为止。这个分解图是与图,根据这个图对每个子问题分别求解,然后把这些解合并起来得到原问题解的过程是AND图算法。3.3图搜索算法3.3.4AND/OR图搜索算法定义2OR图及OR图算法把一个复杂问题利用同构或同态的等价变换,使之成为假设干个较容易求解的新问题。这个变换图是OR图,根据这个图对新问题求解,当且仅当新问题有一个可解,就得到原问题的解的解过程是AO图算法。定义3可解节点在AND/OR图中,满足以下条件之一者为可解节点:(1)它是一个终止节点.(2)它是一个OR节点,且子节点中至少有一个是可解节点.(3)它是一个AND节点,且其子节点全部是可解节点。3.3图搜索算法3.3.4AND/OR图搜索算法定义4不可解节点定义3中三个条件全部不满足的节点称为不可解节点。下面分析AND/OR图AO*搜索算法,作一些改良讨论;讨论类比搜索方法.为此,我们首先给出AND/OR图的普通搜索过程:(1)把原始问题作为初始节点,并作为当前节点。(2)运用分解或等价变换算符对当前节点进展扩展。(3)为每个子节点设置指向父节点的指针。(4)选择适宜的子节点作为当前节点,反复执行(2)和(3),直至找到可解节点或不可解节点为止。下班可解或不可解的搜索过程都是至上而下的。假设确定某个节点是可解节点,那么不可解的后裔节点不再有用,可从搜索图中删去;同样,假设确定某个节点是不可解节点,那么全部后裔节点都不在有用,也可从搜索图中删去。3.3图搜索算法3.3.5AO*搜索算法分析与改良定义定义5设AND/OR图G,那么从节点n到一立刻可解的叶节点集合N的一解图G'定义为:(1)G'是G的子图;(2)假设节点n是集合N中的元素,那么G'是由单一节点n组成的;(3)假设节点n有一个指向节点{n1,n2,…,nk}的k-衔接符,使得从每个后继节点ni到集合N有一个解图(i=1,2,…,k),那么G'由节点n、k-衔接符、节点{n1,n2,…,nk}以及从{n1,n2,…,nk}中的每个节点到集合N的解图组成。(4)否那么,从节点n到集合N不存在解图。3.3图搜索算法3.3.5AO*搜索算法分析与改良定义定义6从AND/OR图恣意节点n到一立刻可解的叶节点集合N的解图耗散值k(n,N)可递归地定义为:(1)假设节点n是集合N中的元素,那么k(n,N)=0;(2)否那么,节点n有一个通到解图中后继节点集合{n1,n2,…,ni}的衔接符.令该衔接符的耗散值为Cn,那么k(n,N)=Cn+k(n1,N)+k(n2,N)+…+k(ni,N)3.3图搜索算法3.3.5AO*搜索算法分析与改良定义定义7AND/OR图求解中,从起始节点到一可解叶节点集合具有最小耗散值的一个解图称为最正确解图。令函数h*(n)表示从AND/OR图中的节点n到一可解的叶节点集合的最正确解图的耗散值;启发式估价函数h(n)是h*(n)的估计。定义8假设启发式估价函数h满足单调限制,即对AND/OR图中恣意节点n及其适用于n的任一k-衔接符,有h(n)≤Ck+h(n1)+…+h(nk)其中,Ck为k-衔接符的耗散值,n1,n2,…,nk是运用k-衔接符于节点n所得的全部后继节点。3.3图搜索算法3.3.5AO*搜索算法分析与改良AO*算法A1:建立一个搜索图G,G:=s,计算q(s)=h(s),IFGOAL(s)THENM(s,SOLVED);开场时图G只包含s,耗散值估计为h(s),假设s是终节点,那么标志能解.A2:Untils已标志上SOLVED,do:A3:beginA4:G':=FIND(G);根据衔接符标志(指针)找出一个待扩展的部分解图G'.A5:n:=G'中的任一非终节点;选一个非终节点作为当前节点.A6:EXPAND(n),生成子节点集{nj},G:=ADD({nj},G),计算q(nj)=h(nj),其中nj∈G,IFGOAL(nj)THENM(nj,SOLVED);把n的子节点添加到G中,对G中未出现的子节点计算耗散值,假设有终节点那么加能解标志.A7:S:={n};建立含n的单一节点集合S.A8:UntilS为空,do3.3图搜索算法3.3.5AO*搜索算法分析与改良AO*算法(接前页)A9:beginA10:REMOVE(m,S),mc∈{S};这个m的子节点mc应不在S中.A11:(1)修正m的耗散值q(m):对m指向节点集{n1i,n2i,…,nki}的每一个衔接符i分别计算qi,qi(m)=Ci+q(n1i)+…+q(nki),q(m):=minqi(m);对m个的i个衔接符,取计算结果最小的那个耗散值为q(m).(2)加指针到minqi(m)的衔接符上,或把指针修正到minqi(m)的衔接符上,即原来指针与新确定的不一致时应删去.(3)IFM(nji,SOLVED)THENM(m,SOLVED);假设该衔接符的一切子节点都是能解的,那么m也标上能解.A12:IFM(m,SOLVED)∨(q(m)≠q0(m))THENADD(ma,S);m能解或修正的耗散值与原先估算q0不同,那么把m的一切先辈节点ma添加到S中.A13:endA14:end3.3图搜索算法3.3.5AO*搜索算法分析与改良分析与改良算法AO*可以了解为两个主要运算:A1~A6,完成自上而下的图生成,经过有标志的衔接符,寻觅最好的部分解图,然后对其中一个非终节点进展扩展,并对其后继节点赋给耗散值;A7~A12,完成自下而上的耗散值修正、衔接符标志和节点的能解标志。(1)耗散值的修正从刚被扩展的节点n开场,其修正耗散值q(n)取估计h*(n)的一切值中最小的一个,然后根据耗散值递归计算公式逐级向上修正先辈节点的耗散值,只需下层节点耗散值修正后,才能够影响上一层节点的耗散值,因此必需自底向上不断修正到初始节点。(2)在A6中扩展节点n时,假设不存在后继节点(即限入死胡同),那么可在A11中对m(即n)赋一个高的q值,这个高的q值会依次传送到s,使得含有节点n的子图具有高的q(s),从而排除了被当作后选部分解图的能够性。3.3图搜索算法3.3.5AO*搜索算法分析与改良分析与改良(3)A5中怎样选G'中的一个非终节点扩展值得研讨:普通可以选一个最能够导致该部分解图耗散值发生较大变化的那个节点先扩展,由于选这个节点先扩展,会促使及时修正部分解图的标志。(4)与3.3.3.2节A算法类似,应让h(n)满足单调限制条件,这样,当h(n)≤h*(n)那么AO*一定能找到最正确解图。当h(n)≡0时,AO*成宽度优先算法。(5)AO*中评价函数只思索h(n)分量,计算g没有必要也不能够。其次由于k-衔接符衔接的有关子节点,对于父节点能解与否以及耗散值都有影响,因此不能象A算法那样优先扩展其中具有最小耗散值的节点。3.3图搜索算法3.3.6类比搜索方法讨论构思在AO*和A算法中,所运用的启发信息大多是人们根据详细领域问题靠阅历总结得来的,启发信息获取非常困难,且准确性和可靠性也难以保证。此外,搜索算法普通执行一次性搜索,将同一问题的多次搜索视为彼此独立、毫无相关的过程。每次求解问题时,面临的都是全新的搜索图,即使求解的是一样问题,算法依然从零开场,这显然与人类求解问题的方式不符。人类求解问题的一个重要特点,就是经常利用以前求解一样或类似问题的阅历来指点新问题的求解。这实践上是一种类比学习机制,假设将这种机制引入搜索算法,那么多次搜索被看成相互关联的过程,前面搜索积累的阅历将有助于提高后面搜索的效率。即,利用类比获得与新问题类似的过去问题的求解过程,作为启发信息来指点新问题的求解,这样可以减少搜索范围,降低问题求解的复杂性。也就是说,假设算法设计恰当,可以自动获得启发信息。3.3图搜索算法3.3.6类比搜索方法讨论方法讨论AO*、A及其它算法在问题的求解过程中利用与该问题相关的启发信息来协助搜索,启发信息通常被用于三种情况:(1)协助确定扩展节点。(2)在扩展节点的过程中,协助决议产生后继节点。(3)在扩展节点的过程中,决议那些节点可从搜索树上删除。值得留意的是,启发信息是一种部分信息,只在搜索途径的每个节点上为选择操作提供参考。3.3图搜索算法3.3.6类比搜索方法讨论方法讨论类比搜索方法把类比推理技术与形状空间的启发式搜索相结合,实践上是对人类求解问题、积累阅历和添加求解问题才干的一种模拟。要实现它,需求处理如下一些主要问题:(1)如何积累问题求解的阅历,即在一个问题的求解过程中,需求记录那些有用信息。(2)如何定义和判别两个问题的求解情况是类似的,如何高效的进展检索。(3)如何有效地运用类比结论,即类似的过去问题的求解阅历,作为特殊的启发信息指点新问题的求解。3.3图搜索算法3.3.6类比搜索方法讨论方法讨论基于上述几点,需求建立一个类比的启发式搜索求解模型。它主要包括生成求解事例、检索及指点求解三个推理过程。类比搜索方法在每次求解一个新问题时,不是直接去搜索给定的形状空间,而是首先在求解事例库中检索,查找与该问题类似的过去问题的求解事例。假设存在类似问题的求解事例,那么以此作为启发信息,指点该问题的求解。详细地说,就是在新问题的求解过程中,对过去问题的求解事例中记录的胜利搜索途径上每个操作的根据条件重新测试.假设根据条件仍满足,那么算法根随胜利的求解途径。否那么,对原求解过程进展改写,构成的新问题求解过程作为一个新事例存储在事例库中,以便指点未来类似问题的求解。过去问题与新问题的类似性越高,求解过程需求的搜索就越少。在最理想的情况下,甚至不需求搜索。当没有检索到一个与新问题类似的过去问题的求解事例时,那么运用A*或AO*等算法进展,并在获得解时将求解过程作为一个求解事例存储在事例库中。3.3图搜索算法3.3.6类比搜索方法讨论方法讨论系统最初运用时,由于事例库中短少求解事例,只需运用A*或AO*等算法。随着求解次数的添加,求解事例将不断积累,类比的资料增多(启发信息增多),从而使求解问题的效率不断提高。由此可知,类比搜索方法的特点是:类比启发信息不仅包含了部分信息,而且提供了指点求解的搜索方向,这样就可以将一个庞大空间的搜索紧缩为对一个或数个很小空间的搜索,极大地提高了求解效率。3.3图搜索算法3.3.7讨论用AND/OR图算法求解问题时,求解过程就是对一个隐含的AND/OR图进展搜索。初始数据库对应于AND/OR图的根节点,规那么对应于k-衔接符,终了条件的数据库对应于一组终节点集合,搜索算法的义务就是找到从初始节点到一组终节点集的一个解图。AND/OR图的启发式搜索算法AO*是经过评价函数f(n)=h(n)来引导搜索过程,适用于分解得到的子问题不存在相互作用的情况。假设S→N集存在解图,当h(n)≤h*(n)且h(n)满足单调限制条件时,AO*算法一定能找到最正确解图,在这种情况下,AO*具有可采用性。3.3图搜索算法3.3.7讨论类比搜索方法实施的关键技术在于生成求解事例、类似性度量和检索、以及指点求解。生成求解事例就是积累问题的求解阅历,其生成过程主要处理的问题是对于一个求解事例需求记录和保管问题求解过程中的那些特征信息,以及如何进展表示、抽取和存储这些信息。求解一个复杂问题时,经常面临庞大的搜索。大量被搜索的节点中,有胜利的、也有失败的。为了给类似问题的求解提供有用信息,就要确定保管搜索过程中的哪些有用特征信息。显然,走两个极端最简单:第一是记下整个搜索过程;第二是只记问题的最终解。这两个极端都不圆满,详细地作法除了保管问题的最终解外,还应该记录有关选择这些操作的情境和根据条件。这是一个很有意义的研讨课题。类似性的度量也是类比搜索方法的一个关键问题。类似程度越高,度量方法恰当,类似问题的检索俞易获得。关于这方面,目前还是主要根据新、老问题的特征和关系来确定它们之间的类似性。此外,还可设置类似度阀值,检索采用直接映射式方法。3.3图搜索算法3.3.7讨论指点求解是类比搜索方法的控制程序,主要思索灵敏的处置战略。普通要思索以下几点:(1)当检索没有类比启发信息时,程序能转向常规搜索方法。(2)当检索到一个与新问题完全类似的过去问题的求解事例时,程序能直接转换解。(3)当检索到一个与新问题部分类似的过去问题的求解事例时,程序能提取类似部分解过程,还能组织部分搜索、衔接新的解过程。此外,应有裁剪过去问题多余解过程的功能。3.4产生式系统的规那么问题3.4.1规那么不一致缘由及处理方法规那么集中存在的不一致是影响系统性能的重要要素之一。系统建立初期,由于规那么集较小,内容也比较简单,设计人员能对每一条规那么的条件和结论部分反复琢磨和精心构造,这类问题容易防止。但随着时间的推移,新的规那么不断参与,规那么集合越来越大,内容也越来越丰富,这时规那么间的相互影响和相互联络就随之变得复杂。在此情况下,规那么的不一致就将自然产生,当然,对它的认识和处理也就显得很重要。3.4产生式系统的规那么问题3.4.1规那么不一致缘由及处理方法主要的不一致规那么种类(1)循环规那么:由数个规那么的前提和结论构成一个循环链,最终由末尾规那么的结果子句推出起始规那么的前提部分;(2)冲突规那么:两个规那么的前提条件等价,但一个或多个结果子句有矛盾或者前提子句有矛盾而结论部分完全等价;也有能够由多条规那么链构成冲突规那么集;(3)冗余规那么:两个规那么的前提条件等价,一个或多个子结果子句也等价;(4)从属规那么:两个规那么有一样的结果,但其中一个包含有多余的约束条件。3.4产生式系统的规那么问题3.4.1规那么不一致缘由及处理方法不一致规那么的检查处理方法(1)对于循环规那么,可构造规那么集的IF---THEN图,从起始规那么的条件部分开场搜索,假设搜索过程中遇到的THEN部分已在前面出现,就可以中断搜索,规那么集中包含的循环规那么子集合需设计人员检查,处理;(2)对于冲突规那么,构造IF---IF表,对规那么集内有一样的IF规那么子句构造规那么树,构成推理图。同时建立THEN---THEN表用以判别能否有冲突规那么出现。对一样IF部分的规那么继续用它的各自THEN部分作为其它可以匹配的IF前提条件,递归地构造,如发现两个推理图上分别有节点在THEN---THEN表上是矛盾的,那么检测出冲突规那么,人工予以处理。(3)对冗余规那么和从属规那么的检查类似于冲突规那么链的方法.不同之处是前者在推理图中的遍历是试图发现有THEN部分等价的两条规那么。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法原那么依赖规那么:假设Ri的结论部份包含有Rj的条件部份,那么Rj是一个依赖规那么,即Rj依赖规那么Ri,或称Ri是一个被依赖规那么。优先规那么:假设Ri被Pi个其它规那么所依赖次数pi越大,Ri被征引的能够性越大。静态规那么陈列:亦是在原文分析、原文译文转换、译文生成之前,对规那么集中已有的规那么按优先次序陈列。动态规那么陈列:这相当于自学习才干,即某些句子分析、转换、生成时,会添加一条或几条规那么。这些规那么有能够还与未完成的其它语句有关。因此,在对其它语句和完成速度影晌不大的情况下,同时再陈列规那么称之为动态规那么陈列。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法原那么映射陈列:是一个基于地址计算的排序。例如,求出上述Pi(i=1,2,...,N〕的最大值后,假设开辟一个数组D〔Pmax〕,就可把数据送入数据值下标相等的对应元素中。显然Pi=50,对应D(50);Pj=500,对应D(500)。一样数据落在同一数组元素中,用计数方式可知有几个。由于数组元素是有序的,500>50,数组元素的下标自然把数据一次定好位置,最后只需按规定的方式调非零元秦,一样元素按计数值次数调动,排序即完成。枚举计数:假设规那么Ri被规那么Rj依赖(j=1,2,...,N),那么Pi=pi+1〔Pi初值赋1)。显然,对于N条规那么,每一条都将确定与其它规那么的依赖关系并计算,这一过程称之为枚举计数。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析静态算法〔上〕B1:[初始化],有N条规那么,置P1至PN皆为1。B2:〔对i循环〕对i=N,N—1,N-2,…,2执行B3;然后转B5。B3:〔对j循环〕对j=i-1,i-2,…,1执行B4;然后转B2。B4:〔寻求Ri被Rj依赖次数〕假设Ri被Rj依赖,Pi←Pi+1;否那么转B3。B5:一遍扫描Pi〔i=1,2,...,N),求Pmax。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析静态算法〔上〕静态算法进展到这里,求出了任一规那么Ri被依赖次数Pi。Pi对应于Ri,相当于Ri被依赖次数Pi。Pi对应Ri,相当于Ri的关键字。其中,很能够出现Pi=Pj(i≠j),这阐明Ri和Rj被其它规那么依赖的条数一样。怎样快速地按关键字Pi(i=1,2,...,N)大小把规那么快速地陈列起来,并满足动态需求,我们采用高效算法——映射排序算法初始按关键字值以映射关系作一次扫描,根本排定规那么位置,Ri→Pi→D〔Pi〕。对一样关键字的处置,算法附加了三个数组空间:每一记录的链指针空间L〔i〕,链首指针空间Q,链当前指针空间W。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析静态算法〔上〕关键字值Pi与D数组元素下标映射关系有一次时,D(Pi)=1;这时Q(Pi)←1,记录了具有这独一对应关系Pi所在规那么的地址i,并作为最后排序调整位置的首地址。W〔Pi〕←i为出现一样关键字提供链接地址作预备。映射时出现一样关键字,如Pi=Pj,这时D〔Pi〕>1,我们把Pi和Pj对应的两条规那么链接起来,入口地址仍是Q〔Pi〕=i,但L〔W〔Pi〕〕←j,相当于L(i)=j,此外,W〔Pj〕←j,为链接出现多个一样关键字作预备。实施映射和链接处置后,最后再实施一次扫描,根据D数组下标值的有序性,D=0不实施操作,D≥l从相对应的Q数组下标值作为入口地址调整一次规那么位置即完成陈列。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析静态算法〔下〕B6:[映射初始化,开辟链指针空间L,容量N;映射计数空间D,链首指针空间Q,链当前指针空间W,容量均为Dmax,赋初值i=1。B7:扫描Pi,让D〔Pi〕←D〔Pi〕+1;以映射关系确定Pi的位置,记录一样Pi的个数。B8:假设D(Pi)=1,作W(Pi)←i和Q(Pi)←i,转B10。B9:假设D〔Pi〕>1,作L〔W〔Pi〕〕←i和W(Pi)←i。B10:i←i+1,直至i=N为止,实施B7~B9。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析静态算法〔下〕B11:〔Z=1),从J=Dmax开场,假设D〔J〕=0转B12;D〔J〕≠0,作递减陈列。(1)T←Q〔J〕;链首指针送T。(2)输出RT。(3)z←z+1,假设Z≠D(J),T←L〔T〕后转(2);否那么转B12。B12:J←J-1,实施B11,直至J=0终了。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析动态算法规那么匹配过程中,假设系统自学习新增一条规那么RN+1,将立刻置人规那么集适当位置,自动启动的算法是:C1:对i=1,2,...,N,假设RN+1被Ri依赖,PN+1←PN+1+l〔PN+1初值赋1〕;反之,假设Ri被RN+1依赖,Pi←Pi+1。C2:假设PN+1>Pmax,Pmax←PN+1C3,调静态算法〔下〕,其中修正N←N+1。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析算法分析1〕静态算法〔上〕时间复杂性为O〔N2〕,由于B1~B5执行步骤共需(N-1)+(N-2)+...+2+1+N=1/2(N2+N)。2〕静态算法〔下〕时间复杂性为O〔N〕,由于算法的构思来源于映射排序算法中的一部份,其证明可参阅书末文献。由于动态算法仅C1一C2引进附加操作,显然为O(N),C3为O(N),所以动态算法时间复杂性为O(N)3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析算法分析3〕由于静态算法〔下〕附加存储空间3Pmax+N,因此,动态算法获得的高效率是由空间代价换取的。4〕算法假设了规那么本身依赖,所以Pi的初值赋1。5)算法将规那么优先陈列,使规那么匹配破费平均时间最小。平均时间最小亦阐明,一般情况下,分折的句子越多,其效率越高;但也能够存在某些情况,所需规那么恰好陈列在最后。所以,这一算法是平均时间较优算法。3.4产生式系统的规那么问题3.4.2规那么排序算法排序算法描画与分析实验结果排序算法的实验是这样进展的,在上述规那么集中,分析4条语句。设计第1条语句产生1条规那么,该规那么2、3、4条语句都将涉及。把这条规那么分别放于最后和进展动态陈列,结果后者完成2、3、4条语句分析较前者速度提高1倍多。这是一个目前具有3380条规那么的实验系统,有如此实验效果足以阐明此算法的适用性。3.5运用举例任何一种自然言语,总是要遵照一定的语法规那么的.计算机要了解、翻译自然言语,就要对了解和翻译的言语建立一套规那么,也就是语法,并且提供一种适宜计算机处置的语法描画方式。上下文无关语法是适宜描画自然言语的一种体系。作为一个例子,先来调查汉语的一个很小子集,它的上下文无关语法由以下一系列重写规那么组成:(1)<一种句子构造>→<名词><动词><数词><名词>(2)<名词>→电脑│学院│中国│地图│卫星│…(3)<动词>→购买│绘制│发射│…(4)<数词>→一颗│十台│一幅│

温馨提示

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

评论

0/150

提交评论