Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
述語論理による推論の基礎 / Basics of reasoning by predicate...
Search
Atom
January 09, 2019
1
590
述語論理による推論の基礎 / Basics of reasoning by predicate logic
導出原理の基礎について簡単に説明したスライドです.
Atom
January 09, 2019
Tweet
Share
More Decks by Atom
See All by Atom
文献紹介 / Structure-based Knowledge Tracing: An Influence Propagation View
roraidolaurent
0
76
文献紹介 / Knowledge Tracing with GNN
roraidolaurent
0
76
文献紹介 / Non-Intrusive Parametric Reduced Order Models withHigh-Dimensional Inputs via Gradient-Free Active Subspace
roraidolaurent
0
45
ニューラルネットワークのベイズ推論 / Bayesian inference of neural networks
roraidolaurent
1
2.7k
Graph Convolutional Networks
roraidolaurent
0
200
文献紹介 / A Probabilistic Annotation Model for Crowdsourcing Coreference
roraidolaurent
0
54
文献紹介Deep Temporal-Recurrent-Replicated-Softmax for Topical Trends over Time
roraidolaurent
0
83
文献紹介/ Bayesian Learning for Neural Dependency Parsing
roraidolaurent
0
88
ポッキー数列の加法定理 / Pocky number additon theorem
roraidolaurent
0
190
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
830
Building an army of robots
kneath
302
43k
Building Applications with DynamoDB
mza
90
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Speed Design
sergeychernyshev
24
610
Writing Fast Ruby
sferik
627
61k
Transcript
述語論理による推論の基礎 導出原理を用いた推論 第1回 B3勉強会 2019/1/11 長岡技術科学大学 自然言語処理研究室 吉澤 亜斗武
参考文献・資料 書物 [1] 小林一郎:人工知能の基礎,サイエンス社(2016) [2] 有川節夫,原口誠:述語論理と論理プログラミング, オーム社(1988) 講義資料 [3] 谷口忠大:人工知能概論
第14回, http://ai.tanichu.com/slide_template [4] 二宮祟:知識工学 第6~8回, http://aiweb.cs.ehime-u.ac.jp/~ninomiya/archive/logicbn/ 2
Contents (1) 恒真式の自動証明 (2) スコーレム標準形 (3) 導出原理 (4) 単一化置換 (5)
導出制御戦略 (6) 導出原理による質問応答 3
(1) 恒真式の自動証明 述語論理式 () は恒真式(tautology)か? ∈ において ∥ ∀ ∥=
1であるか? ・対象領域 におけるすべての要素 について()が真であ ることを証明する必要があり,時間がかかる ・ が無限集合であれば,直接的な証明は実質不可能 ここで,論理式を変形してみる. ∥ ∀ ∥=∥ ∀¬¬ ∥=∥ ¬∃¬ ∥= ¬∥ ∃¬ ∥= 1 4
() は恒真式(tautology)か? ∥ ∀ ∥= 1 ∥ ∃¬ ∥= 0
¬() は恒偽式(contradiction)か? よって∃¬() が矛盾,充足不能であることを示せばよい. 5 同等 これは背理法(反駁)による証明 を表している. 否定して矛盾が生じるならば, 否定する前のものは正しいはず (排中律や矛盾律を前提) (1) 恒真式の自動証明
充足不能であることを示すのに導出原理を用いる前に, スコーレム化(Skolemization)という前処理を行い, スコーレム標準形(Skolem normal form)にする必要がある. 例:∃𝑥𝑥() ∨ ¬∃∀ () ⟹
(, ) スコーレム化(詳細は省略) ∀1 ∀2 () ∨ (1 ) ∧ () ∨ ¬(2 , (2 )) 6 同値 (2) スコーレム標準形
∀1 ∀2 () ∨ (1 ) ∧ () ∨ ¬(2
, (2 )) 重要なPOINT: ・否定記号は原子式(素論理式)の直前にある ・連言標準形(和積標準形)であること ・冠頭標準形であること(限定作用素が母式の先頭にある) ・存在作用素が削除され,変数がスコーレム定数または スコーレム関数に置き換わっている. 7 (2) スコーレム標準形
スコーレム定数とスコーレム関数の例 ∃ () ⟺ () : は () を満足する定数 ∃∀
, ⟺ ∀ (, ) : は に束縛されていない ∀∃ , ⟺ ∀ (, ()) : は に束縛されている 8 (2) スコーレム標準形 全称作用素のスコープ(作用域)にある存在作用素はスコーレム 関数,そうでないときはスコーレム定数に置き換える.
スコーレム標準形 ∀1 , ⋯ , ∀ 1 ∧ ⋯ ∧
:節(clause) 節集合 = 1 , ⋯ , とする 導出(融合):親節 , から導出節 を導き出すこと. 導出原理: 節集合 において導出を行い,導出節はに加える. これを繰り返し,空節が導かれたとき,親節は矛盾 することを表し,元の節集合 は充足不能である. 9 (3) 導出原理
導出節 は相補リテラルをもつ親節から導出される. 親節 ≡ ′ ∨ , ≡ ′ ∨
¬ であるとき( :リテラル) 三段論法より(詳細は省略) ( ′ ∨ ) ∧ ( ′ ∨ ¬) ⟹ ′ ∨ ′ ≡ 𝑖𝑖 空節( □, nil )は ∧ ¬ ⟹nil と導出される. 空節が導出できたら,元の論理式は恒偽式である. 10 (3) 導出原理
例: () ∧ ¬() ∨ () ∧ ¬() 11 (3)
導出原理 () ¬() ∨ () ¬() () nil
今,次の2つの節があるとする. (, ) ∨ ¬(, ) ∨ ここで,変数は任意であるので = ,
= と仮定し, 単一化置換(単一化代入) = {/, /} と表現する. 置換の自由度を確保するために,最小限の置換を行うことを 最汎単一化置換(most general unifier)という. 12 (4) 単一化置換
例: () ∧ ¬() ∨ () ∧ ¬() 13 (4)
単一化置換 () ¬() ∨ () ¬() () nil / / 単一化置換 = {/, /} の下で 証明された
節集合が大きいと効率よく導出するための戦略が重要になる. 14 (5) 導出制御戦略 ∨ ¬ ∨ ¬ ¬ ∨
∨ ∨ ¬ ¬
15 機械的な制御戦略 ・幅優先戦略(breadth-first strategy) 導出に使われていない節を優先的に親節として導出する ・線形導出戦略(linear resolution strategy) 直前に導出された節を親節の1つとする 意味的な制御戦略
・支持集合戦略(set-of-support strategy) 含意の形式において前提が通常,充足可能なことを利用 ・意味導出戦略(semantic resolution strategy) 真偽に応じて節をグループ分けし,グループ間で導出 (5) 導出制御戦略
線形導出戦略の例 ・主節と側節から導出する ・主節: 直前に導出された節 ・側節: 節集合内と主節の先祖 16 (5) 導出制御戦略 ∨
¬ ∨ ¬ ∨ ¬ ¬ ∨ ¬ nil
意味的導出戦略の例 リテラル , , を真とし,真偽の異なるグループ間で導出 17 (5) 導出制御戦略 ∨ ¬
∨ ¬ ¬ ∨ ¬ ¬ nil
規則節と事実節からなる知識ベース があり,そこに質問 が与えられたとすると, から が導けるかという問題になる ¬ ⟹ ≡ ∧ ¬
上式は質問 を否定し,知識ベース と合わせて考えて矛盾 を示す背理法(反駁)を表している. ∧ ¬ を導出原理によって空節を導けるかどうかを行う. 18 (6) 導出原理による質問応答
例 知識1:正人は和子の好きなものは何でも好きである ∀ [好き(和子, )⟹ 好き(正人, )] 規則節 知識2:和子はケーキが好きである. 好き(和子,
ケーキ) 事実節 質問 :正人は何が好きか? ∃ 好き(正人, ) ∀ ¬好き(正人, ) 19 (6) 導出原理による質問応答 否定
20 (6) 導出原理による質問応答 ¬好き(正人, ) ¬好き(和子, ) ∨ 好き(正人, )
好き(和子, ケーキ) ¬好き(和子, ) nil / ケーキ/ 単一化された定数「ケーキ」を答えとして返す