Sunteți pe pagina 1din 16

Simularea sistemelor cu logic fuzzy n Matlab:

prezentarea Toolbox-ului Fuzzy Logic


A. Obiective
1) Deprinderea folosirii mediului de simulare Matlab pentru dezvoltarea de
aplicaii care folosesc sisteme cu logic fuzzy.
2) Deprinderea modalitilor de analiz a funcionrii sistemelor cu logic fuzzy
oferite de mediul de simulare Matlab.

B. Concepte teoretice necesare lucrului cu mediul de simulare Matlab


pentru construirea i simularea sistemelor cu logic fuzzy
Pentru a putea construi i simula un sistem cu logic fuzzy n Matlab, este
necesar cunoaterea elementelor prin care se definete un sistem cu logic fuzzy:
variabile de intrare i de ieire ale sistemului cu logic fuzzy; mulimi fuzzy de
intrare i de ieire; baz de reguli fuzzy, i a operaiilor implicate de funcionarea
sistemului cu logic fuzzy: fuzzificare; inferen; agregare; defuzzificare.
Aceste concepte au fost studiate n cadrul Cursului de Sisteme Fuzzy, i n
cadrul lucrrilor de laborator anterioare.

C. Prezentarea Toolbox-ului Fuzzy Logic


Toolbox-ul Fuzzy Logic al mediului de simulare Matlab reprezint mediul
software de simulare a sistemelor cu logic fuzzy oferit de acest program extrem de
popular n lumea tiinific. Construirea unui sistem cu logic fuzzy n Matlab este
simpl datorit interfeei grafice prin care utilizatorul poate comunica cu mediul de
simulare Matlab (componenta dedicat logicii fuzzy).
Aceast interfa permite construirea i, n final, analiza grafic a sistemului cu
logic fuzzy dorit, folosind cele 5 instrumente grafice care formeaz componenta
dedicat logicii fuzzy a mediului Matlab:
1) Editorul sistemului cu logic fuzzy, numit FIS Editor (=Fuzzy Inference
System Editor);
2) Editorul funciilor de apartenen, adic, al mulimilor fuzzy peste
universurile discursurilor variabilelor de intrare i de ieire ale sistemului cu logic
fuzzy, numit Membership Function Editor;
3) Editorul regulilor fuzzy, care vor forma baza de reguli a sistemului cu
logic fuzzy, numit Rule Editor;
4) Fereastra de vizualizare a regulilor, n care se poate observa gradul de
activare al fiecrei reguli i rezultatul (mulimea fuzzy de ieire) dat de fiecare
regul a bazei de reguli, pentru o anumit valoare tranant a intrrii stabilite de
ctre utilizator; aceast fereastr apare sub numele Rule Viewer;
5) Fereastra de vizualizare a suprafeei ieire-intrare a sistemului cu
logic fuzzy, care arat grafic dependena ieirii tranante a sistemului cu logic

fuzzy de intrrile tranante ale sistemului cu logic fuzzy, determinate de


funcionarea sistemului cu logic fuzzy; aceast dependen este cunoscut n
general sub numele de suprafa de control a sistemului, iar fereastra apare sub
numele Surface Viewer.
Cele cinci instrumente grafice sunt legate dinamic ntre ele, adic, o modificare
a sistemului cu logic fuzzy fcut ntr-una din ferestrele de editare va putea afecta
ceea ce se vede n celelalte ferestre. La un moment dat, pentru un sistem cu logic
fuzzy, putem avea oricte din cele cinci ferestre deschise simultan.
Cele cinci instrumente grafice ale componentei dedicate sistemelor cu logic
fuzzy din Matlab sunt prezentate simbolic n diagrama-bloc din Figura 1.

Figura 1. Cele cinci instrumente de construire i analiz a unui sistem cu logic


fuzzy, i legtura lor cu sistemul cu logic fuzzy
Pentru construirea unui sistem cu logic fuzzy n Matlab, primul pas dup
lansarea n execuie a programului Matlab.exe este scrierea de la tastatur, la
prompterul programului, a comenzii:
> fuzzy
urmat de apsarea tastei Enter. Aceast comand lanseaz n execuie editorul
sistemului cu logic fuzzy (FIS Editor); va aprea pe ecran fereastra grafic a
editorului de sisteme cu logic fuzzy din Figura 2.

C1. Editorul sistemului cu logic fuzzy


