Sunteți pe pagina 1din 28

LUCRARE DE DISERTAȚIE

INTRODUCERE

Sistemele bazate pe cunoștințe (SBC) sunt programe de calcul care


încorporează cunoştinţele unui expert uman şi încearcă să simuleze raţionamentele
desfăşurate de acesta, în scopul rezolvării unei anumite probleme din domeniul său de
expertiză. La rândul său, expertul este un specialist care stăpâneşte foarte bine un
anumit domeniu.
Până în prezent, domeniile de interes în care sau înregistrat cele mai numeroase
implementări ale SBC sunt: inginerie şi producţia de mărfuri, afaceri, medicină, mediu şi
energie, transporturi, autovehicule rutiere, agricultură, telecomunicaţii, administraţie.
Structurile de control inteligent cu logică fuzzy permit implementarea de sisteme
bazate pe cunoştinţe care folosesc teoria mulţimilor vagi (fuzzy) pentru reprezentarea
cunoştinţelor şi pentru inferenţă. Controlerele fuzzy îşi găsesc o aplicaţie tot mai extinsă
în domenii diverse, cu precădere în conducerea sistemelor cu grad pronunţat de
incertitudine la care exprimarea în termeni fuzzy este cea mai adecvată.
Din cauza multitudinii de situaţii ce pot aparea în exploatarea reală a unui
autovehicul, foarte dificil (uneori imposibil) de reprodus experimental, controlul inteligent
al acestuia folosește tot mai mult SBC, mai ales în scop de monitorizare şi diagnoză a
modului în care se desfăşoară procesul.
În lucrare se prezintă .....

4
LUCRARE DE DISERTAȚIE

CAPITOLUL 1

SISTEME BAZATE PE CUNOȘTINȚE

1.1 Structura sistemelor bazate pe cunoștințe (SBC)

Cea mai comună structură a SBC este cea descrisă în figura următoare.

Fig.1.1 Structura unui sistem bazat pe cunostinte

Comunicarea între sistem şi utilizator sau expertul uman se realizează prin


intermediul unei interfeţe special concepute. Celelalte componente importante ale unui
SBC sunt: baza de cunoştinţe, motorul de inferenţă, sistemul de explicare şi editorul
bazei de cunoştinţe. În continuare vor fi descrise succint fiecare dintre aceste
componente.
Interfaţa utilizator. Comunicarea între operator şi SBC se realizează prin
intermediul unei interfeţe specializate, care poate folosi meniurile cu care suntem
familiarizaţi din aplicaţiile Windows, dialogul într-un limbaj natural sau orice altă
formă de interacţiune. Pentru simplificarea comunicării este de dorit ca interfaţa
utilizator să fie cât mai prietenoasă şi inteligentă, adică să ştie cum să prezinte
informaţiile şi să cunoască preferinţele utilizatorului.
Baza de cunoştinţe. La nivelul unui SBC, baza de cunoştinţe are doua
componente: baza de reguli şi baza de fapte. Baza de reguli conţine cea mai mare
parte a cunoştinţelor necesare rezolvării problemelor. SBC complexe folosesc baze
de reguli cu un număr mare de reguli, de la câteva sute, până la câteva mii.
Baza de reguli reprezintă memoria pe termen lung a sistemului, deoarece
conţine partea hard a cunoştinţelor folosite de SBC.

5
LUCRARE DE DISERTAȚIE

De partea cealaltă se află memoria pe termen scurt sau memoria de lucru,


formată din baza de fapte, ce descrie contextul problemei şi conţine datele de intrare,
cele de ieşire şi orice date intermediare produse ca urmare a desfăşurării inferenţelor
de către motorul de inferenţă.
Reprezentarea şi organizarea bazei de cunoştinţe sunt două aspecte
esenţiale pentru funcţionarea corectă a SBC. Dacă se doreşte ca după formarea
SBC acesta să se poată dezvolta este absolut necesar ca baza de cunoştinţe să fie
complet separată de restul sistemului.
Motorul de inferenţă. Mecanismul specific care permite simularea
raţionamentelor desfăşurate de expertul uman este inferenţa. Conform definiţiei de
dicţionar (DEX), inferenţa este operaţia logică de trecere de la un enunţ la altul şi în
care ultimul enunţ este dedus din cel anterior.
Motorul de inferenţă controlează modul şi succesiunea în care se aplică
cunoştinţele din baza de reguli asupra datelor din baza de fapte. De fapt, motorul de
inferenţă este un program de calcul care aplică regulile asupra faptelor, pentru a
genera prin inducţie, fie fapte noi care se adaugă în baza de fapte, fie confirmarea
sau infirmarea unei ipoteze, fie soluţia propriuzisă a problemei.
În principiu, motorul de inferenţă conţine un interpretor, care analizează şi
procesează regulile din baza de reguli şi un planificator, care stabileşte ordinea în
care se aplică regulile. Motorul de inferenţă parcurge baza de reguli, căutând
identificarea unei corespondenţe între faptele din condiţiile sau consecinţele regulilor
şi informaţiile existente în baza de fapte. În momentul în care se identifică o
asemenea corespondenţă, regula respectivă este folosită pentru a produce un nou
fapt sau pentru a confirma o ipoteză.
La nivelul planificatorului, selectarea regulii care se aplică la un moment dat
foloseşte una din următoarele strategii :
Selectarea regulii celei mai specializate. Dintre două reguli –X şi Y – se
selectează cea care conţine numărul maxim de condiţii, considerată ca fiind
specializată, în raport cu cealaltă, care are un caracter general.
Selectarea regulii celei mai productive. Dintre două reguli –X şi Y – se
selectează cea care conţine numărul maxim de consecinţe, adoptând ipoteza că “mai
mult înseamnă mai bine „.

 Selectarea euristică. Dintre mai multe reguli care pot fi aplicate la un moment dat, se
