📜  一阶逻辑推理

📅  最后修改于: 2020-09-23 08:39:20             🧑  作者: Mango

一阶逻辑推理

一阶逻辑推理用于从现有句子中推断出新事实或句子。在理解FOL推理规则之前,让我们了解FOL中使用的一些基本术语。

替代:

替代是对术语和公式执行的基本操作。它以一阶逻辑出现在所有推理系统中。在FOL中存在量词的情况下,替换过程很复杂。如果我们写F[a/x],那么它是指用常量“a”代替变量“x”。

注意:一阶逻辑能够表达有关Universe中某些或所有对象的事实。

平等:

一阶逻辑不仅使用谓词和术语来构成原子语句,还使用另一种方式,即FOL中的相等性。为此,我们可以使用等号来指定两个术语指的是同一对象。

例如:兄弟(约翰)=史密斯。

如上面的示例,兄弟(John)引用的对象类似于Smith的对象。等号也可以与否定符一起使用,以表示两个术语不是同一对象。

示例:¬(x=y)等效于x≠y。

量词的FOL推理规则:

作为命题逻辑,我们在一阶逻辑中也有推理规则,因此以下是FOL中的一些基本推理规则:

  • 通用概括
  • 通用实例化
  • 存在实例化
  • 存在介绍

1.通用概括:

  • 通用概括是一个有效的推论规则,该规则指出,如果前提P(c)对于话语范围中的任意元素c为真,那么我们可以得出结论∀x P(x)。
  • 它可以表示为: 一阶逻辑推理
  • 如果我们要显示每个元素都具有相似的属性,则可以使用此规则。
  • 在此规则中,x不得显示为自由变量。

示例:让我们代表P(c):“一个字节包含8位”,因此对于soxP(x)“所有字节包含8位。”,它也将成立。

2.通用实例化:

  • 通用实例化也称为通用消除或UI是有效的推理规则。可以多次应用它以添加新句子。
  • 新的KB在逻辑上等效于先前的KB。
  • 根据UI, 我们可以推断出用基本术语代替变量而获得的任何句子
  • UI规则规定,我们可以通过从∀x P(x)代入整个语篇空间中的任何宾语,将基本术语c(域x中的常数)替换为句子P(c)。
  • 它可以表示为: 一阶逻辑推理

范例:1。

如果“每个人都喜欢冰淇淋”=>∀xP(x),那么我们可以推断出“约翰喜欢冰淇淋”=>P(c)

范例:2。

让我们举一个著名的例子

“所有贪婪的国王都是邪恶的。”因此,让我们的知识库以FOL的形式包含此细节:

∀x王(x)∧贪婪(x)→邪恶(x),

因此,根据这些信息,我们可以使用通用实例化推断以下任何语句:

  • 金(约翰)∧贪婪(约翰)→邪恶(约翰),
  • 国王(理查德)∧贪婪(理查德)→邪恶(理查德),
  • 国王(父亲(约翰))∧贪婪(父亲(约翰))→邪恶(父亲(约翰)),

3.存在实例化:

  • 存在实例化也称为存在消除,它是一阶逻辑中的有效推理规则。
  • 它只能用于替换现有句子一次。
  • 新的KB在逻辑上不等同于旧的KB,但是如果旧的KB是可以满足的,那么它将是可以满足的。
  • 该规则指出,对于新的常数符号c,可以从以∃xP(x)形式给出的公式中推断P(c)。
  • 此规则的限制是,规则中使用的c必须是P(c)为真的新项。
  • 它可以表示为: 一阶逻辑推理

例:

从给定的句子中:∃xCrown(x)∧OnHead(x,John),

因此,我们可以推断出:Crown(K)∧OnHead(K,John),只要K不出现在知识库中。

  • 上面使用的K是一个常数符号,称为Skolem常数
  • 存在实例化是Skolemization过程特例

4.现有介绍

  • 存在性介绍也称为存在性概括,它是一阶逻辑中的有效推理规则。
  • 该规则指出,如果话语宇宙中存在某些具有属性P的元素c,那么我们可以推断出宇宙中存在某些具有属性P的元素。
  • 它可以表示为: 一阶逻辑推理
  • 例子:假设
    “ Priyanka的英语成绩很好。”
    “因此,有人用英语打出了很好的分数。”

广义模态规则:

对于FOL中的推理过程,我们有一个单一的推理规则,称为通用化模型Ponens。它是Modusponens的提升版本。

广义模态可以概括为:“P表示Q,并且P断言为真,因此Q必须为真”。

根据ModusPonens的说法,对于原子句子pi,pi’,q。如果存在替换θ使得SUBST(θ,pi’,)=SUBST(θ,pi),则可以表示为:

例:

我们将使用此规则,因为国王是邪恶的,因此我们将找到一些x,例如x是国王,x是贪婪的,因此我们可以推断出x是邪恶的。

Here let say, p1' is king(John)        p1 is king(x)  
p2' is Greedy(y)                       p2 is Greedy(x)  
θ is {x/John, y/John}                  q is evil(x)  
SUBST(θ,q).