为证明KB|=a是有效的,需要证明(KB∩!a)是不可满足的
举例:
KB=(B11<=>(P12∪P21))∩!B11
a=!P12
想要证明KB∩!a是不可满足的,即
(((B11<=>(P12∪P21))∩!B11)∩P12)是不可满足的
解题空间:
1、转换为合取范式
①(((B11<=>(P12∪P21))∩!B11)∩P12)原式
②(((!B11∩(P12∪P21))∪(B11∩!(P12∪P21)))∩!B11)∩P12去掉双箭头
③(!B11∪P12∪P21)∩(!P12∪B11)∩(!P21∪B11)∩(!B11)∩P12解开
2、归结消元,将合取范式中的所有子句当成单元,采取归结方法进行处理
有5个单元,两两分组可以有10种,分别对10种可能的进行判断,是否可以进行消元
第一轮:
条件1 | 条件2 | 结果 |
---|---|---|
(!B11∪P12∪P21) | (!P12∪B11) | 包含了B11和P12的所有情况,可删去,结果为P21 |
(!B11∪P12∪P21) | (!P21∪B11) | 包含了B11和P21的所有情况,可删去,结果为P12 |
(!B11∪P12∪P21) | (!B11) | 无交叉,不作处理,结果为(!B11)和(!B11∪P12∪P21) |
(!B11∪P12∪P21) | (P12) | 无交叉,不作处理,结果为(P12)和(!B11∪P12∪P21) |
(!P12∪B11) | (!P21∪B11) | 无交叉,不作处理,结果为(!P12∪B11)和(!P21∪B11) |
(!P12∪B11) | (!B11) | 包含了B11的所有情况,可删去,结果为!P12 |
(!P12∪B11) | (P12) | 包含了P12的所有情况,可删去,结果为B11 |
(!P21∪B11) | (!B11) | 包含了B11的所有情况,可删去,结果为!P21 |
(!P21∪B11) | (P12) | 包含了P21的所有情况,可删去,结果为B11 |
(!B11) | (P12) | 无交叉,不作处理,结果为(!B11)和(P12) |
经过第一轮处理后,原本的条件集(知识集)转变为了:
P21
P12
!B11
(!B11∪P12∪P21)
(!P12∪B11)
(!P21∪B11)
!P12
B11
!P21
然后可以进行第二轮的处理,同样是两两组合进行归结
发现有冲突(P21与!P21),(B11与!B11),(P12与!P12),由于只有当知识集中的所有条件全部满足的时候原式才有真值,所以如果归结有冲突(即归结结果出现空集)证明原知识集中存在矛盾,对于P12、P21、B11三个变量,不管取什么值,都不会让原式有真值,所以证明原式是不可满足的!即(((B11<=>(P12∪P21))∩!B11)∩P12)是不可满足的
那么就有((B11<=>(P12∪P21))∩!B11)=>!P12是不可满足的