Sunteți pe pagina 1din 46

Universitatea Aurel Vlaicu din Arad Facultatea de Inginerie

Marius M. Bla

SISTEME NEURO- FUZZY

ndrumtor de proiect

Cuprins
1. Introducere n Sistemele Fuzzy Hibride 2. Tool-kit-ul Fuzzy Inference System 3. Implementarea FIS a unui regulator PD 4. Regulatoarele fuzzy-interpolative 5. Regulatoarele neuro-fuzzy

1. Introducere n Sistemele Fuzzy Hibride


1.1. Sisteme inteligente hibride
Sistemele inteligente hibride fac parte din categoria sistemelor Soft Computing. Ele combin diferite metode i tehnici provenite din subdomenii ale Inteligenei Artificiale, cu scopul de a obine n urma hibridizrii performane mai bune dect ale fiecrei dintre componente, luate n parte. Cteva astfel de realizri sunt: sistemele neuro-fuzzy, sistemele fuzzy-expert, sistemele conexionist-expert, sisteme evolutiv-neuronale, sistemele 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. Explicaia acestui fapt rezult din studiul sistemelor fuzzy: a) Teoria mulimilor fuzzy permite cea mai avantajoas reprezentare matematic i pe calculator a cunotinelor exprimabile lingvistic, cu care opereaz de regul raionamentele umane; b) Teoria mulimilor fuzzy n sine nu ofer soluiile concrete ale aplicaiilor; Aa cum se va observa n continuare, un sistem fuzzy poate fi considerat ca o form particular de sistem expert, alctuit dintr-o baz de reguli de tipul Dac atunci a cror modelare i prelucrare logic se face prin teoria mulimilor fuzzy, dar a cror coninut trebuie completat de ctre experi. Diferitele tehnici preluate din arsenalul Inteligenei Artificiale au tocmai scopul de a juca rolul expertului uman, prin ajustarea automat a regulilor de conducere. Acest ndrumtor ilustreaz principalele tehnici de dezvoltare a sistemelor inteligente hibride care includ componente fuzzy. Principalul instrument utilizat este pachetul software Matlab, care prin toolkit-urile dezvoltate de-a lungul timpului ofer o platform avantajoas de testare i implementare a soluiilor, larg utilizat n toat lumea, att n mediile academice ct i n cele industriale.

1.2. Mulimi fuzzy


n teoria clasic a mulimilor, o mulime C este definit ca o colecie de n elemente xi, cu i = 1 ... n, definite ntr-un domeniu de definiie X. Fiecrui element i se poate ataa o funcie de apartenen FA, notat (xn), avnd valoarea: (xn) = 0, 1, dac xn C dac xn C (1.1)

O astfel de mulime poate fi denumit ferm (crisp), deoarece gradul de apartenen respect principiul terului exclus din algebra boolean, fiind posibile numai dou situaii: apartenena sau non-apartenena, sau n termeni logici, adevr sau fals. Spre deosebire de mulimile ferme, o mulime fuzzy MF accept pentru FA orice valoare aparinnd intervalului [0 ... 1]. Valorile 0 i 1 au aceeai semnificaie ca i n cazul mulimilor ferme, adic non-apartenena respectiv apartenena total a elementului la MF. Valorile intermediare indic msura n care elementul x aparine categoriei descris de mulime. Un grad de apartenen de 0,9 indic o legtur puternic a elementului cu mulimea n timp ce 0,5 arat c elementul poate la fel de bine s fie inclus sau exclus din mulime. O MF A definit pe domeniul X va fi caracterizat de funcia de apartenen A (x) : X [0 ... 1] xX hgt(A) = sup A(x) (1.2)

Se definete nlimea mulimii A, hgt(A), valoarea maxim a funciei de apartenen: (1.3) Dac hgt(A) = 1 mulimea fuzzy A se va numi normal. Dac hgt(A) < 1, atunci A se va numi subnormal. Suportul (baza, limea) mulimii A este format din mulimea elementelor xX pentru care A(x) 0: supp(A) = { xX A(x) > 0 } tol(A) = { xX A(x) = 1 } (1.4) (1.5) Tolerana mulimii A este format din mulimea elementelor xX pentru care A(x)= 1:

Fig. 1.1 Reprezentrile ferm i fuzzy ale noiunii de temperatur confortabil

n acest caz reprezentarea prin MF permite modelarea percepiei umane a confortului termic, concept prin excelen subiectiv i incert. S presupunem c utilizm aceast reprezentare n cadrul unui sistem de condiionare a aerului. Dei aparent renunarea la definirea precis a obiectivelor reglrii ar putea prea hazardat, prin formularea fuzzy se obin performane mult mai bune ale reglrii temperaturii, nu n termeni de precizie, care oricum este nesemnificativ n acest caz, ci n termeni de economie de energie, reducere a numrului de aciuni de reglare, adaptare la condiiile interne i de mediu, etc. Toate acestea sunt posibile prin simpla nglobare a cunotinelor de tip expert prin intermediul regulilor fuzzy de conducere. Un sistem secvenial de condiionare a aerului utiliznd logica lui G. Boole ar porni nclzirea imediat dup scderea temperaturii sub 21oC i ar opri nclzirea la depirea temperaturii de 23oC. Aceast funcionare asigur o anumit precizie i siguran reglrii, dar necesit un numr mare de acionri ale elementului de execuie, ceea ce produce n general uzura prematur a elementelor sistemului i nu ine cont de tendinele naturale de evoluie ale sistemului. De exemplu, dac temperatura este de 20,7oC, mai mic dect limita inferioar admisibil, dar tendina ei este de cretere, sistemul s-ar ncadra singur, n scurt timp, n domeniul 21oC - 23oC. Pornirea nclzirii accelereaz intrarea n domeniul de temperatur dorit dar cu preul unei energii suplimentare injectate n sistem, n plus existnd mari anse ca din cauza din cauza ineriei termice temperatura s depeasc repede 23oC. Ar urma astfel fie o nou disipare de energie necesar rcirii sistemului, fie o lung perioad de supranclzire. Un sistem fuzzy avnd n setul de reguli de conducere i o regul referitoare la economia de energie ar putea admite ca destul de confortabil i temperatura de 20,5oC, fr a porni nclzirea. Decizia nu va fi greit, ntruct foarte puini oameni ar putea sesiza cele 0,5oC cu care temperatura este inferioar domeniului impus. Datorit tendinei naturale de nclzire se va ajunge treptat n domeniul 21oC - 23oC fr irosirea energiei. Pentru FA se pot folosi diferite forme, cele mai uzuale dintre ele fiind prezentate n figura urmtoare.

