Upgrade to Pro — share decks privately, control downloads, hide ads and more …

述語論理による推論の基礎 / Basics of reasoning by predicate...

Atom
January 09, 2019
590

述語論理による推論の基礎 / Basics of reasoning by predicate logic

導出原理の基礎について簡単に説明したスライドです.

Atom

January 09, 2019
Tweet

More Decks by Atom

Transcript

  1. (1) 恒真式の自動証明 述語論理式 () は恒真式(tautology)か? ∈ において ∥ ∀ ∥=

    1であるか? ・対象領域 におけるすべての要素 について()が真であ ることを証明する必要があり,時間がかかる ・ が無限集合であれば,直接的な証明は実質不可能 ここで,論理式を変形してみる. ∥ ∀ ∥=∥ ∀¬¬ ∥=∥ ¬∃¬ ∥= ¬∥ ∃¬ ∥= 1 4
  2. () は恒真式(tautology)か? ∥ ∀ ∥= 1 ∥ ∃¬ ∥= 0

    ¬() は恒偽式(contradiction)か? よって∃¬() が矛盾,充足不能であることを示せばよい. 5 同等 これは背理法(反駁)による証明 を表している. 否定して矛盾が生じるならば, 否定する前のものは正しいはず (排中律や矛盾律を前提) (1) 恒真式の自動証明
  3. ∀1 ∀2 () ∨ (1 ) ∧ () ∨ ¬(2

    , (2 )) 重要なPOINT: ・否定記号は原子式(素論理式)の直前にある ・連言標準形(和積標準形)であること ・冠頭標準形であること(限定作用素が母式の先頭にある) ・存在作用素が削除され,変数がスコーレム定数または スコーレム関数に置き換わっている. 7 (2) スコーレム標準形
  4. スコーレム定数とスコーレム関数の例 ∃ () ⟺ () : は () を満足する定数 ∃∀

    , ⟺ ∀ (, ) : は に束縛されていない ∀∃ , ⟺ ∀ (, ()) : は に束縛されている 8 (2) スコーレム標準形 全称作用素のスコープ(作用域)にある存在作用素はスコーレム 関数,そうでないときはスコーレム定数に置き換える.
  5. スコーレム標準形 ∀1 , ⋯ , ∀ 1 ∧ ⋯ ∧

    :節(clause) 節集合 = 1 , ⋯ , とする 導出(融合):親節 , から導出節 を導き出すこと. 導出原理: 節集合 において導出を行い,導出節はに加える. これを繰り返し,空節が導かれたとき,親節は矛盾 することを表し,元の節集合 は充足不能である. 9 (3) 導出原理
  6. 導出節 は相補リテラルをもつ親節から導出される. 親節 ≡ ′ ∨ , ≡ ′ ∨

    ¬ であるとき( :リテラル) 三段論法より(詳細は省略) ( ′ ∨ ) ∧ ( ′ ∨ ¬) ⟹ ′ ∨ ′ ≡ 𝑖𝑖 空節( □, nil )は ∧ ¬ ⟹nil と導出される. 空節が導出できたら,元の論理式は恒偽式である. 10 (3) 導出原理
  7. 例: () ∧ ¬() ∨ () ∧ ¬() 11 (3)

    導出原理 () ¬() ∨ () ¬() () nil
  8. 今,次の2つの節があるとする. (, ) ∨ ¬(, ) ∨ ここで,変数は任意であるので = ,

    = と仮定し, 単一化置換(単一化代入) = {/, /} と表現する. 置換の自由度を確保するために,最小限の置換を行うことを 最汎単一化置換(most general unifier)という. 12 (4) 単一化置換
  9. 例: () ∧ ¬() ∨ () ∧ ¬() 13 (4)

    単一化置換 () ¬() ∨ () ¬() () nil / / 単一化置換 = {/, /} の下で 証明された
  10. 15 機械的な制御戦略 ・幅優先戦略(breadth-first strategy) 導出に使われていない節を優先的に親節として導出する ・線形導出戦略(linear resolution strategy) 直前に導出された節を親節の1つとする 意味的な制御戦略

    ・支持集合戦略(set-of-support strategy) 含意の形式において前提が通常,充足可能なことを利用 ・意味導出戦略(semantic resolution strategy) 真偽に応じて節をグループ分けし,グループ間で導出 (5) 導出制御戦略
  11. 規則節と事実節からなる知識ベース があり,そこに質問 が与えられたとすると, から が導けるかという問題になる ¬ ⟹ ≡ ∧ ¬

    上式は質問 を否定し,知識ベース と合わせて考えて矛盾 を示す背理法(反駁)を表している. ∧ ¬ を導出原理によって空節を導けるかどうかを行う. 18 (6) 導出原理による質問応答
  12. 例 知識1:正人は和子の好きなものは何でも好きである ∀ [好き(和子, )⟹ 好き(正人, )] 規則節 知識2:和子はケーキが好きである. 好き(和子,

    ケーキ) 事実節 質問 :正人は何が好きか? ∃ 好き(正人, ) ∀ ¬好き(正人, ) 19 (6) 導出原理による質問応答 否定
  13. 20 (6) 導出原理による質問応答 ¬好き(正人, ) ¬好き(和子, ) ∨ 好き(正人, )

    好き(和子, ケーキ) ¬好き(和子, ) nil / ケーキ/ 単一化された定数「ケーキ」を答えとして返す