Sunteți pe pagina 1din 16

Sisteme 

expert
 
Conform  uneia  dintre  cele  mai  răspândite  definiţii  ale  sistemului  expert  (SE),  acesta  este  un
program  de  calcul  care  incorporează  cunoştinţele  unui  expert  uman  şi  încearcă  să  simuleze
raţionamentele  desfăşurate  de  acesta  din  urmă  î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. Atributele  care  deosebesc  expertul  de  un  începător  au  în  mare  parte  un  caracter
simbolic,  se  sprijină  pe  cunoştinţe  dobândite  în  timp  şi  decurg  din  raţionamente  care  încearcă  să
pună de acord aceste cunoştinţe cu faptele specifice problemei studiate.
Până în prezent, domeniile de interes în care s­au înregistrat cele mai numeroase implementări
ale  SE  sunt  :  inginerie  şi  producţia  de  mărfuri  (35%)  ;  afaceri  (28%)  ;  medicină  (11%)  ;  mediu  şi
energie  (9%);  agricultură  (5%)  ;  telecomunicaţii  (4%)  ;  administraţie  (4%)  ;  legislaţie  (3%)  şi
transporturi (1%) [Liebowitz 97].
În  domeniul  electroenergeticii,  principalele  aplicaţii  ale  SE  se  referă  la  :  (a)  conducerea
operativă a sistemului energetic; (b) analiza on / off – line a funcţionării sistemului electroenergetic;
(c)  analiza  şi  reconfigurarea    postavarie  a  reţelelor  electrice;  (d)  mentenanţa    echipamentelor  din
sistemul electroenergetic; (e) dezvoltarea reţelelor de distribuţie ş.a.
 
Cunoştinţe
 
Elementul  central,  în  jurul  căruia  gravitează  toate  celelalte  componente  ale  unui  SE,  îl
reprezintă cunoştinţele.  De  aceea,  SE  se  mai  numesc  şi  Sisteme  Bazate  pe  Cunoştinţe.  În  cadrul
unui SE, 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 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  SE  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 SE 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 SE,
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 SE.
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 SE, denumită uneori şi bază de cunoştinţe.
O regulă de producţie constă dintr­o condiţie sau premisă, urmată de o acţiune sau concluzie şi
are forma IF <condiţie> THEN <acţiune>. Î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 SE.
De  exemplu,  pentru  schema  monofilară  din  Fig.  13.21,  localizarea  defectelor  pe  una  din  cele
două  linii  sau  identificarea  unei  funcţionări  defectuoase  a  sistemului  de  protecţii  pot  fi  realizate
folosind următorul set de reguli:
 
Regula 1: IF (Deconectează I1 şi I2) THEN (Defectul este pe linia L1)
Regula 2: IF (Deconectează I3 şi I4) THEN (Defectul este pe linia L2)
Regula 3: IF (Deconectează I1 şi I4) OR
                      (Deconectează I2 şi I3)
                       THEN (Protecţia nu a funcţionat corect)
 
SE ce folosesc reguli de producţie implementează două tipuri de strategii :
 
                  Strategii  bazate  pe  date,  care  utilizează  tehnici  deductive  pentru  a  stabili  noi  concluzii,
pornind de la un set de date existente.
                  Strategii  bazate  pe  scopuri,  care  utilizează  tehnici  inductive  pentru  a  verifica  o  anumită
ipoteză.
 
De  exemplu,  pentru  regulile  de  mai  sus  şi  schema  monofilară  alaturata,  se  poate  aplica  o
strategie bazată pe date care, pornind de la starea întrerupătoarelor din reţea (de exemplu I1 şi I2
deschise, respectiv I3 şi I4 închise), localizează defectul care a condus la starea respectivă (în cazul
de faţă, defectul s­a produs pe linia L1).
 

 
Aplicarea  strategiei  bazate  pe  scopuri  este  ilustrată  cu  ajutorul  unui  exemplu  care  realizează
analiza  nivelului  tensiunii  pe  barele  consumatorului  din  Fig.  De  mai  jos,  în  trei  ipoteze  privind
mijloacele  de  reglare  a  tensiunii,  şi  anume  :  (i)  compensarea  puterii  reactive;  (ii)  modificarea
raportului de transformare şi (iii) modificarea numărului de transformatoare în paralel.
 

 
Pentru acest sistem se consideră următoarele reguli :
 
