Download - Inteligenta artificiala: Logica vaga / fuzzy

Transcript

Inteligenţă artificială

8. Logica vagă (fuzzy) Florin Leon

Universitatea Tehnică „Gheorghe Asachi” din Iaşi

Facultatea de Automatică şi Calculatoare

http://florinleon.byethost24.com/curs_ia.htm

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

2

Logica vagă

1. Logica clasică şi logica vagă

2. Operaţii cu mulţimi vagi

3. Tipuri de inferenţă

4. Sistem expert fuzzy

5. Controlere fuzzy

6. Concluzii

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

3

Logica vagă

1. Logica clasică şi logica vagă

2. Operaţii cu mulţimi vagi

3. Tipuri de inferenţă

4. Sistem expert fuzzy

5. Controlere fuzzy

6. Concluzii

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

4

Incompletitudinea

Logica clasică consideră valoarea de adevăr a propoziţiilor în termeni de adevărat sau fals

Legea terţului exclus

Viaţa de zi cu zi: „cerul este albastru”

Câţiva nori?

Oamenii gândesc mai flexibil, în condiţii de incompletitudine

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

5

Incertitudine şi imprecizie

Incompletitudinea unei informaţii se exprimă pe două scări:

Scara incertitudinii

Încrederea care i se acordă informaţiei

Informaţie certă sau nu

Scara impreciziei

Conţinutul informaţional

Informaţie precisă, cu o singură valoare, sau nu

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

6

Exemplu: opinii despre rezultatele recensământului din 2011

„Institutul Naţional de Statistică a precizat că la 20 octombrie 2011, populaţia stabilă a României era de 20.121.641 locuitori.” Ştire sigură şi precisă (completă)

„Populaţia României este în mod sigur sub 21 milioane de locuitori.” Informaţie certă, dar imprecisă (valoarea aparţine intervalului

0 – 21.000.000)

„Cred că populaţia României este de 20.000.000 locuitori.” Informaţie incertă, dar precisă (chiar dacă este incorectă)

„Am impresia că rezultatul era în jur de 20 de milioane.” Informaţie incertă şi imprecisă

„N-am nici cea mai vagă idee.” Non-informaţie, toate valorile sunt egal probabile Grad maxim de incertitudine şi imprecizie

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

7

Logica clasică şi „bunul simţ”

Logica clasică – praguri stricte Limită de înălţime 1,80 m

Ion are 1,81 m este înalt

Vasile are 1,79 m nu este înalt

Nuanţe lingvistice – greu de reprezentat Chiar dacă transformatorul este uşor

supraîncărcat, mai putem menţine puţin această încărcare

Iaşul este un oraş destul de mare

Maşinile electrice nu sunt foarte rapide

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

8

Limitări

Filosoful cretan spune că toţi cretanii mint

Frizerul satului îi tunde pe toţi cei care nu se tund singuri

În logica clasică acestea sunt paradoxuri sau contradicţii

Ar putea fi considerate însă parţial adevărate

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

9

Scurt istoric

Jan Łukasiewicz (1930): teoria posibilităţii

De exemplu, posibilitatea ca un om de 1,81 m să fie foarte înalt este 0,86

Max Black (1937): imprecizia este o formă de probabilitate

Când un scaun nu mai este considerat scaun ci buturugă

Procentul de persoane care ar denumi obiectul „scaun”

Definirea unor mulţimi vagi simple şi a unor operaţii

Lotfi Zadeh (1965): “Fuzzy Sets” (Mulţimi vagi)

Sistem formal de logică matematică

Includerea termenilor din limbajul natural

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

10

Exemplu

Degree of Membership

Fuzzy

Mark

John

Tom

Bob

Bill

1

1

1

0

0

1.00

1.00

0.98

0.82

0.78

Peter

Steven

Mike

David

Chris

Crisp

1

0

0

0

0

0.24

0.15

0.06

0.01

0.00

Name Height, cm

205

198

181

167

155

152

158

172

179

208

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

11

Comparaţie

(a) Boolean Logic. (b) Multi-valued Logic.

0 1 10 0.2 0.4 0.6 0.8 100 1 10

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

