Sunteți pe pagina 1din 9

Inteligen artificial Cursul 11

Teoria mulimilor fuzzy


1. Incertitudine i imprecizie 2. Logica fuzzy. Mulimi fuzzy 3. Operaii cu mulimi fuzzy 4. Restrictori 5. Procesul de inferen fuzzy 5.1. Inferena max-min 5.2. Inferena max-produs 5.3. Inferene cu premise multiple 5.4. Defuzzyficarea 6. Concluzii

1. Incertitudine i imprecizie
Logica clasic considera valoarea de adevr a propoziiilor n termeni de adevrat sau fals. Legea terului exclus a lui Aristotel fcea imposibil o alt variant. n viaa de zi cu zi, ne confruntm totui cu foarte multe situaii n care o astfel de abordare este nerealist. S considerm afirmaia cerul este albastru. Uneori cerul este ntr-adevr albastru, cnd afar este senin. Dar dac sunt nori? Dar noaptea? Este clar c o manier strict de evaluare a valorii de adevr a propoziiilor nu coincide cu modul mult mai flexibil n care gndesc oamenii, n condiii de incompletitudine. Incompletitudinea unei informaii se exprim pe dou scri: scara incertitudinii se refer la ncrederea care i se acord informaiei (dac sursa de informaie, instrumentul de msur sau expertul sunt complet siguri, demni de ncredere, informaia este cert); scara impreciziei se refer la coninutul informaional (informaia este precis dac mulimea valorilor specificate n enunul corespunztor este single-ton, adic are o valoare unic).

Pentru a exemplifica aceste noiuni, s considerm exprimarea unor opinii despre rezultatele recensmntului din 2002: Institutul Naional de Statistic a precizat c la 18 martie 2002, populaia stabil a Romniei era de 21.698.181 locuitori. Aceasta este o tire sigur, deoarece e o informaie oficial i este precis. Aadar, este o informaie complet; Populaia Romniei este n mod sigur sub 22 milioane de locuitori. Avem de-a face aici cu o informaie cert, dar imprecis (teoretic, valoarea aparine intervalului 0 22.000.000); Cred c populaia Romniei este de 21.500.000 locuitori. Informaia este incert (cred), dar precis (are o valoare bine definit, chiar dac din punct de vedere pragmatic este incorect); Am impresia c rezultatul era n jur de 21 de milioane. Informaia este incert i imprecis; N-am nici cea mai mic idee. n acest caz, informaia nu este deloc semnificativ, toate valorile sunt egal probabile iar gradele de incertitudine i de imprecizie sunt maxime. Un suport teoretic valoros care trateaz incompletitudinea este teoria mulimilor fuzzy.
1

2. Logica fuzzy. Mulimi fuzzy


Un tip incipient de logic fuzzy a aprut nc din 1920, propus de matematicianul polonez Jan ukasiewicz (inventatorul notaiei poloneze). Sistemul su permitea extinderea valorii de adevr a unei propoziii la toate numerele reale din intervalul [0,1]. Un numr din acest interval era interpretat drept posibilitatea ca propoziia considerat s fie adevrat sau fals. Aceste cercetri au dus la apariia teoriei posibilitii, o tehnic de raionament n condiii de inexactitate. n 1965, Lotfi Zadeh a extins teoria posibilitii ntr-un sistem formal de logic matematic. De asemenea, a adus n discuie modalitile de lucru cu termeni nuanai ai limbajului natural. Aceast instrument de reprezentare i manipulare a termenilor nuanai se numete logica fuzzy. Logica tradiional consider c un obiect poate aparine sau nu unei mulimi. Logica fuzzy permite o interpretare mai flexibil a noiunii de apartenen. Astfel, mai multe obiecte pot aparine unei mulimi n grade diferite. De exemplu, dac avem n vedere mulimea oamenilor tineri. Un copil de 10 ani e cu siguran tnr, n timp ce o persoan de 60 de ani cu siguran nu. Dar un om de 30 de ani? Sau de 40? n acest caz, putem afirma c persoana de 30 de ani aparine mulimii respective ntr-o msur mai mare dect cea de 40. Fie X universul discursului, cu elemente notate x. O mulime fuzzy A a universului de discurs X este caracterizat de o funcie de apartenen A (x) care asociaz fiecrui element x un grad de apartenen la mulimea A:

