8. Logica vaga - Universitatea Tehnică Gheorghe Asachi
8. Logica vaga - Universitatea Tehnică Gheorghe Asachi
8. Logica vaga - Universitatea Tehnică Gheorghe Asachi
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