Sunteți pe pagina 1din 116

Universitatea „Aurel Vlaicu” din Arad

Facultatea de Inginerie

Marius M. Bălaş

Aplicaţii ale Sistemelor Neuro-Fuzzy

Curs - pentru uzul studenţilor

- 2014 -
Cuprins

1. Listă cu abrevieri .................................................................................................................. 2


2. Capitolul 1. Mulţimi fuzzy şi logică fuzzy ............................................................................... 3
3. Capitolul 2. Controlere fuzzy ................................................................................................ 22
4. Capitolul 3. Regulatoare fuzzy în conducerea adaptivă a proceselor .................................... 37
5. Capitolul 4. Implementarea controlerelor fuzzy ................................................................... 46
6. Capitolul 5. Reţele neuronale şi sisteme neuro-fuzzy ........................................................... 52

1
Listă cu abrevieri

AG - algoritm genetic
CC - cadru cognitiv
CF - controler fuzzy
CFC - forma compilată a CF
COG - metoda centrului de greutate
COS - metoda centrului sumei ariilor
FA - funcţie de apartenenţă
FLC - sistem de conducere cu logică fuzzy
IA - inteligenţă artificială
LF - logică fuzzy
MF - mulţime fuzzy
MOM - metoda mediei maximelor
NF - număr fuzzy
PFL - planul fazic lingvistic
RC - regulă de conducere
RF - regulator fuzzy
RN - reţea neuronală
SE - sistem expert
SF - sistem fuzzy
SFC - forma simplificată a CF
TL - termen lingvistic
TF - traiectorie de fază
VL - variabilă lingvistică

2
Cap. 1. MULŢIMI FUZZY ŞI LOGICĂ FUZZY

1.1 Introducere în teoria mulţimilor şi logicii fuzzy

Una dintre metodele fundamentale de conducere automată a proceselor, ţinând de con-


ceptul de inteligenţă artificială IA (engl. artificial intelligence AI), este conducerea fuzzy (fuzzy
control - FC sau fuzzy logic control - FLC), bazată pe utilizarea teoriei mulţimilor fuzzy MF (engl.
fuzzy sets) şi a logicii fuzzy LF (engl. fuzzy logic). MF şi LF pot fi aplicate şi în alte scopuri care fac
obiectul IA, cum ar fi modelarea sistemelor caracterizate de diferite grade de incertitudine,
luarea unor decizii pe baza unor informaţii incerte, recunoaşterea şi clasificarea automată a unor
date, etc. Sistemele care includ MF şi LF se numesc sisteme fuzzy SF.
Aplicarea conceptelor de MF şi LF în domeniul sistemelor de conducere automată a fost
iniţiată în 1965 de către Lotfi A. Zadeh, profesor american de origine iraniană de la Universitatea
Berkeley (California). Principalul merit al lui L. Zadeh este acela de a fi intuit efectul aplicativ uriaş
al unui concept matematic obscur la acea vreme, asupra domeniului calculatoarelor electronice.
Conceptul iniţial, logica trivalentă, a fost inventată de Jan Lukasiewicz la începutul secolului XX.
Logica trivalentă este prima încercare reuşită de contestare a logicii bivalente a lui G. Boole, care
reuşise modelarea formală a logicii lui Aristotel prin utilizarea a două valori de adevăr – 0 (fals)
respectiv 1 (adevărat). Logica trivalentă acceptă şi o valoare de adevăr nedeterminată; cu alte
cuvinte, prin analogie cu votarea, pe lângă DA sau NU se acceptă şi abţinerea. Ea a fost
dezvoltată în Franţa în sensul unei logici cu o infinitate de valori de adevăr cuprinse în intervalul
închis [0 1], termenii folosiţi fiind de mulţime vagă (franc. ensemble floue) respectiv logică vagă
(franc. logique floue). Printre precursorii acestui curent de idei se numără şi marele matematician
român Grigore Moisil, mentor şi prieten al lui L. Zadeh, unul dintre puţinii utilizatori, la acea
vreme, ai acestor noţiuni. Scopul urmărit şi atins de L. Zadeh prin apelarea la matematica
mulţimilor vagi, denumite de el în engleză fuzzy sets, a fost acela de a conferi calculatoarelor
numerice capacitatea de a raţiona într-un mod apropiat celui uman. El a sesizat că principalul
obstacol în acest demers este ridicat de modurile fundamental diferite de reprezentare şi
prelucrare a cunoştinţelor, care este numeric şi cantitativ în cazul calculatoarelor respectiv
simbolic (lingvistic) şi calitativ în cazul omului. MF are tocmai proprietatea de a putea modela
numeric noţiunile incerte cu care operează creierul uman.
Fundamentarea matematică şi aplicaţiile teoriei SF în practică au influenţat fundamental
domeniul IA precum şi ansamblul industriei moderne. Câteva dintre lucrările de mare importanţă
sau de sinteză privind aplicarea conceptelor fuzzy în automatizări sunt datorate lui E.H.
Mamdani, M. Sugeno, M.M. Gupta, C.V. Negoiţă şi D. Ralescu, H.J. Zimmerman, D. Dubois şi H.
Prade, W. Pedricz, S. Gottwald, L. Koczi şi K. Hirota, A. Kaufman, V. Novak, L. Foulloy şi S.
Galichet, etc.
Dintre caracteristicile esenţiale ale SF cele mai importante sunt următoarele:
- Funcţionarea lor se bazează pe un set de reguli de conducere RC de tipul celor utilizate în siste-
mele expert SE:
dacă < premiză > atunci < concluzie >
- Cunoştinţele despre sistem se modelează prin variabile lingvistice VL, de exemplu: temperatură
mare, debit mediu, presiune scăzută etc. Această reprezentare a variabilelor sistemului este fa-
miliară modului de gândire uman şi permite abordarea unor sisteme foarte complexe sau greu de
definit în termeni matematici precişi.

3
Pot fi astfel valorificate în tehnică soluţiile euristice (bazate pe modul de gândire uman),
care chiar dacă nu reprezintă de obicei rezolvări optimale, au în schimb o eficienţă deosebită.
Automatizarea unui proces complicat poate porni de la experienţa unui operator/expert uman.
Nu este necesar ca expertul în cauză să deţină şi cunoştinţe referitoare la automatizări sau la SF.
Acest gen de experienţă empirică poate fi întotdeauna aproximat printr-un protocol de RC. De
exemplu, conducerea unui automobil se poate reprezenta prin reguli de forma:
- dacă ne îndreptăm uşor înspre dreapta, atunci întoarce volanul puţin înspre stânga;
- dacă ne deplasăm prea încet înainte, atunci accelerează moderat;
- dacă avem un obstacol apropiat în faţă, atunci frânează puternic; etc.
Prin capacitatea de reprezentare a cunoştinţelor sub forma lingvistică SF au dat un
impuls esenţial inteligenţei artificiale, dar este necesar să fim avertizaţi de la bun început:
reprezentarea, deşi o etapă obligatorie, nu oferă în sine soluţiile problemelor de conducere sau
luare de decizii. În cele din urmă tot expertul uman este chemat să genereze soluţiile. IA a reuşit
în continuare să dezvolte şi tehnicile prin care se pot rezolva automat clase largi de probleme,
fără a mai apela la experţi umani, de exemplu prin învăţarea artificială (engl. machine learning).
Dintre aceste tehnici cele mai cunoscute şi cu implicaţii deosebite în aplicaţii sunt reţelele
neuronale RN şi algoritmii genetici AG. Toate aceste tehnici pot apela cu succes la MF pentru re-
prezentarea cunoştinţelor, generând clasa sistemelor inteligente hibride. Este de exemplu
binecunoscută afinitatea dintre SF şi RN, având ca rezultat imediat automatizarea elaborării RC şi
ajustarea lor on line prin intermediul sistemelor fuzzy-neuronale sau neuro-fuzzy.
Desigur, pe lângă avantajele de mai sus pot fi menţionate şi unele dezavantaje:
- Comportarea unui SF este de obicei mai puţin repetitivă şi riguroasă decât cea a sistemelor ba-
zate pe algoritmii de reglare numerici, cum ar fi PID, mai ales în regimurile statice care necesită
precizie crescută. Acest dezavantaj este compensat de comportarea mai bună a FLC în regimurile
dinamice şi de posibilităţile lor superioare de control supra indicatorilor globali de calitate ai sis-
temului. Se recomandă apelarea la FLC cu precădere în cazul proceselor complicate, neliniare sau
insuficient cunoscute.
- Aprecierea performanţelor şi validarea unui sistem FLC pot fi obţinute de obicei numai după
realizare efectivă a sistemului şi încercări, sau în cel mai bun caz, prin simulare pe calculator.
Prin apelarea la SF elaborarea legilor de reglare devine extrem de flexibilă şi de versatilă.
Se pot obţine cu uşurinţă legi de conducere performante chiar şi în cazul sistemelor neliniare sau
a sistemelor care nu pot fi modelate matematic intr-un mod satisfăcător. Se pot include în baza
de reguli de conducere reguli cu obiective diferite, referitoare la precizia reglării, la comportarea
dinamică, la economia de energie, la siguranţa sistemului, etc. Durata proiectării şi validării unor
SF este în general mai mică decât în cazul altor metode de conducere, datorită uşurinţei cu care
pot fi ele concepute şi dezvoltate. Obligativitatea fazei de validare-testare nu este un dezavantaj
major deoarece această fază este oricum obligatorie în cazul omologărilor legale de tehnologii şi
produse şi este recomandabil a fi aplicată în cazul oricărui produs nou.
Madan M. Gupta caracterizează esenţa noţiunii de MF cu referire la cele două clase prin-
cipale în care poate fi împărţită incertitudinea: incertitudinea de clasă unu, provenită din compor-
tarea aleatorie a sistemelor fizice, respectiv incertitudinea de clasă doi, provenită din însăşi gân-
direa, raţionamentele, cunoştinţele şi percepţia umană:
"Mulţimile fuzzy operează cu mulţimi, obiecte sau fenomene care sunt vagi şi nu au deli-
mitări precise. Calculul mulţimilor fuzzy este un instrument foarte promiţător pentru tratarea in-
certitudinii de clasă doi (aşa cum teoria probabilităţilor operează cu incertitudine de clasă unu)...
Logica booleană este neputincioasă în modelarea proceselor cognitive şi a gândirii umane. De
aceea nimeni nu mai este astăzi indiferent faţă de logica mulţimilor fuzzy.”

4
1.2 Mulţimi fuzzy - noţiuni de bază

În teoria clasică a mulţimilor, o mulţime C este definită ca o colecţie de n elemente xi, cu


i =1 ... n, definite într-un domeniu de definiţie X. Fiecărui element i se ataşează o funcţie de apar-
tenenţă FA, notată (xn), definită astfel:
0, dacă xn  C
(xn) = (1.1)
1, dacă xn  C
O astfel de mulţime poate fi denumită fermă (engl. crisp), deoarece gradul de apartenen-
ţă respectă principiul terţului exclus din algebra booleană, fiind posibile doar două situaţii: apar-
tenenţa sau non-apartenenţa, sau în termeni logici, adevărat sau fals.
MF acceptă pentru FA orice valoare aparţinând intervalului închis [0 ... 1]. Valorile 0 şi 1
au aceeaşi semnificaţie ca şi în cazul mulţimilor ferme, adică non-apartenenţa respectiv aparte-
nenţa totală a elementului la MF. Valorile intermediare indică măsura în care elementul x aparţi-
ne categoriei descrisă de mulţime. Un grad de apartenenţă de 0,9 indică o legătură puternică a
elementului cu mulţimea în timp ce 0,5 arată că elementul poate la fel de bine să fie inclus sau
exclus din mulţime.
O MF A definită pe domeniul X va fi caracterizată prin urmare de funcţia de apartenenţă
A (x) : X  [0 ... 1] (1.2)
După cum vom vedea în continuare, FA pot lua în principiu orice formă dorită de utiliza-
tor. De aceea, pentru analizarea MF este utilă introducerea unor parametri care să ne ajute să le
descriem cu uşurinţă.
Se defineşte astfel înălţimea mulţimii A, hgt(A), prin valoarea maximă a funcţiei sale de
apartenenţă:
hgt(A) = sup A(x) (1.3)
Dacă hgt(A)=1 mulţimea fuzzy A se va numi normală. Dacă hgt(A)<1, atunci A se va numi
subnormală.
Suportul (baza, lăţimea) mulţimii A este format din mulţimea elementelor xX pentru
care A(x)  0:
supp(A) = { xX  A(x) > 0 } (1.4)
Toleranţa mulţimii A este format din mulţimea elementelor xX pentru care A(x)= 1:
tol(A) = { xX  A(x) = 1 } (1.5)
Definirea noţiunii de temperatură confortabilă TC în termeni fermi şi fuzzy este ilustrată
în Fig. 1.1. Pentru MF care modelează TC s-a utilizat o formă trapezoidală. Această MF este nor-
mată, are suportul supp(TC) = [19 … 25] şi toleranţa tol(TC) = [21,5 … 22,5].
Reprezentarea prin MF din Fig. 1.1 ne permite să aproximăm percepţia umană a tempe-
raturii, conceptul TC fiind prin excelenţă subiectiv şi incert. La prima vedere ar părea că în cazul
unui sistem de reglare automată această reprezentare nu este justificată. Un sistem convenţional
(secvenţial) de condiţionare a aerului, bazat pe logica Booleană ar porni încălzirea imediat după
scăderea temperaturii sub pragul de 21oC şi ar opri încălzirea sau eventual ar porni o instalaţie de
răcire după depăşirea pragului de 23oC. Această funcţionare este simplă, repetabilă şi asigură
funcţionarea dorită precum şi posibilitatea ajustării acestei funcţionări, prin modificarea
adecvată a valorilor celor două praguri de temperatură.
Totuşi, această abordare secvenţială are două inconveniente majore. Primul este acela că
favorizează producerea unui număr mare de acţionări ale elementului de execuţie, ceea ce cau-
zează uzura prematură a elementelor sistemului şi generează perturbaţii.

5
tol(TC)
TC(θ)
1

reprezentare fermă

reprezentare
fuzzy

0 θ [oC]
temperatură
18 20 22 24 26

supp(TC)

Fig. 1.1 Reprezentările fermă şi fuzzy ale noţiunii de temperatură confortabilă

Al doilea dezavantaj este acela că nu se ţine cont nici de toleranţa crescută a oamenilor
faţă de variaţiile de temperatură de ordinul câtorva grade nici de tendinţele naturale de evoluţie
ale procesului condus, ceea ce se soldează cu cheltuieli energetice inutile. De exemplu, în cazul
unei temperaturi θ=19,5oC, mai mică decât limita inferioară impusă iniţial dar perfect tolerată de
om, şi care are o tendinţă naturală de creştere, datorată de exemplu acţiunii directe a soarelui
asupra incintei, sistemul s-ar putea încadra singur, în scurt timp, în domeniul 21oC – 23oC. Nici o
persoană nu ar putea sesiza diferenţe de temperatură de ordinul zecimilor de grad sau chiar a
unul-două grade, deci anclanşarea încălzirii la θ = 19,5oC ar fi de fapt inutilă. Anclanşarea încălzirii
ar putea fi chiar contraindicată, deoarece prin accelerarea intrării sistemului în domeniul de tem-
peratură dorit, cu preţul unei energii suplimentare injectate în sistem, se creează premizele unui
supra-reglaj ulterior. Mai precis, după depăşirea valorii θ = 23oC temperatura continuă să crească
rapid, ceea ce cauzează fie o lungă perioadă de supraîncălzire fie o nouă disipare de energie
necesară eventualei răciri a sistemului. Un SF având în setul de reguli de conducere şi reguli
referitoare la economia de energie ar putea admite ca destul de confortabilă şi temperatura de
19,5oC sau chiar tot domeniul de temperaturi care formează suportul TC, fără a porni încălzirea.
Datorită tendinţei naturale de încălzire, mai repede sau mai târziu se va ajunge în domeniul dorit,
fără irosirea energiei şi fără ca beneficiarii sistemului, persoanele din interiorul incintei
condiţionate, să fie deranjaţi câtuşi de puţin.
Din acest exemplu putem înţelege explicaţia marelui succes comercial al aplicaţiilor baza-
te pe SF: atunci când procesul condus depinde de percepţia umană sau nu necesită o precizie de-
osebită, soluţia de conducere recomandabilă este cea fuzzy, iar apelul la algoritmi numerici şi la
metode de conducere optimală este un lux inutil şi costisitor, deoarece conducerea prin reguli este
deplin satisfăcătoare. În capitolul de Aplicaţii va fi expus cazul sistemului de transport feroviar
urban (metrou) din Sendai, Japonia, care va ilustra perfect această concluzie.

6
1.3 Forme utilizate pentru modelarea funcţiilor de apartenenţă fuzzy

Pentru modelarea FA se pot folosi diferite forme, în funcţie de opţiunea proiectantului.


Cele mai uzuale funcţii folosite la aceste modelări sunt prezentate în Fig. 1.2.

(x) triunghi trapez curbă “S” curbă “” dreptunghi singleton


1

0 x
Fig. 1.2 Forme folosite pentru FA.
În tabelul următor sunt prezentate analitic principalele forme utilizate pentru FA.
Tabelul 1.1. Funcţii de apartenenţă fuzzy

denumire formulă parametri


clopot Gauss 1 a = dispersia
G(x,x0,a) = -------------------- x0 = valoarea centrată,
1 + [(x - x0)/a]2 pentru care μ(x0) = 1
cosinus 0 a = dispersia
COS(x,a) = x0 = valoarea centrată,
(1/2)[1+cosп(x - x0)/2a] pentru care μ(x0) = 1
curbă "S" 0 , x<α β = (α + ) / 2 , punctul în
S(x,α,β,) = 2 [(x - α) / ( - α)] 2
, αxβ care μ(x) = 1 / 2
1 - 2 [(x - ) / ( - α)]2 , β  x  
1 , x>
curbă “” S(x,  - β,  - β / 2, ) ,x β = (α + ) / 2 , punctul în
(x,β,) = care μ(x) = 1 / 2
1 - S(x, ,  + β / 2,  + β) , x  
trapez 0 , x < x1 - α α şi  delimitează
1 - (x - x1)/α ,x1-α x x1 suportul
TRAP(x,x1,x2, α,) = 1 , x 1 < x < x2 x1 şi x2 delimitează tole-
1 + (x2 - x)/ ,x2x x2+ ranţa
0 , x > x2 + 
triunghi TRAP(x,x0,x0, α,)
singleton TRAP(x,x0,x0, 0,0)

Dreptunghiul şi singleton-ul nu sunt de fapt proprii conceptului fuzzy, dar ele se întâlnesc
frecvent în aplicaţii, asociate cu variabile fuzzy propriu zise. De exemplu, mărimea de comandă
de la ieşirea unui controler fuzzy având la ieşire un actuator cu stări discrete se poate reprezenta
ca o MF alcătuită din elemente de tip singleton. Când aplicaţia necesită precizie şi sensibilitate
mare se apelează de obicei la curbele de tip Gauss (“S“ sau “”) care au şi avantajul de a putea fi
corelate cu mărimile probabilistice. În principiu se pot utiliza orice altă formă sau combinaţie de
forme. În marea majoritatea a aplicaţiilor se constată însă că cele mai des utilizate forme sunt
cele triunghiulară şi trapezoidală, mai uşor de reprezentat şi necesitând un volum redus de
calcule şi de memorie. Alegerea formelor simple pentru FA este justificată şi prin constatarea des
menţionată în literatura de specialitate că esenţiale în aplicaţii sunt suportul şi toleranţa unei MF,
forma flancurilor FA având un efect mai redus asupra rezultatelor obţinute.
7
1.4 Logica fuzzy

Se consideră F familia mulţimilor fuzzy definite pe un domeniu de definiţie X. Între mulţi-


mile incluse în F se pot defini două operaţii, care într-un mod analog algebrei Booleene, generea-
ză o structură algebrică de tip latice. Aceste operaţii se vor nota cu  - reuniunea şi  - intersec-
ţia la fel ca şi în cazul teoriei clasice a mulţimilor. În termeni logici reuniunea corespunde funcţiei
logice SAU iar intersecţia funcţiei logice ŞI.
A  B : X x X  [0 ... 1] (1.6)
A  B : X x X  [0 ... 1]
Se introduce şi complementul mulţimii fuzzy A, în mod analog logicii Booleene:
A : X  [0 ... 1] , (1.7)
Chiar şi în cazul logicii Booleene, alegerea operaţiilor ŞI şi SAU nu este unică, existând şi
varianta alternativă a utilizării implicaţiilor logice, a căror utilizare este însă incomodă.
În cazul LF se poate face apel la un număr mult mai mare de operaţii, fapt care conferă
acestei logici un potenţial ridicat de adaptare la specificul diferitelor aplicaţii, dar şi o oarecare
inconsistenţă, care poate descuraja utilizatorii neexperimentaţi. L.A. Zadeh a propus iniţial, pen-
tru operaţiile de constituire a LF utilizarea minimului şi maximului funcţiilor de apartenenţă ale
celor doi operanzi.
Operaţiile se pot descrie cu ajutorul funcţiilor de apartenenţă  : X  [0 ... 1].
 A B (x) = min (A(x), B(x))
(1.8)
 A B (x) = max (A(x), B(x))
sau, simplificând notaţia (A(x)  A(x)) :
(A  B) (x) = min (A(x), B(x))
(1.9)
(A  B) (x) = max (A(x), B(x))

Complementul mulţimii A, notat A, se defineşte prin:


 A (x) = 1 -  A (x) sau, cu notaţia simplificată, A(x) = 1 - A(x) (1.10)
Structura algebrică astfel obţinută este o latice distributivă deoarece se bucură de urmă-
toarele proprietăţi: comutativitate, asociativitate, idempotenţă, absorbţie şi distributivitate în
ambele sensuri. De asemenea se verifică legile lui de Morgan, principiul dublei negaţii şi legile lui
0 şi 1 (elementele neutre faţă de cele două operaţii):
Comutativitatea: A(x)  B(x) = B(x)  A(x)
A(x)  B(x) = B(x)  A(x)
Asociativitatea: (A  B)(x)  C(x) = A(x)  (B  C)(x)
(A  B)(x)  C(x) = A(x)  (B  C)(x)
(1.11a)
Idempotenţa: A(x)  A(x) = A(x)
A(x)  A(x) = A(x)
Absorbţia: A(x)  (A  B)(x) = A(x)
A(x)  (A  B)(x)) = A(x)

8
Distributivitatea: A(x)  (B  C)(x) = (A  B)(x)  (A  C)(x)
A(x)  (B  C)(x) = (A  B)(x)  (A  C)(x)

Legile lui de Morgan: (A  B)(x) = A(x)  B(x)


(A  B)(x) = A(x)  B(x)
(1.11b)
Dubla negaţie: A(x) = A(x)

Legile lui 0 şi 1: A(x)  0 = 0


A(x)  0 = A(x)
A(x)  1 = 1
A(x)  1 = A(x)
Însă, spre deosebire de logica Booleană, în cazul LF nu se mai respectă nici principiul ter-
ţului exclus nici cel al contradicţiei:
Principiul terţului exclus: (A  A)(x)  1
(1.12)
Principiul contradicţiei: (A  A)(x)  0
De exemplu, în cazul în care A(x) = 0,5, caz în care incertitudinea atribuirii unei valori logi-
ce este maximă, (A  A)(x) = (A A )(x) = 0,5. Diferenţa (A – A)(x) poate reprezenta chiar o bună
măsură a caracterului vag al mulţimii A: cu cât diferenţa este mai mică, A este mai vagă. În cazul
mulţimii lor ferme A - A = 1.
Exemplul din Fig. 1.1 ne ajută să acceptăm fără dificultate realitatea exprimată de
relaţiile (1.12): temperaturile din domeniile aproximative 19oC – 21,5oC şi 22,5oC – 25oC pot fi
caracterizate în acelaşi timp, de către aceeaşi persoană şi ca fiind perfect confortabile dar şi ca
uşor răcoroasă respectiv uşor prea caldă.
Încă din perioada de început a logicii fuzzy s-a încercat cu succes, în vederea constituirii
LF, şi utilizarea altor operaţii, cum ar fi de exemplu suma probabilistică şi produsului:
(A  B) (x) = A(x) · B(x)
(1.13)
(A  B) (x) = A(x) + B(x) - A(x) · B(x)
Faţă de laticea min-max gradele de apartenenţă depind în acest caz de ambii operanzi. În
consecinţă, regulatoarele fuzzy care vor utiliza laticea prod-sum vor fi mai “senzitive” decât cele
bazate pe operaţia min-max, care în schimb va fi mai rezistentă la acţiunea perturbaţiilor.
De fapt există o clasă largă de operaţii utilizabile ca funcţii logice  şi , denumite norme
triangulare, preluate din teoria spaţiilor metrice probabilistice (K. Menger, 1942). Prin normă t se
înţelege o funcţie de două argumente t : [0...1] x [0...1]  [0...1] având următoarele proprietăţi:
- asociativitate: (x t y) t z = x t (y t z)
- comutativitate: xty=ytx (1.14)
- condiţii de limită: xt0=0 şi xt1=x
- nedescrescătoare pt. fiecare argument: pentru x  y , w  z, x t w  y t z
O normă t este arhimediană dacă şi numai dacă:
- este continuă pentru fiecare argument (1.15)
-xtx<x

9
Din cele de mai sus se observă că norma t prezintă majoritatea proprietăţilor funcţiei lo-
gice ŞI. Funcţia logică SAU poate fi modelată cu norma s, care la rândul ei este:
- asociativă;
- comutativă; (1.16)
- satisface condiţiile: xs0=x şi xs1=1
- nedescrescătoare.
Este însă de remarcat că normele triangulare nu respectă în mod necesar proprietăţile de
idempotenţă (x t x  x şi x s x  x) şi absorbţie (x t (x s y)  x şi x s (x t y)  x).
În tabelul următor sunt prezentate câteva dintre normele t-s mai des utilizate.

Tabelul 1.2. Norme t-s des utilizate

norme t norme s

x t y = min(x, y) x s y = max (x, y)


xty=x·y xsy=x+y–x·y
x t y = 1 - min ([1, ((1-x)p + (1-y)p)1/p] , p  1 x s y = min (1, (xp + yp)1/p) , p1
x t y = max [0, (+1)(x+y-1) -  x y] ,  -1 x s y = min [1, x + y +  x y] ,   -1

Normele t şi s mai îndeplinesc şi următoarele inegalităţi:

x , dacă y = 1
min (x, y)  x t y  y , dacă x = 1 (1.17)
0 , în celelalte cazuri

x , dacă y = 0
max (x, y)  x s y  y , dacă x = 0 (1.18)
1 , în celelalte cazuri
Definirea unor familii de funcţii care pot juca rolul de norme t şi s, diferite de min-max
sau prod-sum, s-a constituit într-un capitol extrem de bogat al matematicilor speciale, dar aplica-
rea acestor instrumente teoretice în practică este totuşi mai rară, volumul de calcule necesar
fiind mare, fără a se obţine în mod uzual îmbunătăţiri funcţionale semnificative.
Utilizarea operaţiilor min-max, prin lipsa de interacţiune dintre operanzi (unul dintre ei
nu participă la stabilirea rezultatului) nu este indicată în cazurile care reclamă funcţii de aparte-
nenţă foarte precise, dar în schimb oferă avantajul robusteţii. În acest caz imprecizia şi zgomotul
aferent operandului inactiv nu vor influenţa rezultatul operaţiei.
Având în vedere bogăţia opţiunilor, una dintre cele mai mari probleme care trebuie
rezolvată de către utilizatorii SF este tocmai alegerea celor mai potrivite opţiuni de modelare a
MF şi de definire a normelor t - s. Aşa cum vom vedea în lucrările practice, aplicaţiile software
dedicate SF sunt dotate, de regulă, cu posibilităţi multiple de selecţionare a acestor parametri şi
chiar cu posibilitatea definirii de către utilizatori a propriilor funcţii de apartenenţă şi norme t – s.

10
Lucrare practică 1. Verificarea constituirii logicii fuzzy

Pentru o bună acomodare cu elementele teoretice proprii utilizării sistemelor fuzzy, stu-
denţii vor verifica, prin testarea tuturor proprietăţilor, laticile min-max şi prod-sum. Se vor consi-
dera următoarele valori numerice: A(x) = 0,75, B(x) = 0,5 şi C(x) = 0,25.

De exemplu, testarea legilor lui de Morgan pentru cazul min-max decurge astfel:
(AB)(x) = 1 – max(0,75, 0,5) = 1 – 0,75 = 0,25 = min((1–0.75), (1–0,5)) =
= min(0,25, 0,5) = A(x)  B(x) iar
(AB)(x) = 1–min(0,75, 0,5) = 0,5 = max((1–0,75), (1–0,5)) = max (0,25, 0,5) = A(x)B(x)
Pentru cazul prod-sum testarea legilor lui de Morgan este următoarea:
(AB)(x) = 1– (0,75+0,5–0,75·0,5) = 1–0,875 = 0,125 = (1–0,75) · (1–0,5) = A(x)  B(x)
şi în acelaşi timp
(AB)(x) = 1– (0,75·0,5) = 1– 0,375 = 0,625 = 0,25 + 0,5 – 0,25·0,5 = A(x)B(x)
Nu este însă obligatoriu ca toate proprietăţile menţionate mai sus să fie respectate. De
exemplu, testarea distributivităţii pentru cazul min-max decurge cu succes, în modul următor:
a) Distributivitatea normei s faţă de norma t:
A(x)  (B  C)(x) = min (0,75, 0,5) = 0,5
dar în acelaşi timp şi
(A  B)(x)  (A  C)(x) = max (0,5, 0,25) = 0,5 ia aceeaşi valoare.
b) Distributivitatea normei t faţă de norma s:
A(x)  (B  C)(x) = max (0,75, 0,25) = 0,75
şi cum în acelaşi timp şi
(A  B)(x)  (A  C)(x) = min (0,75, 0,75) = 0,75, proprietatea se verifică
Pe de altă parte, la testarea distributivităţii pentru cazul prod-sum, constatăm că aceasta
nu mai verifică distributivitatea normei s faţă de norma t:
A(x)  (B  C)(x) = prod (0,75, 0,625) = 0,46875
dar
(A  B)(x)  (A  C)(x) = sum (0,375, 0,1875) = 0,4921875, o valoare diferită de cea
anterioară, ceea ce ne indică deja că laticea prod-sum nu este distributivă. Acest lucru este
explicabil prin aceea că însumarea nu este distributivă faţă de înmulţire.

