3.2.0不确定推理概述1不确定推理的基本概念所谓不确定推理就是在“公理”(如领域专家给出的规则强度和用户给出的原始证据的不确定性)的基础上,定义一组函数,求出“定理”(非原始数据的命题)的不确定性度量,也就是说,根据原始证据的不确定性和知识的不确定性,求出结论的不确定性。一般来讲,一个不确定推理模型应当包括如下算法:(1)根据规则前提A的不确定性C(A)和规则强度f(B,A)求出假设B的不确定性C(B),即定义函数g1,使C(B)=g1[C(A),f(B,A)](2)根据分别由独立的证据A1、A2求得的假设B的不确定性C1(B)和C2(B),求出证据A1和A2的组合所导致的假设B的不确定性C(B),即定义函数g2,使C(B)=g2[C1(B),C2(B)](3)根据两个证据A1和A2的不确定性C(A1)和C(A2),求出证据A1和A2的合取的不确定性,即定义函数g3,使C(A1ANDA2)=g3[C(A1),C(A2)](4)根据两个证据A1和A2的不确定性C(Al)和C(A2),求出证据A1和A2的析取的不确定性,即定义函数g4,使C(A1ORA2)=g4[C(A1),C(A2)]图1规则的不确定性表示图2不确定推理网络示例例如图2所示的推理网络。设A1、A2和A3为初始证据,即已知证据A1、A2和A3的不确定性分别为C(A1)、C(A2)和C(A3)。求解A4、A5和A6的不确定性。在求解之前,A4、A5和A6的不确定性应为单位元(对证据A一无所知的情况下C(A)的取值,称为证据的单位元)。问题的求解过程为(1)利用证据A1的不确定性C(A1)和规则R1的规则强度f1,根据算法1求出A4新的不确定性C(A4)。(2)利用证据A2和A3的不确定性C(A2)和C(A3),根据算法4求出A2和A3的析取的不确定性C(A2ORA3)(3)利用A2和A3的析取的不确定性C(A2ORA3)和规则R2的规则强度f2根据算法1求出A5的新的不确定性C(A5),(4)利用A4的不确定性C(A4)和规则R3的规则强度f3,根据算法1求出A6新的不确定性C’(A6)。(5)利用A5的不确定性C(A5)和规则R4的规则强度f4,根据算法l求出A6另一个不确定性C’’(A6)。(6)利用A6的两个根据独立证据分别求得的不确定性C’(A6)和C’’(A6),根据算法2求出A6最后的不确定性C(A6)。综上所述,定义一个具体的不确定推理模型就应当给出:(1)证据的不确定性,即明确给出证据为真时的值,证据为假时的值,及证据的单位元。(2)规则的不确定性,即明确给出若证据为真则假设为真时的值,若证据为真则假设为假时的值,及规则的单位元。(3)上述四种算法。2.不确定性信息的组合不确定性信息的组合就是指上述四种算法。不同的模型有不同的算法,本节介绍一种各种模型都可采用的三角模(T-norm)和三角余模(T-conorm)的方法。2.1三角模方法三角模是定义在[0,1]×[0,1]上的二元实值函数,它们满足下列条件:(1)边界条件T(0,0)=0,T(a,1)=T(1,a)=a(2)单调性若a≤c和b≤d,则T(a,b)≤T(c,d)(3)交换律T(a,b)=T(b,a)(4)结合律T(a,T(b,c))=T(T(a,b),c)函数T(a,b)可用于解决合取命题的不确定性问题,也可用于组合规则前提与规则强度的不确定性问题(此时可不满足交换律)。2.2三角余模方法三角余模是定义在[0,1]×[0,1]上的二元实值函数,它们满足条件:(1)边界条件S(1,1)=1,S(0,a)=S(a,0)=a(2)单调性若a≤c和b≤d,则S(a,b)≤S(c,d)(3)交换律S(a,b)=S(b,a)(4)结合律S(a,S(b,c))=S(S(a,b),c)函数S(a,b)可用于解决析取命题的不确定性问题。利用结合律,函数T(a,b)和S(a,b)都可扩充到多个自变量的情况。两个函数的一些典型定义如下:T0(a,b)=其它若,01),max(),,min(babaT1(a,b)=max(0,a+b-1)T1.5(a,b)=(a·b)/[2-(a+b-a·b)]T2(a,b)=a·bT2.5(a,b)=(a·b)/(a+b-a·b)T3(a,b)=min(a,b)S0(a,b)=其它若,10),min(),,max(babaS1(a,b)=min(1,a+b)S1.5(a,b)=(a+b)/(1+a·b)S2(a,b)=a+b-a·bS2.5(a,b)=(a+b-2·a·b)/(1-a·b)S3(a,b)=max(a,b)这些函数的大小顺序如下:T0≤T1≤T1.5≤T2≤T2.5≤T3S3≤S2.5≤S2≤S1.5≤S1≤S0在专家系统中,经常采用如下的函数:合取:T(a,b)=T3(a,b)=min(a,b)加权:G(a,b)=T2(a,b)=a·b析取:S(a,b)=S3(a,b)=max(a,b)否定:N(a)=l-a从概率论的观点看,采用不同的三角模和三角余模相应于命题相关性的不同假定,即最大相关、最小相关和相互独立的情况。最大相关意味着只要概率小的事件发生,则概率大的事件必然发生,故有P(AANDB)=T3(P(A),P(B))=min(P(A),P(B))P(AORB)=S3(P(A),P(B))=max(P(A),P(B))最小相关意味着两个事件同时发生的概率应尽量小。如果两个事件发生的概率之和小于1,则两个事件同时发生的概率应为0,故有P(AANDB)=T1((A),P(B))=max(0,P(A)+P(B)-1)P(AORB)=S1(P(A),P(B))=min(1,P(A)+P(B))相互独立的情况根据定义应有P(AANDB)=T2(P(A),P(B))=P(A)·P(B)P(AORB)=S2(P(A),P(B))=P(A)+P(B)-P(A)·P(B))三种相关性假设情况的例子示于图3和图4。常用的不确定推理模型如MYCIN系统和PROSPECTOR系统的模型,以及模糊集合理论都是采用最大相关假设,它们对合取给出最大可能值而对析取给出最小可能值。图3P(B)=0.6时P(A∧B)随P(A)的变化图4P(B)=0.4时P(A∨B)随P(A)的变化Zadeh提出的一个例子很好地说明了这三种相关性的假设:“如果一所学院的学生有30%是工程师,有80%的学生是男生,那么有多少学生是男工程师?”“虽然我们从数字开始,但答案不再是一个数字,而是由区间[0.1,0.3]给出”。答案的下限由T1(0.3,0.8)给出,这意味着“最坏”的情况,即两个变量尽量互相排斥。答案的上限由T3(0.3,0.8)给出,这意味着“最好”的情况,即一个变量企图包含另一个变量。而T2(0.3,0.8)=0.24,则对应于两个变量互相独立的情况,给出对结果的一个估计。3.儿种主要的不确定推理模型(1)可信度方法可信度方法是MYCIN系统使用的不确定推理模型,它以确定性理论为基础,方法简单、实用。在很多专家系统中得到了应用,取得了较好的效果。(2)主观Bayes方法主观Bayes方法是PROSPECTOR系统使用的不确定推理模型,它是对Bayes公式进行修正后形成的一种不确定推理方法,为概率论在不确定推理中的应用提供了一条途径。(3)证据理论证据基础是由Dempster提出,并由他的学生Shafer发展起来的。该理论通过引进信任函数,把不确定和不知道区别开来。这些函数满足比概率函数的公理还要弱的公理,因此,概率函数是信任函数的一个子集。当概率值已知时,证据理论就归结为概率论。当然,应用证据理论使计算更为复杂。(4)可能性理论可能性理论是Zadeh提出的,它基于Zadeh本人提出的模糊集合理论。正如概率论处理的是由随机性引起的不确定性,可能性理论处理的是由模糊性引起的不确定性。当然,大多数在概率论中存在的问题,在可能性理论中依然存在,如先验可能性的问题,多变量可能性分布的相关性问题等等。对不确定性的处理,除了上述数值方法外,还发展了非数值的方法。上面讲过的非单调推理就是非数值的方法,此外还有下述方法。(5)批注理论批注理论(Endorsement)是Cohen提出的,已在SOLOMON系统中实现,该系统中的推理规则和议程中的任务都附有批注。规则的批注提出前提条件与规则结论的关系,任务的批注指出该任务的结论与议程中另一任务的结论之间的协同、冲突、潜在冲突及冗余情况。这些批注与数据源、数据类型和数据的精度有关。该系统的优点是可以表示出用数值难以表达的较复杂的关系。缺点是系统每步规则推理都将前提的批注转移到结论中,从而使结论中的批注迅速膨胀,在结论中进行选择变得困难。