Regula 1: IF   (QK scade) OR
                        (KT scade) OR
                        (NT =2  NT=1) THEN (U2 scade)
 
Regula 2: IF   NOT(Regim de sarcină maximă) THEN (NT=2  NT=1)
 
Regula 3: IF   (QK=QKmin) THEN (KT scade)
 
Regula 4: IF   (QK creşte) OR
                        (KT creşte) OR
                        (NT=1  NT=2) THEN (U2 creşte)  
                                  
Regula 5: IF   (Regim de sarcină maximă) THEN (NT=1  NT=2)
 
Regula 6: IF   (QK=QKmax) THEN (KT creşte)
 
 
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  interfeţe  special  concepute.
Celelalte componente importante ale unui SE 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  SE  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 SE, 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.  SE  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 SE.
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 SE. Dacă se doreşte ca după formarea SE 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 propriu­zisă 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  SE  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.
 
 
Funcţionarea SE
Forţa  unui  SE  este  capacitatea  acestuia  de  a  desfăşura  inferenţe  ş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, aşa cum este ilustrat în Fig. 1. Îndeplinirea acestei
sarcini este posibilă prin aplicarea a două tipuri de strategii: înlănţuirea înainte şi înlănţuirea înapoi.
 
 
Fig. 1 – Principiul de desfăşurare a inferenţelor în cadrul unui SE 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. 2.
 

Fig. 2 – 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).
 
Î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
într­un  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. 3.
 
Fig. 3 – 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  într­un  sens  sau  altul  a  grafului  de  decizie  din  Fig.  2  şi  3,  putându­se  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 SE 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.
SE  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 SE 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ându­se aplica oricare din cele două
mecanisme de inferenţă – înlănţuirea înainte sau înapoi.
Unul  din  atributele  cele  mai  puternice  ale  SE  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  SE  într­un
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. 4
şi Fig. 5 se indică schemele de principiu după care sistemul răspunde la întrebările cum şi de ce.

Fig. 4 – Explicarea modului cum s­a ajuns la o anumită concluzie.
 
Astfel,  pentru  a  se  explica  cum  s­a  ajuns  la  o  anumită  concluzie,  se  parcurge  arborele  de
decizie  AND/OR  în  sens  invers.  De  exemplu  (Fig.  4),  Concluzia  3  a  fost  stabilită  ca  urmare  a
existenţei  Concluziei  1  şi  Concluziei  2.  La  rândul  ei,  Concluzia  1  a  fost  stabilită  deoarece  una  din
Faptele 1 sau 2 sunt adevărate.
 
Fig. 5 – Explicarea faptului de ce se realizează o anumită acţiune.
 
În cazul schemei din Fig. 5, pentru a răspunde de ce se realizează o anumită acţiune, sistemul
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,  sistemul  poate
interoga utilizatorul asupra validităţii Faptei 1, în scopul stabilirii validităţii Concluziei 1.
 
 

Mulţimi fuzzy
O  mulţime  fuzzy  este  o  mulţime  a  cărei  graniţă  nu  este  evidentă,  bine  definită.  În  general,  o
mulţime fuzzy conţine elemente despre care se poate spune că aparţin (sau nu aparţin) parţial acelei
mulţimi.  O  mulţime  fuzzy  A, definită pe o mulţime X,  este  formată  din  perechi  ordonate  (x  ;  A(x)),
unde x este un element din mulţimea X, iar A(x) este un element care poate lua valori în intervalul
[0,1] şi descrie măsura în care elementul x aparţine sau nu mulţimii A. Astfel, se poate scrie:

A(x)  este  funcţia caracteristică  sau  funcţia  de  apartenenţă  asociată  mulţimii  fuzzy  A,  iar  valoarea
acestei funcţii se numeşte grad de apartenenţă. O singură pereche de forma (x ; A(x)) se numeşte
singleton fuzzy, astfel încât întreaga mulţime 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,
mulţimea fuzzy A poate fi reprezentată ca un vector de singleton­uri:

Mulţimea în care variabila x poate lua valori, notată X, se numeşte univers de discurs.  Pentru
aplicaţiile  care  se  adaptează  cel  mai  bine  abordării  fuzzy  universul  de  discurs  nu  poate  fi  definit
simplu folosind valori numerice. Asemenea situaţii pot interveni, de exemplu, atunci când ne referim
la  gust  sau  la  impactul  estetic  al  unor  obiective.  În  asemenea  situaţii  se  folosesc  valorile    sau
categoriile  lingvistice,  cum  ar  fi  (acru,  dulce,  amar,  sărat,…)  în  cazul  gustului  sau  (urât,  neplăcut,
indiferent, atrăgător, frumos …) în cazul impactului estetic.
Dacă  în  cazul  unei  variabile algebrice  se  folosesc  ca  valori  numerele  (de  exemplu,  tensiunea
într­un  nod  al  reţelei  poate  avea  valori  ca  105,7  kV  sau  117,2  kV),  în  cazul  variabilelor  lingvistice,
valorile  folosite  sunt  cuvinte,  expresii  sau  chiar  propoziţii.  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 neplăcut sau frumos.
Abordarea  lingvistică  reprezintă  de  fapt  una  din  caracteristicile  fundamentale  ale  mulţimilor
fuzzy.  De  aceea,  chiar  şi  atunci  când  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,
respectând  şi  o  anumită  ordine.  De  exemplu,  pentru  valoarea  tensiunii  într­un  nod  al  reţelei  se  pot
folosi valori lingvistice cum ar fi (foarte­mică, mică, medie, mare, foarte ­ mare). Fiecăreia din aceste
valori lingvistice, tratată ca o mulţime fuzzy, îi este asociat un anumit domeniu numeric de variaţie a
tensiunii.

Apartenenţa la o mulţime fuzzy
Mulţimile fuzzy descriu întotdeauna proiecţia universului discursului sau a unei părţi a acestuia
pe  intervalul    [0,1]  ,  denumit  şi  spaţiu  de  apartenenţă.    Această  proiecţie  se  realizează  prin
intermediul  funcţiei  de  apartenenţă  A  :  X    [0,1],  a  cărei  valoare  A(x)  descrie  gradul  de
apartenenţă al valorii x la mulţimea fuzzy A. O valoare A(x)  1 reprezintă apartenenţa completă a
elementului x la mulţime A; valoarea A(x)  0 reprezintă non­apartenenţa completă a lui x la A;  în
sfârşit, o valoare intermediară a funcţiei caracteristice, A(x)  (0,1), descrie un grad de apartenenţă
intermediar. Acestei definiţii i se poate asocia reprezentarea grafică mai jos.
 

 
În general, pentru un anumit tip de problemă, nu se defineşte o singură mulţime fuzzy A, ci mai
multe  asemenea  mulţimi  Ai  ,  care  se  întrepătrund:  altfel  spus,  funcţiile  de  apartenenţă  A(x)  sunt
definite pe submulţimi ale universului X care au elemente comune. Exemplul care urmează ilustrează
tocmai  acest  aspect.  Este  cunoscut  faptul  că,  din  punctul  de  vedere  al  programului  de  lucru,
începutul  fiecărei  perioade  din  zi  este  foarte  bine  precizat.  Acest  fapt  conduce  la  funcţii  de
apartenenţă  discontinui  (Fig.  a  ),  care  descriu  de  fapt  un  model  boolean  (numai  dimineaţă,  numai
după­amiază, numai seară sau numai noapte). Pe de altă parte, din punctul de vedere al condiţiilor
meteorologice, cum ar fi nebulozitatea sau gradul de insolaţie, trecerea de la o perioadă a zilei la alta
nu se face brusc ci există intervale de timp în care se regăsesc condiţii specifice ambelor perioade
între care are loc tranziţia. Pentru a descrie o asemenea evoluţie se pot folosi mulţimi fuzzy cum sunt
cele din Fig. b. Astfel, ora 12 este în acelaşi timp o oră a dimineţii şi o oră a după­amiezei, la fel cum
ora  22  este  simultan  oră  de  seară  şi  oră  de  noapte.  În  plus,  caracterul  continuu  al  funcţiilor  de
apartenenţă în cazul reprezentării fuzzy asigură şi o variaţie continuă a gradului de apartenenţă. De
exemplu, nu tot intervalul 17 – 5 asigură tranziţia între seară şi noapte; de fapt, această tranziţie are
loc în ultimele ore ale serii şi primele ore ale nopţii.
Un  aspect  care  reflectă  forţa  abordării  fuzzy  o  reprezintă  libertatea  lăsată  utilizatorului  în
construirea mulţimilor fuzzy şi a funcţiilor de apartenenţă. Astfel, nicăieri în literatura de specialitate
cititorul nu  va  întâlni  o  reţetă  formală  pentru calculul gradului de apartenenţă şi aceasta deoarece
chiar  dacă  gradul  de  apartenenţă  are  la  un  moment  dat  o  valoare  bine  determinată,  el  rămâne  o
măsură  subiectivă  care  reflectă  modul  subiectiv  în  care  interacţionează  utilizatorul  cu  contextul
problemei. Cel mai relevant exemplu în acest sens este cel al aprecierii etăţii unei persoane. Astfel, o
persoană  de  45  ani  va  fi  considerată  tânără  de  către  altcineva  care  are  90  ani,  în  timp  ce  aceiaşi
persoană va fi considerată în vârstă de un tânăr de numai 15 ani.
]
 