12

Logica vagă

1. Logica clasică şi logica vagă

2. Operaţii cu mulţimi vagi

3. Tipuri de inferenţă

4. Sistem expert fuzzy

5. Controlere fuzzy

6. Concluzii

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

13

Noţiuni de bază

Universul de discurs

Axa X: domeniul tuturor valorilor posibile aplicabile unei variabile

În exemplul anterior: înălţimea

Gradul de apartenenţă

Axa Y

Valori în intervalul [0,1]

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

14

Formalizare

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

15

Mulţimi multiple

150 210170 180 190 200160

Height, cmDegree ofMembership

Tall Men

150 210180 190 200

1.0

0.0

0.2

0.4

0.6

0.8

160

Degree ofMembership

Short Average ShortTall

170

1.0

0.0

0.2

0.4

0.6

0.8

Fuzzy Sets

Crisp Sets

Short Average

Tall

Tall

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

16

Suport

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

17

Înălţimea

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

18

Nucleu

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

19

Incluziuni. Egalitate

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

20

Numere fuzzy

De multe ori, oamenii nu pot caracteriza precis informaţiile numerice, folosind formulări precum „aproape 0”, „în jur de 100” etc.

În teoria mulţimilor fuzzy, aceste numere pot fi reprezentate ca submulţimi fuzzy ale mulţimii numerelor reale

Un număr fuzzy A este o submulţime fuzzy a mulţimii numerelor reale, cu o funcţie de apartenenţă convexă şi continuă şi suport mărginit

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

21

Număr fuzzy triunghiular

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

22

Număr fuzzy triunghiular

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

23

Număr fuzzy trapezoidal

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

24

Număr fuzzy trapezoidal

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

25

Funcţia gaussiană

cvasi-număr fuzzy

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

26

Funcţia Bell generalizată

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

27

Funcţia S

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

28

Funcţia Π (simetrică)

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

29

Funcţia Π (asimetrică)

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

30

Tăietura alfa

Asupra a 2 numere fuzzy cu forme arbitrare se pot aplica operaţii aritmetice prin „tăierea” numerelor în mai multe intervale, aplicarea

operaţiilor asupra intervalelor şi recompunerea rezultatului

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

31

Funcţii aritmetice fuzzy

Pentru 2 numere interval fuzzy [a,b] şi [d,e]

Adunarea [a,b] + [d,e] = [a+d, b+e]

Scăderea [a,b] - [d,e] = [a-e, b-d]

Înmulţirea [a,b] · [d,e] = [min(a·d,a·e,b·d,b·e), max(a·d,a·e,b·d,b·e)]

Împărţirea [a, b] / [c, d] = [a, b] · [1/d, 1/c] =

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

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

32

Restrictori

engl. “hedge”, gard viu

Mulţimile fuzzy pot reprezenta în mod cantitativ termeni lingvistici vagi

În vorbirea curentă, oamenii folosesc o serie de adverbe pentru nuanţarea acestora, precum „foarte”, „aproape”, „oarecum” etc.

Teoria mulţimilor fuzzy face posibilă reprezentarea lor cu ajutorul unor restrictori care modifică matematic funcţia de apartenenţă a mulţimii fuzzy considerate

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

33

Concentrarea

Concentrarea („foarte”) are ca efect reducerea valorilor de apartenenţă ale elementelor cu grade de apartenenţă mici

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

34

Puterea

Puterea („foarte foarte”) este o extensie a concentraţiei

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

35

Dilatarea

Dilatarea („oarecum”) dilată elementele fuzzy prin mărirea valorilor de apartenenţă ale elementelor cu grade de apartenenţă mici

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

36

Intensificarea

Intensificarea („într-adevăr”) are ca efect mărirea gradelor de apartenenţă de peste 0,5 şi micşorarea celor sub 0,5

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

37

Operaţii cu mulţimi fuzzy

Operaţiile cu mulţimi fuzzy sunt o extensie a celor din logica clasică

Dacă mulţimile fuzzy implicate au grade de apartenenţă 0 şi 1, semnificaţia operaţiilor este aceeaşi ca în teoria clasică a mulţimilor, de aceea şi simbolurile utilizate sunt aceleaşi

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