Editorul sistemului cu logic fuzzy permite definirea informaiilor generale
despre sistemul cu logic fuzzy pe care dorim s-l construim.
n diagrama simpl din partea de sus a ferestrei, de sub bara de meniuri, sunt
afiate:
- n stnga, un dreptunghi n care apar generic trei funcii de apartenen de form
Gauss, i sub el, numele variabilei de intrare; n Figura 2, exist (implicit) o singur
variabil de intrare n sistemul cu logic fuzzy, numit input1;
- n dreapta, un dreptunghi n care apar generic trei funcii de apartenen de
form triunghiular, i sub el, numele variabilei de ieire; n Figura 2, exist
(implicit) o singur variabil de ieire din sistemul cu logic fuzzy, numit
output1;
- n centru, un dreptunghi n care apare numele sistemului cu logic fuzzy i tipul
de inferen folosit de ctre sistemul cu logic fuzzy; implicit, mecanismul de
inferen folosit este Mamdani, iar numele sistemului cu logic fuzzy este
Untitled.
Observaie: Funciile de apartenen desenate n aceast faz a construciei
sistemului cu logic fuzzy n dreptunghiurile din stnga i din drepta din diagram
sunt doar nite simboluri, i de fapt nu exist nici pentru variabila de intrare, nici
pentru cea de ieire din sistemul cu logic fuzzy; momentan, nu este definit nici o
mulime fuzzy peste universurile discursurilor variabilelor de intrare input1 i de
ieire output1.
Sub diagrama din partea de sus a ferestrei editorului sistemului cu logic fuzzy,
n partea stng a Figurii 2, este un sistem de meniuri de tip pop-up care ne permit
s modificm diferitele operaii folosite n cadrul procesului de inferen:
- And method permite selecia expresiei matematice folosite pentru operatorul
AND din premiza regulii fuzzy: aceasta poate fi min sau prod (produs), i implicit
este min;
- Or method permite selecia expresiei matematice folosite pentru operatorul OR,
care este implicit operatorul care leag ntre ele regulile din baza de reguli fuzzy:
aceasta poate fi max sau probor (sau probabilistic), i implicit este max;
- Implication definete operaia folosit pentru exprimarea relaiei de implicaie
fuzzy dintre premiza i consecina fiecrei reguli: aceasta poate fi min sau prod, i
implicit este min;
- Aggregation definete operaia folosit pentru combinarea mulimilor fuzzy
obinute ca ieire a fiecrei reguli fuzzy din baza de reguli, cunoscute sub numele
de concluzii pariale, pentru a se obine mulimea fuzzy care reprezint rspunsul
sistemului cu logic fuzzy la o valoare dat a intrrii tranante: aceasta poate fi
max, sum (sum algebric) sau probor, i implicit este max;
- Defuzzification definete metoda de defuzzificare folosit: aceasta poate fi:
centroid, bisector (bisectoarea ariei), lom (largest of maximum), mom (middle of
maximum), som (smallest of maximum);
Observaie: probor(a , b) = a + b ab
3

Figura 2. Fereastra editorului de sisteme cu logic fuzzy


Sub diagrama din partea de sus a ferestrei editorului sistemului cu logic
fuzzy, n partea dreapt a Figurii 2, se gsete o zon n care sunt afiate:
- numele variabilei (de intrare sau ieire) selectate;
- tipul funciilor de apartenen asociate variabilei de intrare sau ieire selectate;
- universul discuiei variabilei de intrare sau ieire selectate;
Implicit, nici o variabil nu este selectat. Selecia unei variabile de intrare sau
ieire a sistemului cu logic fuzzy se face printr-o simpl apsare cu butonul stng
al mouse-ului, atunci cnd cursorul mouse-ului este poziionat pe blocul din
diagrama sistemului cu logic fuzzy corespunztor variabilei respective.
De exemplu, dac vrem s selectm variabila de intrare input1, ne poziionm
pe dreptunghiul galben din stnga schemei-bloc din Figura 2, apsm pe butonul
stng al mouse-ului i n acest moment dreptunghiul respectiv va fi marcat ca i
activ prin nconjurarea sa cu o linie roie.
Simultan, n partea dreapt jos a Figurii 2 apare numele variabilei: input1.
Acest nume poate fi acum modificat prin tergerea cmpului Name i scrierea de la
tastatur a noului nume pentru variabila de intrare.
Celelalte dou cmpuri rmn n continuare nespecificate (ele au doar nite
valori implicite), deoarece nc nu am specificat forma funciilor de apartenen i
universul discuiei variabilelor sistemului cu logic fuzzy.
Bara de meniuri a editorului de sisteme cu logic fuzzy conine urmtoarele
comenzi:
- Comanda File de aici, putem crea un nou sistem cu logic fuzzy cu mecanism
de inferen de tip Mamdani (New Mamdani FIS); un nou sistem cu logic fuzzy
cu inferen de tip Sugeno (New Sugeno FIS); putem deschide un sistem cu logic
fuzzy deja creat fie de pe hard disc (Open from disk), fie din spaiul de lucru curent
4