Lucrare practică 2. Modelarea mulţimilor fuzzy în MATLAB - FIS

Pentru a asista concepţia şi dezvoltarea SF există o bogată ofertă de produse software. În


continuare vom utiliza pachetul integrat MATLAB, care are avantajul unei biblioteci de funcţii ma-
tematice şi de aplicaţii din cele mai semnificative domenii ştiinţifice şi tehnice. Principalul instru-
ment din MATLAB prin care se pot construi SF este interfaţa grafică Fuzzy Inference System FIS.
FIS aparţine toolkit-ului Fuzzy Toolbox şi poate fi lansată din fereastra de comenzi (command win-
dow) tastând comanda fuzzy. Fereastra FIS prin care pot fi editate FA din componenţa intrărilor şi
ieşirilor (input/output) care fac parte din structura SF este prezentată în Fig. 1.3. La această fe-
reastră se ajunge selectând blocul input1 din fereastra principală FIS.

11
Fig. 1.3. Editarea funcţiilor de apartenenţă în MATLAB Fuzzy Inference System
Din meniul Edit se pot face următoarele operaţii:
- introducerea unui număr dorit de MF;
- introducerea unei MF definită de utilizator;
- ştergerea unei MF;
- ştergerea tuturor MF din fereastră;
Definirea unei MF se face prin intermediul căsuţelor de dialog:
- Name pentru denumirea MF;
- Type pentru definirea formei FA selectată; în figură forma este trapezoidală;
- Params pentru ajustarea parametrilor formei FA alese. Această ajustare poate fi reali-
zată şi cu ajutorul mouse-ului;
- Range şi Display range pentru determinarea domeniului de definiţie pe care este defi-
nită MF selectată. În figură domeniul de definiţie a fost fixat la [-1 … 1].
În biblioteca toolkit-ului Fuzzy Toolbox se pot găsi cele mai des utilizate forme pentru FA:
triunghiulare (trimf), trapezoidale (trapmf), curbă Gauss (gaussmf), curbă de tip clopot (gbellmf),
curbă Π (pimf), curbă S (smf), etc.
Studenţii sunt invitaţi să testeze toate aceste forme posibile pentru FA.
Operaţiile pe care le poate realiza interfaţa FIS pot fi realizate şi prin comenzi directe din
command window: introducerea unei MF (addmf), evaluarea generică a valorii unei FA (evalmf),
ştergerea unei MF (rmmf), etc.

12
1.5. Teorema de reprezentare a mulţimilor fuzzy şi alte operaţii

Românii C.V. Negoiţă şi D.A. Ralescu (“Applications of Fuzzy Sets to Systems Analysis”,
Birkhauser, Basel, 1975) au formulat prima teoremă de reprezentare a MF prin tăieturi . Această
contribuţie teoretică a stat la baza construirii, în Japonia, a primelor circuite integrate pentru im-
plementarea SF.
În prealabil se defineşte noţiunea de tăietură de înălţime :
A = { x  X A (x)    ,   [0 ... 1] (1.19)

1 Prin această operaţie o mulţime fuzzy pri-


meşte un echivalent boolean. Elementele cu gradul
 de apartenenţă mai mare decât pragul  sunt ridi-
cate la 1, iar celelalte sunt eliminate din tăietură.
x
A

Fig. 1.4. Tăietura 

Teorema de reprezentare afirmă că o mulţime fuzzy A poate fi reprezentată printr-o reu-


niune de tăieturi de înălţime  :
A =   · A sau, altfel spus, A(x) = sup ( · A(x)) (1.20)
  [0 ... 1]

Forma funcţiei de apartenenţă este echivalată prin urmare cu o reuniune de dreptun-


ghiuri. Cu cât numărul de tăieturi α este mai mare, reprezentarea va fi mai detaliată.
Tăietura  se poate utiliza, printre altele, la stabilirea asemănării dintre două MF. Două
MF sunt asemenea dacă tăieturile lor pentru  = 0 (suporturile) şi pentru  = 1 (toleranţele) coin-
cid. Această definiţie a asemănării este justificată prin constatarea empirică expusă deja la §1.3:
efectele cele mai mari asupra caracterizării informaţiei vagi le au suportul şi toleranţa mulţimilor
fuzzy, în timp ce forma flancurilor funcţiilor de apartenenţă are o importanţă mai redusă.

Se prezintă în continuare unele operaţii utile în modelarea mulţimilor fuzzy.


 Normalizarea converteşte o MF subnormală într-o MF normală:
NORM(A(x)) = A(x) / hgt(A) (1.21)
 Concentrarea şi dilatarea modifică o MF prin micşorarea sau mărirea gradelor de apartenenţă
care modelează flancurile. Aceste operaţii sunt utilizate frecvent în cazul modificatorilor variabi-
lelor lingvistice, prin care acestea pot fi nuanţate, cum ar fi de exemplu foarte, mai mult, mai
mult sau mai puţin, etc.
CON(A) (x) = A2(x) (1.22)
1/2
DIL(A(x)) = A (x) (1.23)
Pentru ajustarea gradului de concentrare/dilatare se apela la puterea p a mulţimii Ap.
 intensificarea contrastului este mai selectivă decât concentrarea. Ea măreşte gradele de apar-
tenenţă mai mari de 0,5 şi le micşorează pe cele mai mici de 0,5.
2 A2(x) , dacă A(x) < 0,5
INT(A(x)) = (1.24)
2
1 - 2 (1 - A(x)) , în caz contrariu

13
Se poate adăuga şi în acest caz parametrul p >1, pentru radicalizarea efectului:

2p-1 Ap(x) , dacă A(x) < 0,5


INT(A(x)) = (1.25)
2
1 - 2 (1 - A(x)) , în caz contrariu

 fuzzificarea are un efect complementar intensificării:

(A(x) / 2)1 / 2 , dacă A(x) < 0,5


FUZ(A(x)) = (1.26)
1 - ((1 - A(x) ) / 2)1 / 2 , în caz contrariu

Şi în acest caz efectul poate fi întărit, după modelul (1.25).

1.6. Relaţii şi numere fuzzy

O relaţie fuzzy definită pe produsul cartezian X x Y este o funcţie R : X x Y[0 ...1 ] care
atribuie fiecărei perechi de elemente (x , y)  X x Y câte un grad de apartenenţă R(x, y) al cărui
sens este acelaşi ca şi în cazul mulţimilor fuzzy. R se poate imagina ca un indicator al tăriei unei
anumite legături dintre elementele x şi y. Cu cât legătura este mai puternică, valoarea R(x, y) va
fi mai apropiată de 1. Se pot construi RF şi pe produse carteziene de dimensiuni mai mari.

y
R(x0, y0) = 1

R(x, y) = 0
y0

x
x0
Fig. 1.5. Reprezentarea grafică a unei relaţii fuzzy R(x, y)
Prin analogie cu MF se pot defini operaţii şi asupra relaţiilor fuzzy. Presupunând două re-
laţii fuzzy, R : X x Z [0 ... 1] şi S : Z x Y [0 ... 1], din compunerea lor vor rezulta relaţii fuzzy
definite pe X x Y, cu valori în [0 ... 1].

 compunerea sup - min :


(R  S) (x, y) = sup [min (R(x, z), (S(z, y))] (1.27)
zZ

 compunerea inf - max :


(R  S) (x, y) = inf [max (R(x, z), (S(z, y))]
(1.28)
zZ

Între aceste operaţii există relaţia:


(R  S) = (R  S) (1.29)

14
Compunerea sup - min are următoarele proprietăţi, derivate din operaţiile max - min:
 dacă R  T, atunci R  S  T  S (1.30)
 distributivitate faţă de reuniune: (R  T)  S = R  S  T  S (1.31)
Totuşi distributivitatea faţă de intersecţie nu mai este valabilă:
(R  T)  S  R  S  T  S (1.32)
unde R, T : X x Z  [0 ... 1] şi S : Z x Y [0 ... 1]
Se pot compune şi mulţimi fuzzy cu relaţii fuzzy. Dintr-o MF definită pe X şi o relaţie fuzzy
definită pe X x Y va rezulta o MF definită pe Y.
Generalizări ale  şi  se pot obţine prin utilizarea normelor t şi s, rezultând:

 compunerea sup - t: zZ (R  S) (x, y) = sup [R(x, z) t S(z, y)] şi


(1.33)
 compunerea inf - s: zZ (R  S) (x, y) = [R(x, z) s S(z, y)]
sau chiar:

 compunerea s - t: zZ s [R(x, z) t S(z, y)] şi


(1.34)
 compunerea t - s: zZ t [R(x, z) s S(z, y)]

Numerele fuzzy NF sunt mulţimi fuzzy definite pe spaţiul numerelor reale R. Pentru a pu-
tea fi utilizate la descrierea unor noţiuni ca aproape zero, aproximativ 5, numerele fuzzy se defi-
nesc astfel încât să respecte următoarele condiţii:

 NF sunt mulţimi fuzzy normale (există elemente din R cu gradul de apartenenţă 1);
 NF sunt convexe;
 NF sunt semi-continue;
 NF au suportul mărginit.

Se pot efectua şi operaţiile algebrice Op = [ +, -, *, /], adunarea, scăderea, înmulţirea şi


împărţirea, după modelul:

(A Op B) (z) = sup [ A (x) t B (y) ]


(1.35)
x,y:xOp y=z

1.8. Indicatori de apreciere a mulţimilor fuzzy


De-a lungul timpului s-au propus diferiţi indicatori de apreciere a proprietăţilor MF. Cu
ajutorul lor este posibilă caracterizarea şi compararea obiectivă a MF, sarcină destul de grea une-
ori, având în vedere caracterul vag al lor.

a) Indicatori ai caracterului vag. Caracterul mai mult sau mai puţin vag (fuzzy) al unei MF poate
fi măsurat în mai multe moduri.
În 1979 R.R. Yager a propus calcularea modulului diferenţei dintre mulţimea fuzzy şi
complementul ei şi integrarea acestuia peste întregul domeniu de definiţie:

fuzz(A(x)) =   A(x) - A(x)  dx (1.36)


X

15
W. Pedrycz a propus aplicarea noţiunilor de entropie şi energie în acest domeniu. Măsura
entropiei unei MF A definită în X este un număr H(A), definit prin următoarea integrală, în care 
este orice măsură definită în X.

H (A) =  f (A(x)) d (1.37)


X

unde f poate fi orice funcţie f : [0 ... 1]  [0 ... 1], monoton crescătoare în intervalul [0 ...1/2] şi
monoton descrescătoare în intervalul [1/2 ... 1].
De obicei pentru f se utilizează log2 la fel ca în definiţia entropiei din teoria informaţiei,
sau o funcţie mai simplă, egală cu x în [0 ...1/2] şi cu 1 - x în [1/2 ... 1]. Cu cât entropia este mai
mare incertitudinea este mai mare. Pentru MF cu funcţia de apartenenţă 0 sau 1 entropia este
nulă.
Măsura energiei unei MF A definită în X este un număr E(A), definit prin următoarea inte-
grală, în care  este orice măsură definită în X.

E (A) =  h (A(x)) d (1.38)


X

unde h: [0 ... 1]  [0 ... 1] este monoton crescătoare în intervalul [0 ...1]. Cea mai simplă măsură
a energiei este:

E (A) =  A(x) d (1.39)

b) Granulaţia unei MF este o mărime care indică selectivitatea descrierii unui concept prin MF.
Cu cât granulaţia este mai mică, acelaşi domeniu de definiţie poate fi descris prin mai multe mul-
ţimi fuzzy. Granulaţia poate fi măsurată prin:

G (A) = 1 -  meas ( A ) () d (1.40)


meas ( X )
unde  : [0 ... 1]  [0 ... 1] este o funcţie definită peste gradele de apartenenţă iar meas( ) este
o măsură a tăieturii . Rolul funcţiei  este doar acela de a accentua sau diminua impactul
diferitelor valori ale gradului de apartenenţă.
Specificitatea este o mărime asemănătoare granulaţiei fiind însă definită prin raportul
dintre gradul maxim de apartenenţă şi mărimea tăieturii .

c) Indicatorii de comparaţie a mărimilor fuzzy se aplică atunci când trebuie comparate două MF,
A şi B definite pe domeniul X.

 Distanţa Minkowski are formula:

d(A) = (   A(x) - B(x) p dx )1/p , p  1 (1.41)


Sunt des aplicate distanţele Euclideană (p=2) şi Hamming (p=1).
 Compararea logică a MF se bazează pe condiţia logică a egalităţii:
A = B , dacă A  B şi B  A (1.42)

16
1.8. Variabile lingvistice

Termenul de variabilă lingvistică VL, introdus de L. A. Zadeh în 1975 defineşte o variabilă


care ia valori lingvistice, cum ar fi încet, repede, înalt, etc. Aceste valori sunt modelabile prin MF.
Orice VL conţine câţiva termeni lingvistici TL primari (etichete lingvistice). Aplicând reguli sintac-
tice şi semantice se pot construi termeni derivaţi şi propoziţii.
Să luăm de exemplu VL temperatură, cu domeniul de definiţie cuprinzând gama de tem-
peraturi care se pot realiza în interiorul unui vagon. Termenii lingvistici primari pot fi mic, mediu
şi mare. Aceşti termeni pot fi în continuare ponderaţi cu modificatori, cum ar fi foarte, mai mult
sau mai puţin, etc. Se obţin propoziţii corecte prin combinarea termenilor primari şi a modifica-
torilor, de exemplu (temperatură) foarte mare.
Semantica propoziţiilor este alcătuită din operaţiile prezentate la §1.5. De exemplu, prin
concentrare şi dilatare se pot obţine modificatorii:
foarte A = A2, mai mult A = A1,25, mai mult sau mai puţin A = A0,5, mai puţin A = A0,75.
În general, (h(A))(x)= Ap(x), h fiind modificatorul. Pe lângă concentrare şi diluare (p>1 res-
pectiv p<1) se utilizează şi translaţii în cadrul domeniului de definiţie:
(h(A))(x) = Ap (x - ) (1.43)
Cu ajutorul VL este posibilă reprezentarea cunoştinţelor într-un mod familiar percepţiei
umane. Instrumentul matematic bazat pe VL prin care cunoştinţele pot fi reprezentate şi prelu-
crate se numeşte cadru cognitiv (engl. frame of cognition) CC, prezentat în secţiunea următoare.
Pentru încadrarea cât mai bună a cunoştinţelor în cadrele cognitive se apelează la proce-
duri de aproximare lingvistică. Prin aproximare lingvistică o MF este adaptată la setul de termeni
primari de care dispune o VL. Dacă dispunem de un set de termeni lingvistici primari Ai (i = 1 ... p)
şi un set de modificatori hj (j = 1 ... m), aproximarea lingvistică a MF B constă din exprimarea lui B
prin Ai şi hj . Aproximarea cuprinde două faze: aproximarea lui B prin Ai, optimizând un indice de
egalitate (Ai = B) şi îmbunătăţirea aproximării prin selectarea celor mai potriviţi modificatori:

max [media (Ai = B)] = media (Ai0 = B) (1.44)


i=1...p

max [media (hj (Ai0) = B)] = media (hj0 (Ai0) = B) (1.45)


j=1...m

1.9. Cadre cognitive şi partiţii fuzzy

Familia de mulţimi fuzzy A = {A1, A2, ... Ac} formează un cadru cognitiv CC dacă îndepli-
neşte următoarele două condiţii:

 A acoperă domeniul de definiţie X. Fiecare element al domeniului de definiţie poate fi atribuit


cu un grad de apartenenţă diferit de zero cel puţin unei MF din A:

  Ai (x) >  (1.46)


x i

 > 0 fiind denumit nivel de acoperire a lui X .


 Elementele lui A sunt mulţimi fuzzy unimodale. Se pot astfel identifica în X regiuni (câte o regi-
une pentru fiecare TL) care să fie în mare măsură compatibile cu acestea (cu grad semnificativ de
apartenenţă la Ai). Aceste regiuni posedă un înţeles semantic clar.

17
A1 A2
1 A3


x

Fig. 1.6. Proprietatea de acoperire a cadrului cognitiv

Partiţia fuzzy PF este un CC care se mai caracterizează şi prin proprietatea:

 Ai (x) = 1, xX (1.47)


i=1...c

O PF creează pentru fiecare punct din domeniul de definiţie X conexiuni cu unul sau mai
mulţi TL, fără însă a permite existenţa unor zone insuficient caracterizate (Ai(x)<1) sau în care
există reguli contradictorii (Ai(x)>1). În perspectiva utilizării PF la reglările automate, această
condiţie garantează existenţa unor informaţii suficiente şi necontradictorii pentru luarea decizi-
ilor, în orice zonă a domeniului X.
Unei PF i se poate ataşa o partiţie Booleană, adică un set de mulţimi ferme delimitate de
punctele de intersecţie ale TL succesivi Ai . În cazul PF aceste intersecţii se produc doar între doi
TL, la valoarea 0,5 a funcţiilor de apartenenţă.

A1 A2 A3
1

Fig. 1.7. Partiţie fuzzy şi partiţia Booleană indusă

Există trei caracteristici esenţiale ale CC:


 Specificitatea. Un CC A’ este mai specific decât altul A dacă toate elementele sale sunt mai
specifice (în termenii unui indicator de specificitate) decât elementele lui A. Numărul ele-
mentelor lui A’ va fi mai mare decât numărul elementelor lui A. De exemplu
A’ = {foarte negativ, negativ, zero, pozitiv, foarte pozitiv}
este un CC mai specific decât:
A’ = {negativ, zero, pozitiv}
Granulaţia informaţiei conţinută în A’ este mai fină decât granulaţia A. Pe de altă parte
puterea descriptivă a etichetelor lingvistice este mai mare în A, care are un grad de generalitate
mai mare decât A’. Specificitatea şi generalitatea sunt deci caracteristici antinomice ale CC.

 Ascunderea informaţiei. Prin gruparea elementelor xX în categorii simbolice în funcţie de gra-
dul de apartenenţă, atenţia se concentrează asupra unor regiuni din domeniul de definiţie, va-
lorile numerice izolate pierzându-şi din semnificaţie. În cazul unei MF trapezoidale toate elemen-
tele cu gradul de apartenenţă 1 sunt echivalente.

18
 Robusteţea. Deşi ascunderea informaţiei nu este în sine de dorit, ea poate aduce unele
simplificări şi mai ales o toleranţă remarcabilă faţă de imprecizia informaţiei şi perturbaţiilor.

Robusteţea este o proprietate opusă senzitivităţii şi depinde de norma triangulară aleasă.


O normă care are proprietatea de absorbţie (min-max) este mai robustă decât o normă care nu
are această proprietate (prod-sum).

Lucrare practică 3. Realizarea variabilelor lingvistice fuzzy în FIS

Tema acestei lucrări este proiectarea şi implementarea unei variabile lingvistice cu ajuto-
rul interfeţei FIS. Variabila care urmează să fie implementată este vârsta unui om.
O primă problemă care trebuie rezolvată este alegerea numărului de TL. Dacă ne vom
limita la un număr redus de termeni, vom obţine o variabilă cu un grad mare de generalitate:
V’ = {tânăr, matur, bătrân}
Cu cât numărul de TL creşte, vom obţine o VL mai specifică, dar în acelaşi timp mai com-
plexă, care va cere mai multe resurse la implementare. În continuare vom considera variabila:
V = {copil, adolescent, tânăr, matur, bătrân, foarte bătrân}
Adăugarea, ştergerea, precum şi setarea TL se pot realiza cu mare uşurinţă, atât prin că-
suţele de dialog cât şi cu ajutorul mouse-ului. În prima implementare realizată cu TL de forma
curbei lui Gauss (vezi Fig. 1.8), termenul selectat, tânăr, poate fi ajustat fie cu mouse-ul, agăţând
punctele marcate de pe curbă sau vârful curbei, fie din căsuţa de dialog, în care apar vârstele de
7,24 şi 24 de ani (parametrii curbei Gauss). Fig. 1.9 prezintă versiunea cu TL triunghiulari ai ace-
leaşi variabile, în care parametrii TL tânăr sunt vârstele de 6,81, 24 şi 40 de ani.
Aceste versiuni de implementare se încadrează în categoria CC – cadre cognitive. Ele nu
sunt PF-partiţii fuzzy; deşi toţi TL sunt normalizaţi, în unele puncte sumele funcţiilor de aparte-
nenţă nu sunt egale cu 1. Observăm cum în Fig. 1.9, pentru vârsta de 11 ani, cel mai mare grad de
apartenenţă 1 aparţine pe bună dreptate TL adolescent, dar în acelaşi timp şi TL învecinaţi copil
şi tânăr sunt activaţi într-o oarecare măsură.
În Fig. 1.10 este prezentată o PF alcătuită din TL trapezoidali, la care pentru orice vârstă
posibilă suma gradelor de apartenenţă active este 1. Domeniile de vârstă care se încadrează ferm
într-unul din cei şase TL utilizaţi sunt acoperite de toleranţa acelui termen, de exemplu vârstele
cuprinse între 20 şi 30 de ani pentru termenul tânăr. Clasificarea vârstelor la care se produc tran-
ziţiile între categorii este mai incertă, lucru modelat de activarea a câte doi TL, în diferite propor-
ţii. La 35 de ani vom considera un om în acelaşi timp şi tânăr dar şi matur.
În practică şi mai ales în IA, cel mai frecvent se întâlnesc PF cu termeni amestecaţi, trape-
zoidali şi triunghiulari, care au avantajul simplităţii. Se recomandă ca domeniul de definiţie al VL
să fie delimitaţi de TL trapezoidali, a căror întindere să depăşească limitele domeniului, pentru a
evita unele erori de calcul care ar putea să apară în cazul operaţiei de defuzzificare, care va fi ex-
plicată ulterior.
Este binevenită o observaţie referitoare la unele confuzii posibile cu privire la noţiunea
de modificator fuzzy. În variabila vârsta unui om termenul foarte bătrân este un TL în sine, nu
modificarea termenului bătrân. Am putea de exemplu considera ca termen modificat varianta
trapezoidală a termenului bătrân în variantele Gauss sau triunghiular. Dacă într-un proiect mai
vast, început cu TL triunghiulari, considerăm că efectele anumitor TL ar trebui intensificate am
putea modifica acei termeni prin modificatorul foarte, sau mai radical, am putea trece de la
forma triunghiulară la cea trapezoidală.

19
Fig. 1.8. Variabila lingvistică vârsta unui om cu termeni lingvistici de tip Gauss

Fig. 1.9. Variabila lingvistică vârsta unui om cu termeni lingvistici de tip triunghiular

20
Fig. 1.10. Partiţia lingvistică fuzzy vârsta unui om cu termeni lingvistici de tip trapezoidali

21
Capitolul 2. CONTROLERE FUZZY

2.1 Sistemele expert şi reglarea fuzzy

Un sistem expert SE este un program care urmăreşte un grup de cunoştinţe pentru obţi-
nerea unor rezultate, în acelaşi mod ca şi experţii umani. Metodele de proiectare bazate pe mo-
dul de gândire şi pe experienţa umană se numesc euristice. Putem spune că acest gen de sisteme
sunt tipice pentru noţiunea de IA. Un SE este materializat printr-o bază de cunoştinţe şi printr-un
algoritm de căutare, bazat pe metode de raţionare. Cunoştinţele sunt reprezentate prin reguli de
forma:
dacă < premiză > atunci < concluzie >
care pot fi uşor citite şi modificate de către utilizatori. Dacă la început SE erau destinate în primul
rând asistării luării deciziilor, o dată cu dezvoltarea tehnologiilor informatice au apărut şi aplicaţii
în timp real, în domeniul conducerii proceselor. Rezultă astfel un tip de conducere cunoscută sub
denumirea de conducere de tip expert (engl. expert control) fundamentată de lucrările lui K.J.
Astrom, J. G. Anton şi K.E. Arzen în perioada 1984 - 1986.
Conducerea expert accentuează aspectul calitativ în detrimentul celui cantitativ, apelând
la calculul simbolic propoziţional. Aplicarea logicii fuzzy în SE s-a dovedit a fi binevenită, după
cum a demonstrat-o succesul unor SE cum ar fi MYCIN destinat asistării diagnozei medicale.
Afinitatea dintre metodele IA şi LF a fost prefigurată încă de fondatorii ciberneticii. Von Neuman
afirma în cartea sa Calculatorul şi creierul: ”Creierul nu foloseşte limbajul matematicii”. Norbert
Wiener este şi mai specific: ”Unul dintre principalele avantaje ale creierului pare să fie
capacitatea lui de a mânui idei vagi, insuficient definite.”
Rolul LF în acest domeniu constă din reprezentarea cunoştinţelor şi din generarea meca-
nismelor de inferenţă asemănătoare raţionamentelor umane. Nu este deci întâmplător faptul că
SF pot fi cel mai uşor implementate în domeniile în care există o experienţă umană anterioară.
Dispozitivele care generează legile de conducere, în automatică, se numesc în engleză
controler. Termenul a fost extins asupra oricărei structuri abstracte care materializează inferenţe.
Inferenţa este procesul prin care se pot extrage concluzii logice pornind de la premize
considerate valide. Termenul controler fuzzy CF este deci echivalent cu cel de regulator fuzzy RF
în aplicaţiile de conducere automată în buclă închisă. În literatură de limbă engleză se întâlnesc
următorii doi termeni:
 Fuzzy Logic Controler FLC (controler cu logică fuzzy);
 Fuzzy Controler FC (controler fuzzy).
Deşi deosebirile dintre termeni nu sunt majore, FLC se poate distinge de FC prin apelarea
în procesul inferenţei la calculule relaţionale fuzzy bazate pe operaţii mai complexe decât nor-
mele t-s şi compunerile simple de relaţii, de exemplu prin utilizarea implicaţiilor logice fuzzy. FLC
se utilizează cu predilecţie în sistemele de asistare a deciziilor fiind mai puţin întâlnite în
conducerea proceselor, de aceea în cadrul acestui curs vom apela cu predilecţie la FC.
Din punct de vedere informaţional, structura unui FC utilizabil în reglarea proceselor este
reprezentată în figura următoare.

22
PROCES
CONDUS

INTERFAŢĂ INFERENŢĂ INTERFAŢĂ


DE INTRARE DE IEŞIRE
(FUZZYFICARE) FUZZY (DEFUZZYFICARE)

Fig. 2.1. Sistem de conducere în buclă închisă cu LF


Într-un CF algoritmii de conducere vor fi înglobaţi în protocoale de comenzi, pe baza căro-
ra se vor genera comenzi în urma procesului de inferenţă logică, în funcţie de mărimile de intra-
re. Regulile de conducere se alcătuiesc având în vedere:
■ cum se comportă procesul reglat şi de ce apare o anumită situaţie?
■ cum s-ar comporta un operator uman în această situaţie?
În cazul unui regulator cu două intrări şi o ieşire de tip PD (proporţional derivativ), mări-
mile implicate în mecanismul de inferenţă sunt e - eroarea de reglare (diferenţa dintre valoarea
impusă şi mărimea de ieşire), de - variaţia erorii şi y - mărimea de comandă. Aceste mărimi vor fi
reprezentate ca şi variabile lingvistice cu ajutorul următoarelor CC:
E  e1, e2, ... en ; DE  de1, de2, ... dem ; Y  y1, y2, ... yp
Aşa cum am văzut, regulile de conducere sunt prezentate sub formă de protocoale
(liste):
< dacă (ei(r) şi dej(r)) atunci yk(r) > (2.1)
i[1, 2, ... n], j[1, 2, ... m], k[1, 2, ... p], pentru r = 1, 2, ... N, N fiind numărul de reguli.
În cazul unui număr redus de VL sau a generării automate a bazei de reguli este recoman-
dabilă utilizarea tabelele de inferenţă MacVicar-Whelan, care elimină riscul omiterii unor regiuni
din cadrul universurilor de discurs ale variabilelor.

Tabelul 2.1. Exemplu de tabel de inferenţă MacVicar-Whelan

E - mare - mică zero + mică + mare


DE
negativă + mare + mare + mică zero - mică
zero + mare + mică zero - mică - mare
pozitivă + mică zero - mică - mare - mare

În tabelul de inferenţă de mai sus sunt cuprinse 15 reguli, prima dintre ele fiind:
< dacă (E este negativă mare şi DE este negativă) atunci Y va fi pozitivă mare >
Scopul algoritmului de reglare este de a forţa sistemul să ajungă la activarea regulii cen-
trale, care corespunde obiectivului reglării: menţinerea stabilă în zona de eroare de reglare 0.

23
2.2. Structura generică a unui controler fuzzy

Din secţiunea anterioară reiese că elementele esenţiale ale unui FC sunt:


 un protocol de reguli de conducere;
 un mecanism de inferenţă;
 interfeţele de intrare şi de ieşire.
Se consideră un model al unui CF de tip regulator PD, înglobând variabilele lingvistice:
E = {e1 , e2 , ... en} , DE = {de1 , de2 , ... dem} , Y = {y1 , y2 , ... yp}
Analogia cu regulatorul PD este didactică, conţinutul variabilelor E şi DE putând fi extins
asupra oricărei aplicaţii cu structură asemănătoare.
Operaţia prin care variabilele de intrare şi de ieşire sunt transformate în VL, compatibile
cu baza de reguli fuzzy disponibilă, se numeşte fuzzificare.
Pentru exprimarea regulilor de conducere (2.1) se poate utiliza notaţia simplificată:
dacă (Ei şi DEi) atunci Yi (2.2)
i = 1, 2, ... N

Reprezentarea cunoştinţelor poate fi sintetizată prin relaţia fuzzy R care combină toate
cele N reguli de conducere:
N

