Sisteme cu logica fuzzy - bel. · PDF file(ANFIS); fie rezultatul unui proces de clasificare...
Transcript of Sisteme cu logica fuzzy - bel. · PDF file(ANFIS); fie rezultatul unui proces de clasificare...
Tehnici de inteligenta computationala in electronica G. Oltean 1 /17
Sisteme cu logica fuzzy
Tehnici de inteligenta computationala in electronica G. Oltean
Tipuri de sisteme cu logica fuzzy
❖ SISO
❖ MISO
❖ MIMO
❖ Mamdani - iesiri: mf conventionale
❖ Takagi – Sugeno - iesiri: mf singleton
➢ de ordin zero (constant)
➢ de ordin 1 (liniar)
Tehnici de inteligenta computationala in electronica G. Oltean 3 /17
Structura unui sistem cu logică fuzzy - SISO
X = universul discuţiei pentru x
Y = universul discuţiei pentru y
Tehnici de inteligenta computationala in electronica G. Oltean 4 /17
Structura unui sistem cu logică fuzzy Mamdani
Tehnici de inteligenta computationala in electronica G. Oltean 5 /17
❖ Structura sistemului cu logică fuzzy
• Baza de cunoştinţe a SLF:
- mulţimile fuzzy peste universul discuţiei variabilei de intrare, X;
- mulţimile fuzzy peste universul discuţiei variabilei de intrare, Y;
- baza de reguli fuzzy, care leagă între ele valorile fuzzy ale variabilei
de intrare (x) de valorile fuzzy ale variabilei de iesire (y)
• Operatii (operatorii) SLF:
- fuzzificarea;
- inferenţa (+ agregare la Mamdani);
- defuzzificarea.
Tehnici de inteligenta computationala in electronica G. Oltean 6 /17
Baza de cunoştinţe a SLF
➢ Baza de cunoştinţe este specifică fiecărei aplicaţii; de calitatea ei
depinde în general calitatea SLF pentru o aplicaţie dată.
➢ Forma, numărul şi, în special, valorile numerice care definesc
suportul şi valoarea mediană a mulţimilor fuzzy afectează
calitatea aplicaţiei, şi obţinerea lor este:
❖ fie rezultatul unui proces de încercări succesive;
❖ fie rezultatul învăţării supervizate pe baza unuii set de date
(ANFIS);
❖ fie rezultatul unui proces de clasificare în mulţimi (clase) fuzzy a
unor date cunoscute (clasificare substractiva, Fuzzy C-Means).
➢ Regulile fuzzy sunt mai uşor de definit, deoarece ele trebuie doar
să asocieze datele descrise prin mulţimi fuzzy după legile de
corespondenţă dorite (în general uşor de exprimat lingvistic).
Tehnici de inteligenta computationala in electronica G. Oltean 7 /17
Operaţiile (operatorii) SLF
➢ Fuzzificarea
Transformarea valorii tranşante de intrare x* într-o mulţime fuzzy X*.
** Xxefuzzificar
valoare
transantamultime fuzzy
singleton
x*, x
x*, xX*(x)
0
1
Tehnici de inteligenta computationala in electronica G. Oltean 8 /17
Inferenţa ➢ Cea mai complexă operaţie dintr-un SLF.
➢ Are sarcina de a “rezolva” baza de reguli fuzzy pentru valoarea
fuzzy curenta de intrare X*,
➢ Utilizeaza mulţimile fuzzy de intrare şi ieşire ale SLF,
➢ La ieşire se obtine mulţimea fuzzy Y* din care se obţine prin
defuzzificare valoarea tranşantă y=y*.
Inferenţa trebuie:
• să deducă pe baza valorii fuzzy de intrare X* şi pe baza fiecărei reguli
fuzzy Ri rezultatul fuzzy Yi* al regulii Ri.
• să fuzioneze toate rezultatele parţiale fuzzy Yi*, i=1,…, M, într-o
singură mulţime fuzzy de ieşire Y* - agregarea rezultatelor partiale –
doar pentru sisteme Mamdani
Inferenţa compozitionala:
• Mamdani (max - min)
• Larsen (max – prod)
Tehnici de inteligenta computationala in electronica G. Oltean 9 /17
Agregarea rezultatelor partiale (doar la SLF Mamdani)
• Regulile din baza de reguli
a unui sistem cu logică fuzzy
se consideră legate între ele
prin conectivul “SAU”
• Pentru obtinerea multimii
fuzzy de iesire Y* se va
utiliza operatorul de
agregare “max” intre
multimile fuzzy partiale Yi*
date de regulile Ri.
Tehnici de inteligenta computationala in electronica G. Oltean 10 /17
Defuzzificarea ➢ Rezultatul inferenţei este mulţimea fuzzy de ieşire Y*.
➢ Mărimea de ieşire a SLF trebuie să fie o valoare tranşantă,la fel ca şi intrările SLF.
➢ Selectarea unei valori tranşante y* din suportul lui Y* ca valoare de ieşire a SLF
y* = defuzzificare(Y*)
Exista mai multe metode de deffuzificare, selectarea uneia dintre ele fiind
specifica aplicatiei
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
Y*
y
y* = ?
Tehnici de inteligenta computationala in electronica G. Oltean 11 /17
❖ Centrul de greutate / Centrul ariei (COG/COA)
➢ Centrul de greutate genereaza ca iesire ordonata centrului ariei de sub curba ce
defineste multimea fuzzy de iesire.
➢ Daca aria este perceputa ca si o placa de densitate egala, centrul de greutate este
punctul fata de care placa sta in echilibru.
y Y
y Y
dyy
dyyyy
*
**
N
i
iY
N
i
iYi
y
yy
y
1
1*
*
*
Domeniul
continuu Domeniul
discret
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
y*=-3.2281
Y*
y
Tehnici de inteligenta computationala in electronica G. Oltean 12 /17
❖ Bisectoare
➢ Bisectoarea este linia verticala care imparte regiunea in
doua subregiuni de arie egala
➢ Uneori coincide cu deffuzificarea COG
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
y*=-3.7
Y*
y
Tehnici de inteligenta computationala in electronica G. Oltean 13 /17
❖ Maxim➢ Media maximelor (MOM)
➢ Cel mai mic maxim in valoare absoluta (Smallest of Maximum - SOM)
➢ Cel mai mare maxim in valoare absoluta (Largest of Maximum - LOM)
• In acest exemplu, deoarece exista un platou la valoarea maxima, cele trei
metode furnizeaza valori diferite.
• Daca Y* are un maxim unic cele trei metode vor furniza aceeasi valoare
(ordonata maximului)
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
MOM
y*=-5 SOM
y*=-2 LOM
y*=-8
Y*
y
Tehnici de inteligenta computationala in electronica G. Oltean 14 /17
Alegerea metodei de deffuzificare
• Care dintre metode este cea potrivita? - Nu exista un raspuns simplu.
• Se considera in general COA buna pentru inceput in majoritatea aplicatiilor
de control. Ulterior aceasta se poate modifica pentru a vedea daca alta metoda
lucreaza mai bine.
• Metodele de maxim se pot utiliza in cazul unor sisteme de decizie (sisteme
expert)
Tehnici de inteligenta computationala in electronica G. Oltean 15 /17
Construirea unui sistem cu logică fuzzy SISO
• X, Y – universurile discuţiilor a două variabile, x şi respectiv y.
• Dorim un SLF care să aibă pe x ca intrare şi y ca ieşire.
• Se ştie că y este determinată de către x, dar nu se ştie (din măsurători ale
unui proces real) decât că:
pentru x=x1=0 y=y1=0;
pentru x=x2 y=y2;
pentru x=x3 y=y3;
pentru x=x4=X, y=y4=Y.
SLFx y
Mai ştim că legea de variaţie a lui y în funcţie de x trebuie să fie cât mai lină
Tehnici de inteligenta computationala in electronica G. Oltean 16 /17
Definirea mulţimilor fuzzyDefinim patru mulţimi fuzzy peste X:
X1, cu vârful în x1=0;
X2, cu vârful în x2;
X3, cu vârful în x3;
X4, cu vârful în x4=X.
Cea mai simplă alegere este definirea
X1…X4 sub formă de mulţimi fuzzy
triunghiulare. Ştim că xi aparţine complet
lui Xi , deci este logic să nu aparţină
deloc lui Xj, ji, i,j = {1,2,3,4}.
Tehnici de inteligenta computationala in electronica G. Oltean 17 /17
Definirea regulilor fuzzy din baza de reguli
Fiecare regulă trebuie să
• asocieze xi cu yi pentru fiecare din punctele: (xi, yi), i=1...4
• asigure interpolarea fuzzy între aceste puncte.
R1: Dacă x este X1 atunci y este Y1.
R2: Dacă x este X2 atunci y este Y2.
R3: Dacă x este X3 atunci y este Y3.
R4: Dacă x este X4 atunci y este Y4.
Operatori utilizati in SLF
fuzzificare (singleton);
inferenţă (de ex., max-min);
defuzzificare (de ex., COA).
Tehnici de inteligenta computationala in electronica G. Oltean
Exercitiu
➢ Sa se implementaeze in Matlab SLF descris mai sus
considerand x[0, 12] si y[0, 20].
❖ Vizualizati modul de efectuare al opertiilor in SLF (View-Rules)
❖ Vizualizati curba intrare-iesire (View-Surface)
❖ Analizati influenta operatorilor asupra rezultatului obtinut
▪ Implicatie
▪ Agregare
▪ Deffuzificare
❖ Valorile pentru capetele de interval sunt corect determinate?
Daca nu, ce solutie propuneti?
Tehnici de inteligenta computationala in electronica G. Oltean
Structura si operatori SLF
Tehnici de inteligenta computationala in electronica G. Oltean
Baza de cunostinte
Tehnici de inteligenta computationala in electronica G. Oltean
Inferenta si curba (suprafata) de
control
Agregare: max
Defuzzificare: centroid
Tehnici de inteligenta computationala in electronica G. Oltean
Valorile pentru capetele de interval sunt corect determinate? Daca nu, ce solutie propuneti?
Tehnici de inteligenta computationala in electronica G. Oltean
Solutie pentru capetele de interval
➢ Modificarea domeniului de definitie a mf de iesire
➢ Redefinirea mf de iesire la capetele intervalului
Tehnici de inteligenta computationala in electronica G. Oltean
Inferenta si curba (suprafata) de
control
Agregare: max
Defuzzificare: centroid
Tehnici de inteligenta computationala in electronica G. Oltean
Comparatie pentru curba de control
Tehnici de inteligenta computationala in electronica G. Oltean
Sa se implementeze un sistem fuzzy care sa implementeze
caracteristica de transfer (curba de control) din figura:
0 1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x
y
Studiu de caz
Tehnici de inteligenta computationala in electronica G. Oltean 27 /17
Modeling a function
❖ Curve fitting by using fuzzy sets and fuzzy rules (fuzzy patches)
• Small number of rules - large patches (rough approximation)
• Large number of rules – small patches (fine approximation)
The overlapping of the
input fuzzy sets leads to a
smooth approximation of
the function
If there is no overlapping
of the input fuzzy sets, a
stepwise function
approximation results
Tehnici de inteligenta computationala in electronica G. Oltean
Solutia initiala
0 1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
X: 0
Y: 0
x
y
X: 1.5
Y: 0.225
X: 2.5
Y: 0.625
X: 5
Y: 2.5
X: 7.5
Y: 4.375
X: 8.5
Y: 4.775
X: 10
Y: 5
Se aleg 7 puncte de pe curba, pentru care se vor defini multimile
fuzzy si regulile fuzzy corespunzatoare
Tehnici de inteligenta computationala in electronica G. Oltean
0 1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x
y
referinta
sol.initiala
Solutia initiala
Cum se poate imbunatati aproximarea furnizata de SLF?
Tehnici de inteligenta computationala in electronica G. Oltean
0 1 2 3 4 5 6 7 8 9 10-1
0
1
2
3
4
5
6
x
y
referinta
sol.initiala
sol 1
Solutia 1S-a actionat asupra multimilor fuzzy de iesire
solutia 1
solutia initiala
Tehnici de inteligenta computationala in electronica G. Oltean
0 1 2 3 4 5 6 7 8 9 100
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
X: 0
Y: 0
x
y
X: 1.5
Y: 0.225
X: 2.5
Y: 0.625
X: 4
Y: 1.6
X: 5
Y: 2.5
X: 6
Y: 3.4
X: 7.5
Y: 4.375X: 8.5
Y: 4.775
X: 10
Y: 5
Solutia 2Se considera suplimentar inca 2 puncte pe curba
Tehnici de inteligenta computationala in electronica G. Oltean
0 1 2 3 4 5 6 7 8 9 10-1
0
1
2
3
4
5
6
x
y
referinta
sol.initiala
sol 1
sol 2
Solutia 2Se considera suplimentar inca 2 puncte pe curba
solutia 1
solutia 2