Funcţii de apartenenţă

Funcţiile  de  apartenenţă  reprezintă  mijlocul  prin  care  se  realizează  legătura  dintre  universul
discursului şi măsura posibilităţii.  Alegerea funcţiei de apartenenţă este o chestiune dependentă de
problemă, singura condiţie pe care trebuie să o îndeplinească fiind cea de a lua valori în intervalul
[0,1]. În rest, această operaţie se desfăşoară de cele mai multe ori pe baze euristice şi / sau empirice
şi este influenţată în bună măsură de subiectivismul celui care face alegerea. O serie de măsuri ale
oportunităţi  alegerii  unei  anumite  funcţii  de  apartenenţă  pot  fi  gradul  de  adaptare  la  problemă,
simplitatea  modelului de calcul rezultant, viteza de calcul şi eficienţa.
Principalele  criterii  după  care  se  poate  realiza  clasificarea  funcţiilor  de  apartenenţă  sunt
următoarele:
                  clasificarea după modul de reprezentare în calculator; funcţii continue şi discrete. În forma
continuă, funcţia de apartenenţă este o funcţie matematică cu o expresie analitică clară sau o
funcţie  complexă  descrisă  de  o  procedură.  În  forma  discretă,  funcţia  de  apartenenţă  este
definită prin puncte, fie folosind un tabel de definiţie, fie o funcţie originară, continuă.
clasificarea după natura funcţiilor folosite pentru generarea lor: funcţii de apartenenţă generate
de funcţii liniare pe porţiuni, funcţii gaussiene, funcţii sigmoidale şi  funcţii  polinomiale. Aceste
funcţii sunt, în general, funcţii continue, dar unele dintre ele pot fi generate şi ca funcţii discrete.
         clasificarea după formă: funcţii triunghiulare, funcţii trapezoidale, funcţii gaussiene simple sau
complexe,  funcţii  sigmoidale,  funcţii  în  formă  de  clopot  etc.  Funcţiile  triunghiulare  şi  cele
trapezoidale sunt generate pe baza funcţiilor liniare pe porţiuni; funcţiile sigmoidale şi în formă
de  clopot  sunt  generate  fie  pe  baza  funcţiilor  sigmoidale,  fie  pe  baza  funcţiilor  polinomiale
(pătratice sau cubice).
Câteva dintre funcţiile de apartenenţă menţionate sunt prezentate mai jos.
 

     
 (a)                                                (b)                                                    (c)
     
 (d)                                                (e)                                                    (f)

     
 (g)                                                (h)                                                    (i)

     
 (j)                                                  (k)   
Tipuri  de  funcţii  de  apartenenţă:  (a)  triunghiulară  asimetrică;  (b)  triunghiulară  simetrică;  (c)  trapezoidală
asimetrică;  (d)  trapezoidală  simetrică;  (e)  funcţia  rampă­stânga;  (f)  funcţia  rampă­dreapta;  (g)  gaussiană;  (h)
gaussiană complexă; (i) sigmoidală­S; (j) sigmoidală­Z; (k) în formă de clopot.
 