R =  (Ei x DEi x Yi) sau mai concis, R = E x DE x Y (2.3)


i=1

În cazul frecvent al utilizării operatorilor max - min :


R (en , dem , yp ) = max [ min (Ei (en), DEi (dem), Yi (yp))] (2.4)
i=1 ... N

Inferenţa este obţinută prin relaţia fuzzy:


Y = (E x DE)  R (2.5)
sau, prin includerea valorilor funcţiilor de apartenenţă:
Yi ( yp ) = max [ min (Ei (en), DEi (dem), R (en , dem , yp ))] (2.6)
având ca rezultat comanda provocată prin aplicarea regulii i. O justificare a acestui mod de defi-
nire a inferenţei este prezentată în §1.6.
Propriu logicii fuzzy şi modului de alcătuire al CC este faptul că mai multe reguli de
conducere pot fi activate în acelaşi timp, fiecare dintre ele inducând propria sa comandă. O
valoare y de ieşire poate prin urmare aparţine mai multor MF din compunerea Y. Pentru obţi-
nerea unei mărimi ferme unice la ieşire va fi prin urmare necesară operaţia de defuzzificare.

FUZZYFICARE INFERENŢĂ DEFUZZYFICARE

intrări ieşiri
ferme ferme
BAZA DE REGULI DE CONDUCERE

Fig. 2.2. Structura generică a unui FC


Această structură poate fi simplificată atunci când mărimile de intrare sunt deja mărimi
fuzzy şi atunci când la ieşire avem nevoie de mărimi fuzzy.

24
Combinaţiile posibile de configurare a CF din punctul de vedere al naturii fuzzy sau non-
fuzzy a intrărilor şi ieşirilor au fost studiate de L. Foulloy şi S. Galichet, fiind prezentate în tabelul
următor.

INFORMAŢIA DE INFORMAŢIA DE IEŞIRE


INTRARE NUMERICĂ FUZZY
NUMERICĂ 1) Sisteme de reglare în 2) Sisteme de asistare a deciziilor
buclă închisă (în buclă deschisă)
FUZZY 3) Sisteme de reglare în 4) Sisteme inteligente de asistare
buclă închisă a deciziilor (în buclă deschisă)

Termenul de regulator fuzzy RF este legat de cazul (1), cel mai frecvent, în care CF este
destinat conducerii şi reglării în buclă închisă a proceselor fizice, RF fiind în esenţă un element
nelinear al buclei de reglare. Mărimile de intrare provin de la traductoare iar cele de ieşire se
adresează diferitelor elemente de execuţie. Cea mai potrivită formă de reprezentare a inferenţei
în acest caz este tabelul de inferenţă MacVicar-Whelan.
Cazul 2) în care intrările sunt ferme şi ieşirile fuzzy corespunde unor sisteme de asistare a
deciziilor sau unor simulatoare de antrenament pentru operatorii umani. Sistemul produce infor-
maţii vizuale simbolice despre starea procesului condus, pornind de la datele oferite de senzori,
sarcina alegerii mărimii de comandă revenind omului.
Modul 3) de utilizare a CF acceptă la intrare mărimi fuzzy, provenite de exemplu de la
senzori inteligenţi dotaţi cu LF sau de la alte CF. Acest mod de utilizare este util atunci când infor-
maţia de la intrare este incertă din diferite motive. Sunt tipice cazurile în care sistemul urmăreşte
reacţiile unor fiinţe umane sau cazul roboţilor dotaţi cu controlere pentru recunoaşterea
formelor sau a comenzilor verbale. Un astfel de exemplu va fi expus în secţiunea dedicată
aplicaţiilor, deciziile ferme ale unora dintre cutiile de viteze automate (alegerea treptei de viteză)
fiind susţinute de CF din categoria 2), care apreciază pe baza manevrelor curente ale şoferului sti-
lul său de conducere, reprezentat printr-o VL {sportiv, standard, ponderat}.
Cazul (4) este recomandabil pentru cazul sistemelor expert de asistare a deciziilor, o altă
categorie din domeniul IA. Un exemplu de acest tip, referitor la luarea de decizii în domeniul
investiţiilor, va fi expus în secţiunea cu aplicaţii.

2.3. Fuzzificarea

Aşa cum s-a văzut în secţiunea §2.2 fuzzificarea este o operaţie prin care se aleg mărimile
de intrare şi de ieşire, după care se definesc MF care permit modelarea acestora prin VL, rezul-
tând CC sau PF. În cazul reglărilor în buclă închisă intrările se aleg dintre eroarea e, derivata de
ordin I a erorii de/dt, derivata de ordin II a erorii d2e/dt2, integrala erorii e·dt, sau alte mărimi de
stare ale sistemului. Ca şi în cazul oricărui sistem de reglare, si aici alegerea variabilelor este
esenţială. O funcţionare corectă şi performantă nu poate fi obţinută în nici un caz dacă variabilele
nu sunt corect alese, indiferent de algoritmul de conducere utilizat, fie el chiar şi inteligent! În
interfeţele de intrare şi de ieşire ale unui RF real au loc operaţiile obişnuite din cadrul sistemelor
numerice: eşantionarea, conversiile analog/numerică şi numeric/analogică precum şi diferite
filtrări. De obicei sunt suficiente codificări binare pe 8-12 biţi, deoarece FC nu necesită prin însăşi
natura lor precizii deosebite.
De o mare importanţă pentru funcţionarea CF este alegerea numărului de TL ai fiecărei
VL. Deşi creşterea numărului de TL asigură creşterea rezoluţiei conversiei fuzzy (granulaţie mai
mare), din literatură rezultă că nu se justifică utilizarea a mai mult de 6-7 TL, deoarece îmbună-
tăţirea performanţelor care ar rezulta este minoră faţă de creşterile exponenţiale ale capacităţii
de memorie şi a volumului de calcul necesar. În cazul frecvent al regulatoarelor PD, mărimea de

25
intrare e are un rol preponderent, fiind utilizaţi de obicei 5-7 TL, în timp ce pentru de/dt sunt
suficienţi 3-5 TL.
Termenii lingvistici consacraţi sunt menţionaţi în continuare; alegerea lor nu este obliga-
torie dar este recomandabilă, pentru a uşura efortul cititorilor.
- negativ mare NM (negative great NG);
- negativ mediu Nmd (negative medium NM);
- negativ mic Nm (negative small NS);
- zero Z (zero Z);
- pozitiv mic Pm (positive small PS);
- pozitiv mediu Pmd (positive medium PM);
- pozitiv mare PM (positive great PG).
În aplicaţii formele preferate pentru TL sunt triunghiulară sau trapezoidală. În cazul unor
elemente de execuţie cu acţiune discontinuă MF de ieşire se aleg de tip singleton.
În continuare se exemplifică fuzzificarea pentru un studiu de caz referitor la comandarea
automată a frânării trenurilor. În această aplicaţie (Şt. Preitl şi R.E. Precup) se urmăreşte frânarea
şi oprirea automată a unui tren în apropierea semnalului. Variabilele principale de intrare sunt d -
distanţa până la semaforul care impune oprirea şi v - viteza trenului iar variabila de ieşire este
gradul de frânare f cuprins între 0 (lipsă frânare) şi 1 (frânare maximă). În acest caz mărimile nu
necesită o definire simetrică, astfel că TL folosiţi, în număr de câte 5, vor fi:
d, v : fm (foarte mic), m (mic), md (mediu), M (mare), FM (foarte mare);
f : ze (lipsă frânare), m (mic), md (mediu), M (mare), FM (foarte mare).
1 fm m md M FM TL sunt modelaţi prin MF
de formă triunghiulară sau tra-
d pezoidală pentru termenii ex-
tremi fm, ze şi FM.
d [m]
0 250 500 750 1000 Rezultă trei PF, pentru orice
valoare din domeniile de defi-
1 fm m md M FM niţie suma gradelor de aparte-
nenţă fiind 1. Pentru fiecare
v mărime fermă se activează câ-
te doi TL.
v De exemplu, pentru valoa-
[km/h] rea d=300 vom avea d-fm=0,75
0 20 40 60 80 100 şi d-md=0,25.
Tabelul de inferenţă propus
1 ze m md M FM de autori pentru aplicaţie este
următorul:

f
f
0 0,2 0,4 0,6 0,8 1
Fig. 2.3. Exemplu de fuzzificare

26
Tabel 2.1. Tabel de inferenţă pentru comandarea frânării unui tren
v
f fm m md M FM
fm md md M FM FM
m m md M M FM
d md ze m md M M
M ze m m md M
FM ze ze ze m md

După cum se observă, scopul fuzzificării este ca să permită construirea unei baze de
reguli de conducere fuzzy, înglobând cunoştinţele noastre referitoare atât la procesul condus cât
şi la metodele de conducere pe care vrem să le aplicăm. Construirea comenzilor aplicate
procesului va rezulta în urma operaţiei următoare inferenţa.

2.4. Inferenţa

Inferenţa este operaţia logică prin care se obţin concluzii valabile pe baza unor premize.
A. Charuk (1936) a demonstrat că logica predicatelor nu este o teorie complet decidabilă şi deci
nu există o metodă universală prin care într-un număr finit de paşi să se decidă dacă o formulă
bine formulată este validă sau infirmată. Există totuşi mai multe metode de inferenţă cum ar fi
modus ponens, modus tollens, raţionamentul ipotetic sau tranzitivitatea. În LF se utilizează princi-
piul modus ponens (calea prin afirmaţie) care necesită aducerea propoziţiilor la o formă standard
numită formă clauzală.
Clauzele uzuale se pot clasifica în clauze cu premise complexe şi consecinţă unică:
1) Dacă A1  A2  ...  Am atunci B (2.7)
şi clauze cu premise complexe şi consecinţe alternative:
2) Dacă A1  A2  ...  Am atunci B1  B2  ...  Bn (2.8)
Orice formulă bine formată şi închisă poate fi adusă la forma clauzală. Se pot imagina o
mare varietate de reguli de inferenţă logică utilizând diferiţi operatori logici (conjuncţie , dis-
juncţie , implicaţie, echivalenţă, negaţie, etc.) în diferite poziţii ale clauzelor.
Inferenţa numită min-max datorită operatorilor implicaţi în relaţia fuzzy R se desfăşoară
în modul următor:
 Mărimile de intrare fuzzyficate se compară pe rând prin operatorul min cu premizele fiecărei
reguli; regulile pentru care comparaţia produce grade de apartenenţă diferite de 0 vor fi activate.
 Rezultatul final se obţine reunind prin operatorul max concluziile fiecărei reguli active, ţinând
cont de gradul ei de activare.
Păstrând notaţiile de la §2.2, nivelul de activare a regulii i care are premisele Ei(e) şi
DEi(de) va fi reprezentat prin mulţimea fuzzy:
i (y)= max [ E(e)  Ei (e)  DE(e)  DEi (de) ] (2.9)
eE, deDE

iar rezultatul inferenţei de către mulţimea fuzzy


N

Y =  (i  Yi ) (2.10)
i=1

27
O ilustrare a acestei inferenţe este prezentată în fig. 2.4, pentru setul de reguli {R1, R2} şi
valorile ferme de intrare ε0 şi dε0:
R1: dacă (E este Z şi DE este Nm) atunci Y este Nm
R2: dacă (E este Pm şi DE este NM) atunci Y este Z
Aşa cum am văzut în primul capitol, în literatură apar şi alte tipuri de inferenţă, bazate de
exemplu pe diferite implicaţii logice cum ar fi max [(1 - E(e)), Y(y)] şi min [1, (1 - E(e) + Y(y)],
implicaţia Lukasiewicz sau a operatorilor “produs” şi “sumă probabilistică”. Cu toate acestea
mare majoritate a aplicaţiilor, apelează la inferenţa min-max .

Z Pm NM Nm Nm Z

e de y
e0 de0
E eroare DE derivata erorii Y ieşire

Z Nm Nm

 1  Y1

e de y

Pm NM Z

2 Y2

e de y

Y(y)

y
Fig. 2.4. Un exemplu de inferenţă min-max

2.5. Defuzzificarea

Ultima, dar nu şi cea mai puţin importantă dintre problemele ridicate de CF este
defuzzificarea, prin care MF obţinute prin inferenţă sunt transformate în mărimi ferme. Dacă în
cazul fuzzificării şi a inferenţei există aproape un consens asupra utilizării partiţiilor fuzzy
modelate prin forme triunghiulare sau trapezoidale respectiv asupra metodei min-max, în cazul
defuzzificării există cel puţin două metode de defuzzificare cu o popularitate largă (MOM – mean
of maxima şi COG – center of gravity), fiecare la rândul ei prezentând mai multe variante.
Alegerea metodei de defuzzificare se face în funcţie de mai multe criterii, dintre care cele mai
importante sunt:
 caracteristicile MF de ieşire Y = {y1 , y2 , ... yn} şi ale elementului de execuţie;
 viteza cerută de aplicaţie şi capacitatea de calcul disponibilă.
28
1) Metoda maximului constă din atribuirea pentru ieşirea fermă yo a valorii obţinută prin
alegerea elementului cu cel mai înalt grad de apartenenţă din componenţa MF de ieşire activate:
Y (yo) = max { yi (y) yY, i=1 ... n } (2.11)
La stabilirea acestei valori concurează toate VL active yi, fiind aleasă doar cea având con-
tribuţia cea mai puternică. Metoda se poate aplica numai în cazul în care se poate stabili o valoa-
re unică yo, adică atunci când Y are în componenţă MF triunghiulare sau singleton-uri. Când
există mai multe MF având grade de apartenenţă maxime cu valori egale se pot aplica diferite
variante de defuzzificare, unele dintre ele fiind ilustrate în continuare.
În cazul în care Y(y) nu prezintă maxime punctuale (de exemplu în cazul formelor trape-
zoidale), se pot aplica variantele: primul dintre maxime FOM (engl. first of maxima), ultimul din-
tre maxime LOM (engl. last of maxima) sau mijlocul maximelor.

Y y1 y2 y3 Y y1 y2 y3

y y

y0 y0

yFOM (yFOM + yLOM)/2 yLOM

Fig. 2.5. Exemple de defuzzyfficare după metoda maximului

2) Metoda mediei maximelor MOM (engl. mean of maxima) reprezintă o extindere a metodei
maximului, extrem de populară din cauza volumului de calcule relativ redus. Ea se poate aplica
atât în cazul ieşirii de tip singleton cât şi atunci când există mai multe maxime ale MF de ieşire.
Să presupunem că există mai multe reguli active şi că MF de ieşire are un număr de p
maxime, cu un grad de apartenenţă egal. După stabilirea valorilor ferme de comandă produse de
fiecare dintre maxime, y0i , ieşirii i se va atribui media acestor valori:
1 p
y0 =  y0i (2.12)
p i=1
Avantajele metodei MOM constau în simplitatea şi rapiditatea ei, dar caracteristica de
ieşire a regulatoarelor este discontinuă, existând un număr limitat de valori posibile ale ieşirii. O
atenuare a dezavantajului menţionat, obţinută însă cu preţul creşterii volumului de calcule se ob-
ţine prin luarea în consideraţie a tuturor zonelor pentru care funcţia de apartenenţă este superi-
oară unui prag . Integralele se vor calcula peste toate intervalele disjuncte pentru care Y(y) >  .

Y(y) > y dy
y0 = (2.13)
Y(y) > dy

29
3) Metoda centrelor de greutate COG (engl. center of gravity) este metoda de defuzzificare cea
mai sensibilă, care ţine seama într-o manieră ponderată de influenţa fiecărui termen lingvistic al
ieşirii, considerând toate valorile posibile pentru gradele de apartenenţă. Prin COG domeniul va-
lorilor discrete de ieşire devine continuu.
Denumirea metodei provine din analogia formulei de definiţie (2.14) cu formula utilizată
în mecanică pentru calculul centrului de greutate al unei suprafeţe:

 Y(y)· y dy
y0 = (2.14)
 Y(y) dy
Metoda se poate aplica şi în varianta discretă:
 Y(yj)· yj
j
y0 = (2.15)
 Y(yj)
j

precum şi în varianta modificată prin introducerea pragurilor de respingere a valorilor nesemni-


ficative , propuse de W. Pedrycz:
  j· y j
j
y0 = (2.16)
 j
j

Y y1 y2

COG

y
y0 COG y0 MOM

Fig. 2.6. O comparaţie între defuzzyficările MOM şi COG.


După cum se vede în Fig. 2.6, defuzzificarea COG este influenţată nu numai de y2 care are
cel mai înalt grad de activare ci şi de y1, valoarea ieşirii y0 COG fiind mai mică decât y0 MOM, care ţine
seama numai de y2.

4) Diferite variante ale metodei COG caută să atenueze dezavantajul volumului mare de calcule
cerute de aceasta:
 Centrul sumei ariilor COS (engl. center of sums), spre deosebire de metoda COG standard care
ia în calcul aria graficului funcţiei de apartenenţă, va admite calculul separat al centrelor de greu-
tate ale fiecărei VL activate, rezultatul final fiind obţinut prin compunerea rezultatelor parţiale. In
acest mod calculul suprafeţelor este uşurat, dar zonele care sunt acoperite de mai multe VL vor fi
luate de mai multe ori în calcul. Acest aspect pare să nu fie negativ, H. Hellendoorn şi C. Thomas
afirmând chiar că varianta COS este superioară variantei clasice.
 Centrul celei mai mari arii (engl. center of largest aria) se poate aplica de asemenea, atunci
când funcţia de apartenenţă Y(y) nu este convexă dar în componenţa sa pot fi identificate
porţiuni convexe semnificative.

30
2.6. Analiza controlerelor fuzzy în planul fazic lingvistic

Un instrument necesar studierii evoluţiei sistemelor de reglare fuzzy în buclă închisă este
planul fazic lingvistic PFL sau planul stărilor sistemului. Vom exemplifica o astfel de construcţie
pentru cazul tipic al regulatorului PD cu cele două mărimi de intrare, e - eroarea de reglare şi de -
variaţia erorii, cu E = {e1 , e2 , ... en}, DE = {de1 , de2 , ... dem} PF aferente. PFL este o construcţie de
tip reţea, cu locaţii pentru fiecare combinaţie posibilă a produsul cartezian E x DE. Marcând loca-
ţiile corespunzătoare stărilor succesive prin care trece sistemul se obţine traiectoria de fază TF,
care materializează evoluţia în timp a sistemului în termeni lingvistici. Marcarea unei locaţii (εJ,
dεK) se face cu ajutorul funcţiilor de apartenenţă ale variabilelor lingvistice, fiind alese variabilele
cu cele mai mari grade de apartenenţă într-un anumit moment:
(εJ , dεK) = { εJ = max (εj) , dεK = max (dεk)  j = 1 ... n , k = 1 ... m }

ε1 ε2 ε3

dε1

dε2

dε3

Fig 2.7. Plan fazic lingvistic şi traiectorie lingvistică


Se pot distinge traiectorii macroscopice, între locaţiile planului, dar şi traiectorii micro-
scopice, în cadrul unei singure locaţii. Utilitatea studierii traiectoriilor este evidentă cel puţin în
două probleme vitale pentru o reglare:
 stabilitatea reglării - toate ciclurile din evoluţia traiectoriei trebuie să tindă spre valorile impu-
se;
 numărul de acţionări pe unitatea de timp - o reglare stabilă şi rapidă din punct de vedere ma-
croscopic poate prezenta o traiectorie microscopică dezavantajoasă, implicând acţionări repetate
ale elementului de execuţie, care provoacă uzura prematură a acestuia.
Aşa cum se va vedea în capitolele următoare, traiectoria sistemului în planul fazic lingvis-
tic reprezintă de fapt un indicator global al stării sistemului şi al calităţii reglării, ea putând funda-
menta algoritmi de conducere extrem de performanţi.

2.7. Clasificarea controlerelor fuzzy

Cea mai importantă clasificare a CF a fost amintită deja în § 2.2. Reamintim terminologia
rezultată din ea:

Controlerul (regulatorul) fuzzy de tip 1: intrare fermă - ieşire fermă


Controlerul fuzzy de tip 2: intrare fermă - ieşire fuzzy
Controlerul fuzzy de tip 3: intrare fuzzy - ieşire fermă
Controlerul fuzzy de tip 4: intrare fuzzy - ieşire fuzzy

31
Senzorii inteligenţi care fuzzyfică informaţia de la intrare pot fi senzori simbolici fuzzy da-
că intrarea lor nu este fermă, sau senzori fuzzy în caz contrar. Este de menţionat că există şi
actuatoare care acceptă comenzi fuzzy, numite actuatoare fuzzy.
O clasificare care priveşte controlerele de tip 1 şi care de fapt este cea mai importantă în
cazul reglărilor, se face în funcţie de tipul inferenţei.
 Regulatoarele Mamdani sunt regulatoarele la care inferenţa are ca rezultat mărimi fuzzy.
Modelarea matematică a acestor regulatoare se bazează pe utilizarea unor relaţii fuzzy ele fiind
prezentate pe larg în § 2.2 şi necesitând operaţia de defuzzificare prezentată în § 2.5. Denumirea
lor provine de la Ebrahim H. Mamdani, primul cercetător care a dovedit experimental justeţea
considerentelor teoretice ale lui Lotfi Zadeh în domeniul sistemelor de reglare.
Regulatoarele Sugeno (propuse de Michio Sugeno) reprezintă o abordare mai directă a proble-
mei reglării fuzzy, renunţându-se la reprezentarea fuzzy a mărimii de comandă de la ieşire. Infe-
renţa în regulatoarele Sugeno are ca rezultat, pentru fiecare regulă, câte o mărime fermă (single-
ton). Aceste regulatoare necesită o fază explicită de defuzzificare doar atunci când sunt activate
mai multe reguli.

Cel mai adesea, CF Sugeno sunt asociate cu defuzzificarea de tip COG. Dacă yi este ieşirea
generată de regula i iar i este gradul de apartenenţă al regulii respective, se va aplica o formulă
asemănătoare cazului COG, fără însă ca i să influenţeze valorile de ieşire yi:
 j · y j
j
y0 = (2.17)
 j
j

Controlerele Sugeno sunt de departe cele mai des utilizate în reglările în buclă închisă
deoarece deşi sunt cât se poate de simple păstrează toate avantajele generice ale conceptului
fuzzy. Ele au permis proliferarea aplicaţiilor fuzzy precum şi unele realizări tehnice de vârf, cum ar
fi conducerea automată a unui elicopter (unmanned helicopter), realizată chiar de către profeso-
rul Sugeno. Sistemul de conducere automată a elicopterelor este alcătuit din aproximativ 120 de
controlere şi regulatoare fuzzy Sugeno, funcţionând totuşi suficient de rapid. Utilizând acest sis-
tem se pot realiza drone telecomandate care pot fi conduse doar prin impunerea traiectoriei do-
rite, sincronizarea tuturor comenzilor precum şi compensarea perturbaţiilor atmosferice fiind
automate.
Mergând pe aceeaşi linie a simplificărilor, dacă şi PF ale mărimilor de intrare vor fi simpli-
ficate prin adoptarea partiţiei booleene, regulatorul obţinut va fi pur şi simplu o funcţie fermă
nelineară y =  (ε, dε) reprezentabilă printr-un tabel cu clauze şi elemente ferme, denumită
forma compilată a controlerului fuzzy. Aşa cum se va vedea în secţiunea referitoare la sistemele
fuzzy-interpolative, şi tabelele de căutare cu interpolare liniară pot constitui aproximatoare
pentru CF.
 Regulatorul Ostergaard-King-Palm este un RF caracterizat prin reguli simetrice faţă de situaţia
“e este zero şi de este zero” (ε + dε = 0). Condiţia de mai sus creează o linie de demarcaţie în pla-
nul stărilor sistemului, între zonele cu erori pozitive respectiv negative. Regulile sunt astfel alese
încât ieşirea regulatorului se va opune constant erorii, cu o valoare cu atât mai mare cu cât
poziţia sistemului în planul stărilor este mai depărtată de linia de demarcaţie. Regulatorul intră
într-un regim de funcţionare sliding mode care îi conferă o robusteţe deosebită faţă de perturba-
ţii şi de modificarea în timp a parametrilor. S-ar putea face o analogie între acest regulator şi un
sistem mecanic alcătuit dintr-un corp fixat între două resorturi elastice colineare. Indiferent de
natura perturbaţiilor, corpul va fi menţinut în preajma punctului de echilibru.

32
O problemă crucială a utilizatorilor SF e ridicată de multitudinea de variante posibile de
realizare a aplicaţiei dorite. Pe lângă diferitele clase de CF menţionate în această secţiune au fost
ilustrate anterior în curs o multitudine de mecanisme de ajustare a funcţionării, la fiecare dintre
nivelele posibile: fuzzificare, inferenţă şi defuzzificare.
Din literatura de specialitate reiese că asupra performanţelor unui sistem de reglare
fuzzy cea mai mare influenţă o are structura bazei de reguli. Modelarea optimală a regulilor, a
inferenţei şi a interfeţelor poate aduce îmbunătăţiri importante în cazul unei baze de reguli
corect alese, dar nu pot salva o alegere nefericită a regulilor. Forma compilată va putea fi folosită
ca o metodă primară de abordare a unei aplicaţii, cu ajutorul ei putându-se rezolva problemele
ridicate de alegerea variabilelor, stabilitate, neliniarităţi, etc. După stabilirea datelor preliminare
ale aplicaţiei urmează ca alegerea variantei definitive să se facă numai în final, în funcţie de
resursele disponibile şi de îmbunătăţirile constatate faţă de varianta simplificată. Dacă regula-
toare mai complicate nu îmbunătăţesc semnificativ performanţele sistemului, sau dacă acestea
sunt deja obţinute de către varianta compilată, ea poate fi păstrată ca soluţie finală.

2.8. Structuri ierarhice de controlere fuzzy

CF discutate până acum prezintă un singur nivel de prelucrare a informaţiei, pe baza


datelor de la intrare efectuându-se un raţionament într-o singură etapă, de exemplu prin
inferenţa max-min. Un stadiu superior de organizare a CF se obţine prin introducerea unor nivele
de ierarhizare a regulilor. Necesitatea ierarhizării este sugerată de traiectoria din planul stărilor
prezentată în fig. 2.6. Regula activată de combinaţia ε2 - dε3 este insuficientă pentru un control
adecvat al sistemului. Se poate imagina un al doilea CF, caracterizat de o granulaţie foarte fină a
partiţiilor fuzzy, care să fie invocat numai la activarea regulii invocate de ε2 - dε3. Această zoom-
are care are ca efect creşterea specificităţii regulilor şi poate fi repetată pe mai multe nivele
ierarhice, însă creşterea numărului de reguli poate reprezenta un impediment.
O abordare asemănătoare o constituie regulatorul fuzzy hibrid, sinteză între RF şi regula-
torul PID. Din compararea regulatoarelor fuzzy cu regulatoarele clasice, de exemplu cu regulato-
rul PID, reiese în esenţă că RF sunt superioare ca şi comportare dinamică, în condiţii de neliniari-
tate, paraziţi, timpi morţi, dar sunt inferioare în ceea ce priveşte precizia de reglare în regim sta-
ţionar Intr-adevăr, RF este oarecum comparabil cu regulatorul P în ceea ce priveşte eroarea sta-
ţionară: ea poate fi redusă prin creşterea granulaţiei reprezentărilor fuzzy sau prin modificarea
factorilor de scalare prin care sunt ponderate mărimile de intrare şi de ieşire, dar nu poate fi anu-
lată decât prin introducerea componentei integratoare.
Având în vedere cele de mai sus, sunt justificate şi structurile de reglare în care CF are
doar rolul de supervizare. Urmărind diferiţi indicatori de calitate a reglării, controlerul poate lua
decizii de adaptare a algoritmilor numerici sau de alegere a structurii optime de reglare.

INTRĂRI

RF
RF1 RF PID

RF2
Comutator PID1 PID2 PID3
RF3

IEŞIRI
a) Structură ierarhică b) Structură hibridă c) Structură supervizoare
Fig. 2.8. Sisteme fuzzy ierarhice

33
Ierarhizarea este calea prin care se pot rezolva problemele de mare complexitate, un
exemplu fiind cel prezentat de Clarence W. de Silva: un sistem fuzzy ierarhizat pe patru nivele
este capabil de a conduce o celulă de tăiere şi prelucrare a peştilor de diferite dimensiuni. Nive-
lele de ierarhizare a funcţiilor sunt:
 Nivelul 1: conducerea şi poziţionarea elementelor de transport şi prindere a peştilor, a cuţite-
lor, analizarea imaginilor recepţionate cu camere CCD din diferite puncte ale celulei, etc.;
 Nivelul 2: monitorizarea celulei, filtrarea semnalelor, calcularea indicilor de apreciere a calităţii
sistemului;
 Nivelul 3: coordonarea componentelor celulei, adaptarea sub-sarcinilor;
 Nivelul 4: descrierea sarcinilor, alocarea sub-sarcinilor.

2.9. Structuri autoadaptive de controlere fuzzy

O perfecţionare importantă a CF, existentă şi în exemplul anterior, este autoadaptarea.


Aşa cum am văzut deja există mai mulţi parametri ai controlerului care influenţează performan-
ţele reglării şi care pot deveni subiecţi ai optimizărilor. Ei pot fi grupaţi în patru categorii:
 factorii de scalare ai intrărilor şi ieşirilor;
 baza de reguli de conducere;
 parametri ai metodei de inferenţă;
 funcţiile de apartenenţă ale variabilelor.
În aplicaţiile reale afectate de diferite neliniarităţi, pentru a obţine performanţe apropia-
te de optim este necesară comutarea între două sau mai multe regulatoare diferite, fiecare dedi-
cat unui regim specific de funcţionare. De exemplu pentru tratarea regimurilor dinamic şi static,
sunt de regulă necesare fie două regulatoare diferite (de exemplu PD şi PI) fie o ajustare variabilă
a aceluiaşi regulator. O soluţie posibilă în cazul RF este comutarea între două tipuri diferite de
inferenţă, dar la fel de bine se pot utiliza şi alte variante de adaptare, în funcţie de specificul apli-
caţiei.
În unele lucrări se face distincţie între autoadaptare şi autoorganizare. Exemplul de sis-
tem adaptiv prezentat în figura următoare se referă la comanda injecţiei unui motor. Adaptarea
se obţine prin instalarea unui traductor al cuplului rezistent, care provoacă modificarea regimului
de funcţionare a injectorului, astfel încât bucla de reglare să fie cât mai eficientă.