38

Norme triunghiulare

Aceste operaţii pot fi definite cu ajutorul unor funcţii numite t-normă (T) şi t-conormă (S)

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

39

Exemple

Există foarte multe familii de norme !

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

40

Intersecţia

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

41

Reuniunea

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

42

Complementul

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

43

Exemple Mulţimi cu doar 2 elemente

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

44

Logica vagă

1. Logica clasică şi logica vagă

2. Operaţii cu mulţimi vagi

3. Tipuri de inferenţă

4. Sistem expert fuzzy

5. Controlere fuzzy

6. Concluzii

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

45

Reguli fuzzy

Lotfi Zadeh (1973)

Reprezentarea cunoştinţelor umane sub formă de reguli fuzzy

DACĂ x este A ATUNCI y este B

x şi y sunt variabile lingvistice

A şi B sunt valori lingvistice determinate de mulţimile fuzzy în universurile de discurs X şi Y

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

46

Exemplu

Regula 1 DACĂ viteza este rapidă

ATUNCI distanţa-de-oprire este mare

Regula 2 DACĂ viteza este înceată

ATUNCI distanţa-de-oprire este mică

Universuri de discurs Viteza (în km/h)

Distanţa-de-oprire (în m)

Mulţimi fuzzy Viteză înceată, viteză rapidă

Distanţă mică, distanţă mare

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

47

Inferenţa prin selecţie monotonă

IF height is tall THEN weight is heavy

Tall menHeavy men

180

Degree ofMembership

1.0

0.0

0.2

0.4

0.6

0.8

Height, cm

190 200 70 80 100160

Weight, kg

120

Degree ofMembership

1.0

0.0

0.2

0.4

0.6

0.8

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

48

Antecedenţi şi consecvenţi multipli

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

49

Modus Ponens generalizat

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

50

Tipuri de implicaţie

A B

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

51

Inferenţa Mamdani (max-min)

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

52

Inferenţa Mamdani (II)

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

53

Inferenţa Mamdani (III)

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

54

Inferenţa Larsen (max-produs)

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

55

Inferenţa Larsen (II)

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

56

Inferenţa Larsen (III)

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

57

Defuzzificarea

Reprezintă obţinerea unei valori stricte dintr-o mulţime fuzzy, ca valoare reprezentativă

Există mai multe metode: Centrul de greutate

Media maximului

Cel mai mic maxim

Cel mai mare maxim

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

58

Centrul de greutate

Numit şi centroid

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

59

Inferenţa Mamdani cu reguli multiple

Inferenţa presupune 4 paşi:

Fuzzificarea variabilelor de intrare

Evaluarea regulilor

Agregarea ieşirilor regulilor

Defuzzificarea

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

60

Exemplu

O problemă cu 2 intrări şi 1 ieşire, 3 reguli

Regula 1 Regula 1 IF x is A3 IF project-funding is adequate OR y is B1 OR project-staffing is small THEN z is C1 THEN risk is low Regula 2 Regula 2 IF x is A2 IF project-funding is marginal AND y is B2 AND project-staffing is large THEN z is C2 THEN risk is normal Regula 3 Regula 3 IF x is A1 IF project-funding is inadequate THEN z is C3 THEN risk is high

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

61

Pasul 1. Fuzzificarea

Pentru intrările stricte date x1 şi y1 (project funding şi project staffing) se determină gradele de apartenenţă în mulţimile corespunzătoare

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

62

Pasul 2. Evaluarea regulilor

Intrările fuzzificate se aplică antecedenţilor (premiselor) regulilor

Dacă o regulă are antecedenţi multipli, se aplică operatorii fuzzy de intersecţie sau reuniune

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

63

Evaluarea de tip Mamdani

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

64

Pasul 3. Agregarea ieşirilor

Agregarea presupune reunirea ieşirilor tuturor regulilor, rezultând câte o mulţime fuzzy pentru fiecare variabilă de ieşire

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

65

Pasul 4. Defuzzificarea

