31
Sisteme cu logica nuantata, G. Oltean Sisteme cu logica fuzzy

Sisteme cu logica fuzzy - utcluj.ro

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Sisteme cu logica fuzzy

Page 2: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Structura unui sistem cu logică fuzzy

SLFx yX = universul discuţiei pentru x

Y = universul discuţiei pentru y

2

Page 3: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Structura unui sistem cu logică fuzzy Mamdani

3

Page 4: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

❖ Structura sistemului cu logică fuzzy

❑ Baza de cunoştinţe a SLF:

➢ Baza de date

- mulţimile fuzzy peste universul discuţiei variabilei de intrare, X;

- mulţimile fuzzy peste universul discuţiei variabilei de intrare, Y;

➢ Baza de reguli

- baza de reguli fuzzy; conectează valorile fuzzy ale variabilei x cu valorile

fuzzy ale variabilei y

❑ Operații (operatorii) SLF:

- fuzzificarea;

- inferenţa;

- defuzzificarea.

4

Page 5: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Baza de cunoştinţe a SLF

➢ Baza de cunoştinţe (multimi fuzzy + reguli lingvistice) este

specifică fiecărei aplicaţii; de calitatea ei depinde în general

calitatea SLF pentru o aplicaţie dată.

✓ Forma, numărul şi, în special, valorile numerice care definesc

suportul şi valoarea mediană a mulţimilor fuzzy afectează

calitatea aplicaţiei:

❖ definite de utilizator (proces de încercări succesive);

❖ rezultate in urma utilizarii unui algoritm automat de clasificare

(clasificare substractivă, Fuzzy C-Means) a unui set de date

numerice.

❖ rezultate în urma unui proces de instruire supervizată ce

utilizeaza un set de date numerice (anfis, AG)

5

Page 6: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Baza de cunoştinţe a SLF – cont.

✓ Regulile fuzzy trebuie să asocieze datele descrise prin mulţimi

fuzzy după legile de corespondenţă dorite (care sunt în general

uşor de exprimat lingvistic).

❖ definite de utilizator;

❖ generate automat în urma aplicarii unui algoritm de clasificare

(clasificare substractiva, Fuzzy C-Means) a unui set de date

numerice.

❖ generate automat în urma unui proces de instruire supervizată ce

utilizează un set de date numerice (AG)

6

Page 7: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Operaţiile (operatorii) SLF

➢ Fuzzificarea

Transformarea valorii tranşante de intrare x într-o mulţime fuzzy.

La un moment dat la intrare avem o singură valoare tranşantă x*

** Xxefuzzificar

⎯⎯⎯ →⎯valoare

tranșantămulțime fuzzy

singleton

==

x*, x

x*, xX*(x)

0

1

7

Page 8: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Inferenţa ➢ Cea mai complexă operaţie dintr-un SLF.

➢ Are sarcina de a “rezolva” baza de reguli fuzzy pentru valoarea

fuzzy de intrare X*,

➢ Utilizeaza mulţimile fuzzy de intrare şi ieşire ale SLF,

➢ La ieşire se obtine mulţimea fuzzy Y* din care se obţine prin

defuzzificare valoarea tranşantă y=y*.

Inferenţa trebuie să:

• deducă pe baza valorii fuzzy de intrare X* şi pe baza fiecărei reguli

fuzzy Ri rezultatul fuzzy Yi* - multimi fuzzy partiale de iesire

• combine toate rezultatele parţiale fuzzy Yi*, i=1,…, M, într-o singură

mulţime fuzzy de ieşire Y* - agregarea rezultatelor partiale

Inferenţa compozițională:

• Mamdani (max - min)

• Larsen (max – prod)

8

Page 9: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Agregarea rezultatelor partiale (sisteme Mamdani)

• Regulile din baza de reguli

a unui sistem cu logică fuzzy

se consideră legate între ele

prin conectivul “SAU”

• Pentru obtinerea multimii