TRADUCTOR AL REGULATOR
ÎNCĂRCĂRII FUZZY
MOTORULUI PT. ADAPTARE

REGULATOR AL
INJECŢIEI DE MOTOR
Valoare + COMBUSTIBIL Turaţie
Impusă _
TAHOGENERATOR

Fig. 2. 9. Exemplu de sistem cu autoadaptare


Dintre acţiunile concrete de adaptare se pot menţiona: modificarea factorilor de scalare,
intensificarea sau diluarea unor reguli, modificarea formei unor reguli, etc.
34
Pentru autoorganizarea structurii CF trebuie să dispună de următoarele elemente:
 un tablou de evaluare a performanţelor reglării;
 un model al procesului condus (nu este necesar un model extrem de precis);
 un algoritm de modificare a parametrilor CF.

ALGORITM DE MODELUL TABEL DE


AUTOORGANIZARE PROCESULUI PERFORMANŢE

CONTROLER PROCES
Intrare FUZZY CONDUS Ieşire

Fig. 2. 10. Structură de controler fuzzy cu autoorganizare


Acţiuni de autoorganizare pot fi modificarea inferenţei, modificarea granulaţiei CC, co-
mutarea între mai multe controlere, etc. Din această categorie fac parte de exemplu sistemele
ierarhice prezentate în fig. 2.8 b şi c, la care schimbarea condiţiilor de mediu produce modificări
structurale. Se poate considera că autoadaptarea este de fapt un caz particular de autoorgani-
zare, diferenţa fiind dată doar de algoritmul de autoadaptare sau autoorganizare. Esenţială este
prezenţa unui controler suplimentar, destinat acestui scop.
W. Pedrycz expune o idee de autoadaptare adoptată în majoritatea aplicaţiilor, care ia în
considerare modificarea relaţiei fuzzy a controlerului de bază prin adăugarea unei corecţii S
calculată de controlerul auxiliar adaptiv. Relaţia (2.3) devine:
R’ = E x DE x (Y + S) (2.18)
Corecţia poate fi aplicată şi multiplicativ, prin înmulţirea comenzii regulatorului direct cu
un factor de corecţie M:
R’’ = E x DE x (Y · M) (2.19)

2.10. Tabele de decizie/inferenţă

Pentru a încheia acest capitol revenim la cea mai importantă noţiune introdusă în el, res-
pectiv la tabelul de decizie/inferenţă, ilustrat de exemplele din Tabelele 2.1 şi 2.2. Importanţa
tabelelor de decizie constă din aceea că ele reprezintă cel mai simplu şi riguros mod de a repre-
zenta protocoalele de reguli de tip expert, în sensul că pentru fiecare combinaţie de TL de intrare
există o regulă şi numai una de ieşire. Dacă reuşim să reprezentăm regulile în acest mod, se
exclude riscul de a omite sau de a suprapune reguli. Tabelele de decizie (fuzzy sau non-fuzzy)
sunt utilizate în majoritatea disciplinelor ştiinţifice. În cele ce urmează vom ilustra această teh-
nică de bază printr-una dintre versiunile cel mai des utilizate în managementul firmelor, tabelul
de decizie ADL (ADL matrix). Tabelul ADL utilizează două variabile lingvistice de intrare: Matu-
ritatea domeniului în care activează firma şi Competitivitatea sa în cadrul acestui domeniu. Se
formulează reguli lingvistice pentru toate combinaţiile de TL posibile.
Fuzzificarea unor tabele de decizie existente şi verificate în practică este cea mai sigură
cale de dezvoltare a unor aplicaţii de succes, în care logica fuzzy poate aduce un plus de perfor-
manţă şi poate înlătura inadvertenţele care se pot produce atunci când abordările de tip Boolean
sunt in discordanţă cu natura aplicaţiei (vezi cazul instalaţiilor de aer condiţionat).

35
Maturitatea domeniului
Embrionic Creştere Maturitate Învechit
Dominant Y5,1 Y5,2 Y5,3 Y5,4
- Dezvoltare agre- - Creştere peste - Menţinerea pozi- - Menţinerea pozi-
sivă ritmul pieţei ţiilor, creştere în ţiilor
- Investiţie cât mai - Investiţii pentru ritmul pieţei - Reinvestiţii dacă
C rapidă şi mai mare susţinerea creşterii - Reinvestiţii dacă sunt necesare
sunt necesare
o
Puternic Y4,1 Y4,2 Y4,3 Y4,4
m - Dezvoltare agre- - Dezvoltare agre- - Menţinerea pozi- - Menţinerea pozi-
sivă sivă ţiei, creştere în rit- ţiei, maximizarea
p - Căutarea căilor - Căutarea căilor mul pieţei profiturilor
de creştere a avan- de creştere a avan- - Reinvestiţii dacă - Reinvestiţii mi-
tajului competitiv tajului competitiv sunt necesare nime
e - Investiţii peste - Investiţii pentru
valoarea pieţei creştere
t
Favorabil Y3,1 Y3,2 Y3,3 Y3,4
i
- Dezvoltare mo- - Căutarea căilor - Dezvoltare de - Maximizarea
derată/agresivă de dezvoltare şi nişă sau altă for- profiturilor prin
t - Căutarea căilor creştere a avanta- mă de diferenţiere reduceri, plani-
de creştere a avan- jului competitiv - Reinvestiţii ficarea unei retra-
i tajului competitiv - Investiţii selec- minime/selective geri în etape
- Investiţii selec- tive - renunţarea la
v tive investiţii

i Satisfăcă- Y2,1 Y2,2 Y2,3 Y2,4


toare - Căutarea căilor - Dezvoltare de - Dezvoltare de - Retragere în eta-
t de îmbunătăţire a nişă sau altă for- nişă/diferenţiere pe sau abandon
poziţiei mă de diferenţiere sau planificarea - Renunţarea la
- Investiţii selec- - Investiţii foarte unei retrageri investiţii sau vân-
a
tive selective - Reinvestiţii se- zarea acţiunilor/
lective activelor
t
Slabă Y1,1 Y1,2 Y1,3 Y1,4
e - Analiza profitu- - Noi căi de men- - Noi căi de men- - Abandonarea
lui pentru a decide ţinere a profitului ţinere a profitului pieţei
continuarea activi- sau întreruperea sau retragere - Vânzarea acţiu-
tăţii sau oprirea ei activităţii - Investiţie sau li- nilor/activelor
- Investiţie sau li- - Investiţie sau li- chidare selectivă
chidare chidare

36
3. Regulatoare fuzzy în conducerea adaptivă a proceselor
3.1. Dezvoltări ale controlerelor fuzzy

3.1.1. Echivalarea fuzzy a regulatoarelor clasice


S. Galichet şi L. Foulloy demonstrează echivalenţele fundamentale dintre regulatoarele
fuzzy Mamdani şi cele clasice. Astfel pentru o comportare de tip PID descrisă de ecuaţia în timp
discret
δu = kP · δε + kI · ε + kD · δ2ε (3.1)
regula de conducere echivalentă de tip Mamdani este
"dacă eroarea este Ei şi variaţia ei este DEj şi variaţia variaţiei ei este D2Ek
atunci (3.2)
variaţia comenzii este DUl"
unde Ei, DEj, D2Ek şi DUl sunt etichetele lingvistice ataşate lui ε, δε, δ2ε şi δu.
Demonstraţia furnizată consideră PF triunghiulare pentru intrări şi ieşire, o inferenţă min-
max şi subliniază echivalenţa regulatorului cu un interpolator neliniar. Dacă PF a ieşirii este reali-
zată cu MF dreptunghiulare, regulatorul este echivalent cu un interpolator liniar.
Întrucât CF Sugeno sunt cazuri particulare ale CF Mamdani ele se bucură de aceleaşi pro-
prietăţi.
În lucrare vom considera însă forma în timp continuu a ecuaţiei (3.1), mai adecvată
circuitelor analogice şi în acelaşi timp mai generală, întrucât nu depinde de eşantionare.

3.2.2. Regulatoare fuzzy ierarhice şi hibride

Comportarea CF de tip PD în buclă închisă relevă două aspecte antinomice:


 comportarea dinamică este extrem de sigură, fără suprareglaje sau oscilaţii notabile, compa-
rativ cu alte regulatoare;
 comportarea în regim static este afectată de chattering şi statism.
Dificultatea CF de a face faţă regimurilor staţionare este structurală, fiind necesare dez-
voltări pentru ameliorarea performanţelor.
O primă posibilitate constă din ierarhizarea RF. Când este atinsă starea ε = zero, ε = zero
intră în acţiune un al doilea RF care acţionează doar atât timp cât sistemul se menţine în acest
domeniu. Totuşi soluţia nu este ideală pentru că nici al doilea regulator nu elimină total
statismul.
O soluţie preferabilă este hibridizarea cu alte tipuri de regulatoare, mai potrivite pentru
regimurile staţionare, dintre care se impune în primul rând clasicul regulator PID. Regulatorul CF-
PID are nevoie de aceeaşi informaţie ca şi CF: eroarea ε şi derivata sa ε la care se mai adaugă şi
integrala erorii ε, termenul care anulează statismul.
Cele două regulatoare pot funcţiona pe rând, în funcţie de regimul cerut de evoluţia sis-
temului, comutarea lor realizându-se după diferite tehnici. Metoda fundamentală în domeniu (S.
Boverie) constând din activarea regulatorului PID când ε este fuzzy zero iar ε este fuzzy mică. El
a sugerat şi o altă combinaţie între cele două regulatoare: CF are un rol de adaptare şi supervi-
zare, ieşirile sale provocând modificarea parametrilor regulatorului PID. Această abordare s-a
dovedit a fi extraordinar de fructuoasă, următorul deceniu dovedind că adevăratul rol al CF în
conducerea în buclă închisă este cel de adaptare şi supervizare.
37
Un exemplu al acestei strategii aparţine companiei OMRON.

Operator feed forward

valoare P
impusă + - + +
D Proces
+ + +
d /dt I

C
Controler fuzzy

Fig. 3.1. Structura FC-PID a regulatorului de temperatură OMRON - E5AF


Se remarcă rolul de supervizare şi adaptare al CF. Cele două moduri de acţiune ale sale
sunt corecţia aditivă, efectuată asupra ieşirii regulatorului PID şi corecţia efectului I prin coefi-
cientul C. Rolul corecţiilor este de a întări răspunsul la perturbaţii respectiv de a se opune
suprareglajelor şi întârzierilor produse de efectul I. CF este de tip Sugeno iar partiţiile triun-
ghiulare de intrare pot avea un număr minim (trei) de TL. Aplicaţii reuşite ale acestei arhitecturi
se pot întâlni tot mai des, ceea ce probează viabilitatea ei.

3.1.3. Regulatoare fuzzy-PID


ε ieşirea va fi dată sub
Alegând forma integrală a ecuaţiei (3.1): u = kP · ε + kI ·  ε + kD ·
forma ei absolută u şi nu sub forma diferenţială δu. Astfel mărimile de intrare vor fi ε, ε şi  ε iar
ieşirea u. Prin introducerea intrării  ε baza de reguli devine tridimensională iar controlerul se
transformă într-un controler fuzzy-PID (FPID), denumire aplicată deseori, oarecum impropriu şi în
cazul sistemelor hibride FC-PID. Controlerul FPID poate fi considerat ca o generalizare neliniară a
algoritmului PID.

ε pozitivă

ε zero
ε pozitivă
ε zero
ε negativă
ε negativă
ε negativă ε zero ε pozitivă
Fig. 3.2. Bază de reguli 3-D a unui controler FPID la care variabilele de intrare
(ε, ε , ε) au câte trei termeni lingvistici (pozitiv, zero, negativ)
Din punct de vedere al performanţelor reglării, atât dinamice cât şi statice, este indis-
cutabil faptul că regulatorul FPID este o soluţie fundamentală pentru sistemele neliniare.
Caracterul său fundamental îi este conferit de posibilitatea analizării comportării în timp a

38
sistemului condus a) în prezent, prin eroarea ε , b) în trecut, prin derivata erorii  ε şi c) în viitor
prin derivata erorii ε . Singurul său inconvenient este extinderea bazei de reguli. Pentru a se
îmbunătăţi raportul calitate/preţ în ultimii ani s-au făcut eforturi pentru reducerea bazei de
reguli, păstrând în acelaşi timp componenta integrativă. Dintre soluţii se pot menţiona:
 bază de reguli simetrică pentru sisteme cu comportare intrare-ieşire simetrică (Abdelnour -
1991);
 trecerea treptată (gain-scheduling) între FPD şi PI, pe măsură ce sistemul intră într-un regim
staţionar (Lee -1993);
 comutarea între două controlere FPD şi FPI (Brehm şi Rattan -1994);
 implementarea directă 2-D (DI-FPID) propusă de K. C. Ng şi Y. Li în 1998.
Implementarea directă se bazează pe un artificiu valabil în general pentru regulatoarele
PID: considerarea regulatorul PID ca fiind format din două componente PD şi PI şi exprimarea
componentei PI în funcţie de componenta PD.
Concluzia care se poate desprinde din literatură este că pentru a putea funcţiona în cazul
proceselor neliniare, întocmai ca şi regulatoarele PID, cele FPID trebuiesc să aibă capacitate de
autoadaptare.

3.2. Modelarea funcţiilor de conducere prin controlere fuzzy


3.2.1. Aproximarea prin controlere fuzzy Sugeno
J. Lee, S. Chae ("Analysis on function duplicating capabilities of fuzzy controllers", Fuzzy
Sets and Systems no. 56, 1993) şi P. Bauer, E.P. Klement, B. Moser, şi A. Leikermoser ("Appro-
ximation of real functions by rule bases", the Proceedings of the 5th IFSA World Congress, Seoul
1993) au demonstrat că:
Pentru orice funcţie f : [ainf, asup]R continuă şi monotonă pe porţiuni există sub-
mulţimi fuzzy normalizate A0, A1,…, An pe [ainf, asup], numerele reale u0, u1, … , un R
şi o bază de n reguli de forma
B = {DACĂ x este Ai ATUNCI u = ui | i = 1, 2, … , n} (3.3)
astfel încât caracteristica de transfer a CF Sugeno corespunzător coincide cu f.
La fel se poate demonstra că pentru orice CF Sugeno există un CF Mamdani echivalent,
astfel încât caracteristicile lor de transfer sunt identice. Acest fapt recomandă CF Sugeno în mo-
delarea funcţiilor intrare-ieşire datorită simplităţii lor şi arată că rezultatele obţinute asupra lor
pot fi extinse şi asupra CF Mamdani.
Teorema este completată printr-o metodă concretă de construcţie a aproximatorilor
Sugeno. Metoda constă din identificarea porţiunilor monotone ale lui f, în număr de p şi stabili-
rea a p+1 mulţimi fuzzy centrate pe punctele de inflexiune ale lui f. Între p şi n există relaţia n 
p+1, cu cât n este mai mare precizia aproximării fiind mai bună. Stabilirea formelor funcţiilor de
apartenenţă se face în funcţie de metoda de defuzzificare aleasă şi ţine cont de forma lui f, astfel
ca în final caracteristica de transfer rezultată să fie cât mai apropiată sau identică cu f.
Această teoremă are trei consecinţe extrem de importante:
1. Rezultatele sale pot fi extinse pentru cazul m-dimensional (intrări vectoriale).
2. CF Sugeno cu partiţii fuzzy, normate, triunghiulare şi cu defuzzyficare COG pot aproxima orice
funcţie de intrare-ieşire continuă.
În fig 3.3 este ilustrată aproximarea unei funcţii f de variabilă scalară x prin CF Sugeno
pentru cazul unei baze cu cinci reguli, având PF a mărimii de intrare formată din TL triunghiulari,
inferenţă prod-sum şi defuzzyficare COG. Între punctele partiţiei f este aproximată prin patru

39
segmente de dreaptă care unesc punctele {(ai, ui) | i = 0, ..., 4}. Fineţea granulaţiei PF determină
eroarea aproximării.
u
u1
u4
u2 u1A1
u3 u4A4
u0 u2A2
u0A0 u3A3

x
a0 a1 a2 a3 a4
Fig. 3.3. Aproximare cu CF Sugeno cu MF triunghiulare
(inferenţă prod-sum, defuzzyficare COG)
Când pentru x se utilizează o PF caracteristica de transfer este foarte simplă:
4
u(x)   ui Ai (x) (3.4)
i 0
3. CF Sugeno cu PF normate triunghiulare, inferenţă prod-sum şi defuzzyficare COG sunt echiva-
lente cu tabelele de căutare cu interpolare liniară.
Justificarea acestei consecinţe rezultă din alegerea funcţiilor de apartenenţă
triunghiulare sau trapezoidale, echivalente cu formulele de interpolare liniară. Tabelele de
căutare din componenţa toolkit-ului SIMULINK din pachetul MATLAB sunt în consecinţă echi-
valente unor CF de tip Sugeno cu PF normate triunghiulare, inferenţă prod-sum şi defuzzyficare
COG.

3.2.2. Aproximarea prin sisteme fuzzy aditive


Această strategie de aproximare este mai generală decât precedenta. În esenţă ea constă
din aproximarea caracteristicii u(x) prin "petice" fuzzy care caută să acopere cât mai bine
caracteristica dorită. Peticele fuzzy elipsoidale pot fi obţinute modulând forma funcţiilor de apar-
tenenţă.
u
< Dacă x = A2 atunci u = B2 > Metoda se poate aplica pentru
f
CF Mamdani. Fiecare regulă defi-
neşte un petic fuzzy, ca produs car-
B3
tezian Ai x Bj şi în general este desti-
B2 nată controlerelor cu defuzzificare
aditivă la care ieşirea este o combi-
B1 naţie a efectelor regulilor activate.
x

A1 A2 A3
Fig. 3.4. Aproximarea prin "petice" fuzzy elipsoidale

În general, orice funcţie continuă definită pe un interval compact poate fi uniform aproxi-
mată printr-un controler fuzzy aditiv.

40
3.2.4. Controlerele fuzzy/interpolative
Legată de capacitatea de aproximare a funcţiilor continue este latura interpolatoare a CF,
uşor de remarcat în cele de mai sus. Să considerăm că la un moment dat dispunem de o imagine
incompletă, discretă, a caracteristicii de transfer f a unui controler, modelabilă prin puncte
discrete numite noduri de interpolare. Putem în continuare să considerăm că fiecare nod de
interpolare este rezultatul activării uneia dintre regulile unui CF Sugeno, cu PF triunghiulare, infe-
renţă prod-sum şi defuzzyficare COG.
În esenţă rolul controlerului este să furnizeze fie prin interpolare, fie printr-una dintre
metodele de defuzzyficare cunoscute o valoare numerică a comenzii, pentru orice combinaţie
posibilă de intrări, deci să implementeze o variantă continuă a lui f. Deşi în cazul controlerelor in-
terpolatoare pot fi aplicate mai multe variante de interpolări polinomiale sau trigonometrice,
pentru aplicaţiile în buclă închisă esenţială este reducerea calculelor, astfel că ori de câte ori con-
tează viteza de procesare interpolarea lineară Newton se impune de la sine.
Se introduce un termen specific, cel de controler fuzzy-interpolativ, prin care se înţelege
un controler fuzzy care poate fi echivalat cu unul interpolator cu interpolare liniară.
De exemplu, controlerul fuzzy-interpolativ PD descris de relaţia:
f: {ε1, ε2, ... , εm} x { ε 1, ε 2, ... , ε n}  {u(εi,, ε j) | i = 1 ... mi, j = 1 ... mj} (3.5)
va avea următoarea ieşire:
u(ε, ε ) = u(ε, ε j) + [u(ε, ε j+1) - u(ε, ε j)] ( ε - ε j) / ( ε j+1 - ε j),
 ε [εi, εi+1], ε [ ε j, ε j+1], i = 1 ... mi, j = 1 ... mj (3.6)
unde:
u(ε, ε j) = u(εi, ε j) + [u(εi+1, ε j) - u(εi, ε j)] (ε - εj) / (εj+1 - εj) (3.7)
iar
u(ε, ε j+1) = u(εi, ε j+1) + [u(εi+1, ε j) - u(εi, ε j+1)] (ε - εj) / (εj+1 - εj) (3.8)

Din literatură rezultă că această variantă de controler rezolvă principial majoritatea pro-
blemelor de conducere în buclă închisă, mai ales cele în care performanţele în regim dinamic
sunt mai importante decât precizia de reglare în regim static. A complica în plus această arhitec-
tură prin adoptarea altor MF decât cea triunghiulară şi trapezoidală, respectiv a adopta o inter-
polare mai performantă pot fi demersuri interesante din punct de vedere teoretic dar sunt ne-
productive din punct de vedere practic, efectele obţinute nefiind pe măsura resurselor alocate.
Efortul principal al dezvoltării unui regulator trebuie depus în direcţia înţelegerii cât mai
profunde a interacţiunii sale cu procesul condus, prin simulări şi apoi testări, astfel ca numărul
variabilelor de intrare şi ieşire, numărul şi construcţia TL şi baza de reguli, respectiv nodurile de
interpolare să fie cât mai corect alese.
Având în vedere robusteţea şi toleranţa la erori proprie CF, deseori se constată că la
regulatoarele bine structurate conform celor de mai sus, chiar erori grosolane ale unor reguli mai
puţin semnificative pot fi bine tolerate.
Proiectarea RF pornind de la anumite puncte semnificative (training points) a fost folo-
sită şi în contextul reducerii dimensiunilor bazelor de reguli, prin eliminarea regulilor redundante.
Considerând că redundanţa regulilor provine atât din suprapuneri cât şi din interpolări suplimen-
tare, S. Galichet şi L. Foulloy au propus o metodologie de reducere a numărului de reguli prin re-
construirea regulatorului pornind de la un set de puncte semnificative ale caracteristicii/suprafe-
ţei de comandă. Cunoscând caracteristica dată, există mai multe posibilităţi de alegere a acestor
puncte: printr-o reţea rectangulară regulată, prin alegerea maximelor şi minimelor semnificative,
etc.

41
ε ε

ε ε

a) Regulator PD interpolator (neliniar) b) Regulator PD interpolator


cu suprafaţa de comandă plană (liniar)
Legendă: - nod inactiv în reţeaua interpolatoare;
- nod activ în reţeaua interpolatoare;
- interpolare liniară.
Fig. 3.5. Regulatoare PD interpolatoare cu suprafaţă de comandă plană sau cvasi-plană
Un tip particular de controler interpolator apare în situaţia unui număr minim de noduri
de interpolare, care pentru cazul bidimensional este de patru (fig. 3.5) şi corespunde cazului unui
CF cu doar două MF pentru fiecare variabilă de intrare. Suprafaţa de comandă rezultantă este de-
limitată de cele patru drepte care se formează prin interpolările liniare dintre noduri. În această
lucrare se va căuta să se utilizeze controlere cu suprafaţa de comandă plană, prin alegerea adec-
vată a valorilor ieşirii în nodurile de interpolare (valori care ideal ar trebui să fie coplanare). Vom
admite totuşi unele erori, caz în care suprafaţa obţinută, poate fi considerată doar cvasi-plană.
Un astfel de controler este echivalent cu un controler PD liniar.
Este evident că în aplicaţiile de reglare automată un regulator interpolator, modelabil
printr-un tabel de căutare care oferă rapid o comandă rezultată dintr-o simplă interpolare liniară,
are un raport performanţă/cost mult mai convenabil decât orice controler fuzzy posibil. Introdu-
cerea unor noi mărimi de intrare se obţine natural, prin creşterea dimensiunilor tabelelor. Tabe-
lele de căutare se pot adapta uşor neliniarităţilor sistemului condus, suprafeţele de comandă ge-
nerate putând lua forme variate şi uşor de controlat.

3.3. Proiectarea lingvistică a regulatoarelor neliniare


3.3.1. Metoda proiectării lingvistice
Principalul impact al CF în conducerea proceselor neliniare s-a produs prin metoda pro-
iectării lingvistice MPL. MPL are o paternitate greu de precizat dar a fost sintetizată şi formulată
de K. Stoll. În MPL se regăsesc avantajele strategice ale CF: transparenţă, simplitate în tratarea
obstacolelor ridicate de necunoaşterea modelelor matematice sau de complexitatea proceselor
conduse, productivitatea ridicată a proiectării şi implementării.
Ideile esenţiale ale MPL sunt:
 apelarea la conceptul de "raţionare fuzzy simplificată" care presupune partiţii triunghiulare
sau trapezoidale, inferenţa min-max sau prod-sum şi defuzzyficare din familia COG;
 CF este considerat prin dualitatea sistem expert - algoritm de interpolare liniară;
 caracteristica de intrare-ieşire a sistemului dorit este aproximată prin segmente;
 această caracteristică este obţinută direct prin regulile de conducere.
Dacă se folosesc partiţii triunghiulare şi inferenţa de tip prod-sum aproximarea obţinută
este cea din fig. 3.6, obţinută prin petice dreptunghiulare. Inflexiunile caracteristicii corespund
vârfurilor triunghiurilor.
42
u u

dacă A3
atunci B3
B3 B3
dacă A2
B2 atunci B2 B2
dacă A1
B1 atunci B1 B1

x x

A1 A2 A3 A1 A2 A3
Fig. 3.6. Aproximarea prin petice dreptunghiulare cu PF
CC (neomogene) aproximează caracteristica tot prin petice fuzzy dreptunghiulare.
u

Fig. 3.7. Aproximarea prin petice fuzzy dreptunghiulare cu CC


Aşa cum s-a văzut în §3.2.1 CF Sugeno pot fi tot atât de bine utilizate în cadrul MPL,
întrucât au aceleaşi valenţe de aproximator ca şi CF Mamdani.
Deseori caracteristica de comandă apare sub forma bidimensională a suprafeţei de co-
mandă definită de exemplu în cazul unui regulator FPD de funcţia u(ε, ε ). Când numărul variabi-
lelor de intrare creşte, caracteristica intrare-ieşire devine o hipersuprafaţă de comandă, aproxi-
mabilă prin elemente de suprafaţă cuadratice.
Problema alegerii legii de conducere rămâne în esenţă la latitudinea expertului. O premi-
să favorabilă de abordare a proiectării euristice a bazelor de reguli este demonstrarea echivalen-
ţei dintre RF Sugeno şi regulatoarele lineare (L. Foulloy, S. Galichet, '98). Rezultă că sunt oricând
posibile analogii între cele două categorii de controlere.
O aplicaţie revelatoare pentru posibilităţile MPL este propusă tot de K. Stoll: reglarea po-
ziţiei unui servomecanism acţionat printr-un motor electric, printr-un controler având o singură
intrare, eroarea de poziţie ε. Dificultatea acestei aplicaţii provine din necesitatea utilizării unei
caracteristici de comandă neliniară. Dacă în timpul tranziţiilor componenta proporţională trebuie
redusă pentru evitarea suprareglajelor, în regim staţionar ea trebuie crescută pentru asigurarea
unei precizii mulţumitoare. Un RF cu rezultate satisfăcătoare şi uşor de acordat este alcătuit din
doar patru reguli:
 dacă ε este pozitivă mare atunci u este pozitivă medie
 dacă ε este pozitivă mică atunci u este pozitivă mare
 dacă ε este negativă mare atunci u este negativă medie
 dacă ε este negativă mică atunci u este negativă mare

43
3.3.2. Metodologia fuzzy-interpolativă - particularizare a MPL
În majoritatea aplicaţiilor din acest curs, pentru a păstra echivalenţa cu tabelele de cău-
tare cu interpolare liniară, MPL se va aplica în următoarea variantă: controlerul va fi PD, de tip
Sugeno cu inferenţă prod-sum şi cu partiţii triunghiulare de intrare. Funcţionarea unui astfel de
regulator, denumit generic regulator fuzzy-interpolativ, este ilustrată în fig. 3.8.
Suprafaţa de comandă rezultantă este identică cu cea a unui tabel de căutare bidimen-
sional cu interpolare liniară. Valorilor modale ale partiţiilor fuzzy de intrare ε i , ε j , ui, j cu i = 1 ...
5, j = 1 ... 3 le corespund nodurile de interpolare.
În cazul aplicaţiilor la care condiţiile impuse prin caietul de sarcini permit adoptarea unei
suprafeţe de comandă cu discontinuităţi, sensul fuzzy  interpolator, care a fost urmărit până
acum poate fi inversat, prin înlocuirea inferenţei prod-sum cu inferenţa min-max, care are avan-
tajul vitezei, datorită reducerii volumului de calcule. Prin urmare de la un regulator interpolator
putem ajunge la unul fuzzy cu inferenţă min-max.
În continuare prin metodologia fuzzy-interpolativă vom înţelege un ansamblu flexibil de
operaţii, incluzând:
 analizarea calitativă a procesului şi a unui tip de regulator adecvat;
 modelarea lingvistică a regulatorului; scopul modelării lingvistice este evidenţierea calitativă
a interconexiunilor funcţionale dintre parametri structurali ai procesului şi modul de acţiune al
regulatorului;
 modelarea deterministă structurală a procesului şi identificarea prin simulare a punctelor
semnificative de funcţionare (echivalate cu nodurile de interpolare); scopul urmărit prin model
nu este precizia ci stabilirea principalelor modalităţi de control asupra procesului; la identificarea
parametrilor pot fi aplicaţi algoritmii recursivi cunoscuţi (gradientului, celor mai mici pătrate,
euristic, etc.), etc.;
 stabilirea bazei de reguli sub forma tabelelor de inferenţă McVicar-Whelan şi implicit a carac-
teristicii de comandă; în locul generării automate a regulilor se preferă generarea euristică;
 alegerea unei soluţii de implementare te tip interpolativ.

44
L( ε )
DE1 DE2 DE3
negativă mică pozitivă
1
μDE2( ε )
μDE3( ε )
0 ε
ε 1 ε 2 ε (t) ε 3
μE4(ε) μE5(ε) Regulile activate:
ε
E5 R4,1: dacă ε este E4
pozitivă şi ε este DE2
mare R5,1 R5,2 atunci u este u4,2
R5,3
ε5
R4,2: dacă ε este E4
şi ε este DE3
ε(t)
E4 atunci u este u4,3
R4,1 R4,2 R4,3
pozitivă ε4 R5,1: dacă ε este E5
medie şi ε este DE2
atunci u este u5,2
L(ε) 1 0 ε3 R3,1 R3,2 R3,3
R5,2: dacă ε este E5
E3 mică
şi ε este DE3
E2 atunci u este u5,3
negativă R2,1 R2,2 R2,3
medie ε2 Gradele de apartenenţă:
μDE2( ε )=( ε 3- ε (t))/( ε 3- ε 2)

E1 ε1 R1,1 R1,2 R1,3 μDE3( ε )=( ε (t)- ε 2)/( ε 3- ε 2)


negativă μE4( ε ) = ( ε 5- ε (t))/( ε 5- ε 4)
mare μE5( ε ) = ( ε (t)- ε 4)/( ε 5- ε 4)

L(u)
1
μE4(ε)μDE2( ε )
μE4(ε)μDE3( ε )
μE5(ε)μDE2( ε )
μE5(ε)μDE3( ε ) u(t) u
0 u5,3 u5,2 u4,2 u4,3

μE4(ε)μDE2( ε )u4,2 + μE4(ε)μDE3( ε )u4,3 + μE5(ε)μDE2( ε )u5,2 + μE5(ε)μDE3( ε )u5,3


u(t) =
μE4(ε)  μDE2( ε ) + μE4(ε)  μDE3( ε ) + μE5(ε)  μDE2( ε ) μE5(ε)  μDE3( ε )

Fig. 3.8. Funcţionarea regulatorului fuzzy-interpolativ PD


Observaţie: Aranjarea axelor figurii a fost făcută astfel încât să corespundă celei a tabelului de
căutare SIMULINK, conform căruia sunt prezentate controlerele din capitolele următoare.

45
Capitolul 4. IMPLEMENTAREA CONTROLERELOR FUZZY
4.1 Posibilităţi de implementare a controlerelor fuzzy
În acest capitol se prezentă principalele metode de implementare a FLC, metode ce pot fi
clasificate în funcţie de tehnologia utilizată în metode software şi metode hardware. La rândul
lor circuitele utilizate în implementările hardware pot fi digitale şi chiar analogice. Dacă imple-
mentările software sunt naturale, cele hardware şi mai ales cele analogice au apărut mai greu,
ele necesitând un nivel tehnologic ridicat. Caracterul continuu al funcţiilor de apartenenţă şi
imunitatea implicită la perturbaţii, proprii sistemelor fuzzy, sunt argumente în favoarea dezvol-
tării în viitor a implementărilor analogice, care vor beneficia de un preţ mai scăzut şi de o viteza
superioară de operare, dar numai în cazul seriilor foarte mari şi în cazul unor aplicaţii din cate-
goria embedded systems.

a) Implementarea prin limbaje de nivel înalt