Fig. 1.2 Forme folosite pentru FA Dreptunghiul i singleton-ul sunt de fapt proprii mulimilor Booleene, dar ele se ntlnesc frecvent n aplicaii, asociate cu alte variabile fuzzy, de exemplu n cazul comenzilor aplicate unui element de execuie cu stri discrete.

Cnd aplicaia necesit precizie i sensibilitate se poate apela la curbele de tip Gauss ( sau ) care au i avantajul de a putea fi corelate cu mrimile probabilistice. n principiu se pot utiliza orice alt form sau combinaie de forme uzuale. n marea majoritatea a aplicaiilor se constat ns c cele mai des utilizate forme sunt cele triunghiular i trapezoidal, mai uor de reprezentat i necesitnd un volum mai mic de calcule i de memorie. Alegerea formelor simple de FA este justificat i prin constatarea des menionat n literatura de specialitate c eseniale n aplicaii sunt suportul i tolerana unei MF, forma flancurilor FA avnd un efect mai redus asupra rezultatelor obinute.

1.3. Logica fuzzy


Se consider F familia mulimilor fuzzy definite pe un domeniu de definiie X. ntre mulimile incluse n F se pot defini operaii care ntr-un mod analog algebrei booleene genereaz o structur algebric de tip latice. Aceste operaiile se vor nota i ca i n cazul teoriei clasice a mulimilor: A B : X x X [0 ... 1] A B : X x X [0 ... 1] Se introduce i complementul mulimii fuzzy A : A : X [0 ... 1] (1.7) Construcia algebrei booleene utilizeaz reuniunea i intersecia (n termeni logici SAU i I), singura variant alternativ fiind reprezentat de implicaiile logice, a cror utilizare este ns incomod. n cazul logicii fuzzy LF se poate face apel la un numr mult mai mare de operaii, fapt care confer acestei logici un potenial ridicat de adaptare la diferite condiii de lucru. L.A. Zadeh a propus utilizarea maximului i minimului funciilor de apartenen ale celor doi operanzi ca operaii de constituire a LF. Operaiile se pot descrie cu ajutorul funciilor de apartenen : X [0 ... 1]. A B (x) = max ( A(x), B(x) ) = A(x) B(x) A B (x) = min ( A(x), B(x) ) = A(x) B(x) sau, simplificnd notaia (A(x) A(x)) : (A B) (x) = max ( A(x), B(x) ) = A(x) B(x) (A B) (x) = min ( A(x), B(x) ) = A(x) B(x) Complementul mulimii A, notat A, se va defini prin: A (x) = 1 - A (x) sau A(x) = 1 - A(x) (1.10) (1.9) (1.8) (1.6)

Structura astfel obinut este o latice distributiv deoarece se bucur de urmtoarele proprieti: asociativitate, comutativitate, absorbie, idempoten i distributivitate n ambele sensuri. De asemenea se verific legile lui de Morgan, principiul dublei negaii i legile lui 0 i 1 (elementele neutre fa de cele dou operaii): A(x) 1 = 1 A(x) 1 = A(x) A(x) 0 = A(x) A(x) 0 = 0 (1.11)

