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 xX ; Insieme universo; Univers set S: mS(x) =1 per xX Insieme unione; Union set: AB mAB (x)=max[mA(x);mB(x)] Insieme intersezione; Intersection set: AB mAB(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 xX S: mS(x)=1 per xX A insieme sfumato generico mA(x) = 01 per xX 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: AA* = S; AA* = F AA* : mAA* (x) = max[mA(x),mA*(x)]≤ 1 AA* : mAA* (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 AA* 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