(workspace) (Open from workspace); putem salva sistemul cu logic fuzzy


creat/modificat fie pe hard disc (Save to disk as/ Save to disk), fie n spaiul de
lucru curent (Save to workspace as/ Save to workspace).
- Comanda Edit cu subcomenzile de: 1) adugare a unei noi variabile de intrare
n sistemul cu logic fuzzy, Add input; 2) adugare a unei noi variabile de ieire
din sistemul cu logic fuzzy, Add output; 3) tergere din sistemul cu logic fuzzy a
variabilei de intrare sau ieire selectate n momentul curent, Remove variable.
- Comanda View cu subcomenzile de: 1) editare a mulimilor fuzzy care
acoper universurile discursurilor variabilelor de intrare i ieire, Edit membership
functions; aceast comand lanseaz n execuie editorul funciilor de apartenen;
2) editare a regulilor fuzzy din baza de reguli, Edit rules; aceast comand lanseaz
n execuie editorul regulilor fuzzy; 3) vizualizare a regulilor fuzzy, View rules;
aceast comand lanseaz n execuie fereastra de vizualizare a regulilor; 4)
vizualizare a suprafeei de control a sistemului cu logic fuzzy, View surface;
aceast comand lanseaz n execuie fereastra de vizualizare a suprafeei ieireintrare a sistemului cu logic fuzzy.
Rezumat: Paii de urmat n editorul sistemelor cu logic fuzzy, FIS Editor, pentru
crearea sistemului cu logic fuzzy dorit:
1) Dac sistemul nostru are mai mult de o intrare, se d din bara de meniuri
comanda Edit->Add input; fiecare comand de acest tip adaug o nou intrare
sistemului cu logic fuzzy, denumit implicit: input2, input3,...
2) Se modific numele variabilelor de intrare i ieire ale sistemului cu logic
fuzzy, astfel nct s fie ct mai sugestive pentru aplicaia dorit, selectnd prin
apsarea butonului stng al mouse-ului csua din diagrama sistemului cu logic
fuzzy corespunztoare variabilei respective, iar apoi modificnd coninutul
cmpului de editare care conine numele variabilei, urmat de apsarea tastei Enter.
3) Opional, se pot modifica valorile operatorilor AND, OR, Implicaie, Agregare,
Defuzzificare din partea stng a ferestrei editorului de sisteme cu logic fuzzy.
4) Se salveaz sistemul cu logic fuzzy n spaiul de lucru, cu comanda File->Save
to workspace as... , cu numele dorit pentru sistemul creat. n acest moment,
diagrama bloc a sistemului cu logic fuzzy se modific n conformitate cu opiunile
introduse pentru sistem.
5) Urmtorul pas va fi definirea mulimilor fuzzy care acoper universurile
discursurilor variabilelor de intrare i ieire. Acest lucru se realizeaz n editorul
funciilor de apartenen, care se lanseaz din fereastra editorului FIS cu comanda:
View->Edit Membership Functions...
C2. Editorul funciilor de apartenen
Editorul funciilor de apartenen permite afiarea i editarea tuturor funciilor de
apartenen asociate cu toate variabilele de intrare i de ieire ale sistemului cu
logic fuzzy. Fereastra grafic a editorului funciilor de apartenen este foarte
asemntoare cu cea a editorului sistemului cu logic fuzzy (Figura 3).
5

Figura 3. Fereastra editorului funciilor de apartenen


