第三章 确定性推理3.docx
《第三章 确定性推理3.docx》由会员分享,可在线阅读,更多相关《第三章 确定性推理3.docx(23页珍藏版)》请在冰豆网上搜索。
第三章确定性推理3
第三章确定性推理
第四节消解原理
消解反演
如欲证明Q为P1,P2,…,Pn的逻辑结论,只需证(P1∧P2∧…∧Pn)∧¬Q是不可满足的,或证明其子句集是不可满足的。
而子句集的不可满足性可用归结原理来证明。
Ø应用归结原理证明定理的过程称为归结(消解)反演。
Ø设F为已知前提的公式集,Q为目标公式(结论),用归结反演进行证明的步骤是:
1.否定Q,得到¬Q;
2.把¬Q并入到公式集F中,得到{F,¬Q};
3.把公式集{F,¬Q}化为子句集S;
4.应用消解推理规则对子句集S中的子句进行归结,并把每次归结得到的归结式都并入S中。
如此反复进行,若出现了空子句,则停止归结。
反演证明过程的正确性:
设S={F1,…,Fn}是前提条件,L是欲求证的结论则,从前提条件推出结论的问题,可以表示成:
F1∧…∧FnL=~(F1∧…∧Fn)∨L
并证明其永真(永远成立)
先将公式取“非”:
~(~(F1∧…∧Fn)∨L)
=(F1∧…∧Fn)∧~L
=F1∧…∧Fn∧~L
利用消解原理来证明它是永假的(即,构造一个反演)
实际中,我们可以将
F1∧…∧Fn∧~L
中的每一个部分化成子句集(化法任选),合并后得到完整的子句集,然后利用消解原理导出空子句(反演)
反演求解过程
从反演树求取某一个问题的答案,其过程为:
①将前提条件用谓词表示出来,并化成子句集S
②将目标公式(问题)用谓词表示出来,把由目标公式的否定所产生的子句及其非(目标公式否定之否定)用析取连接词相连组成一个新子句(重言式),加到S构成新的子句集S’
③对子句集S’,进行消解演绎,直到得到某一个子句为止
④将此子句作为问题的答案
⏹举例:
已知三个条件
✓F1:
:
王(Wang)先生是小李(Li)的老师
✓F2:
小李与小张(Zhang)是同班同学
✓F3:
如果x与y是同班同学,则x的老师就是y的老师
问题:
小张的老师是谁?
1定义谓词
T(x,y):
x是y的老师
C(x,y):
x与y是同班同学
2用谓词表示前提条件与目标(问题):
前提:
F1:
T(Wang,Li)
F2:
C(Li,Zhang)
F3:
(x)(y)(z)(C(x,y)∧T(z,x)T(z,y))
目标:
G:
(x)T(x,Zhang)
~G:
~(x)T(x,Zhang)=(x)(~T(x,Zhang))
3求出子句集:
前提的子句集:
T(Wang,Li)
C(Li,Zhang)
~C(x,y)∨~T(z,x)∨T(z,y)
目标的否定的子句及其非组成重言式:
~T(x,Zhang)∨T(x,Zhang)
4完整的子句集:
(1)T(Wang,Li)
(2)C(Li,Zhang)
(3)~C(x,y)∨~T(z,x)∨T(z,y)
(4)~T(u,Zhang)∨T(u,Zhang)
5消解演绎的过程
(1)T(Wang,Li)
(2)C(Li,Zhang)
(3)~C(x,y)∨~T(z,x)∨T(z,y)
(4)~T(u,Zhang)∨T(u,Zhang)
(5)~C(Li,y)∨T(Wang,y)
(1)(3)mgu={Wang/z,Li/x)}
第五节规则演绎系统
●规则演绎的基本概念
上面所讲的归结反演系统把所有的表达式都转换为子句形式,这样做虽然在逻辑上是等价的,但也丧失了很多有用的信息。
我们先看看子句结构存在的缺陷:
子句表达的缺陷与人们表达知识的习惯不一致,因此不便阅读和理解。
例如:
可把语句“鸟能飞”表达成以下两种形式:
①x(BIRD(x)CANFLY(x))
②BIRD(x)CANFLY(x)
显然,公式①表达直接、自然。
由于公式②通过“对所有x,它或者不是鸟,或者能飞”来间接反映“鸟能飞”这个概念,因此给阅读和理解带来了困难。
基于规则的演绎系统将类似于P⇒Q这样的蕴涵关系作为规则使用,直接用于推理。
这类系统主要强调使用规则进行演绎,故称为规则演绎系统。
基于规则的演绎推理是一种直接的推理方法,它不像消解反演把知识转化为子句集,而是把有关问题的知识和信息划分为规则和事实两种类型。
规则由包含蕴含形式的表达式表示,事实由无蕴含形式的表达式表示,并画出相应的与或图,然后通过规则进行演绎推理。
规则演绎系统可以分为规则正向演绎推理(从事实出发,应用规则不断推导出中间结果作为新的事实,直至推导出目标公式)、规则逆向演绎系统(从目标公式出发,逆向应用规则不断推导出子目标,直至所有子目标就是给定的事实为止)和规则双向演绎系统。
例如:
事实1.春天来了
规则2.春天来了,燕子就飞回来了;3燕子飞回来后就筑巢
目标燕子筑巢了吗?
正向推理:
逆向推理:
基于规则的问题求解系统运用下述规则来建立:
If→Then
其中,If部分可能由几个if组成,而Then部分可能由一个或一个以上的then组成。
在这种系统中,通常称每个if部分为前项(antecedent),称每个then部分为后项(consequent)。
●规则正向演绎系统
定义
规则正向演绎系统是从事实到目标进行操作的,即从状况条件到动作进行推理的,也就是从if到then的方向进行推理的。
正向推理过程(步骤)
1.事实表达式的与或形式变换
把事实表示为非蕴涵形式的与或形,作为系统的总数据库。
具体变换步骤与前述化为子句形类似。
注意:
我们不把这些事实化为子句形,而是把它们表示为谓词演算公式,并把这些公式变换为非蕴涵形式的与或形。
与或形表达式是由符号∧和∨连接的一些文字的子表达式组成的。
呈与或形的表达式并不是子句形,与子句集比起来,与或形更多的保留了公式的原始形式。
事实表达式
(∃u)(∀v){Q(v,u)∧~[(R(v)∨P(v))∧S(u,v)]}
把它化为
=(∃u)(∀v){Q(v,u)∧[~(R(v)∨P(v))∨~S(u,v)]}
=(∃u)(∀v){Q(v,u)∧[(~R(v)∧~P(v))∨~S(u,v)]}
=(∀v){Q(v,A)∧[(~R(v)∧~P(v))∨~S(A,v)]}
=Q(v,A)∧[(~R(v)∧~P(v))∨~S(A,v)]
对变量更名标准化,使得同一变量不出现在事实表达式的不同主要合取式中。
更名后得表达式:
Q(w,A)∧[(~R(v)∧~P(v))∨~S(A,v)]
注意:
Q(v,A)中的变量v可用新变量w代替,而合取式[~R(v)∧~P(v)]中的变量v却不可更名,因为后者也出现在析取式~S(A,v)中。
2.事实的与或图表示
⏹在与或图中,结点表示事实表达式
⏹根结点表示整个表达式,叶结点表示表达式中的单个文字
⏹前向演绎系统把AND/OR事实A1A2...Am的每个子公式Ai(i=1,2,...,m)表示成OR结点(即1联结符),是因为它作为证明定理T的前提条件,只要由任一Ai可推出T,即Ai|-T,则T得证。
⏹把事实A1A2...Am每个子公式表示成AND结点(即n联结符),是因为目前并不知道哪些Ai为真,因此要由它证明定理T,必须要证明每个Ai都可推出T。
⏹我们一般把事实表达式的与或图表示倒过来画,即把根节点画在最下面,而把其后继节点往上画。
⏹逻辑公式的AND/OR图表达与子句表达有简单的对应关系:
每个子句对应一解图的叶结点。
重要性质:
就是由变换表达式得到的一组子句,可以从与或图中读出,每个子句相当于与或图的一个解图,每个子句是由叶节点组合成的公式。
上例的3个子句是:
Q(w,A),~S(A,v)∨~R(v),~S(A,v)∨~P(v)
例如,上图有4个解答图,其叶结点分别对应下面的4个子句:
①A
②BDE
③CDE
④F
3.与或图的F规则变换
基于规则的正向推理中,要求F规则具有以下形式:
LW。
具体要求如下:
1.L是单文字,W是任意的与或形表达式。
2.L和W中的所有变量都是全称量词量化的,默认的全称量词作用于整个蕴含式。
3.各条规则的变量各不相同,而且规则中的变量与事实表达式中的变量也不相同。
将F规则的左部限制为单文字,是因为与或图的叶节点都是单文字,这样就可用F规则的左部与叶节点进行匹配,大大简化了规则的应用过程。
如果所给知识的表示形式不是所要求的形式,则可用如下步骤将其变换成标准形式:
(1)暂时消去蕴含符号“”。
例如公式
(x){[(y)(z)P(x,y,z)](u)Q(x,u)}
消去蕴含符号“”变为:
(x){[(y)(z)P(x,y,z)](u)Q(x,u)}
(2)把否定号“”移到每个谓词的前面,可变为
(x){(y)(z)[P(x,y,z)](u)Q(x,u)}
(3)引入skolem函数消去存在量词。
消去存在量词后,为
(x){(y)[P(x,y,f(x,y))](u)Q(x,u)}
(4)将公式化为前束式,并略去全称量词,可变为
P(x,y,f(x,y))Q(x,u)
(5)恢复为蕴含式。
利用等价关系PQ与PQ将上式变为
P(x,y,f(x,y))Q(x,u)
规则S⇒(X∧Y)∨Z~S∨((X∧Y)∨Z)~S∨((X∨Z)∧(Y∨Z))
4.作为终止条件的目标公式
⏹目标公示的表示形式:
要求目标公式用文字的析取式(子句)表示,否则就要化为子句形式。
化简时量词消去方法取事实表达式的对偶形式,即将全称量词的约束变量以Skölem函数或常量取代,并使子句隐含地受存在量词约束。
例如目标公式:
(x)(y)(z)[P(x,y,z)∨Q(x,y)]
最后子句中变量须作换名处理,使各文字不含同名变量。
化简结果为:
P(A,y,g(y))∨Q(A,w)
⏹基于规则的正向演绎推理的基本原理是:
应用F规则作用于表示事实的与或图,改变与或图的结构,从而产生新的事实,直到推出目标公式,则推理成功结束。
借助于与或图表示方式,正向演绎推理从事实表达式出发,不断用激活(左部单文字和与或图叶节点匹配)的F规则对与或图进行变换(从而扩展了与或图),直至得到一个将目标表达式(子句)包含的所有文字都作为叶节点的一致解图。
⏹推理过程:
1.首先用与或图把已知事实表示出来。
2.用F规则的左部和与或图的叶节点进行匹配,并将匹配成功的F规则结论加入到与或图中,即利用F规则转换与或图。
3.重复第
(2)步,直到产生一个含有以目标节点作为终止节点的解图为止,当一个目标文字和与或图中的一个文字匹配时,可以将表示该目标文字的节点(目标节点)通过匹配连接到与或图中相应的文字节点上。
当演绎产生的与或图包括一个目标节点上结束的解图时,推理便成功结束。
例:
事实表达式:
AB;
规则集合:
ACD,BEG;
目标公式:
CG
应用完这两条规则后,得到的与或图如图所示,其中有一个解图满足目标公式(CG)所建立的结束条件。
●规则逆向演绎系统
定义
Ø规则逆向演绎系统是从then向if进行推理的,即从目标或动作向事实或状况条件进行推理的。
Ø它从目标表达式出发,通过反向运用规则进行演绎推理,直到得到包含已知事实的终止条件为止
求解过程
Ø目标表达式的与或形式
Ø与或图的B规则变换
把目标公式化成与或形
逆向演绎系统能够处理任意形式的目标表达式。
采用和变换事实表达式类似的过程,把目标公式化成与或形:
(1)消去蕴涵符号
(2)把否定符号移到每个谓词符号前面
(3)变量标准化
(4)引入Skolem函数消去全称量词
(5)将公式化为前束形
(6)删去存在量词。
留在目标表达式与或形中的变量假定都已被存在量词量化。
(7)重新命名变量,使同一变量不出现在不同的主要析取式中
例如:
有如下的目标表达式
(y)(x){P(x)[Q(x,y)~(R(x)S(y))]}
可转化为如下与或形式:
~P(f(y)){Q(f(y),y)[~R(f(y))~S(y)]}
为使析取式具有不同的变量名,重命名变量,得
~P(f(z)){Q(f(y),y)[~R(f(y))~S(y)]}
把目标公式化成与或形
Ø与或形式的目标表达式可以用与或图表示,但其表示方式与正向演绎中事实表达式的与或图不同。
对于目标表达式,与或图中的k线连接符用来分开合取关系的子表达式
Ø图中根节点为目标表达式,称为目标节点,叶节点表示单个文字。
若把叶节点用它们之间的合取及析取关系连接起来,就可得到原目标表达式的三个子目标:
~P(f(z));Q(f(y),y)~R(f(y));Q(f(y),y)~S(y)可以看出,子目标是文字的合取式,其中的变量是存在量词量化的,而这些子句的析取是目标公式的子句形(析取范式)。
与或图的B规则变换
Ø反向演绎推理中的规则称为B规则,其表示形式为W®L,其中W为任一与或形式表达式,L为单一文字(为了方便匹配)。
如果规则不符合这一要求,则要变换成这种形式。
如规则W®L1ÙL2,可以转换为两个B规则,即W®L1,W®L2。
规则中应Skolem化存在量词量化的变量,并略去全称量词。
Ø在目标公式的与或图中,如果有一个文字L’能够与L合一,则可应用B规则WÞL.应用的结果是将L’结点通过一个标有L与L’的最简合一者u的匹配弧与结点L相连,结点L作为W的与或图的根结点。
这样,新的与或图的解图所对应的子句就增加了一个归结式的集合,即规则WL否定式WL得到的子句与目标公式的子句对文字L进行归结得到的那些归结式。
一条规则可以应用多次,每次都使用不同的变量。
已知事实的表示形式
Ø在反向演绎推理中,要求已知事实表达式是文字的合取式,可表示为文字的集合。
对任意事实表达式,应当用Skolem函数代替事实表达式中存在量词量化的变量,并略去全称量词量化的变量,将表达式转化为标准的文字的合取式。
推理过程
1.用与或图将目标表达式表示出来。
2.在目标与或图中,如果有一个文字L’能够与L合一,则可应用B规则WL,并将L’节点通过一个标有L和L’的最简单合一者的匹配弧与L相连,再将匹配成功的B规则加入与或图中。
一条规则可用多次,每次应使用不同的变量。
当一个事实文字和与或图中的一个文字可以合一时,可将该事实文字通过匹配弧连接到与或图中相应的文字上,匹配弧应标明两个文字的最简单的合一者。
3.重复进行第2步,直到与或图中包括一个结束在事实节点上的一致解图,该解图的合一复合作用于目标表达式就是解答语句。
例:
设有事实:
F1:
DOG(FIDO)FIDO是一只狗
F2:
~BARKS(FIDO)FIDO不叫
F3:
WAGS-TAIL(FIDO)FIDO摆尾巴
F4:
MEOWS(MYRTLE)MYRTLE喵喵叫
规则如下:
R1:
[WAGS-TAIL(x1)DOG(x1)]FRIENDLY(x1)摆尾巴的狗是友好的
R2:
[FRIENDLY(x2)~BARKS(x2)]~AFRAID(y2,x2)友好且不叫的是不令对方害怕的
R3:
DOG(x3)ANIMAL(x3)狗是动物
R4:
CAT(x4)ANIMAL(x4)猫是动物
R5:
MEOWS(x5)CAT(x5)喵喵叫的是猫
问题是:
是否存在一只猫和一条狗,这只猫不怕这条狗?
该问题的目标公式是:
(x)(y)[CAT(x)DOG(y)~AFRAID(x,y)],
求解该问题的过程如下图.
从上图可看出,最后得到的是一个一致解图。
图中共有8条匹配弧,每条匹配弧上都标有置换,分别为{{x/x5}、{MYRTLE/x}、{FIDO/y}、{x/y2,y/x2}、{FIDO/y}、{y/x1}、{FIDO/y}和{FIDO/y}}。
终止在事实结点前的置换为{MYRTLE/x,FIDO/y},把它作用于目标表达式就得到解答语句:
CAT(MYRTLE)DOG(FIDO)~AFRAID(MYRTLE,FIDO)
它表示有一只名叫MYRTLE的猫和一条名叫FIDO的狗,这只猫不怕那条狗。
●规则双向演绎系统
第六节产生式系统
●产生式规则
产生式(Production)一词,首先是由美国数学家波斯特(E.Post)提出来的。
波斯特根据替换规则提出了一种称为波斯特机的计算模型,模型中的每一条规则当时被称为一个产生式。
后来,这一术语几经修改扩充,被用到许多领域。
例如,形式语言中的文法规则就称为产生式。
产生式也称为产生式规则,或简称规则。
为什么要采用产生式系统作为人工智能系统的主要结构呢?
这可以有两点理由
Ø用产生式系统结构求解问题的过程和人类求解问题时的思维过程很相象(下面要举例说明),因而可以用它来模拟人类求解问题时的思维过程。
Ø可以把产生式系统作为人工智能系统的基本结构单元或基本模式看待,就好像是积木世界中的积木块一样,因而研究产生式系统的基本问题就具有一般意义。
产生式规则其实就是产生式系统的主体,是产生式系统知识表示的核心。
故人们常把产生式表示直接称为产生式规则,或简称规则。
这里所说的“规则”,是指人们思维判断中的一种固定逻辑结构关系。
一般产生式的结构可表示为自然语言形式,事实上,在自然语言表达中,人们广泛使用的各种“原因—结果”,“条件—结论”,“前提—操作”,“事实—进展”,“情况—行为”等结构,都可归结为产生式的知识表达形式。
Ø例如:
(1)天下雨,地上湿。
(“原因—结果”结构)
(2)如果把冰加热到零摄氏度以上,冰就会融化为水。
(“条件—结论”结构)
(3)“夜来风雨声,花落知多少。
”(事实及其进展结构)
(4)若能找到一根合适的杠杆,就能撬起那座大山。
(前提—操作)
(5)“才饮长江水,又食武昌鱼,”(事实及其进展结构)
(6)刚才开机了,意味着发出了捕获目标图像的信号。
(情况—行为)
产生式的一般形式为
Ø基本形式:
A→B或者IFATHENB
A是产生式的前提(前件),用于指出该产生式是否可用的条件
B是一组结论或操作(后件),用于指出当前提A所指示的条件满足时,应该得出的结论或应该执行的操作
前件和后件可以是由逻辑运算符AND、OR、NOT组成的表达式。
例:
R:
IF动物会飞AND会下蛋
THEN该动物是鸟
Ø产生式规则的语义是:
如果前提满足,则可得结论或者执行相应的动作,即后件由前件来触发。
所以,前件是规则的执行条件,后件是规则体。
例如,产生式规则:
1如果银行存款利率下调,那么股票价格上涨。
2如果炉温超过上限,则立即关闭风门。
3如果键盘突然失灵,且屏幕上出现怪字符,则是病毒发作。
4如果胶卷感光度为200,光线条件为晴天,目标距离不超过5米,则快门速度取250,光圈大小取f16。
●产生式系统
实质
在产生式系统中,论域的知识分为两部分:
用事实表示静态知识,如事物、事件和它们之间的关系;用产生式规则表示推理过程和行为。
由于这类系统的知识库主要用于存储规则,因此又把此类系统称为基于规则的系统。
基于产生式的推理模式
由产生式的涵义可知,利用产生式规则可以实现有前提条件的指令性操作,也可以实现逻辑推理。
实现操作的方法是当测试到一条规则的前提条件满足时,就执行其后部的动作。
这称为规则被触发或点燃。
利用产生式规则实现逻辑推理的方法是当有事实能与某规则的前提匹配(即规则的前提成立)时,就得到该规则后部的结论(即结论也成立)。
产生式系统由三部分组成:
产生式规则库、推理机和动态数据库
Ø产生式规则是一个规则库,用于存放与求解问题有关的某个领域知识的规则之集合及其交换规则。
规则库知识的完整性、一致性、准确性、灵活性和知识组织的合理性,将对产生式系统的运行效率和工作性能产生重要影响。
⏹规则是一个以“如果满足这个条件,就应当采取某些操作”形式表示的语句。
⏹例如,规则:
如果某种动物是哺乳动物,并且吃肉那么这种动物被称为食肉动物
⏹产生式的IF(如果)被称为条件、前项或产生式的左边。
它说明应用这条规则必须满足的条件;
⏹THEN(那么)部分被称为操作、结果、后项或产生式的右边。
⏹在产生式系统的执行过程中,如果某条规则的条件满足了,那么,这条规则就可以被应用;也就是说,系统的控制部分可以执行规则的操作部分。
Ø总数据库有时也被称作上下文,当前数据库或暂时存储器,用于存放求解过程中各种当前信息的数据结构。
总数据库是产生式规则的注意中心。
⏹产生式规则的左边表示在启用这一规则之前总数据库内必须准备好的条件。
⏹执行产生式规则的操作会引起总数据库的变化,这就使其他产生式规则的条件可能被满足。
Ø控制策略为一推理机构,由一组程序组成,用来控制产生式系统的运行,决定问题求解过程的推理线路,实现对问题的求解。
⏹控制策略的作用
选择规则到执行操作的步骤
1.匹配
把当前数据库与规则的条件部分相匹配。
2.冲突
当有一条以上规则的条件部分和当前数据库相匹配时,就需要决定首先使用哪一条规则,这称为冲突解决。
3.操作
操作就是执行规则的操作部分。
●产生式系统的正向推理
从一组表示事实的谓词或命题出发,使用一组产生式规则,用以证明该谓词公式或命题是否成立。
一般策略:
先提供一批事实(数据)到总数据库中。
系统利用这些事实与规则的前提相匹配,触发匹配成功的规则,把其结论作为新的事实添加到总数据库中。
继续上述过程,用更新过的总数据库的所有事实再与规则库中另一条规则匹配,用其结论再次修改总数据库的内容,直到没有可匹配的新规则,不再有新的事实加到总数据库中。
步骤
步1将初始事实/数据置入动态数据库。
步2用动态数据库中的事实/数据,匹配/测试目标条件,若目标条件满足,则推理成功,结束。
步3用规则库中各规则的前提匹配动态数据库中的事实/数据,将匹配成功的规则组成待用规则集。
步4若待用规则集为空,则运行失败,退出。
步5将待用规则集中各规则的结论加入动态数据库,或者执行其动作,转步2。
Ø例如,有规则集如下:
规则1:
IFp1THENp2
规则2:
IFp2THENp3
规则3:
IFp3THENq3
规则中的p1、p2、p3、q3可以是谓词公式或命题。
设总数据库(工作存储器)中已有事实p1,则应用这三条规则进行正向推理,即从p1出发推导出q3的过程如图所示。
●产生式系统的逆向推理
从表示目标的谓词或命题出发,使用一组产生式规则证明事实谓词或命题成立,即首先提出一批假设目标,然后逐一验证这些假设。
一般策略:
首先假设一个可能的目标,然后由产生式系统试图证明此假设目标是否在总数据库中。
若在总数据库中,则该假设目标成立;否则,若该假设为终叶(证据)节点,则询问用户。
若不是,则再假定另一个目标,即寻找结论部分包含该假设的那些规则,把它们的前提作为新的假设,并力图证明其成立。
这样反复进行推理,直到所有目标均获证明或者所有路径都得到测试为止。