alege cea care conduce baza de fapte cât mai aproape de starea dorită.
Selectarea pe baza încrederii. Unora dintre reguli li se acordă o încredere
sporită, iar la selectarea regulii care se aplică la un moment dat se ţine seama cu
prioritate de încrederea acordată regulilor.
Editorul bazei de cunoştinţe. Unele SBC sunt dotate cu un editor pentru
baza de cunoştinţe, care ajută utilizatorul, expertul sau inginerul de cunoştinţe să
actualizeze şi să verifice conţinutul bazei de cunoştinţe şi, în special, conţinutul
bazei de reguli. Existenţa editorului asigură totodată o dezvoltare comodă a
sistemului, după implementarea sa.

6
LUCRARE DE DISERTAȚIE

1.1.1 Funcționarea unui SBC

Forța unui SBC este capacitatea acestuia de a desfăşura inferenţe şi de a


trage concluzii pe baza unor premise. De fapt, această capacitate conferă
inteligenţă SBC. Sarcina motorului de inferenţă este de a deduce unele concluzii sau
verifica unele ipoteze prin punerea de acord a datelor din baza de fapte cu regulile
din baza de reguli, aşa cum este ilustrat în Fig. 1 . 2. Îndeplinirea acestei sarcini este
posibilă prin aplicarea a două tipuri de strategii: înlănţuirea înainte şi înlănţuirea
înapoi.

Fig.1.2.Principiu de desfasurare a interfetelor in cadrul unui SBC bazat pe reguli

În cazul înlănţuirii înainte, motorul de inferenţă examinează starea curentă a


bazei de cunoştinţe, urmărind identificarea regulilor ale căror premise sunt
satisfăcute de datele din baza de fapte. Aceste reguli sunt aplicate şi faptele care
rezultă ca şi concluzii ale lor sunt adăugate în baza de fapte. În continuare, baza de
cunoştinţe este reexaminată şi se repetă procesul descris mai sus, până la
stabilirea unei concluzii finale, care poate reprezenta sau nu o soluţie a problemei.
Acest proces este ilustrat în Fig. 1.3.

Fig. 1 . 3 – Funcţionarea motorului de inferenţă după strategia înlănţuirii înainte (cu linie îngroşată
sunt reprezentate faptele adevărate, iar cu linie simplă, cele false).

7
LUCRARE DE DISERTAȚIE

Înlănţuirea înapoi este o strategie bazată pe scopuri în sensul în care se


încearcă confirmarea concluziei unei reguli (privită ca un scop), demonstrând
validitatea tuturor premiselor acestei reguli. Aceste premise, pot fi la rândul lor
concluziile altor reguli (caz în care motorul de inferenţă va intra întrun proces
recursiv, încercând să demonstreze validitatea premiselor acelor reguli) sau pot
reprezenta fapte independente, furnizate ca date de intrare în baza de fapte.
Desfăşurarea unui asemenea proces de căutare este ilustrată în Fig. 1.4.

Fig. 1.4 – Funcţionarea motorului de inferenţă după strategia înlănţuirii


înapoi. Verificarea ipotezei asociate concluziei 4.

Desfăşurarea inferenţelor prin aplicarea înlănţuirii înainte sau înapoi este echivalentă
cu parcurgerea întrun sens sau altul al paragrafului de decizie din Fig.1.3 şi fig1.4 ,
putânduse aplica una din strategiile de căutare cunoscute . Pe de altă parte , se
menţionează că , în raport cu tipurile de strategii definite anterior ,strategiile bazate pe
date folosesc înlănţuirea înainte,iar strategiile bazate pe scopuri folosesc înlănţuirea
înapoi.
Funcţionarea SBC se poate desfăşura în trei moduri:(i)modul de achiziţie a
cunoştinţelor;(ii) modul de consultare şi (iii)modul de explicare
SBC se găseşte în modul de consultare atunci când se află în dialog cu utilizatorul
în vederea stabilirii unei soluţii pentru o problemă dată. Utilizatorul transmite SBC date
care descriu problema respectivă, iar sistemul răspunde folosind motorul de inferenţă
pentru modelarea / simularea raţionamentelor necesare deducerii răspunsurilor la
întrebările utilizatorului . Modul de consultare presupune utilizarea pe scară largă a
motorului de inferenţă, putânduse aplica oricare din cele două mecanisme de inferenţă–
înlănţuirea înainte sau înapoi.
Unul din atributele cele mai puternice ale SBC este capacitatea lor de a explica
inferenţele pe care le realizează . Această capacitate are la bază arborii AND/OR care
sunt construiţi pe măsura desfăşurării inferenţelor . Modul de explicare pune la
dispoziţia utilizatorului cunoştinţele SBC întrun mod explicit . Pe această cale , sistemul
explică cum a ajuns la o anumită concluzie , de ce a realizat o anumită acţiune sau
oferă răspunsuri la o întrebare de forma „ ce ar fi dacă ? ” . De exemplu , în Fig. 1.5 şi

