Download presentation
Presentation is loading. Please wait.
1
知識表現 知識の表現形式 宣言的表現 手続き的表現 プロダクション・ルール フレーム 意味ネットワーク
2
知識 知識の種類 宣言的知識 : “what”に関する知識 手続き的知識 : “how”に関する知識 加減算をする機械である
加減数に相当する個数の珠を移動する
3
知識表現 知識の表現形式 宣言的表現 モジュール性に優れた 静的表現 手続き的表現 処理の効率を重視した 動的表現 宣言的知識 手続き的知識
4
例 足し算 2+3=5 s(s(0)) s(s(s(0))) 自然数 記号表現 1 s(0) 2 s(s(0)) 3 s(s(s(0)))
1 s(0) 2 s(s(0)) 3 s(s(s(0))) s(s(0)) s(s(s(0))) ・・・ ・・・
5
例 足し算 2+3=5 s(s(0)) s(s(s(0))) s(0) s(s(s(s(0)))) 自然数 記号表現 1 s(0) 2
1 s(0) 2 s(s(0)) 3 s(s(s(0))) s(s(0)) s(s(s(0))) s(0) s(s(s(s(0)))) ・・・ ・・・
6
例 足し算 2+3=5 s(s(0)) s(s(s(0))) s(0) s(s(s(s(0)))) (0) s(s(s(s(s(0)))))
自然数 記号表現 1 s(0) 2 s(s(0)) 3 s(s(s(0))) s(s(0)) s(s(s(0))) s(0) s(s(s(s(0)))) ・・・ ・・・ (0) s(s(s(s(s(0)))))
7
例(手続き的表現) LISPによる表現 (s (s (s (s (s (0)))))) x=(s (s (0)))
y=(s (s (s (0)))) (defun plus (x y) (cond ((null (cdr x)) y) (t (plus (cadr x) (list ’s y))) ) ) x=(s (0)) y=(s (s (s (s (0))))) x=(0) y=(s (s (s (s (s (0))))))
8
例(宣言的表現) 論理式による表現 2+3=? 5-2=?
9
宣言的知識表現 一階述語論理式による表現 プロダクション・ルールによる表現 フレームによる表現 意味ネットワークによる表現
10
プロダクション・ルール if-then型の知識表現単位 (例) ルール名 if 条件1, 条件2, ・・・
P1 if (<x> is a bird) (<x> cannot fly) then (<x> is a penguin)
11
プロダクション・システム ルール集合(PM)
P1 if (<x> has wings) then (<x> is a bird) P2 if (<x> is a bird) (<x> cannot fly) then (<x> is a penguin) P3 if (<x> is a bird) (<x> is yellow) then (<x> is a canary) インタプリタ(PSI) 作業記憶(WM) (John has wings) (John is yellow) 外部世界
12
認識・行動サイクル 照合 競合解消 行動 PM WM if C1 then A1 if C1 C2 then A2
A1=(make C5) C1 C3 C4
13
認識・行動サイクル 照合 競合解消 行動 PM WM if C1 then A1 if C1 C2 then A2
C1 C3 C4 C5
14
競合解消戦略 以前に選択されたルールは再び選択しない. ⇒ 無限ループを防ぐ. WM内の新しく追加された要素と照合したルールを選択する.
⇒ 無限ループを防ぐ. WM内の新しく追加された要素と照合したルールを選択する. ⇒ 縦形探索に相当する. 条件部の記述が最も詳細なルールを選択する.
15
照合の効率化 Reteアルゴリズム(Forgy,1982) P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L A3 P1 P2 P3
16
照合の効率化 C2 P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L C2 C3 A3 P1 P2 P3
17
照合の効率化 C2 P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L C2 C3 A3 P1 P2 P3
18
照合の効率化 C3 P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L C2 C3 A3 P1 P2 P3
19
照合の効率化 C3 P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L C2 C3 A3 P1 P2 P3
20
照合の効率化 P1 if C1 C2 then C3 P2 if C2 C3 then C4 P3 if C2 C3 C4 then C5
L R L R A1 A2 R L C2 C3 A3 P1 P2 P3
21
照合の効率化 C4 P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L C2 C3 C4 A3 P1 P2 P3
22
照合の効率化 C4 P1 if C1 C2 then C3 P2 if C2 C3 then C4
P3 if C2 C3 C4 then C5 C1? C2? C3? C4? L R L R A1 A2 R L C2 C3 C4 A3 P1 P2 P3
23
照合の効率化 P1 if C1 C2 then C3 P2 if C2 C3 then C4 P3 if C2 C3 C4 then C5
L R L R A1 A2 R L C2 C3 C4 A3 P1 P2 P3
24
ルールベース・プログラミング ルールの書式統一 OPS(Official Production System) 作業記憶要素の記述
ルールの記述 (クラス名 ^属性1 値1 ・・・ ^属性n 値n) (P P5 (履修 ^科目名 〈科目〉 ^状態 未履修) (必修 ^科目名 〈科目〉) → (make 再履修 ^科目名 〈科目〉 ^必要 有) )
25
エキスパート・システム 例: MYCIN(診断),PROSPECTOR(探鉱) DENDRAL(化合物構造解析)など 作業記憶 知識ベース
事実 中間結果 ルール 推論機構 (推論エンジン) ユーザインタフェイス
26
フレーム 人間の認知活動の特徴 基本構造 トップダウン処理 プロトタイプの利用 frame slot1:
$VALUE: $DEFAUT: $REQUIRE $IF-ADDED $IF-REMOVED $IF-NEEDED 人間の認知活動の特徴 トップダウン処理 プロトタイプの利用 基本構造 frame 付加手続き slot1: (facet1: data1 ・・・) (facet2: data1 ・・・) IS-A INST HAS-A slot2: (facet1: data1 ・・・) (facet2: data1 ・・・)
27
例 ANIMAL (animal (num-legs ($DEFAULT 4))
(age ($IF-NEEDED calculate-age)) ) HUMAN (human (IS-A ($VALUE animal)) (num-legs ($VALUE 2)) (height ($DEFAULT 170)) (weight ($DEFAULT 60)) ) TARO ・太郎は2000年生まれである. (Taro (INST ($VALUE human)) (year-of-birth ($VALUE 2000)) )
28
例 ANIMAL (animal (num-legs ($DEFAULT 4))
(age ($IF-NEEDED calculate-age)) ) HUMAN (human (IS-A ($VALUE animal)) (num-legs ($VALUE 2)) (height ($DEFAULT 170)) (weight ($DEFAULT 60)) ) TARO ・太郎は2000年生まれである. (Taro (INST ($VALUE human)) (year-of-birth ($VALUE 2000)) ) ・太郎の年齢は?
29
例 ANIMAL (animal (num-legs ($DEFAULT 4))
(age ($IF-NEEDED calculate-age)) ) HUMAN (human (IS-A ($VALUE animal)) (num-legs ($VALUE 2)) (height ($DEFAULT 170)) (weight ($DEFAULT 60)) ) TARO ・太郎は2000年生まれである. (Taro (INST ($VALUE human)) (year-of-birth ($VALUE 2000)) ) ・太郎の年齢は? ・太郎の身長は?
30
意味ネットワーク 知識の構造的表現 基本要素 〈概念 属性 値〉 動物 IS-A 節点 有向枝 人間 (例)
31
例 animal eat fly bird dog run yellow canary chihuahua spitz not-fly
ACT animal eat IS-A IS-A ACT ACT fly bird dog run IS-A IS-A IS-A IS-A COLOR yellow canary chihuahua spitz ACT not-fly penguin
32
意味ネットワーク上の推論 属性の継承 animal eat fly bird ペンギンは飛ぶか? yellow canary NO
ACT animal eat IS-A ACT 属性の継承 fly bird IS-A IS-A ペンギンは飛ぶか? COLOR yellow canary NO ACT not-fly penguin
33
意味ネットワーク上の推論 属性の継承 animal eat fly bird カナリアは飛ぶか? yellow canary YES
ACT animal eat IS-A ACT 属性の継承 fly bird IS-A IS-A カナリアは飛ぶか? COLOR yellow canary YES ACT not-fly penguin
34
多重継承の問題 elephant gray royal elephant write Clyde クライドの色は? COLOR IS-A
35
知識の表現形式と推論形式 手続き的パラダイム 宣言的パラダイム 制約的パラダイム 手続き 逐次的評価 ルール フレーム 述語論理
制約式 逐次的評価 手続き的プログラミング 前向き,後向き連鎖 ルールベース・プログラミング 継承,付加手続き オブジェクト指向プログラミング 演繹 論理プログラミング 制約伝播,制約解消 制約論理プログラミング
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.