Spre deosebire de logica boolean, n cazul LF nu se mai respect ns principiile terului exclus i nici cel al contradiciei, din cauza modului de alctuire a funciilor 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. Diferena A(x) - A(x) poate reprezenta o msur a caracterului vag al mulimii A: cu ct diferena este mai mic, A este mai vag. n cazul anterior A - A = 0. n cazul mulimii 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) (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 operaii vor fi mai senzitive dect cele bazate pe operaia min-max. De fapt exist o clas larg de operaii utilizabile ca funcii logice i , denumite norme triangulare. Prin norm t se nelege o funcie de dou argumente t : [0 ... 1] x [0 ... 1] [0 ... 1] avnd urmtoarele proprieti: asociativitate: comutativitate: condiii de limit: (x t y) t z = x t (y t z) xty=ytx xt0=0 , xt1=x xtwytz (1.14) (1.13)

nedescresctoare pt. fiecare argument: pentru x y , w z, O norm t este arhimedian dac i numai dac: este continu pentru fiecare argument xtx<x

(1.15)

Din cele de mai sus se observ c norma t prezint majoritatea proprietilor funciei logice I. Funcia logic SAU poate fi modelat cu norma s (conorma t), care la rndul ei este: asociativ; comutativ; satisface condiiile: nedescresctoare. Este ns de remarcat c normele triangulare nu respect n mod necesar proprietile de idempoten (x t x x i x s x x) i absorbie (x t (x s y) x i x s (x t y) x). n tabelul urmtor sunt prezentate cteva dintre normele t-s mai des utilizate. norme t x t y = min(x, y) xty=xy x t y = 1-min([1, ((1-x)p + (1-y)p)1/p], p 1 x t y = max[0, (+1)(x+y-1)- x y], -1 norme s x s y = max (x, y) xsy=x+y-xy x s y = min (1, (xp + yp)1/p) , p1 x s y = min [1, x + y + x y] , -1 xs0=x , xs1=1 (1.16)

Normele t i s ndeplinesc urmtoarele inegaliti: min (x, y) x t y x , dac y = 1 y , dac x = 1 0 , n celelalte cazuri x , dac y = 0 y, dac x = 0 1 , n celelalte cazuri (1.17)

max (x, y) x s y

(1.18)

Alegerea unor norme t i s diferite de min-max (sau eventual de produsul i suma probabilistic) este totui mai rar, volumul de calcule necesar fiind mai mare, fr a se obine ntotdeauna mbuntiri semnificative. Utilizarea operaiilor min-max, prin lipsa de interaciune dintre operanzi (unul dintre ei nu particip la stabilirea rezultatului) nu este indicat n cazurile care reclam funcii de apartenen precise, dar n schimb ofer avantajul robusteii i imunitii la zgomot.

1.4. Variabile lingvistice i fuzzyficare


Termenul de variabil lingvistic VL, introdus de L. A. Zadeh n 1975 definete o variabil care ia valori lingvistice, cum ar fi ncet, repede, nalt, etc. Aceste valori sunt modelabile prin MF. Orice VL conine civa termeni lingvistici TL primari - etichete lingvistice. Aplicnd reguli sintactice i semantice se pot construi termeni derivai i propoziii. S lum de exemplu VL temperatur, cu domeniul de definiie cuprinznd gama de temperaturi care se pot realiza n interiorul unui vagon. Termenii lingvistici primari pot fi mic, mediu i mare. Aceti termeni pot fi n continuare ponderai cu modificatori, cum ar fi foarte, mai mult sau mai puin, etc. Se obin propoziii corecte prin combinarea termenilor primari i a modificatorilor, de exemplu (temperatur) foarte mare. Cu ajutorul VL este posibil reprezentarea cunotinelor ntr-un mod familiar percepiei umane. Instrumentul matematic, bazat pe VL, prin care cunotinele pot fi reprezentate i prelucrate se numete cadru cognitiv (frame of cognition) CC. Familia de mulimi fuzzy A = {A1, A2, ... Ac} formeaz un CC dac ndeplinete urmtoarele dou condiii: A acoper domeniul de definiie X. Fiecare element al domeniului de definiie poate fi atribuit cu un grad de apartenen diferit de zero cel puin unei MF din A:
x i

Ai (x) >

(1.19)

> 0 fiind denumit nivel de acoperire a lui X . Elementele lui A sunt mulimi fuzzy unimodale. Se pot astfel identifica n X regiuni (cte o regiune pentru fiecare TL) care s fie n mare msur compatibile cu acestea (cu grad semnificativ de apartenen la Ai). Aceste regiuni posed un neles semantic clar.

Fig. 1.3. Cadru cognitiv Partiia fuzzy PF este un CC care se mai caracterizeaz i prin proprietatea:

i=1...c

Ai (x) = 1,

xX

(1.20)

O PF va ncadra fiecare punct din domeniul de definiie X ntr-unul sau doi TL, fr zone insuficient caracterizate, la care suma gradelor de apartenen ar fi mai mic de 1. n perspectiva utilizrii PF la reglrile automate, aceast condiie exprim faptul c suficiente informaii pentru luarea unor decizii sigure n orice zon a domeniului X. Dac informaiile ar fi insuficiente suma ar trebui s fie subunitar iar o sum supraunitar indic reguli contradictorii.

Fig. 1.4. Partiie fuzzy Operaia de proiectare a CC sau PF se numete fuzzyficare. Fuzzyficarea este operaia esenial de reprezentare n calculator a cunotinelor formulate lingvistic. De exemplu, n partea aplicativ a tutorialului, la fuzzyficarea variabilei eroarea de reglare vom utiliza urmtorii TL: negativ mare, negativ mic, zero, pozitiv mic i pozitiv mare.

1.5. 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 urmrete un grup de cunotine pentru obinerea unor rezultate, n acelai mod ca i experii umani. Putem spune c acest gen de sisteme sunt tipice pentru IA. Un SE este materializat printr-o baz de cunotine i printr-un algoritm de cutare, bazat pe metode de raionare. Cunotinele sunt reprezentate prin reguli care pot fi uor citite i modificate de ctre utilizatori, de forma: dac < premiz > atunci < concluzie > (1.21) Aa cum am vzut deja, rolul LF n acest domeniu const din reprezentarea cunotinelor i din generarea mecanismelor de inferen asemntoare raionamentelor umane. Nu este deci ntmpltor faptul c SF pot fi cel mai uor implementate n domeniile n care exist o experien uman anterioar. Inferena este operaiunea prin care se produc concluzii, estimri sau previziuni pornind de la un set de premize. Acum putem defini mai precis noiunea de controler, ca dispozitiv care materializeaz inferena n cazul sistemelor de luare de decizii sau genereaz o lege de conducere ntrun sistem de reglare n bucl nchis. Din punct de vedere informaional, structura unui CF cuprinde 3 blocuri fundamentale: defuzzyficarea (interfaa de intrare), inferena i fuzzyficarea (interfaa de ieire).

Fig. 1.5. Controler fuzzy ntr-o bucl de reglare

10

Fig. 1.6. Structura de tip sistem expert O variant mai complex, proprie sistemelor expert, este prezentat n Fig. 1.6. Prin separarea bazei de reguli de mecanismul de inferen se ctig n flexibilitate, iar n cazul proiectelor mari se poate lucra n paralel asupra celor dou blocuri, de ctre echipe specializate. n funcie de natura fuzzy sau non-fuzzy a variabilelor de intrare i ieire sunt posibile patru forme de CF, prezentate n tabelul urmtor. Forma (1), tipic pentru aplicaiile de reglare automat se mai numete i regulator fuzzy RF. Informaia de intrare NUMERIC FUZZY Informaia de ieire NUMERIC FUZZY Sisteme de reglare n Sisteme de asistare a deciziilor bucl nchis (1) n bucl deschis (3) Sisteme de reglare n Sist. inteligente de asistare a bucl nchis (2) deciziilor n bucl deschis (4)

n cazul RF mrimile de intrare provin de la traductoare iar cele de ieire se adreseaz diferitelor elemente de execuie. Cea mai potrivit form de reprezentare a inferenei este n acest caz tabelul de inferen MacVicar-Whelan, care elimin riscul omiterii unor regiuni din cadrul domeniului de definiie al variabilelor, dac este completat corect, fr omiterea unor reguli. n cazul RF, cea mai popular alegere este regulatorul PD (proporional-derivativ), care &. are ca intrri eroarea de reglare i derivata ei Tabel de inferen MacVicar-Whelan pentru un regulator PD

&

E1 R1 R2 R3

E2 R4 R5 R6

E3 R7 R8 R9

E4 R10 R11 R12

E5 R13 R14 R15

DE1 DE2 DE3

11

& trei, vom avea un tabel cu 15 n cazul n care alegem pentru cinci TL iar pentru reguli de conducere. O modalitate tipic de alegerii TL care alctuiesc variabilele de intrare este urmtoarea:

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 ieirilor aferente fiecrei reguli n parte. O regul special este regula R8, care corespunde atingerii obiecti& = 0. Enunarea acestei reguli este urmtoarea: vului reglrii: = 0 i
& = 0, ATUNCI se activeaz regula R8 DAC = zero I

Proiectantul mai trebuie s aib n vedere dou aspecte eseniale ale inferenei: a) Ce funcii logice sunt folosite pentru inferen, n cazul nostru pentru I? Aa cum s-a vzut n seciunea 1.3, foarte des se folosesc operaiile min-max i prod-sum. b) Care va fi efectul regulii activate asupra ieirii? Pentru aceasta trebuie fuzzyficat i mrimea de ieire a controlerului, care n cazul RF este mrimea de comand. Dac ieirea este fuzzyficat n acelai mod ca i intrrile, utiliznd TL modelai prin MF, atunci controlerul este de tipul Mamdani, purtnd numele celui care a realizat prima aplicaie practic a RF. O variant simplificat a acestei versiuni de baz a fost propus de M. Sugeno, care a fuzzyficat mrimea de ieire utiliznd exclusiv singletonuri. CF nu-i pierde n acest fel caracterul fuzzy, dar implementrile practice se simplific semnificativ.