8
LUCRARE DE DISERTAȚIE

Fig.1.6 se indică schemele de principiu după care sistemul răspunde la întrebările cum
şi de ce.

Fig.1.5 – Explicarea modului cum sa ajuns la o anumită concluzie

Fig.1.6–Explicarea faptului de ce se realizează o anumită acţiune

În cazul schemei din Fig.1.6, pentru a răspunde de ce se realizează o anumită


acţiune, si stemul trebuie să identifice mai întâi obiectivul curent şi să justifice acest
obiectiv prin verificarea condiţiilor care conduc la atingerea lui. Astfel, în ipoteza în care
Faptele 2 şi 3 sunt verificate, si sistemul poate interoga utilizatorul asupra validităţii
Faptei1, în scopul stabilirii validităţii Concluziei1.

1.1.2 Reprezentarea cunoștințelor

Elementul central,în jurul căruia gravitează toate celelalte componente ale unui
SBC , îl reprezintă cunoştinţele. În cadrul unui SBC , reprezentarea cunoştinţelor se
poate face pe mai multe căi , cum ar fi regulile de producţie , cadrele şi cazurile . Dintre
aceste forme de reprezentare, cea mai răspândită este cea a regulilor de producţie.
Cadrele (în engleză, frames) reprezintă obiecte complexe care sunt descrise de
anumite proprietăţi sau atribute şi anumite proceduri sau metode. Structural, cadrele
sunt foarte asemănătoare cu obiectele folosite în cadrul programării la nivel obiect.
Astfel, una din proprietăţile cele mai importante ale cadrelor este mecanismul de
moştenire, care permite descrierea generică a unui obiect şi crearea de instanţe ale
acestuia care moştenesc toate atributele obiectului generic, la care se adaugă şi
atribute noi.
Reprezentarea cunoştinţelor sub formă de cazuri are la bază premisa că, pentru
a învăţa şi a rezolva probleme complexe, oamenii folosesc raţionamentul analogic sau
9
LUCRARE DE DISERTAȚIE

cel experimental. Cazurile folosite pentru desfăşurarea analogiilor constau în informaţii


despre situaţia analizată, soluţia problemei în sine, rezultatele care se obţin prin
adoptarea acelei soluţii, anumite atribute care pot evidenţia tipare specifice.
Cunoştinţele folosite de un SBC pot fi împărţite în cunoştinţe faptice şi cunoştinţe
euristice.
Cunoştinţele faptice reprezintă acea parte a cunoştinţelor despre domeniul de
interes, care sunt cunoscute şi se găsesc în manuale sau reviste. De cealaltă parte,
cunoştinţele euristice reprezintă cunoştinţe mai puţin riguroase, deduse prin
experimente şi/sau raţionamente specifice. Aceste cunoştinţe sunt mai puţin formalizate
şi reflectă mai degrabă buna practică din domeniul respectiv.
Dezvoltarea unui SBC presupune în primul rând culegerea cunoştinţelor
relevante de la experţii umani sau de la alte surse. Achiziţia cunoştinţelor în vederea
reprezentării lor în programe de calcul nu este în general o sarcină simplă. Ca urmare,
s-a dezvoltat o adevărată disciplină a construirii SBC, denumită ingineria cunoştinţelor,
al cărui principal obiectiv este transferul cunoştinţelor de la sursele uzuale (experţi, cărţi,
reviste etc) către baza de cunoştinţe a SBC.

Fig.1.7 Construirea bazei de cunostinte

Reguli de producție
Reprezentarea cunoştinţelor asigură formalizarea şi organizarea acestora. Cea
mai des utilizată schemă de reprezentare a cunoştinţelor este regula de producţie,
denumită uneori regula IF – THEN. Regulile de producţie descriu cunoştinţele faptice şi
cele euristice pe care le folosesc în mod curent experţii umani. Ansamblul acestor reguli
formează baza de reguli a SBC, denumită uneori şi bază de cunoştinţe.
O regulă de producţie constă dintro condiţie sau premisă, urmată de o acţiune
sau concluzie şi are forma
IF<condiţie>THEN<acţiune>

10
LUCRARE DE DISERTAȚIE

În general, partea de acţiune a unei reguli poate conţine: (i) acţiuni cu efect
descriptiv, de exemplu afişarea unui mesaj pe ecranul monitorului; (ii) verificarea unei
alte reguli, în cazul sistemelor de reguli înlănţuite şi (iii) adăugarea unui nou fapt în baza
de fapte a SBC.

1.2 Sisteme bazate pe cunoștințe cu logică fuzzy

Structurile de control inteligent cu logică fuzzy ale autovehiculelor permit