Există mai multe posibilităţi de implementare prin limbaje de nivel înalt:
 Scrierea programului într-un limbaj specializat pentru descrierea sistemelor fuzzy; printre aces-
te soft-uri se pot menţiona: TIL Shell (Togai), NeuFuz4 (National Semiconductor) beneficiind de
reţele neuronale de învăţare, Fuzzy Control One (National Instruments), etc. Performanţele obţi-
nute în acest mod sunt foarte bune, dar aceste programe sunt de regulă foarte scumpe.
 Majoritatea programelor destinate inteligenţei artificiale au adăugat de-a lungul timpului mo-
dule fuzzy: Clips, Prolog, Matlab, etc.
 Scrierea programelor într-un limbaj de programare de uz general: C, Java, etc.; Această direcţie
oferă avantajele flexibilităţii şi a portabilităţii, dar este relativ laborioasă şi ridică probleme de vi-
teză şi fiabilitate în cazul aplicaţiilor industriale. O astfel de abordare este recomandabilă simulă-
rilor, studierii teoretice a FLC şi aplicaţiilor complexe.

b) Implementarea cu microprocesoare sau microcontrolere de uz general


Pentru implementarea controlerelor fuzzy de complexitate mică sau medie se poate uti-
liza în principiu orice microprocesor sau microcontroler de 8 biţi. Programele se pot scrie direct
în limbaj de asamblare, obţinându-se performanţe bune cu preţul unui volum mai mare de
muncă. Se pot utiliza şi programarea în C sau în alte limbaje specializate, dacă există posibilitatea
generării automate a programului asamblat. Avantajul acestei abordări constă în preţul redus şi
în bogata ofertă de facilităţi software de care se bucură circuitele fabricate pe scară mare. Se pot
însă realiza mai greu aplicaţii complexe, deoarece FLC necesită deseori un volum mare de calcule.

c) Implementarea cu memorii
O soluţie foarte ieftină şi rapidă dar puţin flexibilă o constituie construirea RF ca un tabel
de corespondenţă (funcţie neliniară) între seturile posibile de valori de intrare şi valorile comen-
zilor. Valorile numerice sunt stocate în memorii semiconductoare. Din această categorie fac
parte si sistemele fuzzy-interpolative.

d) Implementarea cu microprocesoare sau coprocesoare fuzzy specializate


Procesoarele analogice sau microprocesoarele specializate pentru FLC reprezintă o solu-
ţie ideală din punctul de vedere al performanţelor, dar preţul acestor circuite este încă ridicat.
46
e) Implementarea cu DSP-uri
După o perioadă de avânt a dispozitivelor fuzzy specializate, în ultimii ani se constată
deplasarea netă a interesului înspre utilizarea DSP-urilor (Digital Signal Processors). Aceste dispo-
zitive numerice, programabile dar în acelaşi timp extrem de rapide pot realiza, fără adaptări spe-
ciale, toate operaţiile necesare conducerii fuzzy. Singura lor limitare este cea impusă de preţul
încă relativ ridicat al dezvoltării aplicaţiilor.

f) Implementarea cu circuite ASIC sau FPGA


Circuitele ASIC, dedicate fiecărei aplicaţii în parte, oferă cele mai bune performanţe elec-
trice, dintre care se disting cea mai mare viteză posibilă, ceea ce le face apte pentru aplicaţiile ca-
re presupun inferenţe cu durată mai mică de 0,1 ms, cum ar fi cazul comenzii aprinderii la motoa-
rele cu ardere internă, precum şi un consum de energie extraordinar de scăzut. Se pune
problema construirii unui circuit ASIC doar în cazul seriilor foarte mari, dar aplicaţiile în serie mai
mică sau prototiparea ASIC-urilor se realizează în ultimii ani prin circuite FPGA.

4.2. Etape ale aplicării în industrie a logicii fuzzy

Dintre principalele industrii, cea a automobilelor a manifestat cea mai bună receptivitate
la conceptul de conducere fuzzy. Exemple se găsesc cu uşurinţă: reglarea fuzzy a regimului de re-
lanti, sistemul AICC (Automatic Intelligent Cruise Control), evaluarea stilului de conducere, co-
manda nivelului sonor al echipamentului audio, a instalaţiei de aer condiţionat, a frânării ABS, a
cutiilor de viteze automate, a ambreiajului, etc. Se manifestă şi intenţii de abordare a dirijării tra-
ficului, a conducerii automate a automobilelor şi în general de aplicare a metodelor IA într-o mă-
sură dictată de considerente pur tehnico-economice.
Există şi aplicaţii în industria spaţială: acţionarea unor subansambluri de poziţionare fină
sau dirijare, diagnosticare, etc. Este de remarcat şi interesul NASA pentru sistemele fuzzy-expert
(Fuzzy CLIPS98).
Deşi unii producători importanţi manifestă un oarecare interes pentru aplicarea logicii
fuzzy în domeniul transporturilor feroviare, (de exemplu GEC-Alsthom), in Europa şi mai ales SUA
se manifestă o oarecare reticenţă, din motive de percepţie a termenului, care nu este uşor de
alăturat conceptului esenţial de "siguranţă a circulaţiei". Pe de altă parte imaginea publică a aces-
tor aplicaţii este cu totul mascată de politicile diferitelor producători, prin protejarea soluţiilor
sau chiar prin disimularea elementelor fuzzy. Rezultă că adevăratul impact al logicii fuzzy în acest
domeniu nu poate fi evaluat nici măcar cu aproximare, probabil singurul său indicator plauzibil
fiind numărul comunicărilor ştiinţifice pe această temă, care la această oră este relativ redus. Pe
plan mondial pot fi totuşi identificate unele aplicaţii de un rafinament deosebit, cum ar fi de
exemplu sincronizarea tracţiunii unei locomotive suplimentare, plasate la coada unui tren, cu
locomotiva principală (India). Operaţia este executată printr-un controler neuro-fuzzy, fără nici o
comunicare între cele două locomotive.
Numărul aplicaţiilor industriale fuzzy nu a crescut continuu, putându-se mai degrabă dis-
tinge anumite perioade de avânt, urmate de altele de stagnare. De exemplu în Japonia, ţara care
a reprezentat cu siguranţă mediul cel mai propice pentru aplicarea CF, primul val fuzzy s-a mani-
festat pe la mijlocul anilor '80, prin aplicaţii în conducerea unor procese industriale complexe. Se
pot aminti conducerea sistemului de trenuri suburbane din Sapporo şi apoi a reţelei de metrouri
Sendai prin sistemul ATO (Automatic Train Operation - Hitachi), conducerea staţiilor de epurare
a apelor (Fuji), conducerea sistemelor de lifturi în mari clădiri (Hitachi), ventilarea supertunelelor
de transport (Toshiba), incineratoare de gunoaie pentru mari oraşe (Mitsubishi), etc. Tipice aces-
tei faze sunt implementările software prin limbaje de nivel înalt FOTRAN, C, etc. şi prin calcula-
toare de proces.
47
În această perioadă au început să apară şi aplicaţii casnice, cum ar fi instalaţia de condi-
ţionare a aerului a lui Mitsubishi, diafragma de 8mm VCR (Sanyo), camera cu autofocalizare şi
compensarea mişcărilor operatorului (Canon, Sony), gestionarea inteligentă a tracţiunii (Subaru)
şi altele, superioare produselor analoge non-fuzzy, dar fără un ecou deosebit în conştiinţa publi-
cului.
Al doilea val de aplicaţii fuzzy s-a propagat până la gama produselor casnice, fiind marcat
de o maşină de spălat marca Panasonic (Matsushita Electric Industrial Co. Ltd.) care a fost lansa-
tă în 1990 sub denumirea Aisai-go Day Fuzzy. A urmat o adevărată explozie a produselor fuzzy,
mai scumpe din cauza dotării cu diferiţi senzori suplimentari, dar având performanţe deosebite.
Astfel termenul "fuzzy" a ajuns să fie receptat de japonezi ca având legătură cu inteligenţa.
Pentru aplicaţiile de masă unele firme japoneze au trecut în acea perioadă la dezvoltarea
unor structuri hardware fuzzy digitale sau analogice. Rezultatele obţinute nu au fost însă pe mă-
sura aşteptărilor, în sensul că nu s-a putut impune o structură hardware fuzzy care să justifice în-
locuirea implementărilor hardware realizate între timp cu DSP-uri, a căror flexibilitate şi capaci-
tate de calcul este absolut suficientă în majoritatea aplicaţiilor.
O trecere în revistă a principalelor instrumente software de dezvoltare a aplicaţiilor fuzzy
include următoarele produse: CubiCalc (HyperLogic Corp.), TILShell (Togai InfraLogic), FuzzyTech
(INFORM), FIDE (Aptronix), RT/Fuzzy (Integrated Systems Inc.), Fuzzy Knowledge Builder (Fuzzy
Systems Engineering) şi Fuzz-C (Byte Craft Ltd.). La acestea pot fi adăugate un pachet software
destinat dezvoltării sistemelor fuzzy-expert aplicat de NASA: FuzzyCLIPS (CLIPS produs de Joh-
nson Space Center Software Technology Branch iar extensia fuzzy de National Research Council
of Canada) şi toolkit-ul Fuzzy Logic Toolbox pentru MATLAB produs de MathWorks Inc.
incluzând interfeţele grafice FIS pentru sisteme fuzzy şi ANFIS pentru sisteme neuro-fuzzy.

4.3. Unele implementări hardware existente


Controlerele fuzzy dedicate pot fi analogice şi digitale. Primul controler fuzzy analogic
Omron FZ-1000 se datorează lucrărilor lui T. Yamakawa, T. Miki, M. Sasaki, J. L. Huertas etc. Ma-
joritatea lor operează în curent dar prototipul primului computer fuzzy analogic YFC-1, proiectat
de Takeshi Yamakawa în 1987 opera în tensiune. Funcţiile de apartenenţă erau modelate prin
eşantioane vehiculate prin intermediul unei magistrale de date analogice.

A(x)
1

0 x

A = (0 0,1 0,2 ......................... 1 1 ............................... 0,2 0,1 0 )


Fig. 4.1 Funcţie de apartenenţă eşantionată producând un cuvânt fuzzy
Pentru inferenţa min-max analogică se porneşte de la circuitele de bază min şi max pre-
zentate în fig. 4.2. Tensiunile reprezentând funcţiile de apartenenţă sunt cuprinse între 0V pentru
A (x)= 0 şi 5 V pentru A (x)= 1.

48
+VCC +VCC

x1 x2 . . . xn IE2
IE1

YMAX
x1 x2 . . . xn YMIN IE1

IE2

-VEE -VEE
Comparator Compensator Comparator Compensator

yMIN 5v yMAX 5v

x2 , x3 , ...= parametri

x1 x1
5v 5v

Fig. 4.2 Porţile MIN şi MAX


Durata unei comutaţii este mai mică de 10 ns.
Pentru obţinerea inferenţei se mai utilizează o poartă cu efect de trunchiere a funcţiilor
de apartenenţă. Viteza realizată este de 10 Mega FIPS (106 inferenţe fuzzy/s).
Alt element de bază al YFC-1 este memoria, realizată cu o combinaţie complexă RAM-
PROM, prin care poziţia unei locaţii codifică valoarea numerică a unui eşantion. Pentru un eşan-
tion există 11 locaţii, corespunzând valorilor 0, 0,5, 1, ... 4,5, 5. Acest gen de memorie este în
mod evident dezavantajoasă din cauza complexităţii sale.
Q(t+1) Q(t+1)
K. Hirota şi K Ozawa au
comunicat realizarea bistabilelor fuzzy,
asemănătoare bistabilelor JK, prin care
se pot memora valori de tensiuni K K
analogice, făcându-se posibilă
construirea de memorii fuzzy propriu-
zise. Sunt menţionate mai multe tipuri
de bistabile (R, S) utilizând diferiţi J Q(t)=0 J Q(t)=1
operatori.
Fig. 4.3 Caracteristici de bistabil fuzzy

La un alt produs de referinţă, procesorul FP-9000 s-a trecut la utilizarea MF de ieşire de


tip singleton, simplificând arhitectura şi accelerând inferenţa. Tehnologia utilizată este BiCMOS
de 2m, asigurând o viteză de 1.400.000 FIPS. Pentru accelerarea defuzzyficării s-a construit un
circuit special, FP-9001 în tehnologie bipolară, viteza controlerului obţinut fiind de 625.000 FIPS.
Procesoarele digitale iniţiate în 1989 de Togai Infra Logic prin FC110 au fost fundamen-
tate de lucrările lui M. Togai, H. Watanabe, W. Dettloff, H. Arikawa, H. Hirota, etc. FC110, reali-
zat în tehnologie Low Power CMOS poate realiza operaţii aritmetice, operaţii fuzzy, transferuri
de date etc., beneficiind de platforma de dezvoltare TIL Shell.
49
Dintre controlerele digitale fuzzy pe lângă Togai FC110 se pot menţiona: familiile Omron
FP, American NeuraLogicx NLX (230, 231, 232); controlerele Clokner-Moller, Siemens, etc.
Principala direcţie de dezvoltare a CF digitale era anticipată în 1988 prin arhitectura para-
lelă, pornind de la organizarea matricială a bazei de reguli. Două posibilităţi de inferenţă paralelă
erau identificate. În prima variantă se prelucrează în paralel toate regulile rezultând grade de
apartenenţă care apoi sunt prelucrate secvenţial pentru stabilirea ieşirii ferme. A doua variantă
calculează în paralel gradele de apartenenţă ale tuturor acţiunilor, regulile fiind calculate secven-
ţial. Pe măsură ce noi reguli sunt luate în considerare, gradele de apartenenţă ale acţiunilor de
comandă sunt reactualizate. Cele două variante sunt asemănătoare, prima fiind recomandabilă
când există un număr mare de reguli şi mai puţine ieşiri, în timp ce varianta a doua este recoman-
dabilă în cazul contrar. Totuşi, având în vedere performanţele atinse de dispozitivele de uz gene-
ral (μP, μC, DSP, etc.) care permit microprogramarea funcţionării fuzzy dorite, soluţiile dedicate
nu s-au impus la nivelul aşteptărilor. Această anticipaţie s-a dovedit corectă, calculul paralel
devenind fezabil după anii 2000 chiar şi la nivel de sistem încorporat (embedded system) datorită
progreselor extraordinare ale tehnologiei FPGA.

4.4. Implementarea regulatoarelor fuzzy-interpolative prin circuite analogice


4.4.1. Utilitatea integrării analogice a regulatoarelor fuzzy-interpolative
Premisele realizărilor hardware analogice ale regulatoarelor fuzzy-interpolative sunt:
 structura lor permite implementarea analogică;
 prin realizarea unui circuit integrat fuzzy-interpolativ se vizează realizarea unor regulatoare
integrate adaptive de uz extrem de larg, având un preţ scăzut şi ajustarea facilă, în stare să redu-
că semnificativ complexitatea şi preţul unui sistem de reglare automată adaptivă a proceselor
industriale neliniare;
 arhitectura acestui regulator integrat trebuie să fie analogică sau hibridă; blocurile implicate
direct în reglare trebuie realizate în tehnologie analogică, pentru a se obţine viteză, preţ redus şi
fiabilitate; partea analogică poate fi completată cu o parte digitală necesară autodiagnosticării şi
conectării la reţelele informatice industriale.
Dispunând de un multiplicator analogic se poate obţine un circuit de împărţire, de exem-
plu folosind schema din Fig. 4.4. Astfel în principiu, oricare dintre operaţiile cerute de implemen-
tarea unui interpolator liniar este realizabilă.

y
x
R2
R1
x -
V0 = - (R2 / R1) · (x / y)
+
R3

Fig. 4.4 Schemă de împărţire analogică


Principala problemă ridicată de integrarea analogică este ridicată de realizarea operaţiei
de multiplicare analogică printr-o schemă integrabilă. Mai mult, este de dorit ca această operaţie
să aibă un domeniu de precizie acceptabilă cât mai extins. Soluţiile de multiplicare sau interpo-
lare liniară clasice, bazate modulări ale impulsurilor în durată sau integrări scad mult viteza de

50
operare. La rândul lor multiplicatoarele bazate pe amplificatoare operaţionale necesită scheme
încărcate iar precizia obţinută nu este deosebită.

4.4.2. Circuite translineare


O soluţie fundamentală a problemei este oferită de circuitele translineare (Translinear
Circuits) CT. Aceste circuite au fost dezvoltate iniţial în tehnologie bipolară (B. Gilbert, "Transli-
near Circuits: A proposed Clasification", Electron. Lett., nr. 11, pag. 14-16, 1975), pentru ca ulte-
rior să fie asimilate şi în tehnologie MOSFET (J.N. Babanezhad, G.C. Temes, "A 20-V Four-Qua-
drant CMOS Analog Multiplier", IEEE J. Solid-State Circuits, vol. SC-20, pag. 1158-1168, 1985 şi E.
Seevink, R.J. Wiegerink, "Generalized Translinear Circuit Principle", IEEE J. Solid-State Circuits, nr.
26, pag. 1098-1102, 1991).
În continuare este prezentată schema multiplicatorului analogic CMOS din Fig. 4.5. Multi-
plicarea este realizată prin celula Gilbert funcţionând în patru cadrane (Folded CMOS Gilbert Cell)
formată din tranzistoarele M1, M2, M3, M4, M5 şi M6. Curentul de polarizare a perechii
diferenţiale a intrării y este obţinut din tensiunea de mod comun VCX cu ajutorul circuitului de
liniarizare M9 - M10 şi al oglinzii de curent M11 - M12. Acest curent este reprodus prin efect oglindă
de către perechea M13 - M14 pentru a polariza repetoarele pe sursă M17 şi M18 utilizate la
deplasarea nivelului semnalului de intrare x. M7 şi M8 au rolul de a liniariza intrarea x. Restul
tranzistoarelor contribuie la polarizarea circuitului. Tensiunea VCX este necesară pentru a
menţine tranzistoarele în regim de saturaţie.
Semnalul de ieşire V0 este obţinut cu ajutorul rezistenţelor de sarcină RD şi are valoarea:

V0  2  K N  (W/L) N  K P  (W/L)P  R D  Vx  Vy (4.1)


unde K = μ·COX/2 cu μ mobilitatea purtătorilor (electroni/goluri) şi COX capacitatea unităţii de su-
prafaţă a stratului de oxid iar W/L raportul lăţime/lungime al canalului. Indicii N şi P se referă la
tranzistoarele cu canal n respectiv p din compunerea celulei (M1, M2, M3 şi M4 respectiv M5, M6,
M7 şi M8).
Datorită circuitelor de liniarizare domeniul de funcţionare precisă a multiplicatorului pre-
zentat este mult mai larg decât al unui multiplicator clasic.

Fig. 4.5 Multiplicator CMOS analogic de tip Gilbert liniarizat pentru patru cadrane

51
Cap. 5. Reţele neuronale şi sisteme neuro-fuzzy

În acest capitol se face o prezentare generală a reţelelor neuronale, având ca sursă o


lucrare de sinteză scrisă de Bimal K. Bose: “Neural Network Applications in Power Electronics and
Motor Drives - An Introduction and Perspective”, apărută în IEEE Transactions on Industrial Elec-
tronics, Vol. 54, No. 1, Feb. 2007, pag. 14-33.

5.1. Structuri de tip reţea neuronală


5.1.1. Neuroni biologici şi neuroni artificiali
O reţea neuronală RN (neural network NN în engleză) constă dintr-un număr de neuroni
artificiali interconectaţi. Structura neuronilor artificiali este inspirată din structura neuronilor
biologici prezentată în Fig. 1(a). Neuronul este celula de bază a sistemelor nervoase, capabilă să
proceseze informaţii, prin recepţionarea şi combinarea de semnale provenite de la alţi neuroni
similari, prin mii de trasee de intrare, numite dendrite. Fiecare semnal de intrare (de natură elec-
trică), care trece prin dendrite, trece printr-o sinapsă (legătură sinaptică), ca în figură. Această
legătură este formată dintr-un interstiţiu infinitezimal umplut cu fluid neurotransmiţător care fie
accelerează fie întârzie curgerea semnalului. Aceste semnale sunt acumulate in nucleu (soma),
modificate în mod neliniar la ieşire, înainte de a-şi continua circulaţia spre alţi neuroni, prin
ramurile axonilor, ca în figură. Modularea impedanţei (conductanţei) legăturii sinaptice prin
lichidul neurotransmiţător contribuie la „memoria” sau „inteligenţa” creierului. Conform teoriei
neuronului, suntem înclinaţi să credem că în creierul nostru memoria asociativă şi elementele de
inteligenţă sunt datorate legăturilor sinaptice dintre celule. E interesant să observăm că la
naştere un om are în creier aproximativ 100 de miliarde de neuroni. După depăşirea vârstei de
40 de ani cam un milion de neuroni mor zilnic.
Modelul unui neuron artificial (numit deseori şi element de procesare, neurod, nod, sau
celulă) care urmăreşte îndeaproape structura neuronului biologic, este arătat în Fig. 1 (b). În prin-
cipiu structura sa este asemănătoare unui sumator cu amplificatoare operaţionale. Fiecare sem-
nal de intrare (cu variaţie continuă în timp sau impuls), este modulat printr-un factor numit am-
plificare sau pondere sinaptică PS care poate fi pozitiv (excitant) sau negativ (inhibator), întreg
sau neîntreg. Nodul de însumare acumulează toate semnalele de intrare ponderate împreună cu
semnalul ponderat de polarizare b, după care rezultanta S este prelucrată prin funcţia de activare
FA (nonliniară sau liniară) şi dirijată înspre ieşire.

Funcţia de activare (transfer): Câteva dintre cele mai uzuale FA sunt prezentate în Fig. 2: lineară,
prag, signum, sigmoidală sau log-sigmoidală şi tangentă hiperbolică. O altă familie de funcţii des
folosite este familia funcţiilor Gaussiene. Amplitudinea acestor funcţii poate fi cuprinsă între 0 şi
1 sau între -1 şi 1. Funcţia liniară poate fi unipolară (cuprinsă între 0 şi 1) sau bipolară (între -1 şi
1). Când panta ei este  ea se poate transforma în funcţiile prag respectiv signum. Funcţiile sig-
moidale şi tangenta hiperbolică se întâlnesc frecvent în electronica de putere. Formulele acestor
funcţii sunt prezentate în Fig. 2, unde α este coeficientul (câştigul) prin care se ajustează panta.
Toate aceste funcţii sunt diferenţiabile cu maximul derivatei dF/dS pentru S = 0. Toate aceste
funcţii comprimă într-un fel sau altul răspunsul neuronului între două valori asimptotice (fie -1 şi
1, fie 0 şi 1). Neliniaritatea FA contribuie la neliniaritatea caracteristicilor de transfer ale RN glo-
bale.

52
spre alţi
sinapsă neuroni

axon
dinspre alţi
neuroni

a) neuron biologic

sursă de polarizare
ponderi
intrări sinaptice

ieşire
y
funcţia de
activare
(transfer)

b) neuron artificial

Figura 5.1. Neuronul biologic şi neuronul artificial

53
(a) lineară bipolară (b) prag (c) signum

(d) sigmoidale sau log-sigmoidale (e) tangentă hiperbolică


Figura 5.2. Câteva FA folosite în construcţia neuronilor

5.1.2. Structuri de reţele neuronale artificiale


A. Modele de reţele
Interconectarea neuronilor artificiali formează reţele neuronale artificiale RN (neuro-
computere sau sisteme conecţioniste), cu obiectivul de a emula funcţionalitatea creierului uman,
între-un anumit domeniu, să rezolve probleme ştiinţifice, inginereşti, etc. Structura RN biologice
nu a fost încă înţeleasă pe deplin, astfel că există mai multe modele de RN.
Câteva modele des întâlnite de RN în literatură sunt:

1) Perceptronul 7) Reţele neuro-fuzzy (FNN)


2) Adaline & Madaline 8) Kohonen
3) RN cu propagare inversă – Backpropagation 9) RN cu recurenţă în timp real
(BP)
4) RN cu bază radială (RBNN) 10) Elman
5) RN modulare (MNN) 11) Hopfield
6) RN cu cuantizare prin vector de învăţare (LVQ) 12) Boltzman, etc.

În general RH pot fi clasificate în:


- RN cu propagare directă (feedforward);
- RN cu propagare inversă (feedback);
- RN recurente.

54
În cazul RN cu propagare directă semnalele circulă doar în direcţia înainte (dinspre
intrare înspre ieşire, vezi Fig. 5.3 şi 5.4) în timp ce în cazul reţelelor recurente semnalele pot
circula şi în direcţie inversă sau laterală (vezi Fig. 5.5). În funcţie de natura sistemului emulat, RN
poate fi statică sau dinamică. Pentru sistemele statice se utilizează de obicei RN cu propagare
directă sau inversă, iar pentru sistemele dinamice sau temporale RN recurente. Principala
caracteristică a unei RN este dependenţa sa funcţională intrare-ieşire.

Figura 5.3. (a) Reţea perceptron. (b) Ilustrarea limitei de clasificare a semnalelor de intrare
pentru perceptronul cel mai de sus

B. Reţele neuronale de tip perceptron


Perceptronul (inventat de Frank Rosenblatt la sfârşitul anilor ’50) este o RN simplă cu un
singur strat cu propagare directă (feedforward) care este folosită pentru clasificarea semnalelor
de intrare a căror modele sunt separabile linear. Structura generică a unui astfel de reţea (per-
ceptroni multipli) cu S neuroni, care utilizează o FA de tip prag este prezentată în Fig. 3 (a). Vec-
torul semnalelor de intrare p are R elemente. El este înmulţit de matricea de ponderare W (RXS)
înaintea însumării. Un element oarecare din W, notat Wi,j, asigură conexiunea ponderată dintre
intrarea j şi neuronul i. Vectorului rezultant Wp i se adaugă vectorul de polarizare b constituindu-
se astfel vectorul n = Wp + b. Fiecare semnal de polarizare este generat de o sursă +1 ponderată
ca în figură.
Vectorul de ieşire a este a = prag(Wp + b).

55
Ilustrarea proprietăţii de clasificare a modelelor de semnal de intrare pentru perceptro-
nul cel mai de sus este explicată în Fig. 5.3 (b), pentru intrările p1 şi p2 , unde w1,1 = -1 iar w1,2 = +1.
Aria umbrită din figură clasifică p1 şi p2 care dau ieşire +1, iar aria neumbrită p1 şi p2 care dau ie-
şire 0. Delimitarea celor două zone este reprezentată de dreapta L. Polarizarea are ca efect trans-
laţia orizontală a dreptei L, păstrând aceeaşi înclinare a dreptei, în timp ce ponderile intrărilor
modifică înclinarea dreptei. Pentru mai mult de două intrări limita clasificării este o hiperplan.
Hiperplanul de delimitare a clasificării poate fi proiectat individual, prin alegerea ponderilor şi
polarizării.
O aplicaţie simplă a reţelelor de tip perceptron poate fi izolarea semnalelor corecte de
cele afectate de zgomot, în sistemele electronice de putere. Ele pot fi antrenate şi pentru rezol-
varea funcţiilor complexe booleene, cu semnale logice de intrare şi identificarea caracteristicilor
răspunsurilor sistemului de execuţie.
Reţelele neuronale de tip Adaline si Madaline (Adaline multiple) au aceeaşi structură ca şi
a perceptronului, cu diferenţa că FA este de tip liniar bipolar. Reţelele neuronale liniare pot oferi
doar dependenţe intrare-ieşire liniare. Pe lângă utilizarea în clasificarea formelor ele mai pot fi
folosite la liniarizarea funcţiilor neliniare (aproximarea funcţiilor neliniare) sau asocierea forme-
lor.