La deschiderea editorului funciilor de apartenen pentru un sistem cu logic
fuzzy nou creat, nu exist nc nici o funcie de apartenen asociat variabilelor de
intrare i ieire definite anterior n editorul sistemului cu logic fuzzy.
n colul din stnga sus al ferestrei editorului funciilor de apartenen
exist o palet a variabilelor, n care apar listate toate variabilele de intrare i de
ieire ale sistemului, sub forma simbolului lor-bloc i cu numele variabilei scris sub
blocul respectiv. De exemplu, pentru un sistem cu o singur intrare i o singur
ieire al cror nume a fost lsat implicit, n list apar variabilele: input1 i output1.
Pentru a stabili funciile de apartenen asociate cu o variabil din list, trebuie
selectat variabila printr-o apsare cu butonul stng al mouse-ului pe blocul care
simbolizeaz variabila respectiv; n acest moment, att blocul ct i numele
variabilei sunt colorate cu rou, iar sub ecranul din partea dreapt a ferestrei
editorului, Membership function plots, apare tipul i numele variabilei
respective.
Sub paleta variabilelor, n partea stng jos a ferestrei editorului,
avem informaii despre tipul i numele variabilei selectate, n cmpurile: nume; tip
(intrare sau ieire); domeniu de variaie (adic, universul discursului variabilei
respective); domeniul valorilor afiate (care poate fi un subdomeniu al universului
discursului). n cmpul domeniu de variaie (range) vom specifica pentru fiecare
variabil universul discursului, sub forma unui interval de numere reale. Apsnd
apoi tasta Enter, domeniul este setat la cel dorit, i implicit acesta va fi i domeniul
la care se seteaz cmpul domeniului valorilor afiate (display range).
Pentru definirea funciilor de apartenen ale variabilei selectate, se
folosete componenta Edit a barei de meniuri a ferestrei editorului, din care se
selecteaz comanda Add MFs (adaug funcii de apartenen). Va aprea o nou
fereastr pe ecran, ca n Figura 4, care permite:
6

Figura 4. Fereastra de definire a funciilor de apartenen pentru o variabil


1) selectarea numrului de funcii de apartenen asociate variabilei selectate,
ntre 1 i 9 (implicit este 3);
2) selectarea tipului funciilor de apartenen asociate variabilei selectate: triunghi
(trimf), trapez (trapmf), clopot (gbellmf), Gauss (gaussmf, gauss2mf), PI (pimf),
combinaii de dou funcii sigmoide (dsigmf, psigmf). Toate funciile de
apartenen implicite n Matlab sunt simetrice n raport cu axa y, iar dac dorim de
exemplu s definim un triunghi dreptunghic pe extremele universului discuiei,
acesta se definete ca i un triunghi isoscel al crui suport se ntinde i n afara
universului discuiei.
Odat stabilit tipul i numrul funciilor de apartenen pentru variabila
selectat (prin apsarea tastei OK a ferestrei din Figura 4), aceste funcii apar
afiate pe ecranul din partea dreapt sus a ferestrei editorului. Fiecare funcie de
apartenen poate fi selectat prin apsarea butonului stng al mouse-ului.
n momentul cnd o funcie de apartenen este selectat, ea va aprea
desenat cu rou, i simultan n partea dreapt jos a ferestrei editorului, cu titlul
Current membership function, apar afiate: numele, tipul (trimf, trapmf, etc) i
parametrii funciei de apartenen respective (de exemplu, pentru funciile triunghi
i trapez, pe care le vom folosi n acest ndrumtor de laborator, adic, pentru
funcii liniare pe poriuni, parametrii sunt valorile tranante ale variabilei
corespunztoare punctelor de frngere din grafic). n acest moment, putem
modifica: numele funciei de apartenen; tipul su; parametrii care descriu funcia
de apartenen.
Odat definite toate funciile de apartenen conform dorinei
proiectantului sistemului cu logic fuzzy, putem edita baza de reguli fuzzy a
sistemului. Pentru aceasta, din meniul ferestrei editorului, se selecteaz comanda
View, urmat de Edit rules....
C3. Editorul regulilor fuzzy
Editorul regulilor fuzzy permite editarea bazei de reguli fuzzy a sistemului cu
logic fuzzy. Fereastra grafic a editorului regulilor este cea din Figura 5.
Iniial, cmpul de editare al ferestrei, de culoare alb, nu conine nici o regul.
Toate regulile din baza de reguli a sistemului cu logic fuzzy pe care dorim s-l
proiectm vor fi introduse de la tastatur.
n partea de jos a ferestrei editorului de reguli fuzzy apare un buton de selecie
7

a formatului de scriere a regulilor, Rule Format. Opiunea selectat n acest cmp


poate fi:
1) Format verbal (verbose), caz n care regulile se editeaz sub forma if...
then; de exemplu, dac atunci cnd variabila de intrare input1 aparine mulimii
fuzzy mf1, dorim ca variabila de ieire output1 s aparin mulimii fuzzy mf3,
regula va fi: If input1 is mf1 then output1 is mf3, i exact sub aceast form este
editat n spaiul editorului de reguli. Dup terminarea scrierii tuturor regulilor din
baz sub aceast form, se apas consecutiv tastele Ctrl i Enter, ceea ce conduce la
transformarea regulilor n formatul din Figura 5.
2) Format simbolic (symbolic), caz n care regula de mai sus devine:
(input1==mf1)=>(output1=mf3); validarea regulilor se face tot cu tastele Ctrl i
Enter.
3) Format indexat (indexed), caz n care regula de mai sus devine: 1,3
(1):1;ultimul 1 indic folosirea operatorului AND n premiza regulii, atunci cnd
este cazul. Validarea regulilor se face tot cu tastele Ctrl i Enter.
Odat scrise ntr-un format oarecare, regulile pot fi vizualizate n orice format
dorim. Modificarea unei reguli din baza de reguli se face ca n orice editor de texte,
dar n final trebuie s validm noua baz de reguli prin apsarea consecutiv a
tastelor Ctrl+Enter.

