Sisteme cu logica fuzzy - utcluj.ro

Preview:

Citation preview

Sisteme cu logica nuantata, G. Oltean

Sisteme cu logica fuzzy

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

Sisteme cu logica nuantata, G. Oltean

Structura unui sistem cu logică fuzzy Mamdani

3

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

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

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

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

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

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

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* = ?

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

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

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

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

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

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

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

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

Sisteme cu logica nuantata, G. Oltean

Structura si operatori SLF

19

Sisteme cu logica nuantata, G. Oltean

Baza de cunostinte

20

Sisteme cu logica nuantata, G. Oltean

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

control

Agregare: max

Defuzzificare: centroid

21

Sisteme cu logica nuantata, G. Oltean

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

22

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

Sisteme cu logica nuantata, G. Oltean

Inferenta si curba (suprafata) de

control

Agregare: max

Defuzzificare: centroid

24

Sisteme cu logica nuantata, G. Oltean

Comparatie pentru curba de control

25

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

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

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

Sisteme cu logica nuantata, G. Oltean

Solutia 1S-a actionat asupra multimilor fuzzy de iesire

solutia 1

solutia initiala

29

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

Sisteme cu logica nuantata, G. Oltean

Solutia 2Se considera suplimentar inca 2 puncte pe curba

solutia 1

solutia 2

31

Recommended