Operaţii fundamentale cu mulţimi fuzzy
După cum s­a amintit deja, operaţiile cu mulţimi fuzzy care intervin mai des în diferite aplicaţii
practice sunt negarea, reuniunea şi intersecţia. Pentru aceste operaţii, extinderea definiţiilor folosite
în teoria clasică a mulţimilor este îngreunată în oarecare măsură de caracterul continuu al funcţiilor
de apartenenţă. Pentru depăşirea acestui impediment Zadeh propune folosirea complementului faţă
de unu pentru negare, operatorul max pentru reuniune şi operatorul min pentru intersecţie.
Cea  mai  simplă  dintre  cele  3  operaţii  este  negarea.  Astfel,  pentru  o  mulţime  fuzzy  A
caracterizată  de  funcţia  de  apartenenţă  A(x),  mulţimea  fuzzy  complementară,  notată  ,  va  avea
funcţia de apartenenţă:

         
Reprezentarea grafică asociată operaţiei de negare este cea din Fig. a.
 

           
(a)                                                                                                              (b)
 
(c)
 
Reuniunea a două mulţimi fuzzy A şi B, caracterizate de funcţiile de apartenenţă A(x) şi B(x)
produce  o  nouă  mulţime  fuzzy  C  = A    B,  a  cărei  funcţie  de  apartenenţă  se  determină  pe  baza
operatorului max, conform relaţiei:

unde  ۷  reprezintă  o  notaţie  alternativă  pentru  operatorul  max.  Reprezentarea  grafică  asociată
reuniunii a două mulţimi fuzzy este cea din Fig. b.
Intersecţia  mulţimilor fuzzy A şi B produce mulţimea C = A  B, a cărei funcţie de apartenenţă
se determină pe baza operatorului min, şi anume:

unde  ۸ reprezintă o notaţie alternativă pentru operatorul min. În Fig. c se prezintă imaginea grafică
asociată intersecţiei a două mulţimi fuzzy.

Numere fuzzy

Dacă mulţimile fuzzy  se  deosebesc  de  mulţimile  clasice  prin  introducerea  unui  continuum  de
valori  între  extremele  adevărat  (sau  1)  şi  fals  (sau  0),  atunci  numerele  fuzzy  ar  trebui  să  se
deosebească  de  numerele  tradiţionale  printr­o  reprezentare  care  să  folosească  un  continuum  de
valori ca aproximări posibile ale numărului exact.
Astfel, în teoria clasică a mulţimilor nota 8 obţinută la un examen va fi clasificată ca aparţinând
mulţimii  notelor  medii.  De  partea  cealaltă,  în  teoria  mulţimilor  fuzzy,  modelul  standard  de
reprezentare  va  considera  notă  8  ca  aparţinând  în  proporţie  de  0.80  mulţimii  notelor  medii  şi  în
proporţie de 0.2 mulţimii notelor mari.
Într­un  spirit  asemănător,  putem  vorbi  de  numerele  14.92  sau  15.21  ca  fiind  aproximări  ale
numărului exact 15. Mai mult decât atât, valoarea exactă 15 ar putea fi reprezentată printr­un aşa­
numit  interval  de  încredere,  de  exemplu  [14.7  ;  15.3],  considerându­se  că  orice  valoare  din  acest
interval reprezintă o aproximare „la fel de exactă” a numărului exact 15.
Următorul pas pentru trecerea către numerele fuzzy constă în introducerea caracterului vag al
reprezentării acelui număr. Astfel, cu cât o valoare este mai apropiată de numărul exact 15, cu atât
putem considera că valoarea respectivă reprezintă mai bine acel număr. Dimpotrivă, cu cât o valoare
este  mai  îndepărtată  de  numărul  exact,  cu  atât  putem  considera  că  valoarea  respectivă  reprezintă
mai  puţin  bine  acel  număr.  Aceste  consideraţii  ne  duc  imediat  cu  gândul  la  o  reprezentare  a
numărului fuzzy 15 ca cea din Fig. a.
În  general,  un  număr  fuzzy  este  un  număr  real  definit  pe  un  interval  de  încredere  [a,  b]  şi
descris  de  o  funcţie  de  apartenenţă  care  ia  valori  în  intervalul  [0,1].    Reprezentarea    din    Fig.  a 
sugerează  că  numărul  fuzzy este de fapt o mulţime fuzzy definită pe R.
 

   
(a)                                          (b)                                          (c)
 
Logică fuzzy
 
