4.1.1 不确定推理的概念
所谓推理就是从已知事实出发,运用相关知识(或规则)逐步推出结论或证明某个假设成立或不成立的思维过程。其中已知事实和知识(规则)是构成推理的两个基本要素。已知事实是推理过程的出发点,把它称为证据。
4.1.2 不确定性推理方法的分类
可信度方法、主观Bayes方法、证据理论 都是在概率论的基础上发展起来的不确定性推理方法。
4.1.3 不确定性推理
知识库是人工智能的核心,而知识库中的知识既有规律性的一般原理,又有大量的不完全的专家知识,即知识带有模糊性、随机性、不可靠或不知道不确定因素。世界上几乎没有什么事情是完全确定的。不确定性推理即是通过某种推理得到问题的精确判断。
(1)不确定性问题的代数模型
一个问题的代数模型由论域、运算和公理组成。建立不确定性问题模型必须说明不确定知识的表示、计算、与语义解释。
- 不确定性的表示问题:指用什么方法描述不确定性,通常有数值和非数值的语义表示方法。数值表示便于计算,比较,再考虑到定性的非数值描述才能较好的解决不确定性问题。例如对规则A->B(即A真能推导B真)和命题(或称证据、事实)A,分别用f(B,A)来表示不确定性度量。
- 推理计算问题:指不确定性的传播和更新,也即获得新的信息的过程。包括:
①已知C(A),A->B,f(B,A),如何计算C(B)
②证据A的原度量值为C1(A),又得C2(A),如何确定C(A)
③如何由C(A1)和C(A2)来计算C(A1∧A2),C(A1∨A2)等。
一般初始命题/规则的不确定性度量常常由有关领域的专家主观确定。
- 语义问题:是指上述表示和计算的含义是什么?即对它们进行解释,概率方法可以较好地回答这个问题,例如f(B,A)可理解为前提A为真时对结论B为真的一种影响程度,C(A)可理解为A为真的程度。特别关心的是f(B,A)的值是:
①A真则B真,这时f(B,A)=?
②A真则B假,这时f(B,A)=?
③A对B没有影响时,这时f(B,A)=?对C(A)关心的值是
①A真时,C(A)=?
②A假时,C(A)=?
③对A一无所知时,C(A)=?
(2)不确定推理方法的分类
不确定推理方法在人工智能系统中通常是不够严谨的,但尚能解决某些实际问题,符合人类专家的直觉,在概率上也可给出某种解释。
不确定性推理模型没有一个统一的模型,种类不计其数,其中比较著名的有:
- Shortliffe在1975年结合医疗专家系统MYCIN建立的确定性理论
- Duda在1976年结合探矿专家系统PROSPECTOR建立的主观Bayes推理
- Dempster Shafer在1976年提出的证据理论
- Zadeh在1978年提出的可能性理论,1983年提出的模糊逻辑和逻辑推理
- Nilsson在1986年提出的概率逻辑
- Pearl在1986年提出的信任网络
在以产生式作为知识表示的MYCIN系统中,第一次使用了不确定推理方法,给出了可信度作为不确定性的度量。
1.规则的不确定性度量
规则以A->B表示,其中前提A可以是一些命题的合取,引入可信度CF(B,A)作为规则A->B的不确定性度量。其中引入P(B)表示结论B为真的概率,P(B|A)表示在规则A->B,证据A为真的作用下结论B为真的概率。则可信度
CF(B,A)表示证据A为真时,相对于P(~B)=1-P(B)来说A对B为真的支持程度(当CF(B,A)≥0),或相对于P(B)来说A对B为真的不支持程度(当CF(B,A)<0)。以上定义保证了-1≤CF(B,A)≤1。
当P(B,A)-P(B)相同时,P(B)小的CF小,P(B)大的CF大。
可以看出规则的可信度CF(B,A)的几个特殊值:
- 前提A为真,结论B必真时,由于P(B|A)=1,故由上式知CF(B,A)=1;
- 前提A与结论B无关时,由于P(B|A)=P(B),故由上式知CF(B,A)=0;
- 前提A真结论B必假的情形,由于P(B,A)=0,故由上式知CF(B,A)=-1;
显然CF(B,A)≥0表示前提A真支持B真。CF(B,A)<0表示前提A真不支持B真。
CF(B,A)的定义借用了概率,但它本身并不是概率,因为CF(B,A)可取负值(概率>=0),另外CF(B,A)+CF(B,~A)不必为1(而P(A)+P(~A)=1),甚至可能为0。
值得注意的是,在实际的应用中CF(B,A)的值是由专家根据经验知识主观确定的,并不是由P(B)和P(B,A)计算出来的。
2.证据的不确定性度量
证据A的不确定性也可以用CF(A)表示,同样规定-1≤CF(A)≤1,几个特殊值规定为:
- A肯定为真时,CF(A)=1;
- A肯定为假时,CF(A)=-1;
- 对证据A一无所知时,CF(A)=0;
CF(A)>0,则CF(A)表示证据A为真的程度;
CF(A)<0, 则CF(A)表示证据A为假的程度;
同样要注意的是:初始证据的CF值由专家主观提供,其它证据的CF值由规则的CF值和初始证据的CF值经过推理求得。
3.推理计算
(1)已知CF(A),规则A->B,CF(B,A)求CF(B)。
推理计算:CF(B)=CF(B,A)·max{0,CF(A)} --------------------公式①
(2)规定:
CF(~A)=-CF(A) ----------------------------------公式②
CF(A1∧A2)=min{CF(A1),CF(A2)} ------------------公式③
CF(A1∨A2)=max{CF(A1),CF(A2)} ------------------公式④
(3)由规则A1->B求得CF(B),又使用规则A2->B,如何更新CF(B)。或者说已知CF(A1),CF(A2)以及CF(B,A1)和CF(B,A2)来寻求合成的CF(B)。
计算方法:
由规则A1->B,CF(B,A1),CF(A1),根据(1)求得CF1(B)=CF(B,A1)·max{0,CF(A1)}
由规则A2->B,CF(B,A2),CF(A2),根据(1)求得CF2(B)=CF(B,A2)·max{0,CF(A2)}
则最后更新的CF(B)可由下式求得:
---------------------公式⑤
CF(B)的更新计算,也可以这样理解:已知CF(A),A->B,CF(B,A),而B原来的可信度为CF(B),来求B的可信度更新值CF(B|A)。这时上面的计算公式可写成:
当CF(A)=1(证据A肯定为真),根据公式①,CF'(B)=CF(B,A)·max{0,CF(A)}=CF(B,A)·max{0,1}=CF(B,A),B原来的可信度为CF(B),根据公式⑤得到最后的B的可信度:
---------------公式⑥
当CF(A)<1(证据A也是不确定的),这时CF(B|A)必然比CF(A)=1时的CF(B|A)来的小。若CF(A)>0,可以CF(B,A)·CF(A)作为对规则A→B的可信度,而CF(B|A)的计算仍可用CF=1时的公式⑥。