跳轉到內容

計算機科學家邏輯/謂詞邏輯/求解策略/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 演算。
  • 弱條件會導致一個連線演算。
  • 強連結條件會導致一個模型消去演算。
華夏公益教科書