implementarea de sisteme bazate pe cunoştinţe care folosesc teoria mulţimilor vagi
(fuzzy) pentru reprezentarea cunoştinţelor şi pentru inferenţă.
În cazul reglării fuzzy algoritmii de reglare convenţionali sunt înlocuiţi printr-o
serie de reguli lingvistice de forma: Dacă (premiză) atunci (concluzie). Astfel, se obţine
un algoritm euristic şi se poate lua în considerare experienţa operatorului pentru
conducerea proceselor. Structura de bază a sistemelor cu logică fuzzy este redată în
figura 1.8.

Baza de cunoștințe

Mulțimi fuzzy Reguli

Intrări ferme Fuzzyficare Inferență Defuzzyficare Ieșiri ferme

Fig.1.8 Structura unui sistem cu logică fuzzy


(Voloşencu, C., Sisteme fuzzy şi neuronale, Editura Politehnica, Timişoara, 2007)

Fuzzyficarea și defuzzyficarea sunt operatii care asigură interfaţarea între:


- valorile din lumea reală (valori numerice ferme, tranșante) și
- valorile utilizate în SLF (valori lingvistice – multimi fuzzy).
Inferenţa determină mulţimea fuzzy de ieșire în funcție de valorile de intrare.

Blocul de fuzzyficare necesită o prelucrare preliminară a datelor, de exemplu


formarea erorii de reglare respectiv conversia analog-numerică a semnalului/informației
ferme primare. Aceste mărimi ferme (precise, certe) se tratează prin variabile lingvistice,
ceea ce necesită transformarea lor prin asocierea unor funcţii de apartenenţă.
Fuzzyficarea furnizează o serie de variabile fuzzy.
În scopul prelucrării raţionamentelor prin logica fuzzy cu calculatorul, valorilor
variabilelor lingvistice li se asociază funcţii de apartenenţă. În acest context se atribuie
fiecărei valori lingvistice a variabilei lingvistice o funcţie de apartenenţă m(.)(x), ale cărei
valori variază între 0 şi 1.
Funcţia de apartenenţă m dă o pondere unei anumite valori de intrare a variabilei
x. Variabila x poate lua valori într-o mulţime numită univers de discuţie (sau de discurs)
UX. Astfel, funcţiile de apartenenţă sunt funcţii definite pe universul de discuţie UX cu
valori în intervalul [0, 1], prin diverse expresii:
11
LUCRARE DE DISERTAȚIE

m A  x  : U x  [0,1]
(1.1)
unde A este mulţimea fuzzy căreia i se asociază funcţia de apartenenţă mA(x). Universul
de discuţie UX poate fi o mulţime continuă infinită sau o mulţime discretă de valori.
O mulţime fuzzy A este mulţimea de perechi de forma:

A = {(x, m A (x))} (1.2)


Unei valori lingvistice i se poate ataşa o mulţime fuzzy.

În continuare se prezintă câteva funcții de apartenență [8].

a) Funcţia de apartenenţă triunghiulară

Expresia analitică a acestei funcţii de apartenenţă este identică cu ecuaţia


dreptei ce trece prin punctele de coordonate (a, 0) şi (c, 1), pentru x  [a, c] şi cu
ecuaţia dreptei ce trece prin punctele de coordonate (c, 1) şi (b, 0), pentru x(c, b].
Deci:
 x  a
  c  a  , axc
m x   
1   x  c  , cxb
  b  c 
. (1.3)

Fig 1.9 Reprezentarea grafică a funcţiei de apartenenţă triunghiulare


(S. Rusu-Anghel, Aplicaţii fuzzy în transportul electric feroviar, Editura Mirton, Timişoara, 2010)

b) Funcţia de apartenenţă trapezoidală

Fig. 1.10 Reprezentarea grafică a funcţiilor de apartenenţă trapezoidale şi singleton

12
LUCRARE DE DISERTAȚIE

(S. Rusu-Anghel, Aplicaţii fuzzy în transportul electric feroviar, Editura Mirton, Timişoara, 2010)

Expresia analitică a acestei funcţii de apartenenţă se obţine simplu, observând


că trapezul din figura 1.10, a rezultat prin intersecţia unui triunghi de forma celui din
figura 1.9, având înălţimea ht > 1, cu dreapta de ecuaţie m(x) = 1. Astfel:

  xc 
m x   min 1, ht 1  2 
  ba  , cu ht > 1. (1.4)
Funcţiile de apartenenţă trapezoidale se pot defini şi prin adoptarea unui anumit
raport al bazelor trapezului, h   A / B  1 rezultând:

 1  xc 
m x   min 1, 1  2

 ,

 1    ba  cu   1. (1.5)
Un caz particular de funcţie de apartenenţă este “singleton-ul” asimilat cu o formă
ce derivă din impuls Dirac, cu lăţimea prestabilită, având reprezentarea generală în
figura 1.10b.

c) Funcţii de apartenenţă de tip “saturaţie”


Acestea se definesc ca funcţii de tip rampă la dreapta (figura 1.11a) sau la
stânga (figura 1.11b), cuplate în partea extremă cu porţiunea de saturaţie.

Fig. 1.11 Reprezentarea grafică a funcţiei de apartenenţă de tip saturaţie


(S. Rusu-Anghel, Aplicaţii fuzzy în transportul electric feroviar, Editura Mirton, Timişoara, 2010)

Exprimarea analitică a acestor funcţii de apartenenţă se face pe intervale, astfel:


