ファジィ推論

Download Report

Transcript ファジィ推論

認知システム論 知識と推論(2)
知識を表現し,それを用いて推論する
あいまいな知識の表現とファジィ推論
ファジィ論理
ファジィ集合
ファジィ推論
ファジィ制御
ファジィ理論とは
Fuzzy theory





あいまい性についての数学的な理論
例:「非常に背が高い」
主観の科学的利用
客観
言語で表現された知識の利用
数値
提唱者:ザデー(1965,カリフォルニア大)
応用:日本で開花(1987,家電,地下鉄)
ファジィ制御
ファジィ・エキスパートシステム
ファジィ論理
Fuzzy logic
2
値
論
理
ファジィ論理
P
Q
P and Q
P or Q
not P
0
0
0
0
1
0
1
0
1
1
1
1
0
1
0
1
1
1
0
0
0.6
0.8
0.4
0.6 0.8
min(P,Q)
max(P,Q)
1-P
ファジィ集合(1/6) ファジィ集合
Fuzzy set
クリスプ集合
175cm以上の人の集合
名
前
A
身長
(cm)
175
グレード
B
170
0.6
C
180
0.9
D
165
0.4
E
160
0.3
0.8
ファジィ集合
背の高い人の集合
ファジィ集合(2/6) メンバーシップ関数
membership function
特徴関数(characteristic function)
f A ( x) : X {0,1}
fuzzy
crisp
1, if x  A
f A ( x)  
0, if x  A
メンバーシップ関数
 A ( x) : X  [0,1]
グレード
グレード
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.0
140
150
160
170
身長 (cm)
180
190
0.0
140
150
160
170
身長 (cm)
180
190
ファジィ集合(3/6) 共通集合
Intersection
(x)
1
B
A
0
x
 AB ( x)   A ( x)  B ( x)
(x)
 min[ A ( x), B ( x)]
1
0
A∩B
共通集合
(Intersection)
x
ファジィ集合(4/6) 和集合
Union
(x)
1
B
A
0
x
 AB ( x)   A ( x)  B ( x)
(x)
 max[ A ( x), B ( x)]
1
A∪B
0
和集合
(Union)
x
ファジィ集合(5/6) 補集合
complement
(x)
1
A
0
 A ( x)  1   A ( x)
x
(x)
1
A
0
補集合
(Complement)
x
ファジィ集合(6/6) 成り立たない性質
A A  
 ( x)
1
0
A
A A  X
 ( x)
A
1
x
0
A
A
x
ファジィ推論とファジィ制御
ファジィ推論の例題(1/6)
ファジィルール
ルール
IF
x is A
AND
y is B
THEN z is C
ルール1
カーブがきつく,速度が小さいならば,速度を保持
ルール2
カーブがきつく,速度が大きいならば,速度を下げる
ルール3
カーブがゆるく,速度が小さいならば,速度を上げる
ルール4
カーブがゆるく,速度が大きいならば,速度を保持
Question
カーブ半径=60m,速度=50km/hならば,加速度=?
ファジィ推論の例題(2/6)
メンバーシップ関数(前件部)
1
1
カーブが
ゆるい
カーブが
きつい
50
100
150
カーブ半径 [m]
速度が
大きい
速度が
小さい
20
40
60
時 速 [km/h]
ファジィ推論の例題(3/6)
メンバーシップ関数(後件部)
1
速度を
下げる
-1
速度を
保持
速度を
上げる
0
加速度 [m/s2]
1
ファジィ推論の例題(4/6)
ルールの評価
(ルール1) カーブがきつく,速度が小さいならば,速度を保持
1
カーブがきつい
1
1
速度が小さい
M
I
N
60
50
-1
(ルール2) カーブがきつく,速度が大きいならば,速度を下げる
1
カーブがきつい
1
速度を
保持
0
速度を
下げる
速度が大きい
1
1
M
I
N
60
50
-1
0
1
ファジィ推論の例題(5/6)
ルールの評価 (続き)
(ルール3) カーブがゆるく,速度が小さいならば,速度を上げる
カーブがゆるい
1
1
1
速度が小さい
速度を
上げる
M
I
N
60
50
-1
0
1
(ルール4) カーブがゆるく,速度が大きいならば,速度を保持
カーブがゆるい
1
1
速度が大きい
M
I
N
60
50
カーブ半径
-1
時速
1
速度を
保持
0
1
ファジィ推論の例題(6/6)
出力の合成と非ファジィ化
重心
(center of gravity)
-1
0
1
b
a  A ( x) xdx
b
a  A ( x)dx
-1
0
1
-1
0
1
-1
0
1
COG 
離散化
(重み付き和)
MAX
b
COG 
  A ( x) x
1
x a
b
  A ( x)
x a
速度を
やや下げる
重心
-1
0
1
加速度 = -0.4
非ファジィ化
すげの
菅野の方法(1/2) ルールの形式
ルール
IF
x is A
AND
y is B
THEN z is f(x,y)
あいまいでない
数値にする
定数でもよい
ルール1
カーブがきつく,速度が小さいならば,加速度=0
ルール2
カーブがきつく,速度が大きいならば,加速度=-2
ルール3
カーブがゆるく,速度が小さいならば,加速度=2
ルール4
カーブがゆるく,速度が大きいならば,加速度=0
Question
カーブ半径=60m,速度=50km/hならば,加速度=?
菅野の方法(2/2) 推論
0.75
1
速度を
下げる
-1
速度を
保持
速度を
上げる
0
加速度
0.3
1
[m/s2]
0.1
単元集合
1
加速度
=-2
加速度
=0
加速度
=2
0.1
MAX
0
0.75
-2
0
2
加速度 [m/s2]
WA 
0.75  (2)  0.3  0  0.1 2
 1.13
0.75  0.3  0.1
0.3
0.1
-2
Crisp output
0
2
メンバーシップ関数の設計
学習

パラメータ化し,後にチューニングする
1.0
0

a
b
c
d
じゅうぶんな数のルールを用意する
ファジィ制御の応用
洗濯機
短い時間で,布傷みを少なくして洗う

もし,布量が多く,かつ,布質がごわごわならば,
水流を強くし,洗い時間を長くする.
掃除機
吸収力は強く,ノズルが床面に吸着しないように

もし,ゴミの量が多く,かつ,床面がカーペット状ならば,
吸収力を大きくする.