1.6. Defuzzyficarea
Ultima, dar nu i cea mai puin important dintre operaiile dintr-un FC, este defuzzyficarea, prin care mulimea fuzzy obinut prin inferen este transformat ntr-o mrime ferm i transferat ieirii. Necesitatea defuzzyficrii apare pentru c mai multe reguli pot fi active n acelai timp, fiind necesar fie alegerea uneia singure dintre ele, fie sintetizarea unei ieiri care s in cont ntr-o anumit msur de fiecare dintre ele. Dac n cazul fuzzyficrii i a inferenei exist aproape un consens asupra utilizrii partiiilor fuzzy modelate prin forme triunghiulare sau trapezoidale, respectiv asupra metodei min-max, n cazul defuzzyficrii exist dou metode de defuzzyficare cu o popularitate larg, MOM (mean-of-maxima) i COG (center-of-gravity), fiecare la rndul ei prezentnd mai multe variante. Alegerea metodei de defuzzyficare se face n funcie de mai multe criterii, dintre care cele mai importante sunt: caracteristicile MF de ieire Y = {y1 , y2 , ... yn} i ale elementului de execuie; viteza cerut de aplicaie i capacitatea de calcul disponibil.

12

1) Metoda maximului const din atribuirea pentru ieirea ferm yo a valorii obinut prin alegerea elementului cu cel mai nalt grad de apartenen din componena MF de ieire: Y (yo) = max { yi (y) yY, i=1 ... n }. La stabilirea acestei valori concureaz toate VL active yi, fiind aleas doar cea avnd contribuia cea mai puternic. Metoda se poate aplica numai n cazul n care se poate stabili o valoare unic yo, adic atunci cnd Y are n componen MF triunghiulare sau singleton-uri. n cazul n care exist mai multe MF avnd grade de apartenen maxime cu valori egale se poate alege la ntmplare una dintre ele sau se poate face media valorilor 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 mijlocul maximelor MOM.

Mamdani

Sugeno

Fig. 1.7. Exemple de defuzzyficare dup metoda maximului 2) Metoda centrelor de greutate COG este metoda de defuzzyficare cea mai sensibil, care ine seama, ntr-o manier ponderat, de influena fiecrui termen lingvistic al ieirii, considernd toate valorile posibile pentru gradele de apartenen. Prin COG domeniul valorilor discrete de ieire devine continuu.

Fig. 1.8. O comparaie ntre defuzzyficrile MOM i COG Dup cum se vede n fig. 1.8 COG este influenat i de VL y1, valoarea comenzii de la ieire fiind mai mic dect n cazul MOM, care ine seama numai de y2.

13

2. Tool-kit-ul Fuzzy Inference System


2.1. Lansarea FIS
Principalul instrument din MATLAB prin care se pot construi sisteme fuzzy este interfaa grafic (graphic user interface) numit Fuzzy Inference System FIS. FIS aparine toolkit-ului Fuzzy Toolbox din componena pachetului MATLAB. FIS poate fi lansat fie din fereastra de comenzi (command window) tastnd fuzzy, fie din SIMULINK. Editorul FIS afieaz pe fiecare dintre cele trei elemente ale unui SF generic: fuzzyficarea, inferena i defuzzyficarea. Fereastra principal FIS este prezentat n Fig. 2.1.

Fig. 2.1. Fereastra principal FIS La deschiderea FIS-ului sunt implicite o variabil de intrare input 1, una de ieire output 1 i blocul de inferen Mamdani. Aa cum vom vedea, inferena Mamdani poate fi nlocuit cu inferena Sugeno. Numele variabilelor selectate poate fi tastat n csua de dialog Name.

14

2.2. Fuzzyficarea
Blocul de fuzzyficare primete la intrare valori ferme i ofer la ieire valori fuzzy. Variabilele fuzzy sunt construite sub forma de cadre cognitive sau de partiii fuzzy. Setarea unei variabile de intrare ncepe printr-un dublu click pe pictograma variabilei. Pentru input 1 se va activa editorul de funcii de apartenen din figura urmtoare.

Fig. 2.2. Variabila de intrare input 1 Comenzile necesare pentru editare se gsesc n meniul Edit al acestei ferestre. Tastnd comanda Add MFs obinem o csu de dialog cu opiunile necesare: numrul de termeni lingvistici TL i formele funciilor de apartenen fiecruia. Pentru formele funciilor de apartenen exist mai multe opiuni: trimf (triunghiular), trapmf (trapezoidal), gaussmf (gauss), etc. Utilizatorul poate defini i funcii de apartenen proprii, de tip custom. Dac dorim s construim o variabil cu 5 TL vom obine urmtoarea fereastr.

15

Fig. 2.3. Partiia fuzzy aferent unei variabile de intrare Fiecare funcie de apartenen poate fi acum editat. Parametrii formei (n cazul triunghiului, cele trei puncte marcate n Fig. 2.3) pot fi tastate n csua Params sau poziionate cu ajutorul mouse-ului. Fiecare MF poate fi etichetat prin csua 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 csuei de dialog Range. De exemplu, dac dorim s fuzzyficm variabila glicemie (concentraia de zahr din snge), domeniul de definiie ar trebui schimbat de la [0 1] cum este cel implicit din Fig. 2.3 la [0 200]. Pri din domeniul de definiie pot fi selectate pentru afiare cu ajutorul csuei display range. O recomandare important: domeniul de definiie al variabilelor fuzzy trebuie s fie mai extins dect cel cerut de aplicaie. n caz contrar, unele dintre metodele de inferen pot produce erori n vecintatea limitelor domeniului! Aceasta se realizeaz dac range este mai larg dect display range iar funcia de apartenen are valoarea 1 n exteriorul valorilor din display range, care definete de fapt domeniul aplicaiei. Noi variabile de intrare pot fi adugate prin meniul Edit din fereastra principal FIS utiliznd comanda Add input.

