软件学报
JOURNAL OF SOFTWARE
1999年 第2期 No.2 1999



不确定推理的支持度
周青 鞠实儿 
　　摘要　在引进的不确定性支持度的基础上,提出了不确定推理的一个可操作模型.定义了不确定推理的概念,引进了不确定推理的支持度,讨论了它们的初步性质.所有这些都是建立在经典的二值逻辑的基础上的,因而具有较牢固的基础.最后是该方法与当今流行方法的比较.
　　关键词　假定解,证据,知识集,不确定性,不确定性的支持度.
　　中图法分类号　TP18
Supporting Degree of Uncertain Reasoning
ZHOU Qing1 JU Shi-er2
　　Abstract　 A new and operatable model of uncertain reasoning is provided which is based on the supporting degree of uncertainty introduced in this paper. The basic concepts are precisely defined, the supporting degree of uncertainty of a proposition is introduced, some basic properties are discussed. All of these are done by means of the classic logic, and hence have a solid foundation. The paper concludes with a comprehensive comparison of the presented method with other traditional methods.
　　Key words　Hypothesis, evidence, corpus of knowledge, uncertainty, supporting degree of uncertainty.
　　本文讨论不确定推理的概念及其支持度.确定推理的研究是基于经典的二值逻辑,因而具有相当牢固的基础.而不确定推理的研究却是另一种情形.很明显的是,不确定推理的基础比确定推理的基础要弱得多.到目前为止,甚至还没有获得人们普遍接受的基础［1］.本文将对不确定推理的基础进行讨论,并提出一个不确定推理的可计算模型.
　　我们认为下述问题对不确定推理来说是基本的问题:(1) 如何正确地、定性地刻画一个命题的不确定性？(2) 如何适当地度量一个命题的不确定性？要回答这些问题,让我们看看当我们有不确定问题时应当怎样做.
　　假定P是要解决的问题,h是一个有关P的解的命题,称为假定解.我们的任务是要确定h是否为真.为了解决这一问题,很显然,我们需要一些有关P的知识,我们用K来表示有关的知识集合.于是K是个公式的集合,其中的公式都被认为是真.现在,如果h或h可以由K推导而得,那么,我们的问题就完全地解决了,所以,h是确定的;否则,h就是不确定的.当h是不确定的时候,我们的问题就变为:是否有进一步的方法来确定h是否为真.专家们常用以下的方法来解决这一问题:(1) 尽可能地收集证据(今后我们把证据集记为E);(2) 试图由E∪K推导h或h,如果(2)成功,问题就解决了.否则,(3) 在E∪K的前提下度量h为真的可能性.下述例子说明我们是怎样确定h为真的可能性(或称对h的相信程度)的.
　　例:假定我们在调查一个谋杀案,并且有知识集:(1) 若x是凶手,则x在一定时间内在案发现场.(2) 若x是凶手,则x有犯罪动机.(3) 若x是凶手,则x有谋杀凶器.经过调查发现如下证据:张三曾在案发期间到过案发现场,并有谋杀动机,李四有和谋杀凶器十分类似的武器.于是我们有理由相信张三比李四更有可能是凶手.
　　这一例子说明,K∪{h}和K∪E的相同推论越多,我们就越相信h为真,这对h也同样成立.
　　我们将形式地刻画这一过程,并提出一种确定相信h为真的程度的方法.这些都将以传统的二值逻辑为基础来完成.
1 不确定性和证据
　　设h是命题,K是知识集.我们假定K是协调的,并且K中的公式都被接受为真,如逻辑公理、某一领域的基本定律等等.显然,如果Kh,h就被认为是真;如果kh,则h就被认为是假;否则,h就不能由K确定,即h的真值是不确定的.于是,命题的不确定性可以形式地定义如下.
　　定义1. 命题h是不能由K确定的,如果h在以K中的公式作公理的逻辑系统中是不可判定的(即h和h都不是该系统的定理).
　　用模型论的术语,命题h的不确定性可以等价地表达如下.
　　我们有形式语言L和一个L的公式集K,其中K被称为是知识集.为着某种目的,我们希望知道L的某一命题h是否为真,而我们又不能由K推导出h或h.由于h独立于K,根据完全性定理,K有许多模型,h在其中的一些模型中为真,而在另一些模型中为假.在K的模型中我们知道有一个是我们所需要的.但问题是我们不知道哪个模型是我们所需要的.所以,h的不确定性可以语义地定义如下.
　　定义2. 命题h是不能由K确定的,如果我们无法确定K的哪个模型是我们所需要的.
　　定义1和2说明,命题的不确定性是推理系统的特征,所以,我们可用传统的二值逻辑来描述不确定推理.
　　为了确定h的真值,我们在K中加进一个命题集合E.对于我们的目的,我们相信E中的命题都为真.然后,我们试图用K∪E来推导h或h.我们把集合E称为证据集.如果K∪Eh或K∪Eh,h就是确定的;否则,h还是不确定的.因此,我们可以把证据定义如下.
　　定义3. 如果命题集合E中的命题都被认为为真,则称E是K中对h的证据集合.如果K∪Eh或K∪E h,则称E是K中对h的完备证据集合;否则,E是不完备的.
　　从以上定义可以看出,我们对证据在语法上仅要求它是命题,它们的主要特征在于它们在语义中为真.同时,我们还可以看出:定义3等价于:所谓的证据集E是一些在我们希望的模型中为真的命题集合,我们希望用它们来确定h在该模型中的真值.如果E是完备的,就能确定我们所想要的模型,否则,h还是不确定的.在E是不完备的情形下,我们需要估价相信h为真的强度.这里我们引进一个简单的事实:如果K∪Eh,h的所有逻辑推论在K∪E的所有模型中为真;如果K∪E h,没有h的逻辑推论在K∪E的模型中为真.如果h在K∪E中是不可判定的,一些h的逻辑推论在K∪E的某些模型中为真,而h的另一些逻辑推论在K∪E的另一些模型中为假.于是,很自然地,如果E在K中的逻辑推论也是h在K中的逻辑推论,则这些推论对h提供正支持;如果E在K中的逻辑推论也是h在K中的逻辑推论,则这些推论对h提供正支持,即对h提供负支持;如果E在K中的逻辑推论既非h的逻辑推论也非
h的逻辑推论,则这些推论对h是无关的.显然,E对h提供的正(负)支持的推论越多,E对h的支持度(原始意义上,形式定义将在下节中给出)就越高(低).同样明显的是,我们不必考虑那些与h无关的证据.由此,正支持h的证据数量和负支持h的证据数量的比就有意义了.下节将形式地把这一想法表述(文献［2］曾对类似的想法作过简短的叙述)出来. 
2 假定解的支持度
　　我们将使用如下记号:
　　L: 只有有穷个谓词的一阶语言.我们还假定L只有有穷模型(因为在AI中只需考虑有穷多个谓词和有穷模型,我们作出如此假定.对于无穷的情形,只需对文内的定义作少许修改即可);
　　K: L的一个公式集,语义上称为知识集;
　　E: L的一个闭公式集,语义上称为证据集;
　　h: L的一个闭公式,语义上称为假定解,我们假定h和h都不是K∪E的逻辑推论;
　　设X是L的任一公式集,A是L的公式,我们用XA表示A是X的逻辑推论.
　　我们假定K∪E是协调的.
　　设A,B是L的闭公式.如果KAB,则称A和B是等价的,记作A～B.显然,～是L的闭公式集上的等价关系.因为L只有有穷多个谓词和有穷模型,因而,L也就只有有穷多个无变元项,所以,只有有穷多个等价类.我们用S表示这些等价类的集合.
　　定义4. 设X,Y是L的公式集,我们定义
CX={U∈S: 存在A∈U使X  A}, 
DX,Y=CX-CY, 
BK,E,h=DK∪{h},K∩DK∪E,K, 
TK,E,h=｜BK,E,h｜/｜BK,E,h∪BK,E, h｜. 
TK,E,h称为K和E对h的支持度.在本节中因为K和E都是固定的,所以,我们使用Bh和Th,而不用BK,E,h和TK,E,h,以简化书写.
　　以下是一些关于对较复杂的公式A如何求TA的结果.
　　引理1. Bh∩Bh=.
　　证明:如果A∈Bh∩Bh,由定义,A∈CK∪{h}且A∈CK∪{h},即存在p∈A,K∪{h}p且K∪{h}p.根据演绎定理,K∨h→p且K∨h→p.于是,K  p.所以,A∈CK,即ADK∪{h},k,因此,ABh.矛盾　□ 
　　定理1. Th=1-Th.
　　证明:由引理1,｜Bh∩Bh｜=0.由集合论的结果,｜Bh∪Bh｜=｜Bh｜+｜Bh｜-｜Bh∩Bh｜,所以,｜Bh∪Bh｜=｜Bh｜+｜Bh｜.于是,
　Th+Th=｜Bh｜/｜Bh∪Bh｜+｜Bh｜/｜Bh∪Bh｜=(｜Bh｜+｜Bh｜)/｜Bh∪Bh｜=1.　　□
　　引理2. Bh∩Bg=Bh&g.
　　证明:设p∈A,我们有A∈Bh∩Bg当且仅当h→p且g→p,由经典逻辑的结果,当且仅当h&g→p.所以,Bh∩Bg=Bh&g.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　□
　　引理3. ｜Bh∪Bg｜=｜Bh｜+｜Bg｜-｜Bh&g｜.
　　证明:因为｜Bh∪Bg｜=｜Bh｜+｜Bg｜-｜Bh∩Bh｜,根据引理2,｜Bh∪Bg｜=｜Bh｜+｜Bg｜-｜Bh&g｜.　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　□
　　定理2. Th∨g=(｜Bh｜+｜Bg｜-｜Bh∩Bg｜)/(｜Bh｜+｜Bg｜-｜Bh∩Bg｜+｜Bh∩Bg｜).
证明:由定义
　　　　　　Th∨g=｜Bh∨g｜/｜Bh∨g∪Bh∨g｜=｜Bh∨g｜/｜Bh∨g∪Bh&g｜,　　　　(*)
证明｜Bh∨g｜=｜Bh∪Bg｜.为此,我们需要证明h→p或者g→p,则h∨g→p.而这可以由经典逻辑直接得出.由此,根据引理3,｜Bh∪Bg｜=｜Bh｜+｜Bg｜-｜Bh&g｜.同时,根据引理2,｜Bh∩Bg｜=｜Bh&g｜及｜Bh∩Bg｜=｜Bh&g｜.把这些等式代入(*)式中相应的项,即得定理.　　　　　□
　　因为假定了只有有穷多个谓词和有穷多个无变元项,我们不需要量词.由此,根据定理1和2,对于任何公式A,对A中出现的所有原子公式p,只要知道了Bp,我们就能够求得TA.
3 比 较
　　本节将主要讨论本文所定义的不确定支持度和不确定的概率测度的关系.在AI研究中,概率论在不确定推理中有广泛的应用,人们提出了各种基于概率的不确定性测度［3］.我们首先证明这些基于概率的测度方法是可以用本文提出的支持度来表示的.为此,我们并不需要对各种不同的概率测度一一进行考察,而只需证明概率是能够由支持度来表示的就行了.如果能够做到这一点,各种基于概率的不确定性测度方法就自然地可以由本文提出的支持度来表示了.
　　在概率论中,事件P将会发生的概率是这样计算的:如果在n次实验中P发生了k次,则事件P在第(n+1)次实验中发生的概率是k/n.以下定理说明,这是可以由不确定性支持度来表示的.
　　定理3. 概率是能够由不确定性支持度表示的.
　　证明:设L是只有一个一元谓词符号p的一阶语言,为了定义知识集K,我们首先定义
K1={p′(k)→p′(k)∨p′(m):1≤k,m≤n+1,p′是p或p′是p}, 
K2={A∨B→B∨A:A,B是L中的公式}, 
然后令K＝K1∪K2.我们只用一条推理规则:对于L中的一切公式A和B,
A→B 
 
