Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Marius M. Bla
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
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:
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.
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.
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.
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
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
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.
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
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
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
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
23
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.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.
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
27
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
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.
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).
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])
31
FSe 1 Step 25 du/dt Derivative 1 FSde Lookup Table (2-D) FSc Saturation 1 s2 +2s+1 Transfer Fcn Scope
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
0.5
u & out
-0.5
-1 0 1 2 3 4 5 t [s] 6 7 8 9 10
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
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
36
37
Undo
Zona de afiare
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;
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
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
Fig. 5.6. Sistem de reglare cu regulator PD liniar pentru generarea datelor de antrenare
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
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.
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.
t [s]
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.
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