0, xa

x  a
m x    , axb
b  a

1, xb
, (1.6)
1, xa

 xa
m x    ,a  x  b
 ba

0, xb
. (1.7)

13
LUCRARE DE DISERTAȚIE

Recomandări privind definirea variabilelor fuzzy

Pentru o variabilă fuzzy care ia 7 valori fuzzy, atât negative cât şi pozitive se pot
introduce 7 mulţimi fuzzy: negativ mult NB, negativ mediu NM, negativ puţin NS,
aproximativ zero ZE, pozitiv puţin PS, pozitiv mediu PM şi pozitiv mult PB, care pot
avea diverse forme, ca în exemplul din fig. 1.12.

Fig. 1.12 Definirea a 7 valori fuzzy: NB, NM, NS, ZE, PS, PM, PB
(Voloşencu, C., Sisteme fuzzy şi neuronale, Editura Politehnica, Timişoara, 2007)

În acelaşi mod se pot defini 5 valori fuzzy sau respectiv trei.


O împărţire mai fină a intervalului pentru o variabilă fuzzy, adică utilizarea a mai
mult de şapte valori fuzzy, nu aduce nici o ameliorare a comportamentului dinamic al
reglării. Din contră, o astfel de alegere complică formularea regulilor de inferenţă.
Se recomandă funcţiile de apartenenţă simetrice şi distribuite într-o manieră
echidistantă cu acoperire unitară pentru o primă analiză, ele urmând a fi schimbate,
după caz, odată cu modificarea strategiei de reglare. Pentru obţinerea unui
comportament optim în reglare, în final se poate ajunge să se utilizeze funcţii de
apartenenţă nesimetrice şi cu o distribuţie neechidistantă, chiar şi cu factor de
acoperire variabil.
Trebuie să se evite lacunele sau spaţiile goale între funcţiile de apartenenţă
vecine. Acestea provoacă zone moarte, de neintervenţie a regulatorului, ceea ce
conduce adesea la instabilitatea reglării.
O posibilă regulă de alegere ar fi ca funcţiile de apartenenţă să se întrepătrundă
cu 25% De asemenea trebuie să se evite zonele cu grade de apartenenţă 1 lipite una
de alta. Aceasta conduce la o aplatizare a carateristicilor regulatorului.
O altă regulă ar fi ca suma gradelor de apartenenţă pentru o valoare din
universul de discuţie să fie 1 (acoperire unitară).
În general alegerea funcţiilor de apartenenţă pentru mărimile de intrare şi de
ieşire se face după experienţa operatorului.

Blocul de inferență

În blocul de inferenţă, valorile variabilelor fuzzy sunt legate prin mai multe reguli
care trebuie să ţină cont de comportamentul static şi dinamic al sistemului de reglare ca
şi de scopurile reglării avute în vedere. În particular, bucla de reglare trebuie să fie
stabilă şi bine amortizată.
Rezultatul inferenţei este o mulţime fuzzy asociată ieşirii sistemului cu logică
fuzzy la momentul t.

14
LUCRARE DE DISERTAȚIE

Formularea concretă a inferenţei depinde de comportamentul static şi dinamic al


sistemului condus şi al organelor de comandă, cât şi de scopurile reglării avute în
vedere. Nu este posibil să se indice reguli precise. Experienţa joacă un rol important.
Stabilirea inferenţelor poate avea loc iterativ printr-o modificare a strategiei de reglare.

Există mai multe posibilități de descriere a inferenței dar cea mai simplă și
explicită este descrierea simbolică de forma:
Dacă (x1=NG şi x2=ZE), atunci u=PG, sau
dacă (x1=NG şi x2=PM), atunci u=PM, sau
...
Metoda de inferenţă precizează cum sunt utilizaţi diferiţi operatori într-o
inferenţă, permiţând prelucrarea numerică cu calculatorul. Există mai multe metode de
inferență (max-prod, sumă-prod) dar cea mai utilizată este metoda max-min.

Metoda de inferenţă max-min realizează, la nivelul premizei, operatorul SAU prin


formare cu maxim şi operatorul ŞI prin formare cu minimum. Concluzia din fiecare
regulă, introdusă prin atunci, leagă gradul de apartenenţă al premizei cu funcţia de
apartenenţă a variabilei de ieşire u prin operatorul ŞI, realizat în acest caz prin formare
cu minim. În sfârşit, operatorul SAU care leagă diferitele reguli este realizat prin
formare cu maxim.
Figura 1.13 reprezintă grafic principiul metodei de inferenţă max-min.
Premiza C1: (x1=PB ŞI x2=ZE) din prima regulă, pentru valorile reale certe ale
mărimilor de intrare x1=0,44 şi x2=-0,67 care au gradele de apartenenţă
mPB(x1=0,44)=0,67 şi mZE(x2=-0,67)=0,33, ia gradul de apartenenţă mC1=0,33 (minimul
dintre cele două valori, datorită operatorului ŞI). Funcţia de apartenenţă mZE(u) pentru
variabila de ieşire are gradul 0,33 (datorită formării minimului legat de atunci). Funcţia
de apartenenţă parţială mR1(u) pentru u este pusă în evidenţă printr-o linie îngroşată.

