(《机器学习》完整版系列)第15章 规则学习——15.11 基于逆归结的机器证明

把求证问题转化成一个子句集:将条件“分拆”为析取式,并加入结论的否定式,利用置换和消解得到消解式,将消解式放入子句集中,但并不删除子句,继续消解直至得到空子句,从而得证。

基于逆归结的机器证明

15.2 形式推理中,我们谈到利用形式推理体系可以实现机器自动证明,在15.3 归结与逆归结中,我们讨论了反证法的步骤,结合一阶逻辑的逆归结形式推理体系,可通过“合一消解”过程得到空子句来实现反证法,下面我们以一下例子说明。

已知:(1)所有不富有且聪明的人具有创新精神的;

\quad\quad (2)喜欢音乐的人是聪明的;

\quad\quad (3)Bill喜欢音乐且不富有;

\quad\quad (4)具有创新精神的人过着激动人心的生活。

求证:Bill过着激动人心的生活。

下面证明:

定义谓词:

R i c h ( x ) \mathrm{Rich}(x) Rich(x):表示 x x x是富有的;

S m a r t ( x ) \mathrm{Smart}(x) Smart(x):表示 x x x是聪明的;

I n n o v a t i v e ( x ) \mathrm{Innovative}(x) Innovative(x):表示 x x x具有创新精神;

M u s i c ( x ) \mathrm{Music}(x) Music(x):表示 x x x喜欢音乐;

E x c i t i n g ( x ) \mathrm{Exciting}(x) Exciting(x):表示 x x x过着激动人心的生活。

利用谓词将条件转化为一组一阶逻辑公式:

由(1)有: (1) ∀ x ( ¬ R i c h ( x ) ∧ S m a r t ( x ) → I n n o v a t i v e ( x ) ) \forall x(\lnot \mathrm{Rich}(x)\land \mathrm{Smart}(x)\rightarrow \mathrm{Innovative}(x) ) x(¬Rich(x)Smart(x)Innovative(x))

由(2)有: (2) ∀ x ( M u s i c ( x ) → S m a r t ( x ) ) \forall x(\mathrm{Music}(x)\rightarrow \mathrm{Smart}(x) ) x(Music(x)Smart(x))

由(3)有: (3) M u s i c ( Bill ) ∧ ¬ R i c h ( Bill ) \mathrm{Music}(\text{Bill})\land \lnot \mathrm{Rich}(\text{Bill}) Music(Bill)¬Rich(Bill)

由(4)有: (4) ∀ x ( I n n o v a t i v e ( x ) → E x c i t i n g ( x ) ) \forall x(\mathrm{Innovative}(x)\rightarrow \mathrm{Exciting}(x) ) x(Innovative(x)Exciting(x))

求证: E x c i t i n g ( Bill ) \mathrm{Exciting}(\text{Bill}) Exciting(Bill)

由式(15.14)将条件变为若干子句(析取式),形成子句集:

(1) \quad ∀ x ( R i c h ( x ) ∨ ¬ S m a r t ( x ) ∨ I n n o v a t i v e ( x ) ) \forall x(\mathrm{Rich}(x)\lor\lnot\mathrm{Smart}(x)\lor\mathrm{Innovative}(x)) x(Rich(x)¬Smart(x)Innovative(x))

(2) \quad ∀ x ( ¬ M u s i c ( x ) ∨ S m a r t ( x ) ) \forall x(\lnot \mathrm{Music}(x)\lor \mathrm{Smart}(x) ) x(¬Music(x)Smart(x))
(3)

\quad\quad (3-1) \quad M u s i c ( Bill ) \mathrm{Music}(\text{Bill}) Music(Bill)

\quad\quad (3-2) \quad ¬ R i c h ( Bill ) \lnot \mathrm{Rich}(\text{Bill}) ¬Rich(Bill)

(4) \quad ∀ x ( ¬ I n n o v a t i v e ( x ) ∨ E x c i t i n g ( x ) ) \forall x(\lnot \mathrm{Innovative}(x)\lor \mathrm{Exciting}(x) ) x(¬Innovative(x)Exciting(x))

将结论的反面并入到条件集中,即

(5) \quad ¬ E x c i t i n g ( Bill ) \lnot \mathrm{Exciting}(\text{Bill}) ¬Exciting(Bill)

再利用式(15.15)的“反证法”原理,推导出矛盾则题得证。 问题是如何推导出矛盾?(1)至(5)构成子句集 S S S(若用“且”连接可构成句子,即得一阶逻辑公式),由归结原理的重要推论式(15.10)可知,可以通过“合一消解”不断地向子句集 S S S中添加子句,直至矛盾。 添加过程如下:

由(4)(5)作置换 { Bill x } \{\frac{\text{Bill}}{x}\} {xBill},然后消解,得: (6) ¬ I n n o v a t i v e ( Bill ) \lnot \mathrm{Innovative}(\text{Bill}) ¬Innovative(Bill)

由(2)(3-1)作置换 { Bill x } \{\frac{\text{Bill}}{x}\} {xBill},然后消解,得: (7) S m a r t ( Bill ) \mathrm{Smart}(\text{Bill}) Smart(Bill)

由(1)(3-2)作置换 { Bill x } \{\frac{\text{Bill}}{x}\} {xBill},然后消解,得: (8) ¬ S m a r t ( Bill ) ∨ I n n o v a t i v e ( Bill ) \lnot \mathrm{Smart}(\text{Bill})\lor \mathrm{Innovative}(\text{Bill}) ¬Smart(Bill)Innovative(Bill)

由(6)(8)消解,得: (9) ¬ S m a r t ( Bill ) \lnot \mathrm{Smart}(\text{Bill}) ¬Smart(Bill)

由(7)(9)消解,得: (10) S m a r t ( Bill ) ∧ ¬ S m a r t ( Bill ) = ∅ \mathrm{Smart}(\text{Bill})\land \lnot \mathrm{Smart}(\text{Bill})=\varnothing Smart(Bill)¬Smart(Bill)=,即矛盾(空子句),故由反证法题得证,Bill过着激动人心的生活。

总结:把求证问题转化成一个子句集:将条件“分拆”为析取式,并加入结论的否定式,利用置换和消解得到消解式,将消解式放入子句集中,但并不删除子句,继续消解直至得到空子句,从而得证。

当然,复杂情况时,寻找“合一消解”往往由于搜索范围过大(组合爆炸)导致实现困难。

本文为原创,您可以:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值