29.05.2013 Views

8. Logica vaga - Universitatea Tehnică Gheorghe Asachi

8. Logica vaga - Universitatea Tehnică Gheorghe Asachi

8. Logica vaga - Universitatea Tehnică Gheorghe Asachi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Inteligenţă artificială<br />

<strong>8.</strong> <strong>Logica</strong> vagă (fuzzy)<br />

Florin Leon<br />

<strong>Universitatea</strong> <strong>Tehnică</strong> „Gh. <strong>Asachi</strong>” Iaşi<br />

Facultatea de Automatică şi Calculatoare<br />

http://florinleon.byethost24.com/curs_ia.htm<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm


<strong>Logica</strong> vagă<br />

1. <strong>Logica</strong> clasică şi logica vagă<br />

2. Operaţii cu mulţimi vagi<br />

3. Tipuri de inferenţă<br />

4. Sistem expert fuzzy<br />

5. Controlere fuzzy<br />

6. Concluzii<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

2


<strong>Logica</strong> vagă<br />

1. <strong>Logica</strong> clasică şi logica vagă<br />

2. Operaţii cu mulţimi vagi<br />

3. Tipuri de inferenţă<br />

4. Sistem expert fuzzy<br />

5. Controlere fuzzy<br />

6. Concluzii<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

3


Incompletitudinea<br />

<strong>Logica</strong> clasică consideră valoarea de adevăr a<br />

propoziţiilor în termeni de adevărat sau fals<br />

Legea terţului exclus<br />

Viaţa de zi cu zi: „cerul este albastru”<br />

Câţiva nori?<br />

Oamenii gândesc mai flexibil, în condiţii de<br />

incompletitudine<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

4


Incertitudine şi imprecizie<br />

Incompletitudinea unei informaţii se exprimă<br />

pe două scări:<br />

Scara incertitudinii<br />

Încrederea care i se acordă informaţiei (informaţie certă)<br />

Scara impreciziei<br />

Conţinutul informaţional (informaţie precisă,<br />

cu o singură valoare)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

5


Exemplu: opinii despre rezultatele<br />

recensământului din 2011<br />

„Institutul Naţional de Statistică a precizat că la 20 octombrie<br />

2011, populaţia stabilă a României era de 19.043.767 locuitori.”<br />

Ştire sigură şi precisă (completă)<br />

„Populaţia României este în mod sigur sub 20 milioane de<br />

locuitori.”<br />

Informaţie certă, dar imprecisă (valoarea aparţine intervalului<br />

0 – 20.000.000)<br />

„Cred că populaţia României este de 19.000.000 locuitori.”<br />

Informaţie incertă, dar precisă (chiar dacă este incorectă)<br />

„Am impresia că rezultatul era în jur de 19 de milioane.”<br />

Informaţie incertă şi imprecisă<br />

„N-am nici cea mai vagă idee.”<br />

Non-informaţie, toate valorile sunt egal probabile<br />

Grad maxim de incertitudine şi imprecizie<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

6


<strong>Logica</strong> clasică şi „bunul simţ”<br />

<strong>Logica</strong> clasică – praguri stricte<br />

Limită de înălţime 1,80 m<br />

Ion are 1,81 m este înalt<br />

Vasile are 1,79 m nu este înalt<br />

Nuanţe lingvistice – greu de reprezentat<br />

Chiar dacă transformatorul este uşor<br />

supraîncărcat, mai putem menţine puţin<br />

această încărcare<br />

Iaşul este un oraş destul de mare<br />

Maşinile electrice nu sunt foarte rapide<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

7


Limitări<br />

Filosoful cretan spune că toţi cretanii mint<br />

Frizerul satului îi tunde pe toţi cei care nu se<br />

tund singuri<br />

În logica clasică acestea sunt paradoxuri sau<br />

contradicţii<br />

Ar putea fi considerate însă parţial adevărate<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

8


Scurt istoric<br />

Jan Łukasiewicz (1930): teoria posibilităţii<br />

De exemplu, posibilitatea ca un om de 1,81 m<br />

să fie foarte înalt este 0,86<br />

Max Black (1937): imprecizia este o formă de<br />

probabilitate<br />

Când un scaun nu mai este considerat scaun ci buturugă<br />

Procentul de persoane care ar denumi obiectul „scaun”<br />

Definirea unei mulţimi vagi simple şi a unor operaţii<br />