语义上,p(k)表示P在第k次实验中发生,而p(k)表示P在第k次实验中不发生.证据集E中含有p′(k),其中k=1,...,n,p′是p还是p根据P是否在第k次实验中发生而定.现在的问题是要确定p(n+1)的概率.显然,CK∪E={［p′(k)∨p′(m)］:p′(k)∈E,1≤k≤n,1≤m≤n+1},其中［A］表示公式A的等价类.根据CX,DX,Y和BK,E,h的定义,BK,E,p(n+1)={［p(k)∨p(n+1)］:p(k)∈E},而BK,E,p(n+1)={［p(k)∨p(n+1)］:p(k)∈E}.所以,TK,E,p(n+1)=k/n,其中k是P在n次实验中发生的次数.显然,TK,E,p(n+1)正是p(n+1)的概率.　　　　　　　　　　　　　　　　　　　　　　　□
　　根据不确定性支持度的定义不难看出,如果证据集D是由在证据集E中加进一些和h有相同推论的命题,则TK,D,h＞TK,E,h.但这并不表明不确定性的支持度和概率测度总是能够保持相同的大小关系.当证据集E中的命题除本身之外没有其他的逻辑推论的时候,很容易看出不确定性的支持度和概率测度是能够保持相同的大小关系的.事实上,定理3的证明给出了利用支持度来计算不确定的概率测度的方法.但是,在较复杂的情形中一般来说就不行了.例如,如果一个证据集E有7个命题,其中5个从概率上正支持h,其他的两个从概率上负支持h;假定｜BK,E,h｜=5,｜BK,E,h｜=3,则TK,E,h=5/8,而概率测度PK,E,h=5/7.现在,设DE是个证据集,使得｜D-E｜=3,而且D-E中的一个命题有5个和h一样的逻辑推论,而其他两个命题各有一个和h一样的逻辑推论.于是,TK,D,h=7/15＜5/8=TK,E,h,而概率测度PK,D,h=7/10＞5/7=PK,E,h.这样就产生了一个问题,这两种方法中哪一个较合理？为了探讨这个问题,让我们考虑这样一种情况:假定知识集K中有个公式p→q,其中p和q不等价,并且p∈E&qE.在概率测度中,q对h和h不提供任何形式的支持,然而,在本文引进的不确定性支持度中,q对h或h提供部分的支持.所以,实际的问题是:我们是否需要考虑假定解和证据的逻辑推论？我们认为答案是肯定的.在引言的例子中,我们能够认为张三和李四不是谋杀嫌疑人吗？显然不能.
　　对于Carnap的逻辑方法［4］,其公式是m*(E&h)/m*(E),其中m*(X)是对命题集合X的一种依赖于L的加权测度.我们可以把知识集K看作是此系统的公理集.但是,假定解h和证据E的逻辑推论在这里仍然没有任何意义.于是,上段所述的问题在这里仍然存在.另外,这种方法预先假定系统中的每个谓词和假定解有某种联系.在实际工作中这是个十分强的假定.因为我们通常无法预先知道哪些证据和假定解有关.而在本文中引进的方法并不需要这一假定,因为我们取BK,E,h=DK∪{h},K∩DK∪E,K,这就去掉了所有和h无关的公式.最后,在Carnap的方法中的加权m*是由语言L来决定的,而非由系统确定,而我们的方法除经典逻辑之外无需事先假定任何东西.
　　通过以上的比较可以看出,由于以经典逻辑作为考虑的起点,本文所引进的方法和人的不确定推理比较类似,因而具有较牢固的逻辑基础.它不仅在适用于概率测度的简单情形的不确定推理中能和概率测度一样有效,在概率测度无法进行的复杂情形的不确定推理中,它也能够有效地工作.因此,本文所引进的方法是有意义的.
本文研究得到国家863高科技项目基金资助.
作者介绍：周青,1952年生,博士,副教授,主要研究领域为数理逻辑,理论计算机科学.
　　　　　鞠实儿,1953年生,教授，主要研究领域为逻辑学,人工智能.
本文通讯联系人:周青，广州 510275,中山大学软件研究所
作者单位：周　青　中山大学软件研究所 广州 510275
　　　　 鞠实儿　中山大学哲学系 广州 510275
参考文献
　［1］Kyburg K. Why do we need foundation for modeling uncertainties?. In: Ambrosio D, Smets, Bonissone eds. Proceedings of the Conference on Uncertainty in AI. San Mateo, California: Morgan Kaufmann Publishers, 1991. 438～442
　［2］鞠实儿.三种信念悖论的消除.自然辩证法通讯,1995,17(2):9～14(Ju Shi-er. The dissolution of three believe paradoxes. Journal of Dialectics of Nature, 1995,17(2):9～14)
　［3］Kanal L N, Lemmer J F. Uncertainty in Artificial Intelligence. Amsterdam: North-Holland Publishing Company, 1986. 1～509
　［4］Carnap R. Logic Foundation of Probability. Chicago: University of Chicago Press, 1950
本文1997-09-15收到原稿,1998-02-25收到修改稿