Figura 5. Fereastra editorului de reguli fuzzy


C4.-C5. Ferestrele de vizualizare: a regulilor; a suprafeei ieire-intrare
Astfel, sistemul cu logic fuzzy este complet construit. Acum este indicat
salvarea sa pe hard disc din orice fereastr de editare dorim, din meniul File->Save
to disk as.... n continuare ne rmne ca, folosind utilitarele grafice de vizualizare a
regulilor fuzzy i a suprafeei de ieire a sistemului cu logic fuzzy, s ne
convingem c sistemul proiectat funcioneaz aa cum dorim.
8

D. Experimentare
D1. Indicaii preliminare
Pentru experimentare, vei folosi componenta dedicat simulrii sistemelor
cu logic fuzzy a mediului software Matlab, numit Fuzzy Logic Toolbox, scopul
lucrrii de laborator fiind tocmai nvarea mnuirii acestei componente n scopul
proiectrii sistemelor cu logic fuzzy. Sistemul cu logic fuzzy folosit pentru
experimentare este cel de modelare a caracteristicii i-v a unei diode
semiconductoare.
Experimentele presupun: descrierea sistemului cu logic fuzzy de modelare
a caracteristicii i-v a diodei folosind cele trei editoare grafice ale componentei
fuzzy din Matlab, n fiierul Dioda.fis; simularea i analiza sistemului cu logic
fuzzy cu ajutorul celor dou ferestre de vizualizare: a regulilor fuzzy i a suprafeei
intrare-ieire a sistemului cu logic fuzzy, care sunt instrumentele de depanare
dedicate ale componentei fuzzy din Matlab; salvarea rezultatelor experimentale n
fiiere de tip bitmap i notarea valorilor msurate prin simulare. La punctul E al
lucrrii, vei interpreta experimentele fcute cu scopul de a rspunde la setul de
ntrebri formulate.
D2. Descrierea aplicatiei
Una dintre aplicaiile importante ale sistemelor cu logic fuzzy este folosirea
lor ca aproximani de funcii. Fiind dat o funcie grafic y=f(x), care poate fi
reprezentat doar aproximativ sub form analitic, s-a demonstrat n literatura de
specialitate c se poate proiecta un sistem cu logic fuzzy avnd x ca intrare i y ca
ieire, astfel nct ntre valoarea estimat a lui y, , i f(x) exist o diferen orict
de mic dorim, y f ( x ) 0 . Cu alte cuvinte, sistemul cu logic fuzzy cu
intrarea x i ieirea y este un aproximant universal de funcii grafice y=f(x), adic
aproximeaz f(x) cu eroarea orict de mic.
n aplicaia prezentat n lucrare dorim s aproximm regiunea direct a
caracteristicii statice curent-tensiune (i-v) a unei diode semiconductoare, pe baza
curbei i-v a componentei determinate experimental (sau luate din catalog). Ca i
intrare, sistemul cu logic fuzzy va avea valorile tensiunii pe diod la polarizare
direct, v=vAK, exprimate n mV, n domeniul [0 mV, 860 mV]. Ca i ieire,
sistemul cu logic fuzzy trebuie s furnizeze valoarea curentului anodic prin diod,
i=iA, exprimat n mA, n domeniul [0 mA, 450 mA].
Sistemul cu logic fuzzy obinut va caracteriza complet comportamentul
electric al diodei n regiunea direct pentru v[0 mV, 860 mV], ignornd variaia
caracteristicii i-v cu temperatura, umiditatea i abaterile de proces tehnologic de
fabricaie a diodei. Deci, sistemul cu logic fuzzy va putea fi folosit ca i un model
electric al diodei.

D2.1. Principiul de modelare fuzzy a caracteristicii i-v a diodei


Output
variable

Exemplu
de zon
fuzzy

Input variable

Figura 6. Acoperirea caracteristicii neliniare i-v a diodei prin zone fuzzy