Lotfi Zadeh (1965): “Fuzzy Sets” (Mulţimi vagi)<br />

Sistem formal de logică matematică<br />

Includerea termenilor din limbajul natural<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

9


Exemplu<br />

Name Height, cm<br />

Chris<br />

Mark<br />

John<br />

Tom<br />

David<br />

Mike<br />

Bob<br />

Steven<br />

Bill<br />

Peter<br />

208<br />

205<br />

198<br />

181<br />

179<br />

172<br />

167<br />

158<br />

155<br />

152<br />

Degree of Membership<br />

Crisp<br />

1<br />

1<br />

1<br />

1<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

Fuzzy<br />

1.00<br />

1.00<br />

0.98<br />

0.82<br />

0.78<br />

0.24<br />

0.15<br />

0.06<br />

0.01<br />

0.00<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

10


Comparaţie<br />

0 0 1 1 1 0 0 0.2 0.4 0.6 0.8 1 1<br />

(a) Boolean Logic. (b) Multi-valued Logic.<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

0<br />

11


<strong>Logica</strong> vagă<br />

1. <strong>Logica</strong> clasică şi logica vagă<br />

2. Operaţii cu mulţimi vagi<br />

3. Tipuri de inferenţă<br />

4. Sistem expert fuzzy<br />

5. Controlere fuzzy<br />

6. Concluzii<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

12


Noţiuni de bază<br />

Universul de discurs<br />

Axa X: domeniul tuturor valorilor posibile<br />

aplicabile unei variabile<br />

În exemplul anterior: înălţimea<br />

Gradul de apartenenţă<br />

Axa Y<br />

Valori în intervalul [0,1]<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

13


Formalizare<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

14


Mulţimi multiple<br />

Degree of<br />

Membership<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.0<br />

150 160 170 180 190 200 210<br />

Degree of<br />

Membership<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

Short Average Short Tall<br />

Tall Men<br />

Short Average<br />

Crisp Sets<br />

Fuzzy Sets<br />

Height, cm<br />

0.0<br />

150 160 170 180 190 200 210<br />

Tall<br />

Tall<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

15


Suport<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

16


Înălţimea<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

17


Nucleu<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

18


Incluziuni. Egalitate<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

19


Numere fuzzy<br />

De multe ori, oamenii nu pot caracteriza precis<br />

informaţiile numerice, folosind formulări precum<br />

„aproape 0”, „în jur de 100” etc.<br />

În teoria mulţimilor fuzzy, aceste numere pot fi<br />

reprezentate ca submulţimi fuzzy ale mulţimii<br />

numerelor reale<br />

Un număr fuzzy A este o mulţime fuzzy a<br />

mulţimii numerelor reale, cu o funcţie de<br />

apartenenţă convexă şi continuă şi suport<br />

mărginit<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

20


Număr fuzzy triunghiular<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

21


Număr fuzzy triunghiular<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

22


Număr fuzzy trapezoidal<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

23


Număr fuzzy trapezoidal<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

24


Funcţia gaussiană<br />

„cvasi-număr fuzzy”<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

25


Funcţia Bell generalizată<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

26


Funcţia S<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

27


Funcţia Π (simetrică)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

28


Funcţia Π (asimetrică)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

29


Tăietura alfa<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

30


Funcţii aritmetice fuzzy<br />

Pentru 2 numere interval fuzzy [a,b] şi [d,e]:<br />

Adunarea<br />

[a,b] + [d,e] = [a+d, b+e]<br />

Scăderea<br />

[a,b] - [d,e] = [a-e, b-d]<br />

Înmulţirea<br />

[a,b] · [d,e] = [min(a·d,a·e,b·d,b·e), max(a·d,a·e,b·d,b·e)]<br />

Împărţirea<br />

[a, b] / [c, d] = [a, b] · [1/d, 1/c] =<br />

[min(a/c, a/d, b/c, b/d), max(a/c, a/d, b/c, b/d)]<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

31


Restrictori<br />

engl. “hedge”, gard viu<br />

Mulţimile fuzzy pot reprezenta în mod cantitativ<br />

termeni lingvistici vagi<br />

În vorbirea curentă, oamenii folosesc o serie de<br />

adverbe pentru nuanţarea acestora, precum<br />

„foarte”, „aproape”, „oarecum” etc.<br />

Teoria mulţimilor fuzzy face posibilă<br />

