跳转到内容

计算机科学家逻辑/谓词逻辑/求解策略/SLD-求解

来自维基教科书,开放世界中的开放书籍

选择性线性确定 (SLD) 求解

[编辑 | 编辑源代码]

在本节中,我们将介绍一种针对 Horn 子句的线性求解特殊形式。我们将通过以下形式的符号来解释程序中的子句

定义 27

[编辑 | 编辑源代码]

为一组程序子句。假设一个选择函数,对于给定的目标 ,可以从其子目标 中选择一个。进一步假设一个目标 和一个选择函数,该函数选择 。设 中一个子句的变体,使得 没有共同的变量。如果 的最一般统一,则目标

被称为 SLD-消解式

定义 28

[编辑 | 编辑源代码]

对一组程序子句 和一个目标子句 的 SLD-演绎(-反驳)是一个线性演绎(反驳),其中只出现 SLD-消解步骤,并且 是起始子句。

  • 一个 -计算的答案替换 对于 ,其中 是从 的 SLD 证伪中获得的 mgU,选择函数为
  • 对于 的替换 的答案替换。
  • 如果 ,则它对于 是正确的答案替换。

定理 11

[编辑 | 编辑源代码]

是一个程序子句集, 是一个目标子句,而 是一个选择函数。对于 的每个正确答案替换 ,都存在一个 -计算的答案替换 对于 以及一个替换 ,使得

在命题逻辑部分,我们已经解释了命题真值表及其变体,例如连接演算和模型消去。在本节中,我们将介绍一阶情况下的模型消去。请注意,在这种情况下,我们需要一个额外的推理规则,即归约规则。

定义 29

[edit | edit source]

一组子句 的子句(范式)真值表是 的真值表,其节点来自 的文字,并且通过以下规则的(可能无限的)序列构建。

  • 为根, 为其直接后继的树,其中 是来自 的子句的新变体,是 的真值表(初始化规则)。
  • 的真值表, 的一个分支, 是来自 的子句的新变体,使得链接条件满足 mgu 。如果树 是通过用 个子树 扩展 而构建的,那么 的真值表(扩展规则)。
  • 的一个 tableau, 的一个分支, 的一个叶节点,而 ,使得 具有一个 mgu ,则 的一个 tableau(归约规则)。

以下列出了三种可能的链接条件

  1. 无条件。
  2. 弱链接条件:存在文字 ,使得 具有一个 mgu
  3. 强链接条件:存在 的一个叶节点 ,以及 ,使得 具有一个 mgu

类似于命题情况,不同的链接条件会导致不同的演算。

  • 空条件会导致一个子句范式 tableau 演算。
  • 弱条件会导致一个连接演算。
  • 强链接条件会导致一个模型消去演算。
华夏公益教科书