Logica  fuzzy  reprezintă  o  generalizare  a  logicii  binare,  care  extinde  conceptul  de  valoare  de
adevăr la cel de valoare parţială de adevăr. Deoarece se bazează pe informaţii 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 informaţii aproximative şi
imprecise se pot stabili soluţii precise.
Logica  fuzzy  este  utilizată  frecvent  în  aplicaţii  specifice  reglajului  automat,  unde  modelele
matematice tradiţionale, deseori extrem de laborioase, pot fi înlocuite de un set de reguli fuzzy care
descriu trecerea de la starea descrisă de mărimile de intrare, la starea în care se ajunge ca urmare a
comenzii descrise de mărimile de ieşire. Asemenea sisteme sunt numite sisteme fuzzy.
Dezvoltarea  oricărei  aplicaţii  care  foloseşte  logica  fuzzy  necesită  parcurgerea  a  trei  etape
principale, şi anume:
                  Fuzzificarea,  în  cursul  căreia  mărimilor  de  intrare  li  se  asociază  funcţii  de  apartenenţă
selectate  conform  anumitor  criterii  şi,  pe  baza  acestora,  se  definesc  valorile  lingvistice
corespunzătoare mărimilor de intrare şi se trece de la reprezentarea crisp la cea fuzzy.
Aplicarea  setului  de  reguli  fuzzy  în  vederea  stabilirii  gradului  de  adevăr  pentru  fiecare  din
regulile construite  în  prealabil,  fie  pe  baza  cunoştinţelor  unor  experţi umani, fie pe baza unor
tehnici speciale de extragere a acestor reguli.
          Defuzzificarea, care foloseşte gradele de adevăr stabilite în etapa anterioară pentru fiecare
regulă şi le aplică consecinţelor acestora pentru a reveni din domeniul specific mărimilor fuzzy
în universul de discurs asociat variabilei sau variabilelor de ieşire.
În paragrafele următoare sunt descrise principalele particularităţi ale fiecăreia din cele
trei etape menţionate.

Fuzzificarea

În  majoritatea    aplicaţiilor  practice  ale  sistemelor  fuzzy  mărimile  de  intrare  sunt  descrise  de
valori  crisp  (caracterizate  eventual  de  anumite  imprecizii),  definite  pe  un  anumit  univers  al 
discursului.    De    cealaltă    parte,    mărimile    de    ieşire    ce    se  doresc  a  fi  obţinute  descriu  mărimi
proporţionale  cu  gradele  de  adevăr  fuzzy  asociate  regulilor  ce  se  aplică.  În  acest  context,  prin
fuzzificare  se  înţelege  acel  proces  în  cursul  căruia  se  stabilesc  categoriile  lingvistice  ce  descriu
universul discursului, funcţiile de apartenenţă asociate acestor mărimi şi gradele de apartenenţă ale
mărimilor de intrare la categoriile lingvistice corespunzătoare.
 

    
(a)                                           (b)                                                  (c)
Funcţie triunghiulară (a), trapezoidală (b) sau gaussiană (c).
 
O componentă importantă şi sensibilă a etapei de fuzzificare o reprezintă construirea funcţiilor
de  apartenenţă. Această  problemă  poate  fi  abordată  pe  cale  tradiţională  sau  folosind  elemente  ale
inteligenţei artificiale, cum ar fi clasificatorii şi aproximanţii neuronali sau calculul evolutiv. Construirea
funcţiilor de apartenenţă pe căi tradiţionale foloseşte cunoştinţele experţilor umani şi raţionamente de
forma următoare:
 
 

 
Următorul  exemplu  ilustrează  modul  în  care  se  desfăşoară  procesul  de  fuzzificare.  Se
consideră cazul evaluării în paralel a cunoştinţelor unei persoane folosind două sisteme de evaluare:
note    între  1  şi  10,  respectiv  calificative  (insuficient,  suficient,  bine,  foarte  bine).  O  posibilitate  de
modelare  a  acestor  două  alternative  este  cea  din  figura  de  mai  sus.  Pentru  acest  exemplu,  se
folosesc  patru  mulţimi  fuzzy  asociate  celor  patru  categorii  lingvistice,  pentru  care  funcţiile  de
apartenenţă au următoarele expresii:

               
 

     
Dacă nota obţinută nu este mai mare ca 4, calificativul va fi Insuficient, pentru care funcţia de
apartenenţă  ia  valoarea  1,  în  timp  ce  pentru  celelalte  valori  lingvistice  gradele  de  apartenenţă  sunt
nule.  Dacă  persoana  obţine  o  notă  între  4  şi  5,  evaluatorul  va  avea  de  ales  între  calificativele
Insuficient şi Suficient. Decizia evaluatorului va fi luată pe baza unei reguli (oricare ar fi aceasta) si a
unor grade de apartenenţă:

