人人人人人人 2011 人人 No.6 人人人人人人人人人 人人人人 人人人人
人工知能特論 2011資料 No.6
東京工科大学大学院担当教員 亀田弘之
前回までの確認から
Prenex Conjunctive Normal Form
• Literal
• Clause
• PCNF
3
前回までこんな話をしまし
た。
Leteral
• Literal の定義:1. アトムはリテラル ( 例: P(x), Q(3,5,8) )
2. アトムの否定もリテラル ( 例: ~P(x), ~Q(3,5,8))
– 上記の1を正リテラル (positive literal) 、2を負リテラル (negative literal) という。(例: P(f(x)) は正リテラル , ~P(f(x)) は負リテラル )
4
Clause
• Clause の定義:– ゼロ個以上かつ有限個のリテラルからなる選
言のこと。例:
1. P(a) v Q(x,b,f(s))
2. ~Q(x,y) <=1個のリテラルの選言!
5
Clause の集合による表記法
1. P(a) v Q(x,b,f(s)) {P(a) , Q(x,b,f(s))}
2. ~Q(x,y) {~Q(x,y) }
6
いろいろな表記法があります。慣れるしかありません。
いろいろな表記法があります。慣れるしかありません。
Prenex Conjunctive Normal Form
7
)( 111 mnn CCxqxq る変数はすべて論理式に現れであり、かは ni xxxq ,,, 21
Prenex Conjunctive Normal Form
8
)( 111 mnn CCxqxq
る変数はすべて論理式に現れであり、かは ni xxxq ,,, 21
Prenex Matrix
Clause
PCNF の例
9
)),((~
)),()((
)),()((~
))),()((~)(),(~))()(((
)),(),,((
)))(~),((~)),(~)(((
ayQy
axQxPx
ayQyPyx
xxQbPxPxaQbPaPx
zyPzyxSzyx
aPbaRyxQxPyx
PCNF への変形
• 任意の述語論理式は PCNF に変形することができる。その際、その論理式の真理値は保存される。
• 例:
10
))()((~
))()((~
)()(~
)()(~
)()(~
)()(
yQxPyx
yyQxPx
yyQxPx
yyQxxP
xxQxxP
xxQxxP
定理
• 任意の論理式 φ に対して、 φ と真理値が等価な論理式 ψ でかつ PCNF のものが1つ存在する。
11
変形の手順(その1)
1. 論理式 φ の中の→と↔を次の規則を用いて取り除く。1. ( A→B ) を (~A v B) に置き換える。2. (A↔B) を (~A v B)^(A v ~B) に置き換え
る。
2. 分離された変数がそれぞれ異なるように変数名を書き換える。
12
変形の手順(その2)
3. すべての~がアトムの直前に来るように次の規則を用いて変形する。1. ~∀ x ψ を ∃x~ ψ に置き換える。2. ~∃ x ψ を ∀x~ ψ に置き換える。3. ~ ( φ ∨ ψ ) を ( ~φ ∧ ~ψ ) に置き換える。4. ~ ( φ ∧ ψ ) を ( ~φ ∨ ~ψ ) に置き換える。5. ~~ φ を φ に置き換える。
13
変形の手順(その3)4. すべての限量子∀と∃を論理式の先頭部
分へ移動させる。1. ∃ x φ∨ψ => ∃x (φ∨ψ)
2. φ∨∃x ψ => ∃x (φ∨ψ)
3. ∀ x φ∨ψ => ∀x (φ∨ψ)
4. φ ∨ ∀x ψ => ∀x (φ∨ψ)
5. ∃ x φ∧ψ => ∃x (φ∧ψ)
6. φ∧∃x ψ => ∃x (φ∧ψ)
7. ∀ x φ∧ψ => ∀x (φ∧ψ)
8. φ∧∀x ψ => ∀x (φ∧ψ) 14
変形の手順(その 4 )
5. Matrix 部分を CNF 形式に変形する。1. ((A∧B)∨C) を ((A∨C) ∧ (B ∨C)) に2. ((A∨B)∧C) を ((A∧C) ∨ (B ∧C)) に
15
PCNF 導出の例(練習問題)
16
))),(~))(()(((~))(~))(()(((~
))),(~)((~)))(()(((~
))),(~)((~)))(()(((~
)),(~)((~)))(()((~
)),()((~)))(()((~
)),()((~)))(()((~
)),()((~)))(()((~
)),()((~)))(()((
ayRxfPxPyQxfPxPyx
ayRyQxfPxPyx
ayRyQyxfPxPx
ayRyQyxfPxPx
ayRyQyxfPxPx
ayRyQyxfPxPx
axRxQxxfPxPx
axRxQxxfPxPx
何度も練習してみてください。
何度も練習してみてください。
確認問題
• 次の置き換えは、真理値を保存するか確かめよ。
17
)),(),((
)),(),((
),(),(
)},(),,(),,(),,(),,({
},,{
xaQyxPyx
zaQyxPzyx
xaxQyxyPx
abQcaQaaQbcPcaPI
cbaD
確認問題
• 次の置き換えは、真理値を保存することを確かめよ。
18
))()((
)()(
)}(),({
},,{
yPxPyx
yyPxxP
cPaPI
cbaD
Skolem Standard Form
19
Skolem Standard Form
20
)( 111 mnn CCxqxq
る変数はすべて論理式に現れだけであり、は ni xxxq ,,, 21
Prenex Matrix
Clause
PCNF => SSF への書き換え
• 限量記号(存在記号)∃を除去しなければならない。そのために、スコーレム定数やスコーレム関数を導入する。
• 例:
21
),(),(
))(,(),(
axxPyxxPy
xfxxPyxyPx
大切な注意事項(その1)
• 任意の論理式は PCNF に変形可能• 任意の PCNF は SSF に変形可能• 任意の論理式とそれから導かれる SSF と
は論理的に等価であるとは限らない(真理値は必ずしも保存されない!)。
22
真理値が保存されない例
)}1({
;)2()1(.3
2.2
}2,1{.1
)(
)(
PI
FIandTI
Da
D
aP
xxP
pp
大切な注意事項(その2)
• BUT
• 充足不可能な論理式は充足不可能な SSFに変形される。
• 元の論理式がモデルを持つための必要十分条件は、 SSF がモデルを持つことである。(これは重要な定理の1つ)
24
Herbrand Models
• 次に、フランスの論理学者 Jacques Herbrand が考案した解釈 (interpretation) を導入する。この解釈を特に、 Herbrand interpretation とよび、この解釈に基づくモデルを Herbrand model と呼ぶ。
25
• Herbrand universe U
• Herbrand base B
• Herbrand pre-interpretation J
• Herbrand interpretation I
• Herbrand model M
以下、例で説明する。
26
例:
27
))},()(()),(,(),({ xxQxPxbfaQaP
まず、このような論理式の集合を考える。
Herbrand Universe
28
})),(()),((),(),(,,{ bffaffbfafbaU
元の論理式に含まれていた定数と関数に着目し、これからか得られるすべての項を集めたもの。
Herbrand Base
29
})),(()),((),,(),,(),(),({ bfPafPbbQaaQbPaPB
元の論理式に含まれていた述語を、先ほどのU の要素に適用して得られる述語すべてからなる集合。
Herbrand pre-interpretation
• 解釈の領域 D : Hebrand Universe U
• 定数記号の解釈 : 自分自身に対応させる。• 関数記号の解釈:自分自身に対応させる。
30
Herbrand interpretation
• Herbrand pre-interpretation に基づくInterpretation を Herbrand Interpretation と呼ぶ。
• なお HI の内、所与の論理式(群)を充足するものを Herbrand Model (HM) と呼ぶ。
31
例
注意事項
• HM の意義1.Σ がモデルを持つ Σ が HM を持つ。2.Σ |= φ S は HM を持たない。
ただし、 S は Σ∪ { ~ φ} の SSF 。
述語論理における推論
• Resolution
• 代入• 論理プログラミング( Prolog など)• 帰納論理プログラミング (Progol など )
=>知識分類・知識獲得・知識発見