Principiul modelrii caracteristicii i-v a diodei folosit n aceast lucrare se
bazeaz pe acoperirea graficului neliniar din Figura 6 prin zone fuzzy. Fiecare
zon fuzzy este descris printr-o mulime fuzzy peste universul discuiei
variabilei de intrare v, notat MFVk, o mulime fuzzy corespunztoare peste
universul discuiei variabilei de ieire i, notat MFIk, i o regul fuzzy care indic
faptul c ntre cele dou mulimi fuzzy MFVk i MFIk exist o relaie fuzzy care
descrie zona fuzzy: Rk: Dac v este MFVk atunci i este MFIk.
Pe poriunile de grafic cu neliniaritate pronunat sunt necesare mai multe
mulimi fuzzy de intrare i respectiv de ieire pentru o descriere precis a
graficului. n orice zon aproximativ liniar a graficului, o pereche de mulimi
fuzzy este suficient pentru o descriere complet a graficului.
D2.2. Sistemul cu logic fuzzy pentru modelarea caracteristicii i-v a diodei
semiconductoare
Componentele sistemului cu logic fuzzy folosit n lucrare pentru modelarea
caracteristicii i-v a diodei semiconductoare sunt:
mulimile fuzzy definite peste universul discuiei variabilei de intrare, v, notate
prin MFVk;
mulimile fuzzy definite peste universul discuiei variabilei de ieire, i, notate
prin MFIk;
baza de reguli fuzzy, coninnd regulile Rk de forma: Rk: Dac v este MFVk
atunci i este MFIk.
Intrarea tranant a sistemului cu logic fuzzy este valoarea instantanee a
tensiunii pe diod la polarizarea direct, v[0 mV, 860 mV]. Ieirea tranant a
sistemului cu logic fuzzy va fi curentul i prin diod, i[0 mA, 450 mA].
Prin realizarea operaiilor de: fuzzificare; inferen; defuzzificare,
10

operaii care prelucreaz valoarea tranant de intrare v a sistemului cu logic


fuzzy n conformitate cu descrierea sistemului cu logic fuzzy dat de
componentele sale, se obine valoarea tranant a ieirii i; perechile de valori
tranante (v,i) obinute, reprezentate grafic n sistemul cartezian, aproximeaz cu
eroare mic caracteristica i-v a diodei semiconductoare reprezentat n Figura 6.
Structura sistemului cu logic fuzzy, cu intrarea i ieirea tranante,
componentele i fluxul operaiilor sale, este reprezentat n Figura 7.
Notaii:
= operaie
= component
= reprezentarea fuzzy a mrimii de intrare/ieire a
sistemului cu logic fuzzy
Mulimi fuzzy de intrare
MFVk

Intrare
tranant,
v=v0

Baz de reguli
Rk

Rk:Dac v este MFVk


atunci i este MFIk
.................................

Fuzzificare

Mulimi fuzzy de ieire


MFIk

Inferen
fuzzy

v0
Intrare fuzzy:
mulime fuzzy
singleton MFSV0

MFO
i

Defuzzificare

Ieire
tranant,
i=i0

Ieire fuzzy:
mulime fuzzy
MFO

Figura 7. Structura sistemului cu logic fuzzy pentru aproximarea caracteristicii i-v


a diodei semiconductoare
n aceast lucrare de laborator vom analiza numai operaia de inferen,
care poate fi considerat operaia esenial pentru funcionarea unui sistem cu
logic fuzzy. Totui, pentru nelegerea sa, o scurt prezentare a celorlalte dou
operaii este necesar:
Operaia de fuzzificare transform mrimea tranant de intrare ntr-o
mulime fuzzy singleton; astfel, dac la momentul considerat, valoarea tranant a
intrrii v este v0[0 mV, 860 mV], v=v0, atunci mulimea fuzzy singleton de
intrare rezultat n urma fuzzificrii, notat prin MFSI0, este definit prin funcia de
apartenen:

11

1, v = v 0
, reprezentat n Figura 8.
MFSI 0 ( v) =
0, v v 0
MFSI0(v)
1
0
0

v0

860

v[mV]

Figura 8. Funcia de apartenen a mulimii fuzzy singleton MFSI0


Operaia de defuzzificare selecteaz, folosind pentru aceasta un
anumit criteriu, o valoare i=i0 situat pe suportul mulimii fuzzy de ieire rezultate
n urma inferenei, notat prin MFO, ca i valoare caracteristic (prototip) a
mulimii fuzzy de ieire; i0[0 mA, 450 mA].
Exemple de astfel de proceduri de selecie pot fi: valoarea i0
corespunztoare centrului de greutate al lui MFO; media coordonatelor i cu
proprietatea c MFO' (i' ) = max MFO' (i) ; cea mai mic valoare i0 cu
i

