推理的定义、方式及其分类:
推理:根据已知事实(证据)和知识,通过某种策略得到结论
反证法:P=>Q,当且仅当P∧^Q <=>F,即Q为P的逻辑结论,当且仅当P∧^Q是不可满足的
定理:Q为P1,......pn的逻辑结论,当且仅当(P1∧P2∧...∧Pn)∧^Q是不可满足的
思路:
谓词公式化子句集:
原子谓词公式:一个不能再分解的命题
文字:原子谓词公式及其否定
P:正文字
^P:负文字
子句:任何文字的析取式(只能用析取连接)。任何文字本身也都是子句
空子句:不包含任何文字的子句;空子句是永假的,不可满足的
例:(∀x)((∀y)P(x,y)-> ^(∀y)(Q(x,y))->R(x,y)))
解:
(1)消去谓词公式中的"->"和"<->"符号
P->Q <=> ^P∨Q
P<->Q <=> (P∧Q)∨(^P∧^Q)
得:(∀x)(^(∀y)P(x,y)∨^(∀y)(^Q(x,y)∨R(x,y)))
(2)把否定符号移到紧靠谓词的位置上
双重否定律:^(^P) <=> P
德摩根律:^(P∧Q) <=> ^P∨^Q;^(P∨Q) <=> ^P∧^Q
量词转换律:^(∃x)P <=> (∀x)^P;^(∀x)P <=> (∃x)^P
得:(∀x)((∃y)^P(x,y)∨(∃y)(Q(x,y)∧^R(x,y)))
(3)变量标准化
得:(∀x)((∃y)^P(x,y)∨(∃z)(Q(x,z)∧^R(x,z)))
(4)消去存在量词
存在量词不出现在全称量词的辖域内
随便用一个个体表示,如a,b,c等
存在量词出现在一个或多个全称量词的辖域内
得:y=f(x),z=g(x)
(∀x)(^P(x,f(x))∨(Q(x,g(x))∧^R(x,g(x))))
(5)化为前束形
前束形=(前缀){母式}
前缀:全称量词串
母式:不含量词的谓词公式
得:(∀x)(^P(x,f(x))∨(Q(x,g(x))∧^R(x,g(x))))
(6)化为skolem标准形
skolem标准形:子句的合取式,称为skolem标准的母式
P∨(Q∧R)<=>(P∨Q)∧(P∨R)
P∧(Q∨R)<=>(P∧Q)∨(P∧R)
得:(∀x)((^P(x,f(x))∨Q(x,g(x)))∧(^P(x,f(x))∨^R(x,g(x))))
(7)略去全称量词
得:(^P(x,f(x))∨Q(x,g(x)))∧(^P(x,f(x))∨^R(x,g(x)))
(8)消去合取词
得:{ ^P(x,f(x))∨Q(x,g(x)),^P(x,f(x))∨^R(x,g(x)) }
(9)子句变量标准化
不同子句的变元变为不同的
得:{ ^P(x,f(x))∨Q(x,g(x)),^P(y,f(y))∨^R(y,g(y)) }
鲁滨逊归结原理:
定义:子句集中子句之间是合取关系,只要有一个子句不可满足,则子句集就不可满足
基本思想:检查子句集S中是否有空子句,若有,则S不可满足;若没有,在S中选择合适的子句进行归结,一旦归结出空子句,就说明S是不可满足的
归结原理:
定义:设C1和C2是子句集中的任意两个子句,如果C1中的文字L1与C2中的文字L2互补(互为否定),那么从C1和C2中分别消去L1和L2,并将两个子句中余下的部分析取,构成一个新的子句C12
例:C1=^P∨Q,C2=^Q∨R,C3=P
解:
(1)C1与C2进行归结,得C12:^P∨R
(2)C3与C12进行归结,得C123:R
定理:归结式C12是其亲本子句C1与C2的逻辑结论,即如果C1与C2为真,则C12为真
推论:设C1与C2是子句集S中的两个子句,C12是它们的归结式,若用C12代替C1与C2后得到的新子句集S1,则由S1不可满足性可推出原子句集S的不可满足性
即,S1的不可满足性=>S的不可满足性
推论:设C1与C2式子句集S中的两个子句,C12式它们的归结式,若C12加入原子句集S,得到新子句集S2,则S1与S2在不可满足的意义上等价
即,S2的不可满足性<=>S的不可满足性
谓词逻辑中的归结原理:
定义:设C1与C2是两个没有相同变元的子句,L1和L2分别是C1和C2中的文字,若б是L1和^L2的最一般合一,则称C12=(C1б-{L1б})∨(C2б-{L2б})为C1和C2的二元归结式
例:C1=P(x)∨Q(x),C2=^P(a)∨R(y)
解:最一般合一,б={a/x};
C1б=P(a)∨Q(a),C2б=^P(a)∨R(y)
C12=Q(a)∨R(y)
步骤:
(1)将已知前提表示为谓词公式F
(2)将待证明的结论表示为谓词公式Q,并否定得到^Q
(3)把谓词公式集{F,^Q}化为子句集S
(4)应用归结原理对子句集S中的子句进行归结,并把每次归结得到的归结式都并入S中,如此反复,若出现了空子句,则停止归结,此时证明了Q为真
例:某公司招聘人员,ABC三人应试,面试后公司表示如下想法:
(1)三人中至少录取一个
(2)如果录取A而不录取B,则一定录取C
(3)如果录取B,则一定录取C
求证:公司一定录取C
解:
将公司的想法用谓词公式表示:
P(x):录取x
(1)P(A)∨P(B)∨P(C)
(2)P(A)∧^P(B)->P(C)
(3)P(B)->P(C)
把要求证的结论用谓词公式表示并否定:
(4)^P(C)
把上述公式化成子句集:
(1)P(A)∨P(B)∨P(C)
(2)^P(A)∨P(B)∨P(C)
(3)^P(B)∨P(C)
(4)^P(C)
应用归结原理进行归结:
(5) P(B)∨P(C) (1)与(2)归结
(6) P(C) (3)与(5)归结
(7) NIL (4)与(6)归结
例:已知
(1)任何人的兄弟不是女性
(2)任何人的姐妹必是女性
(3)Mary是Bill的姐妹
求证:Mary不是Tom的兄弟
解:
定义谓词:
brother(x,y):x是y的兄弟
sister(x,y):x是y的姐妹
woman(x):x是女性
将规则用谓词公式表示:
(1)(∀x)(∀y)(brother(x,y)-> ┐woman(x))
(2)(∀x)(∀y)(sister(x,y)->woman(x))
(3)sister(Mary,Bill)
把要求证的结论用谓词公式表示并否定:
(4)brother(Mary,Tom)
把上述公式化成子句集:
C1=┐brother(x,y)∨┐woman(x)
C2=┐sister(x,y)∨woman(x)
C3=sister(Mary,Bill)
C4=brother(Mary,Tom)
将子句集进行归结:
C23=woman(Mary)
C123=┐brother(Mary,y)
C1234=NIL
步骤:
(1)已知前提F用谓词公式表示,并化为子句集S
(2)把待求解的问题Q用谓词公式表示,并否定,再与ANSWER构成析取式(┐Q∨ANSWER)
(3)把(┐Q∨ANSWER)化为子句集,并入到子句集S中,得到子句集S'
(4)对S'应用归结原理进行归结
(5)若得到归结式ANSWER则答案就在ANSWER中
例:已知
F1:王先生是小李的老师
F2:小李与小张是同班同学
F3:如果x与y是同班同学,则x的老师也是y的老师
求:小张的老师是谁?
解:
定义谓词:
T(x,y):表示x是y的老师
C(x,y):x与y是同班同学
把已知前提用谓词公式表示:
F1:T(Wang,Li)
F2:C(Li,Zhang)
F3:(∀x)(∀y)(∀z)(C(x,y) ∧T(z,x)→T(z,y))
把目标表示成谓词公式,并把它否定后与ANSWER析取:
G:┐(x)T(x,Zhang)∨ANSWER(x)
把上述公式化为子句集:
(1)T(Wang,Li)
(2)C(Li,Zhang)
(3)┐C(x,y)∨┐T(z,x)∨T(z,y)
(4)┐T(u,Zhang)∨ANSWER(u)
应用归结原理进行归结:
(5)┐C(Li,y)∨T(Wang,y) (1)与(3)归结
(6)┐C(Li,Zhang)∨ANSWER(Wang) (4)与(5)归结
(7)ANSWER(Wang) (2)与(6)归结