Introduzione alla logica sfumata
Introduction to Fuzzy Logic
Insieme sfumato Fuzzy Set
Dominio di definizione; definition space: x  X  R
L’insieme sfumato è definito dalla funzione di appartenenza; Fuzzy set
defined by its membership function:
mA(x) 0  mA(x) 1 ,x  X
Insieme vuoto; Empty set F: mf(x)=0 per xX ;
Insieme universo; Univers set S: mS(x) =1 per xX
Insieme unione; Union set: AB mAB (x)=max[mA(x);mB(x)]
Insieme intersezione; Intersection set: AB mAB(x)=min[mA(x);mB(x)]
Insieme complementare; complement set: A* di of A : mA(x)+mA*(x)=1=
mS(x)
mF(x)
1
mS(x)=1
mA*(x)
mB(x)
mA(x)
x
0
mF(x)=0
10
X=(0<x<10)
Fuzzy sets:
F: mF(x)=0 per xX
S: mS(x)=1 per xX
A insieme sfumato generico mA(x) = 01 per xX
A* insieme complementare di A: mA*(x) =1-mA(x)
Vettore sfumato; Fuzzy vector:
C(x)= (c1,c2,…,cM) = (mc1(x), mc2(x),…, mcM(x))
Per Insiemi Booleani; For Boolean Sets:
Principio di esclusione; Exclusion principle:
AA* = S; AA* = F
AA* : mAA* (x) = max[mA(x),mA*(x)]≤ 1
AA* : mAA* (x) = min[mA(x),mA*(x)] ≥0
Gli insiemi sfumati non godono del principio di esclusione;
Exclusion principle is not valid for Fuzzy sets
A  A*  S
AA*  F
Insiemi sfumati di insiemi sfumati (funzioni sfumate a più valori)
Fuzzy sets of fuzzy sets: (multivalued fuzzy functions)
y1
yj
mC(B)
mB(yj)
C(xi,yj)
B
mC(A)
yM
A
mA(xi)
x1
xi
xM
mC2(x)
S=(1,1)
(0,1)
(2/3,1/4) A
mC(x)
(1,0)
F=(0,0)
mC1(x)
Vettore sfumato c =(c1 , c2) nel piano delle sue funziomi di appartenenza
Fuzzy vector c =(c1 , c2) in the plane of the membership functions
Segnali
analogici
Antecedenti: variabili linguistiche a più valori (simboli)
Analog
Antecedents: Multivalued linguistic variables (symbols)
signals
Quantizzatore
Elaboratore
sfumata
linguistico
Quantificatore
Fuzzifier
Linguistic
Defuzzier
processor
variabile linguistica a più valori (simbolo): Conseguente
Multivalued linguistic variable (symbol): Consequent
Struttura di un sistema per l’ elaborazione sfumata
Fuzzy set processor
Segnale
analogico
Analog
signal
Segnali
analogici
Antecedenti: variabili linguistiche a più valori (simboli)
Analog
Antecedents: Multivalued linguistic variables (symbols)
signals
Massimo
Quantizzatore
Elaborazione
degli
sfumato
linguistica
ingressi
Fuzzifier
Linguistic
Max of
processing
input
grado di apparteneza:conseguente
membership value: consequent
Classe
riconosciuta
Selected
class
Riconoscitore basato sulla logica sfumata
Fuzzy recognition system
mi(x); i=0,1 (appartenenza alla variabile binaria)
binario sfumato
binario booleano
1
m0(x)
m1(x)
0
Vm
T
X
VM
x
Fig. 2 Funzioni di appartenenza alla variabile binaria
( codificatore binario booleano e codificatore binario sfumato)
mai(x), i= P,M,G
1
maP(x)
maM(x)
maG(x)
x
0
A = {aP ,aM ,aG}
10
Funzioni di appartenenza di una grandezza sfumata a tre valori (piccolo:P,
medio: M,grande: G)
Membership functions of a three valued fuzzy variable (small:P,medium:M,
large: G)
A
aMP
aP
bP
cP
cP
bG
cP
B
cM
A={aMP,aP,xM,aG} B={b ,b }
P G
aM
aG
cM
cG
cG
cMG
C={cP,cM,cG,cMG}
C= f(A,B)
Esempio di trasformazione degli antecedenti Ae B nel conseguente C
Example of the mapping of antecedents A,B into the conequent C
F1
QS; F
mF1
Elab.
Ling.
mF2
F2
F2
mI
B
A
MP
U
U
mO
I…E
argmax
mA
mE
QS;F
F1
mU
P
M
O
A
A
E
I
E
G
V={I,U,O,A,E}
F1={MP, P,M,G} F2={B,A}
Riconoscimento di vocali con logica sfumata
Fuzzy vowel recognition
A
-1
B
1
0
0
1
-1
B= NOT(A)
A
-1
0
1
-1
-1
0
1
0
0
0
1
1
B
1
C= OR(A,B)
A
-1
0
1
-1
-1
-1
-1
1
0
-1
0
0
1
1
-1
0
1
B
C= AND(A,B)
Trasformazioni di funzioni logiche a tre valori
Basic three valued logic variable transformation
mi(y),
mP(y)
1
mP(y) = .8
mM(y) = .3
AP
mM(y)
mG(y)
AM
AG
mG(y) = .1
yP
yM
yG
y= (Si yi Ai)/(Si Ai) con i = P,M,G
Quantificazione con il metodo dei centroidi
Method of the centroids for fuzzy quantification
y
x
Quantizzatore
sfumato
Fuzzifier
mx
Quantificatore
Defuzzifier
(MLP)
x^
e
+
_
Realizzazione del Quantificatore con un Percettrone Multistrato
Implementation of the Defuzzifier using a Multi LayerPperceptron
c(m,n)
l(i,j)
T’
DCT
S
L’
class
T
Fuzzifier
L
S
Linguistic
Processor
B
argmax
[mHI,mMH,mML,mLO]
Input: Image luminance I(i,j)
Preprocessed input pattern: DCT Transforms
Input pattern: Total (T’)and low frequency (L’) energies:
T’ = S |c(m,n)|-|c(0,0)|, m,n = 0-7
L’ = S |c(m,n)|-|c(0,0)|, m,n = 0-3
Antecedents:Fuzzy Total Energy: T={VS, SM, ML, LG}
Fuzzy Low Frequency Energy: L={SM, LG}
Conseguents: Visibility Block Classification: B={LO,ML,MH,HI}
Classificatore sfumato delle trasformate DCT di blocchi d’ immagine
Image DCT Block fuzzy Classifier
mVS, mSM, mML, mLG
VS
1
SM
ML
LG
0
100
T
mSM, mLG
SM
1
0
LG
100
L
Funzioni di appartenenza per la codifica sfumata di T ed L
Membership functions used for T and L fuzzification
T
VS
SM
ML
LG
SM
LO
ML
MH
HI
LG
LO
ML
HI
L
HI
Trasformazione linguistica dell’ attivita’ dei blocchi DCT
Linguistic transformation of the DCT blocks
x
me
e
+
_
D(e)/Dt
e’
c
s me’
mvp
Controllore
mv
sfumato
Fuzzy
controller
y
q
s
inseguitore
(motore)
Dt
Errore di posizione; position error: (e=x-y)
Antecedenti; antecedents:
Errore; error: e={N,Z,P},
Derivata dell’ errore; error derivative: e’={N,Z,P},
Velocita’ al tempo n-1; speed at time n-1: vp={N,Z,P}
Conseguente; consequent: Velocita’; speed:v={N,Z,P}
Controllore PID sfumato per motori
Fuzzy PID motor controller
Apprendimento dei classificatori sfumati
Learning of the fuzzy classifiers
a) Metodo del gradiente per l’addestramento dei quantizzatori
sfumati; Gradient method for the learning of the fuzzifier
Problema della derivazione delle funzioni discontinue;
issues of the differentation of discontinous functions)
max(x,a)/x = 1 if x>a else max(x,a)/x = 0
b) Addestramentodi tutti i blocchi (CS, Trasf. Linguistico, QS)
Learning of all the blocks (Fuzzifier, Ling. mapping, Defuzzzifier)
Si utilizza l’architettura ANFIS; we use the ANFIS architecture
(Adaptive Network-based Fuzzy Inference System;
Sistema d’inferenza sfumato basato su una rete adattativa )
Introduzione all’architettura ANFIS,Introduction to the ANFIS architecture
z
z(x)
z2
zP
z1
zp
z0= wr
x0= -r/p
x1
x2
xp
x
xP
Problema: date P coppie di addestramento (xp,zp; p=1÷P) della z=z(x)
Estrapolare (inferire) la z(x) come combinazione pesata di M interpolatori
lineari : z=Siwi(pix+ri)
Problem: P learning pairs (xp,zp; p=1÷P) of a z=z(x) are given.Infer the z(x)
as a weighted linear combination of M linear interpolator: z=Siwi(pix+ri)
m1
mxl
x
QS
F
w2
m2
mxm
Quantif.
Defuzzifier
mxh
mxl
y
w1
QS mxm
F
mxh
mi
AND
m8
m9
:S m i
(OR)
wi
z
w if i
w8
w9
fi=pix +qiy +ri
y
x
Architettura ANFIS; ANFIS architecture
+
m1
A1
X
m2
x
A2
X
w1
/
w2
/
w1
L1(x)
z
w2
L2(x)
+
+
A3
m3
w3
/
X
w3
L3(x)
+
Quantizzatori
sfumati
Fuzzifiers
P
x
N
Normalizzatori
Generatori dei
dei mintermini
Mintermini
Minterm generators Minterm normalizers
IF (A1 AND A2) THEN (w1=m1m2)
Quantificatori
Defuzzifiers
w1= w1/(w1+ w2+w3)
Li(x)= pix+ri
Dettagli dell’architettura ANFIS; details of the ANFIS architecture
Rappresentazione matematica di ANFIS
Mathematical respresentation of ANFIS
Quantizzatori sfumati; Fuzzifiers: mi(x)= exp((x-ci)/ai)2,… (i=1÷K)
Generatore dei mintermini (AND aritmetico o logico); minterm generators:
mhk =mh(x)mk(x),… (h;k=1÷K; mhk=mkh)
Normalizzatore dei pesi; weights normalizer:
wj= wi/(w1+…+ wi+…+wI),…. With i=1÷I, I=K(K-1)/2)
Interpolatori lineari; Linear interpolators: Li(x)= pix+ri
Quantificatore; Defuzzifier: z=Siwi(pix+ri)
In the specific case z(x)= w1 L1(x)+w2L2(x)+w3L3(x)
Metodo: K funzioni di appartenenza degli ingressi; K membership functions
Il numero dei tratti lineari che vengono pesati con pesi funzione dell’ingresso sono
Numero d’interpolatori lineari; number of linear interpolators; I≤ K(K-1)/2
Nell’esempio; in the example K=2, I=3: z(x) ~ w1(x) L1(x)+w2(x)L2(x)+w3(x)L3(x)
L2(x)
z
L1(x)
z(x)
L3(x)
w1L1(x)
w3L3(x)
w2L2(x)
mi(x)
m2(x)
m1(x)
x
m3(x)
x
Parametri; parameters
Parametri dei quantizzatori sfumati; Fuzzifier parameters: ai,ci (i=1÷K)
Parametri delle rette interpolatrici; linear interpolator parameters: pi,ri (i=1÷K(K-1)/2))
Coppie d’addestramento; training pairs: (xp,zp; p=1÷P) P>>K2
Addestramento ibrido; Hybrid Learning:
1) pi e ri ottimizzati con metodo dei minimi quadrati LSE (sistema lineare sovradimensionato
di P equazioni); pi and ri optimized using LSE method (overdimensioned linear system of P
equations)
2) ai e ci ottimizzati con il metodo del gradiente e retropropagazione dell’errore EBP per
ogni coppia d’addestramento; ai and ci optimized using the gradient method and EBP for
each training pair.
Riferimento:
Jyh-Shing Roger Jang: ANFIS: Adaptive_Network-Based Fuzzy Inference System,
IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23 No. 3 1993 pp. 665-684
Scarica

Document