reprezentarea lor cu ajutorul unor restrictori care<br />

modifică matematic funcţia de apartenenţă a<br />

mulţimii fuzzy considerate<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

32


Concentrarea<br />

Concentrarea („foarte”) are ca efect<br />

reducerea valorilor de apartenenţă ale<br />

elementelor cu grad de apartenenţă mici<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

33


Puterea<br />

Puterea („foarte foarte”) este o extensie a<br />

concentraţiei<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

34


Dilatarea<br />

Dilatarea („oarecum”) dilată elementele fuzzy<br />

prin mărirea valorilor de apartenenţă ale<br />

elementelor cu grade de apartenenţă mici<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

35


Intensificarea<br />

Intensificarea („într-adevăr”) are ca efect<br />

mărirea gradelor de apartenenţă de peste 0,5<br />

şi micşorarea celor sub 0,5<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

36


Operaţii cu mulţimi fuzzy<br />

Operaţiile cu mulţimile fuzzy sunt o extindere<br />

a celor din logica clasică<br />

Dacă mulţimile fuzzy implicate au grade de<br />

apartenenţă 0 şi 1, semnificaţia operaţiilor<br />

este aceeaşi ca în teoria clasică a mulţimilor,<br />

de aceea şi simbolurile utilizate sunt aceleaşi<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

37


Norme triunghiulare<br />

Aceste operaţii pot fi definite cu ajutorul unor funcţii numite<br />

t-normă (T) şi t-conormă (S)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

38


Exemple<br />

Există foarte multe familii de norme !<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

39


Intersecţia<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

40


Reuniunea<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

41


Complementul<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

42


Exemple Mulţimi cu doar 2 elemente<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

43


<strong>Logica</strong> vagă<br />

1. <strong>Logica</strong> clasică şi logica vagă<br />

2. Operaţii cu mulţimi vagi<br />

3. Tipuri de inferenţă<br />

4. Sistem expert fuzzy<br />

5. Controlere fuzzy<br />

6. Concluzii<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

44


Reguli fuzzy<br />

Lotfi Zadeh (1973)<br />

Reprezentarea cunoştinţelor umane sub formă de<br />

reguli fuzzy<br />

DACĂ x este A ATUNCI y este B<br />

x şi y sunt variabile lingvistice<br />

A şi B sunt valori lingvistice determinate de<br />

mulţimile fuzzy în universurile de discurs X şi Y<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

45


Exemplu<br />

Regula 1<br />

DACĂ Viteza este Rapidă<br />

ATUNCI Distanţa-de-oprire este Mare<br />

Regula 2<br />

DACĂ Viteza este Înceată<br />

ATUNCI Distanţa-de-oprire este Mică<br />

Universuri de discurs<br />

Viteza (în km/h)<br />

Distanţa-de-oprire (în m)<br />

Mulţimi fuzzy<br />

Viteză Înceată, Viteză Rapidă<br />

Distanţă Mică, Distanţă Mare<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

46


Degree of<br />

Membership<br />

1.0<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0.0<br />

160<br />

Selecţia monotonă<br />

IF Height is Tall THEN Weight is Heavy<br />

180<br />

Tall men<br />

Height, cm<br />

Degree of<br />

Membership<br />

1.0<br />

Heavy men<br />

0.0<br />

190 200 70 80 100<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

Weight, kg<br />

120<br />

47


Antecedenţi şi consecvenţi<br />

multipli<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

48


Modus Ponens generalizat<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

49


Tipuri de implicaţie<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

50


Inferenţa Mamdani (max-min)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

51


Inferenţa Mamdani (II)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

52


Inferenţa Mamdani (III)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

53


Inferenţa Larsen (max-produs)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

54


Inferenţa Larsen (II)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

55


Inferenţa Larsen (III)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

56


Defuzzificarea<br />

Reprezintă obţinerea unei valori stricte dintr-o<br />

mulţime fuzzy, ca valoare reprezentativă<br />

Există mai multe metode:<br />

Centrul de greutate<br />

Media maximului<br />

Cel mai mic maxim<br />

Cel mai mare maxim<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

57


Centrul de greutate<br />

Numit şi centroid<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

58


Inferenţa Mamdani cu<br />

reguli multiple<br />

Inferenţa presupune 4 paşi:<br />

Fuzzificarea variabilelor de intrare<br />

