Upload
truman
View
60
Download
1
Embed Size (px)
DESCRIPTION
エージェントアプローチ 人工知能 8章・9章. B4 片渕 08/07/24. 目次 ( 第2版 ). 第8章 一階述語論理 第9章 一階述語論理による推論. 8章:一階述語論理 目次. 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ. 8章:一階述語論理 目次. 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ. 論理ごとの相違. オントロジ的立場 -各論理が推論をする際に仮定する事項 ・命題論理では「 事実 」のみを扱う 認識論的立場 -エージェントが事実に対しての認識方法 - PowerPoint PPT Presentation
Citation preview
1
エージェントアプローチ
人工知能 8章・9章B4 片渕
08/07/24
2
目次 (第2版 )
第8章 一階述語論理
第9章 一階述語論理による推論
3
8章:一階述語論理目次 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ
4
8章:一階述語論理目次 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ
5
論理ごとの相違 オントロジ的立場 -各論理が推論をする際に仮定する事項 ・命題論理では「事実」のみを扱う
認識論的立場 -エージェントが事実に対しての認識方法 ・命題論理では「真 / 偽 / 不定」で認
識
部屋 [1,1] に穴はない etc
6
形式言語(論理)ごとのオントロジ的立場と認識論的立場言語(論理) オントロジ的立
場認識論的立場
命題論理 事実 真 / 偽 / 不定一階述語論理 事実、オブジェ
クト関係
真 / 偽 / 不定
時制論理 事実、オブジェクト関係、時間
真 / 偽 / 不定
確率論 事実 信念の強さファジィ論理 真偽の度合いを
持つ事実既知の区間値
7
一階述語論理命題論理との相違 オブジェクト -推論に影響を及ぼす要素(名詞) 例:部屋、 wumpus 、穴 etc
関係 -オブジェクト間の関係(動詞) 例:「風が吹いている」、「隣接している」
etc 関数 入力からただ一つの値が求まるようなもの例:「最大の~」、「1つ上の~」 etc
8
8章:一階述語論理目次 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ
9
一階述語論理のモデル(一例)
brotherTom Bob
student
hat
right leg right leg
on head
10
一階述語論理における統語論 定数記号 オブジェクトを記述 例:「 Tom 」、「 Bob 」
述語記号 関係を記述 例:「 Brother 」 「 OnHead 」「 Student 」 etc
関数記号 関数を記述 例:「 Hat 」( hat を被っているのは Bob のみ) 「 Rightleg(Tom) 」 (Tom の右足 )
11
一階述語論理における意味論 前述の記号に厳密に「解釈」を規定 例: Brother は兄弟関係 Onhead は帽子が人の頭上にある関
係 Student は学生かどうか Human は人間かどうか etc
を規定 Brother(Tom,Bob) は
トムとボブが兄弟の時、真を返す
12
論理結合子を用いた一階述語論理の表現例 ¬ Brother(Tom,Rightleg(Bob))
-トムとボブの右足は兄弟ではない
Student(Tom)∨Student(Bob)
-トムかボブのいずれかは学生である
¬ Student(Tom) ⇒ Student(Bob)
-トムが学生でなければボブは学生である
13
限量子 全称限量 ( )∀ -全てのオブジェクトに関する記述を表現 例:∀ x Student(x) Human(x)⇒ 「全ての学生は人間である」
存在限量 ( )∃ -世界に存在するオブジェクトに関する記述を表
現 例:∃ x Brother(x,Bob) 「ボブには兄弟が存在する」
x: 変数
14
一階述語論理における表明と質問 表明 (TELL) :文を知識ベース (KnowledgeBase,KB) に追加
例: TELL(KB,Student(Bob))
-文「 Student(Bob) 」を KB に追加
質問 (ASK) :文の真偽を知識ベースに質問 例: ASK(KB,Student(Bob))
- KB に文「 Student(Bob) 」があるので true を返す
注: ASK(KB, x∃ Student(x)) は {x/Bob} を返す
代入:条件を満たす x
15
8章:一階述語論理目次 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ
16
一階述語論理の使い方例: wumpus world
部屋に風が吹いていれば隣の部屋に穴が無ければならない
∀ s Breezy(s) ⇒∃r Adjacent(r,s) Pit(r)∧
ちなみに命題論理の場合 Bi,j P⇒ i-1,j-1 P∨ i-1,j+1 P∨ i+1,j-1 P∨ i+1,j+1
部屋 s で風が吹く
部屋 r は部屋 s の隣にある
部屋 r に穴がある
一階述語論理によって表現の幅が広がった
17
診断規則・因果規則 診断規則 -観測された結果から原因を導くもの ∀ s Breezy(s) r Adjacent(r,s) Pit(r)⇒∃ ∧
因果規則 -想定された因果関係から結果が導かれる ∀ r Pit(r) [ s Adjacent(r,s) Breezy(s)]⇒ ∀ ⇒
部屋に風が吹いていれば隣の部屋に穴が無ければならない
穴によって隣の部屋全てに風が吹く
モデルベース推論
18
おまけ:知識ベースの構築(知識工学) タスクの特定 関連知識の収集 定数、述語、関数の語彙の決定 問題領域に関する一般的知識の記述 -例:「 America は国である」 etc 特定の問題例の記述 -例:「風が吹いていれば隣の部屋に穴があ
る」 etc 推論手続きへの質問と答えの獲得 知識ベースのデバッグ
19
8章:一階述語論理目次 論理ごとの相違 一階述語論理 一階述語論理の使い方 まとめ
20
まとめ 一階述語論理はオブジェクトとその関係を表現 定数記号(オブジェクト)、述語記号(関係)、関
数記号 一般則の表現:限量子(∀・∃)
一階述語論理によって表現力が増した
21
ここまで8章
ここから9章
22
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
23
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
24
命題論理への帰着 一階述語論理命題論理への変換ができれば 命題論理での推論が可能 -命題論理化 ・限量子の無い文に変換
25
命題論理化 全称具現化:全称限量(∀)の無い文に変換 例: ∀ x Student(x) Human(x)⇒ ・ Student(Tom) Human(Tom)⇒ ・ Student(Bob) Human(Bob)⇒
存在具現化:存在限量(∃)の無い文に変換 例: ∃ x Brother(x,Bob)
・ Brother(C1,Bob)
スコーレム定数
※C1 が知識ベースに無いことが条件
※ 知識ベースにある語彙
全てについて
26
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
27
単一化 KB 内の2つの文を 1 つの文にまとめる技法 - UNIFY(p,q)={ 代入 }
例 1 : UNIFY(Brothers(Tom,x),Brothers(Tom,Bob))
={x/Bob} ( Brothers(Tom,Bob) に単一化)
例 2 : UNIFY(Brothers(Tom,x),Brothers(y,Bob))
={x/Bob,y/Tom} ( Brothers(Tom,Bob) に単一化)
同じ述語記号(含 : 引数の数)であることが条件
28
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
29
前向き連鎖 できる限りの推論を行っていきゴールを目指す
例:「 (1) アメリカ人が敵対国に武器を売るのは犯罪」である。「 (2)Nono という国はアメリカの敵国」であり、「 (3) ミサイルを持っていて」、「 (4) その全てがアメリカ人の West により販売された」。
30
知識ベースへの格納(例題)(1)American ( x )∧ Weapon ( y ) ∧ Sells ( x,y,z )∧ Hostile(z) Criminal(x)⇒(2)Hostile(Nono)
(3)∃x Owns(Nono,x) Missile(x)∧命題論理化 (3.1)Owns(Nono,C1) (3.2)Missile(C1)
(4)Missile(x) Owns(Nono,x) Sells(West,x,Nono)∧ ⇒
※ 「ミサイルが武器」「 West はアメリカ人」という事実も格納
(5)Missile(x) Weapon(x) (6)American(West)⇒
31
前向き連鎖での推論(例) KB より「 West が犯罪者である」ことを証
明
(3.1)(3.2)(4) より (7)Sells(West,C1,Nono)
(3.2)(5) より (8)Weapon(C1)
(1)(2)(6)(7)(8) より (9)Criminal(West)
32
前向き連鎖の証明木 Criminal(West)
American(West)
Weapon(C1) Sells(West,C1,Nono)
Hostile(Nono)
Owns(Nono,C1)Missile(C1)
33
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
34
後ろ向き連鎖 ゴールが正しいことを KB の文を用いて証明して
いく
例:「 West が犯罪者である」ことを証明するには (1) より「 American(West) 」 KB に存在 「 Weapon(y) 」 「 Sells(West,y,z) 」 「 Hostile(Nono) 」 KB に存在 を証明する必要がある(以下同様)
35
後ろ向き連鎖の証明木 Criminal(West)
American(West)
Weapon(y) Sells(West,C1,z)
Hostile(Nono)
Owns(Nono,C1)Missile(y)
{y/C1}
{z/Nono}
Missile(C1)
単一化により Missile(C1) と同等になる
36
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
37
一階述語論理における融合法 連言標準形( conjunctive normal form:CNF )への変換 -命題論理における融合規則を利用
消去する相補リテラルについて -述語記号が同じで引数が異なる場合は単一化で消去 例: [P(Tom) Q(∨ Tom,Bob)] [∧ ¬ Q(x,y) R(Bob)]∨ [P(Tom) R(Bob)] ({∨ x/Tom, y/Bob} で単一化 )
(l1 l∨ 2∨ ・・∨ lk) (m∧ 1 m∨ 2∨ ・・∨ mk) l1∨ ・・∨ li-1 l∨ i+1∨ ・・∨ lk m∨ 1 ∨ ・・∨ mi-1 m∨ i+1∨ ・・∨ mk
38
CNFへの変換方法 (1/2) 条件文の消去 -∀ x Missile(x) Weapon(x)⇒ ∀ x ¬ Missile(x) Weapon(x)∨
負リテラル ( ¬ ) を限量子の内部に移す -¬∀ x Criminal(x) ∃ x ¬ Criminal(x)
変数標準化:変数の混同を回避 - ( x P(x) ) (∀ ∨ ∃x Q(x) ) ( x P(x) ) (∀ ∨ ∃y Q(y) )
ホーン節
39
CNFへの変換方法 (2/2) スコーレム化:(「∃」の削除) -∀ x [ y Brother(x,y)]∃ ∀ x Brother(x,F(x))
全称限量子「∀」の削除 - ∀ x Brother(x,F(x)) Brother(x,F(x))
∧ を∨に分配 - [P(x) ∧ Q(x)] R(x)∨ [P(x) R(x)]∨ ∧ [P(x) R(x)]∨
スコーレム関数
CNF
x に依存することを明示
40
融合法での推論 (1/2)例:犯罪例題 KB 内の文を CNF に変換(1) ¬ American ( x )∨¬ Weapon ( y ) ∨ ¬ Sells ( x,y,z )∨¬ Hostile(z) Criminal(x)∨(2)Hostile(Nono)
(3.1)Owns(Nono,C1) (3.2)Missile(C1)
(4)Missile(x) Owns(Nono,x) Sells(West,x,Nono)∧ ⇒(5) ¬ Missile(x) Weapon(x) (6)American(West)∨ ゴールの文の否定も追加(背理法で解く) (7) ¬ Criminal(West)
41
融合法での推論 (2/2)例:犯罪例題 融合規則により文を消去していく (1) (7) ∧ ( Criminal(West) と¬ Criminal(West) を消去)
(8) ¬ American ( x )∨¬ Weapon ( y )∨ ¬ Sells ( x,y,z )∨¬ Hostile(z)
(6) (8) ∧ ( American(West) と¬ American(West) を消去)
(9) ¬ Weapon ( y )∨ ¬ Sells ( x,y,z )∨¬ Hostile(z)
最終的に Hostile(x)∧ ¬ Hostile(x) になる矛盾
42
9章:一階述語論理による推論目次 命題論理化 単一化 前向き連鎖 後ろ向き連鎖 一階述語論理における融合法 まとめ
43
まとめ 命題論理化:一階述語論理を命題論理に変換 単一化:同じ述語を一つにまとめる 前向き連鎖: KB を基にできる限りの推論を
行う 後ろ向き連鎖:ゴールから後ろ向きに証明す
る 融合法を用いる時は連言標準形に変換 -全ての一階述語論理は CNF に変換可能
44
おまけ:Prolog
一階述語論理に基づいた推論を行うプログラム言語
Student(Bob).Human(x) := Student(x).
Student(Bob).Student(Tom).
Human(x) := Student(x).
?Human(Bob).true
?Human(x).x=Bob
;x=Tom
知識ベース 質問と回答
Student(x) Human(x)⇒