C. Reţele neuronale de tip propagare inversă (backpropagation)


Topologia cu propagare inversă formată din mai multe straturi între care propagarea
este directă prezentată în Fig. 5.4 este cel mai des utilizat în electronica de putere şi acţionările
electrice. Termenul propagare inversă – backpropagation provine din modul în care se realizează
procesul de antrenare supervizată a reţelei, prin cele două blocuri din partea de jos a figurii 4.
Aceasta reţea poate fi numită şi perceptron multistrat (multilayer perceptron MLP), din cauza că
provine din perceptronul prezentat anterior, dar FA poate diferi de funcţia prag. Reţelele MLP
sunt mult mai puternice decât cele de tip perceptron. Algoritmul de antrenare supervizată prin
reacţie inversă a erorii a fost descris pentru prima dată de Paul Werbos în 1974. Alte contribuţii
au adus Rumelhart, Hinton, Williams, McClelland, Parker, LeCun, etc.
În exemplul din Fig. 5.4. există trei semnale de intrare X1 , X2 şi X3 şi două de ieşire Y1 şi Y2.
Cercurile reprezintă neuroni cu FA asociate (care nu sunt reprezentate), iar ponderile sunt indica-
te prin linii întrerupte (adesea nu sunt nici ele reprezentate). Reţeaua e formată din trei straturi:
(a) stratul de intrare, (b) stratul ascuns şi (c) stratul de ieşire. Cu cei cinci neuroni în stratul as-
cuns, reţeaua se simbolizează 3-5-2. Stratul de intrare nu face altceva decât să distribuie semna-
lele înspre stratul ascuns, motiv pentru care uneori reţeaua este considerată ca având de fapt
numai două straturi. Sursa de polarizare este în mod normal cuplată atât la stratul ascuns cât şi la
cel de ieşire, deşi în figură, pentru simplitate, este prezentată doar legătura cu stratul ascuns.
Deşi reţeaua prelucrează variabile continue, semnalele de intrare şi de ieşire pot fi continue,
logice, sau discret bidirecţionale. Dacă intrările/ieşirile sunt bipolare neuronii stratului ascuns vor
avea de obicei FA tangentă hiperbolică iar cei ai stratului de ieşire vor avea FA liniare bipolare. Pe
de altă parte, pentru semnale unipolare, aceste FA pot fi sigmoidale respectiv unipolar liniare.
Semnalele în RN sunt normalizate, motiv pentru care este nevoie de operaţiuni de scalare atât la
intrare cât şi la ieşire. Deşi teoretic RN cu trei straturi pot rezolva toate problemele de aproxi-
mare funcţională, ocazional se pot utiliza mai mult de trei straturi.
Ca şi într-o reţea neuronală biologică, în care memoria şi inteligenţa sunt distribuite în
sinapse, în cazul RN artificiale aceste atribute sunt distribuite în PS. Acest tip de inteligenţă
permite operaţiile primare cerute reţelelor: aproximările funcţionale şi recunoaşterea formelor.
Astfel se pot construi şi memorii asociative, la care atunci când anumite forme de semnal (pat-
tern) sunt aplicate la intrare, la ieşire sunt generate forme corespunzătoare de semnal. Aceste
recunoaşteri şi generări de forme devin posibile prin antrenarea adecvată a RN.

56
O trăsătură distinctă a neurocomputing-ului este aceea că el devine extrem de rapid când se
implementează cu ajutorul unor structuri masive de calcul paralel, de tipul cip-urilor ASIC. Un cir-
cuit ASIC dispune de memorii RAM/ROM, în care PS pot fi memorate iar FA pot fi implementate
prin tabele de căutare. Această tehnică diferă de tehnicile DSPP (microcomputere bazate pe cal-
cul secvenţial) care sunt mai lente. Tot datorită calculului paralel RN sunt tolerante faţă de defec-
ţiuni, deteriorarea unor PS sau a unor legături nu afectează semnificativ calitatea semnalului de
ieşire. RN prezintă şi proprietăţi de filtrare armonică sau a zgomotului.

polarizare
strat ascuns

legătura
strat intrare
strat ieşire

scalare ieşire

scalare intrare pondere model de


date de ieşire
realizat

algoritm de
ajustare a
ponderilor

model de
date de ieşire
dorit

Figura 5.4. Reţea neuronală cu propagare inversă cu trei straturi

1. Antrenarea prin propagare inversă (backpropagation): spre deosebire de programarea con-


venţională, specificul RN constă din posibilitatea de antrenare supervizată pornind de la seturi de
date de antrenare. Acest procedeu este similar învăţării din reţelele neuronale biologice.
Pentru început trebuie generat setul de date de antrenare, care poate fi obţinut fie pe bază
experimentală (prin înregistrarea vectorilor de intrare-ieşire din sistemul studiat în condiţii sem-
nificative, de exemplu răspunsul indicial), fie prin simulări pe calculator, fie chiar prin metode
analitice. Se creează o configuraţie iniţială a reţelei cu compoziţia straturilor de intrare şi de ieşire
dictată de dimensiunile vectorilor semnalelor de intrare/ieşire, cu un strat ascuns compus dintr-
un număr limitat de neuroni şi de FA corespunzătoare. Valori aleatoare dar suficient de mici pen-
tru a nu satura neuronii sunt alese pentru iniţializarea funcţiilor de activare. Apoi se aplică la
intrare setul de date ales şi se urmăresc ieşirile furnizate de reţea, care sunt comparate cu setul
57
de date de antrenare de ieşire. Se calculează eroarea E (de obicei sub forma erorii medii pătratice
MSE – mean square error sau a sumei pătratelor erorilor SSE – sum square error). În continuare
ponderile sunt modificate printr-un algoritm de bazat pe propagarea inversă, până când eroarea
scade sub o limită acceptabilă. Un astfel de ciclu de calcul se numeşte epocă. Antrenamente simi-
lare se repetă pentru toate seturile de date de antrenare, până se reuşeşte satisfacerea ansam-
blului cerinţelor, caz în care RN se consideră a fi suficient de bine antrenată. În cazul în care con-
vergenţa antrenării este nesatisfăcătoare se măreşte numărul neuronilor stratului ascuns sau
chiar se adaugă straturi ascunse suplimentare. S-a demonstrat că o RN cu trei straturi poate în
principiu rezolva orice problemă de aproximare funcţională.
În locul prelucrării câte unui singur set de date de antrenare, în mod secvenţial, se poate
utiliza antrenamentul în grup, în care toate seturile de date de antrenare sunt procesate simul-
tan.
Ajustarea ponderilor în sensul minimizării erorilor utilizează tehnica gradientului scăzător
sub forma sa standard, în care ponderile sunt iterate pe rând, începând dinspre stratul de ieşire.
Să considerăm că o reţea a fost antrenată cu setul de date de intrare p, iar eroarea pătratică pen-
tru toţi neuronii stratului de ieşire este


Ep = d p  y p 2 = jQ1d jp  y jp 2 (5.1)

p p
unde d j este ieşirea dorită a neuronului j din stratul de ieşire, y j este ieşirea actuală a aceluiaşi
p p
neuron, Q este dimensiunea vectorului de ieşire, d este vectorul dorit la ieşire iar y este vec-
torul actual de ieşire. Suma totală a pătratelor erorilor SSE pentru o mulţime de P seturi de date
de antrenare este

 
P P Q 2
SSE = E = Ep =  p p
 dj  yj (5.2)
p 1 p 1 j 1
Ponderile neuronilor sunt ajustate în sensul minimizării valorii funcţiei obiectiv SSE, con-
form ecuaţiei
 δE p 
Wij(k+1) = Wij(k) - η    (5.3)
 δWij ( k ) 
 
unde  este rata de învăţare, Wij(k+1) este noua pondere dintre neuronii i respectiv j iar Wij(k)
ponderea anterioară. Ponderile sunt recalculate iterativ pentru toate cele P seturi de date de
antrenare. Uneori se ia ca funcţie obiectiv eroarea medie pătratică (MSE = SSE / Q). Pentru a ne
asigura că SSE converge înspre minimul global (adică nu este captat de un minim local), un ter-
men  ∙ [Wij(k) - Wij(k-1)] este adăugat la dreapta ecuaţiei (3),  având o valoare mică. O altă
îmbunătăţire a algoritmului este posibilă prin adoptarea unei rate de învăţare adaptive
 (k+1) = u ∙  (k) cu u <1 (5.4)
astfel încât să se minimizeze oscilaţiile posibile pe durata stabilizări în punctul de minim global.
Mai multe metode de antrenare cu propagare inversă au fost propuse, dar algoritmul
Levenberg–Marquardt (L-M) este de departe cel mai popular, datorită convergenţei sale rapide.
Odată antrenată reţeaua ea trebuie testată cu seturi de date intermediare. În mod normal
antrenarea RN se face prin programe specializate cum ar fi Neural Network Toolbox din pachetul
Matlab.

2. Antrenarea online: În antrenamentul offline, prezentat mai sus, ponderile RN odată stabilite
rămân fixe sau neadaptive. În multe aplicaţii RN trebuie să emuleze funcţii neliniare sau variabile
în timp, caz în care RH necesită antrenarea continuă online. Acest gen de RN se numeşte

58
adaptivă deoarece fie ponderile fie chiar structura lor sunt adaptive. Variante rapide şi
îmbunătăţite ale algoritmilor cu propagare inversă (L-M de exemplu) pot fi aplicate în antrenarea
online, fie rulând pe PC-uri de mare viteză, fie pe DSP-uri, dacă viteza procesului nu este foarte
ridicată. Din fericire viteza DSP-urilor a crescut mult în ultimii ani iar costul memoriilor a scăzut.
Dacă domeniul de variaţie a parametrilor procesului este cunoscut dinainte, RN poate fi
antrenată offline cu parametrii nominali, după care ajustarea adaptivă online cade în sarcina
DSP-urilor de mare viteză. Un algoritm de schimbare aleatorie a ponderilor (random weight
change RWC) a fost propus pentru creşterea vitezei de învăţare online. Metodele bazate pe
filtrele Kalman extinse pot fi de asemenea aplicate.

reacţii cu
întârziere

semnale de
ieşire
semnale de
intrare

proces

ANN

Figura 5.5. Structura unei reţele neuronale recurente în timp real RNN (a) cu schema bloc a
antrenării

59
5.2. Sisteme neuro-fuzzy

Neuronii din componenţa reţelelor neuronale sunt aranjaţi în straturi, capacitatea de


reprezentare a reţelei depinzând de mărimea şi de numărul straturilor. Dacă funcţiile neuronale
sunt norme t sau s se obţin neuroni logici de tip AND şi OR. Cu aceştia se pot construi reţele mul-
tistrat capabile să modeleze o mare varietate de funcţii logice. O astfel de structură (denumită şi
procesor logic), rezultată prin analogie cu logica booleană a fost propusă de Kaoru Hirota şi Wi-
told Pedrycz în 1991. Ea cuprinde trei straturi de neuroni (de intrare, de ieşire şi stratul ascuns),
fiecare strat conţinând neuroni de acelaşi tip.

AND

x1
AND OR
Variabile de intrare y
Ieşire
x2 AND

Strat de intrare Strat ascuns Strat de ieşire

Fig. 5.6 Procesor logic cu reţea neuronală

Controlerul neuro-fuzzy poate fi grefat pe procesorul logic neuronal, fiecare variabilă de


intrare reprezentând gradul de apartenenţă a unei mărimi de intrare la TL corespunzător din CC
aferent mărimii respective. Prin topologia lor, sinapsele codifică regulile de conducere de tip dacă
...atunci. În cazul procesorului logic de mai sus, fiecare nod din stratul intermediar poate fi con-
siderat ca şi corespunzând unei clauze, fiind analog unui minitermen din cazul exprimării analitice
prin forma canonică disjunctivă a funcţiilor logice. În cazul general cunoştinţele sunt “împărţite”
între neuroni şi sinapse, astfel că este cvasi-imposibilă exprimarea inteligibilă a relaţiei fuzzy con-
ţinută în reţea. Se spune în acest caz că reţeaua neuronală „ascunde” informaţiile.
Pe de altă parte reţelele neuronale sunt capabile de a învăţa pe bază de exemple. Exem-
plele constau din seturi de mărimi de intrare şi mărimile de ieşire pe care dorim să le obţinem în
cazul acelor intrări. Învăţarea este de tip parametric, constând din ajustarea ponderilor sinaptice,
astfel încât un anumit indice de performanţă (de exemplu distanţa euclidiană) să fie optimizat.
Dintre parametrii algoritmilor de învăţare, esenţiali sunt convergenţa, fără de care nu s-ar obţine
soluţii şi factorul de învăţare indicând viteza de soluţionare.
Din cele de mai sus rezultă o complementaritate perfectă între reţelele neuronale şi
sistemele fuzzy: în timp ce reţelele neuronale ascund informaţia dar sunt capabile de învăţare
automată sistemele fuzzy sunt capabile de a reprezenta extrem de transparent orice fel de
informaţii/ cunoştinţe, chiar şi cele sub formă lingvistică, dar au nevoie de experţi umani pentru
identificarea soluţiilor.
Din hibridizarea neuro-fuzzy rezultă o clasă de sisteme inteligente de mare popularitate,
care are în acelaşi timp capacitatea re reprezentare a cunoştinţelor formulate lingvistic cât şi cea
de învăţare automată pe bază de exemple.

60
N
Intrare 1
Z

P Ieşire

N
Intrare 2
Z
Evaluarea regulilor
P şi defuzzificarea

Fuzzyficarea Baza de reguli

Fig. 5.7 Controler neuro-fuzzy


Orientativ, în tabelul următor sunt prezentate caracteristicile reţelelor neuronale dintr-o
aplicaţie referitoare la conducerea unor locomotive in tandem (India). Aplicaţia conduce automat
locomotiva terminală a unei garnituri foarte lungi, care circulă în zone muntoase, astfel încât gar-
nitura păstrează un comportament coordonat, fără nici o legătură cu locomotiva din faţă.

Nr. de neuroni
Variabila de intrare strat de strat de strat strat
intrare ieşire ascuns 1 ascuns 2
acceleraţie 1 7 25 25
viteză 1 5 20 -
pantă 1 7 25 25
lungimea trenului în pantă 1 3 15 -
frână 1 3 15 -
greutate 1 3 15 -

Această aplicaţie a fost implementată în mediul NeuFuz4 (National Semiconductors) care


constituie de fapt o platformă de dezvoltare, generând direct programe asamblate pentru familia
de microprocesoare COP800 de 8 biţi. Aplicaţia permite controlul parametrilor principali ai pro-
cesului de învăţare: factorul de învăţare şi viteza de învăţare. Regulile obţinute pot fi apoi adap-
tate pentru forme trapezoidale, şi pentru diferite condiţii impuse de viteză şi de memorie utili-
zată. Reţeaua utilizată are 7 straturi, din care 5 sunt necesare fuzzificării.

61
Universitatea „Aurel Vlaicu” din Arad
Facultatea de Inginerie

Marius M. Bălaş

Aplicaţii ale Sistemelor Neuro-Fuzzy

Lucrări practice

- 2014 -
Cuprins

1. Mulţimi fuzzy. Logică fuzzy ........................................................................ 2


2. Variabile lingvistice. Cadre cognitive şi partiţii fuzzy ................................. 8
3. Controlere fuzzy. Inferenţa. Controlere Mamdani şi Sugeno ..................... 10
4. Defuzzificări MOM şi COG ....................................................................... 13
5. Tutorial Fuzzy Inference System ................................................................ 16
6. Implementarea FIS a unor regulatoare fuzzy PD ....................................... 24
7. Controlere fuzzy-interpolative ................................................................... 31
8. Regulatoare neuro-fuzzy realizate în ANFIS ............................................. 37
9. Sisteme fuzzy-expert .................................................................................. 49

1
1. Mulţimi fuzzy. Logică fuzzy

1.1. Introducere
Sistemele inteligente hibride fac parte din categoria sistemelor Soft Computing. Ele
combină diferite metode şi tehnici provenite din subdomenii ale Inteligenţei Artificiale,
cu scopul de a obţine în urma hibridizării performanţe mai bune decât ale fiecărei din-
tre componente, luate în parte. Câteva astfel de realizări sunt: sistemele neuro-fuzzy,
sistemele fuzzy-expert, sistemele conexionist-expert, sisteme evolutiv-neuronale, siste-
mele fuzzy-genetice, etc.

Se observă că o mare parte dintre sistemele inteligente hibride au în componenţă latura


care ţine de teoria şi practica Sistemelor Fuzzy. Explicaţia acestui fapt rezultă din stu-
diul sistemelor fuzzy, principalele concluzii fiind:

a) Teoria mulţimilor fuzzy oferă cea mai avantajoasă reprezentare matematică şi pe


calculator a cunoştinţelor exprimabile sub o formă simbolică, respectiv lingvistic, cu
care operează raţionamentul uman;

b) Teoria mulţimilor fuzzy în sine nu oferă soluţiile concrete ale aplicaţiilor, pentru
identificarea cărora este nevoie de contribuţia unui expert uman;

Un sistem fuzzy poate fi considerat ca o formă particulară de sistem expert, alcătuit


dintr-o bază de reguli de tipul „Dacă … atunci …”, a căror modelare şi prelucrare
logică se face prin teoria mulţimilor fuzzy, dar a căror conţinut trebuie stabilit de către
experţi. Diferitele tehnici preluate din arsenalul Inteligenţei Artificiale au tocmai sco-
pul de a juca rolul expertului uman, prin completarea şi/sau ajustarea automată a regu-
lilor de conducere.

Acest îndrumător de lucrări practice ilustrează ce mai populară dintre tehnicile fuzzy
hibride, respectiv Sistemele Neuro-Fuzzy, care pentru partea de învăţare automată face
apel la Reţelele Neuronale, a căror structură este asemănătoare creierului uman şi care
au capacitatea de a învăţa automat pe baza unor exemple.

Principalul instrument utilizat în îndrumător este pachetul software Matlab-Simulink,


care prin toolkit-urile FIS pentru sistemele fuzzy şi ANFIS pentru sistemele neuro-
fuzzy, oferă o platformă avantajoasă de testare şi implementare a aplicaţiilor, larg uti-
lizată atât în mediile academice cât şi în cele industriale. Pentru aplicarea algoritmilor
fuzzy şi neuro-fuzzy în cazul sistemelor înglobate (embedded systems), a microproce-
soarelor, microcontrolerelor sau a circuitelor FPGA, se studiază şi implementările de
tip interpolativ, respectiv Sistemele Fuzzy-Interpolative.

2
1.2. Mulţimi fuzzy
În teoria clasică a mulţimilor, o mulţime C este definită ca o colecţie de n elemente xi,
cu i = 1 ... n, definite într-un domeniu de definiţie X. Fiecărui element i se poate ataşa
o funcţie de apartenenţă FA, notată (xn), având valoarea:
0, dacă xn  C
(xn) = (1.1)
1, dacă xn  C
O astfel de mulţime poate fi denumită „fermă” (crisp), deoarece gradul de apartenenţă
respectă principiul terţului exclus din algebra Booleană, fiind posibile numai două situ-
aţii: apartenenţa sau non-apartenenţa, sau în termeni logici, adevăr sau fals.
Spre deosebire de mulţimile ferme, o mulţime fuzzy MF acceptă pentru FA orice va-
loare aparţinând intervalului [0 ... 1]. Valorile 0 şi 1 au aceeaşi semnificaţie ca şi în
cazul mulţimilor ferme, adică non-apartenenţa respectiv apartenenţa totală a elemen-
tului la MF. Valorile intermediare indică măsura în care elementul x aparţine catego-
riei descrisă de mulţime. Un grad de apartenenţă de 0,9 indică o legătură puternică a
elementului cu mulţimea în timp ce 0,5 arată că elementul poate la fel de bine să fie
inclus sau exclus din mulţime. O MF A definită pe domeniul X va fi caracterizată de
funcţia de apartenenţă
A (x) : X  [0 ... 1] (1.2)
xX
Se defineşte înălţimea mulţimii A, hgt(A), valoarea maximă a funcţiei de apartenenţă:
hgt(A) = sup A(x) (1.3)
Dacă hgt(A) = 1 mulţimea fuzzy A se va numi normală. Dacă hgt(A) < 1, atunci A se
va numi subnormală.
Suportul (baza, lăţimea) mulţimii A este format din mulţimea elementelor xX pentru
care A(x)  0:
supp(A) = { xX  A(x) > 0 } (1.4)
Toleranţa mulţimii A este format din mulţimea elementelor xX pentru care A(x)= 1:
tol(A) = { xX  A(x) = 1 } (1.5)
În continuare se exemplifică utilizarea mulţimilor fuzzy pentru definirea conceptului
temperatură confortabilă, util în proiectarea instalaţiilor de aer condiţionat deoarece
reprezentarea prin MF permite modelarea percepţiei umane a confortului termic, con-
cept prin excelenţă subiectiv şi incert. Deşi aparent renunţarea la definirea precisă a
obiectivelor reglării ar putea părea hazardată, prin formularea fuzzy se obţin perfor-
manţe mult mai bune ale reglării temperaturii, nu în termeni de precizie, care oricum
este nesemnificativă în acest caz, ci în termeni de economie de energie, reducere a nu-
mărului de acţiuni de reglare, adaptare la condiţiile interne şi de mediu, etc.

3
Fig. 1.1 Reprezentările fermă şi fuzzy ale noţiunii de temperatură confortabilă
Toate aceste performanţe sunt posibile datorită înglobării cunoştinţelor de tip expert –
în condiţionarea aerului în acest caz - prin intermediul regulilor fuzzy de conducere.
Un sistem secvenţial de condiţionare a aerului utilizând logica lui G. Boole ar porni
încălzirea imediat după scăderea temperaturii sub 21oC şi ar opri încălzirea la depăşirea
temperaturii de 23oC. Această funcţionare asigură o anumită precizie şi siguranţă
reglării, dar necesită un număr mare de acţionări ale elementului de execuţie, ceea ce
produce în general uzura prematură a elementelor sistemului şi nu ţine cont de
tendinţele naturale de evoluţie ale sistemului. De exemplu, dacă temperatura este de
20,7oC, mai mică decât limita inferioară admisibilă, dar tendinţa ei este de creştere,
sistemul s-ar încadra singur, în scurt timp, în domeniul 21oC - 23oC. Pornirea încălzirii
accelerează intrarea în domeniul de temperatură dorit dar cu preţul unei energii supli-
mentare injectate în sistem, în plus existând mari şanse ca din cauza din cauza inerţiei
termice temperatura să depăşească repede 23oC. Ar urma astfel fie o nouă disipare de
energie necesară răcirii sistemului, fie o lungă perioadă de supraîncălzire.
Un sistem fuzzy având în setul de reguli de conducere şi o regulă referitoare la econo-
mia de energie ar putea admite ca destul de confortabilă şi temperatura de 20,5oC, fără
a porni încălzirea. Decizia nu va fi greşită, întrucât foarte puţini oameni ar putea sesiza
cele 0,5oC cu care temperatura este inferioară domeniului impus. Datorită tendinţei
naturale de încălzire se va ajunge treptat în domeniul 21oC - 23oC fără irosirea energiei.
Pentru modelarea FA se pot folosi diferite forme, cele mai uzuale dintre ele fiind pre-
zentate în figura următoare. Dreptunghiul şi singleton-ul sunt de fapt proprii mulţimilor
Booleene, dar ele se întâlnesc frecvent în aplicaţii, asociate cu alte variabile fuzzy, de
exemplu în cazul comenzilor aplicate unui element de execuţie cu stări discrete.

Fig. 1.2 Forme folosite pentru FA

4
Când aplicaţia necesită precizie şi sensibilitate se poate apela la curbele de tip Gauss
(““ sau “”) care au şi avantajul de a putea fi corelate cu mărimile probabilistice. În
principiu se pot utiliza orice altă formă sau combinaţie de forme uzuale.
În marea majoritatea a aplicaţiilor se constată însă că cele mai des utilizate forme sunt
cele triunghiulară şi trapezoidală, mai uşor de reprezentat şi necesitând un volum mai
mic de calcule şi de memorie. Alegerea formelor simple de FA este justificată şi prin
constatarea des menţionată în literatura de specialitate că esenţiale în aplicaţii sunt
suportul şi toleranţa unei MF, forma flancurilor FA având un efect mai redus asupra
rezultatelor obţinute.

1.3. Logica fuzzy


Se consideră F familia mulţimilor fuzzy definite pe un domeniu de definiţie X. Între
mulţimile incluse în F se pot defini operaţii care într-un mod analog algebrei booleene
generează o structură algebrică de tip latice. Aceste operaţiile se vor nota  şi  ca şi
în cazul teoriei clasice a mulţimilor:
A  B : X x X  [0 ... 1] (1.6)
A  B : X x X  [0 ... 1]
Se introduce şi complementul mulţimii fuzzy A :
A : X  [0 ... 1] (1.7)
Construcţia algebrei booleene utilizează reuniunea şi intersecţia (în termeni logici
SAU şi ŞI), singura variantă alternativă fiind reprezentată de implicaţiile logice, a căror
utilizare este însă incomodă. În cazul logicii fuzzy LF se poate face apel la un număr
mult mai mare de operaţii, fapt care conferă acestei logici un potenţial ridicat de adap-
tare la diferite condiţii de lucru. L.A. Zadeh a propus utilizarea maximului şi minimului
funcţiilor de apartenenţă ale celor doi operanzi ca operaţii de constituire a LF.
Operaţiile se pot descrie cu ajutorul funcţiilor de apartenenţă  : X  [0 ... 1].
 A B (x) = max ( A(x), B(x) ) = A(x)  B(x) (1.8)
 A B (x) = min ( A(x), B(x) ) = A(x)  B(x)
sau, simplificând notaţia (A(x)  A(x)) :
(A  B) (x) = max ( A(x), B(x) ) = A(x)  B(x) (1.9)
(A  B) (x) = min ( A(x), B(x) ) = A(x)  B(x)

Complementul mulţimii A, notat A, se va defini prin:


 A (x) = 1 -  A (x) sau A(x) = 1 - A(x) (1.10)
Structura astfel obţinută este o latice distributivă deoarece se bucură de următoarele
proprietăţi: asociativitate, comutativitate, absorbţie, idempotenţă şi distributivitate în
ambele sensuri.

5
De asemenea se verifică legile lui de Morgan, principiul dublei negaţii şi legile lui 0
şi 1 (elementele neutre faţă de cele două operaţii):
A(x)  1 = 1 A(x)  0 = A(x) (1.11)
A(x)  1 = A(x) A(x)  0 = 0
Spre deosebire de logica booleană, în cazul LF nu se mai respectă însă principiile
terţului exclus şi nici cel al contradicţiei, din cauza modului de alcătuire a funcţiilor de
apartenenţă:
( A  A )(x)  1 şi ( A  A )(x)  0 (1.12)
De exemplu, în cazul în care A(x) = 0,5, caz în care incertitudinea atribuirii unei valori
logice este maximă, ( A  A )(x) = ( A  A )(x) = 0,5. Diferenţa A(x) - A(x) poate
reprezenta o măsură a caracterului vag al mulţimii A: cu cât diferenţa este mai mică, A
este mai vagă. În cazul anterior A - A = 0. În cazul mulţimii lor ferme A - A = 1.
În perioada de început a logicii fuzzy s-au utilizat şi suma probabilistică şi produsul:
(A  B) (x) = A(x) + B(x) - A(x)  B(x) (1.13)
(A  B) (x) = A(x)  B(x)
Faţă de laticea min-max gradele de apartenenţă depind în acest caz de ambii operanzi.
În consecinţă regulatoarele fuzzy care vor utiliza aceste operaţii vor fi mai “senzitive”
decât cele bazate pe operaţia min-max. De fapt există o clasă largă de operaţii utiliza-
bile ca funcţii logice  şi , denumite norme triangulare. Prin normă t se înţelege o
funcţie de două argumente t : [0 ... 1] x [0 ... 1]  [0 ... 1] cu următoarele proprietăţi:
 asociativitate: (A t B) t C = A t (B t C)
 comutativitate: AtB=BtA (1.14)
 condiţii de limită: At0=0 , At1=A
 nedescrescătoare pt. fiecare argument: pentru A  B , C  D, A t C  B t D
O normă t este arhimediană dacă şi numai dacă:
 este continuă pentru fiecare argument (1.15)
AtA<A
Din cele de mai sus se observă că norma t prezintă majoritatea proprietăţilor funcţiei
logice ŞI. Funcţia logică SAU poate fi modelată cu norma s (conorma t), care la rândul
ei este:
 asociativă;
 comutativă; (1.16)
 satisface condiţiile: As0=A , As1=1
 nedescrescătoare.

6
Este însă de remarcat că normele triangulare nu respectă în mod necesar idempotenţa
(A t A  A şi A s A  A) şi absorbţia (A t (A s B)  A şi A s (A t B)  A).
În tabelul următor sunt prezentate câteva dintre normele t-s mai des utilizate.

