首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不标准化变量只会破坏解析的完备性

为什么不标准化变量只会破坏解析的完备性
EN

Stack Overflow用户
提问于 2014-10-23 16:37:35
回答 1查看 357关注 0票数 1

转换为CNF的步骤之一是Standardize variables

我一直在寻找为什么如果我不对变量进行标准化,为什么会违反解析算法的完整条件,并且不会违反健壮性。

任何人都可以添加细节,为什么只是破坏了完整性,而健壮性仍然存在?

EN

回答 1

Stack Overflow用户

发布于 2015-03-13 08:31:45

这里有一个示例,可以帮助您可视化这一点。假设你的理论是

(for all X : nice(X)) or (for all X : smart(X)) (1)

如果分开进行标准化,将会产生CNF:

代码语言:javascript
复制
nice(X) or smart(Y)

也就是说,一个群体中的每个人都很好,或者每个人都很聪明,或者两者兼而有之。

分离标准化将产生一个CNF

代码语言:javascript
复制
nice(X) or smart(X)

这相当于

(for all X : nice(X) or smart(X)) (2)

也就是说,对于一个群体中的每个人来说,这个人要么是好的,要么是聪明的,或者两者兼而有之。

这个理论(2)比最初的理论(1)说得更少,更弱,因为它承认了一种情况,在这种情况下,不是每个人都是好的,也不是每个人都是聪明的,但每个人都是一个人或另一个人,或者两者兼而有之。换句话说,(2)并不意味着(1),但(1)意味着(2) (如果整个群体都很好,那么每个人都很好;如果整个人群都很聪明,那么每个人都很聪明;因此,每个人要么很好,要么很聪明)。(2)接受的可能世界的集合严格大于(1)接受的可能世界的集合。

关于完整性和健壮性,这说明了什么?

使用(2)是不完整的,因为我可以向您展示(1)中的一个真定理的反例,该定理在使用(2)时不被证明为真。考虑一下定理“如果John不是很好而是聪明,那么Liz就是聪明的”。因此,我不能再使用(2)来证明一个真实的定理(在删除标准化之后),因此我的推理是不完整的。

现在假设我用(2)证明了一些定理T是真的。这意味着T在(2)成立的每个可能的世界中成立,包括(1)成立的它们的子集(根据上面从这里开始的第三段)。因此,T在(1)中也是真的,所以使用(2)进行推理仍然是正确的。

简而言之:当你没有标准化分离时,你会“连接”关于整个域(群体)的陈述,并使它们关于个体,这将是较弱的,并且不会暗示以前暗示的一些事实;它们将丢失,并且你的过程将不完整。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26524237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档