fuzzy de iesire Y* se va utiliza

operatia de reuniune între

multimile fuzzy partiale Yi*

date de regulile Ri.

Operator de agregare “max”

9

Page 10: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Defuzzificarea (sisteme Mamdani)

➢ Rezultatul inferenţei este mulţimea fuzzy de ieşire Y*.

➢ Mărimea de ieşire a SLF trebuie să fie o valoare tranşantă, la fel ca şi intrările SLF.

➢ Selectarea unei valori tranşante y* din suportul lui Y* ca valoare de ieşire a SLF

y* = defuzzificare(Y*)

Exista mai multe metode de deffuzificare, selectarea uneia dintre ele fiind

specifică aplicației.

10

-10 -8 -6 -4 -2 0 2 4 6 8 10

0

0.5

1

Y*

y

y* = ?

Page 11: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

❖ Centrul de greutate / Centrul ariei (COG/COA)

➢ Centrul de greutate generează ca ieșire ordonata centrului ariei de sub curba ce

defineste multimea fuzzy de iesire.

➢ Daca aria este perceputa ca și o placa de densitate egala, centrul de greutate este

ordonata punctului fata de care placa sta in echilibru.

( )

( )

=

y Y

y Y

dyy

dyyyy

*

**

( )

( )

=

==N

i

iY

N

i

iYi

y

yy

y

1

1*

*

*

continuu discret

11

-10 -8 -6 -4 -2 0 2 4 6 8 10

0

0.5

1

y*=-3.2281

Y*

y

Page 12: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

❖ Bisectoare

➢ Bisectoarea este linia verticala care imparte regiunea in

doua subregiuni de arie egala

➢ Uneori coincide cu deffuzificare COG

12

-10 -8 -6 -4 -2 0 2 4 6 8 10

0

0.5

1

y*=-3.7

Y*

y

Page 13: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

❖ Maxim➢ Media maximelor (MOM)

➢ Cel mai mic maxim in valoare absoluta (Smallest of Maximum - SOM)

➢ Cel mai mare maxim in valoare absoluta (Largest of Maximum - LOM)

• In acest exemplu, deoarece exista un platou la valoarea maxima, cele trei

metode furnizeaza valori diferite.

• Daca Y* are un maxim unic cele trei metode vor furniza aceeasi valoare

(ordonata maximului)

13

-10 -8 -6 -4 -2 0 2 4 6 8 10

0

0.5

1

MOM

y*=-5 SOM

y*=-2 LOM

y*=-8

Y*

y

Page 14: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Alegerea metodei de deffuzificare

• Care este metoda potrivita?

• Nu exista un raspuns simplu.

• Se considera in general COA

buna pentru inceput in majoritatea

aplicatiilor.

• Ulterior aceasta se poate

modifica pentru a vedea daca alta

metoda lucreaza mai bine.

• Metodele de mediere (COA, bisectoare) se utilizeaza in general in

aplicatii de control. Nu se produc salturi in suprafata de control.

• Metodele de maxim (MOM, LOM, SOM) se utilizeaza in general in

aplicatii de decizie. Se pot produce salturi in suprafata de control.

14

Page 15: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Construirea unui sistem cu logică fuzzy SISO

• X, Y – universurile discuţiilor a două variabile lingvistice, x şi respectiv y.

• Dorim un SLF care să aibă pe x ca intrare şi y ca ieşire.

• Se ştie că y este determinată de către x, dar nu se ştie (din măsurători ale

unui proces real) decât că:

pentru x=x1=0 y=y1=0;

pentru x=x2 y=y2;

pentru x=x3 y=y3;

pentru x=x4=xmax, y=y4=ymax.

SLFx y

