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
600
述語論理による推論の基礎 / 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
86
文献紹介/ Bayesian Learning for Neural Dependency Parsing
roraidolaurent
0
90
ポッキー数列の加法定理 / Pocky number additon theorem
roraidolaurent
0
190
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
460
33k
A better future with KSS
kneath
238
17k
Thoughts on Productivity
jonyablonski
67
4.4k
A Tale of Four Properties
chriscoyier
157
23k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Raft: Consensus for Rubyists
vanstee
137
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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 / ケーキ/ 単一化された定数「ケーキ」を答えとして返す