把求证问题转化成一个子句集:将条件“分拆”为析取式,并加入结论的否定式,利用置换和消解得到消解式,将消解式放入子句集中,但并不删除子句,继续消解直至得到空子句,从而得证。
基于逆归结的机器证明
在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过着激动人心的生活。
总结:把求证问题转化成一个子句集:将条件“分拆”为析取式,并加入结论的否定式,利用置换和消解得到消解式,将消解式放入子句集中,但并不删除子句,继续消解直至得到空子句,从而得证。
当然,复杂情况时,寻找“合一消解”往往由于搜索范围过大(组合爆炸)导致实现困难。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:15.10 归纳逻辑程序设计之逆归结
下一篇:15.1 任务与奖赏(从MDP出发)