第五章 系统知识的控制和推理
人类专家具有商效率求解复杂问题的能力,主要表现在两方面:一是专家具有大量的专门知识;二是专家具有选择和应用知识的能力。本章讨论的是圆柱齿轮减速器专家系统设计中知识的控制和推理策略。
知识的选择过程本文称为控制策略,其任务是控制推理过程的执行和选择推理方式。推理是指从已有事实推出新的事实(结论)的过程。推理过程所要解决的问题是:在问题求解的每个状态下,如何选择知识而加以灵活的应用。推理以知识库的已有知识为基础,是一种基于知识的推理。推理的机算机实现构成推理机,是专家系统的另一核心部分。
5.1符号的模式匹配
符号的棋式匹配是比较两个符号表达式以判明它们彼此是否相似的过程,尽管当前的模式匹配只是从形式上检查而不管其含义,但它仍是构成模式表、断言表和推理机的核心部分。所以说,符号的模式匹配是推理机的关链部分。
符号的棋式匹配是一递归结构函数过程,其主要功能如下:
·完全匹配;
·任意字与字组合匹配,
·变夏匹配;
·约束匹配;
·限制条件匹配,
·计算值匹配,
·条件范围匹配等。
以上匹配方式基本满足了圆柱齿轮减速器专家系统设计的需要。
5.2框架知识的控制和推理
本文在第三章中介绍了圆柱齿轮减速器专家系统设计的框架知识元,本节介绍框架知识的控制和推理过程。框架知识元的选择是通过各设计子任务调用相应的知识元实现,对框架知识的推理,通过如下方式进行。
1.规格化框架:对于规格化框架知识元,有一套控制程序,实现框架知识的存储、取值、修改、删除,进行框架知识的运行和求值,这主要由下列函数完成:
(1)存函数FPUT,它交所需要的知识存入指定的框架、柄、侧面下;
(FPUT′coefflcient′lubricate′K1
′((6.2 12.0 21.0 29.0 45.0 60.0 75.0 100.0 150.0 190.0 225.0)
(0.82 0.83 0.85 0.88 0.91 0.93 0.96 1.00 1.05 1.09 1.12)))
将K1值(数表)存入coefficient框架的lubricate侧面下。
(2)取函数FGET,它将给出指定框架侧面下的所有信息,若该侧面无或下面无信息,函数返回HIL值;
(FGET'coefficient'lubricate'K1)返回K1的值。
(3)删函数FREMOVE、FDELETE,根据需要,FREMOVE能够删除指定框架的特定侧面或槽;FDELETE用于删除指定的框架;如
(FREMOVE'coefficient'lubricate'K1)删除K1侧面的值。
(FREMOVE'coefficient'lubricate)删除lubricate槽的各侧面。
(REMOVE'coefficient)删除coefficient框架。
2.变体框架:变体框架是为了适应知识的各种不同表面而建立的框架知识元,对每一各变体框架知识元通常作为一个整体使用,其建立和删除过程采用对原子的建表和解除原子的约束的方法实现。变体框架知识元的运行和推理是通守相应的知识控制与推理程序实现的。例如,框架知识(表3-3)含有四个侧面,它们分别是formula侧面、condition侧面、value侧面、notice侧面,此框架知识的推理过程如下(以箱体底座壁厚为例):
首先测试条件(condition)侧面,若条件侧面有值,则进行求值。如c1的求值方法为:若选择的齿轮材料系列为order1(渗碳、淬火系列),则c1=0.025;否则,c1=0.025。c2的求值方法是:若减速器传动级数grade=1则c2=3;否则,c2=5。
然后,测试公式(formula)侧面并计算其值;如计算公式delta=c1*a+c2的值。
最后,测试取值条件(value)侧面,若对取值有限制,则检验所计算值是否满足红束条件;如对delta值的限制,若delta≤8,则取delta=8。对箱体知识的求值过程的LISP函数如表5-1:

其它变提框架知识元的处理,论文以后还将介绍,这里不再一一细述。
5.3产生式规则的控制与推理
圆柱齿轮减速器设计专家系统是一个多阶段的设计过程。不同设计阶段的产生式知识元构成圆柱齿轮减速器设计专家系统的规则库。不同设计任务的产生式知识元的控制是通过主控框架选择应用的。
推理策略是应用产生式知识元时,控制推理的执行过程。常用的推理控制策略有正向推理、反向推理、正反向混合推理、元控制策略等。作者研制的圆柱齿轮减速器专家设计系统中,采用正向、反向、正反向混合推理,现分别介绍如下:
1.正向推理机的开发
正向推理策略是前向链控制策略(也称为数据驱动控制)。这种控制的基本思想是:从问题已有的信息(事实)开始,正向使用规则,当规则的前题被已有事实匹配时,该规则即为可用规则,然后通过冲突消解,在可用规则中选择一条启用规则,启用规则结论的使用又导致上下文的改变,从而引起新的规则的匹配,如此地循环往复,直到到达一个问题状态没有可用规则或求得了所要求的解为止。例如,下列规则的推理过程为:
RULES==>(…
(rule lubrication-8
(if (there is no rule for lubrication))
(then(the lubricating method is bath lubrication)))
…
(rule lubrication-10
(if (the lobricating method is bath lubrication)
(gearbox is 2 grades transmission))
(then (the depth of oil is 2-3 gear tooth height of
heigh speed gear)))
…)
若系统的上下文中没有能够启用润滑方式的规则的话,则规则8 被启用(默认规则),并将其结论部分(the lubricating?method is bath lubrication)加入系统的上下文,由于上下文中加入了新的事实,推理机对规则集再次进行遍历,其结果,规则10(假设此时设计的speedged gear)加入系统上下文中,这样反复进行,直到再没有新的事实加入上下文中为止。
正向推理系统中,用户先输入与当前问题有关的信息,构成当前数据库(上下文)。正向推理的示意图如图5-l。
圆柱齿轮减速器的设计过程,是一个由初始条件向设计结果的转变过程。因而,圆柱齿轮减速器设计专家系统中,大量采用前向链的推理控制策略。它的优点是:用户可以主动提供有关问题的信息,而不必等到系统要求时才提供,系统可以很快地对用户输入的事实作出响应。但其不足在于知识的启用与执行似乎漫无目标,系统求解过程中可能要执行许多与解无关的操作,导致推理过程的低效率。

2.反向推理机的开发
反向推理是一种后向链控制策略(也称为目标驱动控制)。这种控制的基本思想是:预先假设一个目标,然后在知识库中找出那些其结论部分可能导致这个目标为真的规则集,再检查规则集中每条规则的前题部分,如果某条规则的前题中所含有的各条件均能通过用户的会话得到满足,或者能被用户已经提供的上下文的事实所匹配,则把规则的结论部分(即目标)加到上下文中,从而该目标被证明。否则把规则的条件项目作为新的子目标,递归执行上述过程,直到各“与”关系的子目标的全部和“或”关系的子目标中有一个出现在上下文中时,目标被求解,或者直到子目标不能进一步分解而且上下文不能实现上述满足时,这个预先假设的目标失败,系统此时需要重新假设新的目标。
目标驱动控制只考虑那些对假设目标是可用的规则。为证明一个假设目标G,可以根据可用规则集把G分解为许多子目标,每个子目标又可以进一步分解,当出现某条规则分解的全部子目标均为已出现的高层次目标时,推理过程便会进入死循环,控制过程需要作这种检测。
与正向推理类似,反向推理控制也会出现可用规则的冲突消解问题,反向推理控制先把结论相同的规则集中在一起,对于一个给定的目标(或子目标)如果有一条以上的规则其结论部分均能达到这个目标或子目标时,就产生了冲突。在目标驱动的后向推理中,冲突消解问题显得难度更大、更重要,因为所选择得规则左部就成为子目标,规则的选择等于目标的选择。
反向推理过程示意图见图5-2 。

圆柱齿轮减速器专家系统设计中,反向推理机制是局部使用的,即系统在假设目标的选取上,是选规则的条件项目作为假设目标。这主要是基于下面的考虑:
专家系统在实际使用中,所设计的对象情况千变万化的,而专家系统许多知识依赖于一般的常识性假设。这些假设在通常情况下是合理的,但有时不适合于特殊情况。为此,专家系统在某些必要的环节,的使用情况见§6.2.2。
3.混合推理机构的开发
从上面的讨论中可以看出,正、反向推理各具有独自的优点,在第六章的系统输入中我们将会看到,圆柱齿轮减速器原始的输入条件包括许多项。事实上,一般由用货单位提供的任务书,其初始条件是不完备的。这时,由于条件的不完备,仅仅使用正向推理难以使设计进行下去。圆柱齿轮减速器设计专家系统除采用默认推理的方法外,就是用混合推理的方法。混合控制策略的基本思想是:结合使用正向推理和反向推理的各自优点,先通过正向推理帮助选择初始目标,然后通过反向推理求解这个目标,理中初始目标选择的盲目性,也克服了正向推理中推理的盲目性,从而两种推理本身得到了相互补充。混合推理若以算法描述的话,其过程如下:
Procedure Alternate-chain(KB,context)
repeat
Goals←Forward-dhain(KB,context)
G:=Ghoose=Goal(Goals)
P←Backward-chain(G,KB)
until Pis ture
END这里先用自向推理方式以用户已经提供的数据信息(上下文)得到部分结果,这部分结果可能含有反向推理过程的各子目标,Choose-Goal过程利用这些部分结果决定或猜测总目标的选择,所选择的总目标至少不会同这些部分结果发生矛盾。因此混合控制交替使用了正向推理和反向推理这两算法:通过用户所提供的信息选择一个目标,然后当证明这个目标时又反过来询问用户以获取更多的信息。
推理的过程中,系统除采用演绎推理外,还采用非单调的推理方式。非单调推理是一种基于默认信息的推理。圆柱齿轮减速器设计过程中存在有大量的默认信息,默认信息并非无信息,而是一种常识性知识。从理论意义上讲,默认信息的含义是指:当且仅当没有事实说明S不成立时,S总是成立的。减速器设计中,有如一般生产条件(其含义是指加工机城零件,在经济梢度能条件下,采用的生产加工方法)等。基于默认信息的推理即默认推理(或称缺省推理)是一种非单调推理。默认推理是当条件不充分、把握的事实不完备时依据常识性内容所作的一些有益的猜测。在推理或者进一步的计算过程以后,新的事实被认识,原来基于默认推理的某些结论可能要被否认。在减速器设计的过程中,许多的判断和决策是在不完全和不确定的信息状态下进行的,求解过程并不因为信息的不完全和不确定而优柔寡断、停止设计,而采用相应的策略,去解决那些设计产生的默认状态不一致问题。
5.4 冲突消解策略
推理机在运用产生式知识元的知识进行推理时,一条知识的可用与否取决于这条知识的条件部分同问题当前数据库的匹配。一般情况下,在问题求解的每一中间状态,可用知识不止一条,因此,推理机需要有冲突的消解策略。
本文研究的专家系统所采用的冲突消解策略如下:
(1)知识库的组织形式按它们所对应的问题求解状态所描述的上下文分块,求解某一问题时,只能选取此问题相对应的产生式知识元。即产生式知识元的调用,是根据设计的当前子任务进行的;
(2)a,b两条知识,若a的前提(条件)比b更具体与复杂,则优先选用a。因为a的情况更为特殊、具体;
(3)对知识库的知识预先排序,按先后次序启用;
(4)对于反向推理,假设目标的选择通常是经过优选的,即先假设最一般的情况。
5.5 数表、图线知识的处理
1。数表知识:知识以数表形式表示时,通过一控制和操作数表的函数,则可方便地对数表知识进行处理。如表5-2所示的函数段是处理表3-5 轴伸数据的,该函数的运行方式:
(shaftnose 80)返回结果==>(80 0.030 0.010 130)
由此,就可方便地决定轴伸公差及长度等参数。

类似这种处理的方法,圆柱齿轮减速器中还有许多,例如,轴承数据、公差数据、键数据、齿轮模数、中心距、成本、轴上各类数据(如倒角,过渡圆角)等等均采用这一处理方法。
数表形式的其它表达方式的知识的按相应的控制与推理策略进行。
2.图线知识:图线知识的处理方法是根据其表达形式确定的。对于公式化的图线知识可按公式的处理办法求解。对数据化的图线知识,按一定的方式取得数据后,通过插值函数INTRPOLATE求出所需值。
上一页
下一页