Evaluarea regulilor<br />

Agregarea ieşirilor regulilor<br />

Defuzzificarea<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

59


Exemplu<br />

O problemă cu 2 intrări şi 1 ieşire, 3 reguli<br />

Regula 1 Regula 1<br />

IF x is A3 IF project-funding is adequate<br />

OR y is B1 OR project-staffing is small<br />

THEN z is C1 THEN risk is low<br />

Regula 2 Regula 2<br />

IF x is A2 IF project-funding is marginal<br />

AND y is B2 AND project-staffing is large<br />

THEN z is C2 THEN risk is normal<br />

Regula 3 Regula 3<br />

IF x is A1 IF project-funding is inadequate<br />

THEN z is C3 THEN risk is high<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

60


Pasul 1. Fuzzificarea<br />

Pentru intrările stricte date x1 şi y1 (project<br />

funding şi project staffing) se determină gradele<br />

de apartenenţă în mulţimile corespunzătoare<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

61


Pasul 2. Evaluarea regulilor<br />

Intrările fuzzificate se aplică<br />

antecedenţilor (premiselor) regulilor<br />

Dacă o regulă are antecedenţi multipli,<br />

se aplică operatorii fuzzy de intersecţie<br />

sau reuniune<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

62


Evaluarea de tip Mamdani<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

63


Pasul 3. Agregarea ieşirilor<br />

Agregarea presupune reunirea ieşirilor tuturor<br />

regulilor, rezultând câte o mulţime fuzzy<br />

pentru fiecare variabilă de ieşire<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

64


Pasul 4. Defuzzificarea<br />

Mulţimile fuzzy agregate sunt transformate în<br />

valori stricte după o metodă de defuzzificare<br />

(de exemplu metoda centrului de greutate)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

65


Inferenţa TSK<br />

Inferenţele de tip Mamdani sau Larsen presupun<br />

integrarea funcţiilor de apartenenţă pentru<br />

defuzzificare, ceea ce nu este foarte eficient din<br />

punct de vedere computaţional<br />

Inferenţa de tip Takagi-Sugeno-Kang este de forma:<br />

DACĂ x este A ŞI y este B ATUNCI z este f(x,y)<br />

f este o funcţie matematică<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

66


Inferenţa Sugeno<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

67


Exemplu<br />

Presupunem nişte funcţii<br />

de apartenenţă oarecare<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

68


Exemplu<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

69


Modelul de ordin zero<br />

Cel mai utilizat model de inferenţă TSK<br />

este modelul Sugeno de ordin zero, în<br />

care ieşirea fiecărei reguli fuzzy este o<br />

constantă<br />

DACĂ x este A ŞI y este B ATUNCI z este k<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

70


Evaluarea de tip<br />

Sugeno de ordin zero<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

71


Media ponderată<br />

Agregarea ieşirilor şi<br />

defuzzificarea<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

72


Mamdani sau Sugeno?<br />

Metoda Mamdani<br />

Utilizată pe scară largă pentru reprezentarea cunoştinţelor<br />

expert<br />

Permite descrierea mai intuitivă a cunoştinţelor<br />

Are însă dezavantajul unui efort de calcul mai mare<br />

Metoda Sugeno<br />

Eficientă computaţional<br />

Rezultate bune în probleme de optimizare şi tehnici adaptive<br />

Mai potrivită pentru probleme de control, în special pentru<br />

sisteme neliniare dinamice<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

73


<strong>Logica</strong> vagă<br />

1. <strong>Logica</strong> clasică şi logica vagă<br />

2. Operaţii cu mulţimi vagi<br />

3. Tipuri de inferenţă<br />

4. Sistem expert fuzzy<br />

5. Controlere fuzzy<br />

6. Concluzii<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

74


Studiu de caz<br />

Un centru de service păstrează componente de<br />

schimb şi repară componente defecte<br />

Clienţii aduc un component defect şi primesc o<br />

piesă de schimb de acelaşi tip<br />

Componentele defecte sunt reparate şi repuse în<br />

circuit<br />

Obiectivul sistemului expert este de a ajuta<br />

managerul în luarea deciziilor astfel încât clienţii<br />

să rămână mulţumiţi<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

75


Procesul de dezvoltare al unui<br />

sistem expert fuzzy<br />

Specificarea problemei şi definirea variabilelor<br />

lingvistice<br />

