2.プロダクション・ルール型 2.1 逐次的イメージ

4.プロダクション・ルール型
Production Rule Base


プロダクション・ルール型知識ベー
スを用いて推論実行するシステムを
プロダクション・システム(Production
System)と呼ぶ。
単に「ルール型」と呼ぶこともある。
4.1 逐次的イメージ
C1
A1
C2
A2
C3
A3
並列に判定
If C1 Then A1
If C2 Then A2
If C3 Then A3
4.2 競合解消
同一の条件がマッチする場合にどうするか?
現在の状態
C1
A1
C2
A2
A1
A2
A2
C3
A3
A3
を実行
ワーキング・メモリ
プロダクション・ルール
競合セット
マッチ
ング
競合
解消
実行
競合解消の色々
Conflict Resolution
①文脈に適合する最初の規則
②最高優先順位の規則
③最も明確な規則
④最も新しく文脈に追加された要素に関連した規則
⑤新しい規則
⑥任意の規則
⑦適用可能な全ての規則
①文脈に適合する最初の規則
文脈=ワーキング・メモリ
C1
A1
C2
A2
C3
A3

逐次的イメージ
が最もフィット
する。
②最高優先順位

それぞれの
ルールに優先
順位を付けて
おき、マッチン
グしたルール
の中から最も
高い優先順位
のルールを適
用する。
優先順位付け
されたルール
C1
A1
C2
A2
C3
A3
×
A3
A1
実行
③最も明確な規則
ワーキング・メモリ
If C1, C2, C3 Then A1
If C1 Then A2
C1と
マッチ
マッチング
C3と
マッチ
A1
A2
実行
C2と
マッチ
④最も新しく文脈に追加された
要素に関連した規則
Make E1
Make E2
3
C1
A1
2
C2
A2
A1,3
A2,2
1
C3
A3
マッチングに
よってタイム
タグを渡す
Make E3
A3,1
ワーキングメモリ
1 E1 (C3にマッチするものとする)
2 E2 (C2にマッチするものとする)
A1,3
実行
3 E3 (C1にマッチするものとする)
Make E4
4 E4
タイムタグ
⑤新しい規則
旧ルール
R1: If C1 Then A1
R2: If C2 Then GenRule(“If C3 Then A3”) /* GenRule はルール生成 */
R2実行
新ルール
R1: If C1 Then A1
R2: If C2 Then GenRule(“If C3 Then A3”) /* GenRule はルール生成 */
R3:If C3 Then A3
C1, C2, C3が成立する場合、R3が実行される
⑥任意の規則
C1
A1
C2
A2
A1
A2
ワーキング
メモリ
C3
A3
A3
A?
実行
⑦適用可能な全ての規則


競合解消がない。
確信度を用いた順位
付け等で行われる
(例:診断システム)
C1
A1
C2
A2
C3
A3
競合解消なし
A1
A2
ワーキング・メモリ
A3
4.3 効率上の問題点
単純な方式の場合、全体処理時間の90%~
98%がパターン・マッチング(McDermott,J. 1978)
↓
なぜか
↓
 ルールの条件要素の数:m
ワーキング・メモリ要素の数 :
n
↓
m×nの照合が必要

プロダクション・システムの特徴

一次的冗長性
各認知行動サイクルでは僅かな部分だけが変
化する。

構造的類似性
条件要素に類似パターンが多い。
構造的類似性についてOPS5での例
ルール P1
(P P1 (C1 ↑a1 v1 ↑a2 <N>)
(C2 ↑a1 <N> ↑a2 v2
↑a3 v3 ↑a4 <X>))
↑a1, ↑a2等
<N>, <X>
C1, C2等
: プロパティ名
: 変数N, X
: クラス名
Root
Class = C1
Class = C2
↑a1 = v1
↑a2 = v2
↑a3 = v3
C1:↑a2 = C2 : ↑a1
<N> ← C2 : ↑a1
P1
<X> ← C2 : ↑a4
ルール P2
(P P2 (C1 ↑a1 v1 ↑a2 <N>)
(C2 ↑a2 <N> ↑a2 v2
↑a3 v
↑a4 <X>))
↑a1, ↑a2等
<N>, <X>
C1, C2等
: プロパティ名
: 変数N, X
: クラス名
Root
Class = C1
Class = C2
↑a1 = v1
↑a2 = v2
↑a3 = v
C1:↑a2 = C2 : ↑a2
<N> ← C2 : ↑a2
P2
<X> ← C2 : ↑a4
ルールの結合
Root
L003
Class = C1
Class = C2
↑a1 = v1
↑a2 = v2
L004
↑a3 = v
↑a3 = v3
L001
L002
C1:↑a2 = C2 : ↑a1
C1:↑a2 = C2 : ↑a2
<N> ← C2 : ↑a1
P1
<X> ← C2 : ↑a4
<N> ← C2 : ↑a2
P2
<X> ← C2 : ↑a4
ルール結合後の内部形式
ROOT
L001
fork
TEQA
TEQA
fork
AND
TERM
L003
0,C1
1,v1
L002
(2)=(1)
P1
L003
L002
L004
TEQA
TEQA
fork
TEQA
merge
AND
TERM
TEQA
merge
0,C2
2,v2
L004
3,v3
L001
(2)=(2)
P2
3,v
L002
4.4 確信度の考え方




現象から原因を推論する際のルールに使
用される(後ろ向き推論)
原因と現象との間の相関関係が明瞭でな
い場合に使用する。
確信度の学習過程のモデル化は比較的
容易である。
競合解消は「⑦適用可能な全ての規則」で行う。
INTERNIST,MYCINは
医者の世界で花開いた…
単に取り替えてしまうと
いうわけにはいかない
症状が同じでも、病気
には色々とあり、症状
だけで病気を特定する
のは危険
推論の基本
If C1 Then P1(R)
If C2 Then P2(R)
C1が成立するとき、
結論Rが成り立つ
可能性はP1(≦1)
C1 と C2が成立するとき
Rの可能性は?
P(R) = P1(R) + P2(R) - P1(R)×P2(R)
条件成立が不確かな場合
① If C1 Then P1(C2)
② If C2 Then P2(R)
C1が成立するとき
C2が成立する可能性はP1
Rの可能性は、P1×P2
条件式の評価の拡張
以下、Cjが成立する可能性を Pj (j=1~n)とする。
NOT C1
1-P1
C1 AND C2
P1×P2
C1 OR C2
P1+P2-P1×P2
練習
C1 EXOR C2 = (C1 OR C2) AND (NOT C1 OR NOT C2)
であることからEXORに対する評価式を求めよ。
評価のイメージ
AND
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
0.8
0
1
0.8
0.6
0.4
0.2
0
0.2
OR
0.6
0.4
0.4
0.6
0.2
0.8
0.9-1
0.8-0.9
0.7-0.8
0.6-0.7
0.5-0.6
0.4-0.5
0.3-0.4
0.2-0.3
0.1-0.2
0-0.1
0
1
0.9-1
0.8-0.9
0.7-0.8
0.6-0.7
0.5-0.6
0.4-0.5
0.3-0.4
0.2-0.3
0.1-0.2
0-0.1