Sisteme cu logica nuantata, G. Oltean
Sisteme cu logica fuzzy
Sisteme cu logica nuantata, G. Oltean
Structura unui sistem cu logică fuzzy
SLFx yX = universul discuţiei pentru x
Y = universul discuţiei pentru y
2
Sisteme cu logica nuantata, G. Oltean
Structura unui sistem cu logică fuzzy Mamdani
3
Sisteme cu logica nuantata, G. Oltean
❖ Structura sistemului cu logică fuzzy
❑ Baza de cunoştinţe a SLF:
➢ Baza de date
- 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
- baza de reguli fuzzy; conectează valorile fuzzy ale variabilei x cu valorile
fuzzy ale variabilei y
❑ Operații (operatorii) SLF:
- fuzzificarea;
- inferenţa;
- defuzzificarea.
4
Sisteme cu logica nuantata, G. Oltean
Baza de cunoştinţe a SLF
➢ Baza de cunoştinţe (multimi fuzzy + reguli lingvistice) 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:
❖ definite de utilizator (proces de încercări succesive);
❖ rezultate in urma utilizarii unui algoritm automat de clasificare
(clasificare substractivă, Fuzzy C-Means) a unui set de date
numerice.
❖ rezultate în urma unui proces de instruire supervizată ce
utilizeaza un set de date numerice (anfis, AG)
5
Sisteme cu logica nuantata, G. Oltean
Baza de cunoştinţe a SLF – cont.
✓ Regulile fuzzy trebuie să asocieze datele descrise prin mulţimi
fuzzy după legile de corespondenţă dorite (care sunt în general
uşor de exprimat lingvistic).
❖ definite de utilizator;
❖ generate automat în urma aplicarii unui algoritm de clasificare
(clasificare substractiva, Fuzzy C-Means) a unui set de date
numerice.
❖ generate automat în urma unui proces de instruire supervizată ce
utilizează un set de date numerice (AG)
6
Sisteme cu logica nuantata, G. Oltean
Operaţiile (operatorii) SLF
➢ Fuzzificarea
Transformarea valorii tranşante de intrare x într-o mulţime fuzzy.
La un moment dat la intrare avem o singură valoare tranşantă x*
** Xxefuzzificar
⎯⎯⎯ →⎯valoare
tranșantămulțime fuzzy
singleton
==
x*, x
x*, xX*(x)
0
1
7
Sisteme cu logica nuantata, G. Oltean
Inferenţa ➢ Cea mai complexă operaţie dintr-un SLF.
➢ Are sarcina de a “rezolva” baza de reguli fuzzy pentru valoarea
fuzzy 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* - multimi fuzzy partiale de iesire
• combine toate rezultatele parţiale fuzzy Yi*, i=1,…, M, într-o singură
mulţime fuzzy de ieşire Y* - agregarea rezultatelor partiale
Inferenţa compozițională:
• Mamdani (max - min)
• Larsen (max – prod)
8
Sisteme cu logica nuantata, G. Oltean
Agregarea rezultatelor partiale (sisteme 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
operatia de reuniune între
multimile fuzzy partiale Yi*
date de regulile Ri.
Operator de agregare “max”
9
Sisteme cu logica nuantata, G. Oltean
Defuzzificarea (sisteme Mamdani)
➢ 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
specifică aplicației.
10
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
Y*
y
y* = ?
Sisteme cu logica nuantata, G. Oltean
❖ Centrul de greutate / Centrul ariei (COG/COA)
➢ Centrul de greutate generează ca ieșire ordonata centrului ariei de sub curba ce
defineste multimea fuzzy de iesire.
➢ Daca aria este perceputa ca și o placa de densitate egala, centrul de greutate este
ordonata punctului fata de care placa sta in echilibru.
( )
( )
=
y Y
y Y
dyy
dyyyy
*
**
( )
( )
=
==N
i
iY
N
i
iYi
y
yy
y
1
1*
*
*
continuu discret
11
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
y*=-3.2281
Y*
y
Sisteme cu logica nuantata, G. Oltean
❖ Bisectoare
➢ Bisectoarea este linia verticala care imparte regiunea in
doua subregiuni de arie egala
➢ Uneori coincide cu deffuzificare COG
12
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.5
1
y*=-3.7
Y*
y
Sisteme cu logica nuantata, G. Oltean
❖ 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)
13
-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
Sisteme cu logica nuantata, G. Oltean
Alegerea metodei de deffuzificare
• Care este metoda potrivita?
• Nu exista un raspuns simplu.
• Se considera in general COA
buna pentru inceput in majoritatea
aplicatiilor.
• Ulterior aceasta se poate
modifica pentru a vedea daca alta
metoda lucreaza mai bine.
• Metodele de mediere (COA, bisectoare) se utilizeaza in general in
aplicatii de control. Nu se produc salturi in suprafata de control.
• Metodele de maxim (MOM, LOM, SOM) se utilizeaza in general in
aplicatii de decizie. Se pot produce salturi in suprafata de control.
14
Sisteme cu logica nuantata, G. Oltean
Construirea unui sistem cu logică fuzzy SISO
• X, Y – universurile discuţiilor a două variabile lingvistice, 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=xmax, y=y4=ymax.
SLFx y
Mai ştim că legea de variaţie a lui y în funcţie de x trebuie să fie cât mai lină
],,0[],,0[ maxmax yYxX ==
15
Sisteme cu logica nuantata, G. Oltean
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=xmax.
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}.
x4=xmax
y4=ymax
16
Sisteme cu logica nuantata, G. Oltean
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).
17
Sisteme cu logica nuantata, G. Oltean
Exercitiu
➢ Sa se implementeze in Matlab SLF descris mai sus considerand
x[0, 12] si y[0, 20].
❖ Vizualizati modul de efectuare al operatiilor 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?
18
Sisteme cu logica nuantata, G. Oltean
Structura si operatori SLF
19
Sisteme cu logica nuantata, G. Oltean
Baza de cunostinte
20
Sisteme cu logica nuantata, G. Oltean
Inferența și curba (suprafața) de
control
Agregare: max
Defuzzificare: centroid
21
Sisteme cu logica nuantata, G. Oltean
Valorile pentru capetele de interval sunt corect determinate? Dacă nu, ce soluție propuneți?
22
Sisteme cu logica nuantata, G. Oltean
Soluție pentru capetele de interval
➢ Modificarea domeniului
de definitie a mf de iesire
➢ Redefinirea mf de iesire
la capetele intervalului
23
Sisteme cu logica nuantata, G. Oltean
Inferenta si curba (suprafata) de
control
Agregare: max
Defuzzificare: centroid
24
Sisteme cu logica nuantata, G. Oltean
Comparatie pentru curba de control
25
Sisteme cu logica nuantata, 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
26
Sisteme cu logica nuantata, G. Oltean
Soluția inițială
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
27
Sisteme cu logica nuantata, G. Oltean
Solutia inițială
Cum se poate imbunatati
aproximarea furnizata de SLF?
Partiții fuzzy
Fiecare punct - o regula
28
Sisteme cu logica nuantata, G. Oltean
Solutia 1S-a actionat asupra multimilor fuzzy de iesire
solutia 1
solutia initiala
29
Sisteme cu logica nuantata, 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
30
Sisteme cu logica nuantata, G. Oltean
Solutia 2Se considera suplimentar inca 2 puncte pe curba
solutia 1
solutia 2
31