A ( x) : X [0,1]
Pentru a reprezenta o mulime fuzzy, trebuie s-i definim mai nti funcia de apartenen. n acest caz, o mulime fuzzy A este complet definit de mulimea tuplelor:
A = {( x, A ( x)) | x X }

Dac X este o mulime finit X = {x1, ... , xn}, atunci se folosete de multe ori notaia: A = 1 / x1 + ... + n / xn S presupunem c pentru exemplul amintit mai sus, cu variabila lingvistic tnr, avem universul discursului X = {0, 20, 30, 50} i urmtoarea funcie de apartenen: A = 0/1 + 20/0,9 + 30/0,7 + 50/0, cu semnificaia: o persoan de 20 de ani aparine mulimii oamenilor tineri n proporie de 90%, una de 30 de ani n proporie de 70% iar una de 50 de ani nu aparine mulimii (gradul su de apartenen este 0). Aceste lucruri se reprezint grafic astfel:

Pe un univers de discurs pot fi definite mai multe submulimi fuzzy. De exemplu, pentru universul vrstelor unor persoane, putem defini submulimile oamenilor tineri, btrni sau de vrst mijlocie. Aceste submulimi se pot intersecta (este chiar recomandat acest fapt). Aceeai persoan va aparine submulimii oamenilor tineri cu un grad de 70%, submulimii oamenilor de vrst mijlocie cu un grad de 90% i submulimii oamenilor btrni cu un grad de 30%. n continuare vom defini cteva noiuni fundamentale pentru caracterizarea mulimilor fuzzy. Fie A o submulime fuzzy a universului de discurs X. Se numete suportul lui A submulimea strict a lui X ale crei elemente au grade de apartenen nenule n A: supp(A) = {x X | A ( x) > 0} . nlimea lui A se definete drept cea mai mare valoare a funciei de apartenen: h(A) = sup A ( x) .
xX

O submulime fuzzy A a lui X este normal dac h(A) = 1, adic x X astfel nct A ( x) = 1 . n caz contrar, A este subnormal. Se numete nucleul lui A submulimea strict a lui X ale crei elemente au grade de apartenen unitare n A: n(A) = {x X | A ( x) = 1} . Fie A i B submulimi fuzzy ale lui X. Spunem c A este o submulime a lui B dac: A ( x) B ( x), x X .

Fie A i B submulimi fuzzy ale lui X. Spunem c A i B sunt egale dac A B i B A . Deci, A = B A ( x) = B ( x), x X . De multe ori, oamenii nu pot caracteriza precis informaiile numerice, folosind formulri precum aproape 0, n jur de 100 etc. n teoria mulimilor fuzzy, aceste numere pot fi reprezentate ca submulimi fuzzy ale mulimii numerelor reale. Un numr fuzzy A este o mulime fuzzy a mulimii numerelor reale, cu o funcie de apartenen convex i continu i suport mrginit. O mulime fuzzy A se numete numr fuzzy triunghiular cu centrul c, limea la stnga > 0 i limea la dreapta > 0 dac funcia sa de apartenen are forma:

cx 1 , c x c xc A ( x) = 1 , c < x c+ 0, altfel

Folosim notaia: A = (c, , ) . Este evident c supp(A) = (c , c + ) . Semnificaia unui numr fuzzy triunghiular cu centrul c este x este aproximativ egal cu c. O mulime fuzzy A se numete numr fuzzy trapezoidal cu intervalul de toleran [c,d], limea la stnga > 0 i limea la dreapta > 0 dac funcia sa de apartenen are forma:
cx 1 , c x c 1, c < x d A ( x) = x d ,d < xd + 1 0, altfel