Determinarea mulţimilor fuzzy<br />

Construirea regulilor fuzzy<br />

Codarea mulţimilor, regulilor şi procedurilor<br />

de inferenţă<br />

Evaluarea şi rafinarea sistemului<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

76


Specificarea problemei şi<br />

definirea variabilelor lingvistice<br />

Există 4 variabile lingvistice:<br />

Timpul mediu de aşteptare (întârzierea<br />

medie) m<br />

Factorul de utilizare a reparaţiilor <br />

= nr. clienţi veniţi / nr. clienţi plecaţi<br />

Numărul de angajaţi s<br />

Numărul iniţial de piese de schimb n<br />

Aceasta este ieşirea sistemului, trebuie<br />

determinat: n = f(m, , s)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

77


Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

78


Determinarea mulţimilor fuzzy<br />

De obicei se utilizează numere fuzzy<br />

triunghiulare sau trapezoidale pentru<br />

cunoştinţele expert<br />

În general sunt reprezentări adecvate şi suficiente<br />

pentru cunoştinţe<br />

Se simplifică şi procesul de calcul: formule simple<br />

pentru determinarea gradelor de apartenenţă<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

79


Întârzierea medie m<br />

O întârziere mai mare nu este acceptabilă<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

80


Numărul de angajaţi s<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

81


Factorul de utilizare a<br />

reparaţiilor <br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

82


Numărul de piese de schimb n<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

83


Construirea regulilor fuzzy<br />

Expertul trebuie să furnizeze cunoştinţele<br />

privind regulile<br />

„Expertul” poate fi orice sursă de cunoaştere:<br />

cărţi, baze de date, scheme logice,<br />

comportamente umane observate etc.<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

84


Reprezentarea regulilor prin<br />

memorii asociative fuzzy<br />

s<br />

L<br />

M<br />

S<br />

M<br />

RL<br />

VL<br />

S<br />

RS<br />

L<br />

VS<br />

S<br />

M<br />

VS S M<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

m<br />

Valorile lui n<br />

85


Baza de reguli 1<br />

1. If (utilisation_factor is L) then (number_of_spares is S)<br />

2. If (utilisation_factor is M) then (number_of_spares is M)<br />

3. If (utilisation_factor is H) then (number_of_spares is L)<br />

4. If (mean_delay is VS) and (number_of_servers is S) then (number_of_spares is VL)<br />

5. If (mean_delay is S) and (number_of_servers is S) then (number_of_spares is L)<br />

6. If (mean_delay is M) and (number_of_servers is S) then (number_of_spares is M)<br />

7. If (mean_delay is VS) and (number_of_servers is M) then (number_of_spares is RL)<br />

<strong>8.</strong> If (mean_delay is S) and (number_of_servers is M) then (number_of_spares is RS)<br />

9. If (mean_delay is M) and (number_of_servers is M) then (number_of_spares is S)<br />

10.If (mean_delay is VS) and (number_of_servers is L) then (number_of_spares is M)<br />

11.If (mean_delay is S) and (number_of_servers is L) then (number_of_spares is S)<br />

12.If (mean_delay is M) and (number_of_servers is L) then (number_of_spares is VS)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

86


Baza de reguli 2: tabela de reguli<br />

Rule m s n Rule m s n Rule m s n<br />

1 VS S L VS 10 VS S M S 19 VS S H VL<br />

2 S S L VS 11 S S M VS 20 S S H L<br />

3 M S L VS 12 M S M VS 21 M S H M<br />

4 VS M L VS 13 VS M M RS 22 VS M H M<br />

5 S M L VS 14 S M M S 23 S M H M<br />

6 M M L VS 15 M M M VS 24 M M H S<br />

7 VS L L S 16 VS L M M 25 VS L H RL<br />

8 S L L S 17 S L M RS 26 S L H M<br />

9 M L L VS 18 M L M S 27 M L H RS<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

87


s<br />

L<br />

M<br />

S<br />

VS VS VS<br />

VS VS VS<br />

S S VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS S M<br />

m<br />

s<br />

L<br />

M<br />

S<br />

M<br />

L<br />

H<br />

S S VS<br />

VS VS VS<br />

VS VS VS<br />

VS S M<br />

m<br />

<br />

L<br />

s<br />

L<br />

M<br />

S<br />

M RS S<br />

RS S VS<br />

S VS VS<br />

VS S M<br />

m<br />