Mulţimile fuzzy agregate sunt transformate în valori stricte după o metodă de defuzzificare (de exemplu metoda centrului de greutate)

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

66

Inferenţa TSK

Inferenţele de tip Mamdani sau Larsen presupun integrarea funcţiilor de apartenenţă pentru defuzzificare, ceea ce nu este foarte eficient din punct de vedere computaţional

Inferenţa de tip Takagi-Sugeno-Kang este de forma:

DACĂ x este A ŞI y este B ATUNCI z este f(x,y)

f este o funcţie matematică

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

67

Inferenţa Sugeno

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

68

Exemplu

Presupunem nişte funcţii de apartenenţă oarecare

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

69

Exemplu

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

70

Modelul de ordin zero

Cel mai utilizat model de inferenţă TSK este modelul Sugeno de ordin zero, în care ieşirea fiecărei reguli fuzzy este o constantă

DACĂ x este A ŞI y este B ATUNCI z este k

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

71

Evaluarea de tip Sugeno de ordin zero

k1 = 20 k2 = 50 k3 = 80

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

72

Agregarea ieşirilor şi defuzzificarea

Media ponderată

k1 = 20 k2 = 50 k3 = 80

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

73

Mamdani vs. Sugeno

Metoda Mamdani

Utilizată pe scară largă pentru reprezentarea cunoştinţelor expert

Permite descrierea mai intuitivă a cunoştinţelor

Are dezavantajul unui efort de calcul mai mare

Metoda Sugeno

Eficientă computaţional

Rezultate bune în probleme de optimizare şi tehnici adaptive

Mai potrivită pentru probleme de control, în special pentru sisteme neliniare dinamice

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

74

Logica vagă

1. Logica clasică şi logica vagă

2. Operaţii cu mulţimi vagi

3. Tipuri de inferenţă

4. Sistem expert fuzzy

5. Controlere fuzzy

6. Concluzii

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

75

Studiu de caz

Un centru de service păstrează componente de schimb şi repară componente defecte

Clienţii aduc un component defect şi primesc o piesă de schimb de acelaşi tip

Componentele defecte sunt reparate şi repuse în circuit

Obiectivul sistemului expert este de a ajuta managerul în luarea deciziilor astfel încât clienţii să rămână mulţumiţi

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

76

Procesul de dezvoltare al unui sistem expert fuzzy

Specificarea problemei şi definirea variabilelor lingvistice

Determinarea mulţimilor fuzzy

Construirea regulilor fuzzy

Codarea mulţimilor, regulilor şi procedurilor de inferenţă

Evaluarea şi rafinarea sistemului

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

77

Specificarea problemei şi definirea variabilelor lingvistice

Există 4 variabile lingvistice: Timpul mediu de aşteptare (întârzierea

medie) m

Factorul de utilizare a reparaţiilor = nr. clienţi veniţi / nr. clienţi plecaţi

Numărul de angajaţi s

Numărul iniţial de piese de schimb n Aceasta este ieşirea sistemului, trebuie

determinat: n = f(m, , s)

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

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

79

Determinarea mulţimilor fuzzy

De obicei se utilizează numere fuzzy triunghiulare sau trapezoidale pentru cunoştinţele expert

În general sunt reprezentări adecvate şi suficiente pentru cunoştinţe

Se simplifică şi procesul de calcul: formule simple pentru determinarea gradelor de apartenenţă

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

80

Întârzierea medie m

O întârziere mai mare nu este acceptabilă

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

81

Numărul de angajaţi s

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

82

Factorul de utilizare a reparaţiilor

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

83

Numărul de piese de schimb n

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

84

Construirea regulilor fuzzy

Expertul trebuie să furnizeze cunoştinţele privind regulile

„Expertul” poate fi orice sursă de cunoaştere: cărţi, baze de date, scheme logice, comportamente umane observate etc.

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

85

Reprezentarea regulilor prin memorii asociative fuzzy

m

s

M

RL

VL

S

RS

L

VS

S

M

VS S M

L

M

S

Valorile lui n

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

86

1. If (utilisation_factor is L) then (number_of_spares is S)

2. If (utilisation_factor is M) then (number_of_spares is M)