proprietatea c MFO' (i 0 ) = max MFO' (i) , etc.


i

D2.2.1. Definirea mulimilor fuzzy pentru variabila de intrare v


Universul discuiei variabilei de intrare, v, poate fi citit de pe
caracteristica i-v din Figura 6, i este intervalul de numere reale: [0 mV, 860 mV].
Experimental se constat c o aproximare suficient de bun, n
condiiile pstrrii complexitii sistemului cu logic fuzzy n limite sczute, se
obine pentru o acoperire a caracteristicii i-v prin 9 zone fuzzy. Aceasta conduce
la o acoperire a universului discuiei variabilei v prin 9 mulimi fuzzy de form
triunghiular; pentru simplitatea notaiei, cele 9 mulimi fuzzy sunt denumite:
MFV1, MFV2, ...., MFV9. (MFV este o notaie prescurtat pentru Mulime Fuzzy
pentru tensiunea V; indicele numeric corespunde zonei fuzzy respective). Cele 9
mulimi fuzzy formeaz o partiie fuzzy, iar coordonatele suporturilor i valorilor
lor mediane pot fi citite n Figura 9.

12

.....................................
MFV1

MFV9

MFV2

0
0

660 680 700 720 740 760

800

860

v
[mV]

Figura 9. Mulimile fuzzy peste universul discuiei variabilei de intrare v


D2.2.2. Definirea mulimilor fuzzy pentru variabila de ieire i
Universul discuiei variabilei de ieire, i, poate fi citit de pe
caracteristica i-v din Figura 6, i este intervalul de numere reale: [0 mA, 450 mA].
Acoperirea caracteristicii i-v prin cele 9 zone fuzzy din Figura 6
presupune acoperirea universului discuiei variabilei i prin 9 mulimi fuzzy de
form triunghiular; pentru simplitatea notaiei, cele 9 mulimi fuzzy sunt
denumite: MFI1, MFI2, ...., MFI9. (MFI este o notaie prescurtat pentru Mulime
Fuzzy pentru curentul I; indicele numeric corespunde zonei fuzzy respective).
Cele 9 mulimi fuzzy nu mai formeaz o partiie fuzzy; coordonatele suporturilor i
valorilor lor mediane pot fi citite din Figura 10.

MFI1
............ MFI4

................................

MFI9

i[mA]

0
0 1,2 2,4 2,6 2,8

5,5

12 15 1724 29 33 47 55 65

150

245

390 450

Figura 10. Mulimile fuzzy peste universul discuiei variabilei de ieire i

13

D2.2.3. Baza de reguli a sistemului cu logic fuzzy


Fiecare regul din baza de reguli a sistemului cu logic fuzzy stabilete o
relaie fuzzy ntre o mulime fuzzy de intrare i o mulime fuzzy de ieire, artnd
valoarea fuzzy a ieirii i, MFIk, corespunztoare fiecrei valori fuzzy a intrrii v,
MFVj, k=1...9, j=1...9. Vom avea 9 reguli fuzzy n baza de reguli a sistemului;
fiecare regul fuzzy definete una din cele 9 zone fuzzy din Figura 1.
Cele 9 reguli fuzzy sunt:
R1: Dac v este MFV1 atunci i este MFI1.
R2: Dac v este MFV2 atunci i este MFI2.
.....................................................................
R9: Dac v este MFV9 atunci i este MFI9.
D2. 2.4. Operaia de fuzzificare
Fuzzificarea este de tip singleton, aa cum a fost descris la punctul C2.
D2.2.5. Operaia de inferen
Operaia de inferen (cunoscut n literatura de specialitate sub
numele de mecanism de inferen) folosit n aceast aplicaie este de tip maxmin.
MFIk(i)
MFIk
1
MFOk

MFVk(v0)

Figura 11. Obinerea concluziei pariale din regula fuzzy Rk


Formula relaiei de implicaie (folosit pentru descrierea matematic
a fiecrei reguli din baza de reguli fuzzy) este min (adic, Mamdani).
Cu aceste definiii pentru mecanismul de inferen fuzzy i implicaia fuzzy,
formula dup care se evalueaz mulimea fuzzy de ieire a oricrei reguli fuzzy:
Rk: Dac v este MFVk atunci i este MFIk (k=1...9)
este:
MFO' k (i) = max min MFSI ( v), min ( MFVk ( v), MFIk (i) ) ,
v

14

ceea ce, n cazul n care valoarea tranant de intrare se noteaz prin v=v0, se
reduce la:

MFO' k (i) = min ( MFVk ( v 0 ), MFIk (i) )