16

2.3. Defuzzyficarea
Etapa de defuzzyficare produce valori ferme pornind de la valori fuzzy. Aceast operaie, opus fuzzyficrii, este necesar doar cnd avem nevoie de valori ferme la ieire, de exemplu n cazul sistemelor de reglare (vitez, poziie, presiune, etc). Cnd sistemul fuzzy trebuie s produc ieiri lingvistice, de exemplu n cazul sistemelor de decizie de tipul expert, defuzzyficarea nu mai este necesar i ieirea poate rmne ca variabil fuzzy. FIS poate produce inferene att de tip Mamdani ct i de tip Sugeno. Aa cum se observ n 2.4, regulile de conducere ale inferenei pot avea ca rezultat fie valori fuzzy n cazul inferenei Mamdani, fie valori ferme n cazul inferenei Sugeno. Evident sistemele fuzzy de tip Sugeno sunt mai simple dect cele de tip Mamdani. De aceea inferena Sugeno este recomandabil cnd la ieire avem nevoie de valori ferme. Cnd la ieire avem nevoie de valori lingvistice inferena Mamdani este singura posibil. Alegerea tipului de inferen trebuie fcut chiar la nceputul aplicaiei, din fereastra principal FIS prin meniul File: fie New Mamdani FIS, fie New Sugeno FIS.

Fig. 2.4. Fuzzyficarea Mamdani

17

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

Fig. 2.5. Fuzzyficarea Sugeno Metoda de defuzzyficare se allege din fereastra principal FIS (Fig. 2.1). Putem alege ntre defuzzificarea de tip COG (centroid n terminologia FIS) i defuzzyficarea MOM (Mean of Maxima).

18

2.4. Inferena fuzzy


Partea central a unui sistem fuzzy const din mecanismul su de inferen, care este realizat de ctre baza de reguli. Blocul de inferen permite scrierea rapid i uoar a regulilor printr-un tabel McVicar-Whelan. Tipul inferenei este specificat prin alegerea normei t (and method) i normei s (or method) n fereastra principal FIS (Fig. 2.1).

Fig. 2.6. Fereastra de inferen FIS Aa cum se poate vedea n Fig. 2.5 blocul conine butoane de editare care permit adugarea de reguli noi Add rule precum i tergerea Delete rule sau modificarea regulilor existente Change rule. La formularea regulilor se pot utiliza i opiunile not pentru complementare i none atunci cnd variabila respectiv nu este implicat. Totodat se poate alege ntre formele conjunctiv and sau disjunctiv or. Dou instrumente importante pentru aplicaii, care vor fi utilizate n cele ce urmeaz se pot accesa din meniul View: - View rules prin care se vd n timp real regulile activate i gradul lor de activare; - View surface prin care se vizualizeaz suprafaa de comand realizat de aplicaie.

19

2.5. Posibiliti de utilizare a FIS


O prim observaie extrem de util este aceea c n general aplicaiile Matlab, i mai ales FIS, necesit o atenie deosebit la salvarea fiierelor. Opiunile de salvare se gsesc ca de obicei n meniul File. Aplicaiile FIS sunt salvate ca fiiere cu extensia *.fis, pe hard disk, pe dispozitive externe sau n workspace. n aceast situaie, la terminarea sesiunii de lucru este necesar i salvarea workspace-ului, ca fiier *.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 obinut prin Simulink-Matlab. Tool-kit-ul Simulink permite modelarea vizual pe calculator, prin tehnica drag-anddrop, astfel nct aplicaiile pot fi realizate extrem de eficient. n acest fel fiierele *.fis pot fi incluse n modelele Simulink i pot fi testate n aplicaii beneficiind de biblioteca de funcii predefinite care a plasat Simulink pe poziia dominant a segmentului su de pia.

Fig. 2.7. Funciile disponibile n biblioteca Fuzzy Logic Toolbox din Simulink Pentru a putea utiliza cele dou controlere disponibile Fuzzy Logic Controller i Fuzzy Logic Controller with Ruleviewer trebuie ca fiierul *.fis s fie instalat n workspace.

20

Controlerului Simulink este asociat fiierului *.fis cu ajutorul csuei de dialog care apare n urma unui dublu click. n csu trebuie tastat numele fiierului *.fis din workspace. 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.

21

3. Implementarea FIS a unui regulator PD


3.1. Formularea temei proiectului
n cele ce urmeaz se va realiza un regulator fuzzy de tip PD, att n varianta Mamdani ct i n varianta Sugeno. Configuraia acestui regulator este urmtoarea: Intrri: eroarea e, i derivata erorii de Ieire: comanda c Fuzzyficarea va fi realizat dup urmtoarea 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 ieirea c: cinci TL - NG, NS, Z, PS i PG Etichetele lingvistice utilizate sunt tradiionale: 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 realiznduse 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. 3.1. Factorii de scalare ai regulatorului

Scopul final al acestui proiect este realizarea unui regulator de uz general care s poat funciona ntr-o gam larg de aplicaii. El va fi testat n urma implementrii Simulink pentru diferite procese conduse.

22

3.2. Implementarea regulatorului Mamdani


Fuzzyficarea variabilelor este prezentat n figura urmtoare.

Fig. 3.2. Fuzzyficarea

23

Baza de reguli propus este urmtoarea:


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)

Dei nu avem dect 27 de reguli, baza de reguli corespunde unui tabel de 35 de reguli, deoarece regulile 1 i 27 au fost editate cu ajutorul opiunii none: indiferent de valoarea variabilei de, starea ieirii este decis doar de ctre e. Suprafaa de comand realizat prin defuzzyficarea COG este prezentat n Fig. 2.9. Defuzzyficarea MOM produce suprafaa de comand din Fig. 2.10. Observaie: 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 nmulete cu constanta -1).

24

Fig. 3.3. Suprafaa de comand cu defuzzyficare COG

Fig. 3.4. Suprafaa de comand cu defuzzyficare MOM Se remarc faptul c suprafaa de comand generat prin defuzzyficarea COG este mai neted comparativ cu defuzzyficarea MOM. Cu ct mai multe reguli exist n baza de reguli, cu att mai multe puncte de fixare a suprafeei de comand avem la dispoziie, dar pe de alt parte implementarea este mai greoaie. Implementarea Simulink este prezentat n Fig. 2.11. Schimbarea semului comenzii datorat formulrii regulilor se realizeaz prin factorul de scalare FSc. Blocul de saturare care limiteaz aciunea regulatorului are limitele 10.