3. If (utilisation_factor is H) then (number_of_spares is L)

4. If (mean_delay is VS) and (number_of_servers is S) then (number_of_spares is VL)

5. If (mean_delay is S) and (number_of_servers is S) then (number_of_spares is L)

6. If (mean_delay is M) and (number_of_servers is S) then (number_of_spares is M)

7. If (mean_delay is VS) and (number_of_servers is M) then (number_of_spares is RL)

8. If (mean_delay is S) and (number_of_servers is M) then (number_of_spares is RS)

9. If (mean_delay is M) and (number_of_servers is M) then (number_of_spares is S)

10.If (mean_delay is VS) and (number_of_servers is L) then (number_of_spares is M)

11.If (mean_delay is S) and (number_of_servers is L) then (number_of_spares is S)

12.If (mean_delay is M) and (number_of_servers is L) then (number_of_spares is VS)

Baza de reguli 1

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

87

Rule m s n Rule m s n Rule m s n

1 VS S L VS 10 VS S M S 19 VS S H VL

2 S S L VS 11 S S M VS 20 S S H L

3 M S L VS 12 M S M VS 21 M S H M

4 VS M L VS 13 VS M M RS 22 VS M H M

5 S M L VS 14 S M M S 23 S M H M

6 M M L VS 15 M M M VS 24 M M H S

7 VS L L S 16 VS L M M 25 VS L H RL

8 S L L S 17 S L M RS 26 S L H M

9 M L L VS 18 M L M S 27 M L H RS

Baza de reguli 2: tabela de reguli

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

88

VS VS VSVS VS VS

VS VS VS

VL L M

HS

VS VS VSVS VS VS

VS VS VSM

VS VS VSVS VS VS

S S VSL

s

LVS S M

m

MH

VS VS VS

LVS S M

S

m

VS VS VSM

S S VSL

s

S VS VS

MVS S M

m

VS S M

m

S

RS S VSM

M RS SL

s

S

M M SM

RL M RSL

s

Baza de reguli 2: memoria asociativă fuzzy

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

89

Implementarea sistemului

Folosind un instrument de dezvoltare specializat

De exemplu: Matlab Fuzzy Toolbox, Fuzzy Knowledge Builder etc.

Folosind un limbaj de programare

De exemplu: C#, Java, C++ etc.

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

90

Evaluare şi rafinare

Este cea mai laborioasă fază

Reprezintă validarea sistemului în raport cu cerinţele specificate

Unele instrumente pot genera suprafeţe de decizie care ajută la analizarea performanţelor sistemului

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

91

Baza de reguli 1

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.2

0.3

0.4

0.5

0.6

number_of_serversmean_delay

nu

mb

er_

of_

spa

res

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

92

Baza de reguli 1

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.2

0.3

0.4

0.5

0.6

utilisation_factormean_delay

nu

mbe

r_of_

spa

res

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

93

Baza de reguli 2

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.15

0.2

0.25

0.3

0.35

number_of_serversmean_delay

nu

mbe

r_of_

spa

res

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

94

Baza de reguli 2

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.2

0.3

0.4

utilisation_factormean_delay

nu

mbe

r_of_

spa

res

0.5

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

95

Rafinarea

Dacă performanţele nu sunt satisfăcătoare, se pot include în model mulţimi suplimentare

De exemplu Rather Small şi Rather Large pe universul de discurs al numărului de angajaţi s

Se extinde şi baza de reguli

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

96

Mulţimile modificate pentru s

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

97

Baza de reguli 3: memoria asociativă fuzzy

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

S S VS

S S VS

VL L M

VL RL RS

M M S

RL M RS

L M RS

HS

M

RL

L

RS

s

LVS S M

m

MH

VS VS VS

VS VS VS

VS VS VS

S S VS

S S VS

LVS S M

S

M

RL

L

RS

m

s

S VS VS

S VS VS

RS S VS

M RS S

M RS S

MVS S M

m

VS S M

m

S

M

RL

L

RS

s

S

M

RL

L

RS

s

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

98

Baza de reguli 3

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.15

0.2

0.25

0.3

0.35

number_of_serversmean_delay

