Sunteți pe pagina 1din 6

INTELIGENŢĂ ARTIFICIALĂ 2019 - 2020

CURS 9

5.2.3 Regulile IF-THEN

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.

O regulă fuzzy IF-THEN ia următoarea formă:

IF x is A THEN y is B

unde A şi B reprezintă valorile lingvistice definite de mulţimi fuzzy în intervalele X şi Y.


Partea IF a regulii „x is A” este denumită antecedentul sau premisa, în timp ce partea THEN
„y is B” este denumită urmare sau concluzie. Un exemplu de astfel de reguli poate fi:

Dacă servirea este bună atunci bacşişul este mediu.

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:

IF servire == bun THEN bacşiş = mediu

Î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);

CURS 9 IA 2019/2020 1/6


Premisa unei reguli poate avea mai multe părţi.

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.

Probabil că cea mai populară metodă de defuzzyficare o reprezintă calcularea centroidului


mulţimii ca în exemplul în figura 5.8, care returnează centrul ariei de sub curbă. Mai există şi
alte metode folosite, de exemplu bisectoarea ariei, cea mai mare dintre margini LOM,
media marginilor MOM, cea mai mică dintre margini SOM.

0 25%
16%
Figura 5.8 Exemplu defuzzyficare

CURS 9 IA 2019/2020 2/6


5.2.4 Exemplu

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.

Când se foloseşte o maşină de spălat, utilizatorul selectează de obicei durata de spălare în


funcţie de cantitatea de haine şi de tipul şi gradul de murdărie al acestora. Pentru
automatizarea procesului de spălare, se pot utiliza senzori de detecţie pentru volumul hainelor,
respectiv tipul şi gradul de murdărie. Pe baza acestor date, se va alege un anumit timp de
spălare.

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.

Realizarea unei maşini de spălat cu timp de spălare autodeterminat presupune construirea a


doua subsisteme:
- sistemul de senzori care furnizează semnalele de intrare ale maşinii de spalat, preluate din
mediul exterior (hainele din maşină),
- unitatea de control care va lua decizia asupra timpului de spălare, pe baza infomaţiilor
primite de la sistemul de senzori, sub forma unei ieşiri de comandă. Dat fiind faptul că nu se
poate formula o relaţie matematică precisă între intrarea şi ieşirea unităţii de control se va
folosi un sistem de control cu logică fuzzy.

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

Figura 5.9 Sistem de control fuzzy pentru o maşină de spălat

Sistemul are ca intrări:


- gradul de murdărie care poate fi determinat din transparenţa apei,
- tipul de murdărie care poate fi determinat din timpul necesar apei în care se înmoaie hainele
să ajungă la transparenţa de saturație. Saturaţia transparenţei apei este timpul după care
modificarea transparenţei este insesizabilă sau mai mică decât un prag prestabilit. De
exemplu, pentru hainele cu pete de grăsime, acest timp va fi mai lung, deoarece grăsimea este
mai greu solubilă în apă decât alte tipuri 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".

CURS 9 IA 2019/2020 3/6


Acoperirea universului discuţiei se poate face cu 3 mulţimi fuzzy triunghiulare, denumite
Mic, Mediu şi respectiv Mare, astfel încât acestea să formeze o partiţie fuzzy. Valorile
mediane ale celor 3 multimi sunt 0%, 50% şi 100%, ca în Figura 5.10.

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].

CURS 9 IA 2019/2020 4/6


1.0
FoarteScurt Scurt Mediu Lung FoarteLung

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.

Operaţiile sistemului cu logica fuzzy pentru controlul maşinii de spălat sunt:


- fuzzificare - mărimea de intrare se transformă în mulţime fuzzy singleton,
- inferenţa - de tip max-min (Mamdani),
- defuzzificare - se va folosi defuzzificare de tip centroid (COA - center of area), ca în figura
5.13.
MFO(t)
1

t [min]
0
0 60
t0

Figura 5.13 Defuzzyficare

CURS 9 IA 2019/2020 5/6


Succesiunea răspunsurilor tranşante obţinute prin acest tip de defuzzificare este suficient de
lină pentru a asigura o curbă de control fără variaţii bruşte, cerinţă importantă a unui
controller de proces. Formula după care se calculează valoarea tranşantă a ieşirii, pe baza
mulţimii fuzzy de ieşire, în cazul folosirii metodei de defuzzificare COA (centroid) este
următoarea:
60 60
 t   MFO ( t )  t   MFO ( t )
t 0 _ continuu  t 0
60 t 0 _ discret  t 0
60

  MFO ( t )   MFO ( t )
t 0 t 0

Relativ la inferenţa - de tip max-min (Mamdani), aleasă ca exemplu de inferenţă fuzzy, se


pot face următoarele precizări.

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:

B={(y, B(y)) y=f(x1, x2, ……xr); (x1, x2, ……xr)  X}

 
supmin 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

Valoarea de adevăr a rezultatului nu poate depăşi valoarea minimă de adevăr a factorilor


individuali care au contribuit la stabilirea lui. Dacă se ajunge la acelaşi rezultat pe mai multe
căi (situaţii) atunci valoarea de adevăr a rezultatului este echivalentă cu cea mai mare valore
găsită, maximul, între valorile aferente obţinute în diversele situaţii considerate.

Urmează un exemplu de aplicare a inferenţei de tip max-min (Mamdani).

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)}

Domeniul de definiţie al submulţimii fuzzy B este, [2,3,4,5,6,7,8]. Pentru valoarea y=5 se


construieşte tabelul situaţiilor posibile:

x1 1(x1) x2 2(x2) y=x1+x2 yBi(y=5)=min{1(x1),2(x2)}


1 0,1 4 0,1 5 0,1
2 0,1 3 0,1 5 0,1
3 0,5 2 0,2 5 0,2
4 0,3 1 0,6 5 0,3

 Bi ( y  5)  max Bi ( y  5)  max(0,1;0,1;0,2;0,3)  0,3


i

B={(2;0,1), (3;0,1), (4;0,5), (5;0,3) (6;0,2), (7;0,1), (8;0,1)}

CURS 9 IA 2019/2020 6/6

S-ar putea să vă placă și