Mai ştim că legea de variaţie a lui y în funcţie de x trebuie să fie cât mai lină

],,0[],,0[ maxmax yYxX ==

15

Page 16: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Definirea mulţimilor fuzzyDefinim patru mulţimi fuzzy peste X:

X1, cu vârful în x1=0;

X2, cu vârful în x2;

X3, cu vârful în x3;

X4, cu vârful în x4=xmax.

Cea mai simplă alegere este definirea

X1…X4 sub formă de mulţimi fuzzy

triunghiulare. Ştim că xi aparţine complet

lui Xi , deci este logic să nu aparţină

deloc lui Xj, ji, i,j = {1,2,3,4}.

x4=xmax

y4=ymax

16

Page 17: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Definirea regulilor fuzzy din baza de reguli

Fiecare regulă trebuie să:

• asocieze xi cu yi pentru fiecare din punctele: (xi, yi), i=1...4

• asigure interpolarea fuzzy între aceste puncte.

R1: Dacă x este X1 atunci y este Y1.

R2: Dacă x este X2 atunci y este Y2.

R3: Dacă x este X3 atunci y este Y3.

R4: Dacă x este X4 atunci y este Y4.

Operatori utilizati in SLF

fuzzificare (singleton);

inferenţă (de ex., max-min);

defuzzificare (de ex., COA).

17

Page 18: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Exercitiu

➢ Sa se implementeze in Matlab SLF descris mai sus considerand

x[0, 12] si y[0, 20].

❖ Vizualizati modul de efectuare al operatiilor in SLF (View-Rules)

❖ Vizualizati curba intrare-iesire (View-Surface)

❖ Analizati influenta operatorilor asupra rezultatului obtinut

▪ Implicatie

▪ Agregare

▪ Deffuzificare

❖ Valorile pentru capetele de interval sunt corect determinate?

Daca nu, ce solutie propuneti?

18

Page 19: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Structura si operatori SLF

19

Page 20: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Baza de cunostinte

20

Page 21: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Inferența și curba (suprafața) de

control

Agregare: max

Defuzzificare: centroid

21

Page 22: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Valorile pentru capetele de interval sunt corect determinate? Dacă nu, ce soluție propuneți?

22

Page 23: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Soluție pentru capetele de interval

➢ Modificarea domeniului

de definitie a mf de iesire

➢ Redefinirea mf de iesire

la capetele intervalului

23

Page 24: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Inferenta si curba (suprafata) de

control

Agregare: max

Defuzzificare: centroid

24

Page 25: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Comparatie pentru curba de control

25

Page 26: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Sa se implementeze un sistem fuzzy care sa implementeze

caracteristica de transfer (curba de control) din figura:

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

x

y

Studiu de caz

26

Page 27: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Soluția inițială

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

X: 0

Y: 0

x

y

X: 1.5

Y: 0.225

X: 2.5

Y: 0.625

X: 5

Y: 2.5

X: 7.5

Y: 4.375

X: 8.5

Y: 4.775

X: 10

Y: 5

Se aleg 7 puncte de pe curba, pentru care se vor defini multimile

fuzzy si regulile fuzzy corespunzatoare

27

Page 28: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Solutia inițială

Cum se poate imbunatati

aproximarea furnizata de SLF?

Partiții fuzzy

Fiecare punct - o regula

28

Page 29: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Solutia 1S-a actionat asupra multimilor fuzzy de iesire

solutia 1

solutia initiala

29

Page 30: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

0 1 2 3 4 5 6 7 8 9 100

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

X: 0

Y: 0

x

y

X: 1.5

Y: 0.225

X: 2.5

Y: 0.625

X: 4

Y: 1.6

X: 5

Y: 2.5

X: 6

Y: 3.4

X: 7.5

Y: 4.375X: 8.5

Y: 4.775

X: 10

Y: 5

Solutia 2Se considera suplimentar inca 2 puncte pe curba

30

Page 31: Sisteme cu logica fuzzy - utcluj.ro

Sisteme cu logica nuantata, G. Oltean

Solutia 2Se considera suplimentar inca 2 puncte pe curba

solutia 1

solutia 2

31