Sunteți pe pagina 1din 15

Sisteme expert

Conform uneia dintre cele mai rspndite definiii ale sistemului expert (SE), acesta este un program de calcul care incorporeaz cunotinele unui expert uman i ncearc s simuleze raionamentele desfurate de acesta din urm n scopul rezolvrii unei anumite probleme din domeniul su de expertiz. La rndul su, expertul este un specialist care stpnete foarte bine un anumit domeniu. Atributele care deosebesc expertul de un nceptor au n mare parte un caracter simbolic, se sprijin pe cunotine dobndite n timp i decurg din raionamente care ncearc s pun de acord aceste cunotine cu faptele specifice problemei studiate. Pn n prezent, domeniile de interes n care s-au nregistrat cele mai numeroase implementri ale SE sunt : inginerie i producia de mrfuri (35%) ; afaceri (28%) ; medicin (11%) ; mediu i energie (9%); agricultur (5%) ; telecomunicaii (4%) ; administraie (4%) ; legislaie (3%) i transporturi (1%) [Liebowitz 97]. n domeniul electroenergeticii, principalele aplicaii ale SE se refer la : (a) conducerea operativ a sistemului energetic; (b) analiza on / off line a funcionrii sistemului electroenergetic; (c) analiza i reconfigurarea postavarie a reelelor electrice; (d) mentenana echipamentelor din sistemul electroenergetic; (e) dezvoltarea reelelor de distribuie .a.

Structura SE
Cea mai comun structur a SE este cea descris n Fig. urmatoare Comunicarea ntre sistem i utilizator sau expertul uman se realizeaz prin intermediul unei interfee special concepute. Celelalte componente importante ale unui SE sunt baza de cunotine, motorul de inferen, sistemul de explicare i editorul bazei de cunotine. n continuare vor fi descrise succint fiecare dintre aceste componente.

Functionarea SE
Fora unui SE este capacitatea acestuia de a desfura inferene i de a trage concluzii pe baza unor premise. De fapt, aceast capacitate confer inteligen SE. 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, aa cum este ilustrat n Fig. 1. ndeplinirea acestei sarcini este posibil prin aplicarea a dou tipuri de strategii: nlnuirea nainte i nlnuirea napoi.

Mulimi fuzzy
O mulime fuzzy este o mulime a crei grani nu este evident, bine definit. n general, o mulime fuzzy conine elemente despre care se poate spune c aparin (sau nu aparin) parial acelei mulimi. O mulime fuzzy A, definit pe o mulime X, este format din perechi ordonate (x ; mA(x)), unde x este un element din mulimea X, iar mA(x) este un element care poate lua valori n intervalul [0,1] i descrie msura n care elementul x aparine sau nu mulimii A. Astfel, se poate scrie: mA(x) este funcia caracteristic sau funcia de apartenen asociat mulimii fuzzy A, iar valoarea acestei funcii se numete grad de apartenen. O singur pereche de forma (x ; mA(x)) se numete singleton fuzzy, astfel nct ntreaga mulime fuzzy A poate fi tratat ca reuniunea tuturor singleton-urilor fuzzy din care este format. De exemplu, n cazul unui univers de discurs finit, enumerabil, mulimea fuzzy A poate fi reprezentat ca un vector de singleton-uri: Mulimea n care variabila x poate lua valori, notat X, se numete univers de discurs. Pentru aplicaiile care se adapteaz cel mai bine abordrii fuzzy universul de discurs nu poate fi definit simplu folosind valori numerice. Asemenea situaii pot interveni, de exemplu, atunci cnd ne referim la gust sau la impactul estetic al unor obiective. n asemenea situaii se folosesc valorile sau categoriile lingvistice, cum ar fi (acru, dulce, amar, srat,) n cazul gustului sau (urt, neplcut, indiferent, atrgtor, frumos ) n cazul impactului estetic.