unde prin MFOk se noteaz mulimea fuzzy de ieire generat de regula Rk, aa
cum se vede n Figura 11, sau, concluzia parial a sistemului cu logic fuzzy.
Metoda de agregare a concluziilor pariale MFOk, k=1...9, date de
cele 9 reguli din baza de reguli fuzzy, este max:

MFO' (i) = max MFO' k (i)


k

MFO' = U MFO' k
k

D2.2.6. Operaia de defuzzificare


Operaia de selecie a valorii tranante i0 a ieirii, adic, de defuzzificare a
rezultatului fuzzy MFO al inferenei fuzzy, este centrul maximelor, COM (=Center
Of Maxima). Aceast operaie nseamn media ponderat a maximelor fiecrei
concluzii pariale MFOk, unde ponderile sunt valorile maxime ale gradelor de
apartenen din fiecare MFOk.
D3. Mersul lucrrii:
1. Bazndu-v pe cunotinele teoretice privind dezvoltarea unui sistem cu logic
fuzzy n Matlab dobndite n cadrul punctului (C) al acestei lucrri, implementai
acest sistem cu logic fuzzy n Matlab i salvai-l sub numele: Dioda.fis.
2. Capturai fiecare din cele trei ferestre de editare grafic a sistemului cu logic
fuzzy din Matlab, sub forma a trei grupuri de fiiere bitmap, care trebuie s
conin:
a) diagrama-bloc a sistemului cu logic fuzzy i descrierea general a sistemului
salvat n fiierul SLFGeneral.bmp\;
b) forma i parametrii funciilor de apartenen pentru fiecare variabil (intrare i
ieire) a sistemului cu logic fuzzy salvate n fiierele FctApartenentaIn.bmp i
respectiv FctApartenentaOut.bmp;
c) regulile fuzzy ale sistemului, n format verbal salvate n fiierul
RuleBase.bmp.
3. Simulai sistemul cu logic fuzzy proiectat prin selectarea, din meniul View al
oricruia din cele trei editoare grafice, a comenzii Surface View. Salvai graficul
i(v) obinut ntr-un fiier bitmap pe care l vei crea cu ajutorul programului Paint
dup ce n prealabil ai capturat imaginea ntregii ferestre Surface View; fiierul va
avea numele CarIVDioda.bmp;
4. Verificai funcionarea mecanismului de inferen n sistemul cu logic fuzzy
proiectat prin selectarea, din meniul View al oricruia din cele trei editoare grafice,
a comenzii Rule View. Pentru diferite valori ale mrimii tranante de intrare v (de
exemplu cele cerute n seciunea (D2) a Lucrrii 5), analizai: concluziile pariale
obinute prin activarea fiecrei reguli din baza de reguli fuzzy; rezultatul agregrii
15

concluziilor pariale; valoarea mrimii tranante de ieire i. Toate aceste rezultate


analizate vor fi fie desenate i respectiv notate pe hrtie, fie salvate ntr-un fiier
bitmap prin acelai procedeu de captur a ferestrei.
5. Modificai operatorul de implicaie la produs, din editorul sistemului cu logic
fuzzy (fereastra FIS Editor); salvai sistemul cu logic fuzzy ca o nou variabil n
spaiul de lucru, cu numele Dioda1.
6. Repetai punctele 4 i 5 de mai sus pentru noul sistem cu logic fuzzy, Dioda1,
creat. Toate fiierele salvate vor avea n plus cifra 1 nainte de extensie.

E. ntrebri
Referatul lucrrii de laborator va conine rspunsurile voastre la urmtoarele
ntrebri:
1. Pe baza experimentelor derulate la punctul (D), realizai cte o scurt descriere
(maxim o pagin) a fiecreia din cele dou ferestre de depanare/verificare a unui
sistem cu logic fuzzy puse la dispoziie de componenta fuzzy a mediului Matlab.
2. Pe baza rezultatelor experimentale notate la punctele D2 - 4 i D2 6 i a
caracteristicii experimentale a diodei, estimai precizia de aproximare a sistemului
cu logic fuzzy proiectat, pentru fiecare din cele dou implicaii folosite.
3. Descriei matematic formula inferenei folosite n fiecare din cele dou cazuri
de experimentare, D2 4;-5 i D2 6;-7, conform teoriei mecanismelor de inferen
studiate. Crui tip de inferen studiat i corespunde fiecare din cele dou cazuri?
ncercai s gsii o alt explicare a mecanismului de inferen care s corespund
terminologiei folosite n Matlab, adic: inferen Mamdani pentru ambele situaii,
i implicaia: min, ntr-un caz, i produs, n cellalt caz.

16

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