norme t norme s
x t y = min(x, y) x s y = max (x, y)
xty=xy xsy=x+y-xy
x t y = 1-min([1, ((1-x)p + (1-y)p)1/p], p  1 x s y = min (1, (xp + yp)1/p) , p1
x t y = max[0, (+1)(x+y-1)- x y],  -1 x s y = min [1, x + y +  x y] ,   -1

Normele t şi s îndeplinesc următoarele inegalităţi:

x , dacă y = 1
min (x, y)  x t y  y , dacă x = 1 (1.17)
0 , în celelalte cazuri

x , dacă y = 0
max (x, y)  x s y  y, dacă x = 0 (1.18)
1 , în celelalte cazuri
Alegerea unor norme t şi s diferite de min-max (sau eventual de produsul şi suma
probabilistică) este totuşi mai rară, volumul de calcule necesar fiind mai mare, fără a se
obţine întotdeauna îmbunătăţiri semnificative.
Utilizarea operaţiilor min-max, prin lipsa de interacţiune dintre operanzi (unul dintre ei
nu participă la stabilirea rezultatului) nu este indicată în cazurile care reclamă funcţii
de apartenenţă precise, dar în schimb oferă avantajul robusteţii şi imunităţii la zgomot.

Desfăşurarea lucrării
Se vor verifica toate proprietăţile algebrelor fuzzy create de operaţiile min-max şi
prod-sum, pentru următoarele date numerice: A = 0,5, B = 0,75 şi C = 0,3.
Exemplu:
 asociativitate (min-max): (A min B) min C = A min (B min C) = 0,3
(A max B) max C = A max (B max C) = 0,75
 asociativitate (prod-sum): (A prod B) prod C = A prod (B prod C) = 0,1125
(A sum B) sum C = A sum (B sum C) = 0,9125

7
2. Variabile lingvistice. Cadre cognitive şi partiţii fuzzy

2.1. Variabile lingvistice şi fuzzificarea


Termenul de variabilă lingvistică VL, introdus de L. A. Zadeh în 1975 defineşte o
variabilă care ia valori lingvistice, cum ar fi încet, repede, înalt, etc. Aceste valori sunt
modelabile prin MF. Orice VL conţine câţiva termeni lingvistici TL primari - etichete
lingvistice. Aplicând reguli sintactice şi semantice se pot construi termeni derivaţi şi
propoziţii. Să luăm de exemplu VL temperatură, cu domeniul de definiţie cuprinzând
gama de temperaturi care se pot realiza în interiorul unui vagon. Termenii lingvistici
primari pot fi mic, mediu şi mare. Aceşti termeni pot fi în continuare ponderaţi cu mo-
dificatori, cum ar fi foarte, mai mult sau mai puţin, etc. Se obţin propoziţii corecte prin
combinarea termenilor primari şi a modificatorilor, de exemplu (temperatură) foarte
mare. Cu ajutorul VL este posibilă reprezentarea cunoştinţelor într-un mod familiar
percepţiei umane. Instrumentul matematic, bazat pe VL, prin care cunoştinţele pot fi
reprezentate şi prelucrate se numeşte cadru cognitiv (frame of cognition) CC.
Familia de mulţimi fuzzy A = {A1, A2, ... Ac} formează un CC dacă îndeplineşte urmă-
toarele două condiţii:
 A acoperă domeniul de definiţie X. Fiecare element al domeniului de definiţie poate
fi atribuit cu un grad de apartenenţă diferit de zero cel puţin unei MF din A:
  Ai (x) >  (2.1)
x i

 > 0 fiind denumit nivel de acoperire a lui X .


 Elementele lui A sunt mulţimi fuzzy unimodale. Se pot astfel identifica în X regiuni
(câte o regiune pentru fiecare TL) care să fie în mare măsură compatibile cu acestea
(cu grad semnificativ de apartenenţă la Ai). Aceste regiuni posedă un înţeles semantic
clar.

Fig. 2.1. Cadru cognitiv

8
2.2. Partiţii fuzzy
Partiţia fuzzy PF este un CC care se mai caracterizează şi prin proprietatea:

 Ai (x) = 1, xX (2.2)


i=1...c

O PF va încadra fiecare punct din domeniul de definiţie X într-unul sau doi TL, fără
zone insuficient caracterizate, la care suma gradelor de apartenenţă ar fi mai mică de 1,
sau zone contradictorii, unde suma gradelor de apartenenţă ar fi mai mare de 1.
În perspectiva utilizării PF la reglările automate, această condiţie exprimă faptul că
există suficiente informaţii pentru luarea unor decizii sigure în orice zonă a domeniului
X. În multe alte domenii, mai ales în sistemele expert pentru luarea de decizii se accep-
tă şi zone în care suma gradelor de apartenenţă este subunitară sau supraunitară.

Fig. 2.2. Partiţie fuzzy


O atenţie deosebită trebuie acordată desenării mulţimilor fuzzy şi alegerii parametrilor
triunghiurilor sau trapezelor, pentru a respecta condiţia (2.2)!
Operaţia de proiectare a CC sau PF se numeşte fuzzificare. Fuzzificarea este operaţia
esenţială de reprezentare în calculator a cunoştinţelor formulate lingvistic. De exemplu,
în proiectul referitor la regulatorul fuzzy PD de la sfârşitul acestui îndrumător, la fuzzi-
ficarea variabilei eroarea de reglare vom utiliza următorii TL: negativ mare, negativ
mic, zero, pozitiv mic şi pozitiv mare.

Desfăşurarea lucrării
Se vor proiecta următoarele variabile lingvistice de tip partiţie fuzzy:
 eroarea de reglare, cu 5 termeni lingvistici modelaţi prin triunghiuri;
 eroarea de reglare, cu 5 termeni lingvistici modelaţi prin trapeze;
 derivata erorii de reglare, cu 5 termeni lingvistici modelaţi prin trapeze;
 viteza unui automobil [km/h], cu 5 termeni lingvistici modelaţi prin triunghiuri;
 vârsta unui om, cu 7 termeni lingvistici modelaţi prin trapeze;

9
3. Controlere fuzzy
Inferenţa. Baze de reguli. Controlere Mamdani şi Sugeno

3.1. Controlere fuzzy

În sens larg un controler fuzzy CF este un sistem expert care utilizează variabile fuzzy.
Un sistem expert SE este un program care urmăreşte un grup de cunoştinţe pentru obţi-
nerea unor rezultate, în acelaşi mod ca şi experţii umani. Putem spune că acest gen de
sisteme sunt tipice pentru IA. Un SE este materializat printr-o bază de cunoştinţe şi
printr-un algoritm de căutare, bazat pe metode de raţionare. Cunoştinţele sunt repre-
zentate prin reguli care pot fi uşor citite şi modificate de către utilizatori, de forma:
dacă < premiză > atunci < concluzie > (3.1)
Aşa cum am văzut deja, rolul LF în acest domeniu constă din reprezentarea cunoştin-
ţelor şi din generarea mecanismelor de inferenţă asemănătoare raţionamentelor umane.
Nu este deci întâmplător faptul că SF pot fi cel mai uşor implementate în domeniile în
care există o experienţă umană anterioară. Inferenţa este operaţiunea prin care se pro-
duc concluzii, estimări sau previziuni pornind de la un set de premize.
Acum putem defini mai precis noţiunea de controler, ca dispozitiv care materializează
inferenţa în cazul sistemelor de luare de decizii sau generează o lege de conducere într-
un sistem de reglare în buclă închisă.
Din punct de vedere informaţional, structura unui CF cuprinde 3 blocuri fundamentale:
defuzzificarea (interfaţa de intrare), inferenţa şi fuzzificarea (interfaţa de ieşire).

Fig. 3.1. Controler fuzzy într-o buclă de reglare


În funcţie de natura fuzzy sau non-fuzzy a variabilelor de intrare şi ieşire sunt posibile
patru forme de CF, prezentate în tabelul următor. Forma (1), tipică pentru aplicaţiile de
reglare automată se mai numeşte şi regulator fuzzy RF.

10
Informaţia de Informaţia de ieşire
intrare NUMERICĂ FUZZY
NUMERICĂ Sisteme de reglare în Sisteme de asistare a deciziilor
buclă închisă (1) în buclă deschisă (3)
FUZZY Sisteme de reglare în Sist. inteligente de asistare a
buclă închisă (2) deciziilor în buclă deschisă (4)

În cazul RF mărimile de intrare provin de la traductoare iar cele de ieşire se adresează


diferitelor elemente de execuţie.

3.2. Inferenţa. Baze de reguli

Inferenţa este operaţia logică prin care se obţin concluzii valabile pe baza unor premi-
ze. Există mai multe metode de inferenţă cum ar fi modus ponens, modus tollens, raţi-
onamentul ipotetic sau tranzitivitatea. În LF se utilizează principiul modus ponens
(calea prin afirmaţie) care necesită aducerea propoziţiilor la o formă standard numită
formă clauzală. Clauzele uzuale se pot clasifica în clauze cu premise complexe şi con-
secinţă unică:
1) Dacă A1  A2  ...  Am atunci B (2.7)
şi clauze cu premise complexe şi consecinţe alternative:
2) Dacă A1  A2  ...  Am atunci B1  B2  ...  Bn (2.8)
Cea mai potrivită formă de reprezentare a inferenţei este în acest caz tabelul de infe-
renţă MacVicar-Whelan, care elimină riscul omiterii unor regiuni din cadrul dome-
niului de definiţie al variabilelor, dacă este completat corect, fără omiterea unor reguli.
În cazul RF, cea mai populară alegere este regulatorul PD (proporţional-derivativ), care
are ca intrări eroarea de reglare  şi derivata ei ε .

Tabel de inferenţă MacVicar-Whelan pentru un regulator PD


ε E1 E2 E3 E4 E5
ε
DE1 R1 R4 R7 R10 R13
DE2 R2 R5 R8 R11 R14
DE3 R3 R6 R9 R12 R15

11
Pentru  cu cinci TL iar ε cu trei, vom avea un tabel cu 15 reguli de conducere. O
modalitate tipică de alegerii TL care alcătuiesc variabilele de intrare este următoarea:
E1 = negativ mare, E2 = negativ mic, E3 = zero, E4 = pozitiv mic, E4 = pozitiv mare
DE1 = pozitiv, DE2 = zero, DE3 = negativ
Principala sarcină a proiectantului este în această fază alegerea ieşirilor aferente fiecă-
rei reguli în parte. O regulă specială este regula R8, care corespunde atingerii obiecti-
vului reglării:  = 0 şi ε = 0. Enunţarea acestei reguli este următoarea:
DACĂ  = zero ŞI ε = 0, ATUNCI se activează regula R8
Proiectantul mai trebuie să aibă în vedere două aspecte esenţiale ale inferenţei:
a) Ce funcţii logice sunt folosite pentru inferenţă, în cazul nostru pentru ŞI? Cel mai
frecvent se folosesc operaţiile min-max sau prod-sum.
b) Care va fi efectul regulii activate asupra ieşirii? Pentru aceasta trebuie fuzzyficată şi
mărimea de ieşire a controlerului, care în cazul RF este mărimea de comandă.
Pentru sistemele expert de asistare a deciziilor, în care numărul de reguli este foarte
mare iar regulile sunt formulate de experţi pe baze euristice, se folosesc protocoale de
reguli (liste) care sunt de obicei supuse unor modificări continue. Astfel de protocoale
de reguli sunt elaborate de medici, economişti, etc.

3.3. Controlere Mamdani şi Sugeno

Dacă ieşirea este fuzzificată în acelaşi mod ca şi intrările, utilizând TL modelaţi prin
MF, atunci controlerul este de tipul Mamdani, purtând numele celui care a realizat
prima aplicaţie practică a RF.
O variantă simplificată a acestei versiuni de bază a fost propusă de Michio Sugeno,
care a propus fuzzificarea mărimii de ieşire utilizând exclusiv singletonuri. CF nu-şi
pierde în acest fel caracterul fuzzy, dar implementările se simplifică semnificativ.

Desfăşurarea lucrării
Se va proiecta un tabel McVicar-Whelan pentru un regulator PD cu 7 TL pentru eroa-
rea  şi 5 TL pentru derivata erorii ε , adresat unui variator de turaţie pentru un motor
electric. Se va discuta modul de alcătuire a tabelului şi justificarea fiecărei reguli în
parte.

12
4. Defuzzificări MOM şi COG

4.1. Defuzzificarea

Ultima, dar nu şi cea mai puţin importantă dintre operaţiile dintr-un FC este defuzzifi-
carea, prin care mulţimea fuzzy obţinută prin inferenţă este transformată într-o mărime
fermă şi transferată ieşirii. Necesitatea defuzzificării apare pentru că mai multe reguli
pot fi active în acelaşi timp, fiind necesară fie alegerea uneia singure dintre ele, fie sin-
tetizarea unei ieşiri care să ţină cont într-o anumită măsură de fiecare dintre ele.
Dacă în cazul fuzzificării şi a inferenţei există aproape un consens asupra utilizării par-
tiţiilor fuzzy modelate prin forme triunghiulare sau trapezoidale, respectiv asupra me-
todei min-max, în cazul defuzzificării există două metode de defuzzificare cu o popu-
laritate largă, MOM (mean-of-maxima) şi COG (center-of-gravity), fiecare la rândul ei
prezentând mai multe variante. Alegerea metodei de defuzzificare se face în funcţie de
mai multe criterii, dintre care cele mai importante sunt:
 caracteristicile MF de ieşire Y = {y1 , y2 , ... yn} şi ale elementului de execuţie;
 viteza cerută de aplicaţie şi capacitatea de calcul disponibilă.

4.1. Defuzzificările MOM

Metoda maximului constă din atribuirea pentru ieşirea fermă yo a valorii obţinută prin
alegerea elementului cu cel mai înalt grad de apartenenţă din componenţa MF de
ieşire: Y (yo) = max { yi (y) yY, i=1 ... n }.

Mamdani Sugeno

Fig. 4.1. Exemple de defuzzificare după metoda maximului

13
La stabilirea acestei valori concurează toate VL active yi, fiind aleasă doar cea având
contribuţia cea mai puternică. Metoda se poate aplica numai în cazul în care se poate
stabili o valoare unică yo, adică atunci când Y are în componenţă MF triunghiulare sau
singleton-uri. În cazul în care există mai multe MF având grade de apartenenţă maxime
cu valori egale se poate alege la întâmplare una dintre ele sau se poate face media valo-
rilor ferme rezultate din fiecare. În cazul în care Y(y) nu prezintă maxime punctuale
(de exemplu în cazul formelor trapezoidale), se pot aplica variantele: primul dintre
maxime FOM (first of maxima), ultimul dintre maxime LOM (last of maxima) sau mij-
locul maximelor MOM.

4.3. Defuzzificările COG

Metoda centrelor de greutate COG este metoda de defuzzificare cea mai sensibilă,
care ţine seama, într-o manieră ponderată, de influenţa fiecărui termen lingvistic al ieşi-
rii, considerând toate valorile posibile pentru gradele de apartenenţă. Prin COG dome-
niul valorilor discrete de ieşire devine continuu.

Fig. 4.2. O comparaţie între defuzzificările MOM şi COG


După cum se vede în fig. 4.2 COG este influenţată şi de VL y1, valoarea comenzii de
la ieşire fiind mai mică decât în cazul MOM, care ţine seama numai de y2.
Diferite variante ale metodei COG caută să atenueze dezavantajul volumului mare de
calcule cerute de aceasta:
 Centrul sumei ariilor COS (engl. center of sums), spre deosebire de metoda COG
standard care ia în calcul aria graficului funcţiei de apartenenţă, va admite calculul
separat al centrelor de greutate ale fiecărei VL activate, rezultatul final fiind obţinut
prin compunerea rezultatelor parţiale. In acest mod calculul suprafeţelor este uşurat,
dar zonele care sunt acoperite de mai multe VL vor fi luate de mai multe ori în calcul.
 Centrul celei mai mari arii CLA (engl. center of largest aria) se poate aplica de ase-
menea, atunci când funcţia de apartenenţă Y(y) nu este convexă dar în componenţa sa
pot fi identificate porţiuni convexe semnificative.

14
Desfăşurarea lucrării
Pentru exemplul din fig. 4.3 se vor calcula următoarele defuzzyficări: FOM, LOM,
MOM, COG şi COS.

Y
1
0,7
0,5

0 Y
1 2 4 5
Fig. 4.3. Rezultatul unei inferenţe fuzzy

15
5. Tutorial Fuzzy Inference System

5.1. Lansarea FIS

Principalul instrument din MATLAB prin care se pot construi sisteme fuzzy este inter-
faţa grafică (graphic user interface) numită Fuzzy Inference System FIS. FIS aparţine
toolkit-ului Fuzzy Toolbox din componenţa pachetului MATLAB. FIS poate fi lansată
fie din fereastra de comenzi (command window) tastând fuzzy, fie din SIMULINK.
Editorul FIS afişează pe fiecare dintre cele trei elemente ale unui SF generic: fuzzifica-
rea, inferenţa şi defuzzificarea. Fereastra principală FIS este prezentată în Fig. 5.1.

Fig. 5.1. Fereastra principală FIS

La deschiderea FIS-ului sunt implicite o variabilă de intrare input 1, una de ieşire out-
put 1 şi blocul de inferenţă Mamdani. Aşa cum vom vedea, inferenţa Mamdani poate
fi înlocuită cu inferenţa Sugeno.
Numele variabilelor selectate poate fi tastat în căsuţa de dialog Name.

16
5.2. Fuzzificarea
Blocul de fuzzificare primeşte la intrare valori ferme şi oferă la ieşire valori fuzzy.
Variabilele fuzzy sunt construite sub forma de cadre cognitive sau de partiţii fuzzy.
Setarea unei variabile de intrare începe printr-un dublu click pe pictograma variabilei.
Pentru input 1 se va activa editorul de funcţii de apartenenţă din figura următoare.

Fig. 5.2. Variabila de intrare input 1


Comenzile necesare pentru editare se găsesc în meniul Edit al acestei ferestre. Tastând
comanda Add MFs obţinem o căsuţă de dialog cu opţiunile necesare: numărul de ter-
meni lingvistici TL şi formele funcţiilor de apartenenţă fiecăruia. Pentru formele func-
ţiilor de apartenenţă există mai multe opţiuni:
trimf (triunghiulară),
trapmf (trapezoidală),
gaussmf (gauss), etc.
Utilizatorul poate defini şi funcţii de apartenenţă proprii, de tip custom.
Dacă dorim să construim o variabilă cu 5 TL vom obţine următoarea fereastră.

17
Fig. 5.3. Partiţia fuzzy aferentă unei variabile de intrare
Fiecare funcţie de apartenenţă poate fi acum editată. Parametrii formei (în cazul triun-
ghiului, cele trei puncte marcate în Fig. 5.3) pot fi tastate în căsuţa Params sau pozi-
ţionate cu ajutorul mouse-ului. Fiecare MF poate fi etichetată prin căsuţa Name. De
exemplu, în loc de mf1, mf2, mf3, mf4 şi mf5 putem tasta zero, small, medium, great
şi very great. Domeniul variabilei poate fi de asemenea definit cu ajutorul căsuţei de
dialog Range. De exemplu, dacă dorim să fuzzificăm variabila glicemie (concentraţia
de zahăr din sânge), domeniul de definiţie ar trebui schimbat de la [0 1] cum este cel
implicit din Fig. 5.3 la [0 200].
Părţi din domeniul de definiţie pot fi selectate pentru afişare cu ajutorul căsuţei display
range. O recomandare importantă: domeniul de definiţie al variabilelor fuzzy trebuie
să fie mai extins decât cel cerut de aplicaţie. În caz contrar, unele dintre metodele de
inferenţă pot produce erori în vecinătatea limitelor domeniului! Aceasta se realizează
dacă range este mai larg decât display range iar funcţia de apartenenţă are valoarea 1
în exteriorul valorilor din display range, care defineşte de fapt domeniul aplicaţiei.
Noi variabile de intrare pot fi adăugate prin meniul Edit din fereastra principală FIS
utilizând comanda Add input.

18
5.3. Defuzzificarea
Etapa de defuzzificare produce valori ferme pornind de la valori fuzzy. Această ope-
raţie, opusă fuzzificării, este necesară doar când avem nevoie de valori ferme la ieşire,
de exemplu în cazul sistemelor de reglare (viteză, poziţie, presiune, etc). Când sistemul
fuzzy trebuie să producă ieşiri lingvistice, de exemplu în cazul sistemelor de decizie de
tipul expert, defuzzificarea nu mai este necesară şi ieşirea poate rămâne ca variabilă
fuzzy.
FIS poate produce inferenţe atât de tip Mamdani cât şi de tip Sugeno. Aşa cum se ob-
servă în §5.4, regulile de conducere ale inferenţei pot avea ca rezultat fie valori fuzzy
în cazul inferenţei Mamdani, fie valori ferme în cazul inferenţei Sugeno. Evident siste-
mele fuzzy de tip Sugeno sunt mai simple decât cele de tip Mamdani. De aceea infe-
renţa Sugeno este recomandabilă când la ieşire avem nevoie de valori ferme. Când la
ieşire avem nevoie de valori lingvistice inferenţa Mamdani este singura posibilă. Ale-
gerea tipului de inferenţă trebuie făcută chiar la începutul aplicaţiei, din fereastra prin-
cipală FIS¸ prin meniul File: fie New Mamdani FIS, fie New Sugeno FIS.

Fig. 5.4. Fuzzificarea Mamdani

19
Fuzzificarea Mamdani este ilustrată în Fig. 5.4 pentru cazul unui CC cu trei VL de
formă Gauss-iană mf1, mf2 şi mf3.
Sistemul Sugeno este ilustrat în Fig. 5.4, pentru cazul unei variabile de ieşire cu trei TL
definită în domeniul [0 1]: zero (singletonul 0), small (singletonul 0.5, cel selectat în
figură) şi great (singletonul 1).

Fig. 5.5. Fuzzificarea Sugeno


Metoda de defuzzificare se allege din fereastra principală FIS (Fig. 5.1). Putem alege
între defuzzificarea de tip COG (centroid în terminologia FIS) şi defuzzificarea MOM
(Mean of Maxima).

20
5.4. Inferenţa fuzzy
Partea centrală a unui sistem fuzzy constă din mecanismul său de inferenţă, care este
realizat de către baza de reguli. Blocul de inferenţă permite scrierea rapidă şi uşoară a
regulilor printr-un tabel McVicar-Whelan. Tipul inferenţei este specificat prin alegerea
normei t (and method) şi normei s (or method) în fereastra principală FIS (Fig. 5.1).

Fig. 5.6. Fereastra de inferenţă FIS

Aşa cum se poate vedea în Fig. 5.5 blocul conţine butoane de editare care permit adău-
garea de reguli noi Add rule precum şi ştergerea Delete rule sau modificarea regulilor
existente Change rule. La formularea regulilor se pot utiliza şi opţiunile not pentru
complementare şi none atunci când variabila respectivă nu este implicată. Totodată se
poate alege între formele conjunctivă and sau disjunctivă or.
Două instrumente importante pentru aplicaţii, care vor fi utilizate în cele ce urmează se
pot accesa din meniul View:
- View rules prin care se văd în timp real regulile activate şi gradul lor de activare;
- View surface prin care se vizualizează suprafaţa de comandă realizată de aplicaţie.

21
5.5. Posibilităţi de utilizare a FIS
O primă observaţie extrem de utilă este aceea că în general aplicaţiile Matlab, şi mai
ales FIS, necesită o atenţie deosebită la salvarea fişierelor. Opţiunile de salvare se gă-
sesc ca de obicei în meniul File. Aplicaţiile FIS sunt salvate ca fişiere cu extensia *.fis,
pe hard disk, pe dispozitive externe sau în workspace. În această situaţie, la terminarea
sesiunii de lucru este necesară şi salvarea workspace-ului, ca fişier *.mat.
Cea mai directă variantă de utilizare a FIS este prin intermediul ferestrei de comenzi
(command window). Pentru aceasta toolbox-ul fuzzy include un set larg de comenzi
aferente FIS: evalfis, ruleviewer, gensurf, readfis, etc. prin care se pot accesa şi ajusta
toate componentele FIS. Sintaxa lor poate fi studiată cu ajutorul comenzii Help.
Ce mai productivă modalitate de lucru cu FIS este însă obţinută prin Simulink-Matlab.
Tool-kit-ul Simulink permite modelarea vizuală pe calculator, prin tehnica drag-and-
drop, astfel încât aplicaţiile pot fi realizate extrem de eficient. În acest fel fişierele *.fis
pot fi incluse în modelele Simulink şi pot fi testate în aplicaţii beneficiind de biblioteca
de funcţii predefinite care a plasat Simulink pe poziţia dominantă a segmentului său de
piaţă.

Fig. 5.7. Funcţiile disponibile în biblioteca Fuzzy Logic Toolbox din Simulink

22
Pentru a putea utiliza cele două controlere disponibile Fuzzy Logic Controller şi Fuzzy
Logic Controller with Ruleviewer trebuie ca fişierul *.fis să fie instalat în workspace.
Controlerului Simulink este asociat fişierului *.fis cu ajutorul căsuţei de dialog care
apare în urma unui dublu click. În căsuţă trebuie tastat numele fişierului *.fis din work-
space.
Blocurile Fuzzy Logic Controller au o singură intrare, motiv pentru care vom apela şi la
un bloc de multiplexare Mux. Ordinea în care apar variabilele de intrare în FIS, de sus
în jos, trebuie respectată şi la conectarea multiplexorului.

Desfăşurarea lucrării
Se vor testa toate comenzile accesibile din FIS.

23
6. Implementarea FIS a unor regulatoare fuzzy PD
6.1. Formularea temei lucrării
În cele ce urmează se va realiza un regulator fuzzy de tip PD, atât în varianta Mamdani
cât şi în varianta Sugeno. Configuraţia acestui regulator este următoarea:
 Intrări: eroarea e, şi derivata erorii de
 Ieşire: comanda c
Fuzzificarea va fi realizată după următoarea formulă:
 pentru intrarea e, şapte TL: NG, NM, NS ,Z ,PS ,PM şi PG
 pentru intrarea de, cinci TL: NG, NS, Z, PS şi PG
 pentru ieşirea c: cinci TL - NG, NS, Z, PS şi PG
Etichetele lingvistice utilizate sunt tradiţionale:
NG – negative great/negativ mare
NM – negative medium/negativ mediu
NS – negative small/negativ mic
Z – zero/zero
PS – positive small/pozitiv mic
PM – positive medium/pozitiv mediu
PG – positive great/pozitiv mare.
Se vor utiliza exclusiv variabile normalizate, adaptarea la procesul condus realizându-
se prin trei factori de scalare: factorul de scalare pentru eroare FSe, factorul de scalare
pentru derivata erorii FSde şi factorul de scalare pentru comandă FSc.

Fig. 6.1. Factorii de scalare ai regulatorului

Scopul final al acestui proiect este realizarea unui regulator de uz general care să poată
funcţiona într-o gamă largă de aplicaţii. El va fi testat în urma implementării Simulink
pentru diferite procese conduse.

24
6.2. Implementarea regulatorului Mamdani
Fuzzificarea variabilelor este prezentată în figura următoare.

Fig. 6.2. Fuzzificarea

25
Baza de reguli propusă este următoarea:

1. If (e is NG) then (c is PG)


2. If (e is NM) and (de is NG) then (c is PG)
3. If (e is NM) and (de is NS) then (c is PG)
4. If (e is NM) and (de is Z) then (c is PS)
5. If (e is NM) and (de is PS) then (c is PS)
6. If (e is NM) and (de is PG) then (c is Z)
7. If (e is NS) and (de is NG) then (c is PG)
8. If (e is NS) and (de is NS) then (c is PS)
9. If (e is NS) and (de is Z) then (c is PS)
10. If (e is NS) and (de is PS) then (c is Z)
11. If (e is NS) and (de is PG) then (c is NS)
12. If (e is Z) and (de is NG) then (c is PS)
13. If (e is Z) and (de is NS) then (c is PS)
14. If (e is Z) and (de is Z) then (c is Z)
15. If (e is Z) and (de is PS) then (c is NS)
16. If (e is Z) and (de is PG) then (c is NS)
17. If (e is PS) and (de is NG) then (c is PS)
18. If (e is PS) and (de is NS) then (c is Z)
19. If (e is PS) and (de is Z) then (c is NS)
20. If (e is PS) and (de is PS) then (c is NS)
21. If (e is PS) and (de is PG) then (c is NG)
22. If (e is PM) and (de is NG) then (c is Z)
23. If (e is PM) and (de is NS) then (c is NS)
24. If (e is PM) and (de is Z) then (c is NS)
25. If (e is PM) and (de is PS) then (c is NG)
26. If (e is PM) and (de is PG) then (c is NG)
27. If (e is PG) then (c is NG)
Deşi nu avem decât 27 de reguli, baza de reguli corespunde unui tabel de 35 de reguli,
deoarece regulile 1 şi 27 au fost editate cu ajutorul opţiunii none: indiferent de valoa-
rea variabilei de, starea ieşirii este decisă doar de către e.
Suprafaţa de comandă realizată prin defuzzificarea COG este prezentată în Fig. 6.3.
Defuzzificarea MOM produce suprafaţa de comandă din Fig. 6.4.

Observaţie: Regulile au fost formulate conform logicii lingvistice „dacă eroarea are un
anumit semn, atunci comanda trebuie să fie de sens opus”. De exemplu dacă (e este
NG) atunci (c este PG). Din acest motiv semnul comenzii c trebuie schimbat (se înmul-
ţeşte cu constanta -1).

26
Fig. 6.3. Suprafaţa de comandă cu defuzzificare COG

Fig. 6.4. Suprafaţa de comandă cu defuzzificare MOM

Se remarcă faptul că suprafaţa de comandă generată prin defuzzificarea COG este mai
netedă comparativ cu defuzzificarea MOM.
Cu cât mai multe reguli există în baza de reguli, cu atât mai multe puncte de fixare a
suprafeţei de comandă avem la dispoziţie, dar pe de altă parte implementarea este mai
greoaie.
Implementarea Simulink este prezentată în Fig. 6.5. Schimbarea semului comenzii
datorată formulării regulilor se realizează prin factorul de scalare FSc. Blocul de
saturare care limitează acţiunea regulatorului are limitele ±10.

27
FSe
e
1 c 1
-10
Step du/dt 1 s2 +2s+1
de FSc Saturation Transfer Fcn Scope
Derivative FSde Fuzzy Logic
Controller
with Ruleviewer out