Dac n cazul unei variabile algebrice se folosesc ca valori numerele (de exemplu, tensiunea ntr-un nod al reelei poate avea valori ca 105,7 kV sau 117,2 kV), n cazul variabilelor lingvistice, valorile folosite sunt cuvinte, expresii sau chiar propoziii. De exemplu, variabila lingvistic gust poate lua valori cum ar fi acru sau dulce, n timp ce variabila lingvistic impact estetic poate lua valori cum ar fi neplcut sau frumos.
Abordarea lingvistic reprezint de fapt una din caracteristicile fundamentale ale mulimilor fuzzy. De aceea, chiar i atunci cnd universul de discurs poate fi descris pe cale numeric, se prefer asocierea la aceast descriere i a unor categorii lingvistice. n acest caz, valorile lingvistice folosite joac rolul variabilelor sau constantelor domeniu folosite n limbajele de programare uzuale, respectnd i o anumit ordine. De exemplu, pentru valoarea tensiunii ntr-un nod al reelei se pot folosi valori lingvistice cum ar fi (foarte-mic, mic, medie, mare, foarte mare). Fiecreia din aceste valori lingvistice, tratat ca o mulime fuzzy, i este asociat un anumit domeniu numeric de variaie a tensiunii.

Apartenenta la o multime fuzzy


Mulimile fuzzy descriu ntotdeauna proiecia universului discursului sau a unei pri a acestuia pe intervalul [0,1] , denumit i spaiu de apartenen. Aceast proiecie se realizeaz prin intermediul funciei de apartenen mA : X [0,1], a crei valoare mA(x) descrie gradul de apartenen al valorii x la mulimea fuzzy A. O valoare mA(x) 1 reprezint apartenena complet a elementului x la mulime A; valoarea mA(x) 0 reprezint non-apartenena complet a lui x la A; n sfrit, o valoare intermediar a funciei caracteristice, mA(x) (0,1), descrie un grad de apartenen intermediar. Acestei definiii i se poate asocia reprezentarea grafic mai jos.

Functii de apartenenta
Funciile de apartenen reprezint mijlocul prin care se realizeaz legtura dintre universul discursului i msura posibilitii. Alegerea funciei de apartenen este o chestiune dependent de problem, singura condiie pe care trebuie s o ndeplineasc fiind cea de a lua valori n intervalul [0,1]. n rest, aceast operaie se desfoar de cele mai multe ori pe baze euristice i / sau empirice i este influenat n bun msur de subiectivismul celui care face alegerea. O serie de msuri ale oportuniti alegerii unei anumite funcii de apartenen pot fi gradul de adaptare la problem, simplitatea modelului de calcul rezultant, viteza de calcul i eficiena.

Principalele criterii dup care se poate realiza clasificarea funciilor de apartenen sunt urmtoarele:
clasificarea dup modul de reprezentare n calculator; funcii continue i discrete. n forma continu, funcia de apartenen este o funcie matematic cu o expresie analitic clar sau o funcie complex descris de o procedur. n forma discret, funcia de apartenen este definit prin puncte, fie folosind un tabel de definiie, fie o funcie originar, continu. clasificarea dup natura funciilor folosite pentru generarea lor: funcii de apartenen generate de funcii liniare pe poriuni, funcii gaussiene, funcii sigmoidale i funcii polinomiale. Aceste funcii sunt, n general, funcii continue, dar unele dintre ele pot fi generate i ca funcii discrete. clasificarea dup form: funcii triunghiulare, funcii trapezoidale, funcii gaussiene simple sau complexe, funcii sigmoidale, funcii n form de clopot etc. Funciile triunghiulare i cele trapezoidale sunt generate pe baza funciilor liniare pe poriuni; funciile sigmoidale i n form de clopot sunt generate fie pe baza funciilor sigmoidale, fie pe baza funciilor polinomiale (ptratice sau cubice).

Tipuri de funcii de apartenen: (a) triunghiular asimetric; (b) triunghiular simetric; (c) trapezoidal asimetric; (d) trapezoidal simetric; (e) funcia ramp-stnga; (f) funcia ramp-dreapta; (g) gaussian; (h) gaussian complex; (i) sigmoidal-S; (j) sigmoidal-Z; (k) n form de clopot.

Operatii fundamentale cu multimi fuzzy


Dup cum s-a amintit deja, operaiile cu mulimi fuzzy care intervin mai des n diferite aplicaii practice sunt negarea, reuniunea i intersecia. Pentru aceste operaii, extinderea definiiilor folosite n teoria clasic a mulimilor este ngreunat n oarecare msur de caracterul continuu al funciilor de apartenen. Pentru depirea acestui impediment Zadeh propune folosirea complementului fa de unu pentru negare, operatorul max pentru reuniune i operatorul min pentru intersecie. Cea mai simpl dintre cele 3 operaii este negarea. Astfel, pentru o mulime fuzzy A caracterizat de funcia de apartenen mA(x), mulimea fuzzy complementar, notat , va avea funcia de apartenen:

Reprezentarea grafic asociat operaiei de negare este cea din Fig. a.

Numere fuzzy
Dac mulimile fuzzy se deosebesc de mulimile clasice prin introducerea unui continuum de valori ntre extremele adevrat (sau 1) i fals (sau 0), atunci numerele fuzzy ar trebui s se deosebeasc de numerele tradiionale printr-o reprezentare care s foloseasc un continuum de valori ca aproximri posibile ale numrului exact. Astfel, n teoria clasic a mulimilor nota 8 obinut la un examen va fi clasificat ca aparinnd mulimii notelor medii. De partea cealalt, n teoria mulimilor fuzzy, modelul standard de reprezentare va considera not 8 ca aparinnd n proporie de 0.80 mulimii notelor medii i n proporie de 0.2 mulimii notelor mari. ntr-un spirit asemntor, putem vorbi de numerele 14.92 sau 15.21 ca fiind aproximri ale numrului exact 15. Mai mult dect att, valoarea exact 15 ar putea fi reprezentat printr-un aa-numit interval de ncredere, de exemplu [14.7 ; 15.3], considerndu-se c orice valoare din acest interval reprezint o aproximare la fel de exact a numrului exact 15. Urmtorul pas pentru trecerea ctre numerele fuzzy const n introducerea caracterului vag al reprezentrii acelui numr. Astfel, cu ct o valoare este mai apropiat de numrul exact 15, cu att putem considera c valoarea respectiv reprezint mai bine acel numr. Dimpotriv, cu ct o valoare este mai ndeprtat de numrul exact, cu att putem considera c valoarea respectiv reprezint mai puin bine acel numr. Aceste consideraii ne duc imediat cu gndul la o reprezentare a numrului fuzzy 15 ca cea din Fig. a. n general, un numr fuzzy este un numr real definit pe un interval de ncredere [a, b] i descris de o funcie de apartenen care ia valori n intervalul [0,1]. Reprezentarea din Fig. a sugereaz c numrul fuzzy este de fapt o mulime fuzzy definit pe R.

Logica fuzzy
Logica fuzzy reprezint o generalizare a logicii binare, care extinde conceptul de valoare de adevr la cel de valoare parial de adevr. Deoarece se bazeaz pe informaii imprecise, ambigue sau vagi, noul tip de logic este de fapt o logic aproximativ, care are ns marele merit de a reproduce destul de fidel modul n care oamenii iau decizii : pe baza unor informaii aproximative i imprecise se pot stabili soluii precise. Logica fuzzy este utilizat frecvent n aplicaii specifice reglajului automat, unde modelele matematice tradiionale, deseori extrem de laborioase, pot fi nlocuite de un set de reguli fuzzy care descriu trecerea de la starea descris de mrimile de intrare, la starea n care se ajunge ca urmare a comenzii descrise de mrimile de ieire. Asemenea sisteme sunt numite sisteme fuzzy.

Dezvoltarea oricrei aplicaii care folosete logica fuzzy necesit parcurgerea a trei etape principale, i anume:
Fuzzificarea, n cursul creia mrimilor de intrare li se asociaz funcii de apartenen selectate conform anumitor criterii i, pe baza acestora, se definesc valorile lingvistice corespunztoare mrimilor de intrare i se trece de la reprezentarea crisp la cea fuzzy. Aplicarea setului de reguli fuzzy n vederea stabilirii gradului de adevr pentru fiecare din regulile construite n prealabil, fie pe baza cunotinelor unor experi umani, fie pe baza unor tehnici speciale de extragere a acestor reguli. Defuzzificarea, care folosete gradele de adevr stabilite n etapa anterioar pentru fiecare regul i le aplic consecinelor acestora pentru a reveni din domeniul specific mrimilor fuzzy n universul de discurs asociat variabilei sau variabilelor de ieire.

