当前课程知识点:人工智能 > 3.搜索推理技术 > 3.4消解原理 > 3.4.3消解演绎
1.消解演绎和反演的定义:
设S是子句集,c是子句。若存在一个子句序列c1,…,cn满足
① cn = c
② 任意一个 ci 或者属于 S 或者它前面的子句 ck, cl ( i>k , i>l )的消解式
则称 c1, …, cn 是从子句集 S 到子句 c 的一个消解演绎
当 c=φ 时的消解演绎称为(消解)反演 。
2.反演的基本算法:
①把谓词公式转化为子句集S(所有子句的变量名不同)
②如空子句成为子句集的子句,则算法结束
③在子句集中选取两个不同的可以消解的子句ci , cj
④计算 ci , cj 的消解式 rij
⑤把 rij 加到子句集中,形成新的子句集S
⑥转到②
3.反演的流程图

例:设子句集为S=
,求S的一个反演。
S的一个反演为:

S的另一个反演为:


4.消解反演求解过程
消解反演(数学定理的证明,论断是否成立,即反演)
消解反演证明定理的思路非常类似于数学中的反证法。
给定一个公式集 S(前提条件)和目标公式 L(结论),通过反演来求证目标公式 L,其证明过程为:
①否定 L ,得到 ~L
②把 ~L 加到 S 中
③把新形成的集合{ S , ~L }化为子句集(简化化法)
④应用消解原理,试图导出一个表示矛盾的空子句
反演证明过程的正确性:
设S={F1,…,Fn }是前提条件,L是欲求证的结论,则从前提条件推出结论的问题,可以表示成:
![]()
并证明其永真(永远成立)。
先将公式取“非” :
~(~(F1∧…∧Fn )∨L)
=(F1∧…∧Fn )∧~ L
= F1∧…∧Fn∧~ L
利用消解原理来证明它是永假的(即,构造一个反演)。
实际中,我们可以将 F1∧…∧Fn∧~ L中的每一个部分化成子句集,合并后得到完整的子句集,然后利用消解原理导出空子句(反演)。
例:用消解反演证明
前提:每一个储蓄钱的人都获得利息
结论:如果没有利息,那么就没有人去储蓄钱
证明:设:
S ( x , y ):某人 x 储蓄 y(数量)
M ( x ):x(数量) 是钱
I( x ):x (数量)是利息
E( x , y ):某人 x 获得 y (数量)
前提:每一个储蓄钱的人都获得利息:![]()
结论:如果没有利息,那么就没有人去储蓄钱
![]()
将前提条件化成子句集:
![]()

前提条件的子句集:
![]()
![]()
结论取非:
![]()
化成子句集:

“结论非”的子句集:

完整的子句集:


-1.1人工智能的定义与发展
--人工智能的诞生
--定义
--发展
-1.2智能的本质
--人类智能
--人工的智能
-1.3人工智能各学派的认知观
--AI的萌芽
-1.4人工智能的研究与应用领域
--AI的研究范围
--AI在中国
-资源推荐
--有趣的资源
-章节习题
-2.1知识的基本概念
-2.2状态空间法
--习题
-2.3问题归约法
-2.4谓词逻辑法
-章节习题
-3.1图搜索策略
--图搜索策略概述
-3.2盲目搜索策略
-3.3启发式搜索策略
-3.4消解原理
-章节习题
-4.1概述
--计算智能定义
-4.2神经网络
-4.3进化计算
-4.4蚁群算法
-4.5模拟退火算法
-4.6博弈搜索策略
--教师讲解:博弈树
--教师讲解:剪枝
-章节习题
-5.1专家系统概述
-5.2专家系统结构
--5.4 黑板模型
-5.3专家系统的应用与发展概况
-5.4专家系统实例
-6.1机器学习的基本概念
-6.2记忆学习
-6.3归纳学习
-- 6.3.3决策树学习
-6.4解释学习
-6.5神经学习
-章节习题
-7.1自然语言理解概述
--7.1.1概述
-7.2词法分析
--词法分析
-7.3句法分析
-7.4 统计语言建模
-7.5信息检索