25

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

out

Fig. 3.5. Implementarea Simulink a regulatorului fuzzy PD Rspunsul indicial din figura urmtoare ilustreaz comportarea sistemului. Notaiile folosite sunt: intrarea u, ieirea out i comanda c.

1 out u, out 0.5

10

10 5 c 0 -5 0

5 t [s]

10

Fig. 3.6. Rspunsul indicial al regulatorului Mamdani cu baza de reguli 7 x 5 Se remarc eroarea staionar precum i chattering-ul care afecteaz regimul staionar, datorate lipsei efectului integrativ. Pe de alt parte regimul tranzitoriu este ferm, fr suprareglaje sau oscilaii. n seciunea urmtoare acest regulator Mamdani va fi comparat cu un regulator Sugeno care difer n principal doar prin fuzzyficarea variabilei/variabilelor de ieire. Orice controler Mamdani poate fi convertit automat ntr-un controler Sugeno prin comanda mam2sug lansat din fereastra de comand MATLAB.

26

3.3. Implementarea regulatorului Sugeno


O simplificare important a regulatorului anterior se obine n varianta Sugeno. n plus reducem baza de reguli la dimensiunea 5 x 5, utiliznd numai 5 TL pentru e.

Fig. 3.7. Fuzzyficarea 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. 3.8. Baza de reguli a regulatorului PD Sugeno

27

Suprafaa de comand rezultat este prezentat n figura urmtoare.

Fig. 3.9. Suprafaa de comand a regulatorului PD Sugeno Se remarc o asemnare n linii mari cu suprafaa de comand a regulatorului Mamdani care are ns mai multe puncte de ajustare. Rspunsul indicial este foarte asemntor cu cel din Fig. 3.6, al regulatorului Mamdani cu baza de reguli de dimensiune 7 x 5. Acest fapt justific utilizarea regulatorului Sugeno n aplicaiile de reglare n bucl nchis, deoarece este mai simplu i mai rapid dect regulatorul Mamdani, n timp ce performanele lor sunt perfect comparabile. Se remarc lipsa chatteringului, asociat ns cu o eroare staionar mai mare, comportament cauzat de reducerea bazei de reguli.
1

u, out

0.5

10

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

Fig. 3.10. Rspunsul indicial al regulatorului Sugeno cu baza de reguli 5 x 5

28

4. Regulatoarele fuzzy-interpolative
4.1. Sistemele fuzzy-interpolative
n urma executrii simulrilor cu fiiere de tip *.fis se observ c n general simulrile necesit mult timp iar n unele cazuri se produc chiar blocaje, n funcie i de configuraia calculatorului i de parametrii alei pentru simulare (metoda de integrare, erori admisibile, etc.) i de parametrii sistemului de reglare. O metod eficace de nlturare a cestui aspect, fr ns a renuna 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 cutare TC cu interpolare liniar (look-up-table LUT). Un TC este una dintre structurile de date cele mai des ntlnite n tiina calculatoarelor, constnd dintr-o arie ndimensional sau o arie asociativ ndimensional. Utilizarea TC n locul altor algoritmi de calcul al funciilor 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 cutarea n tabel a unor valori i interpolarea lor, fie prin interpolri spline sau polinomiale, fie cel mai simplu, prin interpolri liniare. Deoarece capacitatea memoriilor a crescut continuu, la fel ca i viteza i fiabilitatea lor, n timp ce preul lor este n continu scdere, utilizarea TC este tot mai popular. n aplicaiile noastre vom apela la un TC bidimensional cu dou intrri e i de i o ieire c. n cazul regulatorului Mamdani TC poate fi modelat printr-o matrice cu dimensiunea 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. 4.1.

Fig. 4.1. Tabelul de cutare bidimensional din biblioteca Simulink

29

Coordonatele nodurilor de interpolare sunt fixate de valorile numerice nscrise n vectorii corespunztori celor dou intrri row i column iar valorile din tabel table data definesc ieirile tabelului. Valorile vectorilor de intrare trebuie nscrise n ordine cresctoare. Dac intrrile depesc domeniul de definiie calculul ieirii se poate face fie prin extrapolare fie prin limitare (pstrarea nafara tabelului a valorilor marginale).

Fig. 4.2. Ilustrarea funcionrii unui regulator PD fuzzy-interpolativ

30

Trecerea de la cazul bidimensional PD mai uor de reprezentat mental la cazurile ndimensionale, de exemplu la regulatorul tridimensional de tip PID, se poate ilustra prin figura urmtoare, n care regulatoarele PD pot fi asemnate cu paginile unei cri.

Fig. 4.3. Regulatorul fuzzy-interpolativ PID Sintaxa care trebuie respectat n aceast situaie este urmtoarea: table: cat(3, [pagina e<0], [pagina e=0], [pagina e>0])

4.1. Implementrile fuzzy-interpolative


Implementrile fuzzy-interpolative ale regulatoarelor PD Mamdani cu 35 de reguli i Sugeno cu 25 de reguli prezentate anterior sunt urmtoarele: 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]

31

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

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

32

Dup implementarea celor dou regulatoare se poate constata cu uurin c simulrile nu mai ridic absolut nici o problem computaional, ele se deruleaz practic instantaneu, fr riscul blocajelor. Spre deosebire de cazul utilizrii fiierului *.fis n care pentru anumite valori ale parametrilor sistemului de reglare se produc blocaje, acum putem ncerca orice combinaie de parametri ai sistemului de reglare, de exemplu creterea factorului de scalare de la ieire de la 10 ca i n Fig. 3.5 la 25. Comportarea regulatoarelor cu 35 i cu 25 de reguli la un semnal de test reprezentat cu linie ntrerupt se poate analiza n figurile urmtoare.

0.5

u & out

-0.5

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

Fig. 4.5. Un rspuns n timp al regulatorului PD fuzzy cu 35 de reguli

0.5

u & out

-0.5

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

Fig. 4.6. Un rspuns n timp al regulatorului PD fuzzy cu 25 de reguli

33