Fig. 6.5. Implementarea Simulink a regulatorului fuzzy PD


Răspunsul indicial din figura următoare ilustrează comportarea sistemului. Notaţiile
folosite sunt: intrarea u, ieşirea out şi comanda c.

out
u, out

0.5

0
0 1 2 3 4 5 6 7 8 9 10

10

5
c

-5
0 1 2 3 4 5 6 7 8 9 10
t [s]
Fig. 6.6. Răspunsul indicial al regulatorului Mamdani cu baza de reguli 7 x 5
Se remarcă eroarea staţionară precum şi chattering-ul care afectează regimul staţionar,
datorate lipsei efectului integrativ. Pe de altă parte regimul tranzitoriu este ferm, fără
suprareglaje sau oscilaţii.

6.3. Implementarea regulatorului Sugeno


În această secţiune regulatorul Mamdani va fi comparat cu un regulator Sugeno, mai
simplu, care diferă doar la fuzzificarea variabilei/variabilelor de ieşire, care se face
doar prin singletonuri. Orice controler Mamdani poate fi convertit automat într-un
controler Sugeno prin comanda mam2sug lansată din fereastra de comandă MATLAB.

28
În plus reducem baza de reguli la dimensiunea 5 x 5, utilizând numai 5 TL pentru e.

Fig. 6.7. Fuzzificarea regulatorului PD Sugeno; de este identic cu e


1. If (e is NG) then (c is PG)
2. If (e is NS) and (de is NG) then (c is PG)
3. If (e is NS) and (de is NS) then (c is PG)
4. If (e is NS) and (de is Z) then (c is PS)
5. If (e is NS) and (de is PS) then (c is Z)
6. If (e is NS) and (de is PG) then (c is NS)
7. If (e is Z) and (de is NG) then (c is PG)
8. If (e is Z) and (de is NS) then (c is PS)
9. If (e is Z) and (de is Z) then (c is Z)
10. If (e is Z) and (de is PS) then (c is NS)
11. If (e is Z) and (de is PG) then (c is NG)
12. If (e is PS) and (de is NG) then (c is PS)
13. If (e is PS) and (de is NS) then (c is Z)
14. If (e is PS) and (de is Z) then (c is NS)
15. If (e is PS) and (de is PS) then (c is NG)
16. If (e is PS) and (de is PG) then (c is NG)
17. If (e is PG) then (c is NG)
Fig. 6.8. Baza de reguli a regulatorului PD Sugeno
Suprafaţa de comandă rezultată este prezentată în figura următoare.

29
Fig. 6.9. Suprafaţa de comandă a regulatorului PD Sugeno
Se remarcă o asemănare în linii mari cu suprafaţa de comandă a regulatorului Mamdani
care are însă mai multe puncte de ajustare. Răspunsul indicial este foarte asemănător cu
cel din Fig. 6.6, al regulatorului Mamdani cu baza de reguli de dimensiune 7 x 5. Acest
fapt justifică utilizarea regulatorului Sugeno în aplicaţiile de reglare în buclă închisă,
deoarece este mai simplu şi mai rapid decât regulatorul Mamdani, în timp ce perfor-
manţele lor sunt perfect comparabile. Se remarcă lipsa chatteringului, asociată însă cu
o eroare staţionară mai mare, comportament cauzat de reducerea bazei de reguli.
1
u, out

0.5

0
0 1 2 3 4 5 6 7 8 9 10

10

0
c

-5

-10
0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 6.10. Răspunsul indicial al regulatorului Sugeno cu baza de reguli 5 x 5

Desfăşurarea lucrării
Studenţii vor reface individual această lucrare.

30
7. Controlere fuzzy-interpolative
7.1. Sistemele fuzzy-interpolative
În urma executării simulărilor cu fişiere de tip *.fis se observă că în general simulările
necesită mult timp iar în unele cazuri se produc chiar blocaje, în funcţie şi de configu-
raţia calculatorului şi de parametrii aleşi pentru simulare (metoda de integrare, erori
admisibile, etc.) şi de parametrii sistemului de reglare. O metodă eficace de înlăturare a
cestui aspect, fără însă a renunţa la avantajul fundamental al sistemelor fuzzy, adică la
reprezentarea lingvistică, este apelul la conceptul de sistem fuzzy-interpolativ SFI.
Un SFI este un sistem fuzzy care poate fi direct echivalat cu un tabel de căutare TC cu
interpolare liniară (look-up-table LUT). Un TC este una dintre structurile de date cele
mai des întâlnite în ştiinţa calculatoarelor, constând dintr-o arie n–dimensională sau o
arie asociativă n–dimensională. Utilizarea TC în locul altor algoritmi de calcul al func-
ţiilor algebrice, ca de exemplu seria Taylor, necesită o capacitate mare de memorie, dar
oferă în schimb o accelerare semnificativă a calculului. În esenţă calculul constă din
căutarea în tabel a unor valori şi interpolarea lor, fie prin interpolări spline sau polino-
miale, fie cel mai simplu, prin interpolări liniare. Deoarece capacitatea memoriilor a
crescut continuu, la fel ca şi viteza şi fiabilitatea lor, în timp ce preţul lor este în conti-
nuă scădere, utilizarea TC este tot mai populară.
În aplicaţiile noastre vom apela la un TC bidimensional cu două intrări e şi de şi o ieşi-
re c. În cazul regulatorului Mamdani TC poate fi modelat printr-o matrice cu dimensiu-
nea 7 x 5 iar in cazul regulatorului Sugeno printr-o matrice cu dimensiunea 5 x 5. Un
astfel de TC este disponibil în Simulink sub forma prezentată în Fig. 7.1.

Fig. 7.1. Tabelul de căutare bidimensional din biblioteca Simulink

31
Coordonatele nodurilor de interpolare sunt fixate de valorile numerice înscrise în vec-
torii corespunzători celor două intrări row şi column iar valorile din tabel table data
definesc ieşirile tabelului. Valorile vectorilor de intrare trebuie înscrise în ordine cres-
cătoare. Dacă intrările depăşesc domeniul de definiţie calculul ieşirii se poate face fie
prin extrapolare fie prin limitare (păstrarea înafara tabelului a valorilor marginale).

Fig. 7.2. Ilustrarea funcţionării unui regulator PD fuzzy-interpolativ

32
Trecerea de la cazul bidimensional PD mai uşor de reprezentat mental la cazurile n-
dimensionale, de exemplu la regulatorul tridimensional de tip PID, se poate ilustra prin
figura următoare, în care regulatoarele PD pot fi asemănate cu paginile unei cărţi.

Fig. 7.3. Regulatorul fuzzy-interpolativ PID

Sintaxa care trebuie respectată în această situaţie este următoarea:


table: cat(3, [pagina e<0], [pagina e=0], [pagina e>0])

7.2. Implementările fuzzy-interpolative


Implementările fuzzy-interpolative ale regulatoarelor PD Mamdani cu 35 de reguli şi
Sugeno cu 25 de reguli prezentate anterior sunt următoarele:
Regulatorul Mamdani:
row (e): [-1 -0.3 -0.1 0 0.1 0.3 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 -0.3 0; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3;
-0.3 0 0.3 1 1; 0 0.3 0.3 1 1; 1 1 1 1 1]

Regulatorul Sugeno:
row (e): [-1 -0.1 0 0.1 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3; -0.3 0 0.3 1 1; 1 1 1 1 1]

33
FSe

1
1
25
Step du/dt 1 s2 +2s+1
FSc Saturation Transfer Fcn Scope
Derivative FSde Lookup
Table (2-D)

Fig. 7.4. Implementarea Simulink a regulatorului PD fuzzy-interpolativ (7 x 5)

34
După implementarea celor două regulatoare se poate constata cu uşurinţă că simulările
nu mai ridică absolut nici o problemă computaţională, ele se derulează practic instan-
taneu, fără riscul blocajelor. Spre deosebire de cazul utilizării fişierului *.fis în care
pentru anumite valori ale parametrilor sistemului de reglare se produc blocaje, acum
putem încerca orice combinaţie de parametri ai sistemului de reglare, de exemplu creş-
terea factorului de scalare de la ieşire de la 10 ca şi în Fig. 3.5 la 25. Comportarea regu-
latoarelor cu 35 şi cu 25 de reguli la un semnal de test reprezentat cu linie întreruptă se
poate analiza în figurile următoare.

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 7.5. Un răspuns în timp al regulatorului PD fuzzy cu 35 de reguli

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 7.6. Un răspuns în timp al regulatorului PD fuzzy cu 25 de reguli

35
Se remarcă marea asemănare dintre cele două răspunsuri în timp, argument în favoarea
utilizării variantei mai simple, cu 25 de reguli. Numărul de reguli în sine este însă mai
puţin relevant decât modul în care aceste reguli sunt formulate şi ajustate. După cum se
observă, răspunsurile suportă multe îmbunătăţiri.
Diferenţa majoră a regulatoarelor fuzzy faţă de regulatoarele convenţionale este numă-
rul mult mai mare de mecanisme de ajustare care pot influenţa performanţele. Aceasta
le oferă un avantaj fundamental, mai ales în aplicaţiile dificile sau despre care nu avem
cunoştinţe suficiente pentru a le trata în mod optimal, dar pe de altă parte presupune o
ajustare mai laborioasă. Dacă în cazul unui regulator PD liniar sunt doar doi parametri
de ajustare, la care putem adăuga factorii de scalare de la intrare, în cazul regulatorului
fuzzy-interpolativ putem identifica cel puţin următorii parametri de ajustare: factorul
de scalare de la ieşire FSc, fuzzificarea de la intrare care cuprinde 25 de noduri de
interpolare şi fuzzificarea de la ieşire cu 5 valori. În cazul unui sistem fuzzy obişnuit
mai intervin şi formele funcţiilor de apartenenţă, prin posibilitatea utilizării funcţiilor
Gauss, sigmoidale, etc.
În figura următoare se prezintă rezultatele unei ajustări orientate în direcţia reducerii
suprareglajelor din Fig. 7.6, alte obiective fiind la fel de uşor de atins.

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 7.6. Un răspuns în timp cu minimizarea suprareglajelor

Desfăşurarea lucrării
Studenţii sunt invitaţi să încerce diferitele mecanisme de ajustare posibile şi efectele lor
asupra performanţelor regulatorului fuzzy-interpolativ.

36
8. Regulatoare neuro-fuzzy realizate în ANFIS
8.1. Introducere în reţelele neuronale
Mulţimea de posibilităţi de ajustare a controlerelor fuzzy creează complicaţii, care se
pot evita prin automatizarea elaborării relaţiei fuzzy. Sinteza automată sau chiar auto-
sinteza sistemelor de comandă poate fi obţinută prin metode ale inteligenţei artificiale.
Ce mai promiţătoare abordare constă din fuzionarea logicii fuzzy cu reţelele neuronale
RN. În această abordare mulţimile fuzzy sunt utilizate în reprezentarea cunoştinţelor,
în timp ce reţelele neuronale sintetizează regulile fuzzy prin învăţare pe bază de exem-
ple. Controlerele neuro-fuzzy astfel obţinute sunt capabile de a rezolva unele dintre
cele mai complicate sarcini, cum ar fi recunoaşterea imaginilor, fără intervenţia sub-
stanţială a omului.
RN sunt alcătuite din mulţimi de elemente de prelucrare a informaţiei - neuroni - inter-
conectaţi într-o reţea. Un neuron i are n intrări, x1i, x2i, ... , xni şi o ieşire yi, fiecare
aparţinând mulţimii numerelor reale. O legătură ieşire-intrare dintre nodurile reţelei
este reprezentată prin ponderea sinaptică, valoare reală care ponderează efectul semna-
lului de intrare în neuronul receptor. Neuronul va fi afectat de n ponderi sinaptice: w1i,
w2i, ... , wni. Ponderile pot fi excitatoare dacă wi > 0 sau inhibatoare dacă wi < 0. Acti-
varea neuronului se defineşte prin suma ponderată a semnalelor de intrare:
n
S =  wji xji (8.1)
j=1

Ieşirea neuronului va fi dată de funcţia neuronală (de ieşire) yi = f(s), care poate avea
diferite forme: treaptă, rampă, funcţii sigmoidale, etc.
Neuronii sunt aranjaţi în straturi, capacitatea de reprezentare a reţelei depinzând de
mărimea şi de numărul straturilor. Dacă funcţiile neuronale sunt norme t sau s se obţin
neuroni logici de tip AND şi OR. Cu aceştia se pot construi reţele multistrat capabile
să modeleze o mare varietate de funcţii logice. O astfel de structură (denumită şi pro-
cesor logic), rezultată prin analogie cu logica booleeană a fost propusă de K. Hirota şi
W. Pedrycz în 1991. Ea cuprinde trei straturi de neuroni (de intrare, de ieşire şi stratul
ascuns), fiecare strat conţinând neuroni de acelaşi tip.
Controlerul neuro-fuzzy poate fi grefat pe procesorul logic neuronal, fiecare variabilă
de intrare reprezentând gradul de apartenenţă a unei mărimi de intrare la TL corespun-
zător din CC aferent mărimii respective. Prin topologia lor, sinapsele codifică regulile
de conducere de tip dacă ...atunci. În cazul procesorului logic de mai sus, fiecare nod
din stratul intermediar poate fi considerat ca şi corespunzând unei clauze, fiind analog
unui minitermen din cazul exprimării analitice prin forma canonică disjunctivă a func-
ţiilor logice. În cazul general cunoştinţele sunt “împărţite” între neuroni şi sinapse,
astfel că este cvasi-imposibilă exprimarea inteligibilă a relaţiei fuzzy conţinută în reţea.

37
AND

x1
AND OR
Variabile de intrare y
Ieşire
x2 AND

Strat de intrare Strat ascuns Strat de ieşire

Fig. 8.1 Procesor logic cu reţea neuronală

RN sunt capabile de a învăţa pe bază de exemple. Exemplele constau din seturi de mă-
rimi de intrare şi mărimile de ieşire pe care dorim să le obţinem în cazul acelor intrări.
Învăţarea este de tip parametric, constând din ajustarea ponderilor sinaptice, astfel încât
un anumit indice de performanţă (de exemplu distanţa euclidiană) să fie optimizat.
Dintre parametrii algoritmilor de învăţare, esenţiali sunt convergenţa, fără de care nu s-
ar obţine soluţii şi factorul de învăţare indicând viteza de soluţionare.

N
Intrare 1
Z

P Ieşire

N
Intrare 2
Z
Evaluarea regulilor
P şi defuzzificarea

Fuzzificarea Baza de reguli

Fig. 8.2 Controler neuro-fuzzy

38
8.2. Descrierea toolkitului ANFIS
Tool-kit-ul destinat implementării sistemelor neoro-fuzzy în Matlab se numeşte ANFIS
(adaptive neuro-fuzzy inference system). Fiind dat un set de date intrare-ieşire de antre-
nare, ANFIS generează un fişier de tip *.fis având parametrii astfel ajustaţi încât să
producă un răspuns identic cu datele de antrenare. Învăţarea se realizează fie printr-un
algoritm de tip backpropagation fie printr-o variantă a metodei celor mai mici pătrate.

Metodele de tip backpropagation urmează următoarele etape:


1. Se introduce în RN setul de date de antrenare.
2. Se compară ieşirile calculate cu setul de date de antrenare. Se calculează erorile
pentru fiecare dintre neuronii de ieşire.
3. Pentru fiecare neuron de ieşire se calculează o valoare şi un factor de scalare, care
ar produce ieşirea dorită pentru întreaga reţea. Pe baza aceasta se calculează erorile
locale la nivelul fiecărui neuron de ieşire.
4. Se ajustează ponderile fiecărui neuron în sensul scăderii erorilor locale.
5. Neuronii din stratul precedent care produc cele mai mari erori locale sunt ponderaţi
în sensul scăderii ponderii lor.
6. Se repetă etapele 3, 4 şi 5 asupra neuronilor din stratul anterior.

Tool-kit-ul ANFIS are un caracter preponderant didactic, prezentând o serie de limitări:


• Se aplică numai sistemelor Sugeno cu funcţii de apartenenţă liniare sau singleton;
• Se aplică numai sistemelor cu o singură ieşire;
• Nu suportă funcţii de apartenenţă, norme t-s sau defuzzyficări definite de utilizator;

Lansarea toolkit-ului se face prin comanda anfisedit, obţinându-se interfaţa grafică din
figura 5.3. Rolul principalelor elemente de acţionare este prezentat în figură.
Operaţiile pe care interfaţa ANFIS le poate executa sunt următoarele:
- Încărcarea datelor de antrenare, testare şi verificare, sub controlul comenzilor din
zona Load Data.
- Generarea sau încărcarea unui model iniţial FIS cu comenzile din zona Generate FIS.
- Vizualizarea modelului FIS (atât cel iniţial cât şi cel rezultat în urma antrenării reţelei
prin butonul Structure.
- Alegerea parametrilor metodei de optimizare (backpropagation sau hibridă).
- Alegerea numărului de iteraţii de antrenare (traning epochs) şi eroarea de antrenare.
- Antrenarea reţelei neuronale, comandată prin butonul Train Now. Procesul iterativ de
învăţare automată ajustează parametrii FIS-ului. Se afişează erorile fiecărei iteraţii.

39
Operaţii Undo Deschidere Zona de Afişare parametri:
cu fişire şi editare afişare nr. de intrări/ieşiri
.fis fişire .fis şi funcţii de apar-
tenenţă

Structura
Legendă: intrare/
- Date de testare: linie punctată albastră; ieşire a
- Date de antrenare: linie din o albastre; FIS-ului
- Date de verificare: linie din + albastre;
- Ieşirea FIS-ului: linie din * roşii;
Testarea
FIS-ului
cu datele
de antre-
nare

Introdu-
cerea
datelor
de antre- Ştergere date Încărcare sau gene- Antrenare FIS după setarea
nare de antrenare rare fişier .fis metodei de optimizare

Fig. 8.3. Interfaţa grafică ANFIS

- Ieşirea FIS-ului este vizualizată şi comparată cu datele de antrenare, verificare şi tes-


tare, după acţionarea butonului Test Now.
Prin intermediul barei de meniu ANFIS se pot încărca sau salva fişierele FIS, se poate
deschide un nou controler Sugeno sau accesa alte interfeţe grafice din componenţa
Matlab.

40
8.3. Implementarea ANFIS a unui regulator PD Sugeno
În continuare se va exemplifica optimizarea regulatorului PD Sugeno descris în §3.3 cu
ajutorul ANFIS. În urma încărcării fişierului .fis corespunzător, se obţine reţeaua neu-
ronală din figura 8.4.

Fig. 8.4. Structura RN corespunzătoare regulatorului PD Sugeno

Corespondenţa dintre RN şi controlerul Sugeno este evidentă:


- intrările input corespund erorii e şi derivatei sale de.
- stratul inputmf corespunde termenilor lingvistici rezultaţi prin fuzzificare.
- stratul rule - outputmf asociază câte un neuron fiecărei reguli de conducere.
- ieşirea output corespunde ieşirii controlerului Sugeno.

Principala problemă care se ridică în faţa proiectării unei aplicaţii ANFIS este alegerea
seturilor de date de antrenare, testare şi validare.

41
În vederea optimizării regulatorului fuzzy PD s-a realizat un set de date de antrenare
prin prelevarea datelor obţinute din simularea funcţionării sistemului de reglare pentru
cazul răspunsului indicial. Datele au fost prelevate chiar de la intrările şi ieşirea regula-
torului, deoarece ANFIS generează doar fişierul .fis, el neputând fi extins la întreaga
aplicaţie. A rezultat un fişier de date cu dimensiunea 25 x 3. Parametrii simulării gene-
ratoare de date de antrenare pot fi astfel aleşi încât să reprezinte o îmbunătăţire a func-
ţionării, care nu ar fi putut fi obţinută prin ajustarea manuală. Convergenţa învăţării şi
parametrii ANFIS-ului se observă în fig. 8.5.

Fig. 8.5. Convergenţa învăţării pentru un set de date reprezentând un răspuns indicial

Din păcate regulatorul astfel obţinut produce un răspuns indicial de slabă calitate, cu o
tendinţă înspre suprareglaj şi oscilaţii pe durata regimurilor tranzitorii. Aşa cum se va
observa în continuare, principala cale de îmbunătăţire a calităţii sistemelor neuro-fuzzy
este alegerea unui set de date de antrenare cât mai adecvat.

42
8.4. Sinteza unui regulator neuro-fuzzy
Utilitatea RN stă în sinteza automată a sistemelor şi/sau optimizarea lor. În continuare
se ilustrează sintetizarea unui regulator PD neuro-fuzzy. Se porneşte de la ideea obţi-
nerii unui set de date de antrenare bogat, care să cuprindă o comportare mai nuanţată a
regulatorului PD, respectiv un semnal de intrare mai complex, care pe lângă răspunsul
indicial să mai cuprindă şi alte elemente.

Fig. 8.6. Sistem de reglare cu regulator PD liniar pentru generarea datelor de antrenare

0.9
intrare u
0.8

0.7

0.6

0.5

0.4

0.3
iesire y

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
t [s]
Fig. 8.7. Răspunsul sistemului de reglare cu regulator PD liniar
Fişierul de date de antrenare obţinut are dimensiunea 123 x 3. Reprezentarea grafică a
datelor de antrenare apare în fig. 8.8.

43
1
e

-1
0 20 40 60 80 100 120 140
40

20
de

-20
0 20 40 60 80 100 120 140
40

20
c

-20
0 20 40 60 80 100 120 140

Fig. 8.8. Datele de antrenare


În urma încărcării datelor de antrenare şi a alegerii variantei în care ANFIS va genera
un FIS cu două intrări având 7 respectiv 5 TL (o bază de 7 x 5 reguli), se obţine antre-
narea convergentă din fig. 8.9.

Fig. 8.9 Antrenarea în cazul unei baze de reguli 7 x 5 (linear)

44
Regulatorul PD Sugeno generat de RN este prezentat în figura următoare. Se remarcă
variabila sa de ieşire alcătuită din 35 de valori diferite (singleton), fiecare dintre ele
fiind optimizată în cursul antrenării. În acest caz a fost aleasă opţiunea linear pentru
MF de ieşire.

Fig. 8.10. Regulatorul neuro-fuzzy cu baza de reguli 7 x 5


În cazul alegerii opţiunii constant convergenţa învăţării este chiar mai bună (vezi fig.
8.11), ceea ce nu creşte însă în mod necesar calitatea regulatorului.

45
Fig. 8.11. Antrenarea sistemului neuro-fuzzy cu baza de reguli 7 x 5 (constant)
Răspunsul produs de către regulatorul astfel obţinut este prezentat în fig. 5.12.

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
t [s]

Fig. 8.12. Răspunsul sistemului neuro-fuzzy cu baza de reguli 7 x 5

46
Marele avantaj al RN, capacitatea de învăţare automată, poate fi ilustrată prin varianta
regulatorului cu doar 15 reguli, având baza de reguli cu dimensiunea 5 x 3. Răspunsul
acestui regulator, prezentat în fig. 5.13, foarte asemănător cu răspunsurile regulatoare-
lor mai complicate, justifică alegerea sa pentru aplicaţii, având în vedere simplitatea şi
costul mai redus, la performanţe asemănătoare.

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
t [s]

Fig. 8.13. Răspunsul sistemului neuro-fuzzy cu baza de reguli 5 x 3


Fereastra de dialog prin care se alege structura FIS asociată, în acest caz cu 15 reguli,
precum şi tipul mulţimilor fuzzy de la ieşire, în acest caz linear, este prezentată în figu-
ra următoare. Această fereastră de dialog apare prin acţionarea butonului Generate FIS.

Fig. 8.14. Generarea FIS-ului asociat ANFIS

47
Dezavantajul principal al RN este acela că ele maschează cunoştinţele referitoare la
structura şi ajustarea lor. Din valorile numerice ale TL variabilei de ieşire, ca de altfel
din valorile parametrilor oricărui neuron, nu se poate trage absolut nici o concluzie cu
privire la o eventuală strategie care să le justifice. Aceste valori sunt practic aleatoare,
iar în cazul în care datele de testare sunt mult diferite de cele de antrenare întreaga apli-
caţie poate eşua.

Desfăşurarea lucrării
Această lucrare se constituie într-un îndrumător de proiect. Pornind de la metodologia
prezentată studenţii vor întocmi un proiect de sistem neuro-fuzzy, cu ajutorul tool-kit-
ului ANFIS. Tema proiectului poate fi aleasă din lista următoare, dar studenţii intere-
saţi în alte teme sunt încurajaţi să le abordeze.
 aprofundarea regulatorului PD neuro-fuzzy şi încadrarea sa într-un sistem de reglare
modelat în Simulink: reglarea turaţiei unor motoare electrice, conducerea unui proces
de frânare, conducerea automată a unui automobil, robotică, etc.
 realizarea unui regulator PID neuro-fuzzy
 optimiza unor modele Simulink, etc.

48
9. Sisteme fuzzy expert

9.1. Introducere în sistemele fuzzy-expert


Sistemele expert SE sunt programe de calculator care utilizând cunoştinţe ştiinţifice
exprimate de experţi umani (înglobate în baza de cunoştinţe şi reguli) sunt realizate
pentru rezolvarea unor probleme concrete dintr-un domeniu dat.

9.2. Sisteme fuzzy-expert pentru decizii manageriale


Domeniul managementului este complex, luarea deciziilor de management necesită
analize care deseori dispun doar de informaţii incomplete şi incerte. Deşi celor mai
mulţi dintre manageri le-ar fi greu să recunoască public, deciziile lor sunt preponderent
euristice, având doze mari de intuiţie şi subiectivism. Mulţumită mulţimilor şi logicii
fuzzy aceste procese de decizie, din categoria sistemelor expert, pot fi astăzi uşor de
modelat pe calculator şi de aplicat. Experienţa directă a managerilor poate fi astfel
valorificată în sisteme de decizie automată care reuşesc să pună în valoare avantajul
modului de decizie euristic (intuiţia, asociaţiile de idei creative, experienţa practică,
etc.) înlăturând totodată dezavantajele asociate (greşelile de decizie cauzate de obo-
seală, plictiseală sau alţi factori psihologici perturbatori, etc.)
Vom aplica FIS într-un studiu de caz referitor la alegerea celei mai bune decizii de in-
vestiţie în cazul unei linii de producere şi îmbuteliere a sucurilor naturale. Problema
constă din clasificarea a 10 oferte diferite, primite de la firme din Italia, USA (2), Ger-
mania (2), Olanda, Spania, Franţa, Australia şi Austria. Clasificarea ofertelor este difi-
cilă deoarece parametri ofertelor sunt eterogeni: tehnici, economici dar şi de imagine.
Tabelul 9.1. Parametrii ofertelor
C1 = capacitatea de producţie (hl/h) C4 = timpul de amortizare (ani)
C2 = preţ (Euro) C5 = mentenanţa
C3 = consum de energie (kW/h) C6 = gradul de încredere în producător

C1, C2, C3 şi C4 sunt parametri cantitativi în timp ce C5 şi C6 sunt calitativi.

49
Tabelul 9.2. Variabilele de intrare
Firma Ţara C1 C2 C3 C4 C5 C6
V1 Italia 55 100.500 50 3 medie mediu
V2 USA 75 155.000 65 4 uşoară scăzut
V3 USA 80 175.000 90 4 f. uşoară înalt
V4 Germania 90 180.000 100 5 uşoară f. înalt
V5 Germania 90 195.000 100 6 uşoară medium
V6 Olanda 50 200.000 70 3 f. grea scăzut
V7 Franţa 60 185.000 60 7 f. grea scăzut
V8 Spania 65 205.000 75 7 grea înalt
V9 Australia 55 215.000 95 9 uşoară înalt
V10 Austria 50 165.000 95 9 grea f. scăzut

Pentru fuzzificarea acestor variabile vom alege cea mai simplă posibilitate, respectiv
generarea automată a partiţiilor fuzzy, cu MF triunghiulare. Tot pentru simplitate vom
utiliza doar câte trei TL pentru fiecare variabilă. Domeniile de definiţie ale variabilelor
sunt determinate de valorile minime şi maxime din tabelul A1.2. De exemplu variabila
de intrare C1 (capacitatea) este definită pe segmentul [50 … 90]. Pentru variabilele de
intrare vom folosi trei TL: low, medium şi high iar pentru ieşirea care calculează feza-
bilitatea feasibility [0 … 1] şase TL: very low, low, medium, high şi very high.

Fig. 9.1. Fuzzificarea variabilelor de intrare şi a variabilei de ieşire feasibility

50
Fig. 9.2. Baza de reguli

Fig. 9.3. Funcţionarea într-un model Simulink

51
Scrierea tuturor regulilor posibile într-o astfel de bază de reguli cu 6 variabile a
câtre 5 termeni lingvistici (65 = 7776 reguli) ar fi evident nerealistă. Pentru reducerea
numărului de reguli avem cel puţin două opţiuni: utilizarea opţiunilor “none” din
căsuţa de dialog a bazei de reguli FIS, dar mai ales ierarhizarea variabilelor de intrare
în clustere.

În această aplicaţie vom grupa două câte două variabilele de intrare astfel:
- Nivelul tehnic Tech(C1 xC3),
- Nivelul Economic Eco(C2 x C4)
- Percepţia Subiectivă Subj(C4 x C5).

Fig. 9.4. Controlerul care calculează variabila internă Tech

52
Fig. 9.5. Fereastra de inferenţăcu doar 9 reguli
Controlerul care realizează decizia finală va avea la intrare variabilele Tech,
Eco şi Subj, iar rezultatele obţinute sunt prezentate în Tab. 9.3,

Tabelul 9.3. Rezultate


Vi Feasibility Vi Feasibility
V1 0.6811 V6 0.3757
V2 0.6783 V7 0.3869
V3 0.5913 V8 0.3046
V4 0.5620 V9 0.2492
V5 0.4675 V10 0.1862

Desfăşurarea lucrării
Studenţii vor programa în Matlab aplicaţia descrisă în lucrare.

53

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