nu

mbe

r_of_

spa

res

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

99

Baza de reguli 3

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.2

0.3

0.4

utilisation_factormean_delay

nu

mbe

r_of_

spa

res

0.5

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

100

Rafinarea sistemelor fuzzy (I)

Se analizează variabilele de intrare şi ieşire şi dacă este nevoie se redefinesc domeniile de definiţie

Se analizează mulţimile fuzzy şi dacă este nevoie se adaugă mulţimi suplimentare pe universul de discurs

Mulţimile „mari” conduc la un comportament nenuanţat al sistemului

Trebuie să existe o suprapunere suficientă în mulţimile vecine

Se recomandă o suprapunere de 25%-50% din baze (pentru numerele triunghiulare şi trapezoidale)

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

101

Rafinarea sistemelor fuzzy (II)

Se analizează regulile existente şi dacă este nevoie se adaugă noi reguli în baza de reguli

Se examinează baza de reguli în vederea aplicării de restrictori pentru anumite cazuri

Se pot modifica formele unor mulţimi

De obicei, sistemele fuzzy sunt tolerante la aproximările de formă

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

102

Logica vagă

1. Logica clasică şi logica vagă

2. Operaţii cu mulţimi vagi

3. Tipuri de inferenţă

4. Sistem expert fuzzy

5. Controlere fuzzy

6. Concluzii

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

103

Exemple

Sistem de control fuzzy pentru stabilizarea pendulului inversat

Sistem de control fuzzy pentru simularea funcţionării unei macarale

Sistem de control fuzzy pentru conducerea unei maşinuţe de golf

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

104

Pendulul inversat

Pentru detalii, vezi suportul de curs

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

Intrări

Unghiul θ

Viteza unghiulară dθ/dt

Ieşire

Viteza bazei u

Pendulul inversat

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

Mulţimile fuzzy

θ dθ/dt

u

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

Abordarea fuzzy

Mulţimea minimă de reguli pentru stabilizarea pendulului inversat (Yamakawa, 1989)

107

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

θ = 1 (x1)

dθ/dt = -4 (x2)

Exemplu: fuzzificare (cu o altă mulţime de reguli)

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

Consecvenţii fuzzy şi reuniunea lor Centroidul reuniunii (-2) este ieşirea strictă

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

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

111

Alt exemplu de implementare

http://www.erudit.de/erudit/demos/cartball/index.htm

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

112

Macaraua

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

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

113

Macaraua - reguli

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

114

Maşinuţa de golf

Pentru detalii, vezi suportul de curs

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

115

Alte aplicaţii din „lumea reală”

Subsisteme de autovehicule, transmisie automată, ABS

Control automat al trenului monorail din Tokyo

Aparate de aer condiţionat Motorul de animaţie

Massive Aparate de fotografiat Prelucrarea imaginilor

(de ex. detecţia muchiilor) Recunoaşterea modelelor

Lifturi

Maşini de spălat vase

Maşini de spălat, alte electrocasnice

Filtre de limbaj pe forumuri şi camere de discuţii

Jocuri video

Microcontrolere şi microprocesoare (de ex. Freescale 68HC12)

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

116

Mulţimile fuzzy şi probabilităţile

Probabilităţile se ocupă de situaţii care ar putea să apară

Mulţimile fuzzy modelează situaţii care există sigur, însă nu pot fi încadrate exact într-o categorie

O sticlă conţine o otravă mortală cu probabilitatea 10%

Altă sticlă are otravă cu o concentraţie de 10%

Concentraţia maximă admisă de otravă, care poate fi băută fără probleme, este de 20%

Din care sticlă aţi bea?

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

117

Concluzii

Logica fuzzy oferă posibilitatea de a reprezenta şi raţiona cu cunoştinţe comune, formulate în mod obişnuit şi de aceea şi-a găsit aplicabilitatea în numeroase domenii

Logica fuzzy are o valoare deosebită şi în aplicaţiile de control automat unde este dificil sau imposibil de dezvoltat un sistem de control tradiţional

Dificultăţile apar la determinarea funcţiilor de apartenenţă şi la reglarea parametrilor

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