第4章人工智能的决策支持和智能决策支持系统(2)(2)部分内容4.2专家系统的决策支持4.2专家系统的决策支持4.2.1专家系统原理4.2.2产生式规则专家系统4.2.3建模专家系统4.2.1专家系统原理1.专家系统概念1)专家系统定义专家系统是具有大量专门知识,并能运用这些知识解决特定领域中实际问题的计算机程序系统。专家系统是利用大量的专家知识,运用知识推理的方法来解决各特定领域中的实际问题。计算机专家系统这样的软件能够达到人类专家解决问题的水平。2)专家系统的特点专家系统需要大量的知识,这些知识是属于规律性知识,它可以用来解决千变万化的实际问题。计算机的应用发展概括为:数值计算───→数据处理───→知识处理(算法)(数据库处理)(推理)例如:用计算机求解微积分问题,是利用30~40条微分、积分公式来求解千变万化的微分、积分问题,得出各自的结果。其中微积分公式就是规律性知识,求解微积分问题就是对某函数反复利用微积分公式进行推导,最后得出该问题的结果。这个推理过程是一个不固定形式的推理,即前后用哪个公式,调用多少次这些公式都随问题变化而变化。1)专家系统对比数据库检索数据库中存放的记录可以看成是事实性知识。如果把检索数据库记录看成是推理的话,它也是一种知识推理。它与专家系统的不同在于:(A)知识只含事实性知识,不包含规律性知识。(B)推理是对已有记录的检索,记录不存在,则检索不到。不能适应变化的事实,推理不出新事实。2)专家系统对比数值计算数值计算是用算法解决实际问题,对不同的数据可以算出不同的结果。如果把数据看成是知识,算法看成推理的话,它也是一种知识推理。它与专家系统的不同在于:(A)算法(推理过程)是固定形式的。算法一经确定,推理过程就固定了。而专家系统的推理是不固定形式的,随着问题不同,推理过程也不一样。(B)数值计算只能处理数值,不能处理符号。从上面分析可见,数值计算、数据处理是知识处理的特定情况,知识处理则是它们的发展。知识处理的特点(A)知识包括事实和规则(状态转变过程)。(B)适合于符号处理(如微积分求解)。(C)推理过程是不固定形式的(推导过程中每次选用的规则知识是变化的)。(D)能得出未知的事实(如推导出新的微分公式)。2.专家系统结构专家系统的核心是知识库和推理机。专家系统可以概括为:专家系统=知识库+推理机知识获取人机接口知识库推理机专家用户咨询建议专家系统核心专家系统结构3.产生式规则知识的推理机产生式规则的推理机=搜索+匹配(假言推理)在推理过程中,是一边搜索一边匹配。匹配需要找事实。这个事实一是来自于规则库中别的规则,一是来自向用户提问。在匹配时会出现成功或不成功,对于不成功的将引起搜索中的回溯和由一个分枝向另一个分枝的转移,可见在搜索过程中包含了回溯。4.产生式规则推理的解释推理中的搜索和匹配过程,如果进行跟踪和显示就形成了向用户说明的解释机制。好的解释机制不显示那些对于失败路径的跟踪。4.2.2产生式规则专家系统目前,用产生式规则知识形式建立的专家系统是最广泛和最流行的。4.2.2.1产生式规则产生式规则知识一般表示为:ifAthenB,或:如果A成立则B成立,或:A→B产生式规则知识允许有如下的特点:⒈相同的条件可以得出不同的结论(有时允许,有时不允许)如:A→BA→C⒉相同的结论可以有不同的条件来得到。如A→GB→G⒊条件之间可以是“与”(AND)连接和“或”(OR)连接如A∧B→GA∨B→G(相当于A→G,B→G)⒋一条规则中的结论,可以是另一条规则中的条件。如F∧B→Z,C∧D→F其中F在前一条规则中是条件,在后一条规则中是结论。由于以上特点,规则知识集能做到:⒈能描述和解决各种不同的灵活的实际问题。(由前三点特点形成)⒉能把规则知识集中的所有规则连成一棵“与、或”推理树(知识树)。即这些规则知识集之间是有关联的(由后二个特点形成)。4.2.2.2推理树(知识树)规则库中的各条规则之间一般来说都是有联系的。即某条规则中的前提是另外一条规则中的结论。我们按逆向推理思想把知识库所含的总目标(它是某些规则的结论)作为根结点,按规则的前提和结论展开成一棵树的形式。这棵树一般称为推理树或知识树,它把知识库中的所有规则都连结起来。由于连结时有“与”关系和“或”关系,从而构成了“与或”推理树。我们通过一个例子用示意图形式画出。该推理树是逆向推理树,是以目标结点为根结点展开的。例:若有知识库为:A∨(B∧C)→G(I∧J)∨K→AX∧F→JL→BM∨E→CW∧Z→MP∧Q→E画出“与或”推理树为:规则知识库的逆向推理树(注:两斜线中间的弧线表示“与”关系,无弧线表示“或”关系)XFWZPQGIJKLMEABC用规则的前提和结论形式画出一般的推理树形式为:前提I前提J前提L前提M前提E(结论)(结论)(结论)前提A前提B前提C(结论)(结论)(结论)总目标G(结论前提X前提F前提W前提Z前提P前提Q????????该“与或”推理树的特点是:⒈每条规则对应的节点分枝有与(AND)关系,或(OR)关系⒉树的根结点是推理树的总目标⒊相邻两层之间是一条或多条规则连接⒋每个结点可以是单值,也可以是多值。若结点是多值时,各值对应的规则将不同。⒌所有的叶结点,都安排向用户提问,或者把它的值直接放在事实数据库中。4.2.2.3逆向推理过程⒈推理树的深度优先搜索逆向推理过程在推理树中的反映为推理树的深度优先搜索过程。图4.12逆向推理的搜索过程N17982GABCJIKLME45YXFZPQ1011123YWYYYN6在计算机中实现时,并不把规则连成推理树,而是利用规则栈来完成。当调用此规则时,把它压入栈内(相当于对树的搜索),当此规则的结论已求出(yes或no)时,需要将此规则退栈(相当于对树的回溯)。利用规则栈的压入和退出的过程,相当于完成了推理树的深度优先搜索和回溯过程。⒉结点的否定从上例可见,每个结点有两种可能,即YES和NO,叶结点为NO是由用户回答形成的。中间结点为NO是由叶结点为NO,回溯时引起该结点为NO。对中间结点的否定,若当该结点还有其它“或条件”分枝时,不能立即确定该结点为NO,必须再搜索另一分枝,当另一分枝回溯为YES时,该结点仍为YES。中间结点只有所有“或”分枝的回溯值均为NO时,才能最后确定该中间结点为NO。4.2.2.4事实数据库和解释机制1.事实数据库事实yn值规则号可信度A11n00A12y00.9A1y40.82.解释机制解释机制是专家系统中重要内容。它把推理过程显示给用户,让用户知道目标是如何推导出来的。消除用户对目标结论的疑虑。解释机制有两种实现方法:一种是推理过程的全部解释;一种是推理过程中正确路径的解释。具体算法不在此介绍。4.2.2.5不确定性推理1事实的不确定性事实的不确定性一般用可信度CF(CertaintyFactor)值表示,它的取值范围为:0≤CF≤12规则的不确定性规则反映了客观事物的规律性。大量的实际问题中,专家掌握的规则大多是经验性的,不是精确的。3推理的不确定性由于事实和规则的不确定性,从而产生了结论的不确定性。它反映不确定性的传播过程。不确定性推理依据MAYCIN系统不确定性计算公式的简化1.-1≤CF≤1改为0≤CF≤12.含OR连接规则拆成多条规则例如:A∨B→G拆成:A→GB→G⒈前提中AND(与)连接时,结论可信度的计算公式规则形式:IFE1∧E2∧...∧ENTHENHCF(R)结论H的可信度为:CF(H)=CF(R)MIN{CF(E1),CF(E2)…CF(EN)}⒉前提中OR(或)连接时结论的可信度计算公式规则形式:IFE1ORE2THENHCF(R)把它转化成等价的两条规则,即IFE1THENHCF(R)IFE2THENHCF(R)如果已知两条规则形式如下:IFE1THENHCF(R1)IFE2THENHCF(R2)则结论H的可信度计算分别有:CF1(H)=CF(R1)CF(E1)CF2(H)=CF(R2)CF(E2)合并为:CF(H)=CF1(H)+CF2(H)-CF1(H)CF2(H)对于三条规则,如:IFE1THENHCF(R1)IFE2THENHCF(R2)IFE3THENHCF(R3)先按二条规则合并方法计算出:CF12(H)=CF1(H)+CF2(H)-CF1(H)CF2(H)再将它和第三条规则合并:CF(H)=CF12(H)+CF3(H)-CF12(H)CF3(H)其中CF3(H)=CF(R3)CF(E3)3.公式的特性(1)CF(H)≥CF1(H),CF(H)≥CF2(H)(2)CF(H)≤14.推理过程中的阈值一般规定,阈值定为0.2。当CF<0.2时,置CF=0,当CF≥0.2时,CF才有意义。(四)推理过程说明不确定性推理和确定性推理是有区别的。除了有可信度的差别外,推理过程也有差别。对于不确定性推理,当某个结论的可信度不为1时(即CF≠1),对于相同结论的其它规则仍然要进行推理,求该结论的可信度,并和已计算出该结论的可信度进行合并。例如,有两条相同结论的规则R1:A→GR2:B∧C→G对于确定性推理过程为:先引用规则R1,提问A?当回答为yes时,推得结论G成立,即yes,这样就不再搜索R2对结论G进行推理。对于不确定性推理时,该两规则均含可信度。R1:A→GCF(0.8)R2:B∧C→GCF(0.9)推理时,先引用规则R1,提问A?当回答为yes时,还须给定可信度,设为CF(0.7),按公式求得G的可信度为:CF1(G)=0.80.7=0.56由于G的可信度不为1,还必须对结论G的其它规则进行推理。再引用规则R2,提问B和C?设回答B为yes,CF(0.7),回答C为yes,CF(0.8),计算G的可信度为:CF2(G)=0.9MIN{0.7,0.8}=0.63合并G的可信度为:CF(G)=CF1(G)+CF2(G)-CF1(G)×CF2(G)=0.56+0.63-0.56×0.63=0.84要说明一点,当某个证据用户回答为no时,不用给可信度,它的可信度CF=0(即CF(0))。4.2.2.6简例例:有如下规则集和可信度:R1:A∧B∧C→GCF(0.8)R2:D∨E→ACF(0.7)R3:J∧K→BCF(0.8)R4:P∨Q→CCF(0.9)R5:F∨(R∧S)→DCF(0.6)已知事实及可信度F(0.4),R(0.5),S(0.6),E(n),J(0.4),K(0.6),P(n),Q(0.4)。对目标G进行推理求解。解:第一步:把规则分解为只含AND(∧)连接的规则,消去OR(∨)连接的规则:R1:A∧B∧C→GCF(0.8)R21:D→ACF(0.7)R22:E→ACF(0.7)R3:J∧K→BCF(0.8)R41:P→CCF(0.9)R42:Q→CCF(0.9)R51:F→DCF(0.6)R52:R∧S→DCF(0.6)方法1:用知识树推理第二步:用规则连成知识树GCBAPKJEDQSRF0.80.90.90.80.70.70.60.6(0.4)(0.6)(0)(0.4)(0.6)(0)(0.4)(0.5)第三步:利用知识树进行逆向推理,从目标G开始按树进行深度优先搜索和回溯。其推理解释过程(中间推理过程全部解释)为:⒈引用R1规则,求A⒉引用R21规则,求D⒊引用R51规则求F提问F?回答yes,CF(0.4)计算D的可信度为:CF1(D)=0.4×0.6=0.24R51规则成功⒋引用R52规则,求R和S提问R?回答yes,CF(0.5)提问S?回答yes,CF(0.6)CF2(D)=0.6×MIN{0.5,0.6}=0.3R52规则成功。合并D结点的可信度为:CF(D)=0.24+0.3-0.24×0.3=0.468≈0.47⒌回溯到规则R21,计算A的可信度CF1(A)=0.47×0.7=0.329≈0.33R21规则成功。⒍引用R22规则,求E提问E?回答no,即CF(0),计算A的可信度CF2(A)=0×0.7=0R22规则失败。合并A的可信度为:CF(A