Aici notm: A = (c, d , , ) , iar supp(A) = (c , d + ) . Semnificaia unui numr fuzzy trapezoidal cu intervalul de toleran [c,d] este x este aproximativ ntre c i d.

3. Operaii cu mulimi fuzzy


Operaiile cu mulimile fuzzy sunt o extindere a celor din logica clasic. Dac mulimile fuzzy implicate au grade de apartenen 0 i 1, semnificaia operaiilor este aceeai ca n teoria clasic a mulimilor, de aceea i simbolurile utilizate sunt aceleai.

Fie A i B submulimi fuzzy ale universului de discurs X. Intersecia lor se definete astfel:

AB ( x) = min{ A ( x), B ( x)} = A ( x) B ( x), x X

Fie A i B submulimi fuzzy ale universului de discurs X. Reuniunea lor se definete astfel:

AB ( x) = max{ A ( x), B ( x)} = A ( x) B ( x), x X

Fie A o submulime fuzzy a universului de discurs X. Complementul lui A este:

A ( x) = 1 A ( x), x X
C

Exemple: A B A B A B AC A AC A AC (0,3 0,8) (0,9 0,5) (0,3 0,5) (0,9 0,8) (0,7 0,2) (0,3 0,2) (0,7 0,8)

Din ultimele dou linii ale tabelului, ne dm seama c n logica fuzzy nu se respect principiul terului exclus ( A AC = X ) i nici cel al noncontradiciei ( A AC = )

4. Restrictori
Dup cum am menionat, mulimile fuzzy pot reprezenta n mod cantitativ termeni lingvistici vagi. n vorbirea curent, oamenii folosesc o serie de adverbe pentru nuanarea acestora,
5

precum foarte, aproape, oarecum etc. Teoria mulimilor fuzzy face posibil reprezentarea lor cu ajutorul unor restrictori (engl. hedge, gard viu, restricie n general), care modific matematic funcia de apartenen a mulimii fuzzy considerat. Concentrarea (foarte) are ca efect reducerea valorilor de apartenen ale elementelor cu grad de apartenen mici:

CON ( A) ( x) = ( A ( x)) 2

Puterea (foarte foarte) este o extensie a concentraiei:

POW ( A) ( x) = ( A ( x)) n

Dilatarea (oarecum) dilat elementele fuzzy prin mrirea valorilor de apartenen ale elementelor cu grade de apartenen mici:

DIL ( A) ( x) = A ( x)

Intensificarea (ntr-adevr) are ca efect mrirea gradelor de apartenen de peste 0,5 i micorarea celor sub 0,5:

INT ( A) =

2( A ( x)) 2 , A ( x) 0,5
2 1 2(1 A ( x)) , A ( x) > 0,5

5. Procesul de inferen fuzzy


n logica fuzzy i raionamentul aproximativ, cea mai important regul de inferen este Modus Ponens generalizat. n logica clasic, aceast regul de inferen era de forma ( p ( p q )) q , adic: premis: fapt: consecin: dac p, atunci q p q

n logica fuzzy, regula de inferen corespunztoare sugerat de Zadeh este urmtoarea: premis: fapt: consecin: dac x este A, atunci y este B x este A' y este B', unde B' = A'o( A B) .

Dac A' = A i B' = B, regula se reduce la Modus Ponens clasic. Matricea A B deseori se noteaz cu M i se numete memorie asociativ fuzzy (Kosko, 1992). Procesul de inferen fuzzy este vzut ca o mapare a unei mulimi fuzzy ntr-o alt mulime fuzzy. M are semnificaia unei matrici de posibiliti condiionate ale elementelor din A i B:
a1 b1 M = B| A = a2 b1 ... a1 b2 ... ...

5.1. Inferena max-min

Acest tip de inferen utilizeaz pentru implicaie operatorul minimum, adic: mij = min(ai , b j ). Dac avem mulimile A i B, se poate astfel afla M.
S presupunem c avem urmtoarea regul fuzzy: Dac presiunea este mare, atunci volumul este mic, Presiunea este mare este reprezentat de mulimea fuzzy A = 0/1 + 0,2/3 + 0,7/6 + 1/10 iar Volumul este mic de mulimea fuzzy B = 1/1 + 0,6/10 + 0/50. n matricea M, mij = min(ai , b j ) :