Baza de reguli 2: memoria asociativă fuzzy<br />

M<br />

M<br />

S<br />

RL M RS<br />

M M S<br />

VL L M<br />

VS S M<br />

m<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

s<br />

L<br />

H<br />

<br />

88


Implementarea sistemului<br />

Folosind un limbaj de programare<br />

De exemplu: C#, Java, C++ etc.<br />

Folosind un instrument de dezvoltare<br />

specializat<br />

De exemplu: Matlab Fuzzy Toolbox,<br />

Fuzzy Knowledge Builder etc.<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

89


Evaluare şi rafinare<br />

Este cea mai laborioasă fază<br />

Reprezintă validarea sistemului în raport cu<br />

cerinţele specificate<br />

Unele instrumente pot genera suprafeţe de<br />

decizie care ajută la analizarea<br />

performanţelor sistemului<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

90


number_of_spares<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0<br />

0.2<br />

Baza de reguli 1<br />

0.4<br />

mean_delay<br />

0.6<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

0.8<br />

number_of_servers<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

1<br />

91


number_of_spares<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0<br />

0.2<br />

Baza de reguli 1<br />

0.4<br />

mean_delay<br />

0.6<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

utilisation_factor<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

0.8<br />

1<br />

92


number_of_spares<br />

0.35<br />

0.3<br />

0.25<br />

0.2<br />

0.15<br />

0<br />

0.2<br />

Baza de reguli 2<br />

0.4<br />

mean_delay<br />

0.6<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

0.8<br />

number_of_servers<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

1<br />

93


number_of_spares<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0<br />

0.2<br />

Baza de reguli 2<br />

0.4<br />

mean_delay<br />

0.6<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

utilisation_factor<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

0.8<br />

1<br />

94


Rafinarea<br />

Dacă performanţele nu sunt<br />

satisfăcătoare, se pot include în<br />

model mulţimi suplimentare<br />

De exemplu Rather Small şi Rather Large<br />

pe universul de discurs al numărului de<br />

angajaţi s<br />

Se extinde şi baza de reguli<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

95


Mulţimile modificate pentru s<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

96


Baza de reguli 3: memoria asociativă fuzzy<br />

s<br />

L<br />

RL<br />

M<br />

RS<br />

S<br />

VS VS VS<br />

VS VS VS<br />

S S VS<br />

VS VS VS<br />

VS VS VS<br />

S S VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

M<br />

L<br />

VS S M<br />

m<br />

H<br />

s<br />

L<br />

RL<br />

M<br />

RS<br />

S<br />

S S VS<br />

S S VS<br />

VS VS VS<br />

VS VS VS<br />

VS VS VS<br />

VS S<br />

m<br />

M<br />

<br />

L<br />

s<br />

L<br />

RL<br />

M<br />

RS<br />

S<br />

M RS S<br />

M RS S<br />

RS S VS<br />

S VS VS<br />

S VS VS<br />

VS S M<br />

m<br />

M<br />

L M RS<br />

RL M RS<br />

M M S<br />

VL RL RS<br />

VL L M<br />

VS S M<br />

m<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

s<br />

L<br />

RL<br />

M<br />

RS<br />

S<br />

H<br />

<br />

97


number_of_spares<br />

0.35<br />

0.3<br />

0.25<br />

0.2<br />

0.15<br />

0<br />

0.2<br />

Baza de reguli 3<br />

0.4<br />

mean_delay<br />

0.6<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

0.8<br />

number_of_servers<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

1<br />

98


number_of_spares<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0<br />

0.2<br />

Baza de reguli 3<br />

0.4<br />

mean_delay<br />

0.6<br />

0<br />

0.2<br />

0.4<br />

0.6<br />

utilisation_factor<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

0.8<br />

1<br />

99


Rafinarea sistemelor fuzzy (I)<br />

Se analizează variabilele de intrare şi ieşire şi dacă<br />

este nevoie se redefinesc domeniile de definiţie<br />

Se analizează mulţimile fuzzy şi dacă este nevoie<br />

se adaugă mulţimi suplimentare pe universul de<br />

discurs<br />

Mulţimile „mari” conduc la un comportament nenuanţat al<br />

sistemului<br />

Trebuie să existe o suprapunere suficientă în<br />

mulţimile vecine<br />

Se recomandă o suprapunere de 25%-50% din baze<br />

