Documente Academic
Documente Profesional
Documente Cultură
CURS 9
Mulţimile fuzzy şi operatorii fuzzy sunt subiectele şi respectiv verbele din logica fuzzy.
Regulile IF-THEN sunt utilizate pentru a formula declaraţii condiţionate în logica fuzzy.
IF x is A THEN y is B
De reţinut faptul că „bun” este reprezentat ca un număr între 0 şi 1, şi astfel antecedentul este
o interpretare care returnează un singur număr între 0 şi 1. Pe de alta parte, „mediu” este
reprezentat ca o mulţime fuzzy, şi astfel consecinţa este o atribuire a unei întregi mulţimi
fuzzy B variabilei de ieşire y. În regula IF-THEN, cuvântul „is” este folosit în două moduri
complet diferite, în funcţie de faptul dacă acesta apare ca premisă sau ca şi consecinţă. O mai
puţin confuză modalitate de scriere a acestei reguli este:
În general, intrarea la o regulă IF-THEN este valoarea curentă pentru variabila de intrare (în
acest caz, servire), iar ieşirea este o întreagă mulţime fuzzy (în acest caz, mediu). Această
mulţime va fi mai târziu defuzzyficată, atribuind o valoare ieşirii.
Interpretarea regulii IF-THEN implică părţi distincte: mai întâi evaluarea premisei (ceea ce
implică fuzzyficarea intrării şi aplicarea oricăror operatori necesari), şi mai apoi aplicarea
asupra consecinţei (cunoscută ca implicaţie). În cazul logicii bivalorice sau binară, regula IF-
THEN nu prezintă o mare dificultate. În cazul în care premisa este adevărată, atunci concluzia
este adevărată ş.a.m.d. Dacă vom relaxa restricţiile logicii bivalorice şi vom lăsa premisa să
fie o declaraţie fuzzy, cum va influenţa acest lucru concluzia? Răspunsul este unul simplu. În
cazul în care premisa este adevărată pentru anumite grade de apartenenţă, atunci concluzia
este de asemenea adevărată pentru aceleaşi grade de apartenenţă.
Cu alte cuvinte:
- în logica binară: p q (p şi q sunt valori 0 sau 1, TRUE sau FALSE);
- în logica fuzzy: 0,5 p 0,5 q (premise parţiale oferă implicaţii parţiale);
Dacă cerul este albastru şi vântul este puternic şi presiunea scade, atunci.....
Caz în care toate părţile premisei sunt calculate simultan şi rezolvate ca un singur număr
folosind operatorii logici descrişi în secţiunea precedentă. Consecinţa regulii poate de
asemenea să aibă mai multe părţi.
Dacă temperatura este redusă atunci valva de apă caldă este deschisă şi valva de apă rece
este închisă.
În acest caz toate consecinţele sunt afectate în mod egal de către rezultatul premisei.
5.2.4 Defuzzyficarea
În general nu se utilizează o singura regulă ci este nevoie de două sau mai multe reguli care se
pot compune una cu alta. Ieşirea fiecărei reguli este o mulţime fuzzy. Mulţimile ieşirilor
fuzzy pentru toate regulile sunt apoi agregate într-o singura mulţime de ieşire fuzzy. În cele
din urmă, mulţimea rezultată este defuzzyficată ceea ce înseamnă că se rezumă la un singur
număr.
Observaţie: În limba română s-ar putea utiliza termenul de mulţime nuanţată înloc de mulţime
fuzzy, respectiv denuanţare înloc de defuzzyficare.
Intrarea pentru procesul de defuzzyficare este o mulţime fuzzy (mulţimea ieşirii fuzzy
agregată) şi ieşirea este un singur număr. Oricât de mult ne-ar ajuta fuzzyficarea în timpul
paşilor intermediari, rezultatul final dorit pentru fiecare variabilă este în general un singur
număr. Operaţia care oferă această singură valoare din mulţime se numeşte defuzzyficare.
0 25%
16%
Figura 5.8 Exemplu defuzzyficare
Una dintre aplicaţiile importante în practică ale sistemelor cu logică fuzzy este folosirea
acestora ca sisteme de control al proceselor. Folosirea sistemelor cu logica fuzzy ca şi
controllere se bucură de o bază teoretică solidă, existând la ora actuală multe aplicaţii
comerciale care incorporează un sistem de control fuzzy.
Din păcate, nu se poate defini o relaţie matematică precisă între mărimile de intrare (volumul
hainelor, tipul şi gradul de murdărie) şi mărimea de ieşire (timpul de spălare). Astfel, timpul
de spălare se stabileşte manual, de către utilizator, pe baza experienţei proprii, a experienţei
sintetizate în manualul de utilizare şi a încercărilor repetate.
Se doreşte proiectarea unui sistem de control cu logica fuzzy pentru o maşină de spălat, care
să furnizeze timpul de spălare corect, în funcţie de anumite informaţii despre hainele care
trebuie spalate. Schema bloc a sistemului este prezentata în figura 5.9.
Grad de murdărie
Sistem de control fuzzy Timp de spălare
Tip de murdărie
Este necesară definirea mulțimilor fuzzy pentru variabila de intrare grad de murdărie, notată
grd_murdarie. Gradul de apartenenţă se poate defini în procente între 0% şi 100% faţă de
termenul "murdar".
1.0
Mic Mediu Mare
0.5
0.0
0% 50% 100%
Figura 5.10 Grad de murdărie
Este necesară definirea mulţimilor fuzzy pentru variabila de intrare tip de murdărie, notată
tip_murdarie. Universul discuţiei pentru variabila tip de murdărie se defineşte în procente
între 0% şi 100% faţă de termenul "gras". Acoperirea universului discuţiei se face cu 3
mulţimi fuzzy triunghiulare, denumite NeGras, Mediu şi respectiv Gras, astfel încât acestea să
formeze o partiţie fuzzy. Valorile mediane ale celor 3 mulțimi sunt 0%, 50% şi 100%, ca în
figura 5.11, similar ca la variabila grad de murdărie.
1.0
NeGras Mediu Gras
0.5
0.0
0% 50% 100%
Figura 5.11 Tip de murdărie
Este necesară definirea mulţimilor fuzzy pentru variabila de ieşire timp de spălare. Universul
discuţiei pentru variabila timp de spălare, notată “t”, se defineşte în minute, în intervalul
[0...60] min, considerând 60 de minute a fi timpul maxim necesar pentru a spăla o rufă foarte
murdară. Acoperirea universului discuției se face cu 5 mulţimi fuzzy triunghiulare, denumite
FoarteScurt, Scurt, Mediu, Lung şi respectiv FoarteLung, astfel încât acestea să formeze o
partiţie fuzzy, exceptând capetele intervalului. Aceste mulţimi sunt reprezentate în figura
5.12. Parametrii mulţimilor sunt: FoarteScurt - [0 8 12], Scurt - [8 12 20], Mediu - [12 20 40],
Lung - [20 40 60], FoarteLung - [40 60 60].
0.5
0.0
0 8 12 40 60
20
Figura 5.12 Timp de spălare
Este necesară definirea bazei de reguli. Regulile fuzzy pentru această aplicaţie
exemplificatoare sunt:
DACĂ grd_murdarie este Mare ŞI tip_murdarie este Gras ATUNCI t este FoarteLung.
DACĂ grd_murdarie este Mediu ŞI tip_murdarie este Gras ATUNCI t este Lung.
DACĂ grd_murdarie este Mic ŞI tip_murdarie este Gras ATUNCI t este Lung.
DACĂ grd_murdarie este Mare ŞI tip_murdarie este Mediu ATUNCI t este Lung.
DACĂ grd_murdarie este Mediu ŞI tip_murdarie este Mediu ATUNCI t este Mediu.
DACĂ grd_murdarie este Mic ŞI tip_murdarie este Mediu ATUNCI t este Mediu.
DACĂ grd_murdarie este Mare ŞI tip_murdarie este NeGras ATUNCI t este Mediu.
DACĂ grd_murdarie este Mediu ŞI tip_murdarie este NeGras ATUNCI t este Scurt.
DACĂ grd_murdarie este Mic ŞI tip_murdarie este NeGras ATUNCI t este FoarteScurt.
t [min]
0
0 60
t0
MFO ( t ) MFO ( t )
t 0 t 0
Dacă:
- x1, x2, ……xr = X este produsul cartezian al spaţiilor xi,
- A1, A2,…..Ar sunt subspaţiile fuzzy asociate spaţiilor xi,
- f este o funcţie f:X Y, y=f(x1, x2, ……xr),
Atunci:
Submulţimea fuzzy B asociată spaţiului Y este definită prin:
supmin A1 ( x1 ), A 2 ( x 2 ),....., Ar ( x r ) daca f 1 ( y) 0, x 1 , x 2 ..., x r f 1 ( y)
B ( y)
0 altfel
Se dau mulţimile fuzzy A1={(1; 0,1), (2; 0,1), (3; 0,5), (4; 0,3)} şi A2={(1; 0,6), (2; 0,2), (3;
0,1), (4; 0,1)}, funcţia y=f(x1+x2). Se cere B={(y, B(y)) y=f(x1+x2)}