Fig. 1.13 Metoda de inferenţă max-min pentru două variabile de intrare şi două reguli
(Voloşencu, C., Sisteme fuzzy şi neuronale, Editura Politehnica, Timişoara, 2007)
15
LUCRARE DE DISERTAȚIE

A doua regulă ia în premiza sa C2: (x1=ZE SAU x2=NB) gradele de apartenenţă


mZE(x1=0,44)=0,33 şi mPB(x2=-0,67)=0,67. Premiza are gradul de apartenenţă mC2=0,67
(maximul dintre cele două valori datorită operatorului SAU). Funcţia de apartenenţă
mNB(u) a ieşirii are deci gradul 0,67 (datorită formării minimului legat relativ la atunci).
Funcţia de apartenenţă parţială mR2(u) pentru u este pusă în evidenţă tot printr-o linie
îngroşată.
Trebuie determinată o funcţie de apartenenţă rezultantă mREZ(u). Ea se obţine
prin maximul celor două funcţii de apartenenţă parţiale, dat fiind faptul că cele două
reguli sunt legate prin operatorul SAU. Funcţia de apartenenţă rezultantă este
prezentată haşurat în fig.1.13.
Metoda de inferenţă max-min poate fi descrisă în mod general în următorul fel:
condiţiei (premizei) fiecărei reguli Ri (i=1,2,...) i se atribuie un grad de apartenenţă mCi.
El depinde de condiţia însăşi şi de valorile determinate pentru valorile de intrare x1,2,....
Dacă condiţia nu este verificată de loc atunci, evident mCi=0. Operatorii ŞI respectiv
SAU sunt realizaţi prin minim respectiv maxim.

Blocul de defuzzyficare
Deoarece elementul de execuţie trebuie comandat cu o valoare reală fermă a
semnalului de comandă, trebuie să se transforme mulţimea fuzzy a ieşirii într-o valoare
determinată. Aceasta se face în blocul de defuzzyficare.
În practică s-au dezvoltat mai multe metode de defuzzyficare, cum ar fi:
- metoda centrului de greutate (CG);
- metoda centrului sumelor (CS);
- metoda de defuzificare de înălţime (DI);
- metoda centrului suprafeţei celei mai mari (CSCM);
- metoda primului din maxime (PM);
- metoda maximului din mijloc (MM);
- metoda ultimului din maxime (PM).
Dintre acestea, metoda centrului de greutate este metoda de defuzificare cea
mai utilizată în practică, cunoscând numeroase variante de aplicare. Esenţa metodei
constă în determinarea valorii exacte pentru mărimea de ieşire (comanda u *) cu luarea
în considerare, într-o manieră ponderată, a tuturor influenţelor obţinute din regulile
activate de starea particulară a intrărilor de la un moment dat.
În cazul continuu această metodă se exprimă prin relaţia:
 u. m (u)du  u.max [ m
k
Bu Bu (u)]du
*
u =
Uu
= Uu k

 m (u)du  max [ m
k
Bu Bu (u)]du
Uu k
Uu (1.8)

în care s-a utilizat simbolul corespunzător integrării din analiza matematică. Deci,
această metodă determină centrul suprafeţei aflată sub funcţia de apartenenţă
combinată. Figura 1.14 prezintă această operaţie într-un mod grafic. Operaţia de
defuzificare ia în considerare suprafaţa lui Bu ca un întreg.

16
LUCRARE DE DISERTAȚIE

Fig. 1.14 O reprezentare grafică a metodei de defuzificare ‘centrul de greutate’


(Voloşencu, C., Sisteme fuzzy şi neuronale, Editura Politehnica, Timişoara, 2007)

Aplicarea metodei centrului de greutate devine mult mai simplă la alegerea


“foarte convenabilă” a formei funcţiei de apartenenţă aferente termenilor lingvistici ai
ieşirii. Din acest motiv, pentru aplicaţiile practice din domeniul conducerii automate se
preferă termeni lingvistici cu funcţia de apartenenţă de tip “singleton”. În fig.1.15 este
prezentată o astfel de funcţie de apartenenţă.

În acest caz mulţimea vagă se defineşte prin relaţia:

m: m(x)/x  xX, (1.9)

în care notaţia m(x)/x reprezintă perechea de valori


discrete “grad de apartenenţă / valoare exactă” din
mulţimea de bază şi are denumirea de singleton.
Fig.1.15

Metoda centrului de greutate singleton se exprimă prin relaţia de calcul a comenzii:


l l

u m i Bu ( ui )  u .max m ( u )
i
k
Bu i
*
u =
i=1
l
= i=1
l
k

 mBu ( ui )  max m ( u ) k
Bu i
i=1 i=1 k , (1.10)

Dacă această metodă se utilizează împreună cu metoda de inferenţă max-min


respectiv max-prod, în cazul mai multor reguli active cu aceeaşi concluzie se ia în calcul
numai regula cu cel mai ridicat grad de realizare.

În general, în controllerele cu logică fuzzy mecanismul de inferență folosit este


Mamdani, adică max-min, iar metoda de defuzzyficare folosită este metoda centrului de
greutate (centroid).

1.3 Proiectarea sistemelor fuzzy cu Matlab