(pentru numerele triunghiulare şi trapezoidale)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

100


Rafinarea sistemelor fuzzy (II)<br />

Se analizează regulile existente şi dacă este nevoie<br />

se adaugă noi reguli în baza de reguli<br />

Se examinează baza de reguli în vederea aplicării de<br />

restrictori pentru anumite cazuri<br />

Se pot modifica formele unor mulţimi<br />

De obicei, sistemele fuzzy sunt tolerante la aproximările de<br />

formă<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

101


<strong>Logica</strong> vagă<br />

1. <strong>Logica</strong> clasică şi logica vagă<br />

2. Operaţii cu mulţimi vagi<br />

3. Tipuri de inferenţă<br />

4. Sistem expert fuzzy<br />

5. Controlere fuzzy<br />

6. Concluzii<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

102


Exemple<br />

Sistem de control fuzzy pentru stabilizarea<br />

pendulului inversat<br />

Sistem de control fuzzy pentru simularea<br />

funcţionării unei macarale<br />

Sistem de control fuzzy pentru conducerea<br />

unei maşinuţe de golf<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

103


Pendulul inversat<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

Pentru detalii,<br />

vezi suportul de curs<br />

104


Pendulul inversat<br />

Intrări<br />

Unghiul θ<br />

Viteza unghiulară dθ/dt<br />

Ieşire<br />

Viteza bazei u<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm


Mulţimile fuzzy<br />

θ dθ/dt<br />

u<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm


θ<br />

dθ/dt<br />

Abordarea fuzzy<br />

Mulţimea minimă de reguli pentru stabilizarea<br />

pendulului inversat (Yamakawa, 1989)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

107


Exemplu: fuzzificare<br />

(cu o altă mulţime de reguli)<br />

θ = 1 (x 1)<br />

dθ/dt = -4 (x 2)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm


Consecvenţii fuzzy şi<br />

reuniunea lor<br />

Centroidul reuniunii (-2)<br />

este ieşirea strictă<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm


Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

110


Alt exemplu de implementare<br />

http://www.erudit.de/erudit/demos/cartball/index.htm<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

111


Macaraua<br />

http://www.intelligent-systems.info/neural_fuzzy/loadsway/LoadSway.htm<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

112


Macaraua - reguli<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

113


Maşinuţa de golf<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

Pentru detalii,<br />

vezi suportul de curs<br />

114


Alte aplicaţii din „lumea reală”<br />

Subsisteme de<br />

autovehicule, transmisie<br />

automată, ABS<br />

Control automat al<br />

trenului monorail din<br />

Tokyo<br />

Aparate de aer condiţionat<br />

Motorul de animaţie<br />

Massive<br />

Aparate de fotografiat<br />

Prelucrarea imaginilor<br />

(de ex. detecţia muchiilor)<br />

Recunoaşterea modelelor<br />

Lifturi<br />

Maşini de spălat vase<br />

Maşini de spălat, alte<br />

electrocasnice<br />

Filtre de limbaj pe<br />

forumuri şi camere de<br />

discuţii<br />

Jocuri video<br />

Microcontrolere şi<br />

microprocesoare<br />

(de ex. Freescale 68HC12)<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

115


Mulţimile fuzzy şi probabilităţile<br />

Probabilităţile se ocupă de situaţii care ar putea să<br />

apară<br />

Mulţimile fuzzy modelează situaţii care există sigur,<br />

însă nu pot fi încadrate exact într-o categorie<br />

O sticlă conţine o otravă mortală cu probabilitatea 10%<br />

Altă sticlă are otravă cu o concentraţie de 10%<br />

Concentraţia maximă admisă de otravă, care poate fi<br />

băută fără probleme, este de 20%<br />

Din care sticlă aţi bea?<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

116


Concluzii<br />

<strong>Logica</strong> fuzzy oferă posibilitatea de a reprezenta şi<br />

raţiona cu cunoştinţe comune, formulate în mod<br />

obişnuit şi de aceea şi-a găsit aplicabilitatea în<br />

numeroase domenii<br />

<strong>Logica</strong> fuzzy are o valoare deosebită şi în aplicaţiile<br />

de control automat unde este dificil sau imposibil de<br />

dezvoltat un sistem de control tradiţional<br />

Dificultăţile apar la determinarea funcţiilor de<br />

apartenenţă şi la reglarea parametrilor<br />

Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm<br />

117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!