Fuzificarea
n majoritatea aplicaiilor practice ale sistemelor fuzzy mrimile de intrare sunt descrise de valori crisp (caracterizate eventual de anumite imprecizii), definite pe un anumit univers al discursului. De cealalt parte, mrimile de ieire ce se doresc a fi obinute descriu mrimi proporionale cu gradele de adevr fuzzy asociate regulilor ce se aplic. n acest context, prin fuzzificare se nelege acel proces n cursul cruia se stabilesc categoriile lingvistice ce descriu universul discursului, funciile de apartenen asociate acestor mrimi i gradele de apartenen ale mrimilor de intrare la categoriile lingvistice corespunztoare.

O component important i sensibil a etapei de fuzzificare o reprezint construirea funciilor de apartenen. Aceast problem poate fi abordat pe cale tradiional sau folosind elemente ale inteligenei artificiale, cum ar fi clasificatorii i aproximanii neuronali sau calculul evolutiv. Construirea funciilor de apartenen pe ci tradiionale folosete cunotinele experilor umani i raionamente de forma urmtoare:

Compunerea regulilor
Sistemele fuzzy complexe nu folosesc o singur regul, ci un set de mai multe reguli, cum ar fi:

Compunerea regulilor ce formeaz sistemul fuzzy se realizeaz cu ajutorul conectivelor. Conectivul cel mai des folosit este conectivul SI sau DE ASEMENEA. Sensul acestui conectiv nu este ns unic, ci se definete pentru fiecare aplicaie n parte. Trebuie spus ns c de cele mai multe ori conectarea regulilor se face prin aplicarea operaiilor de reuniune (conectarea prin maxim), intersecie (conectarea prin minim) sau produs algebric (conectarea prin produs).

Defuzificarea
Utilizarea logicii fuzzy impune ca mrimile de intrare, care de regul se prezint sub form crisp, s suporte un proces de fuzzificare. n etapa urmtoare are loc evaluarea regulilor ce guverneaz sistemul fuzzy modelat iar rezultatul acestor evaluri are de asemenea caracter fuzzy (cu excepia sistemelor de tip Takagi Sugeno Kang), adic se prezint sub forma unei mulimi de valori ce pot fi atribuite simultan mrimii de ieire. n practic ns sistemele tradiionale folosesc valori exacte, de tip crisp. Astfel, la finalul oricrui set de inferene fuzzy este necesar aplicarea unui proces invers, de defuzzificare, care s produc o mrime crisp pe baza mulimii(lor) fuzzy ce descrie(u) rezultatul. Cea mai rspndit metod de defuzzificare este metoda centroidului; alte metode utilizate uneori n studiul sistemelor fuzzy sunt metoda nlimii, metoda ariilor sau metoda ariei maxime. Literatura de specialitate menioneaz de asemenea i alte metode alternative.

Defuzificarea prin metoda centroidului


Metoda centroidului, numit i metoda centrului de greutate, determin valoarea crisp asociat ieirii unui sistem fuzzy prin valoarea abscisei centrului de greutate al figurii geometrice care descrie mulimea fuzzy asociat ieirii sistemului. Pentru a ilustra modul de aplicare a metodei centroidului, se consider cazul generic al unui sistem descris de trei reguli simple:

Sistemul conine trei mrimi de intrare (x, y i z) definite pe mulimile fuzzy X, Y i Z, respectiv o singur mrime de ieire (o) definit cu ajutorul a trei mulimi fuzzy descrise de variabilele lingvistice A, B i C. Pentru mulimile fuzzy A, B i C se consider funcii de apartenen triunghiulare, distribuite pe universul de discurs conform reprezentrii de mai jos.

Se admite c, la un moment dat, pentru mrimile de intrare se stabilesc valorile crisp x1 = 0.2, y1 = 0.8 i z1 = 0.6, aa cum se indic i n Fig. a, b i c. Pentru aceste valori ale mrimilor de intrare, prin aplicarea regulilor din relaia (13.36) se stabilesc gradele de apartenen i mulimile fuzzy asociate. De asemenea, n Fig. d se prezint suprapunerea tieturilor de nivel ale celor trei mulimi fuzzy. n raport cu reprezentarea din aceast figur, metoda centroidului determin valoarea crisp asociat ieirii fuzzy corespunztor abscisei centrului de greutate al suprafeei haurate din figura (valoarea crisp o*).