O posibilitate de implementare a tehnicilor bazate pe logica fuzzy este oferită de


mediul de programare MATLAB. Interfața modulului “Fuzzy toolbox” este foarte
accesibilă utilizatorilor, facilitând introducerea, organizarea şi prezentarea informaţiilor
sistemului bazat pe logică fuzzy, prin proceduri de editare a intrărilor şi ieşirilor, de
configurare a funcţiilor de apartenenţă, respectiv de editare a bazei de reguli.

17
LUCRARE DE DISERTAȚIE

Funcțiile de comandă pentru interfața grafică cu utilizatorul sunt:

FUZZY - pentru editarea sistemului cu logică fuzzy FIS (Fuzzy Inference


System)
MFEDIT - pentru editarea funcțiilor de apartenență, adică, a mulțimilor
fuzzy peste universurile discursurilor variabilelor de intrare şi de
ieşire ale sistemului
RULEEDIT- pentru editarea regulilor
SURFVIEW - pentru vizualizarea suprafețelor de control care arată grafic
dependența ieşirii tranşante a sistemului cu logică fuzzy de
intrările tranşante ale sistemului
RULEVIEW – pentru vizualizarea regulilor (RULEVIEW(FIS)) și a
diagramelor de inferență fuzzy pentru o matrice
FIS - RULEVIEW(’FILENAME’). Permite observarea gradului
de activare al fiecărei reguli şi rezultatul (mulțimea fuzzy de
ieşire) dat de fiecare regulă a bazei de reguli, pentru o
anumită valoare tranşantă a intrării stabilite de către utilizator

Cele cinci instrumente grafice sunt legate dinamic între ele, adică, o modificare a
sistemului cu logică fuzzy făcută într-una din ferestrele de editare va putea afecta ceea
ce se vede în celelalte ferestre.

Lansarea în execuție a editorului de sisteme cu logică fuzzy (FIS Editor) se face


din fereastra de comenzi a mediului Matlab prin tastarea instrucțiunii: fuzzy. Pe ecran
va apărea fereastra grafică prezentată în figura 1.16. Se observă că, în mod implicit,
sistemul cu logică fuzzy este de tip SISO (o singură intrare și o singură ieșire), metoda
de inferență este de tip max-min iar pentru defuzzyficare este setată metoda centrului
de greutate.

18
LUCRARE DE DISERTAȚIE

Fig.1.16 Fereastra editorului de sisteme cu logică fuzzy

Această interfață grafică permite:


 adăugarea/ștergerea variabilelor de intrare/ieșire;
 redenumirea/numirea variabilelor de intrare/ieșire;
 modificarea metodei de inferență (de exemplu în sumă-prod);
 modificarea metodei de defuzzyficare (metoda centrului de greutate al ariei
pentru type=’centroid’ (tipul implicit), metoda bisectoarei ariei pentru
type=’bisector’, metoda mediei maximelor pentru type=’mom’, metoda celui
mai mic dintre maxime, pentru type=’som’ sau metoda celui mai mare dintre
maxime, pentru type=’lom’)

Prin dubluclik pe blocurile sistemului cu logică fuzzy se activează alte două


instrumente grafice și anume: editorul funcțiilor de apartenență (figura 1.17) respectiv
editorul bazei de reguli (figura 1.18).

19
LUCRARE DE DISERTAȚIE

Fig.1.17 Fereastra editorului de funcții de apartenență

La deschiderea editorului funcțiilor de apartenență pentru un sistem cu logică


fuzzy nou creat, există implicit trei funcții de apartenență asociate variabilelor de
intrare şi ieşire definite anterior în editorul sistemului cu logică fuzzy.

Fereastra permite:
 redenumirea funcțiilor de apartenență;
 modificarea tipului funcției prin alegerea din galeria existentă:

 modificarea parametrilor funcțiilor de apartenență;


 stabilirea universului de discuție.

Pentru adăugarea/ștergerea funcțiilor de apartenență se foloseşte componenta


Edit a barei de meniuri a ferestrei editorului, din care se selectează comanda Add MFs
(adaugă funcții de apartenență) respectiv Remove (șterge funcția de apartenență
selectată sau toate funcțiile).

20
LUCRARE DE DISERTAȚIE

Fig.1.18 Fereastra editorului bazei de reguli

Editorul regulilor fuzzy permite editarea bazei de reguli fuzzy a sistemului cu


logică fuzzy. Fereastra grafică a editorului regulilor este cea din figura 1.18.

Inițial, câmpul de editare al ferestrei, de culoare albă, nu conține nici o regulă.


Toate regulile vor fi introduse cu ajutorul ferestrelor de selecție a funcțiilor de
apartenență (a valorilor lingvistice) ale variabilelor de intrare și ieșire. La nivelul premizei
variabilele pot fi legate prin operatorul ȘI (or) respectiv prin SAU (and) care pot fi setați
din zona stânga jos a ferestrei grafice. Adăugarea regulilor se face cu ajutorul butonului
“Add rule” , ștergerea cu “Delete rule” iar modificarea unei reguli – cu “Change rule”.

21
LUCRARE DE DISERTAȚIE

CAPITOLUL 2

SISTEM BAZAT PE CUNOȘTINȚE CU LOGICĂ FUZZY PENTRU