Se remarc marea asemnare dintre cele dou rspunsuri n timp, argument n favoarea utilizrii variantei mai simple, cu 25 de reguli. Numrul de reguli n sine este ns mai puin relevant dect modul n care aceste reguli sunt formulate i ajustate. Dup cum se observ, rspunsurile suport multe mbuntiri. Diferena major a regulatoarelor fuzzy fa de regulatoarele convenionale este numrul mult mai mare de mecanisme de ajustare care pot influena performanele. Aceasta le ofer un avantaj fundamental, mai ales n aplicaiile dificile sau despre care nu avem cunotine 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 aduga factorii de scalare de la intrare, n cazul regulatorului fuzzy-interpolativ putem identifica cel puin urmtorii parametri de ajustare: factorul de scalare de la ieire FSc, fuzzyficarea de la intrare care cuprinde 25 de noduri de interpolare i fuzzyficarea de la ieire cu 5 valori. n cazul unui sistem fuzzy obinuit mai intervin i formele funciilor de apartenen, prin posibilitatea utilizrii funciilor Gauss, sigmoidale, etc. n figura urmtoare se prezint rezultatele unei ajustri orientate n direcia reducerii suprareglajelor din Fig. 4.6, alte obiective fiind la fel de uor de atins.

0.5

u & out

-0.5

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

Fig. 4.6. Un rspuns n timp cu minimizarea suprareglajelor Studenii sunt invitai s ncerce diferitele mecanisme de ajustare posibile i efectele lor asupra performanelor regulatorului.

34

5. Regulatoarele neuro-fuzzy
5.1. Reelele neuronale
Mulimea de posibiliti de ajustare a controlerelor fuzzy creeaz complicaii, care se pot evita prin automatizarea elaborrii relaiei fuzzy. Sinteza automat sau chiar autosinteza sistemelor de comand poate fi obinut prin metode ale inteligenei artificiale. Ce mai promitoare abordare const din fuzionarea logicii fuzzy cu reelele neuronale RN. n aceast abordare mulimile fuzzy sunt utilizate n reprezentarea cunotinelor, n timp ce reelele neuronale sintetizeaz regulile fuzzy prin nvare pe baz de exemple. Controlerele neuro-fuzzy astfel obinute sunt capabile de a rezolva unele dintre cele mai complicate sarcini, cum ar fi recunoaterea imaginilor, fr intervenia substanial a omului. RN sunt alctuite din mulimi de elemente de prelucrare a informaiei - neuroni - interconectai ntr-o reea. Un neuron i are n intrri, x1i, x2i, ... , xni i o ieire yi, fiecare aparinnd mulimii numerelor reale. O legtur ieire-intrare dintre nodurile reelei este reprezentat prin ponderea sinaptic, valoare real care pondereaz efectul semnalului 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. Activarea neuronului se definete prin suma ponderat a semnalelor de intrare: S = wji xji
j=1 n

(5.1)

Ieirea neuronului va fi dat de funcia neuronal (de ieire) yi = f(s), care poate avea diferite forme: treapt, ramp, funcii sigmoidale, etc. Neuronii sunt aranjai n straturi, capacitatea de reprezentare a reelei depinznd de mrimea i de numrul straturilor. Dac funciile neuronale sunt norme t sau s se obin neuroni logici de tip AND i OR. Cu acetia se pot construi reele multistrat capabile s modeleze o mare varietate de funcii logice. O astfel de structur (denumit i procesor 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 ieire i stratul ascuns), fiecare strat coninnd neuroni de acelai tip. Controlerul neuro-fuzzy poate fi grefat pe procesorul logic neuronal, fiecare variabil de intrare reprezentnd gradul de apartenen a unei mrimi de intrare la TL corespunztor din CC aferent mrimii 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 corespunznd unei clauze, fiind analog unui minitermen din cazul exprimrii analitice prin forma canonic disjunctiv a funciilor logice. n cazul general cunotinele sunt mprite ntre neuroni i sinapse, astfel c este cvasiimposibil exprimarea inteligibil a relaiei fuzzy coninut n reea.

35

AND x1 Variabile de intrare Ieire x2 AND AND OR

Strat de intrare

Strat ascuns

Strat de ieire

Fig. 5.1 Procesor logic cu reea neuronal RN sunt capabile de a nva pe baz de exemple. Exemplele constau din seturi de mrimi de intrare i mrimile de ieire pe care dorim s le obinem n cazul acelor intrri. nvarea este de tip parametric, constnd din ajustarea ponderilor sinaptice, astfel nct un anumit indice de performan (de exemplu distana euclidian) s fie optimizat. Dintre parametrii algoritmilor de nvare, eseniali sunt convergena, fr de care nu sar obine soluii i factorul de nvare indicnd viteza de soluionare.

N
Intrare 1

Z P N
Intrare 2 Ieire

Z P
Fuzzyficarea Baza de reguli Evaluarea regulilor i defuzzyficarea

Fig. 5.2 Controler neuro-fuzzy

36

5.2. Descrierea toolkitului ANFIS