Pentru acest caz este foarte probabil că, pe baza regulilor stabilite de experţi, evaluatorul va acorda
calificativul Suficient.
 

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  defineşte  pentru  fiecare  aplicaţie  în  parte.  Trebuie  spus  însă  că  de  cele  mai
multe ori conectarea regulilor se face prin aplicarea operaţiilor de reuniune (conectarea prin maxim),
intersecţie (conectarea prin minim) sau produs algebric (conectarea prin produs).
 
  
(a)                                                                         (b)
Funcţiile de apartenenţă pentru tensiune (a) şi raportul de transformare (b).

   
(a)                                          (b)                                          (c)
Rezultatul conectării regulilor (13.23) prin maxim (a), minim (b) sau produs (c).

 
Pentru  a  ilustra  cele  trei  moduri  de  compunere  a  regulilor  vom  considera  cazul  unui  sistem
fuzzy simplu format din două reguli:

pentru care funcţiile de apartenenţă sunt cele de mai sus.
 

Defuzzificarea

Utilizarea  logicii  fuzzy  impune  ca  mărimile  de  intrare,  care  de  regulă  se  prezintă  sub  formă
crisp,  să  suporte  un  proces  de  fuzzificare.  În  etapa  următoare  are  loc  evaluarea  regulilor  ce
guvernează  sistemul  fuzzy  modelat  iar  rezultatul  acestor  evaluări  are  de  asemenea  caracter  fuzzy
(cu excepţia sistemelor de tip Takagi – Sugeno – Kang), adică se prezintă sub forma unei mulţimi de
valori  ce  pot  fi  atribuite  simultan  mărimii  de  ieşire.  În  practică  însă  sistemele  tradiţionale  folosesc
valori exacte, de tip crisp. Astfel, la finalul oricărui set de inferenţe fuzzy este necesară aplicarea unui
proces  invers,  de  defuzzificare,  care  să  producă  o  mărime  crisp  pe  baza  mulţimii(lor)  fuzzy  ce
descrie(u) rezultatul.
Cea  mai  răspândită  metodă  de  defuzzificare  este  metoda  centroidului;  alte  metode  utilizate
uneori  în  studiul  sistemelor  fuzzy  sunt  metoda  înălţimii,  metoda  ariilor  sau  metoda  ariei  maxime.
Literatura de specialitate menţionează de asemenea şi alte metode alternative.

Defuzzificarea prin metoda centroidului
Metoda centroidului, numită şi metoda centrului de greutate, determină valoarea crisp asociată
ieşirii unui sistem fuzzy prin valoarea abscisei centrului de greutate al figurii geometrice care descrie
mulţimea fuzzy asociată ieşirii sistemului.
Pentru  a  ilustra  modul  de  aplicare  a  metodei  centroidului,  se  consideră  cazul  generic  al  unui
sistem descris de trei reguli simple:
Sistemul  conţine  trei  mărimi  de  intrare  (x,  y   şi z)  definite  pe  mulţimile  fuzzy  X, Y  şi  Z,  respectiv  o
singură mărime de ieşire (o) definită cu ajutorul a trei mulţimi fuzzy descrise de variabilele lingvistice
A,  B  şi  C.  Pentru  mulţimile  fuzzy  A,  B  şi  C  se  consideră  funcţii  de  apartenenţă  triunghiulare,
distribuite pe universul de discurs conform reprezentării de mai jos.
 

 
Se admite că, la un moment dat, pentru mărimile de intrare se stabilesc valorile crisp x1 = 0.2,
y1 = 0.8 şi z1 = 0.6, aşa cum se indică şi în Fig. a, b şi c. Pentru aceste valori ale mărimilor de intrare,
prin  aplicarea  regulilor  din  relaţia  (13.36)  se  stabilesc  gradele  de  apartenenţă  şi  mulţimile  fuzzy
asociate. De asemenea, în Fig. d se prezintă suprapunerea tăieturilor de nivel ale celor trei mulţimi
fuzzy.  În  raport  cu  reprezentarea  din  această  figură,  metoda  centroidului  determină  valoarea  crisp
asociată  ieşirii  fuzzy  corespunzător  abscisei  centrului  de  greutate  al  suprafeţei  haşurate  din  figura
(valoarea crisp o*).
 

(d)