CONTROLUL VITEZEI UNUI AUTOMOBIL

2.1. Date preliminare:

- Se neglijează inerţia roţilor şi se presupune că forţa de frecare este proporţională cu


viteza automobilului;

- Masa automobilului: m = 1050 kg;

- Forţa de tracţiune a motorului: u = 550 N;

- Forţa de frecare: b = 50 N;

- Timpul de crestere mai mic decât 5 secunde;

- Suprareglaj mai mic decât 10%;

- Eroarea staţionară mai mică decât 2%.

2.2. Funcţia de transfer a sistemului deschis

Schema de principiu este dată în figura 2.1.

Fig. 2.1 Schema de principiu a deplasarii unui autovehicul

Folosind legea lui Newton, ecuaţiile de modelare pentru acest sistem devin:

m v  bv  u
yv (2.1)

unde u este forţa motorului

22
LUCRARE DE DISERTAȚIE

Aplicând transformata Laplace celor două ecuaţii şi înlocuind V(s) cu Y(s), se obţine:

msY (s)+bY ( s)=U ( s) (2.2)

Funcţia de transfer a sistemului devine:

1
Y(s)
U(s) 
ms  b (2.3)

Putem rescrie ecuaţiile sistemului in spaţiul stărilor sub următoarea forma:


.
[ v ]=[−b
m ] [ v ] + [1 ] [ u ]
m
y= [ 1 ] [ v ] (2.4)

Pentru a folosi Matlab pentru a rezolva această problemă copiem următoarele


comenzi in fereastra de comenzi Matlab

>> m = 1050;
b = 50;
u = 550;
A = [-b/m];
B = [1/m];
C = [1];
D = 0;
num=[1];
den=[m b];

Răspunsul sistemului deschis la un semnal de intrare treapta folosind comanda

step (u*num,den) este prezentat în figura 2.2.

>> step(u*num,den)

Step Response
12

10

8
Amplitude

0
0 20 40 60 80 100 120 140
Time (sec)

Fig. 2.2

23
LUCRARE DE DISERTAȚIE

Din figura 2.2 se observă că automobilului îi trebuie mai mult de 100 de secunde
pentru a ajunge la viteza staţionară de 11 m/s, deci nu este îndeplinit unul din criteriile
de proiectare: timp de creştere mai mic de 5 secunde.

2.3. Proiectarea unui sistem bazat pe cunostinte cu logică fuzzy pentru controlul
vitezei

SBC-ul fuzzy va trebui sa aibă două intrari: eroarea de viteză şi derivata acesteia
şi o ieşire, adică puterea motorului.

Paşii de proiectare a sistemului, cu ajutorul Matlab Fuzzy Toolbox sunt:

Fig. 2.3

24
LUCRARE DE DISERTAȚIE

Fig.2.4

Fig.2.5

Fig.2.6

Seturile fuzzy definite mai sus pentru cele două intrări şi pentru ieşire, se
asociază acum pentru a forma regulile fuzzy. La orice sistem care are două intrări şi o

25
LUCRARE DE DISERTAȚIE

ieşire, aceste asocieri pot fi vizualizate într-un tabel, numit tabel de inferenţă sau bază
de reguli fuzzy.

a = derivata erorii

  a- NEG a-ZERO a- POZ

e= e-NEG Min Min Min


eroarea
e-ZER Normal Normal Normal

e-POZ Max Max Max

Cele nouă reguli IF-THEN ce rezultă pentru reglarea automată a vitezei unui
automobil sunt:

Fig. 2.7

26
LUCRARE DE DISERTAȚIE

Fig.2.8

Suprafaţa de control obţinută cu surface viewer-ul din Fuzzy System Toolbox al


Matlab este dată în figura 2.9

27
LUCRARE DE DISERTAȚIE

Fig.2.9

Pentru verificarea funcţională a regulatorului fuzzy, am efectuat implementarea în


simulink a acestuia – figura 2.10 :

Fig.2.10

Răspunsul sistemului este prezentat în figura 2.11.

Fig.2.11

28
LUCRARE DE DISERTAȚIE

29
LUCRARE DE DISERTAȚIE

BIBLIOGRAFIE

[1]

[2]

[3]

[4] ”Sisteme expert”, http://iota.ee.tuiasi.ro/~mgavril/Simpe/L2.htm

[5] Dragomir, T.L. – Elemente de teoria sistemelor, Editura Politehnica, Timişoara, 2004

[6] Stela Rusu-Anghel, Teoria sistemelor și reglaj automat, Univ. Politehnica Timișoara, FIH, curs
on-line, http://www.fih.upt.ro/personal/stela.anghel/

[7] Stela Rusu-Anghel, Sisteme de conducere fuzzy, Univ. Politehnica Timișoara, FIH, curs on-line,
http://www.fih.upt.ro/personal/stela.anghel/

[8] Voloşencu, C., Sisteme fuzzy şi neuronale, Editura Politehnica, Timişoara, 2007

[9] S. Rusu-Anghel, Aplicaţii fuzzy în transportul electric feroviar, Editura Mirton, Timişoara, 2010
30
LUCRARE DE DISERTAȚIE

[10] ***, Matlab 2007, User guide

31

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