人工智能中的存在量词和通用量词

Posted

技术标签:

【中文标题】人工智能中的存在量词和通用量词【英文标题】:Existential and universal Quantifiers in AI 【发布时间】:2016-01-08 15:10:13 【问题描述】:

我刚刚开始一阶谓词逻辑。 为什么全称量词和单蕴涵在一起? 同样存在量词和连词一起去?

采取声明:有些青蛙是绿色的 那么为什么这是一个错误的翻译:∃x (frog(x) → green(x))

另外,对于语句:All frogs are green (∀x)(frog(x) → green(x)) 似乎不是正确的翻译;在 frog(x) 变为假的情况下,表达式(∀x)(frog(x) → green(x)) 将始终为真。

用真值表解释会有帮助

【问题讨论】:

【参考方案1】:

我想你所说的“一起去”是指:

所有的青蛙都是绿色的的意思是对于所有的东西,如果它们是青蛙,它们就是绿色的,或者,作为一阶谓词逻辑的公式:

(∀x)(frog(x) → green(x))

有些青蛙是绿色的意思和有些东西既是青蛙又是绿色的意思一样

(∃x)(frog(x) ∧ green(x))

然后你问:

接受陈述:Some frogs are green 那么为什么这是一个不正确的翻译:(∃x)(frog(x) → green(x))

现在,如果有些青蛙是绿色的,确实(∃x)(frog(x) → green(x)) 是真的!但是 converse 是不正确的:只要您的域中有一个非青蛙, (∃x)(frog(x) → green(x)) 是真的,即使看不到绿青蛙,即。即使 有些青蛙是绿色的 是假的。

所以(∃x)(frog(x) → green(x)) 有些青蛙是绿色的

不一样

(另请参阅 Philosophy.stackexchange.com 上的this discussion)

另外,对于语句:All frogs are green (∀x)(frog(x) → green(x)) 似乎不是正确的翻译;在frog(x) 变为假的情况下,表达式(∀x)(frog(x) → green(x)) 将始终为真。

认为你想说如果没有青蛙(∀x)(frog(x) → green(x)) 是真的,而在你(和亚里士多德的)看来所有青蛙都是绿色的不是, 在这种情况下。这是普遍命题existential import 的古老而古老的问题。它有着悠久而迷人的历史;可以说现代逻辑学家和哲学家认为在没有青蛙的世界中所有的青蛙都是绿色的是正确的(就像所有的青蛙都是红色的一样)

【讨论】:

我没有得到你。你的意思是,(∃x)(frog(x) → green(x)) 的问题是,如果 x 不是青蛙,它就变成了真的?如果是,那么 (∀x)(frog(x) → green(x)) 可能会出现同样的问题,对于任何非青蛙来说,这里也是如此。 不,我只是说 (∃x)(frog(x) → green(x)) 可以是真的,即使“有些青蛙是绿色的”是假的,所以它们的意思不一样。 (∀x)(frog(x) → green(x)) 即使有非青蛙也可能是真的(只要看看你当地的公园) 类似地,如果“所有青蛙都是绿色的”为假,则 (∀x)(frog(x) → green(x)) 可以为真。我在这里没有看到什么吗? 如果“所有的青蛙都是绿色的”是假的,那么肯定有一些非绿色的青蛙。称这只青蛙为“kermit”,则 frog(kermit) → green(kermit) 为假,由此可知 (∀x)(frog(x) → green(x)) 为假 谢谢先生的帮助,虽然我还是没有得到它。【参考方案2】:

如果有些青蛙是绿色的,那么: ∃ x : 青蛙(x) => 绿色(x) 听起来对我来说是正确的......

【讨论】:

以上是关于人工智能中的存在量词和通用量词的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OO 编程中实现存在量词?

序言中的普遍和存在量词

常用逻辑用语@命题@猜想@量词

含有任意量词与存在量词的最值问题

中文分词的常见项目

使用 Coq 证明存在量词