min(0;1) min(0;0,6) min(0;0) 0 0 0 min(0,2;1) min(0,2;0,6) min(0,2;0) 0,2 0,2 0 M = = min(0,7;1) min(0,7;0,6) min(0,7;0) 0,7 0,6 0 min(1;1) min(1;0,6) min(1;0) 1 0,6 0 S considerm n continuare o submulime A', cu un singur element n suport, adic o singur valoare, strict, obinut de exemplu printr-o msurare: A' = 0/1 + 0/3 + 0,7/6 + 0/10. Submulimea indus n B, B' se calculeaz astfel: b 'j = max(min(ai' , mij )).
i

0 0 0 0,7 max(min(0;0); min(0;0,2); min(0,7;0,7); min(0;1)) 0,2 0,2 0 B ' = 0 0 0,7 0 o = max(min(0;0); min(0;0,2); min(0,7;0,6); min(0;0,6)) = 0,6 0,7 0,6 0 0 max(min(0;0); min(0;0); min(0,7;0); min(0;0)) 1 0,6 0 Aceast mulime este o variant retezat a lui B, la nlimea fixat de A'.
5.2. Inferena max-produs

Acest tip de inferen utilizeaz pentru implicaie operatorul produs, adic: mij = ai b j . Pentru exemplul de mai sus: 0 1 0 0,6 00 0 0 0 0,2 1 0,2 0,6 0,2 0 0,2 0,12 0 = M = 0,7 1 0,7 0,6 0,7 0 0,7 0,42 0 1 1 1 0,6 1 0 1 0,6 0 0 0 0 max(0 0; 0 0,2; 0,7 0,7; 0 1) 0,49 0,2 0,12 0 B' = 0 0 0,7 0 o = max(0 0; 0 0,12; 0,7 0,42; 0 0,6) = 0,294 0,7 0,42 0 max(0 0; 0 0; 0,7 0; 0 0) 0 1 0,6 0 Aceast mulime este o variant scalat a lui B, n care nlimea este fixat de A'.
5.3. Inferene cu premise multiple

De multe ori n practic apar situaii n care o concluzie trebuie extras din premise multiple, cum ar fi Dac A i B, atunci C. Dac tim A' i B', mulimile induse de acestea n C se calculeaz mai nti independent, prin max-min sau max-produs, i apoi se combin:
' C A' = A'o M AC ' CB ' = B'o M BC ' ' C ' = C A' C B '

5.4. Defuzzyficarea

Dup ce am determinat mulimea fuzzy indus de o regul de inferen, n unele aplicaii trebuie obinut o valoare singular, strict, pe baza acestei mulimi. Procesul se numete defuzzyficare. Cea mai utilizat tehnic de defuzzyficare este metoda centrului de greutate (a centroidului):

x (x ) x= (x )
i A i i A i i

Pentru mulimea determinat anterior prin regula max-min, B' = 0,7/1 + 0,6/10 + 0/50: b= 0,7 1 + 0,6 10 + 0 50 6,7 = = 5,15 0,7 + 0,6 + 0 1,3

Dac operm cu mulimi continue, nu discrete, n loc de sum se va utiliza o integral.

6. Concluzii
Teoria mulimilor fuzzy este cea mai general teorie a incompletitudinii formulat pn n prezent. Logica fuzzy ofer posibilitatea de a reprezenta i raiona cu cunotine comune, formulate n mod obinuit i de aceea i-a gsit aplicabilitatea n numeroase domenii. Termenii i regulile vagi pot fi reprezentate i manipulate cu ajutorul calculatorului, caracteristic foarte valoroas n domeniul ingineriei bazelor de cunotine, unde cunotinele experilor sunt formulate de obicei n limbaj obinuit. Logica fuzzy are o valoare deosebit i n aplicaiile de control automat unde este dificil sau imposibil de dezvoltat un sistem de control tradiional.