Documente Academic
Documente Profesional
Documente Cultură
2009-Dosoftei Catalin PHD 2009 PDF
2009-Dosoftei Catalin PHD 2009 PDF
ASACHI IAI
FACULTATEA DE AUTOMATIC I CALCULATOARE
Conductor tiinific
Profesor Dr. Ing. Corneliu Boan
2009
Meniuni
Cuprins
Capitolul 1 Introducere .......................................................................... 1
Capitolul 2 Inteligena computaional ................................................ 4
2.1 Inteligena artificial baza inteligenei computaionale ................................
2.2 Subdomeniile inteligenei computaionale ...................................................
2.3 Logica fuzzy .................................................................................................
2.3.1 Noiuni fundamentale ....................................................................
2.3.2 Funcii de apartenen ....................................................................
2.3.3 Conectori i operatori ai mulimilor fuzzy .....................................
2.3.4 Reguli i raionamente fuzzy .........................................................
2.4 Reelele neuronale artificiale ........................................................................
2.4.1 Funciia de activare ........................................................................
2.4.2 Antrenarea reelei neuronale ..........................................................
2.5 Calculul evolutiv ...........................................................................................
2.5.1 Tehnicile evolutive direcii ale calculului evolutiv .....................
2.5.2 Structura unui algoritm evolutiv i etapele proiectrii sale ...........
2.5.3 Aplicaiile sistemelor evolutive ..............................................
2.6 Tehnici hibride Soft-computing .................................................................
2.6.1 Sisteme hibride neuro-fuzzy ..........................................................
2.6.1.1 Reele neuronale fuzzy ......................................................
2.6.1.2 Perceptronul fuzzy .............................................................
2.6.1.3 Sisteme fuzzy neuronale ....................................................
2.6.1.4 Sisteme neuro-fuzzy ..........................................................
2.6.1.5 Sisteme ANFIS ..................................................................
2.6.2 Sisteme hibride neuro-genetic .......................................................
2.6.3 Sisteme hibride genetic-fuzzy ........................................................
Capitolul 3 Regulatoare fuzzy ..........................................................................
3.1 Regulatoare automate..............................................................................
3.2 Structura regulatorului fuzzy.........................................................................
3.2.1 Modulul de fuzzificare....................................................................
3.2.2 Baza de cunostine..........................................................................
3.2.2.1 Baza de reguli.....................................................................
3.2.2.2 Mecanismul de determinare a regulilor de reglare fuzzy ..
3.2.3 Sistemul de inferen......................................................................
3.2.4 Modulul de defuzzificare................................................................
3.2.4.1 Metoda maximului.............................................................
3.2.4.2 Metoda centrului de greutate..............................................
3.2.4.3 Metoda bisectoarei
5
7
8
8
11
13
15
21
25
26
28
29
31
34
35
36
39
40
43
44
46
49
51
54
54
55
55
58
59
62
64
70
71
73
74
75
76
76
77
78
79
79
79
ii
81
84
86
97
105
110
115
115
115
117
118
119
120
124
124
131
136
145
155
161
167
168
169
171
173
180
184
Introducere
Capitolul 1
Introducere
Inteligena poate fi definit ca fiind capacitatea de a sesiza anumite raporturi existente ntre
obiecte si fenomene. Aceast sesizare poate fi senzorial (la animale) i n acest caz ea se datoreaz
reflexelor condiionate, sau intelectual (la om) i aici intervin limbajul si conceptele.
Inteligena computaional studiaz crearea de ageni inteligeni. Un agent inteligent este
un sistem care acioneaz n mod inteligent: ceea ce face este adecvat cu circumstanele i cu
obiectivul su, este flexibil la schimbri de mediu i obiective, nva din experien i ia
deciziile adecvate, date fiind limitele perceptive i calculul finit.
Inteligena computaional este intim legat de disciplina informaticii. Dei exist
numeroi oameni de tiin care nu lucreaz n domeniul calculatoarelor i studiaz inteligena
computaional, o mare parte, dac nu cea mai mare parte a cercetrii, se desfoar n cadrul
departamentelor de informatic. Considerm acest lucru adecvat, din moment ce studiul
calculului este central n cadrul inteligenei computaionale. nelegerea algoritmilor, structurilor
de date i a complexitii combinatorii este esenial pentru construirea de maini inteligente.
Cum inteligena computaional este o tiin, cercetrile n acest domeniu se bazeaz, ca
metod tiinific, pe emiterea i testarea de teorii verificabile. Teoriile inteligenei
computaionale privesc modul n care probleme lumii reale pot fi reprezentate i rezolvate de
ctre maini. Teoriile sunt susinute empiric prin construirea de aplicaii, a cror calitate e
judecat, n parte, conform principiilor informatice tradiionale. Nu se poate realiza inteligena
computaional fr a emite teorii i a construi aplicaii; ele sunt legate indisolubil.
Inteligena computaional, aa cum a fost denumit de Bezdek, [Bezdek, 1992], are ca
obiectiv modelarea inteligenei biologice. Din acest punct de vedere, ea este similar domeniului
numit inteligen artificial. Spre deosebire de inteligent artificial, care este bazat pe noiunea
de cunotin, inteligena computaional este o modelare numeric a inteligenei biologice.
Putem vorbi deci de trei tipuri de inteligen: biologic, artificial i computaional.
Tehnicile aparinnd inteligenei computaionale sunt logica fuzzy, reelele neuronale
artificiale i calculul evolutiv. Tehnicile inteligenei computaionale se utilizeaz n abordarea
unor probleme ce nu pot fi rezolvate prin tehnici tradiionale sau pentru care metodele clasice
sunt costisitoare. Se folosesc, de regul, atunci cnd nu se dispune de suficiente informaii
1
Introducere
despre problem, pentru a elabora un model bine formalizat, sau atunci cnd aceste informaii
sunt afectate de erori.
Teza abordeaz domeniul inteligenei computaionale din perspectiva controlului automat
al proceselor. Tema propus abordeaz un domeniu de mare interes i actualitate, atestat att prin
numrul mare de cercetri, ct i prin aplicaiile industriale din ce n ce mai frecvente i mai
performante.
Teza este constituit din 6 capitole, dintre care un capitol introductiv i un capitol cu
concluzii, bibliografie i dou anexe.
n capitolul 2 se face o expunere a principalelor aspecte teoretice legate de domeniul
inteligenei computaionale. Metodele neconvenionale ale inteligenei computaionale utilizate
pentru controlul automat al proceselor tehnice se bazeaz pe tehnici de implementare a
raionamentului uman. Punctul de pornire al inteligenei computaionale este inteligena
artificial, care grupeaz tehnicile de rezolvare a problemelor "ru-puse" sau a celor pentru
care identificarea este costisitoare. Pentru fiecare din cele trei direcii ale inteligenei
computaionale se face referire la elementele de baz, la suportul matematic care susine intreaga
construcie ulterioar. Sunt prezentate avantajele i dezavantajele fiecrei tehnici.
Noiunile fundamentale ale logicii fuzzy vor sta la baza principalelor contribuii teoretice i
practice prezentate n aceast lucrare. Pentru a nelege mecanismul de inferen al
raionamentului aproximativ folosit n logica fuzzy, n acest capitol sunt prezentate i explicate
noiunile: variabile lingvistice, propoziii fuzzy primare , propoziii fuzzy compuse i proprieti
ale acestora, propoziii fuzzy compuse dac-atunci, funcii de implicaii fuzzy, cu cele mai
reprezentative expresii ale acestora.
Sunt prezentate noiunile de baz ale reelelor neuronale artificiale, principalele
proprietile care stau la baza aplicrii reelelor neuronale n cadrul conducerii proceselor i
domeniul calculului evolutiv Plecnd de la eliminarea dezavantajelor i combinarea avantajelor
utilizrii celor trei subdomenii ale inteligenei computaionale (logica fuzzy, reelele neuronale i
calculul evolutiv) n controlul proceselor se prezint o sintez a sistemelor hibride neuro-fuzzy,
neuro-genetice i genetic-fuzzy.
Capitolul 3 prezint conceptele care stau la baza implementrii regulatoarelor cu logic
fuzzy. Sunt prezentate detaliat prile componente ale unui regulator cu logic fuzzy: blocul
pentru fuzzificare, baza de cunotine, sistemul de inferen i blocul pentru defuzzificare.
Sunt explicate patru tipuri de raionament fuzzy utilizate pentru implementarea unui
regulator cu logic fuzzy, de tip Mamdani, Larsen, Sugeno &Takagi i Tsukamoto. Legile de
reglare clasice pot fi implementate n funcionarea regulatoarelor cu logic fuzzy. Sunt
prezentate regulatoarele fuzzy cu comportare tip cvasi-P, cvasi-PI, cvasi-PD i cvasi-PID.
n cel de-al 4-lea capitol sunt prezentate metode de inferen n bazele rare de reguli fuzzy.
n bazele rare de reguli fuzzy atunci cnd observaiile corespund unor goluri din regulile
premiz, regulile de inferen fuzzy pentru bazele dense de reguli fuzzy nu pot fi aplicate.
2
Introducere
Pentru bazele rare de reguli fuzzy cu premize duble, cnd observaiile aparin unor goluri
din regulile premiz, sunt dezvoltate trei metode noi de inferen fuzzy. Sunt prezentate trei
metode noi de raionament n baze rare de reguli fuzzy cu premize duble, pentru cazurile n care
premizele regulilor i observaiile au toate: funcii de apartenen trapezoidale; funcii de
apartenen triunghiulare; sau funcii de apartenen combinate, triunghiulare i trapezoidale.
Pentru fiecare caz n parte sunt detaliate aspectele teoretice i relaiile de calcul necesare
pentru justificarea metodelor noi de inferen propuse. Plecnd de la analogia dintre tabelele de
decizie de tip Mamdani i bazele rare de reguli fuzzy se propune o metod de calcul a mrimii de
ieire dintr-un tabel de decizie atunci cnd mrimile de intrare aparin golurilor din baza de
reguli ale tabelului. Metoda dezvoltat poate fi aplicat n implementarea regulatoarelor fuzzy cu
tabele de decizie de tip Mamdani pentru obinerea unor mrimi de comand cu variaii continue
n universurile lor de discurs.
Capitolul 5 prezint la nceput principalele tipuri de structuri cu sisteme de reglare cu
regulatoare cu logic fuzzy. Se propune o strucur nou de sistem optimal, bazat pe un regulator
fuzzy pentru urmrirea unei traiectorii optimale ideale. Sunt prezentate etapele de dezvoltare a
structurilor fuzzy de control precum i metode de implementare a regulatoarelor cu logic fuzzy
pentru aplicaii diverse.
n acest capitol sunt prezentate ncercrile experimentale prin care s-au verificat soluiile
teoretice propuse. Metodele noi de inferen n baze rare de reguli cu premize duble, extinse la
regulatoarele cu logic fuzzy cu tabele de decizie de tip Mamdani, au fost validate att prin
simulare ct i prin implementarea unor sisteme de reglare fuzzy n timp real a unor procese, cu
dinamic rapid i cu dinamic lent, existente n dotarea Catedrei de Automatic i Informatic
Aplicat din cadrul Facultii de Automatic i Calculatoare din Iai. Sunt prezentate cinci studii
de caz: sistem de reglare fuzzy a vitezei unui motor de curent continuu; sistem de poziionare
optimal cu regulator fuzzy; sistem de reglare fuzzy a vitezei unui servomotor cu magnei
permaneni; sistem de reglare fuzzy a temperaturii unei baterii de nclzire; i sistem de reglare
fuzzy a nivelului unui rezervor.
n ultima parte a acestui capitol este prezentat modelul neuro-fuzzy ANFIS al unui proces
complex, cazan cu abur, din cadrul CET Iai.
n capitolul 6, dup prezentarea sintetic a tezei de doctorat, sunt enumerate contribuiile
originale n domeniul abordat i sunt conturate direcii viitoare de cercetare n concordan cu
studiile teoretice i experimentale efectuate n tez.
Lucrarea se ncheie cu o bibliografie i dou anexe cu programe n MATLAB i C pentru
dou aplicaii elaborate.
Inteligena computaional
Capitolul 2
Inteligena computaional
Inteligena computaional
relaie funcional explicit construit pe baza modelului asociat problemei.
n cazul problemelor ru-puse, ns, o astfel de relaie explicit nu poate fi pus n
eviden, rolul sistemului care rezolv problema fiind de a dezvolta o relaie de asociere
ntrebare-rspuns pe baza unor exemple.
Procesul prin care sistemul i formeaz modelul propriu al problemei i pe baza acestuia
relaia de asociere se numete nvare.
Clasificarea strategiilor de nvare - n ordinea creterii complexitii mecanismelor de
inferen:
- nvarea pe de rost : nici o inferen nu se realizeaz; cunotinele sunt direct implantate.
- nvarea cu instructor: o surs organizat de cunotine (profesor) furnizeaz informaiile;
aceste informaii sunt selectate, reformulate i integrate cu setul deja existent de cunotine.
- nvarea prin deducie: printr-un proces de inferen de tip deductiv, unele concluzii sunt
obinute pe baza setului de cunotine deja dobndit; aceste concluzii sunt apoi memorate.
- nvarea prin analogie: transform cunotinele actuale care se potrivesc (prin similitudine)
noului concept ntr-o form uor de folosit n noua situaie.
- nvarea prin inducie.
- nvarea din exemple (achiziie de concepte): pe baza unor exemple i contra-exemple
prezentate (de supervizor), se deduce o descriere general a exemplelor pozitive i a
exemplelor negative.
- nvarea prin observare i descoperire (nesupervizat): sunt cutate regulile generale care
s descrie toate sau aproape toate observaiile fcute, n absena unui profesor (supervizor)
care s ofere o ndrumare.
Pe de alt parte, din punctul de vedere al complexitii rezolvrii i al relevanei rspunsului
problemele pot fi clasificate n:
Probleme pentru care este esenial obinerea unui rspuns exact indiferent de resursele
implicate - acestea necesit utilizarea unor tehnici exacte.
Probleme pentru care este preferabil sa se obin un rspuns "aproximativ" folosind
resurse "rezonabile" dect un rspuns exact, dar folosind resurse foarte costisitoare.
Inteligena computaional
aspecte din domeniul calculatoarelor; aici s-a pus problema creierii unor maini de calcul
inteligente. La aceasta conferin John Mc Carthy a introdus conceptul de inteligen
artificial i astfel se consider c acesta este momentul n care aceasta s-a desprins din
tiina calculatoarelor, devenind un domeniu independent. Conferina respectiv poate fi privit
ca nceput al inteligenei artificiale i pentru c Newell, Shaw i Simon au descris primul
program n care calculatorul era utilizat ca procesor simbolic, "Logical Theorist"; acesta poate fi
considerat primul program de inteligen artificial. Aceeai cercettori i-au pus i problema
realizrii unui limbaj capabil sa modeleze posibilitile umane de procesare a informaiilor. Ei au
creat limbajul IPL (Information Processing Language). Limbajul care avea sa se impun n acest
domeniu a fost ns cel dezvoltat de John Mc Carthy, i anume LISP (LISt Processing).
tiina care a avansat, chiar nainte de apariia calculatoarelor, in domeniul unor
construcii inteligente, artificiale, obinnd unele rezultate care prin generalitatea lor au anticipat
posibilitatea "mecanizrii" procesului de efectuare a raionamentelor, este logica formal sau
logica matematic.
Controlerele inteligente utilizeat modelele empirice care formeaz cadrul cu privire la
cum i de ce procesul controlat se comport ntr-un mod special, n loc de a se axa pe modele
matematice explicite ale instalaiei. Problema fundamental n dezvoltarea unui controler
inteligent este deducerea i reprezentarea cunotinelor i experienei operatorilor umani ntr-o
manier care este rspunztoare de prelucrarea computaional.
n controlul convenional, cunotinele despre procesul ce se dorete a fi controlat (de
exemplu, modelul su) sunt utilizate implicit n proiectarea controlerului, n timp ce n controlul
inteligent, cunotinele despre proces sunt diferite de mecanismul de deducie a controlului.
Acest lucru este prezentat schematic n figura 2.1:
Informaii n
timp real
Mecanism de
deducie
Baza de
cunotine
Inteligena computaional
Inteligena computaional
Figura 2.2 arat cum inteligena computaional poate fi clasificat n funcie de forma de
cunoatere (de exemplu, structurat/nestructurat) i de modul n care aceste cunotine sunt
prelucrate (de exemplu, simbolic/numeric). Pentru aplicaii de control, cunotinele pot fi
structurate sau nu n timp ce prelucrarea este invariabil numeric. Sistemele expert, dei apar n
aceast clasificare sunt tratate de teoria inteligenei artificiale.
PRELUCRARE
Numeric
Simbolic
Structurate
Sistemele
expert
Sistemele
fuzzy
CUNOTINE
Sistemele
neuronale
Nestructurate
(2.1)
8
Inteligena computaional
Mulimea fuzzy A n universul X este mulimea:
A={(x, A (x))/ xX}
(2.2)
Mulimile fuzzy pot fi reprezentate deci ca mulimi de perechi ordonate ale elementelor
lor generice x i ale gradelor funciilor lor de apartenen. O notaie echivalent pentru o pereche
ordonat
(x, A (x)) este A (x)/x.
(2.3)
(2.4)
O mulime fuzzy A al crei suport este format dintr-un singur element x X pentru care
A ( x ) = 1 se numete singleton.
Nucleul unei mulimi fuzzy A este dat de mulimea elementelor x A pentru care
A (x) = 1:
nucleu( A) = {x X / A ( x) = 1}
(2.5)
O mulime fuzzy A este normal dac nucleul su este o mulime nevid (exist cel puin
un element x A astfel nct A ( x ) = 1 ).
Un punct de ncruciare al unei mulimi fuzzy A este reprezentat de un element
x X pentru care A ( x ) = 0.5 :
Inteligena computaional
incrucisare( A) = {x X / A ( x) = 0.5}
(2.6)
funcie de
apartenen
singleton
fuzzy
0.5
uni vers de
discurs
univers de
discurs
nucleu
nucleu i suport
puncte de
ncruciare
suport
(2.7)
(2.8)
O mulime fuzzy A este convex dac i numai dac, pentru orice x1 , x 2 X i orice
[0,1] are loc relaia:
A ( x1 + (1 ) x 2 ) min{ A ( x1 ), A ( x 2 )}
(2.9)
Altfel spus, mulimea fuzzy A este convex dac toate tieturile- ale sale, sunt mulimi convexe
(figura 2.4).
10
Inteligena computaional
Un numr fuzzy A este o mulime fuzzy ce are ca univers de discurs axa numerelor reale i
care satisface condiiile de normalitate i convexitate enunate anterior.
Funcie
de
apartenen
Funcie
de
apartenen
width(A) = x1 x 2 ,
(2.10)
unde A ( x1 ) = A ( x 2 ) = 0.5 .
O mulime fuzzy A este simetric dac funcia sa de apartenen este simetric n jurul unui
punct c X :
A (c + x ) = A (c x ), x X
(2.11)
11
Inteligena computaional
xa
0,
x a
,
triunghi( x; a , b, c) = b a
cx
,
cb
0,
axb
bxc
(2.12)
cx
xa cx
,
},0}
ba cb
(2.13)
x b
,
b a
trapez( x; a , b, c, d ) =
1,
d x
d c ,
0,
xa
axb
bxc ,
(2.14)
cxd
dx
xa dx
,1,
},0}
ba dc
(2.15)
1 x c 2
gauss( x; c, ) = exp
2
(2.16)
12
Inteligena computaional
clopot( x; a , b, c) =
(2.17)
2 b
xc
1+
a
unde b este, de regul, un parametru real pozitiv. Acest tip de funcie de apartenen reprezint o
generalizare a distribuiei Cauchy folosit n teoria probabilitilor. Din acest motiv, ea se
ntlnete n literatur i sub denumirea de funcie de apartenen Cauchy.
Inteligena computaional
(2.18)
2) mulimea fuzzy A e o submulime a mulimii fuzzy B (AB) dac i numai dac xX,
A(x) B(x)
A.
(2.19)
(2.20)
(2.21)
(2.22)
(2.23)
C.
D.
(2.24)
(2.25)
Inteligena computaional
(x) =PROD(1(x),2(x))=1(x)*2(x), xX
(2.26)
E.
Operatorul sum (SUM)
Operatorul sum constituie o alternativ n evaluarea conexiunilor SAU prin crearea valorii
medii conform relaiei:
(x)=SUM(1(x),...,m(x))=(1/m)[1(x)+...+m(x)], xX
(2.27)
F.
Operatorul MIN-MAX
Asigur formarea rezultatului evalurii unor conexiuni prin contribuia ponderat a operatorilor
MIN-MAX conform relaiei:
(x)=*MIN(1(x),2(x))+(1-)*MAX(1(x),2(x), xX
(2.28)
n care [0,1].
- prin codificarea lui se obine o subiectivizare a rezultatului.
2.3.4 Reguli i raionamente fuzzy
Relaiile fuzzy pot fi combinate prin intermediul operaiei de compunere. Au fost propuse
mai multe modaliti de compunere a relaiilor fuzzy, cea mai folosit fiind compunerea maxmin. [Jang, et al., 1997].
Fie R1 i R2 dou relaii fuzzy binare definite pe X x Y i, respectiv, pe Y x Z. Compunerea
max-min a relaiilor R1 i R2 este o mulime fuzzy definit astfel:
(2.29)
(2.30)
15
(2.31)
Inteligena computaional
unde x X , y Y i z Z .
O variabil lingvistic este caracterizat de un cvintuplu (x, T(x), X, G, M) ale crui
elemente au urmtoarele semnificaii:
- x reprezint numele variabilei;
- T(x) este mulimea valorilor lingvistice ale variabilei x;
- X este universul de discurs al variabilei;
- G este regula sintactic ce genereaz termenii din mulimea T(x);
- M este regula semantic care asociaz fiecrei valori lingvistice A din T(x) nelesul ei M(A)
care este exprimat printr-o mulime fuzzy definit pe universul de discurs X.
Exemplu: Dac x = "vrsta" este interpretat ca fiind o variabil lingvistic, atunci mulimea
valorilor sale T(x) poate fi format din:
T(x)={tnr, foarte tnr, nu foarte tnr,
de vrst mijlocie, nu de vrst mijlocie,
btrn, foarte btrn, mai mult sau mai puin btrn, nu foarte btrn,}
unde fiecare termen al mulimii T(x) este caracterizat de o mulime fuzzy peste un univers de
discurs X = [0,100], aa cum este prezentat n figura 2.6. Regula sintactic se refer la modul n
care se genereaz valorile lingvistice din mulimea T(x), iar regula semantic definete o funcie
de apartenen fiecrei valori lingvistice (fig. 2.6).
1
Tnr
Btrn
Vrst mijlocie
Foarte
tnr
0.5
Foarte
btrn
20
40
60
80
100
X = vrsta
NOT(A) = {(x,1 A ( x )) / x X}
not
A "I" B = A B = {( x, A ( x ) B ( x )) / x X}
16
(2.32)
(2.33)
Inteligena computaional
not
A "SAU" B = A B = {( x, A ( x) B ( x)) / x X }
(2.34)
n care A i B sunt dou valori lingvistice ale aceleiai variabile lingvistice ale cror neles este
determinat de funciile de apartenen A ( x ) i B ( x ) .
Relaii fuzzy "dac atunci"
O relaie (regul) fuzzy "dac atunci" are forma:
dac x este A atunci y este B,
(2.35)
(2.36)
(2.37)
Inteligena computaional
observaia: "x este A"
regula: dac "x este A" atunci "y este B"
concluzia: "y este B"
n raionamentul uman, regula "modus ponens" este aplicat ntr-o manier aproximativ:
observaia: "x este A' "
regula: dac "x este A" atunci "y este B"
concluzia: "y este B' "
unde A' este apropiat de A i B' este apropiat de B. Dac A, B, A' i B' sunt mulimi fuzzy
definite pe anumite universuri de discurs, atunci acest tip de raionament se numete raionament
fuzzy sau raionament "modus ponens" generalizat.
Fie A, A' dou mulimi fuzzy definite pe universul de discurs X i B, B' dou mulimi fuzzy
definite pe Y. Se consider c regula fuzzy:
dac x este A atunci y este B
(2.38)
se exprim sub forma unei relaii fuzzy R definit pe X x Y. Atunci mulimea fuzzy B' indus de
faptul x este A' i regula fuzzy (2.38) are funcia de apartenen:
B' ( y) = max min[ A ' ( x ), R ( x , y)] B' = A'oR ,
xX
(2.39)
unde A ' ( x ), R ( x, y) sunt funcia de apartenen a mulimii fuzzy A' i, respectiv, funcia de
apartenen a relaiei fuzzy binare R.
O regul fuzzy cu o premiz
O regul fuzzy cu o premiz este de forma celei din expresia (2.38). Funcia de aparten a
mulimii fuzzy B' indus de regula (2.38) i de faptul x este A' dat de relaia (2.39) se poate
rescrie sub forma:
B' ( y) = max[ A ' ( x ) A ( x )] B ( y) = w B ( y)
xX
(2.40)
Din relaia (2.40) se observ c mai nti se determin gradul de suprapunere, w, al mulimilor
fuzzy A i A'. Apoi, funcia de apartenen a mulimii B' se obine trunchiind funcia de
apartenen a mulimii fuzzy B corespunztor gradului de suprapunere w. Intuitiv, w reprezint
msura ncrederii acordate premizei regulii fuzzy activat de faptul x este A'. Acesta se
18
Inteligena computaional
propag mai departe prin intermediul regulii fuzzy dac atunci rezultnd gradul de ncredere
acordat consecinei regulii ce nu poate depi valoarea w (fig. 2.7).
B
B
w
y
(2.41)
Aceast regul fuzzy poate fi privit ca o relaie fuzzy ternar, Rm dat de:
R m = {[( x , y, z), A ( x ) B ( y) C (z)] /( x , y, z) X Y Z}
Funcia de apartenen a mulimii C': C' = (A'B' ) o R m ,
care
(2.42)
reprezint
concluzia
(2.43)
yY
Inteligena computaional
w 1 w 2 se numete putere de activare sau grad de ndeplinire a regulii fuzzy i reprezint
msura n care partea de premiz a regulii este satisfcut de faptul x este A' i y este B'
(figura 2.8).
Mulimea fuzzy C' este dat de:
w1
C
w2
y
w= min(w1,w2)
(2.44)
Inteligena computaional
Reguli fuzzy multiple cu premize multiple
Regulile fuzzy multiple cu premize multiple sunt formate din dou sau mai multe reguli fuzzy cu
premize multiple. Un exemplu este urmtorul:
observaia: x este A' i y este B'
regula1: dac x este A1 i y este B1 atunci z este C1
regula2: dac x este A2 i y este B2 atunci z este C2
concluzie: z este C'
(2.45)
Notnd cu R1 prima regul i cu R2 cea de a dou regul, acestea fiind exprimate prin relaii
fuzzy, atunci mulimea fuzzy C', care reprezint concluzia raionamentului, este dat de:
(2.46)
Inteligena computaional
centimetri, putnd ajunge ns la 1-1,5 metri. Fiecare neuron are un singur axon i mai multe (1020) de dendrite.
O schi a unui neuron este prezentat n figura 2.9:
Inteligena computaional
Cunotinele sunt depozitate nu n unitile de procesare (neuroni), ci n conexiunile
interneuronale, cunoscute drept ponderi sinaptice. [Haykin S., 1999]
Procedura folosit pentru a executa procesul de nvare se numete algoritm de nvare,
funcia cruia este de a modifica ponderile sinaptice ale reelei ntr-un stil sistematic pentru a
atinge obiectivul dorit de proiectare. Printre numeroasele proprietai interesante ale unei reele
neuronale, cea mai semnificativ este abilitatea acesteia de a nva prin intermediul mediului
nconjurtor i, prin aceasta, s-i mbunteasc performanele; creterea performanelor are loc
n timp i conform cu unele reguli prestabilite. O reea neuronal i nva mediul printr-un
proces iterativ de ajustri aplicate conexiunilor i pragurilor sale sinaptice. n mod ideal, reeaua
devine mai inteligent dup fiecare iteraie a procesului de nvare.
n contextul reelelor neuronale vom defini astfel nvarea: un proces prin care parametrii
variabili ai unei reele neuronale se adapteaz printr-un proces continuu de stimulare din partea
mediului n care este inclus. Tipul de nvare este determinat de modul n care au loc
schimbrile parametrilor.
Aa cum fiinele umane acumuleaz cunotine prin nvare, reelele neuronale nva
un comportament (realizarea unei funcii) prin antrenare i nu prin programare algoritmic.
Fiecare unitate funcional primete cteva semnale de intrare pe care le prelucreaz i produce
un semnal de iesire. Interaciunea multor uniti cu funcionare simpl conduce la un sistem
care poate s rezolve probleme complexe. Funcionarea sistemului este controlat de un set
numeros de parametri ajustabili, care permit acestuia s se adapteze ct mai fidel mediului
informaional n care este amplasat (specific problemei de rezolvat).
Una dintre cele mai importante caracteristici ale unui sistem neuronal este caracterul su
adaptiv. Aceste sisteme sunt adecvate, astfel, pentru problemele ce sunt dificil sau chiar
imposibil de formalizat, pentru ele existnd doar exemple de rezolvare.
O reea neuronal este definit de ansamblul urmtoarelor enunuri:
1) O reea neuronal este o structur paralel, de prelucrare distribuit a informaiei, n
forma unui graf orientat.
2) Un graf orientat este un obiect geometric format dintr-un set de puncte (denumite
noduri) unite prin arce orientate (denumite legturi).
3) Nodurile reelei se numesc elemente de prelucrare.
4) Legturile reelei se numesc conexiuni. Fiecare conexiune funcioneaz ca o cale
unidirecional de propagare instantanee a unui semnal.
5) Fiecare element de prelucrare poate avea la intrare orict de multe conexiuni.
6) Elementele de prelucrare pot avea memorie local.
7) Fiecare element de prelucrare conine o funcie de transfer.
23
Inteligena computaional
Nodurile grafului orientat aflate pe acelai nivel se constituie ntr-un strat. Reelele pot
avea un singur strat (structura cea mai simpl) sau cel puin dou straturi, din care ultimul se
numete strat de ieire. Fluxul informaional se propag prin reea dinspre intrare, trecnd prin
straturile interne, ctre stratul de ieire. Conexiunile posibile sunt: nainte, napoi, lateral,
recurent. Figura 2.10 sintetizeaz elementele de structur enumerate.
legturi
nainte
legturi
napoi
legturi
recurente
u1
y1
u2
y2
legturi
laterale
intrri
ieiri
uN
yM
strat
de intrare
straturi
interne
strat
de ieire
x = wT u = wi u i
i =1
24
(2.47)
Inteligena computaional
u1
w1
w2
u2
wN
uN
funcia liniar:
y = (x) = x ;
e ( x ) e ( x )
(2.49)
(2.50)
1, x 1
y = x , x < 1 ;
1, x 1
(2.51)
e ( x ) + e ( x )
funcia sigmoid:
y = sig ( x ) =
(2.48)
1
1 + e ( x )
funcia limitator:
funcia Gauss:
2
y = G ( x c) = e ( x c ) ;
25
(2.52)
Inteligena computaional
-
(2.53)
n aceste expresii, este un parametru care se numete valoare de prag sau deplasament.
Semnificaia biologic a acestui parametru este valoarea ce trebuie depit de starea intern a
neuronului, pentru ca acesta s devin activ. Matematic, deplasamentul realizeaz o translare a
mrimii de activare a neuronului pe direcia axei absciselor.
2.4.2
e = y y d . n figura 2.12 este prezentat, schematic, principiul antrenrii supervizate a unei reele
neuronale.
26
Inteligena computaional
RNA
+
e
Procedura
de
antrenare
yd
Inteligena computaional
permite o implementare paralel a reelelor neuronale, ceea ce conduce la o prelucrarea rapid a
informaiei;
- au capacitatea de a nva i de a se adapta: o reea neuronal nva s reproduc la
ieirea sa valori corespunztoare datelor din setul de antrenare; o reea neuronal antrenat n
mod adecvat este capabil s generalizeze (realiznd fie o interpolare, fie o extrapolare) atunci
cnd are la intrare valori ce nu sunt cuprinse n setul de antrenare; de asemenea, reelele
neuronale artificiale pot fi adaptate on-line;
- sunt sisteme multivariabile deoarece prelucreaz informaii de la mai multe intrri i pot
avea una sau mai multe ieiri; aceast proprietate permite folosirea reelelor neuronale n analiza
sistemelor multivariabile.
Inteligena computaional
cromozomului se numesc loci, iar valorile pe care le pot lua se numesc alele.
- Generaie. Etapa n evoluia unei populaii. Daca vedem evoluia ca un proces iterativ
n care o populaie se transform n alt populaie, atunci generaia este o iteraie n cadrul
acestui proces.
- Selecie. Procesul de selecie natural are ca efect supravieuirea indivizilor cu grad
ridicat de adecvare la mediu (fitness mare).
- Reproducere. Este procesul prin care se trece de la o generaie la alta. Indivizii noii
generaii motenesc caracteristici de la precursorii lor (prini), dar pot dobndi i
caracteristici noi, ca urmare a unor procese de mutaie care au un caracter ntmpltor. n
cazul n care n procesul de reproducere intervin cel puin doi prini caracteristicile motenite
ale urmaului (fiului) se obin prin combinarea (ncruciarea) caracteristicilor prinilor.
2.5.1 Tehnicile evolutive direcii ale calculului evolutiv
Pentru gsirea soluiei se utilizeaz o populaie de cuttori. Aceast populaie este
supus unui proces de evoluie caracterizat prin: selecie, ncruciare, mutaie. Pentru unele
probleme, rezolvarea const n gsirea unei configuraii (element al spaiului soluiilor posibile)
care satisface anumite condiii (respect restricii specifice problemei i/sau optimizeaz un
criteriu). n aceast categorie intr clasica problem a comis-voiajorului (configuraia cutat
fiind un circuit n graful asociat problemei, care satisface restricia de a trece o singur dat prin
fiecare nod i minimizeaz costul traseului) precum i alte probleme de optimizare
combinatorial.
O metod general de rezolvare a acestor probleme este o strategie de cutare n spaiul
configuraiilor posibile. Cutarea se poate realiza folosind un singur explorator (ca in strategiile
de tip gradient sau n cele de tip "simulated annealing") sau o populaie de exploratori (n cazul
algoritmilor evolutivi).
n oricare dintre situaii, o cutare eficient presupune asigurarea unui echilibru ntre
urmtoarele procese:
- Explorarea spaiului de cutare. Permite descoperirea de noi configuraii sau de ci care
conduc la configuraii mai bune. Este asigurat atunci cnd nu se impun condiii prea
restrictive la construirea unei noi configuraii. Explorarea creeaz premizele unei cutri cu
un caracter global.
- Exploatarea informaiei despre problema dobndit pn la momentul curent al cutrii.
Este asigurat atunci cnd n stabilirea unei noi configuraii se utilizeaz informaiile colectate pe
parcursul procesului de cutare. Exploatarea pune accentul pe cutarea local.
Algoritmii de tip gradient se caracterizeaz printr-o bun exploatare, dar printr-o
slab putere de explorare, n timp ce algoritmii de cutare pur aleatoare (care nu sunt
29
Inteligena computaional
neaprat metode de descretere) asigur, dimpotriv, o bun explorare a spaiului
configuraiilor, ns nu exploateaz deloc informaia colectat pe parcursul cutrii.
n funcie de modul n care este construit populaia i de modul n care este
implementat evoluia, sistemele de calcul evolutiv se ncadreaz n una dintre urmtoarele
categorii:
- Algoritmi genetici se folosesc n special pentru rezolvarea unor probleme de
optimizare discret. Populaia este reprezentat de stri din spaiul problemei codificate
binar (un element al populaiei este un ir de bii), iar principalii operatori sunt cei de
ncruciare i selecie.
- Programare genetic se folosesc pentru dezvoltarea unor modele de calcul
(programe simple). Populaia este reprezentat de programe care candideaz la rezolvarea
problemei. Acestea sunt descrise mai degrab ca arbori de derivare a cuvntului pe care l
reprezint n cadrul limbajului n care este scris i nu ca linii de cod; de exemplu,
"programul-expresie" "a+b*c" este (+ a (* b c)). O astfel de structur este descris uor
n Lisp, astfel c n elaborarea sistemelor bazate pe GP se folosete adeseori Lisp-ul.
ncruciarea este realizat selectnd aleator subarbori din arborele asociat programelor
printe i interschimbndu-le. Ca i n cazul algoritmilor genetici mutaia are pondere mic.
- Strategii evolutive au fost concepute iniial pentru a rezolva probleme de
optimizare n tehnic, fiind destinate rezolvrii problemelor de optimizare continu. Populaia
este constituit din elemente din domeniul de definiie al funciei obiectiv. Operatorul principal
este cel de mutaie, dar i recombinarea este folosit. Pentru strategiile evolutive au fost
dezvoltate scheme de adaptare a parametrilor de control (auto-adaptare).
- Programare evolutiv se folosesc att pentru optimizarea ct i pentru dezvoltarea
unor structuri de calcul (automate). Operatorul principal este cel de mutaie, constnd n
perturbarea diagramei de tranziie a strilor. Aceasta direcie a fost iniiat de ctre Fogel.
Ulterior, tehnicile de programare evolutiv s-au orientat mai mult spre rezolvarea problemelor
de optimizare, folosind ca instrument de explorare a spaiului soluiilor poteniale doar un
operator de mutaie (fr a folosi recombinare).
Toate aceste metode se bazeaz pe faptul c simuleaz evoluia unei mulimi (populaie) de
structuri informaionale (configuraii sau indivizi) sub aciunea unor procese similare celor
din evoluia natural i anume: selecie, mutaie i reproducere.
30
Inteligena computaional
2.5.2 Structura unui algoritm evolutiv i etapele proiectrii sale
Iniial, direciile anterioare au evoluat separat fr a se influena reciproc. ns, n
ultimii ani, s-a realizat un transfer de idei ntre diversele variante de sisteme evolutive, astfel
nct la ora actual distincia dintre ele nu mai este att de net. Astfel, prin algoritm evolutiv
se va nelege orice algoritm n care intervin prelucrri specifice oricreia dintre categoriilor
de mai sus.
n fiecare dintre variantele enumerate, evoluia este controlat prin intermediul unei
funcii de performan ("fitness") care msoar gradul de adecvare a fiecrui individ la mediul
din care face parte. Un individ este cu att mai adecvat cu ct se apropie mai mult de soluia
problemei.De exemplu, n cazul rezolvrii unei probleme de optimizare funcia "fitness" este
determinat de funcia obiectiv a problemei.
Cu ct gradul de adecvare a unui element este mai mare, cu att ansele ca el s fie selectat
pentru a participa la constituirea noii generaii, deci de a supravieui direct sau prin urmai, este
mai mare.
Un algoritm genetic efectueaz o cutare multi-dimensional prin utilizarea unei populaii
de soluii candidat (cromozomi) care evolueaz de-a lungul unui numr de generaii n care
efectueaz schimb de informaii. La iteraia t fiecare individ din populaia curent P(t) este
evaluat. Apoi o nou populaie P(t+1) este format prin selectarea celor mai buni indivizi. Civa
membri din noua populaie sunt supui recombinrii prin intermediul mutaiei i ncrucirii
pentru a forma noi soluii.
Acest proces este ilustrat de urmtorul pseudo-cod:
INIIALIZARE.
ITERARE
begin t:=0
genereaz P(t)
evalueaz P(t)
while (not COND_OPRIRE) do begin
t:=t+1
selecteaz P(t) din P(t-1)
recombin P(t)
evalueaz P(t)
end
Inteligena computaional
{0,1}. Codificarea asigur proiecia din spaiul de cutare S intr-un alt spaiu, S*, n care vor
aciona operatorii genetici.
Lanul (irul) de caractere prin care este codificat un individ se numete cromozom. O poziie (un
caracter) din lan se numete gen sau locus. Valorile permise pentru fiecare gen sunt referite
prin alele (de exemplu, pentru alfabetul binar alelele sunt 0 si 1).
Genotipul precizeaz structura lanului cromozomial i valorile tuturor genelor componente (o
caracteristica a individului in spaiul S*).
Fenotipul caracterizeaz comportamentul pe care 1 are individul pe baza genotipului su.
Fenotipul ofer cromozomului o semnificaie in spaiul S, decodificnd informaiile incluse n
genotip.
Pentru problema de minimizare
x
Spatiul
fenotip
min
x S
f ( x )
= sir de gene
cromozom
Spatiul
genotip
(2.54)
Inteligena computaional
Pentru a evita blocarea algoritmului ntr-un optim local trebuie pstrat un bun echilibru
ntre viteza de convergen a algoritmului i meninerea unui grad de diversitate adecvat n
populaie. La acest echilibru contribuie n mod esenial procesul de selecie a prinilor i apoi
de inserie a copiilor.
3. Alegerea operatorilor evolutivi i a parametrilor asociai.
Operatorii evolutivi sunt cei prin intermediul crora se face combinarea informaiilor
provenite de la doi sau mai muli prini, pentru generarea unuia sau mai multor urmai.
- Operatorul ncruciare (,,crossover) este un operator binar.
Doi prini vor da natere la doi copii, interschimbnd poriuni din lanurile cromozomiale.
Ruperea lanurilor de cromozomi poate avea loc ntr-un singur punct sau n mai multe puncte, prin
operatorul ncruciare multipunct.
...............
1 1 ............... 0 1 0 .............11
33
Inteligena computaional
Inteligena computaional
(comportamentul social al unor colonii de insecte, probleme de cooperare i comunicare).
- Simularea unor activiti creative (generare de imagini, muzica etc.)
Avantajul deosebit al algoritmilor genetici este dat de faptul c solicit doar valorile
funciei obiectiv. Ei se ncadreaz n categoria metodelor slabe de cutare / optimizare, adic a
acelor metode care solicit puine cunotine despre problema de rezolvat. Cunotinele
suplimentare, dac exist, pot fi integrate n algoritm, mbuntindu-i astfel viteza de
convergen. Algoritmii genetici se pot aplica si pentru optimizarea unor funcii care nu sunt
derivabile. Nici mcar condiia de continuitate a funciei obiectiv nu este solicitat.
Alte avantaj ale algoritmilor genetici sunt:
- algoritmii genetici sunt robuti, graie numrului mare de puncte pe care le consider
la fiecare etap.
- algoritmii genetici sunt metode eficiente de optimizare; rezultate convenabile au
fost raportate pentru optimizri genetice complexe: optimizri neliniare multimodale,
multiobiectiv, optimizri cu restricii neliniare, pentru spaii largi de cutare i numr mare de
variabile de decizie; soluia oferit este acceptabil de apropiat de cea de optim global.
- algoritmii genetici sunt uor de implementat; au un grad mare de universalitate i
sunt uor de reconfigurat, dac formularea problemei se modific; complicaii n aceast
direcie pot aprea atunci cnd algoritmul de baz este modificat, innd cont de
cunotinele suplimentare disponibile.
Inteligena computaional
Astfel, reelele neuronale au capacitatea de a nva i de a se adapta, logica fuzzy ofer
posibilitatea aproximrii, n timp ce algoritmii genetici pot realiza o cutare sistematizat a
soluiei optime.
Situat ntre sistemele de inteligen artificial i computing-ul convenional, soft
computing-ul reprezint problema de rezolvat de o aa manier nct starea curent a sistemului
poate fi msurat i comparat cu starea ce se dorete a fi obinut. Starea sistemului st la baza
adaptrii parametrilor, care ncetul cu ncetul converg ctre soluia optim.
Soft-computing
Cutare
euristic
Raionament
aproximativ
Modele
probabilistice
Logica
fuzzy
Reele
neuronale
Algoritmi
genetici
Inteligena computaional
din exemple, s generalizeze pe baza cunotinelor acumulate i, pe baza datelor primite, s
sintetizeze cunotine n forma regulilor fuzzy.
n ultimii ani, sistemele neuronale hibride au suscitat un deosebit interes. Aceast abordare
s-a dovedit ncununat de succes n diferite domenii, precum diagnoza echipamentelor
industriale, robotica, sau controlul proceselor dinamice. Motivul principal al studierii sistemelor
neuronale hibride este crearea de sisteme de reprezentare subsimbolic, n special a reelelor
neuro-fuzzy. Din punctul de vedere al tiinelor cognitive, reprezentarea neuronal ofer
avantajul omogenitii, al capacitii de nvare prin exemple i a generalizrii, precum i
efectuarea de sarcini distribuite, n medii cu date incomplete sau afectate de zgomote. Din
punctul de vedere al sistemelor bazate pe cunotine, reprezentrile simbolice au avantajul
interpretrii umane, al controlului explicit i al abstractizrii cunoaterii.
n inteligena artificial, procedeul tradiional este prelucrarea simbolic. n modelele
conexioniste ns, accentul cade pe posibilitile de nvare. Combinarea celor dou abordri
este subiectul de cercetare n sistemele hibride, cum ar fi sistemele neuro-fuzzy. Modelele
conexioniste sunt instrumente puternice de prelucrare a cunotinelor, eficiente mai ales n
situaii n care percepia i reacia sunt fundamentale i unde regulile explicite nu pot fi aplicate
n mod natural sau direct. Totui, nvarea prin exemple nu este o soluie general, n multe
situaii entitile inteligente se bazeaz pe reguli formulate anterior de experi.
Cele dou abordri pot fi utilizate n mod complementar. Aceasta este premiza crerii de
sisteme hibride inteligente, care combin trsturi conexioniste (neuronale) i simbolice (fuzzy).
n astfel de sisteme, mai nti se introduc informaii simbolice n reeaua neuronal, apoi se
folosesc exemplele de instruire pentru rafinarea cunotinelor iniiale. n final, se proceseaz
rezultatul pentru un set de intrri i, prin metode specifice, se extrag informaii simbolice din
reeaua antrenat.
Din momentul n care sistemele fuzzy au fost puse n practic n aplicaiile industriale,
proiectanii i-au dat seama de dificultile care surveneau n mod inerent. Problema gsirii
funciilor membre potrivite este de multe ori o chestiune de generare de valori i ndeprtarea
celor eronate. Aceste soluii sunt greu de gsit, mai ales ntr-un proces industrial dinamic. De
aceea s-a ivit ideea aplicrii algoritmilor de nvare a sistemelor fuzzy, ceea ce a determinat
apariia controlerelor fuzzy adaptabile sau cu auto-organizare.
Sarcinile de lucru complexe pot da natere la minime locale, de aceea paradigma nvrii
prin exemple se poate folosi mai mult pentru probleme simple. O rezolvare este mprirea
problemei n subprobleme, rezolvate de diferite module neuro-fuzzy. n timp ce logica fuzzy
asigur mecanismele de inferen n cazul incertitudinii cognitive, reelele neuronale ofer
avantajele nvrii, adaptabilitii, toleranei la defecte, paralelismului i generalizrii.
Sistemele neuro-fuzzy moderne au caracteristici care le fac adecvate controlului unor
procese industriale: sunt sisteme fuzzy instruite printr-un algoritm de nvare euristic, derivate
37
Inteligena computaional
n general din reele neuronale, pot fi reprezentate printr-o arhitectur de reea neuronal feedforward multistrat i pot fi interpretate n termeni de reguli dac-atunci. Totui, ntr-un sistem
real, pot exista zeci de semnale de intrare. Un numr excesiv de intrri poate deteriora
transparena modelului considerat i crete complexitatea calculelor. De aceea, este necesar
selectarea intrrilor relevante i considerarea de prioriti.
Din punct de vedere teoretic, sistemele fuzzy i reelele neuronale sunt echivalente,
deoarece sunt inter-convertibile. S-a demonstrat [Hayashi Y.,1994] c:
- orice sistem fuzzy bazat pe reguli poate fi aproximat de o reea neuronal;
- orice reea neuronal (feed-forward multistrat) poate fi aproximat de un sistem fuzzy
bazat pe reguli.
n practic ns, fiecare are avantajele i dezavantajele sale acestea fiind sintetizate n
tabelul (2.1):
Tabelul 2.1. Comparaie ntre sistemele fuzzy i reelele neuronale
Sisteme neuronale
Sisteme fuzzy
avantaje
ncorporeaz cunotine predefinite bazate Pot nva fr nici o informaie iniial
pe reguli
Exist mai multe paradigme de nvare,
potrivite diverselor situaii
Sunt interpretabile (reguli dac-atunci)
Exist
o multitudine de algoritmi de
Ofer o implementare simpl
nvare disponibili n literatura de
Cunotinele sunt disponibile n orice
specialitate
moment
dezavantaje
Nu pot nva
Sunt cutii negre sub-simbolice
Trebuie s dispun de reguli stabilite Necesit algoritmi de nvare complecsi
apriori
Nu exist garania c nvarea converge
spre soluie
Nu exist metode formale pentru ajustarea
regulilor
Prezint
dificulti
n
extragerea
cunotinelor structurale
Sistemele fuzzy prezint, n principal, avantajul explicrii comportamentului pe baza unor
reguli i deci performanele lor pot fi ajustate prin modificarea acestora. Totui, achiziionarea
cunotinelor este dificil, iar universul de discurs al fiecrei variabile de intrare trebuie divizat n
mai multe intervale i de aceea, aplicaiile sistemelor fuzzy sunt restrnse la domeniile n care
sunt disponibile cunotinele experilor iar numrul variabilelor de intrare este relativ mic.
Pentru reelele neuronale, cunotinele sunt achiziionate automat printr-un algoritm (de
exemplu, back-propagation), dar procesul de nvare este relativ lent, iar analiza reelei
antrenate este dificil (o reea neuronal este deseori considerat o cutie neagr, n care avem
38
Inteligena computaional
acces numai la intrri i la ieiri, fr a ti precis ce se ntmpl n interior). Nu este posibil nici
extragerea cunotinelor structurale (reguli) din reeaua antrenat, nici integrarea de informaii
speciale despre problem, pentru a simplifica procedura de nvare. Utilizarea sistemelor hibride
neuro-fuzzy minimizeaz dezavantajele i maximizeaz avantajele celor dou tehnici. Reelele
neuronale sunt folosite pentru adaptarea funciilor de apartenen ale sistemelor fuzzy n
aplicaiile de control automat al proceselor dinamice. Dei logica fuzzy permite codarea
cunotinelor de tip expert prin termeni lingvistici, de obicei proiectarea i reglarea funciilor de
apartenen care definesc cantitativ aceti termeni este un demers greoi. Tehnicile de nvare ale
reelelor neuronale pot automatiza procesul i deci pot reduce substanial costul i timpul de
dezvoltare a aplicaiilor, conducnd i la creterea performanelor. Pentru a depi problema
achiziiei cunotinelor, reelele neuronale pot fi proiectate s extrag automat reguli fuzzy din
date numerice. Alte abordri presupun folosirea reelelor neuronale pentru optimizarea unor
anumii parametri ai sistemelor fuzzy sau pentru preprocesarea datelor de intrare n sistemele
fuzzy.
n funcie de modul de combinare a modulului simbolic fuzzy cu modulul conexionist
subsimbolic, exist mai multe tipuri de hibridizri, care vor fi detaliate n continuare.
2.6.1.1 Reele neuronale fuzzy
O reea neuronal fuzzy (fuzzy neural network., FNN) reprezint o reea neuronal care
dispune de capacitatea de a prelucra informaii fuzzy. ntr-o astfel de reea, semnalele de intrare
i/sau ponderile conexiunilor i/sau ieirile sunt submulimi fuzzy sau mulimi de valori de
apartenen la mulimi fuzzy. De obicei, se utilizeaz ca modele termeni lingvistici precum
mic, mediu, mare, numere sau intervale fuzzy.
Structura acestui tip de sistem este prezentat n figura 2.17:
Intrare
strict
Ieire
strict
fuzzificare
Reguli fuzzy
defuzzificare
Inteligena computaional
alte reele, iar operaia de defuzzificare este ndeplinit de o a treia reea, pentru a furniza datele
stricte de ieire.
Reelele neuronale cu neuroni fuzzy intr de asemenea n aceast categorie deoarece sunt
capabile s prelucreze informaii fuzzy.
Aceste tipuri de reele sunt utile n aplicaii de regresie fuzzy (descoperirea de relaii
funcionale ntre date fuzzy), control, rezolvarea ecuaiilor matriceale fuzzy (folosite n
economie) sau clasificare fuzzy.
2.6.1.2 Perceptronul fuzzy
n literatura de specialitate exist o multitudine de abordri cu privire la implementarea
unei reele neuronale fuzzy, chiar ntr-o form foarte simpl, cea a perceptronului multistrat.
Nauck [Nauck D.&al., 1995] a ncercat o sistematizare a acestor propuneri, rezultnd o
arhitectur generic de perceptron fuzzy, pe care apoi a utilizat-o n sistemul NEFCON (NEural
Fuzzy CONtrol). Ideea central este identificarea unui model care poate fi iniializat pe baza unor
cunotine apriorice i care poate fi antrenat cu metode specifice reelelor neuronale.
Perceptronul fuzzy are arhitectura unui perceptron multistrat obinuit, ns ponderile sunt
modelate sub forma unor mulimi fuzzy. Funciile de activare, ieire i propagare sunt modificate
n consecin. Astfel, perceptronul fuzzy cu 3 straturi este definit ca o reea neuronal feedforward cu 3 straturi (U, W, NET, A, O, ex) cu urmtoarele specificaii:
-
U=
UU
i{1, 2 ,3}
Inteligena computaional
pentru unitile de ieire: u U3, Ou: ()(), ou = Ou(au)=DEFFUZu(au),
unde DEFFUZu este o funcie potrivit de defuzzificare;
- NET definete o funcie de propagare NETu pentru fiecare u U, care calculeaz net
imput-ul netu:
pentru unitile de intrare u U1 , NETu : , netu = exu
NETu : ( x ())U1 [0,1],
pentru unitile ascunse u U2,
net u = T (W(u' , u), o u' ) , unde T este o t-norm
u 'U 1
Scopul perceptronului fuzzy nu este fuzzificarea integral a unei reele neuronale de tip
perceptron i nici modelarea unui sistem de inferen bazat pe logica fuzzy. Se observ c numai
ponderile, net input-urile i funciile de activare ale unitilor de ieire sunt reprezentate ca
mulimi fuzzy. Perceptronul fuzzy prezentat mai sus este asemntor cu perceptronul clasic,
utilizat pentru aproximri de funcii. Avantajul su este posibilitatea de a asocia termini
lingvistici cu ponderile sale fuzzy i astfel, reeaua poate fi creat parial sau integral pe baza
unor reguli fuzzy de tip dac-atunci.
Gsirea unui algoritm de antrenare (supervizat) pentru perceptronul fuzzy este mai dificil
dect n cazul perceptronului clasic neuronal deoarece funciile de activare ale unitilor sunt
definite sub forma unor t-norme i t-conorme care n general nu sunt difereniabile i deci
metoda gradientului descendent nu poate fi utilizat.
Nauck propune urmtorul algoritm de retro-propagare fuzzy a erorii (fuzzy backpropagation). Presupunem c ponderile antecedente (dintre stratul de intrare i cel ascuns)
i, j = W(u i , u j ), u i U 1 , u j U 2 i ponderile concluzive (dintre stratul ascuns i cel de ieire)
v j,k = W(u j , u k ), u j U 2 , u k U 3 sunt modelate sub forma unor numere fuzzy triunghiulare.
(p)
(p)
n
m
Setul de antrenare conine modele de forma p = (i , t ) [0,1] [0,1] , unde i
41
Inteligena computaional
u = a( p) ( p) , u U
u
v
2
u
U 3
(2.55)
E (p)
u
= 1 e
max
u
(p
(p)
ou
tu
(p )
) min
(o u
u
(p )
)
(o u
(2.56)
E =
E
p
u U
( p)
u
( p ) l j ,k = i u k ( c j ,k l j ,k )
( p ) c j ,k = c u k ( r j ,k l j ,k )
( p ) r j ,k = r u k ( r j ,k c j ,k )
( p ) l i , j = l u j ( c j , k l i , j )
(2.57)
( p ) c i , j = c u j ( a ui c i , j )
( p ) ri , j = r u j ( ri , j c i , j )
-
Ideea care st la baza algoritmului este reglarea parametrilor care definesc mulimile fuzzy
corespunztoare ponderilor. n unele cazuri, suportul unei mulimi trebuie deplasat la dreapta sau
la stnga pentru ca centrul s aproximeze mai bine o anumit valoare, n altele suportul trebuie
mrit pentru a include ct mai multe valori.
42
Inteligena computaional
Ratele de nvare diferite permit schimbri de mrimi diferite ale parametrilor. De
exemplu, acestea pot fi utilizate dac se doresc numai deplasri mici ale suportului unei mulimi
fa de poziia sa iniial, iar nvarea trebuie s se fac n principal prin lrgirea sau strmtarea
suportului.
Aceast arhitectur poate fi folosit pentru aproximaii funcionale pe baza unor
eantioane de date, iar sistemul antrenat poate servi pentru probleme de clasificare, control, etc.
2.6.1.3 Sisteme fuzzy neuronale
Un sistem fuzzy neuronal (neural fuzzy system., NFS) este un sistem fuzzy prevzut cu o
reea neuronal pentru dezvoltarea unor caracteristici precum flexibilitate, vitez i
adaptabilitate.
Schema bloc funcional a unui astfel de sistem este prezentat n figura 2.18.
1
expert
5
sistem fuzzy
4
3
sistem real
reea neuronal
Fig. 2.18 Sistem fuzzy neuronal
Cunoaterea de tip expert este convertit mai nti ntr-o form simbolic (1) i apoi
utilizat pentru iniializarea reelei neuronale (2). n continuare, reeaua este antrenat pe baza
intrrilor i ieirilor unui sistem real (3). Cunotinele obinute din reeaua neuronal (4) sunt
prelucrate apoi ntr-o manier fuzzy pentru determinarea unor reguli de inferen fuzzy,
comunicate n final expertului (5).
Aceste sisteme sunt potrivite n special pentru achiziia de cunotine i nvare. Ele pot
realiza procesul de inferen fuzzy cu ajutorul ponderilor conexiunilor reelei care corespund
parametrilor raionamentului. Folosind algoritmi de nvare cum ar fi back-propagation, aceste
sisteme pot identifica reguli fuzzy, pentru ca apoi s nvee funciile de apartenen ale
inferenelor. Un sistem fuzzy neuronal ar trebui, teoretic, s poat nva i reguli lingvistice sau
s optimizeze regulile deja existente.
Exist aici trei posibiliti:
43
Inteligena computaional
Sistemul nu dispune iniial de nici o regul. El trebui s creeze noi reguli pn cnd
problema de nvare este rezolvat. Crearea unei reguli noi este determinat de un model de
antrenare care nu este acoperit suficient de baza curent de reguli.
Sistemul pornete cu toate regulile care pot fi create prin partiionarea variabilelor. Pe
parcursul antrenrii, el elimin regulile inutile din baza de reguli prin evaluarea perfomanelor
acestora.
Sistemul are iniial un numr fix de reguli. n timpul nvrii, acestea sunt modificate sau
nlocuite printr-un proces de optimizare.
2.6.1.4 Sisteme neuro-fuzzy
Acestea sunt cele mai studiate sisteme hibride la ora actual. Sistemele hibride neurofuzzy sunt o combinaie de reele neuronale i logic fuzzy n care ambele tehnici joac un rol
cheie: logica fuzzy asigur structura n care poate fi exploatat capacitatea de nvare a reelelor
neuronale. Unii autori consider c un sistem neuro-fuzzy este definit de urmtoarele
caracteristici :
este un sistem fuzzy antrenat printr-un algoritm de nvare (euristic), derivat din
tehnicile specifice reelelor neuronale;
poate fi reprezentat printr-o arhitectur de reea neuronal feed-forward;
poate fi oricnd interpretat n termenii regulilor fuzzy dac-atunci;
procedura de antrenare ia n calcul semantica modelului fuzzy pentru a conserva
interpretabilitatea sa lingvistic;
poate realiza (cazuri speciale) de aproximare funcional.
n acest domeniu au fost propuse mai multe modaliti de combinare a celor dou tehnici.
n primul rnd, reelele neuronale pot fi utilizate pentru generarea i reglarea funciilor de
apartenen a sistemului fuzzy:
sistem fuzzy
reea neuronal
Figura 2.19 Reglarea neuronal a funciilor de apartenen a unui sistem fuzzy
44
Inteligena computaional
Sistemele neuro-fuzzy pot avea arhitecturi de tip serie sau paralel. n figura 2.20 se
prezint un sistem neuro-fuzzy n care reeaua neuronal joac rolul de preprocesare.
sistem fuzzy
reea neuronal
Fig. 2.20 Arhitectur de sistem neuro-fuzzy de tip serie
Utilitatea acestui tip de sistem se evideniaz n situaiile n care intrarea n sistemul fuzzy
nu poate fi legat direct la o ieire a unui senzor. Apare deci necesitatea ca ieirea senzorului s
fie preprocesat de reeaua neuronal i apoi ieirea reelei s constituie intrarea pentru sistemul
fuzzy. Exist, de asemenea, i sisteme de postprocesare, atunci cnd ieirea sistemului fuzzy nu
poate fi conectat direct cu echipamente externe. n acest caz, reeaua neuronal se constituie
ntr-o interfa care realizeaz o mapare care ar fi mai greu realizabil prin tehnici analitice.
n figura urmtoare este schiat un sistem neuro-fuzzy cu o arhitectur de tip paralel, cu
scopul ajustrii ieirii:
reea neuronal
Valoare de
conectare
sistem fuzzy
Fig. 2.21 Arhitectur de sistem neuro-fuzzy de tip paralel
45
Inteligena computaional
Reeaua neuronal regleaz ieirea sistemului fuzzy pe baza a ceea ce a nvat despre
preferinele personale ale utilizatorului din ajustrile anterioare pe care acesta le-a efectuat.
Sistemele neuro-fuzzy se bucur de apreciere n mai multe domenii. Un exemplu notabil este cel
al controlului automat, n special aplicaiile aeronautice i aerospaiale, n care pilotul automat
trebuie s simuleze capacitatea uman de a raiona n diverse situaii. Alt exemplu este cel al
recunoaterii trsturilor faciale. Trsturile sunt identificate i fuzzyficate pentru a le scdea
sensibilitatea fa de variaiile inerente care apar chiar n cazul aceleiai persoane. Aceste
caracteristici fuzzyficate sunt apoi introduse ntr-o reea neuronal care implementeaz procesul
propriu-zis de recunoatere.
2.6.1.5 Sisteme ANFIS (Adaptive-Network-Based Fuzzy Inference System)
Sistemele hibride neuro-fuzzy ANFIS (Adaptive-Network-based Fuzzy Inference Systems)
sunt reele neuronale adaptive echivalente funcional cu sisteme fuzzy de tip TakagiSugeno
[Takagi T., Sugeno M., 1985]. Spre deosebire de sistemele fuzzy, sistemele neuro-fuzzy ANFIS
au capacitatea de a se adapta pe parcursul unui proces de nvare. n felul acesta, aplicnd o
metod de optimizare, pot fi adaptate att funciile de apartenen ale mulimilor fuzzy ce apar n
partea de premiz a regulilor, ct i parametrii prilor de consecin ale regulilor fuzzy.
Funcia criteriu de minimizat poate fi de tipul erorii medii ptratice dintre ieirea actual
a sistemului neuro-fuzzy i ieirea dorit a acestuia. Pentru a explica structura unui sistem hibrid
neuro fuzzy de tip ANFIS se consider un sistem fuzzy de tip Takagi-Sugeno de ordinul unu, ce
are dou mrimi de intrare, x i y, i o mrime de ieire, z.
Baza de reguli a sistemului fuzzy se consider a fi format din dou reguli de forma:
regula1: dac x este A1 i y este B1 atunci z este f1 = p1 x + q1 y + r1
regula2: dac x este A2 i y este B2 atunci z este f 2 = p2 x + q2 y + r2
B
(2.58)
n figura 2.22 este ilustrat, intuitiv, modul n care se realizeaz raionamentul n cadrul unui
sistem fuzzy de tip Takagi-Sugeno de ordinul unu.
46
Inteligena computaional
x
A1
B1
w1
x
x
A2
f1 = p1 x + q1 y + r1
B2
f 2 = p2 x + q2 y + r2
w2
x
w1f1 + w 2f 2
z=
w1 + w 2
= w1f1 + w 2f 2
A1
w1
w1
y
f1
w1 f1
A2
B1
y
w2
B2
Strat 1
w2
f2
x
Strat 2
Strat 3
w2 f2
Strat 4
Strat 5
Inteligena computaional
Cele cinci straturi ale structurii ANFIS au urmtoarele funcii prezentate n continuare.
Stratul 1. Fiecare nod i al acestui strat are funcia de activare:
O1 ,i = Ai ( x )
i = 1, 2
O1 ,i = Bi 2 ( y )
(2.59)
i = 3, 4
unde x este mrimea de intrare n nodurile 1 i 2, iar y este mrimea de intrare n nodurile 3 i 4.
Altfel spus, funcia ataat fiecrui nod al primului strat este funcia de apartenen a uneia
din mulimile fuzzy A1, A2, B1 sau B2 (care apar n partea de premiz a regulilor). Funcia de
apartenen poate fi, de exemplu, funcia clopot generalizat. Parametrii acestui strat vor fi numii,
n cele de urmeaz, parametrii premizei.
Stratul 2. Fiecare nod al acestui strat este un nod fix, a crui ieire este dat de produsul
semnalelor sale de intrare:
O2 ,i = wi = Ai ( x ) Bi ( x )
i = 1, 2
(2.60)
Fiecare nod reprezint mrimea de activare a unei reguli. n general, se poate folosi pentru acest
strat, orice operator de tip norma-T ca fiind funcia de activare a unui nod.
Stratul 3. Fiecare nod al acestui strat este un nod fix la nivelul cruia se calculeaz raportul
dintre puterea de activare a regulii i i suma puterilor de activare ale tuturor regulilor:
O3 ,i = wi =
wi
w1 + w2
i = 1, 2
(2.61)
i = 1,2
(2.62)
unde wi este puterea de activare normalizat a regulii i, iar pi, qi , ri este mulimea parametrilor
acestui nod, numii n cele ce urmeaz parametrii consecinei.
48
Inteligena computaional
Stratul 5. Acest strat este format dintr-un singur nod fix notat cu , care calculeaz ieirea
ANFIS ca fiind suma tuturor semnalelor sale de intrare:
2
z = O5 ,1 = wi f i =
i =1
wi fi
i =1
2
(2.63)
wi
i =1
nvarea ntr-un sistem ANFIS se bazeaz pe o schem hibrid. Mai nti, utilizatorul
decide numrul de reguli i modul lor de interaciune, construind astfel cunotinele integrate apriori despre structura soluiei. Funciile de apartenen trebuie iniializate astfel nct s mpart
ct mai egal universul de discurs i trebuie s aib suficiente suprapuneri.
n pasul nainte al antrenrii, se calculeaz ieirile neuronilor pn n stratul 4, iar
parametrii consecin (coeficienii funciei liniare) sunt calculai prin metoda celor mai mici
ptrate. n pasul napoi, semnalele de eroare sunt retro-propagate i se actualizeaz parametrii
antecedeni (ai funciilor de apartenen) prin metoda gradientului descendent.
Baza de reguli trebuie cunoscut apriori, deoarece structura ANFIS nu poate dect s
ajusteze funciile de apartenen ale parametrilor antecedeni i parametrilor consecin.
Algoritmul de nvare necesit mari resurse de calcul, iar modelarea are dificulti n privina
abordrii unor modele de mari dimensiuni, care implic un mare numr de partiii, reguli i
parametri consecin.
2.6.2 Sisteme hibride neuro-genetice
Multe studii au artat c reelele neuronale au capabilitatea de a nva mecanismele
ascunse ale seriilor temporale, sau, n cazul aplicaiilor comerciale, dinamica pieii. Totui, n
general, este dificil de proiectat reele neuronale performante, deoarece multe din principiile de
baz care guverneaz procesarea informaiei n reea sunt greu de neles, iar interaciunile
complexe ntre componentele reelei nu permit, n cele mai multe cazuri, aplicarea tehnicilor
inginereti de tip "divide-and-conquer".
Atunci cnd sunt impuse combinaii complexe ale criteriilor de performan (ca, de
exemplu, viteza de nvare, compactitatea, abilitatea de generali zare i rezistena la zgomot) i
pe msur ce aplicaiile reelei tind s creasc n dimensiuni i complexitate, abordarea uman inginereasc nu va funciona, fiind necesar o soluie mai eficient, automatizat.
Algoritmii genetici, pe de alt parte, rmn reminiesceni reproducerii, n care genele a doi
prini se combin pentru a le forma pe cele ale fiului lor. Cnd algoritmii genetici sunt aplicai
la rezolvarea problemelor, premiza de baz este aceea c se poate creea o populaie iniial de
indivizi reprezentnd posibile soluii la o problem care trebuie s fie rezolvat.
49
Inteligena computaional
Fiecare dintre aceti indivizi va avea anumite caracteristici care-l fac mai mult sau mai
puin potrivit, ca membru al populaiei. Membrii mai potrivii vor avea o probabilitate mai mare
de a se putea reproduce dect membrii mai puin potrivii, pentru a produce descendeni care s
aib o ans semnificativ de a reine caracteristicile dorite ale prinilor lor.Aceast metod este
foarte eficient la gsirea soluiei optimale sau apropiate de optim la o varietate de probleme,
deoarece nu impune multe dintre limitrile care sunt cerute de metodele tradiionale.
Este o strategie elegant care genereaz, testeaz i poate identifica, exploata regularitile
din mediu i converge la soluiile care erau optimale din punct de vedere global, sau foarte
apropiate de optim.
Algoritmii genetici s-au aplicat din ce n ce mai mult la proiectarea reelelor neuronale, n
cteva moduri:
- optimizarea topologiei,
- algoritmi de antrenare genetici
- optimizarea parametrilor de control.
n optimizarea topologiei, algoritmul genetic este folosit pentru a selecta o topologie
(numr de straturi ascunse, numr de noduri ascunse, structura de interconectare) pentru reeaua
neuronal, care, la rndul ei, este antrenat folosind o schem de antrenare clasic, cel mai
adesea "back -propagation".
n cazul algoritmilor genetici de antrenare, cunoaterea reelei neuronale este formulat n
termenii problemei optimizrii ponderilor, de obicei folosindu-se inversul erorii ptratice medii
ca o msur de apropiere.
Majoritatea parametrilor de control, ca: rata de nvare, rata momentan, nivelul de
toleran, etc., pot fi, de asemenea, optimizai folosind un algoritm genetic.
n pus, algoritmii genetici au fost folosii n multe alte moduri inovative, de exemplu,
pentru crearea de noi indicatori pe baza celor existeni, la selectarea indicatorilor buni, la evoluia
sistemelor optimale, etc..
Una din problemele care apar n cazul reelelor neuronale este c acestea au o anume
tendin de a ajunge la soluii suboptimale. Tehnica mutaiei din algoritmul genetic, furnizeaz o
"scpare" din aceast convergen la o soluie suboptimal. Mutaia, ns, trebuie meninut la un
nivel minim, pentru a evita distrugerea cromozomilor "buni".
O metod de automatizare a procesului de proiectare a arhitecturii reelelor neuronale,
folosind algoritm genetic este descris n continuare. Aceast metod presupune utilizarea a dou
procese adaptive:
- cutarea genetic n fereastra datelor de intrare, n orizontul de predicie, n spaiul
arhitecturii reelei i n spaiul parametrilor de control pentru selecia celor mai buni performeri;
- nvarea prin algoritmul "backpropagation" n reele individuale, pentru evaluarea
arhitecturilor selectate.
50
Inteligena computaional
Teoria seleciei naturale ofer cteva argumente convingtoare n sensul c indivizi cu
anumite caracteristici sunt mai capabili de supravieuire i transmit mai departe aceste
caracteristici descendenilor lor. Un algoritm genetic este o procedur general de cutare bazat
pe ideile geneticii i ale seleciei naturale, iar puterea sa const n faptul c, pe msur ce membri
ai populaiei se mperecheaz, ei produc descendeni care au o ans semnificativ s rein
caracteristicile dorite ale prinilor, probabil chiar s combine cele mai bune caracteristici ale
ambilor prini. In aceast manier, calitatea total a populaiei poate potenial s creasc de la
generaie la generaie, pe msur ce se descoper soluii mai bune ale problemei.
La optimizarea reelelor neuronale pentru problemele de predicie i clasificare, algoritmii
genetici pot fi folosii la cutarea combinaiilor corecte de date de intrare, a orizontului de
predicie cel mai potrivit, a structurilor i ponderilor de interconectare optimale sau aproape
optimale ntre neuroni, i a parametrilor de control (rata de nvare, rata momentan, nivelul de
toleran, etc. ) optimi, pe baza datelor de antrenare folosite i a criteriilor predefinite.
Ca i reelele neuronale, algoritmii genetici nu garanteaz ntotdeauna o soluie perfect,
dar, n multe cazuri, pot ajunge la soluii acceptabile fr timpul i costul unei cutri exhaustive.
51
Inteligena computaional
n primul pas din cadrul optimizrii multiobiectiv se furnizeaz un set de soluii care
reprezint cele mai bune alegeri (un set Pareto optimal), iar in al doilea pas se alege o soluie
final.
Optimalitatea lui Pareto se bazeaz pe principiul dominanei. Soluiile incluse n setul
optimal al lui Pareto sunt cele care nu mai pot fi mbuntite ntr-o anumit direcie fr a fi
deteriorate simultan n celelalte direcii. n continuare va fi prezentat o tehnic de generare a
setului Pareto de soluii folosind un algoritm evoluionist.
Algoritmii genetici reprezint strategii stohastice de cutare, modelate dup mecanisme
caracteristice naturii. Cutarea se bazeaz pe informaii ce caracterizeaz ntreaga populaie. Un
individ din cadrul populaiei codific o soluie sub forma unui ir de parametri, ir asupra cruia
se vor aplica operaiile de mutaie i crossover.
Paii executrii unui algoritm genetic sunt urmtorii:
-
52
Inteligena computaional
Identificarea structurii externe are n vedere determinarea variabilelor de intrare relevante.
Identificarea structurii interne implic paritiionarea spaiului i gsirea parametrilor de ieire.
Aproximarea lingvistic este ultimul pas n modelarea unui sistem fuzzy i presupune maparea
structurii interne n termeni lingvistici (acest pas este adesea omis).
O metod des ntlnit este folosirea sistemelor fuzzy bazate pe reguli. n aceste sisteme
spaiul variabilelor de intrare este partiionat n combinaii de seturi fuzzy folosind reguli fuzzy
de tip dac atunci.
Proiectarea unui sistem fuzzy poate fi realizat n cinci pai:
1. Determinarea intrrilor relevante;
2. Determinarea numrului de reguli;
3. Determinarea funciilor de apartenen;
4. Determinarea aciunilor asociate cu fiecare partiie;
5. Determinarea metodei adecvate folosit pentru combinarea aciunilor multiple.
Primul pas este de fapt identificarea extern a sistemului, deoarece intrrile i ieirile
relevante sunt externe sistemului. Din descrierea modului n care se formeaz partiiile
multidimensionale este clar ca funciile de apartenen i numrul de reguli sunt strns legate de
partiionare, din acest motiv pati 2 i 3 se vor executa simultan.
53
Regulatoare fuzzy
Capitolul 3
Regulatoare fuzzy
3.1 Regulatoare automate
Regulatorul automat are rolul de a prelua semnalul de eroare, (obinut n urma
comparaiei valorii prescrise r i a mrimii msurate y, n elementul de comparaie) i de a
elabora la ieire un semnal de comand u pentru elementul de execuie.
RA
y
Fig. 3.1 Regulator automat
n viziunea traditional, proiectarea sistemelor de reglare se bazeaz pe calculul modelelor
de comand din ecuaii de bilant masic sau energetic bazate pe legiti fizice, chimice, biologice
etc. care guverneaza functionarea respectivelor procese.
Regulatoarele convenionale cel mai frecvent implementate n practic sunt de tip P, PDT1,
PI sau PID i pot fi realizate [Preitl ., Precup R., 1997]:
- n varianta analogic
- n varianta numeric cvasicontinu.
P:
kR
PDT1:
kR
PI:
PID:
1 + sTd
1 + sT
1
k R 1 +
sTi
(3.1)
1
+ sTd
k R 1 +
sTi
54
Regulatoare fuzzy
n cazul conducerii bazate pe teoria mulimilor fuzzy, fa de conducerea clasic apar dou
mari diferene, i anume:
- n modul n care este caracterizat procesul; de remarcat c lipsa unui model matematic
ferm aferent procesului nu va constitui un impediment major;
- n modul n care este dezvoltat regulatorul regulatorul fuzzy i n modul n care
proprietile acestuia pot fi adaptate la cerinele conducerii.
nainte ca informaia ferm referitoare la evoluia procesului s fie prelucrat prin schema
de inferen, aceasta trebuie s parcurg urmtorul lan de transformri:
conversia analog-numeric a semnalului/informaiei ferm(e) primar(e);
55
Regulatoare fuzzy
-
(3.2)
(3.3)
- n cazul n care procesul are cunoscute (aproximativ) constantele de timp mici sub
forma sumei acestora T, perioada de eantionare se poate alege conform relaiei:
56
Regulatoare fuzzy
Te (1/2 ... 1) T
(3.4)
2) Cuantizarea semnalului eantionat. Datorit preciziei relativ reduse a reglajului fuzzy,
pretenii deosebite n raport cu cuantizarea nu se impun; ca i n cazul conducerii convenionale,
o reprezentare a cuvntului binar pe mai mult de 8 (12) bii d complet satisfacie. Doar o
cuantizare grob i o reprezentare pe un numr foarte redus de bii poate avea efecte asupra:
- definirii TL care sunt supui cuantizrii att relativ la mulimea de baz ct i la
mulimea vag aferent;
- rezultatului procesului de fuzzificare, mecanismului de inferen i asupra rezultatului
defuzzificrii.
Dac n final comanda ferm poate lua numai un numr relativ redus de valori discrete
este posibil i apariia n ieirea procesului a fenomenului ripple.
b. Tratarea semnalelor msurate.
n principiu se poate pune problema efecturii pe cale numeric a urmtoarelor categorii de
calcule:
- calcule legate de postfiltrarea numeric a semnalului msurat, supus ulterior prelucrrii
fuzzy;
- calcule legate de determinarea derivatelor / variaiilor de ordinul nti ale unor intrri;
- eventual, calcule legate de efectuarea integralei unei mrimi;
1. Filtrarea numeric a unei mrimi: de multe ori semnalele msurate pot fi prefiltrate analogic
i apoi, la nevoie, filtrate numeric (eventual numai aceasta din urm). n acest scop se utilizeaz
filtre numerice simple ce au echivalentul continual proporional cu temporizare de ordinul nti
(PT1);
2. Derivata nti a unei mrimi. Derivatele de ordin superior (, ...) se utilizeaz mai puin; la
nevoie ele se pot calcula pe baza relaiilor de dicretizare cunoscute.
c. Transformarea informaiei ferme de intrare (e1k, e2k, ..., eantionate, filtrate, ...) ntr-o
formulare vag.
Ca i pn acum, n prima faz se va presupune c mrimile de intrare n regulatorul fuzzy
au valoarea ferm bine precizat. n aceste condiii pentru caracterizarea vag a informaiei
ferme este necesar definirea ct mai corect a numrului de termeni lingvistici (TL) i a
funciei de apartenen pentru fiecare din variabilele lingvistice (VL) de intrare. De remarcat c
n literatur pe aceast tem nu se dau recomandri exhaustive, general valabile, soluia final
fiind la latitudinea proiectantului. Cteva indicaii cu caracter general n acest sens care pot fi
luate n considerare la dezvoltarea unui regulator fuzzy sunt urmtoarele:
- Indicaii privind alegerea numrului de TL afereni unei VL de intrare, nTle, care este
obinuit un numr impar 3, 5 sau 7; prin numrul TL se fixeaz rezoluia conversiei vagi i a
prelucrrii ulterioare. Pe baza unor studii de caz, n literatur se dovedete c exceptnd unele
aplicaii speciale o cretere a numrului de TL peste 7 nu conduce la o cretere eficient a
57
Regulatoare fuzzy
rezoluiei. Odat cu creterea lui nTle pentru fiecare VL de intrare, crete numrul de reguli i
formularea bazei de reguli devine din ce n ce mai anevoias i nsi experienta personal a
expertului poate deveni din ce n ce mai puin sigur/relevant.
n general TL se denumesc astfel nct s reflecte un coninut ct mai general i depind de
fiecare dat de mrimea n cauz. Cu referire la intrarea (VL) eroare de reglare, e = w y,
pentru TL se pot utiliza, de exemplu, urmtoarele denumiri (cele din englez sunt consacrate):
- negativ mare NM
NB negative big;
- negativ mediu Nmd
NM negative medium;
- negativ mic Nm
NS negative small;
- zero Ze
ZE zero;
- pozitiv mic Pm
PS positive small;
- pozitiv mediu Pmd
PM positive medium;
- pozitiv mare PM
PB positive big.
Indicaii privind definirea i utilizarea domeniului de baz (mulimii de baz) pentru
mrimile de intrare (VL).Trebuie remarcat faptul c domeniul de baz pentru mrimile de intrare
este predefinit de domeniul de variaie al ieirii traductoarelor de msur i de echipamentul de
interfaare (adaptoare, conversie). Acoperirea prin TL a domeniului va determina amplificarea
regulatorului fuzzy. De remarcat c existena mai multor canale de intrare face ca n jurul unui
punct de funcionare staionar n raport cu fiecare din canale s se poat defini o valoare a
amplificrii (a se vedea liniarizarea sistemelor neliniare cu neliniariti continue).
Domeniul de baz poate fi definit n diferite moduri innd seama de natura mrimii
referite. Astfel, se pot meniona urmtoarele modaliti frecvente de definire a domeniului de
baz:
n uniti/mrimi naturale;
n uniti normate, raportarea efectundu-se la o valoare (domeniu) de baz;
n creteri fa de o valoare de referin (sau de baz) exprimate n uniti naturale sau n
uniti normate;
alte modaliti.
Operaia de definire a domeniului de baz poart i denumirea de scalare (ea trebuie
vzut ns corelat cu domeniul de baz al ieirii).
3.2.2 Baza de cunostine
58
Regulatoare fuzzy
Bazele de cunotine reprezint mecanisme capabile a prefigura ceea ce se va ntmpla n
lumea exterioara, ca urmare a unor aciuni.
Baza de cunotine a unui regulator cu logic fuzzy este alctuit din dou componente:
baza de date i baza de reguli de reglare fuzzy. Baza de date se alege funcie de suporturile pe
care sunt definite variabilele lingvistice definite pe universurile de discurs.
Pentru definirea funciilor de apartenen ce caracterizeaz multimile fuzzy se utilizeaz n
special o definiie de tip grafic. n mod uzual cele mai folosite funcii de apartenen sunt: funcia
de apartenen triunghiular, funcia de apartenen trapezoidale, funcia de apartenen clopot,
etc. Funciile de apartenen sunt folosite pentru regulatoarele fuzzy pentru c permit utilizarea
operaiilor cu mulimi fuzzy. Dar, mai exist i o alt modalitate de a de a defini funciile de
apartenen: definire numeric, cnd funcia de apartenen este reprezentat ca un vector a crui
dimensiune depinde de nivelul discretizrii.
Alegerea corect a funciilor de apartenen a mulimii termenilor care intervin n cazul
reglrii unui proces, joac un rol esenial n succesul unei aplicaii.
3.2.2.1 Baza de reguli
Regulile fuzzy asociaz datele descrise prin mulimi fuzzy dup legile de coresponden
dorite. Exprimarea lingvistic a regulilor fuzzy e sub forma unor exprimri condiionale de tipul
dac atunci. Funcionarea unui regulator fuzzy are la baz ntreaga colecie de reguli
fuzzy care formeaz baza de reguli. Baza de reguli reprezint ntr-o descriere lingvistic
funcionarea regulatorului pe domeniile de baz ale mrimilor de intrare (premizei) i ieire
(concluziei).
Regulile pot folosi mai multe variabile, att n premiz ct i n concluzia regulii. Astfel
regulatoarelor le pot fi aplicate att probleme MIMO ct i SISO. Problema tipic pentru SISO
este determinarea ieirii plecnd de la semnalul de eroare.
Uzual, variabilele lingvistice de intrare ale unui regulator cu logic fuzzy sunt: eroarea (e);
variaia erorii (e sau e& ); integrala erorii (e).
Variabilele lingvistice de ieire ale unui regulator cu logic fuzzy pot fi: variaia mrimii
de comand (u sau u& ); mrimea de comand (u).
Datorit prelucrrii n diverse moduri ale erorii avem de-a face cu o singur bucl de
reglare, dei regulatorul are mai multe intrri. n figura 3.3 este prezentat un regulator fuzzy n
care premiza este reprezentat de eroare i variaia erorii.
u
e
r +
Regulator
e
fuzzy
+
z-1
y
Fig. 3.4 Eroarea i variaia erorii ca intrri ale regulatorului fuzzy
59
Regulatoare fuzzy
Informaiile din premiz i concluzie sunt formulate i conectate prin descriptorii
lingvistici I i SAU respectiv prin mecanismul de evaluare a concluziei (mecanismul de
inferen). Regulile bazei de reguli sunt conectate prin conectorul SAU.
Conectarea I sau/i SAU a informaiilor din premiz i din concluzie depind esenial de
funcionalitatea i de proprietile procesului i de modul de caracterizare a experienei n
conducerea procesului.
Mrimea / dimensiunea bazei de reguli depinde de numrul variabilelor lingvistice de
intrare i de ieire, de numrul de termeni lingvistici utilizai n caracterizarea fiecrei variabile
lingvistice i de conectorii utilizai n premiz i concluzie.
Baza de reguli poate fi:
- complet, cnd fiecare situaie ferm (e0) este acoperit de reguli;
- incomplet, cnd situaii ferme imposibile sau foarte puin probabile (nesemnificative)
pentru funcionarea procesului nu sunt definite sau sunt lsate spre rezolvare unor reguli
adiacente.
Funcionarea corect a unui regulator fuzzy i, n consecin, a unui sistem de control cu
regulator fuzzy depinde esenial de formularea corect a bazei de reguli; aceasta depinde de buna
cunoatere a evoluiei/eventual i a tendinei de evoluie a procesului. Din start, trebuie precizat
faptul c greelile mari n formularea bazei de reguli pot avea efecte catastrofale privind
caracteristica static a regulatorului fuzzy.
Evident este i faptul c formularea bazei de reguli pentru un regulator fuzzy cu o intrare i
o ieire nu ridic practic nici un fel de probleme. Dac ns numrul de intrri crete, formularea
bazei de reguli poate deveni mai dificil (ca n cazul regulatoarelor fuzzy dup stare).
Principalele proprieti ale unei baze de reguli bine formulate sunt urmtoarele:
1) baza de reguli s fie complet;
2) baza de reguli s fie consistent;
3) baza de reguli s asigure continuitatea caracteristicii statice.
1)
Baza de reguli s fie complet.
O baz de reguli de forma:
DAC (premiza) ATUNCI (concluzia)
(3.5)
este complet dac toate combinaiile tehnic posibile ale intrrilor acoper toate valorile tehnic
posibile ale comenzii / ieirii.
2)
60
Regulatoare fuzzy
(3.6)
3)
(3.7)
Acelai set de reguli poate fi reprezentat ntr-un format mult mai compact sub o form relaional:
61
Regulatoare fuzzy
Tabelul 3. 1 Baza de reguli n form funcional
err
NEG
POZ
ZERO
POZ
ZERO
NEG
NEG
ZERO
POZ
Variaia err
NEG
NEG
NEG
POZ
ZERO
ZERO
POZ
POZ
ZERO
ieirea
POZBIG
ZERO
POZSMALL
NEGBIG
ZERO
POZBIG
ZERO
NEGSMALL
NEGSMALL
Capul tabelului reprezint numele variabilelor. Primele dou coloane sunt intrrile (eroarea i
variaia erorii), cea de-a treia coloan reprezint ieirea, iar fiecare coloan reprezint o regul.
Acest format prezint avantajul c pentru un utilizator experimentat exist o viziune de ansamblu
asupra bazei de reguli a regulatorului.
Cea de-a treia form, o form matricial este prezentat n tabelul urmtor:
NEG
err ZERO
POZ
n cazul n care una din celulele matricii este vid, atunci nseamn c pentru premizele
corespunztoare nu e activat nici o regul. n acest format este mai facil observarea proprietii
unei baze de reguli de a fi complet.
Pentru cazul descris n tabelul (3.2) cu dou intrri i o ieire aceast matrice mai este numit
i planul fazelor lingvistic. n cazul n care numrul variabilelor de intrare este n>2, matricea va
crete la un vector n-dimensional.
3.2.2.2 Mecanismul de determinare a regulilor de reglare fuzzy
Pentru determinarea regulilor de reglare fuzzy se folosesc patru metode distincte sau chiar
combinaii ale acestora. Cele patru metode sunt [Mastacan L., 2006]:
A. Utilizarea cunotintelor inginereti din domeniul reglrii
62
Regulatoare fuzzy
Plecnd de la relaia cauz efect utilizat n controlul automat regulile de reglare fuzzy
au forma declaraiilor condiionate fuzzy unde variabilele de stare sunt variabile cauz i
variabilele de comand ale procesului sunt variabile efect. Deoarece n multe decizii
informaiile lingvistice sunt predominante fa de cele numerice, regulile de reglare fuzzy permit
implementarea unor decizii destul de facil a lor plecnd de la astfel de informaii.
Exprimarea de tipul dac atunci poate fi asemnat unui sistem expert n care
cunoaterea i experiena sunt determinante. Ca i n cadrul sistemelor de tip expert unde
cunotinele provin fie de la o analiz atent asupra domeniului fie de la o interogare a
operatorului dup anumite direcii predefinite.
Rezult astfel prototipuri ale regulilor de reglare fuzzy pentru un domeniu particular de
aplicaii. Pentru obinerea unor performane optime, regulile de reglare pot fi reduse sau pot fi
combinate ntre ele.
B. Reguli bazate pe comanda manual a proceselor
Relaiile intrare ieire din cadrul sistemelor industriale de comand manual nu sunt
cunoscute din punct de vedere al teoriei clasice a reglrii prin modelare i simulare. n schimb,
operatorii umani calificai pot conduce manual asemenea sisteme far a cunoate modelul
cantitativ al acestora. Conducerea manual reprezint o form mai mult sau mai puin contient
a unei baze de reguli de tipul "dac - atunci". Astfel pentru automatizarea acestor procese,
regulile de reglare manual ale operatorului sunt utilizate ca reguli fuzzy "dac - atunci", prin
intermediul variabilelor lingvistice [Sugeno, 1985].
Deducerea acestor reguli fuzzy se face pe baza observrii atente a aciunilor de reglare
manual ale operatorului n termeni de date de operare intrare- ieire.
C. Reguli bazate pe modelul fuzzy al procesului
Dinamica unui proces reglat poate fi pus sub o descriere lingvistic i astfel se poate
interpreta ca un model fuzzy al procesului [Zadeh, 1973]. Pe baza acestui model poate rezulta
baza de reguli care duce la obinerea unor performane dorite ale dinamicii sistemului.
Metoda aceasta de proiectare a unui regulator cu logic fuzzy este mai complicat i nu a
fost studiat suficient.
D. Sisteme cu autoorganizare
Primul regulator fuzzy cu structur auto-organizabil a fost descris n lucrarea [Procyk,
1979]. Acest regulator are o structur ierarhic compus din dou baze de reguli. Prima, este
baza de reguli generale ntilnit la orice regulator cu logic fuzzy; a doua baz de reguli, este
alctuit dintr-o mulime de "meta-reguli" care creeaz i modific baza de reguli generale innd
cont de performanele globale impuse sistemului.
63
Regulatoare fuzzy
3.2.3 Sistemul de inferen
(MPG)
'
(3.8)
.....................................................................
dac x este An i y este Bn atunci u este Cn
u este C'
ieire:
(3.9)
n care
- x, y i u sunt variabile lingvistice reprezentnd variabilele de stare ale procesului,
respectiv variabila de comand a regulatorului cu logic fuzzy;
- A, B i C sunt valori lingvistice ale variabilelor lingvistice x, y, i u, n universurile de
discurs X, Y i respectiv U, i = 1, 2, ... , n.
64
Regulatoare fuzzy
n relaia (3.9), regula de reglare fuzzy " dac (x este Ai i y este Bi) atunci (z este Ci)" este
implementat de o implicaie fuzzy sub forma unei relaii fuzzy Ri definit astfel:
def
(3.10)
A1
B1
C1
min
C 1
x
A2
B2
C2
min
C2
2
x0
y0
max
z
C
z
65
Regulatoare fuzzy
Observaiile discrete ale mrimilor de intrare sunt considerate singletoane fuzzy x0 i y0 .
Factorii de ponderare pentru regulile de reglare R1 i R2 au urmtoarea form:
1 = A ( x0 ) B ( y0 ) = min[ A ( x0 ), B ( y0 )]
2 = A ( x0 ) B ( y 0 ) = min[ A ( x0 ), B ( y 0 )]
1
(3.11)
Ci ( u ) = i Ci ( u )
(3.12)
C (u ) = C (u ) C (u ) = [ 1 C (u )] [ 2 C (u )]
'
(3.13)
n afar de raionamentul acesta al lui Mamdani mai sunt folosite i alte trei metode de
raionamente fuzzy:
metoda Larsen (operatorului produs)
metoda Takagi i Sugeno
metoda Tsukamoto
66
Regulatoare fuzzy
x
A1
B1
C1
prod
C 1
x
A2
B2
C2
prod
C2
2
x0
y0
max
C
z
Ci ( u ) = i Ci ( u )
(3.14)
C (u ) = C (u ) C (u ) = [ 1 C (u )] [ 2 C (u )]
'
(3.15)
Mrimea de ieire C' este calculat cu regula de compunere a inferenei max-prod. n figura (3.5)
este reprezentat inferena Larsen pentru dou reguli activate.
n raionamentul fuzzy de tip Sugeno&Takagi, concluzia rezult ca o funcie matematic a
premizelor. Formatul regulii este de forma:
67
Regulatoare fuzzy
R: dac (x1 este A1 i...i xn este An) atunci u = f(x1, x2, ..,xn)
(3.16)
n care
- f este funcie de variabilele de stare ale procesului x1, ..., xn definit n subspaiul de
intrare.
Se observ c partea premizei rmne neschimbat comparativ cu metoda Mamdani, n
schimb concluzia rezult uzual ca o funcie matematic simpl, liniar sau ptratic:
f = ( a 0 + a 1 x 1 + a 2 x 2 + ... + a n x n )
(3.17)
(3.17)
Valoarea mrimii de comand care rezult din aplicarea regulii R1 este 1f1(x0,y0) iar
valoarea mrimii de comand care rezult din aplicarea regulii R2 este 2f2(x0,y0)
Valoarea mrimii de comand a regulatorului se calculeaz cu relaia
u =
1 f 1(x 0 ,y 0 ) + 2 f 2 (x 0 ,y 0 )
1 + 2
68
(3.18)
Regulatoare fuzzy
x
A1
B1
1
u1 = a10 + a11 x + a12 y
x
x
A2
B2
u2 = a02 + a12 x + a22 y
2
u=
1u1 + 2u2
1 +2
(3.19)
69
Regulatoare fuzzy
u =
A1
1 y1 + 2 y 2
1 + 2
(3.20)
B1
C1
1
x
x
A2
B2
u1
C2
2
x
u2
u=
1u1 + 2u2
1 + 2
Rezultatul inferenei fuzzy este o informatie vag sub forma funciei de apartenen
rezultat Z(z) referitoare la mrimea de ieire. Prin defuzzificare se nelege operaia de
obinere a unei valori numerice reprezentative pentru iesirea pe baz. Rezultatele aplicrii
tehnicilor fuzzy va fi o valoare clar, ferm chiar dac se lucreaz cu mulimi fuzzy.
Operaia de defuzzificare implic:
- existena funciilor de apartenen ale variabilelor lingvistice de ieire, corespunztor
definite;
- alegerea unei metode de defuzzificare adecvat.
Exist numeroase metode de defuzzificare, din cadrul crora, n domeniul conducerii
automate mai frecvent utilizate sunt urmtoarele [Driankov D., 1993]:
70
Regulatoare fuzzy
a) metoda maximului;
b) metoda centrului de greutate;
c) metoda bisectoarei.
Alegerea uneia sau alteia din metode va depinde de mai muli factori dintre care se amintesc:
- viteza de procesare a informaiei astfel nct prelucrarea n timp real s fie posibil;
- metoda de procesare a informaiei n cazul utilizrii unor procesoare de semnal;
- construcia i funcionarea elementului de execuie.
Fiecare din metodele enumerate prezint avantaje i dezavantaje care vor fi evideniate n
continuare.
3.2.4.1 Metoda maximului
= { u U | U ( u ) = sup U ( u )}
u U
(3.21)
Practic alegerea exact a valorii ferme din mulimea DEF, divide aceast metod n trei
variante posibile:
-
metoda primului maxim, cnd mrimea de ieire a regulatorului fuzzy este valoarea
inferioar
*
umin
a mulimii DEF:
*
u min
= inf { DEF }
u U
71
(3.21)
Regulatoare fuzzy
u
DEF
u
u *min
metoda ultimului maxim, cnd mrimea de ieire a regulatorului fuzzy este valoarea
superioar
*
umax
a mulimii DEF:
*
u max
= sup { DEF }
(3.22)
uU
u
DEF
u
*
umax
metoda medierii maximului, cnd mrimea de ieire a regulatorului fuzzy este valoarea
*
umed
a mulimii DEF:
*
med
*
*
u max
+ u max
=
2
72
(3.22)
Regulatoare fuzzy
u
DEF
u
u *med
u U ( u ) du
U ( u ) du
(3.23)
n cazul particular n care concluzia este o valoare discret U = {u1 ,..., u j } , mrimea de
comand, defuzzificat, a regulatorului cu logic fuzzy, se obine cu relaia:
j
u* =
U (u i )u i
i =1
j
i =1
U (u i )
(3.24)
Aceast metod prezint cteva avantaje importante, avantaje care o recomand n a fi cea
mai folosit metod de defuzzificare:
73
Regulatoare fuzzy
*
u*
variabilei lingvistice de ieire poate apare situaia n care valoarea minim umin =0 sau max =1
nu pot fi realizate; n astfel de situaii, prin defuzzificare prin metoda centrului de greutate
*
*
*
u*
valoarea minim u min respectiv maxim max vor fi u min > 0 i u max < 1 .
u
U ( u ) du =
74
U ( u ) du
(3.25)
Regulatoare fuzzy
u
Un regulator fuzzy este un regulator neliniar ce poate intrarea singular / multipl i ieirea
la fel. Legile de reglare clasice se pot regsi ntr-o comportare mai mult sau mai puin
asemntoare n cadrul funcionrii regulatoarelor fuzzy. Astfel, corespondena aceasta creeaz
echivalene ale regulatoare clasice: regulatoare cvasi-P, cvasi-PI, cvasi-PD, cvasi-PID.
n baza de reguli a unui regulator fuzzy, regulile de reglare fuzzy au n premiz, ca
variabile de intrare, mrimile:
- eroarea, e;
- variaia erorii (derivata), e sau e&
- suma erorilor (integrala), e.
n consecina regulilor, ca variabile de ieire pot fi una din urmtoarele mrimi:
- variaia comenzii u sau u& ;
- comanda u.
75
Regulatoare fuzzy
3.3.1 Regulator cu logic fuzzy cu comportare de tip cvasi-P
u (k ) = K P e(k )
(3.26)
(3.27)
(3.28)
76
(3.29)
Regulatoare fuzzy
+
y
ntrziere
un pas
Kp
Regulator
fuzzy
KD
u = KP e + KI e
(3.30)
u ( k ) = K P e( k ) + K I e( k )
1
(3.31)
Regulatorul fuzzy cvasi-PI de poziie va avea regulile de reglare fuzzy, din baza de reguli,
de forma:
dac e(k) este <simbol> i e este <simbol>
atunci u(k) este <simbol>
(3.32)
Regulatorul fuzzy cvasi-PI incremental este mult mai utilizat n practic i pleac de la
derivarea relaiei (3.30):
u& = K P e& + K I e
77
(3.33)
Regulatoare fuzzy
Regulatorul cu logic fuzzy ce are o comportare de tip cvasi-PI incremental va avea
regulile de reglare fuzzy, din baza de reguli, de forma:
dac e(k) este <simbol> i e(k) este <simbol>
atunci u(k) este <simbol>
(3.34)
n acest caz componenta integral este pus pe ieire i valoarea mrimii de comand u(k)
se obine prin sumarea incrementului u(k) la mrimea de comand anterior calculat u(k-1):
u(k) = u(k-1) + u(k)
+
y
ntrziere
un pas
Kp
KI
Regulator
fuzzy
(3.35)
u +
+
Element de
acumulare
u(k).
3.3.4 Regulator cu logic fuzzy cu comportare de tip cvasi- PID
u = K P e + K D e& + K I e
(3.36)
i n acest caz componenta integratoare poate fi pus fie pe intrare fie pe ieire, ca n cazul
regulatorului Cvasi-PI. Pentru un regulator fuzzy Cvasi-PID ce are componenta integratoare pe
intrare are regulile de reglare fuzzy, din baza de reguli, de forma:
78
Regulatoare fuzzy
dac e(k) este <simbol> i e(k) este <simbol> i e(k) este <simbol>
atunci u(k) este <simbol>
(3.37)
3.3.5 Regulator cu logic fuzzy cu mrimi de intrare variabilele de stare ale procesului
Regulatorul cu logic fuzzy cu mrimi de intrare variabilele de stare ale procesului reglat
reprezentarea simbolic a unei reguli de reglare din baza de reguli este de forma:
dac x1 este <simbol> i ... i xn este <simbol>
atunci u este <simbol> .
(3.38)
Regulile de reglare fuzzy de forma (3.38) se obin de obicei din modelul fuzzy al
procesului.
3.3.6 Regulator cu logic fuzzy de tip Sugeno - Takagi
Baza de reguli a unui regulator cu logic fuzzy de tip Sugeno - Takagi este alctuit din
reguli cu reprezentarea simbolic de forma:
dac x1 este <simbol> i ... i xn este <simbol>
atunci u = f(x1, ..., xn).
(3.39)
unde f este o funcie liniar de variabilele de stare ale procesului xi, (i = 1, 2. ..., n).
3.3.7 Regulatoare convenionale cu adaptarea fuzzy a parametrilor
Regulatoarele PID nc sunt cele mai uzuale regulatoare folosite in sistemele de reglare
datorit operrii simple i a robusteii lor. Acordarea parametrilor de acord a unui regulator
convenional prin metode clasice de proiectare nu este foarte fiabil dac condiiile de
funcionare ale procesului sufer unele modificri on-line. n acest caz, de exemplu un regulator
care a fost proiectat pentru un anumit punct de funcionare nu va avea performane asemntoare
in jurul unui alt punct de funcionare.
Cu ajutorul logicii fuzzy se pot implementa sisteme de adaptare fuzzy a parametrilor
regulatoarelor convenionale. Parametrii de acord ai unui regulator PID: Kp, Kd i Ki pot fi
acordai cu ajutorul unui sistem fuzzy, care ine cont de valoarea erorii i a variaiei erorii.
Shema bloc a unui sistem cu adaptarea parametrilor regulatorului PID este prezentat n
figura (3.13).
79
Regulatoare fuzzy
Parametrii regulatorului PID sunt determinai n urma unei inferene fuzzy Mamdani, cu
regulile din baza de reguli de forma:
dac e(k) este <simbol> i e(k) este <simbol>
atunci Kp este <simbol> Ki este <simbol> Kd este <simbol>
Regulator
fuzzy
1-z-1
r
Regulator
PID
(3.40)
KP, KI, KD
u
y
Fig. 3.16 Regulator PID cu adaptarea fuzzy a parametrilor de acord
80
Capitolul 4
Mecanisme de inferen n baze rare de reguli fuzzy
4.1 Baze dense i baze rare de reguli fuzzy
n general, un sistem de inferen reprezint o procedur automat care permite dezvoltarea
raionamentelor, transformnd cunotinele pasive, culese n mod mai mult sau mai puin
ordonat, n informaie activ, necesar adoptrii unor decizii.
Un sistem de inferen fuzzy presupune o structur de reguli predefinite de ctre utilizator
de forma dac premiza... atunci ...concluzia. Baza de reguli este compus din totalitatea
regulilor fuzzy care descriu comportarea unui sistem.
Activarea unei reguli fuzzy se face cnd observaia de la un moment dat din universul de
discurs al premizei genereaz o concluzie. Se pot activa la un moment dat una sau mai multe
reguli fuzzy, iar atunci cnd sunt activate mai multe reguli fuzzy, concluzia final rezult din
operaia de compunere a concluziilor generate. Astfel premizele sunt legate de concluzii printrun sistem dinamic poate fi interpretat i ca un model fuzzy al sistemului respectiv.
Modelele fuzzy care conin reguli de tipul
dac x este Ai atunci y este Bi
(4.1)
n care X={xi} este spaiul de intrare, Y={yi} este spaiul de ieire, i=1, 2, , k, sunt cunoscute
n literatur ca modele-Z [Zadeh, 1994].
Aceste tipuri de reguli genereaz concluzii ferme pentru nucleul spaiului X, acolo unde
A ( xi ) = 1 i valori vagi pe suportul respectiv, n vecintatea nucleului A ( xi ) (0,1) .
Un alt model utilizat este modelul-TS [Takagi T.,Sugeno M., 1985], unde concluzia este
determinat printr-o combinaie liniar a intrrii:
dac x este Ai atunci y=aix+bi
81
(4.2)
U Ai = X
(4.3)
i =1
n care, Ai sunt mulimi de nivel- (tieturi-), iar r este numrul de reguli fuzzy din baza de
reguli fuzzy.
Astfel, dac avem ndeplinit condiia (4.3) spunem c avem de-a face cu o baz dens de
reguli, unde pentru orice observaie x X , exist o regul i activat: Ai ( x) > 0 .
Universul X este acoperit fuzzy, dac este obinut prin reuniunea suporturilor mulimilor
fuzzy Ai, adic
r
U S( Ai ) = X
(4.4)
i =1
Pentru o valoare 0< <1, acoperirea fuzzy a universului X se definete prin reuniunea unor
tieturi-, relaia (4.3). Se observ c ntotdeauna reuniunea nucleelor mulimilor fuzzy Ai este o
submulime a universului X:
r
U nucleu( Ai ) X
(4.5)
i =1
Inferena este astfel realizat, ca n cazul n care observaia din premiz este n nucleul
functiei de apartenen, atunci concluzia va fi ferm, iar n cazul n care observaia din premiz
este vag, atunci i concluzia va pstra i ea un caracter vag.
ntr-o baz dens de reguli numrul regulilor depinde de numrul mulimilor fuzzy care
sunt definite pe acel univers de discurs X. Astfel dac avem de-a face cu un numr mai mare de
mulimi fuzzy, baza de reguli va fi mai mare i de aici apar i unele inconveniente legate de
timpul de calcul, legate de complexitatea sistemului de inferen.
n mare msur, n practic, este destul de dificil a cunoate un sistem suficient de bine
astfel nct s avem de-a face cu baze dense de reguli i de aceea se lucreaz cu baze rare de
reguli fuzzy. Astfel, exist observaii x * X pentru care relaia (4.3) nu este verificat i anume
82
x U S( Ai )
*
(4.6)
i =1
Acele observatii x* nu activeaz nici o regul din cele r i spunem c baza de reguli conine
goluri. i n astfel de cazuri sistemul de inferen trebuie s nu se blocheze i astfel trebuie
gsite noi metode de determinare a unei concluzii atunci cnd apar observaii care nu activeaz
nici o regul din baza de reguli.
n figura 4.1 este dat o reprezentare grafic a regulii de forma: dac x este A1atunci y este
B1, pentru cazul cnd toate mulimile din baza de reguli au funcii de apartenen trapezoidale:
x
R1
DACA:
P4
a4
S(R1)
P3
a3
A1
nucleu(R1)
P2
a2
P1
a1
B1
1
ATUNCI:
b1
b2
b3
y
b4
(4.7)
ntr-un univers fuzzy parial ordonat se introduce noiunea de distan fuzzy pentru a putea
msura separat distanele pentru fiecare tietur-, [ 0 ,1 ] [Mastacan L., 2006]. Pentru a putea
reprezenta poziia relativ a dou tieturi-, A i B, se compar cele dou puncte extreme
(margini) ale hiper-intervalelor tieturilor-, distanele dintre punctele extreme fiind denumite
distane fuzzy inferioare respectiv distane fuzzy superioare.
Distana fuzzy inferioar este familia distanelor- fuzzy dintre valorile infimum ale
tietuirilor- ale dou mulimi fuzzy comparabile, pentru care
d inf ( A,B )( z ) =
/ d (inf{ A },inf{ B } )
(4.8)
[ 0 ,1 ]
n care z Z este variabila care reprezint posibilele valori ale distanei n universul X, iar
d(A,B) este de exemplu distana euclidian:
d ( A, B ) = ( ( A( x ) B( x ))2 dx )1 / 2
(4.9)
Distana fuzzy superioar este familia distanelor- fuzzy dintre valorile supremum ale
tietuirilor- ale dou mulimi fuzzy comparabile, pentru care
d sup ( A,B )( z ) =
/ d (sup{ A }, sup{ B } ) .
(4.10)
[ 0 ,1 ]
84
(4.11)
pentru care
i = 1,..., u; j = 1, .., u
X 1 p X 2 p ... p X u
Y1 p Y2 p ... p Yu
(4.12)
S( X * ) I S( X i ) =
S( Y * ) I S( Y j ) =
(4.13)
X i p X * p X i +1
Y j p Y * p Y j +1
(4.14)
a ,b X : X i X a X i b
c ,d Y : Y j Y
e , f Z : Z ij Z
85
c Yj d
e Z ij f
(4.15)
(4.16)
ij
Yj
Zij
Eij
Fij
Hij
Gij
S sup{Yj}
S inf{Yj}
N inf{Yj}N sup{Yj}
x
S inf{Xi}
N inf{Xi}
Xi
Aij
Dij
N sup Xi}
S sup{Xi}
Bij
Cij
(4.17)
(4.18)
S ( X *) I S ( X i ) =
S (Y *) I S (Y j ) =
(4.19)
i = 1,2; j = 1,2;
S presupunem c observaiile X* i Y* respect condiiile
X1 p X * p X 2
Y1 p Y * p Y2
(4.20)
n figura 4.4 este reprezentat metoda propus pentru determinarea unei concluzii n baza
rar de reguli fuzzy considerat, parial ordonat.
Trebuie determinat concluzia Z* ca rezultat al regulii:
R*: Dac x este X* i y este Y* atunci z este Z*
(4.21)
Concluzia Z* nu poate fi obinut prin inferena fuzzy clasic deoarece nu este activat nici
una din cele patru reguli R11, R12, R21, R22 din baza de reguli 4.16.
87
H12
F12
G12
y
Y1
E11
N inf {Y }
N inf {Y1}
N sup {Y1}
G11
F*
H
G
G1
Z4
F22
C11
G3
E21 H21
G22
B12
D*
N sup{X*}
S sup{X*}
B*
Z2
Z3
C*
S inf {X2}
X2
A21
N inf {X2}
N sup{X2}
C22
S sup{X2}
B21
X
D22
A22
D21
B22
C21
Fig. 4.4 Raionament ntr-o baz rar de reguli fuzzy, parial ordonat
cu funcii de apartenen trapezoidale
88
D12
H22
E22
B11
A12
N sup{X1}
X*
S sup{Y2}
S inf{Y2}
G2
D11
A11
N inf {X1}
S inf {X*}
S sup{Y*}
S inf{Y*}
Z1
S inf {X1}
S sup{X1}
N inf {Y2}
N sup {Y2}
N sup{Y*}
S sup{Y1}
S inf {Y1}
Y2
H11
F11
X1
Y*
G4
C12
(4.22)
89
(4.23)
*
Ninf{X*} Nsup{X }
X1
0
Sinf {X1}
X*
X2
X
Ssup{X1}
Sinf{X*}
Sdinf {X*, X1}
Ssup{X*}
Sinf {X2}
Ssup{X2}
S inf{ X * } =
(4.24)
Pentru universul de discurs Y se obin din relaiile (4.22) coordonatele suportului mulimii
*
Y:
90
S inf{ Y * } =
(4.25)
(4.27)
*
N sup{ X 2 } N sup{ X * }
z ( N sup{ X 1 }, N sup{ Y1 }) +
N sup{ X 2 } N sup{ X 1 }
N sup{ X * } N sup{ X 1 }
z ( N sup{ X 2 }, N sup{ Y1 })
N sup{ X 2 } N sup{ X 1 }
(4.28)
Analog pe dreapta G12G22 se obine punctul G2 de coordonate
z ( N sup{ X * }, N sup{ Y 2 }) =
N sup{ X 2 } N sup{ X * }
z ( N sup{ X 1 }, N sup{ Y 2 }) +
N sup{ X 2 } N sup{ X 1 }
N sup{ X * } N sup{ X 1 }
z ( N sup{ X 2 }, N sup{ Y 2 })
N sup{ X 2 } N sup{ X 1 }
(4.29)
Din ecuaia dreptei G1G2 pentru x = N sup {X * }i y = N sup {Y * } se obine punctul G* care este
un punct caracteristic al nucleului concluziei Z*:
91
N sup{ Y 2 } N sup{ Y * }
z ( N sup{ X * }, N sup{ Y1 }) +
N sup{ Y 2 } N sup{ Y1 }
N sup{ Y * } N sup{ Y1 }
z ( N sup{ X * }, N sup{ Y 2 })
N sup{ Y 2 } N sup{ Y1 }
(4.30)
Introducnd n relaia (4.30), relaiile (4.28) i (4.29) rezult:
z ( N sup{ X * }, N sup{ Y * }) =
z ( N sup{ X 1 }, N sup{ Y 2 })
N sup{ X 2 } N sup{ X 1 } N sup{ Y 2 } N sup{ Y1 }
z ( N sup{ X 2 }, N sup{ Y 2 })
N sup{ X 2 } N sup{ X 1 } N sup{ Y 2 } N sup{ Y1 }
(4.31)
Utiliznd distanele fuzzy ale nucleelor, definite n relaia (4.23), n calculul coordonatei
punctului G*= z ( N sup{ X * }, N sup{Y * }) , din relaia (4. 31) rezult:
z ( N sup{ X * }, N sup{Y * }) =
Nd sup { X * , X 2 }
Nd sup {Y * , Y2 }
z ( N sup{ X 1 }, N sup{Y1 }) +
Nd sup { X * , X 1 } + Nd sup { X * , X 2 } Nd sup {Y * , Y1 } + Nd sup {Y * , Y2 }
Nd sup { X * , X 1 }
Nd sup {Y * , Y2 }
Nd sup {Y * , Y1 }
z ( N sup{ X 1 }, N sup{Y2 }) +
Nd sup {Y * , Y1 }
z ( N sup{ X 2 }, N sup{Y2 })
(4.32)
Dac se scoate factor comun produsul distanelor inferioare i superioare pentru fiecare univers
de discurs, se obine:
92
Ndsup{X , X 1}
1
Ndsup{X , X 1}
Ndsup{X , X 2 }
+ 1
Ndsup{X , X 1}
+ 1
Ndsup{X , X 2 }
Ndsup{X , X 1}
+ 1
Ndsup{X , X 2 }
Ndsup{Y , Y }1
Ndsup{X , X 2 }
Ndsup{Y , Y1}
Ndsup{Y , Y2 }
+ 1
z( N sup{X 2 }, N sup{Y1}) +
*
Ndsup {Y , Y2 }
Ndsup {Y * , Y2 }
Ndsup{Y , Y1}
+ 1
Ndsup {Y * , Y1}
Ndsup {Y * , Y1}
Ndsup {X * , X 2 }
Ndsup {X * , X 1}
Ndsup {X * , X 2 }
1
1
+ 1
+ 1
Ndsup {Y , Y2 }
Ndsup {Y * , Y2 }
Ndsup{Y , Y1}
+ 1
z( N sup{X 2 }, N sup{Y2 })
*
Ndsup {Y , Y2 }
(4.33)
Scond numitorul factor comun i comprimnd relaia (4.33) cu ajutorul indicilor, rezult
G * = z( N sup{X * }, N sup{Y * }) =
2
1
1
1
z( N sup{X }, N sup{Y })
k
l
*
*
2
2
Nd
{
X
,
X
}
Nd
{
Y
,
Y
}
k ,l =1
sup
sup
k
l
1
1
Nd {Y * , Y }
*
Nd
{
X
,
X
}
sup
i j =1
j
i =1 sup
(4.34)
Similar rezult:
E* = z( N inf{X *}, N inf{Y *}) =
2
1
1
z( N inf{X k }, N inf{Yl })
Nd {X * , X } Nd {Y * , Y }
2
,
1
=
k
l
inf
k
l
inf
1
1
Nd {X * , X } Nd {Y * , Y }
inf
i j =1
j
i=1 inf
(4.35)
93
1
1
1
*
Nd {Y * ,Y }z(N sup{X k }, N inf{Yl })
2
Nd
{
X
,
X
}
k
l
inf
1
1
k ,l =1 sup
*
*
i=1 Ndsup{X , X i } j=1 Ndinf {Y , Y j }
(4.36)
*
1
1
z(N inf{X }, N sup{Y })
k
l
*
*
2
2
Nd
{
X
,
X
}
Nd
{
Y
,
Y
}
k ,l =1
k
l
inf
sup
1
1
Nd {X * , X } Nd {Y * , Y }
i j =1
j
sup
i=1 inf
(4.37)
Generaliznd relaiile 4.34 4.37, punctele caracteristice E*, F*, G*, H* ale nucleului
concluziei Z*, pot fi determinate cu relaia (4.38):
{ }
{ }
m
n
z( NX car
X * , NYcar
Y* ) =
2
1
1
1
k ,l =1 Nd m {X , X k } NdY n Yl
2
2
1
1
car
X car
*
*
i =1 Nd X m {X , X i } j =1 NdY n {Y , Y j }
car
car
m
n
z ( NX car {X k }, NYcar {Yl })
(4.38)
0
1
0
1
unde m {0,1} X car
= inf{ X }; X car
= sup{ X } i n {0,1} , Ycar
= inf{ Y }; Ycar
= sup{ Y } .
m
X car
iX car =
n
Yj car '
Nd
Nd
m
X car
m
Y car
1
,
{ X *, X i}
1
,
{Y * , Y j }
94
i = 1, 2 ;
(4.39)
j = 1, 2
m
2 X car
i
i =1
1
n
2 Ycar
j
i =1
m
n
{ X k }, NY car
{Yl })
kX car Ylcar z ( NX car
k ,l =1
(4.40)
0
1
0
1
n care: m {0,1} X car
= inf{ X }; X car
= sup{ X } i n {0,1} , Ycar
= inf{ Y }; Ycar
= sup{ Y } .
N inf{ X * } =
(4.41)
N inf{ Y * } =
(4.42)
Relaiile (4.24), (4.25) i relaiile(4.41), (4.42) pot fi scrise sub forma relaiilor (4.47) i (4.48)
2
m
{X i }
SX car
m
SX car
{ X * } = i =1
Sd
m
X car
{ X * , X 1} Sd
m
X car
{X * , X 2 }
SYcarn {Yi }
n
{Y * } = i =1
SYcar
Sd
n
Ycar
{Y * , Y1} Sd
n
Ycar
{Y * , Y2 }
(4.47)
m
NX car
{X *} =
m
{X i }
NX car
i =1
Nd
m
X car
{ X * , X 1} Nd
m
X car
{X * , X 2 }
n
{Y * } =
NYcar
NYcarn {Yi }
i =1
Nd
n
Ycar
{Y * , Y1} Nd
2
95
n
Ycar
{Y * , Y2 }
(4.48)
(4.49)
(4.50)
Y1 p Y2 p .. p Yr p Y * p Yr +1 p ... p Yu ,
(4.51)
prin generalizarea relaiilor (4.40), (4.47) i (4.48) se obin pentru mrimile caracteristice ale
concluziei Z* relaiile finale (4.52), (4.53) i (4.54):
u
m
n
z(NXcar
{X *}, NYcar
{Y *}) =
m u
n
u Xcar
i Yjcar
i=1
j=1
i =1
m
{ X *} =
SX car
m
{X i }
SX car
2
u
n
SYcar
{Y * } =
j =1
m
car
{ X *} =
i =1
i = p +1
2
j =1
m
Ycar
{Y * , Y j }
SdYcarn {Y * ,Y j }
j = r +1
(4.53)
*
*
m
{ X i } Nd X m { X , X i } Nd X m { X , X i }
NX car
car
car
i = p +1
i =1
i =1
n
{Y * } =
NY car
*
*
Sd X car
m { X , X i } Sd X m { X , X i }
car
NX
(4.52)
Sd
+
k,l =1
SYcarn {Y j }
m
n
kXcar Ylcar z(NXcar
{X k }, NYcar
{Yl })
2
r
NY carn {Y j } Nd Ycarn {Y * , Y j }
j =1
j =1
j = r +1
96
Nd
n
Ycar
{Y * , Y j }
(4.54)
Concluzia Z * este unic determinat prin metoda prezentat deoarece pot fi calculate n
spaiul X Y Z valorile caracteristice ale coordonatelor A* , B* ,C * i D* ale suportului
concluziei i valorile caracteristice ale coordonatelor E* , F * ,G* i H * ale nucleului concluziei n
funcie de valorile caracteristice ale suporturilor i nucleelor premizelor X i i Y j din baza de
reguli fuzzy rar i de distanele fuzzy inferioare i superioare dintre suporturile i nucleele
observaiilor X * i Y * respectiv fa de suporturile i nucleele premizelor X i i Y j .
Concluzia Z * este obinut n ipoteza c observaiile X * i Y * aparin unor goluri din
universurile de intrare X, respectiv Y. Metoda propus de inferen fuzzy utilizeaz valorile
cunoscute ale concluziilor Z ij din baza de reguli fuzzy rar, ponderate prin inversele distanelor
fuzzy inferioare i superioare dintre nucleele observaiilor X * i Y * i nucleele premizelor
cunoscute X i respectiv Y j .
4.2.2 Inferene n baze rare de reguli fuzzy cu funcii de apartenen triunghiulare ale
premizelor
(4.55)
Regulile fuzzy R11 R22 pot fi reprezentate n spaiul X Y Z conform figurii (4.6).
Mulimile fuzzy ale concluziilor Z ij , i=1, 2 i j=1, 2, sunt delimitate n spaiul X Y Z de
punctele Aij, Bij, Cij, Dij, Vij.
S presupunem c exist observaiile X* i Y* cu funcii de apartenen triunghiulare din
universurile ordonate de intrare X respectiv Y, care nu activeaz nici o regul din baza de reguli
(4.55), deci corespund unor goluri din baza de reguli:
S( X *) I S( X i ) =
S(Y *) I S(Y j ) =
i = 1, 2; j = 1, 2;
97
(4.56)
Y1 p Y * p Y2
n figura 4.6 este reprezentat metoda propus pentru determinarea unei concluzii n baza
rar de reguli fuzzy considerat, parial ordonat n condiiile menionate.
Z
V12
T
y
V11
Vf{Y1}
Sinf{Y1}
V*
Vf {X1}
Ssup{X1}
Vf{Y }
D11
Sinf{Y2}
B12
B11
Ssup{Y2}
C11
D12
A12
A11
V21
Sinf {X*}
Vf {X*}
D*
C12
V22
Ssup{X*}
B*
A2
Sinf {X2}
Sinf {X1}
X2
Ssup{Y*}
X*
Y2
Vf{Y2}
Sinf{Y*}
Ssup{Y1}
X1
Y*
Y1
C*
D22
A22
D21
Vf {X2}
Ssup{X2}
B21
C21
B22
C22
Fig. 4.6 Raionament ntr-o baz rar de reguli fuzzy, parial ordonat
cu funcii de apartenen triunghiulare
Concluzia Z* nu poate fi obinut prin inferena fuzzy clasic deoarece nu este activat nici
una din cele patru reguli R11, R12, R21, R22 din baza de reguli 4.55.
Suportul concluziei Z* este determinat de punctele caracteristice A*, B*, C* i D*. Poziia
punctelor caracteristice A*, B*, C* i D* n planul X Y se determin n funcie de valorile
punctelor caracteristice ale suporturilor premizelor X 1 , X 2 i Y1 , Y2 din universurile de intrare X
98
Vf{X*}
Vf{X1}
X1
0
Sinf {X1}
Vf{X2}
X*
*
Ssup{X1} Sinf{X }
X2
Ssup{X*}
Ssup{X2}
Sinf {X2}
Vfd{X*, X2}
(4.57)
calculeaz cu relaiile:
Vf { X * } =
Vf { X 1 } + Vf { X 2 } Vfd { X * , X 1 } Vfd { X * , X 2 }
+
2
2
99
(4.58)
(4.59)
Vf { X 2 } Vf { X * }
z(Vf { X 1 } ,Vf {Y1 } ) +
Vf { X 2 } Vf { X 1 }
Vf { X * } Vf { X 1 }
z(Vf { X 2 } ,Vf {Y1 } )
Vf { X 2 } Vf { X 1 }
(4.60)
Vf { X 2 } Vf { X * }
z (Vf { X 1 }, Vf {Y 2 }) +
Vf { X 2 } Vf { X 1 }
Vf { X * } Vf { X 1 }
z (Vf { X 2 }, Vf {Y 2 })
Vf { X 2 } Vf { X 1 }
(4.61)
= Vf { Z * } = z (Vf { X * }, Vf { Y * }) =
Vf { Y 2 } vf { Y * }
z (Vf { X * }, Vf { Y1 }) +
Vf { Y 2 } Vf { Y1 }
Vf { Y * } vf { Y 1 }
z (Vf { X * }, Vf { Y 2 })
Vf { Y 2 } Vf { Y 1 }
(4.62)
Introducnd n relaia (4.62), relaiile (4.60) i (4.61), rezult:
100
z (Vf { X 1 }, Vf {Y1 })
Vf { X 2 } Vf { X 1 } Vf {Y 2 } Vf {Y1 }
z (Vf { X * }, Vf {Y * }) =
Vf { X * } vf { X 1 } Vf {Y 2 } Vf {Y * }
z (Vf { X 2 }, Vf {Y1 })
Vf { X 2 } Vf { X 1 } Vf {Y 2 } Vf {Y1 }
(4.63)
*
*
Vf { X 2 } vf { X } Vf {Y } Vf {Y 2 }
z (Vf { X 1 }, Vf {Y 2 })
+
Vf { X 2 } Vf { X 1 } Vf {Y 2 } Vf {Y1 }
Vf { X * } vf { X 1 } Vf {Y * } Vf {Y 2 }
z (Vf { X 2 }, Vf {Y 2 })
Vf { X 2 } Vf { X 1 } Vf {Y 2 } Vf {Y1 }
Dac introducem n relaia (4.63) distanele fuzzy dintre valorile de vrf ale observaiilor
Vfd {Y * , Y2 }
Vfd { X * , X 1 }
z (Vf { X 1 }, Vf {Y1 })
Vfd {Y * , Y2 }
Vfd {Y * , Y1 }
z (Vf { X 2 }, Vf {Y1 })
z (Vf { X 1 }, Vf {Y2 }) (4.64)
Vfd {Y * , Y1 }
z (Vf { X 2 }, Vf {Y2 })
Vfd { X * , X 1 } + Vfd { X * , X 2 } Vfd {Y * , Y1 } + Vfd {Y * , Y2 }
Scoand factor comun produsul distanelor inferioare i superioare pentru fiecare univers de
discurs, relaia (4.64) devine:
101
z (Vf { X 1 }, Vf {Y1 })
1
1
+ 1
+ 1
*
*
*
*
Vfd { X , X 1 }
Vfd { X , X 2 }
Vfd {Y , Y1 }
Vfd {Y , Y 2 }
1
1
Vfd { X * , X 2 }
Vfd {Y * , Y1 }
+
z (Vf { X 2 }, Vf {Y1 })
1
1
+ 1
+ 1
*
*
*
*
Vfd { X , X 1 }
Vfd { X , X 2 }
Vfd {Y , Y1 }
Vfd {Y , Y 2 }
1
1
Vfd { X * , X 1 }
Vfd {Y * , Y 2 }
+
z (Vf { X 1 }, Vf {Y 2 })
1
1
1
1
+
+
Vfd { X * , X 1 }
Vfd { X * , X 2 }
Vfd {Y * , Y1 }
Vfd {Y * , Y 2 }
1
1
Vfd { X * , X 2 }
Vfd {Y * , Y 2 }
+
z (Vf { X 2 }, Vf {Y 2 })
1
1
+ 1
+ 1
*
*
*
*
Vfd { X , X 1 }
Vfd { X , X 2 }
Vfd {Y , Y1 }
Vfd {Y , Y 2 }
(4.65)
Dac se scoate numitorul factor comun i se comprim relaia (4.65) cu ajutorul indicilor rezult:
z (Vf { X * }, Vf {Y * }) =
1
2
2
1
1
Vfd{ X * , X } Vfd{Y * , Y }
i j =1
j
i =1
Vfd{ X * , X
k ,l =1
z (Vf { X k }, Vf {Yl })
Vfd{Y * , Y }
}
k
l
(4.66)
Se introduc factorii de ponderare i i j definii prin inversele distanelor fuzzy dintre
valorile de vrf ale observaiilor X * i Y * i valorile de vrf ale premizelor din baza de reguli
fuzzy X 1 i X 2 , respectiv Y1 i Y2 :
i =
1
,
Vfd { X * , X i }
1
=
,
Vfd {Y * , Y j }
i = 1, 2
(4.67)
j = 1, 2
z (Vf { X * }, Vf {Y * }) =
1
2
j =1
i =1
2
[( k ) ( l ) z (Vf { X k }, Vf {Y l })]
(4.68)
k , l =1
Vf { X * } =
Vf { X i }
i =1
Vfd { X * , X 1 } Vfd { X * , X 2 }
2
Vf { Y } =
Vf { Y j }
j =1
(4.69)
m
{X *} =
SX car
m
{X i }
SX car
i =1
Sd
m
X car
{ X * , X 1} Sd
m
X car
{X * , X 2 }
SYcarm {Yi }
m
{Y *} = i =1
SYcar
Sd
m
Ycar
{Y * , Y1} Sd
m
Ycar
{Y * , Y2 }
(4.70)
0
1
0
1
n care: m {0,1} ; X car
= inf{ X }; X car
= sup{ X }; i Ycar
= inf{ Y }; Ycar
= sup{ Y } .
(4.71)
p X
p .. p X
p X
p X
s+1
103
p ... p X
(4.72)
p Y t + 1 p ... p Y n ,
(4.73)
prin generalizarea relaiilor (4.68), (4.69) i (4.70) se obin pentru mrimile caracteristice ale
concluziei Z* relaiile finale (4.74), (4.75) i (4.76):
1
z (Vf { X * }, Vf {Y * }) =
n
i
i =1
n
j
j =1
Vf { X * } =
k , l =1
(4.74)
i =1
i = s +1
Vf { X i } Vfd { X * , X i } Vfd { X * , X 2 }
i =1
j =1
j = t +1
Vf {Y j } Vfd {Y * , Y j } Vfd {Y * , Y j }
Vf {Y * } =
SX
m
car
{X *} =
SX
i =1
m
car
j =1
Sd
i =1
m
X car
{X *, X i}
Sd
i = s +1
m
X car
{X *, X i}
2
t
m
{Y j }
SY car
(4.75)
{X i}
2
n
m
{Y * } =
SY car
j =1
j =1
Sd
m
Y car
{Y * , Y j }
j = t +1
Sd
m
Y car
{Y * , Y j }
(4.76)
0
1
0
1
unde m {0,1} i X car
= inf{ X }; X car
= sup{ X }; Y car
= inf{ Y }; Y car
= sup{ Y }
Concluzia Z * este unic determinat prin metoda prezentat deoarece pot fi calculate n
spaiul X Y Z valorile caracteristice ale coordonatelor A* , B* ,C * i D* ale suportului
concluziei precum i mrimea caracteristic V * = Vf { Z * } a valorii de vrf a concluziei.
Suportul A* B* C* D* al concluziei Z * este obinut n funcie de valorile caracteristice ale
suporturilor premizelor X i i Y j din baza de reguli fuzzy rar i de distanele fuzzy inferioare i
superioare dintre suporturile observaiilor X * i Y * i suporturile premizelor X i respectiv Y j .
Pentru calculul valorii de vrf V * = Vf { Z * } a concluziei Z * , metoda propus de
inferen fuzzy utilizeaz valorile cunoscute ale concluziilor Z ij = Vij = Vf { Z ij } din baza de date
rar ponderate prin inversele distanelor fuzzy dintre valorile de vrf ale observaiilor X * i Y *
i valorile de vrf ale premizelor cunoscute X i i Y j .
104
Metoda de determinare a unei concluzii cnd observaiile corespund unor goluri ntr-o
baz rar de reguli fuzzy parial ordonat poate fi utilizat i n cazul cnd n universurile de intrare
X i Y premizele X i i Y j .i observaiile X* i Y* au funcii de apartenen diferite, triunghiulare i
trapezoidale. Pentru justificarea acest caz se consider baza rar de reguli fuzzy (4.77) alctuit din
patru reguli de forma:
R11: Dac x este X1 i y este Y1 atunci z este Z11
R12: Dac x este X1 i y este Y2 atunci z este Z12
R21: Dac x este X2 i y este Y1 atunci z este Z21
R22: Dac x este X2 i y este Y2 atunci z este Z22
(4.77)
Regulile fuzzy R11 R22 sunt reprezentate n spaiul X Y Z conform figurii (4.8).
Se observ c premiza X 1 are funcie de apartenen triunghiular, premiza X 2 are funcie
de apartenen trapezoidal, premiza Y1 are funcie de apartenen trapezoidal i premiza Y2 are
funcie de apartenen triunghiular.
Mulimile fuzzy ale concluziilor Z ij au suporturile delimitate n planul X Y de punctele
Aij, Bij, Cij i Dij.
Pentru nucleele concluziilor Z ij pot fi obinute n spaiul X Y Z urmtoarele trei situaii:
X1 p X * p X 2
(4.78)
Y1 p Y * p Y2
105
G4
Y1
E11 G11
N inf {Y*}
N
N inf {Y1}
N
S sup {Y*}
S inf {Y2}
*
E* G
S inf {X1}
G1
Vf { X1}
X1
Vf { Y2}
sup
*
S inf {Y1}
Y2
Y*
S sup {Y2}
Z12
Z1
D11
A11
D12
A12
E22
S sup {X1}
B11
*
S inf {X }
X*
Vf { X*}
F21
A*
C12
D*
G21
Z21
Z22
D21
A21
N inf {X2}
B12
G3
S sup {X }
X2
C11
E21 H21
S inf {X2}
G22
D22
A22
N sup {X2}
S sup {X2}
X
B21
C21
B22
C22
Fig. 4.8 Raionament ntr-o baz rar de reguli fuzzy, parial ordonat cu
funcii de apartenen triunghiulare i trapezoidale ale premizelor
Concluzia Z * este caracterizat n spaiul X Y Z de punctele caracteristice A*, B*, C*,
D* ale suportului, i de punctele caracteristice E*, G* ale nucleului.
n planul X Y
concluziei Z * se determin cu relaia (4.79) similar relaiilor (4.47) din paragraful 4.2.1. i
relaiei (4.70) din paragraful 4.2.2.
106
m
{X i }
SX car
m
SX car
{ X * } = i =1
Sd
m
X car
{ X * , X 1} Sd
m
X car
{X * , X 2 }
m
SYcar
{Y * } =
SYcarm {Yi }
i =1
Sd
m
Ycar
{Y * , Y1} Sd
m
Ycar
{Y * , Y2 }
(4.79)
0
1
0
1
n care: m {0,1} ; X car
= inf{ X }; X car
= sup{ X }; i Ycar
= inf{ Y }; Ycar
= sup{ Y } .
1
1
1
2
2
Nd
{
X
,
X
}
Nd
{
Y
,
Y
}
sup
k
l
1
1
k,l =1 sup
*
*
1
1
z(N inf{Xk }, N inf{Yl})
*
*
Nd {X*, X } Nd {Y*, Y }
i
1
j
1
=
=
inf
i
inf
j
(4.81)
{ }
{ }
m
m
z( NX car
X * , NYcar
Y* ) =
2
1
1
1
Nd Y
*
2
2
k ,l =1 Nd m {X , X k } Y m l
1
1
car
X car
*
*
i =1 Nd X m {X , X i } j =1 NdY m {Y , Y j }
car
car
m
m
z ( NX car {X k }, NYcar {Yl })
(4.82)
0
1
0
1
unde m {0,1} i X car
= inf{ X }; X car
= sup{ X }; Ycar
= inf{ Y }; Ycar
= sup{ Y } .
Se introduc factorii de ponderare iX car i Yjcar definii prin inversele distanelor fuzzy
inferioare i superioare n universurile de intrare X i Y dintre nucleele observaiilor X* i Y* i
nucleele premizelor cunoscute X1 i X2 respectiv Y1 i Y2:
107
iX car =
m
Yjcar '
Nd
Nd
m
X car
m
Y car
1
,
{X *, X i}
1
,
{Y * , Y j }
i = 1, 2 ;
(4.83)
j = 1, 2
m
2 X car
i
i =1
1
m
2 Ycar
j
i =1
m
m
{ X k }, NY car
{Yl })
kX car Ylcar z ( NX car
k ,l =1
(4.84)
0
1
0
1
n care: m {0,1} i X car
= inf{ X }; X car
= sup{ X }; Ycar
= inf{ Y }; Ycar
= sup{ Y } .
(4.85)
NYcarm {Yi }
m
{Y * } = i =1
NYcar
Nd
m
Ycar
{Y * , Y1} Nd
2
m
Ycar
{Y * , Y2 }
(4.86)
0
1
0
1
n care: m {0,1} i X car
= inf{ X }; X car
= sup{ X }; Ycar
= inf{ Y }; Ycar
= sup{ Y } .
(4.87)
Y1 p Y2 p .. p Yr p Y * p Yr +1 p ... p Yn ,
108
(4.88)
m
{X i }
SX car
i =1
m
{X *} =
SX car
Sd
j =1
m
m
z(NXcar
{X *}, NYcar
{Y *}) =
Sd
Vf { X * } =
j =1
i =1
i = p +1
Sd
j = r +1
m
Ycar
{Y * , Y j }
(4.89)
k,l =1
(4.90)
Nd sup { X * , X i }
i =1
Nd sup { X * , X i }
i = p +1
(4.91)
2
r
{X * , X i }
NYcarm {Y j } Nd Ycarm {Y * , Y j }
j =1
m
X car
m
m
kXcar Ylcar z(NXcar
{X k }, NYcar
{Yl })
Sd
m
NYcar
{Y * } =
m
Ycar
m n
m
n Xcar
i Yjcar
i=1
j=1
N sup{ X i }
{Y * , Y j }
2
r
SYcarm {Y j }
m
SYcar
{Y * } =
i =1
m
X car
{X * , X i }
j =1
j = r +1
Nd
m
Ycar
{Y * , Y j }
(4.92)
0
1
0
1
n care: m {0,1} i X car
= inf{ X }; X car
= sup{ X }; Ycar
= inf{ Y }; Ycar
= sup{ Y } .
Metodele prezentate pentru determinarea unor concluzii, dac observaiile aparin unor
goluri n bazele rare de reguli fuzzy, pot fi utilizate atunci cnd se utilizeaz logica fuzzy pentru
conducerea unor procese industriale.
Majoritatea regulatoarelor cu logic fuzzy genereaz o dependen static tridimensional a
mrimii de comand u n funcie de dou mrimi de intrare, e- eroarea de reglare i e - variaia
erorii de reglare:
u = U ( e ,e )
(4.93)
Dac se utilizeaz un regulator fuzzy cu tabel de decizie de tip Mamdani, atunci baza de
reguli fuzzy a regulatorului, poate fi considerat baz rar de reguli fuzzy, de forma:
Rkl : dac x este xk i y este Yl atunci z este Z kl ; (k = 1,..., n; l = 1, .., n), (4.94)
Tabelul de decizie de tip Mamdani este alctuit dintr-un numr finit de valori ale mrimii
de comand u care pot fi obinute n funcie de un numr finit de combinaii ale mrimilor de
intrare e e .
Practic un tabel de decizie Mamdani poate fi echivalat cu o baza rar de reguli fuzzy n
care funciile de apartenen ale mrimilor de intrare, x=e i y = e , i funcia de apartenen a
concluziei (mrimea de comand) z=u, sunt de tip singleton. n acest caz, universurile de discurs
ale mrimilor de intrare, X=E i Y = E , i universul de discurs al concluziei (mrimea de
comand) Z=U, sunt cuantizate fiecare ntr-un numr finit de valori, cel mai frecvent aprnd
cuantizarea universului de discurs ntr-un numr impar de valori, centrate n jurul valorii 0.
n tabelul 4.1 se prezint un exemplu de discretizare uniform, n 11 nivele de cuantizare
ale celor dou mrimi de intrare e i e , i a mrimii de comand u.
Plecnd de la valorile mrimilor de intrare, de tip singleton, se creaz o baz de reguli sub
forma unui tabel de decizie, de tip Mamdani figura 4.9. Dimensiunea tabelului de decizie va fi,
pentru exemplul considerat, de 11 11 [linii coloane], iar n fiecare celul a tabelului este
trecut valoarea mrimii de comand corespunztoare.
110
Y
X
-10
X=E
Y = E
Z=U
-10
-5
-1
-8
-4
-0.8
-6
-3
-0.6
-4
-2
-0.4
-2
-1
-0.2
0.2
0.4
0.6
10
0.8
11
10
-5
-4
-3
-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-8
-6
-4
-2
-0.2
-0.2
-0.4
-0.4
-0.2
-0.4
-0.4
-0.2 -0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.4
0.4
0.2
0.2
0.2
0.2
0.4
0.4
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0.4
0.4
0.6
0.6
0.8
0.6
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.6
0.8
10
0.8
0.8
0.6
0.8
0.8
111
xi < x* < xi +1
(4.95)
y j < y* < y j +1
n figura 4.10 este prezentat tabelul de decizie Mamdani n spaiul X Y Z .
Z
Vi,j
T
P
Vi,j+1
V*
S
Vi+1,j
R
Vi+1,j+1
zi,j*1
*
yj y
y2
y1
yj+1
yn-1
yn
x1
x2
xi
zi+1,n
x*
B
xi+1
zn,n
xn-1
xn
X
112
(4.96)
Prin metoda propus se obine pentru mrimea de comand z*, o valoare dependent de
valorile cunoscute din tabelul de decizie Mamdani ale mrimilor de comand: zi,j, zi,j+1, zi+1,j,
zi+1,j+1.
n figura 4.10 segmentele de dreapt [AVi,j], [BVi+1,j], [CVi+1, j+1], [DVi,j+1 ] sunt valorile
mrimilor de comand, respectiv: zi,j, zi+1,j, zi,j+1 i zi+1,j+1, valori cunoscute n tabelul de decizie
Mamdani.
Folosind acelai parcurs ca n paragraful 4.2.2, pentru calcularea valorii de vrf a
concluziei, se determin coordonata punctului P, plecnd de la ecuaia dreptei Vi,jVi+1,j .
P : z(x
x i+1 x *
z i,
x i+1 x i
) =
x* xi
z i+1,
x i+1 x i
(4.97)
j+1
x i+1 x *
z i,
x i+1 x i
) =
j+1
x* xi
z i+1,
x i+1 x i
(4.98)
j+1
Dreapta care unete punctele P i S se obine pentru x=x*, iar din ecuaia acestei drepte se
dermin punctul V*:
V
= z
= z( x
,y
) =
y
y
j+1
j+1
y*
z( x* , y
j
)+
y* yi
y j+1 y
z( x* , y
j+1
) (4.99)
113
= z
= z( x
,y
xi+1 x* y
) =
xi+1 xi y
j+1
y*
j+1
*
xi+1 x* y y j
xi+1 xi y j+1 y
x* xi y
xi+1 xi y
zi,j+1 +
j
j+1
y*
j+1
y* y j
x* xi
xi+1 xi y j+1 y
zi,j +
(4.100)
z i+1, j +
z i+1, j+1
j
Dac dintr-un tabel de decizie Mamdani mrimea de comand a regulatorului fuzzy poate
lua doar n valori distincte n universul de discurs al comenzii,
z { zq1 , zq 2 ,..., zqn }
(4.101)
prin metoda prezentat mrimea de comand a regulatorului fuzzy, obinut cu relaia (4.100),
poate lua orice valoare n universul de discurs al comenzii,
z [ zq1 , zqn ] .
(4.102)
114
Capitolul 5
Implementarea unor structuri de control cu regulatoare fuzzy
Cercetrile ntreprinse, referitoare la comportarea expertului uman au evideniat faptul c
acestuia i este specific o comportare puternic neliniar, nsoit de efecte de anticipare,
integrare, predicie i chiar de adaptare la condiiile concrete de funcionare. Conducerea
proceselor cu ajutorul regulatoarelor fuzzy este din acest punct de vedere mai pragmatic, putnd
fi adaptabil unei clase mult mai vaste de procese.
Aplicaia industrial din domeniul conducerii, considerat ca fiind de referin n domeniu,
a fost dezvoltat n Danemarca, n anul 1980 i are n vedere comanda unui cuptor rotativ, la o
fabric de ciment. Ulterior n America i mai cu seam n Japonia a avut loc o explozie n
domeniul aplicaiilor de control fuzzy n cele mai diverse domenii: de la aplicaiile electrocasnice
pn la industria aeronautic. Dezvoltarea vitezei de lucru a circuitelor electronice e una din
cauzele care a dus la creterea numrului de implementri a logicii fuzzy n sistemele de control.
Aplicaiile de conducere fuzzy de pn acum evideniaz dou aspecte importante
referitoare la aceast tehnic de conducere:
- conducerea fuzzy este o alternativ viabil a conducerii convenionale clasice;
- conducerea fuzzy este dezvoltat plecnd de la experiena operatorului uman , experien
pe care un regulator fuzzy o poate ngloba mult mai bine fa de un regulator clasic.
n realizarea unei structuri de reglare automat cu regulatoare fuzzy informaiile referitoare
la proces pot fi sub forma unui model matematic mai mult sau mai puin exact, sau informaiile
despre proces pot fi disponibile ntr-o reprezentare lingvistic.
p
w
+
_
Regulator fuzzy
Proces
Regulator fuzzy
Proces
116
+
_
Regulator fuzzy
Proces
Regulator fuzzy
w +
Proces
RPID
117
Regulator
principal
w +
e
_
Regulator fuzzy
Regulator
auxiliar
u1 +
_
RPID
Proces
u2
SP1
y1
SP2
Strategie de
adaptare
fuzzy
KP, KI, KD
u
RPID
Proces
118
Strategie de
adaptare
fuzzy
KP, KI, KD
RPID
Proces
Bloc calcul
traiectorie
wimpus
+
Regulator fuzzy
Proces
120
121
Analogice
Digitale
CMOS
Procesoare
fuzzy
Microcontrolere
Automate
programabile
PC
PLA/FPGA
(5.1)
124
(5.2)
x (t) (t)
x(t) = 1 =
.
x 2 (t) i(t)
(5.3)
Pentru sistemul (5.2) vom considera o singur perturbaie i anume cuplul rezistent m(t):
1
w1 (t)
w(t) =
= J m(t) .
0 0
(5.4)
J
Ac =
Ce
L
Cm
0
1
, Bc = Kc , Wc = J .
R
L
0
L
(5.6)
Parametrii care apar n (5.6) au semnificaiile pe care le-am precizata anterior, iar Kc este
factorul de amplificare global al convertorului N/A i al redresorului. Indicele c ataat matricelor
indic faptul c acestea se refer la modelul continuu.
Notnd
A = e Ac ,
B = e Ac t dtBc ,
0
125
W = e Ac t dtWc ,
0
(5.7)
(5.8)
Valoare[u.m.]
24V
7A
3,1
0,16H
0,56Vs/rad
0,56Nm/A
0,028Nms2/rad
0,001
uk = f ( ek ,ek )
uk = uk 1 + uk
(5.9)
n care
(5.10)
E (rpm)
E (rpm)
U (V)
-60
-5
-1,00
-4
-48
-4
-0,60
-3
-36
-3
-0,45
-2
-24
-2
-0,30
-1
-6
-1
-0,15
+1
0,15
+2
24
0,30
+3
36
0,45
+4
48
0,60
+5
60
1,00
u k = u k 1 + u k
127
(5.11)
-60
-48
-36
-24
-6
e 0
6
24
36
48
60
( e*k
-5
-4
-3
-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-0.6
-0.6
-0.6
-0.3
-0.3
-0,2
0
0,45
1
-1
-0.6
-0.6
-0.6
-0,2
-0.3
-0,2
0,45
0,6
1
-1
-0.6
-0.45
-0.45
-0,2
-0,2
0
0,45
1
1
-0.6
-0.45
-0.45
-0.3
-0,2
-0,2
0,15
0,45
1
1
-0.6 -0.6 -1
-1
-0.45 -0.45 -0.6 -0.45
-0.3 -0.3 -0,2 -0,2
-0,2
0
0 0,15
0
0
0 0,15
0
0
0,3 0,3
0,15 0,3 0,45 0,45
0,6 0,6 0,6 0,6
1
1
1
1
1
1
1
1
-1
-0.45
0
0,15
0,15
0,45
0,6
1
1
1
-0.6 -0.45
-0.45 0
0,15 0,15
0,3 0,3
0,3 0,3
0,45 0,45
0,6 0,6
1
1
1
1
1
1
n varianta clasic, din tabelul de decizie (5.3) de tip Mamdani, pentru orice observaie
, e*k ) din universul de intrare al regulatorului fuzzy E E nu pot fi obinute pentru variaia
mrimii de comand uk dect una din cele 11 valori cuantizate n universul ei de discurs
U = { 1; 0 ,6 ; 0 ,45; 0 ,30; 0 ,15;0;0 ,15;0 ,30;0 ,45;0 ,60;1 } .
Aplicnd metoda prezentat n capitolul 4.2.4., pentru orice observaie ( e*k , e*k ) din
universul de intrare al regulatorului fuzzy E E variaia mrimii de comand u*k se obine
din tabelul de decizie Mamdani aplicnd relaia 4.100. Pentru variaia mrimii de comand u*k
se poate obine orice valoare din universul de discurs continuu U = [ 1,+1 ] .
La fiecare pas al iteraiei k, pentru valorile erorii e*k i variaiei erorii e*k care nu coincid
cu valorile cuantizate din universurile de intrare E, respectiv E variaia mrimii de comand
u*k se obine din tabelul de decizie Mamdani aplicnd relaia 4.100.
Astfel, dac la pasul k, eroarea e*k = 28 rpm i variaia erorii e*k = 1,6 rpm din tabelul de
decizie 5.3 se folosesc datele din celula reprezentat n fig. 5.10, iar pentru variaia mrimii de
comand u*k se obine valoarea
128
*
k
e i + 1 e *k e
=
ei+ 1 ei e
e *k e i e
+
ei+ 1 ei e
j+1
e*
j+1
j+1
e*
j+1
ui, j
*
e i + 1 e *k e e j
+
ei+ 1 ei e j + 1 e
ui, j+1
j
e* e j
e *k e i
+
ei+ 1 ei e j + 1 e
ui+1, j
u i+1, j+1
j
8
8
4
4
0 ,4 0 ,45 +
0 ,6 0 ,45 +
0 ,4 0 ,6 +
0 ,6 0 ,6 =
12
12
12
12
= 0 ,4995
ej+1 = 2 rpm
ej = 1 rpm
ei = 24 rpm
0,45
0,45
e*k = 28 rpm
0,4995
ei+1 = 36 rpm
0,6
0,6
u*k
Modificarea
perturbaiei
130
(5.12)
&(t ) = r (t )
(5.13)
unde este unghiul de rotaie la axul de ieire, iar r este constanta reductorului.
O simplificare important a implementrii se face dac se consider curentul rotoric i(t)
drept mrime de comand n locul tensiunii de comand u(t). Bucla interioar avnd un rspuns
131
Cm i (t ) = J
d
+m
dt
(5.14)
I = i 2 (t )dt
(5.15)
(0)= 0 i (T) = f
(0)= 0 i (T) = 0.
(5.16)
Conform [Boan C. et. al, 2006] se ajunge dup rezolvarea problemei, la urmtoarele relaii
de calcul a valorilor optimale pentru variabilele de stare:
i * (t ) = 6
J f
t
m
2 (1 2 ) +
rCm T
T
Cm
132
t2
)
(5.17)
rT
T
t3
* (t ) = 6 f2 (3t 2 2 )
T
T
n relaia (5.17) se observ c viteza optimal * (t ) nu depinde de m, adic variaia
* (t ) = 6
(t
2
optimal a vitezei rmne aceeai indiferent de cuplul rezistent. Cu alte cuvinte n conducerea
optimal, motorul absoarbe un curent care s compenseze cuplul rezistent astfel nct traiectoria
de vitez s rmn mereu aceeai. Acest fapt justific alegerea variaiei optimale a vitezei ca
mrime de referin dup cum s-a specificat mai sus.
n figura 5.12(a) este prezentat schema bloc a sistemului de poziionare optimal cu
regulator fuzzy, iar n 5.12(b) este implementarea schemei n Simulink/Matlab:
*
C1
-
+
-
Regulator
fuzzy
i* +
C3 u
-
M
i
a. schema bloc
b. schema simulink
Fig. 5.12 Sistemul de control optimal cu regulator fuzzy
133
134
* [rad/sec]
[rad/sec]
i [A]
10* [rad]
5.3.3 Sistem de reglare fuzzy n timp real a vitezei unui motor sincron
Principalul obiectiv urmrit n acest paragraf este reglarea n timp real a vitezei de rotaie
a unui servomotor cu magnei permaneni folosind o structur de control (MCK240) produs de
firma Technosoft.
Structura hardware permite experimentarea unei game variate de algoritmi de reglare
numeric, pornind de la cei mai simpli la cei mai evoluai .
Structura hardware are la baz procesorul numeric de semnal TMS320F240, special
proiectat pentru aplicaii de conducere a servomotoarelor. Puterea mare de calcul datorit
nucleului DSP i includerea unor periferice dedicate l recomand ca un controller orientat ctre
conducerea motoarelor.
Constructiv, structura de control este alctuit dintr-o plac de baz i un motor brushless
sincron cu magnei permaneni (figura 5.15). Pe placa de baz se regsesc un procesor numeric
de semnal din seria TMS320F240, un invertor cu trei faze, zon de msur i adaptare semnal,
memorie SRAM pentru memorare programe i datei, interfaa de programare JTAG i de
comunicaie cu un PC de tip RS232. O alt facilitate a plcii este faptul c exist posibilitatea
inactivrii tuturor resurselor de intrare/ieire utilizate pe plac (prin schimbri minore din punct
de vedere hardware) i redistribuirea lor unor module externe conectate prin conectorul MC-BUS
la modulul de baz (existent pe plac).
Motoarele sincrone cu magnei permaneni sunt alctuite din statorul (componenta fix) format
din nfurri (de obicei trei faze), rotorul (componenta mobil) cu magnei permaneni i senzori
interni sau externi pentru msurarea poziiei axului rotorului. Micarea de rotaie apare datorit
interaciunii dintre fluxul magnetic dezvoltat de stator prin alimentarea nfurrilor sale cu tensiune
alternativ i cel datorat magneilor permaneni ai rotorului. Informaiile furnizate de senzorii de
poziie sunt necesare pentru a asigura comutarea fazelor statorului n ordinea corect. Motoarele
sincrone cu magnei permaneni au avantajele lipsei contactelor de tip perie colector (motiv pentru
care mai sunt denumite brushless), al ineriei mici a rotorului, al unei bune disipri ale cldurii,
dimensiuni mici, zgomot redus, pierderi mai mici, deoarece este eliminat o nfurare.
Exist dou categorii principale de motoare sincrone cu magnei permaneni: motoare de
tip trapezoidal, respectiv de tip sinusoidal. Denumirile provin de la forma pe care o are tensiunea
electromotoare invers, care este indus n stator de micarea rotorului. Forma semnalului depinde
de felul n care sunt realizate nfurrile statorului.
136
Conector
MC-BUS
14
Conector
JTAG
TMS320F240
cu program
monitor inclus
PC
32k
cuvinte de
memorie
extern de
date/prog
Invertor trifazic
10
Motor
Encoder
Regulator
Fuzzy turaie
Vq
VCO
Vb
Vc
Invertor
PWM
Motor
PMSM
3~
Sarcin
TP
Estimare
turaie
(5.18)
138
-4 -3 -2 -1
0
1
2
3
4
0
0
0
0
0
0
0 0.3 0.6
0
0
0
0 0.3 0.6 1 0.6 0.3
0
0 0.3 0.6 1 0.6 0.3 0
0
0.3 0.6 1 0.6 0.3 0
0
0
0
0.6 0.3 0
0
0
0
0
0
0
5
1
0
0
0
0
Baza de reguli are urmtoarele reguli principale pentru obinerea variaiei mrimii de comand
u :
R1: dac e este NB i e este NB atunci u este NB.
R2: dac e este NS i e este NS atunci u este NS;
(5.19)
R3: dac e este ZE i e este PS atunci u este ZE;
R4: dac e este ZE i e este NS atunci u este NS;
R5: dac e este PS i e este PS atunci u este PS;
R6: dac e este PB i e este PB atunci u este PB;
Pentru o valoare oarecare a vitezei
uk = U ( ek ,ek )
uk = uk 1 + uk
(5.20)
Variaia mrimii de comand uk este obinut prin intermediul a dou tabele de decizie
de tip Mamdani, U g ( ek , ek ) i U f ( ek ,ek ) , prima pentru o reglare fuzzy grosier i a doua
pentru o reglare fuzzy fin. Mrimea de comand uk este tensiunea de comand care pleac spre
blocul VCO, fig. 5.16, ntr-un format diferit.
Datorit faptului c TMS320F240 este un procesor numeric n virgul fix, pentru
reprezentarea numerelor raionale se folosete formatul Q15, care const n exprimarea unui
numr raional prin dou numere ntregi conform relaiei:
n q 15 =
n
32768
2 fs
(5.21)
unde n este numrul raional, fs un ntreg numit factor de scalare, astfel ales nct s fie cel mai
mic numr ntreg pentru care fracia n / 2 fs este subunitar.
139
E (rpm)
E (rpm)
U (V)
-5
-100
-20
-2
-4
-80
-16
-1,2
-3
-60
-12
-0,9
-2
-40
-8
-0,6
-1
-10
-4
-0,3
+1
10
0,3
+2
40
0,6
+3
60
12
0,9
+4
80
16
1,2
+5
100
20
n tabelul 5.6. este prezentat tabelul de decizie grosier U g ( ek , ek ) pentru reglarea fuzzy
grosier a turaiei motorului.
Pentru nceput s-a implementat un regulator fuzzy cu o comportare de tip cvasi-PI,
rel. (5.20), numai cu tabelul de decizie grosier U g ( ek , ek ) .
Pentru calculul variaiei mrimii de comand s-a aplicat metoda prezentat n capitolul
4.2.4. Pentru orice observaie ( e*k , e*k ) din universul de intrare al regulatorului fuzzy E E
variaia mrimii de comand u*k se obine din tabelul de decizie grosier U g ( ek , ek ) aplicnd
relaia 4.100.
140
e
-20 -16 -12
-8
-4
12
16
20
-1.2
-0.9
-0.6
-0.3
-2
-2
-2
-0.9
-0.6
2
-1.2
-0.9
-0.6
-0.3
-2
-2
-1.2
-0.9
-0.6
2
-0.9
-0.9
-0.6
-0.3
-2
-1.2
-0.9
-0.6
-0.3
2
-0.6
-0.6
-0.6
-0.3
-1.2
-0.9
-0.6
-0.3
0
2
-0.3
-0.3
-0.3
-0.3
-0.9
-2
-0.3
0
0
2
-1.2
-0.9
-0.6
-0.3
0
0.3
0.6
0.9
1.2
2
-0.3
-0.3
-0.3
-0.3
0
0.3
0.3
0
0.3
0.3
-0.6
-0.6
-0.6
-0.3
0
0.3
0.6
0.6
0.6
0.6
-0.9
-0.9
-0.6
-0.3
0
0.3
0.6
0.9
0.9
3
-1.2
-0.9
-0.6
-0.3
0
0.3
0.6
0.9
1.2
1.2
-1.2
-0.9
-0.6
-0.3
0
0.3
0.6
0.9
1.2
2
141
Fig. 5.17 Reglarea vitezei motorului cu regulator fuzzy cu tabel de decizie grosier
142
E (rpm)
E (rpm)
U (V)
-5
-20
-0,3
-4
-16
-4
-0,2
-3
-12
-3
-0,15
-2
-8
-2
-0,1
-1
-4
-1
-0,05
+1
0,05
+2
0,1
+3
12
0,15
+4
16
0,2
+5
20
0,3
n tabelul 5.8 este prezentat tabelul de decizie fin U f ( ek ,ek ) pentru reglarea fuzzy fin
a vitezei motorului. Tabelul Mamdani de decizie fin U f ( ek ,ek ) conine valori ale variaiei
comenzii u mai mici, pentru valori cuantizate ale erorii e i variaiei erorii e mai mici.
Pentru calculul variaiei mrimii de comand fin s-a aplicat metoda prezentat n capitolul
4.2.4. Pentru orice observaie ( e*k , e*k ) din universul de intrare al regulatorului fuzzy E E
variaia mrimii de comand u*k se obine din tabelul de decizie fin U f ( ek ,ek ) aplicnd
relaia 4.100.
Rezultatele experimentale ale reglrii vitezei motorului cu regulator fuzzy cu tabel de
decizie grosier U g ( ek ,ek ) i tabel de decizie fin U f ( ek ,ek ) sunt prezentate n fig. 5.18,
pentru modificarea n treapt a mrimii de referin i n fig. 5.19, pentru modificarea n treapt a
mrimilor de referin i de perturbaie.
143
e
-5
-20 -0.3
-16
-12
-8
-4
e 0
4
8
12
16
20
-0.2
-0.15
-0.15
-0.1
-0.1
-0.05
-0.1
-0.1
0.2
0.3
-4
-3
-2
-1
-0.3
-0.2
-0.15
-0.1
-0.05
-0.05
-0.05
0.1
0.15
0.2
0.2
-0.2
-0.15
-0.1
-0.05
0.1
0.05
0.1
0.15
0.2
0.3
-0.15
-0.15
-0.1
-0.05
-0.05
0
0.1
0.15
0.15
0.15
-0.1
-0.1
-0.1
-0.05
0
0.05
0.1
0.1
0.1
0.1
-0.05
-0.05
-0.05
-0.05
0
0.05
0.05
0.05
0.05
0.05
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.3
-0.05
-0.05
-0.05
-0.05
0
0.05
0.05
0.05
0.05
0.05
-0.1
-0.1
-0.1
-0.05
0
0.05
0.1
0.1
0.1
0.1
-0.15
-0.15
-0.1
-0.05
0.05
0.05
0.1
0.15
0.15
0.15
-0.2
-0.15
-0.1
0
0.05
0.05
0.1
0.15
0.2
0.2
Fig. 5.18 Reglarea vitezei motorului cu regulator fuzzy cu tabele de decizie grosier i
fin la modificarea n treapt a mrimii de referin
144
Fig. 5.19 Reglarea vitezei motorului cu regulator fuzzy cu tabele de decizie grosier i
fin la modificarea n treapt a mrimilor de referin i de perturbaie
Performanele sistemului de reglare a vitezei motorului cu regulator fuzzy cu tabele de
decizie grosier U g ( ek ,ek ) i decizie fin U f ( ek ,ek ) sunt foarte bune, att pentru
modificarea n treapt a mrimii de referin ct i pentru modificarea n treapt a mrimilor de
referin i de perturbaie.
Metoda de calcul a variaiei mrimii de comand obinut dintr-un tabel de decizie
grosier sau tabel de decizie fin (relaia 4.100 din capitolul 4.2.4) a fost validat prin
implementarea unei aplicaii de timp real pentru reglarea vitezei unui motor sincron fr perii.
Rezultatele cercetrii din acest paragraf au fost prezentate la dou conferine
internaionale [Dosoftei et. al., 2005], [Dosoftei et. al., 2008].
REF
+
-
Regulator fuzzy
CNA
CAN
Placa de achizitie
LabPC
EE
ELT 162
BI
ES
Traductor
temperatura
uk = U ( ek ,ek )
uk = uk 1 + uk
(5.22)
(5.23)
E ( oC )
-10
-8
-6
-4
-2
0
2
4
6
8
10
E ( o C )
-0.2
-0.16
-0.12
-0.08
-0.04
0
0.04
0.08
0.12
0.16
0.2
U (V)
-1.0
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1.0
e
e
-5
-4
-3
-2
-1
0
1
2
3
4
5
-5
-1.0
-0.8
-0.6
-0.6
-0.6
-0.4
-0.4
0
0.2
0.6
1.0
-4
-1.0
-0.8
-0.6
-0.6
-0.6
0
-0.4
-0.4
-0.6
1.0
1.0
-3
-1.0
-0.6
-0.6
-0.6
-0.4
0
-0.4
-0.4
-0.6
1.0
1.0
-2
-1.0
-0.6
-0.6
-0.6
-0.4
0
-0.2
-0.4
-0.4
1.0
1.0
-1
-1.0
-0.6
-0.4
-0.4
-0.4
0
-0.2
-0.2
-0.4
1.0
1.0
0
-1.0
0
0
0
0
0
0
0
0
0
1.0
1
-1.0
-0.4
-0.4
-0.2
0.2
0
0.4
0.4
0.4
0.6
1.0
2
-1.0
-0.6
-0.4
-0.2
0.2
0
0.4
0.4
0.6
0.8
1.0
3
-1.0
-0.6
-0.4
-0.2
0.2
0.2
0.4
0.6
0.6
0.8
1.0
4
-1.0
-0.6
-0.4
-0.2
0.2
0.2
0.4
0.6
0.8
0.8
1.0
5
-1.0
-0.8
-0.6
-0.2
0.2
0.2
0.6
0.6
0.8
0.8
1.0
E ( oC )
-2.0
-1.6
-1.2
-0.8
-0.4
0
0.4
0.8
1.2
1.6
2.0
E ( o C )
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
U (V)
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
Tabelul 5.12 prezint tabelul de decizie fin U f ( ek ,ek ) , cu valorile finale acordate,
pentru reglarea fuzzy fin a temperaturii bateriei de nclzire.
Tabelul 5.12 Tabel de decizie fin pentru reglarea fuzzy a temperaturii
148
e
-5
-4
-3
-2
-1
0
1
2
3
4
5
-5
-0.1
-0.1
-0.08
-0.06
-0.06
0
-0.04
-0.04
-0.06
-0.08
-0.1
-4
-0.1
-0.08
-0.06
-0.06
-0.04
0
-0.04
-0.04
-0.04
-0.08
-0.08
-3
-0.08
-0.06
-0.06
-0.04
-0.04
0
-0.04
-0.04
-0.04
-0.06
-0.06
-2
-0.06
-0.06
-0.04
-0.04
-0.04
0
-0.02
-0.04
-0.04
-0.04
-0.04
-1
-0.06
-0.04
-0.04
-0.04
-0.02
0
-0.02
-0.02
-0.04
-0.04
-0.04
e
0
1
2
3
4
5
0
-0.04 -0.06 -0.08 -0.08 -0.1
0
-0.04 -0.06 -0.08 -0.08 -0.08
0
0.04 0.04 0.06 0.06 0.06
0
0.02 0.04 0.04 0.06 0.06
0
0.02 0.02 0.04 0.04 0.04
0
0
0
0
0
0
0
0.02 0.04 0.04 0.06 0.06
0
0.04 0.04 0.06 0.06 0.06
0
0.04 0.06 0.06 0.06 0.08
0
0.06 0.06 0.06 0.08 0.08
-0.04 0.06 0.06 0.08 0.08
0.1
Deoarece bateria de nclzire este un proces lent n timp cu timp mort, trecerea
regulatorului de pe tabelul de decizie grosier U g ( ek , ek ) pe tabelul de decizie fin
U f ( ek ,ek ) se face dup trei treceri prin zero ale erorii i ncadrarea erorii n universul de
discurs corespunztor pentru reglarea fuzzy fin. Dac n urma modificrii mrimilor de
perturbaie exterioare eroarea prsete universul de discurs corespunztor reglrii fine, sau dac
se modific mrimea de referin, algoritmul de reglare fuzzy revine pe tabelul de decizie
grosier U g ( ek , ek ) . n algoritmul de reglare fuzzy (5.16) pentru calculul variaiei mrimii de
comand u*k s-a aplicat metoda prezentat n capitolul 4.2.4. Pentru orice observaie ( e*k , e*k )
din universul de intrare E E al regulatorului fuzzy, variaia mrimii de comand u*k se
obine aplicnd relaia 4.100, n tabelul de decizie grosier U g ( ek ,ek ) sau n tabelul de decizie
fin U f ( ek ,ek ) n funcie de ncadrarea erorii de reglare e n universul de intrare E grosier sau
universul de intrare E fin.
Panoul frontal al aplicaiei n timp real permite interaciunea dintre operatorul uman i
sistemul de reglare figura 5.21. Prin intermediul acestui panou frontal, operatorul poate fixa
referina dorit. n acelai timp poate observa evoluia temperaturii n raport cu referina avnd i
alte informaii la dispoziie cum ar fi comanda, variaia comenzii, eroarea i variaia erorii.
n graficul 1 este reprezentat evoluia referinei i temperaturii, iar graficul 2 afieaz
comanda. Graficele 3 i 4 sunt folosite pentru urmrirea erorii respectiv a variaiei comenzii.
Monitorizarea erorii i variaiei erorii sunt importante, aa cum am vzut anterior n cazul
acordrii regulatorului fuzzy.
149
151
a. evoluia temperaturii
b. evoluia comenzii
Fig. 5.24 Reglarea temperaturii cu regulator fuzzy neacordat
Pentru creterea performanelor sistemului de reglare fuzzy a temperaturii bateriei de
nclzire se acordeaz on-line regulatorul cu logic fuzzy prin procedeul ncercri i erori.
n figura 5.25 sunt prezentate rezultatele ncercrii experimentale ale sistemului de reglare
fuzzy a temperaturii bateriei de nclzire dup cteva etape de acordare a regulatorului fuzzy.
Se observ o mbuntire a performanelor de reglare prin reducerea suprareglrii i a
oscilaiilor temperaturii bateriei de nclzire.
152
a. evoluia temperaturii
b. evoluia comenzii
Fig. 5.25 Reglarea temperaturii cu regulator fuzzy acordat
n urma acordrii optime a regulatorului cu logic fuzzy se obin rezultatele experimentale
prezentate n figura 5.26. Performanele sistemului de reglare fuzzy a temperaturii bateriei de
nclzire sunt foarte bune att pentru modificarea n treapt a mrimii de referin ct i pentru
modificarea n treapt a mrimii de perturbaie.
153
a. evoluia temperaturii
b. evoluia comenzii
Fig. 5.26 Reglarea temperaturii cu regulatorul fuzzy acordat optim
Sistemul de control fuzzy implementat n mediul de programare LabVIEW se
demonstreaz a fi unul performant n cazul acestui proces termic lent, neliniar i cu timp mort.
Necunoaterea modelului matematic nu reprezint n cazul utilizrii unui regulator fuzzy un
impediment n obinerea unor performane bune.
Comanda are o variaie destul de uniform datorit metodei de interpolare implementat,
ceea ce este important i din perspectiva creterii duratei de via a elementului de execuie.
154
R3
R1
Q1
Q2
H1
H2
H3
C13
L1
P2
R2
C20
C32
L3
L2
E (cm)
-5
-4
-3
-2
-1
0
1
2
3
4
5
E (cm)
-0. 5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
U (V)
-4
-3.2
-2.4
-1,6
-0.8
0
0.8
1.6
2.4
3.2
4
E (cm)
-1.0
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1.0
E (cm)
-0.1
-0.08
-0.05
-0.03
-0.01
0
0.01
0.03
0.05
0.08
0.1
156
U (V)
-0.8
-0.64
-0.48
-0.36
-0.16
0
0.16
0.32
0.48
0.64
0.8
S-a utilizat metoda de acordare a regulatorului fuzzy prin procedeul ncercri i erori,
care presupune modificarea parametrilor din tabelele de decizie, dup observarea efectelor
modificrilor, pe baza experienei operatorului.
n figura 5.29 sunt prezentate rezultatele experimentale pentru nivelul reglat, mrimea de
comand a regulatorului fuzzy, eroarea de reglare i variaia mrimii de comand. Performanele
de reglare obinute nu sunt satisfctoare.
157
159
161
162
163
a.
b.
Fig. 5.34 Rspunsul modelului ANFIS cu 2 mrimi de intrare al
cazanului de abur CPG 420
Eroarea de estimare a modelului pe datele de testare este de 1,9852 prea mare pentru un
model cu utilitate practic. Nu se obin reduceri semnificative ale erorii de estimare nici dac se
introduc ca mrimi de intrare presiunea n tambur sau presiunea aburului viu pe bar. Eroarea
minim obinut n cazul cel mai favorabil a fost de 1,3336 pentru rspunsul din figura 5.35.
164
Fig. 5.37 Rspunsul modelului ANFIS cu 6 mrimi de intrare al cazanului de abur CPG 420
166
167
Concluzii
Capitolul 6
Concluzii
Prezenta lucrare abordeaz domeniul conducerii proceselor utiliznd tehnici ale inteligenei
computaionale bazate pe logica fuzzy i sisteme hibride neuro-fuzzy. Performanele ridicate
hardware i software ale sistemelor de calcul actuale permit dezvoltarea unor metode noi de
implementare i testare a algoritmilor de control fuzzy n timp real.
n prima parte a tezei sunt prezentate conceptele de baz ale inteligenei computaionale cu
cele trei domenii principale: logica fuzzy, reelele neuronale i algoritmii genetici, precum i
combinarea lor n sisteme hibride de tip neuro-fuzzy, neuro-genetic i genetic-fuzzy. Din
domeniul de cercetare abordat sunt prezentate detaliat metodele de implementare a regulatoarelor
cu logic fuzzy.
n capitolele 4 i 5 din tez sunt prezentate contribuiile personale, teoretice i practice, n
domeniul conducerii proceselor prin metodele neconvenionale ale inteligenei computaionale.
Pentru elaborarea tezei a fost studiat un vast material bibliografic referitor la problematica
abordat i la o serie de aspecte conexe acesteia. Pe parcursul perioadei de elaborare a tezei
autorul a participat la urmtoarele proiecte de cercetare tiinific:
Tehnici avansate aplicate n controlul sistemelor de acionare electric - C. Boan, A.
Onea,
F. Ostafi, C. Dosoftei, F. Horga, 2005-2007;
Creterea performanelor centralelor electrice de termoficare utiliznd tehnici de
inteligen computaional L. Mastacan, I. Olah, C. Dosoftei, D. Ivana, 2005-2007;
Sisteme inteligente si metode pentru optimizarea, monitorizarea si controlul reelelor de
termoficare - D. Popescu, C. Dosoftei et al., 2007-2008;
Rezultatele cercetrilor efectuate au fost confirmate prin publicarea a 5 lucrri tiinifice n
reviste de specialitate i a 10 lucrri tiinifice n volumele unor conferine tiinifice organizate
att n ar ct i n stintate (DAAM 2009, Viena; WSEAS 2009, Istambul; DAAM 2008,
Trnovo; Miskolc, 2005; SACCS Iai, etc.).
168
Concluzii
6.1 Contribuii
Elementele de originalitate propuse n cadrul acestei teze de doctorat se refer la sinteza
rezultatelor de baz existente n domeniu, la contributii teoretice i, respectiv aplicative.
A. Sinteza efectuat pe baza materialului bibliografic analizat este axat pe realizarea
unui studiu critic privitor la avantajele i dezavantajele aplicrii diferitelor tehnici ale inteligenei
computaionale n conducerea proceselor i pe prezentarea elementelor de baz care sunt utilizate
n cadrul lucrrii n dezvoltrile teoretice si aplicative.
B. Contribuii teoretice
Contribuiile teoretice se refer la dezvoltarea unor metode noi de inferen n bazele rare
de reguli fuzzy cu premize duble, cnd observaiile aparin unor goluri din regulile premiz.
Procesul de inferen fuzzy const n combinarea unor reguli de tipul dac-atunci pentru valorile
fuzzificate ale mrimilor de intrare, obinnd concluziile, care sunt folosite pentru a efectua
anumite aciuni n sistem. n bazele rare de reguli fuzzy atunci cnd observaiile corespund unor
goluri din regulile premiz, metodele convenionale de inferen fuzzy nu pot fi aplicate.
Atunci cnd observaiile din universurile de intrare aparin unor goluri din baza rar de
reguli fuzzy, elementul de originalitate este acela de a introduce, pentru aceste goluri, un
procedeu de obinere a concluziilor pe baza valorilor concluziilor cunoscute din baza de reguli.
Pentru bazele rare de reguli fuzzy cu premize duble, cnd observaiile aparin unor goluri
din regulile premiz, sunt dezvoltate trei metode noi de inferen fuzzy pentru urmtoarele
cazuri:
- pe ambele universuri de discurs ale intrrilor se consider funcii de apartenen ale
mulimilor fuzzy de tip trapezoidal;
- pe ambele universuri de discurs ale intrrilor se consider funcii de apartenen ale
mulimilor fuzzy de tip triunghiular;
- pe ambele universuri de discurs ale intrrilor se consider funcii de apartenen ale
mulimilor fuzzy de tip trapezoidal i triunghiular.
Prin prima metod de inferen fuzzy se determin n spaiul X Y Z al concluziei un
trunchi de piramid unic determinat de punctele caracteristice ale concluziilor regulilor
cunoscute care ncadreaz observaiile corespunztoare unor goluri, pe baza unor factori de
ponderare invers proporionali cu distanele fuzzy dintre suporturile i nucleele observaiilor care
nu activeaz nici o regul a bazei rare de reguli i suporturile i nucleele premizelor cunoscute.
Pentru cea de-a doua metod, n care se consider mrimi de intrare cu funcii de
apartenen de tip triunghiular pentru universurile de discurs, se obine pentru concluzie, n
spaiul X Y Z , o piramid.
Combinarea funciilor de apartenen de tip trapezoidal cu cele de tip triunghiular pe
fiecare univers de discurs al mrimilor de intrare duce la obinerea unei concluzii n spaiul
X Y Z de forma unui trunchi de piramid cu baza mic redus doar la o latur.
169
Concluzii
Plecnd de la baze rare de reguli fuzzy cu (2 2) reguli, metodele de raionament fuzzy
propuse se generalizeaz pentru baze rare de reguli fuzzy cu (n n) reguli.
Deoarece tabelele de decizie de tip Mamdani pot fi privite ca baze rare de reguli fuzzy se
propune o metod de calcul a mrimii de ieire dintr-un tabel de decizie atunci cnd mrimile de
intrare aparin golurilor din baza de reguli ale tabelului. Metoda propus poate fi aplicat n
implementarea regulatoarelor fuzzy cu tabele de decizie de tip Mamdani pentru obinerea unor
mrimi de comand cu variaii continue n universurile lor de discurs.
O contribuie teoretic de alt natur este reprezentat de realizarea unui sistem suboptimal
n care se impune variaia optimal a unei mrimi, urmrirea acesteia fiind asigurat de un
regulator fuzzy.
C.
Studii de caz
Metodele noi de inferen n baze rare de reguli cu premize duble, extinse la regulatoarele
cu logic fuzzy cu tabele de decizie de tip Mamdani, au fost validate prin simulare i prin
implementarea unor sisteme de reglare fuzzy n timp real a unor procese, cu dinamic rapid i
cu dinamic lent, existente n dotarea Catedrei de Automatic i Informatic Aplicat din cadrul
Facultii de Automatic i Calculatoare din Iai. Regulatoarele cu logic fuzzy sunt
implementate prin tabele de decizie de tip Mamdani n diverse limbaje/platforme de programare:
Matlab, C, LabVIEW.
Implementarea i testarea unor structuri de control fuzzy a fost fcut pentru urmtoarele
studii de caz:
Sistem de reglare fuzzy a vitezei unui motor de curent continuu
n acest caz, regulatorul cu logic fuzzy cu tabel de decizie de tip Mamdani a fost realizat
i validat prin simulare n mediul Matlab pentru modelul discret al unui motor de curent
continuu.
Sistem de poziionare optimal cu regulator fuzzy
Se calculeaz valoarea optimal din punct de vedere energetic a vitezei optimale pentru un
sistem de poziionare cu servomotor de curent continuu i se implementeaz n Matlab/Simulik o
structur de urmrire cu regulator fuzzy.
Sistem de reglare fuzzy a vitezei unui servomotor cu magnei permaneni
Implementarea i testarea algoritmului de reglare fuzzy n timp real s-a fcut pe structura
hardware MCK240 cu motor sincron. Algoritmul fuzzy a fost implementat n limbajul C,
ulterior fiind transformat n executabil i ncrcat la nivelul DSP-ului, prin interfaa serial a
sistemului. S-a implemetat un regulator fuzzy cu 2 tabele de decizie, un tabel pentru reglare
grosier i un tabel pentru reglare fin a vitezei servomotorului.
170
Concluzii
Sistem de reglare fuzzy a temperaturii unei baterii de nclzire
S-a implementat un sistem de reglare fuzzy n timp real a temperaturii unei baterii de
nclzire a aerului. Regulatorul cu logic fuzzy cu dou tabele de decizie de tip Mamdani a fost
realizat printr-un instrument virtual n mediul de programare grafic LabVIEW.
Sistem de reglare fuzzy a nivelului unui rezervor
S-a realizat un sistem de reglare fuzzy n timp real a nivelului lichidului dintr-un rezervor.
S-a implementat un regulator cu logic fuzzy cu dou tabele de decizie de tip Mamdani n mediul
de programare grafic LabVIEW.
Modelul neuro fuzzy ANFIS al cazanului de abur CPG 420 din CET Iai
Pe baza seturilor de date de funcionare preluate din CET Iai, se propune un model hibrid
neuro-fuzzy ANFIS pentru cazanul CPG 420. Se obine un model neuro-fuzzy ANFIS cu
aplicabilitate practic. n scopul aplicrii metodei ANFIS de modelare neuro-fuzzy, s-a folosit
pachetul software Fuzzy Logic Toolbox din Matlab.
6.2 Direcii viitoare de cercetare
Cercetrile viitoare se refer la extinderea metodelor de inferen propuse pentru cazul
bazelor rare de reguli fuzzy cu premize multiple precum i testarea acestora pe sisteme n timp
real. O alt direcie o reprezint dezvoltarea i implementarea unor sisteme de reglare cu
regulatoare hibride neuro-fuzzy. Modelele hibride neuro-fuzzy ANFIS pot fi utilizate n sisteme
de tip expert pentru conducerea proceselor complexe.
171
BIBLIOGRAFIE
[1] Abe S., Neural Networks and Fuzzy Systems, Kluwer Academic Publishers, 1997
[2] Altrock C., Fuzzy logic and Neuro Fuzzy Logic Applications Explained, Prentice Hall
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
History and Current State, IEEE Transactions on Neural Networks, Vol. 5(1),
1997, pp. 120-129.
Baranyi P.. Koczy. L. T.. Gedeon. T. D.:A Generalized Concept for Fuzzy Rule
Interpolation. IEEE Trans. on Fuzzy Systems, vol. 12. No. 6., 2004, pp 820-837
Basheer I.A., Hajmeer M., Artificial neural networks: fundamentals, computing,
design, and application, Journal of Microbiological Methods, 43, 2000, pp. 3-31
Beasley D., Bull D.R., Martin R.R., An Overview of Genetic Alghorithms, Part 1,
Foundations, University Computing, Vol. 15, No. 4, 1993, pp170-181
Blanchini F., Pellegrino F.A.,
Relatively optimal control and its linear
implementation, IEEE Transactions on Automatic Control Vol. 48, 2003, pp.
2151- 2162
Bloch I., Petrosino A., Tettamanzi A., Fuzzy logic and applications, SpringerVerlag, 2006
Boan C., Ostafi F., Dumbrav S., Onea A., Linear Quadratic Optimal Control of an
Electrical Servo Drive System, Proceedings of the 10th International Power
Electronics & Motion Control Conference, EPE-PEMC 2002, Cavtat &
Dubrovnik, 2002
Boan, C., Ostafi, F., Horga, V., Suboptimal Control of Servo Drive Systems, WSEAS
Transactions on Mathematics, Issue 3, Vol. 5, March 2006, ISSN 1109-2769 , p.
308-313.
Boan, C., Horga, V., Optimal Control of the Electrical Drives With Induction
Motors, IEEE International Symposium on industrial electronics, Cambridge,
UK, 2008, CD-007935
173
[15]
Boan C., Ostafi F., Tehnici de optimizare, Ed. Politehium, Iai, 2009
[16] Bouchon-Meunier, B., Marsala, C.; Rifqi, M.: Interpolative Reasoning Based On
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
tuning In: Proc. of the IEEE Int. Conf. on Fuzzy Systems, San Diego, 1992, pp.
179-196.
Castro J., Fuzzy logic controllers are universal approximators, IEEE Trans. on SMC
25,1995 pp. 629-635.
Dai X., Wang X., Neural Network Inverse Control of Curent-Fed Induction Motor,
IEEE International Symposium on industrial electronics, Cambridge, UK, 2008,
CD-008176
Dosoftei C., Besancon A., Olah I., Mastacan L., - Robust control structure for a twozone furnance - Proc. of the 7th International Symposium on Automatic Control
and Computer Science, SACCS 2001, Iai, Romnia,2001, 4 pp.,
Dosoftei C., Mastacan, L., Olah, I., Fuzzy Control of Velocity for a Brushless AC
Motor, 5th International Conference of PHD Students, University of Miskolc,
Hungary, 14-20 August, 2005, CD, 6 pp;
Dosoftei C., Olah, I., Mastacan, L., PID vs. Fuzzy Control in Industrial Temperature
Control Systems, Proc. of 4th International Conference on Electromechanical and
Power Systems, SIELMEN-2003, Chisinu, 2003, pp. 101-104
Dosoftei C., Mastacan, L., Olah, I., Speed Control System using a Fuzzy Logic
Controller, Annals of DAAAM for 2008 & Proceedings of the 19th International
DAAAM Symposium, ISBN 978-3-901509-68-1, ISSN 1726-9679, Trnava ,
Slovakia 2008.
Dosoftei, C., Mastacan, L., Fuzzy logic controller Cvasi-PD in an optimization
process, 11th Wseas Int.Conf. On Automatic Control, Modelling & Simulation,
Istanbul Turkey, 30 May-1June, 2009,
Dosoftei C., Mastacan, L., Graphical Fuzzy Inference Method In Sparse Rule Base,
The 3rd European DAAAM International Young Researchers and Scientists
Conference, Vienna, Austria2009 (acceptat spre publicare)
Driankov, D., Hellendson, H., Reinfrank M., An Introduction to Fuzzy Control,
Springer-Verlag, 1993
Dumitrache I., Buiu C., Algoritmi genetici. Principii fundamentale i aplicaii n
automatic, Editura Mediamira, Cluj-Napoca, 2000.
Dumitrache. I. Ingineria reglrii automate. SEd. Politehnica Press, Bucureti, 2005.
2000
174
[30]
Dumitrescu D., Costin H. Reele neuronale. Teorie i aplicaii, ed. Teora. 1996
[31] Engelbrecht A., Computational intelligence: An introduction, 2nd ed., Wiley Ed. ,
2007
[32] Filev D., Angelov P., Fuzzy optimal control, Fuzzy Sets and Systems, 47 (2). ISSN
Control Systems, SIAM Journal on Control and Optimization, 39, 4, 2001, pp.
1008-1042
[35] Gerhke M., Walker C.L., Walker E.A.. Normal forms and truth tables for fuzzy
logics. Fuzzy Sets And Systens, 138:2551, 2003.
[36] Goldschmidt, Dabrowski M., Frank P.M., The Amira FC Tool - A Fuzzy Control Tool
for Design and Real Time Applications, In: Proc.of TEMPUS/IAR Fuzzy
Duisburg '94, International Workshop on Fuzzy Technologies in Automation
and Intelligent Systems, Duisburg, 1994, pp. 301-312.
[37]
Grimble M.J. Industrial Control Systems Design, John Wiley & Sons, 2001
[38] Hagan M.T., Demuth H.B., Beale H., Neural Network Design, PWS Publishing Co.,
Boston, MA,1996.
[39] Hayashi Y., Buckley J. J., Approximations between fuzzy expert systems and neural
1994.
[42] Horikawa S.I., Furuhashi T., Uchikawa Y., A New Type of Fuzzy Neural Network for
[43]
[44]
[45]
[46]
Linguistic Fuzzy Modelling, Proc. 2nd. Int. Conference on Fuzzy Logic and
Neural Networks, Iizuka, Japan, 1992, pp. 10531056.
Huanu C., Postolache M. Sisteme cu microprocesoare n conducerea automat a
proceselor, Ed. Academica, Iai, 2001;
Isermann R., Ernst S., Nelles O., Identification with Dynamic Neural Networks Architectures, Comparisons, Applications, Preprints of the IFAC Symposium on
System Identification, Vol. 3, Fukuoka, Japan, 1997, pp. 997-1022
Jang J., and C.T. Sun, NeuroFuzzy Modelling and Control, Proceedings IEEE,
83, (3), pp. 378406, 1995.
Jang J., Sun C.T., Mizutani E., Neuro-Fuzzy and Soft Computing. A Computational
Approach to Learning and Machine Intelligence, Prentice Hall, New Jersey,
1997.
175
[47] Jang J., Sun C.T., Neuro-Fuzzy Modeling and Control, IEEE Proc., Vol. 83., 1995,
pp. 378406.
[48]
Jantzen J., Foundation of Fuzzy Control John Wiley &Sons , England, 2007.
[49] Jenei. S., Interpolating and extrapolating fuzzy quantities revisited - an axiomatic
[51]
[52]
[53]
[54]
[55]
[56]
[57]
[58]
[59]
[60]
[61]
[62]
176
Mastacan L., Sisteme de reglare cu logic fuzzy Ed. Politehium, Iai, 2006
[67] Mastacan L., Olah I., Dosoftei C., Ivana D., Soft Computing ANFIS Models of the
[68]
[69]
[70]
[71]
[72]
[73]
[74]
[75] Mller D.P.F., Controllability in Fuzzy Systems, In: Proc.of TEMPUS/IAR Fuzzy
[76]
[77]
[78]
[79]
[80]
[81]
[82]
[83]
[84]
[85]
[86]
[87]
[88]
[89]
[90] Stoica A., Fuzzy processing based on alpha-cut mapping, Proc. of the 5th IFSA
Modelling and Control, IEEE Trans. on Systems, Man and Cybernetics, 15, pp.
116-132, 1985.
[93] Tamas. K., Koczy. L. T. Selection from a fuzzy signature database by Mamdanialgorithm, Proceedings of the 6th International Symposium on Applied Machine
Intelligence and Informatics. Herlany. Slovakia., 2008 pp. 63-68
[94] Tan W, Marquez H. J, Chen T.W., Multivariable robust controller design for a boiler
system, IEEE Tran. on Control Systems Technology ,Vol. 10, 2002, pp. 735742.
[95] Turksen I.B., Zhong Z., An Approximate Analogical Reasoning Schema Based on
Similarity Measures and Interval-valued Fuzzy Sets, Fuzzy Sets and Systems,
vol. 34, 1990, pp. 323-346.
[96]
Zadeh L.A., Fuzzy Sets, Information and Control, Vol.8, 1965, pp. 338-353.
[97] Zadeh L.A., Knowledge Reprezentation in Fuzzy Logic, IEEE Trans. on Knowledge
[100]
[101]
[102]
[103]
[104]
[105]
179
Anexa 1
%Implementarea n Matlab a unui sistem de reglare fuzzy a vitezei unui motor de curent
continuu.
clear;
clc;
t0=0;
k0=0;
tf1=5;
d=0.02;
Ra=3.1;
La=0.16;
Ce=0.56;
Cm=0.56;
Jr=0.028;
wd=25;
m=0.78;
ro=0.001;
Ac=[-ro/Jr Cm/Jr; -Ce/La -Ra/La];
Bc=[0; 1/La];
x0=[0;0];
xd=[wd 0]';
zd=xd;
Wc=[-1/Jr;0];
err_k=0;
ref=25;
derr=0;
kf1=fix(tf1/d);
[A B]=c2d(Ac,Bc, d);
[A1 W]=c2d(Ac,Wc, d);
uk=0;
xk=x0;
vit=zeros(fix(tf1/d)+1,1);
crt=zeros(fix(tf1/d)+1,1);
erroare=zeros(fix(tf1/d)+1,1);
variatie_err=zeros(fix(tf1/d)+1,1);
referinta=[ref+zeros(fix(tf1*0.75/d)+1,1);0.7*ref+zeros(fix(tf1*0.25/d)+1,1)];
variatie_iesire=zeros(fix(tf1/d)+1,1);
Wm=[ones(fix(tf1/(2*d))+1,1);1.3+ones(fix(tf1/(2*d)),1)];
delta_tensiune=0;
U=zeros(fix(tf1/d)+1,1);
180
comanda=[-5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5;
-5 -5 -5 -4 -4 -4 -5 -5 -5 -4 -3;
-4 -4 -4 -3 -3 -3 -4 -3 -3 -3 0;
-4 -4 -3 -3 -2 -2 -1 -1 0 1 1;
-4 -4 -3 -2 -1 0 0 1 1 2 2;
-2 -1 -1 -1 0 0 0 1 1 2 2;
-2 -2 -1 -1 0 0 2 2 3 3 3;
-1 -1 0 1 1 2 3 3 4 4 4;
0 3 3 3 4 4 4 4 5 5 5;
3 4 5 5 5 5 5 5 5 5 5;
5 5 5 5 5 5 5 5 5 5 5];
cuanta=[-5 -4 -3 -2 -1 0 1 2 3 4 5];
eroare=[-100 -80 -60 -40 -20 0 20 40 60 80 100]*ref/400;
variatie_eroare=[-20 -16 -12 -8 -4 0 4 8 12 16 20]*1/40;
variatie_tensiune=[-2 -1.2 -0.9 -0.6 -0.3 0 0.3 0.6 0.9 1.2 2]/2;
for i=1:kf1
err_k=referinta(i)-xk(1);
var_e_k=err_k-derr;
if err_k>eroare(length(eroare))
%err_k=eroare(length(eroare));
cuanta_err=11;
interpolare=0;
else
if err_k<eroare(1)
%err_k=eroare(1);
cuanta_err=1;
interpolare=0;
else
indice=1;
while (eroare(indice)<err_k)
indice=indice+1;
end;
indice=indice-1;
if err_k==eroare(indice+1)
interpolare=0;
cuanta_err=indice+1;
else
interpolare=1;
cuanta_err=indice;
end;
end;
end;
if var_e_k>variatie_eroare(length(variatie_eroare))
%var_e_k=variatie_eroare(length(variatie_eroare));
cuanta_var=11;
else
if var_e_k<variatie_eroare(1)
%var_e_k=variatie_eroare(1);
cuanta_var=1;
else
181
indice_v=1;
while (variatie_eroare(indice_v)<var_e_k)
indice_v=indice_v+1;
end;
indice_v=indice_v-1;
if var_e_k==variatie_eroare(indice_v+1)
interpolare1=0;
cuanta_var=indice_v+1;
else
interpolare1=1;
cuanta_var=indice_v;
end;
end;
end;
if cuanta_err==11
cuanta_err=10;
end
if cuanta_var==11
cuanta_var=10;
end
cuanta_u11 = comanda(cuanta_err,cuanta_var) + 6;
cuanta_u21 = comanda(cuanta_err+1,cuanta_var) + 6;
cuanta_u12 = comanda(cuanta_err,cuanta_var+1) + 6;
cuanta_u22 = comanda(cuanta_err+1,cuanta_var+1) + 6;
e1 =(eroare(cuanta_err+1)-err_k)/(eroare(cuanta_err+1)-(eroare(cuanta_err)));
e2 =(err_k-eroare(cuanta_err))/(eroare(cuanta_err+1)-(eroare(cuanta_err)));
ve1=(variatie_eroare(cuanta_var+1)-var_e_k)/(variatie_eroare(cuanta_var+1)-variatie_eroare(cuanta_var));
ve2=(var_e_k-variatie_eroare(cuanta_var))/(variatie_eroare(cuanta_var+1)-variatie_eroare(cuanta_var));
delta_tensiune
=e1*ve1*variatie_tensiune(cuanta_u11)+e2*ve1*variatie_tensiune(cuanta_u21)+e1*ve2*variatie_tensiune(cuanta_
u12)+e2*ve2*variatie_tensiune(cuanta_u22);
uk=uk+delta_tensiune;
if uk>24
uk=24;
else if uk<0
uk=0
end;
end;
U(i)=uk;
vit(i)=xk(1);
crt(i)=xk(2);
erroare(i)=err_k;
variatie_err(i)=err_k-derr;
variatie_iesire(i)=delta_tensiune;
xk=A*xk+B*uk+W*Wm(i)*m;
i=i+1;
182
derr=err_k
end;
timp=0:d:tf1;
subplot(3,1,1);plot(timp, 9.55*referinta, 'b', timp, 9.55*vit,'r');
hold;
subplot(3,1,2);plot(timp, U, 'g');
subplot(3,1,3);plot(timp, variatie_iesire,'y');
183
Anexa 2
% Program de reglare a vitezei unui motor sincron brushless AC, metoda de reglare-fuzzy
implementat pe platforma educationala de control motoare (MCK240)
#include
"fuzzy.h"
int
int
int
cuanta[11]
eroare[11]
eroareF[11]
int
int
float variatie_tensiune[11] = {-2, -1.2, -0.9, -0.6,-0.3, 0, 0.3, 0.6, 0.9, 1.2, 2};
float variatie_tensiuneF[11] = {-0.3, -0.2, -0.15, -0.1,-0.05, 0, 0.05, 0.1, 0.15, 0.2, 0.3};
int
comandaG[11][11]=
{{-5,-4,-3,-2,-1, -5,-1,-2,-3,-4,-5},
{-4,-4,-3,-2,-1, -4,-1,-2,-3,-4,-4},
{-3,-3,-3,-2,-1, -3,-1,-2,-3,-3,-3},
{-2,-2,-2,-2,-1, -2,-1,-2,-2,-2,-2},
{-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1},
{-5, -5, -5, -4, -3, 0, 0, 0, 0, 0, 0},
{-5, -5, -4, -3, -2, 1, 1, 1, 1, 1, 1},
{-5, -4, -3, -2, -1, 2, 1, 2, 2, 2, 2},
{-3, -3, -2, -1, 0, 3, 0, 2, 3, 3, 3},
{-2, -2, -1, 0, 0, 4, 1, 2, 3, 4, 4},
{ 5, 5, 5, 5, 5, 5, 1, 2, 3, 4, 5}};
int
comandaF[11][11] =
{{-5,-4,-3,-2,-1, -5,-1,-2,-3,-4,-5},
{-4,-4,-3,-2,-1, -4,-1,-2,-3,-4,-4},
{-3,-3,-3,-2,-1, -3,-1,-2,-3,-3,-3},
{-3,-2,-2,-2,-1, -2,-1,-2,-2,-2,-2},
{-2,-1,-1,-1,-1, -1,-1,-1,-1,0,-1},
{ -2, -1, -1, 0, 0, 0, 0, 0, 1, 1, 2},
{ -1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 2},
{ -2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2},
{ -2, 3, 3, 2, 1, 3, 1, 2, 3, 3, 3},
{ 4, 4, 3, 2, 1, 4, 1, 2, 3, 4, 4},
{ 5, 4, 3, 2, 1, 5, 1, 2, 3, 4, 5}};
int i;
int viteza_old;
184
int cuanta_eroare;
int cuanta_var_eroare;
float tensiune_comanda;
float tensiune_old;
long eroare_vit;
long eroare_vit_old;
long var_eroare_vit;
int cuanta_u;
float delta_tensiune;
float e1,e2,ev1,ev2;
/************************/
/* Regulator viteza
/* intrare omg_ref, omg
/* iesire tensiune
/***************************/
void pi_reg_omg()
{
}
char alegere_grosier; /* 0 - fin; 1- grosier*/
void pi_reg_iq()
{
asm("\tSETC OVM");
eroare_vit = omg_ref;
eroare_vit = eroare_vit - omg; /*eroare viteza in rotatii pe minut*/
var_eroare_vit = (eroare_vit - eroare_vit_old); /*variatia eroare viteza in rotiri pe
minut*/
if ( (eroare_vit < eroareF[0] ) && (eroare_vit > eroareF[10] ) )
{
alegere_grosier = 0;
i = 0;
while(eroareF[i] < (int)eroare_vit)
{
i++;
}
i--;
cuanta_eroare = i;
if ((int)var_eroare_vit < variatie_eroareF[0] )
cuanta_var_eroare = 0;
else
{
185
}
if(!alegere_grosier)
{
e1 = (eroareF[cuanta_eroare+1] - eroare_vit)/(eroareF[cuanta_eroare+1] eroareF[cuanta_eroare]);
e2 = (eroare_vit - eroareF[cuanta_eroare])/(eroareF[cuanta_eroare+1] eroareF[cuanta_eroare]);
ev1 = (variatie_eroareF[cuanta_var_eroare+1] var_eroare_vit)/(variatie_eroareF[cuanta_var_eroare+1] variatie_eroareF[cuanta_var_eroare]);
ev2 = (var_eroare_vit - variatie_eroareF[cuanta_var_eroare]) /
(variatie_eroareF[cuanta_var_eroare+1] - variatie_eroareF[cuanta_var_eroare]);
delta_tensiune =
e1 * ev1 * variatie_tensiuneF[comandaF[cuanta_eroare][cuanta_var_eroare]+5] +
e2 * ev1 * variatie_tensiuneF[comandaF[cuanta_eroare+1][cuanta_var_eroare]+5] +
e1 * ev2 * variatie_tensiuneF[comandaF[cuanta_eroare][cuanta_var_eroare+1]+5] +
e2 * ev2 * variatie_tensiuneF[comandaF[cuanta_eroare+1][cuanta_var_eroare+1]+5];
}
else
{
e1 = (eroare[cuanta_eroare+1] - eroare_vit)/(eroare[cuanta_eroare+1] eroare[cuanta_eroare]);
e2 = (eroare_vit - eroare[cuanta_eroare])/(eroare[cuanta_eroare+1] eroare[cuanta_eroare]);
ev1 = (variatie_eroare[cuanta_var_eroare+1] var_eroare_vit)/(variatie_eroare[cuanta_var_eroare+1] - variatie_eroare[cuanta_var_eroare]);
ev2 = (var_eroare_vit - variatie_eroare[cuanta_var_eroare]) /
(variatie_eroare[cuanta_var_eroare+1] - variatie_eroare[cuanta_var_eroare]);
delta_tensiune =
e1 * ev1 * variatie_tensiune[comandaG[cuanta_eroare][cuanta_var_eroare]+5] +
e2 * ev1 * variatie_tensiune[comandaG[cuanta_eroare+1][cuanta_var_eroare]+5] +
e1 * ev2 * variatie_tensiune[comandaG[cuanta_eroare][cuanta_var_eroare+1]+5] +
e2 * ev2 * variatie_tensiune[comandaG[cuanta_eroare+1][cuanta_var_eroare+1]+5];
}
tensiune_comanda = tensiune_comanda + delta_tensiune ;
tensiune_comanda = 32767*tensiune_comanda/15;
if (tensiune_comanda > 33000) tensiune_comanda = 33000;
if (tensiune_comanda < -33000) tensiune_comanda = -33000;
u_q_ref = (int)(tensiune_comanda);
tensiune_comanda = (float)u_q_ref*15/32767;
187
eroare_vit_old = eroare_vit;
asm("\tCLRC OVM");
}
void init_pi_reg_omg()
{
omg = 0;
omg_ref = 0;
i_q_ref=0;
u_q_ref = 0;
eroare_vit = 0;
eroare_vit_old = 0;
var_eroare_vit = 0;
cuanta_eroare = 0;
cuanta_var_eroare = 0;
cuanta_u = 0;
delta_tensiune =0;
tensiune_comanda = 0;
tensiune_old = 0;
}
void init_pi_reg_iq()
{
}
188