Tool-kit-ul destinat implementrii sistemelor neoro-fuzzy n Matlab se numete ANFIS (adaptive neuro-fuzzy inference system). Fiind dat un set de date intrare-ieire de antrenare, ANFIS genereaz un fiier de tip *.fis avnd parametrii astfel ajustai nct s produc un rspuns identic cu datele de antrenare. nvarea se realizeaz fie printr-un algoritm de tip backpropagation fie printr-o variant a metodei celor mai mici ptrate. Metodele de tip backpropagation urmeaz urmtoarele etape: 1. Se introduce n RN setul de date de antrenare. 2. Se compar ieirile calculate cu setul de date de antrenare. Se calculeaz erorile pentru fiecare dintre neuronii de ieire. 3. Pentru fiecare neuron de ieire se calculeaz o valoare i un factor de scalare, care ar produce ieirea dorit pentru ntreaga reea. Pe baza aceasta se calculeaz erorile locale la nivelul fiecrui neuron de ieire. 4. Se ajusteaz ponderile fiecrui neuron n sensul scderii erorilor locale. 5. Neuronii din stratul precedent care produc cele mai mari erori locale sunt ponderai n sensul scderii ponderii lor. 6. Se repet etapele 3, 4 i 5 asupra neuronilor din stratul anterior. Tool-kit-ul ANFIS are un caracter preponderant didactic, prezentnd o serie de limitri: Se aplic numai sistemelor Sugeno cu funcii de apartenen liniare sau singleton; Se aplic numai sistemelor cu o singur ieire; Nu suport funcii de apartenen, norme t-s sau defuzzyficri definite de utilizator; Lansarea toolkit-ului se face prin comanda anfisedit, obinndu-se interfaa grafic din figura 5.3. Rolul principalelor elemente de acionare este prezentat n figur. Operaiile pe care interfaa ANFIS le poate executa sunt urmtoarele: - ncrcarea datelor de antrenare, testare i verificare, sub controlul comenzilor din zona Load Data. - Generarea sau ncrcarea unui model iniial FIS cu comenzile din zona Generate FIS. - Vizualizarea modelului FIS (att cel iniial ct i cel rezultat n urma antrenrii reelei prin butonul Structure. - Alegerea parametrilor metodei de optimizare (backpropagation sau hibrid). - Alegerea numrului de iteraii de antrenare (traning epochs) i eroarea de antrenare. - Antrenarea reelei neuronale, comandat prin butonul Train Now. Procesul iterativ de nvare automat ajusteaz parametrii FIS-ului. Se afieaz erorile fiecrei iteraii.

37

Operaii cu fiire .fis

Undo

Deschidere i editare fiire .fis

Zona de afiare

Afiare parametri: nr. de intrri/ieiri i funcii de apartenen

Legend: - Date de testare: linie punctat albastr; - Date de antrenare: linie din o albastre; - Date de verificare: linie din + albastre; - Ieirea FIS-ului: linie din * roii;

Structura intrare/ ieire a FIS-ului

Testarea FIS-ului cu datele de antrenare

Introducerea datelor de antrenare

tergere date de antrenare

ncrcare sau generare fiier .fis

Antrenare FIS dup setarea metodei de optimizare

Fig. 5.3. Interfaa grafic ANFIS - Ieirea FIS-ului este vizualizat i comparat cu datele de antrenare, verificare i testare, dup acionarea butonului Test Now. Prin intermediul barei de meniu ANFIS se pot ncrca sau salva fiierele FIS, se poate deschide un nou controler Sugeno sau accesa alte interfee grafice din componena Matlab.

38

5.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 ncrcrii fiierului .fis corespunztor, se obine reeaua neuronal din figura 5.4.

Fig. 5.4. Structura RN corespunztoare regulatorului PD Sugeno Corespondena dintre RN i controlerul Sugeno este evident: - intrrile input corespund erorii e i derivatei sale de. - stratul inputmf corespunde termenilor lingvistici rezultai prin fuzzyficare. - stratul rule - outputmf asociaz cte un neuron fiecrei reguli de conducere. - ieirea output corespunde ieirii controlerului Sugeno. Principala problem care se ridic n faa proiectrii unei aplicaii ANFIS este alegerea seturilor de date de antrenare, testare i validare.

39

n vederea optimizrii regulatorului fuzzy PD s-a realizat un set de date de antrenare prin prelevarea datelor obinute din simularea funcionrii sistemului de reglare pentru cazul rspunsului indicial. Datele au fost prelevate chiar de la intrrile i ieirea regulatorului, deoarece ANFIS genereaz doar fiierul .fis, el neputnd fi extins la ntreaga aplicaie. A rezultat un fiier de date cu dimensiunea 25 x 3. Parametrii simulrii generatoare de date de antrenare pot fi astfel alei nct s reprezinte o mbuntire a funcionrii, care nu ar fi putut fi obinut prin ajustarea manual. Convergena nvrii i parametrii ANFIS-ului se observ n fig. 5.5.

Fig. 5.5. Convergena nvrii pentru un set de date reprezentnd un rspuns indicial Din pcate regulatorul astfel obinut produce un rspuns indicial de slab calitate, cu o tendin nspre suprareglaj i oscilaii pe durata regimurilor tranzitorii. Aa cum se va observa n continuare, principala cale de mbuntire a calitii sistemelor neuro-fuzzy este alegerea unui set de date de antrenare ct mai adecvat.

40

5.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 pornete de la ideea obinerii unui set de date de antrenare bogat, care s cuprind o comportare mai nuanat a regulatorului PD, respectiv un semnal de intrare mai complex, care pe lng rspunsul indicial s mai cuprind i alte elemente.

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

1 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

intrare u

iesire y

t [s]

Fig. 5.7. Rspunsul sistemului de reglare cu regulator PD liniar Fiierul de date de antrenare obinut are dimensiunea 123 x 3. Reprezentarea grafic a datelor de antrenare apare n fig. 5.8.

41

1 e 0 -1 40 20 de 0 -20 40 20 c 0 -20 0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140

20

40

60

80

100

120

140

Fig. 5.8. Datele de antrenare n urma ncrcrii datelor de antrenare i a alegerii variantei n care ANFIS va genera un FIS cu dou intrri avnd 7 respectiv 5 TL (o baz de 7 x 5 reguli), se obine antrenarea convergent din fig. 5.9.

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

42

Regulatorul PD Sugeno generat de RN este prezentat n figura urmtoare. Se remarc variabila sa de ieire alctuit din 35 de valori diferite (singleton), fiecare dintre ele fiind optimizat n cursul antrenrii. n acest caz a fost aleas opiunea linear pentru MF de ieire.

Fig. 5.10. Regulatorul neuro-fuzzy cu baza de reguli 7 x 5 n cazul alegerii opiunii constant convergena nvrii este chiar mai bun (vezi fig. 5.11), ceea ce nu crete ns n mod necesar calitatea regulatorului.

43

Fig. 5.11. Antrenarea sistemului neuro-fuzzy cu baza de reguli 7 x 5 (constant) Rspunsul produs de ctre regulatorul astfel obinut este prezentat n fig. 5.12.

1 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. 5.12. Rspunsul sistemului neuro-fuzzy cu baza de reguli 7 x 5

44

Marele avantaj al RN, capacitatea de nvare automat, poate fi ilustrat prin varianta regulatorului cu doar 15 reguli, avnd baza de reguli cu dimensiunea 5 x 3. Rspunsul acestui regulator, prezentat n fig. 5.13, foarte asemntor cu rspunsurile regulatoarelor mai complicate, justific alegerea sa pentru aplicaii, avnd n vedere simplitatea i costul mai redus, la performane asemntoare.
1 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 t [s] 12 14 16 18 20

Fig. 5.13. Rspunsul 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 mulimilor fuzzy de la ieire, n acest caz linear, este prezentat n figura urmtoare. Aceast fereastr de dialog apare prin acionarea butonului Generate FIS.

Fig. 5.14. Generarea FIS-ului asociat ANFIS

45

Dezavantajul principal al RN este acela c ele mascheaz cunotinele referitoare la structura i ajustarea lor. Din valorile numerice ale TL variabilei de ieire, ca de altfel din valorile parametrilor oricrui 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 aplicaie poate eua.

46