Sisteme cu logica fuzzy - bel.utcluj.ro

Tehnici de inteligenta computationala in electronica G. Oltean Tipuri de sisteme cu logica fuzzy SISO MISO MIMO Mamdani - iesiri: mf conventionale...

111 downloads 633 Views 741KB Size
Sisteme cu logica fuzzy

Tehnici de inteligenta computationala in electronica

G. Oltean

1 /17

Tipuri de sisteme cu logica fuzzy ❖ SISO ❖ MISO ❖ MIMO ❖ Mamdani - iesiri: mf conventionale ❖ Takagi – Sugeno - iesiri: mf singleton ➢ de

ordin zero (constant) ➢ de ordin 1 (liniar)

Tehnici de inteligenta computationala in electronica

G. Oltean

Structura unui sistem cu logică fuzzy - SISO X = universul discuţiei pentru x Y = universul discuţiei pentru y

Tehnici de inteligenta computationala in electronica

G. Oltean

3 /17

Structura unui sistem cu logică fuzzy Mamdani

Tehnici de inteligenta computationala in electronica

G. Oltean

4 /17

❖ Structura sistemului cu logică fuzzy

• Baza de cunoştinţe a SLF: - 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 fuzzy, care leagă între ele valorile fuzzy ale variabilei de intrare (x) de valorile fuzzy ale variabilei de iesire (y)

• Operatii (operatorii) SLF:

- fuzzificarea; - inferenţa (+ agregare la Mamdani); - defuzzificarea.

Tehnici de inteligenta computationala in electronica

G. Oltean

5 /17

Baza de cunoştinţe a SLF ➢ Baza de cunoştinţe 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, şi obţinerea lor este: ❖ fie rezultatul unui proces de încercări succesive; ❖ fie rezultatul învăţării supervizate pe baza unuii set de date (ANFIS); ❖ fie rezultatul unui proces de clasificare în mulţimi (clase) fuzzy a unor date cunoscute (clasificare substractiva, Fuzzy C-Means).

➢ Regulile fuzzy sunt mai uşor de definit, deoarece ele trebuie doar să asocieze datele descrise prin mulţimi fuzzy după legile de corespondenţă dorite (în general uşor de exprimat lingvistic). Tehnici de inteligenta computationala in electronica

G. Oltean

6 /17

Operaţiile (operatorii) SLF ➢ Fuzzificarea Transformarea valorii tranşante de intrare x* într-o mulţime fuzzy X*.

x   X fuzzificare *

valoare transanta

*

multime fuzzy singleton

1, x  x* X*(x)   0, x  x* Tehnici de inteligenta computationala in electronica

G. Oltean

7 /17

Inferenţa

➢ Cea mai complexă operaţie dintr-un SLF. ➢ Are sarcina de a “rezolva” baza de reguli fuzzy pentru valoarea fuzzy curenta 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* al regulii Ri. • să fuzioneze toate rezultatele parţiale fuzzy Yi*, i=1,…, M, într-o singură mulţime fuzzy de ieşire Y* - agregarea rezultatelor partiale – doar pentru sisteme Mamdani Inferenţa compozitionala: • Mamdani (max - min) • Larsen (max – prod) Tehnici de inteligenta computationala in electronica

G. Oltean

8 /17

Agregarea rezultatelor partiale (doar la SLF 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 operatorul de agregare “max” intre multimile fuzzy partiale Yi* date de regulile Ri.

Tehnici de inteligenta computationala in electronica

G. Oltean

9 /17

Defuzzificarea ➢ 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*) 1

Y* 0.5

y 0

y* = ? -10

-8

-6

-4

-2

0

2

4

6

8

10

Exista mai multe metode de deffuzificare, selectarea uneia dintre ele fiind specifica aplicatiei Tehnici de inteligenta computationala in electronica

G. Oltean

10 /17

❖ Centrul de greutate / Centrul ariei (COG/COA) ➢ Centrul de greutate genereaza ca iesire ordonata centrului ariei de sub curba ce defineste multimea fuzzy de iesire. ➢ Daca aria este perceputa ca si o placa de densitate egala, centrul de greutate este punctul fata de care placa sta in echilibru. 1

Y* 0.5

y 0

y*=-3.2281

Domeniul continuu

y*

-10

-8

-6

-4

-2

yY *  y dy

     y dy y

y

0

2

4

Domeniul discret

Y*

Tehnici de inteligenta computationala in electronica

6

8

10

N

 y  y  i

y  *

i 1 N

i

  y  i 1

G. Oltean

Y*

Y*

i

11 /17

❖ Bisectoare ➢ Bisectoarea este linia verticala care imparte regiunea in doua subregiuni de arie egala ➢ Uneori coincide cu deffuzificarea COG

1

Y* 0.5

y 0

y*=-3.7 -10

-8

-6

-4

-2

0

Tehnici de inteligenta computationala in electronica

2

4

6

G. Oltean

8

10

12 /17



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) 1

Y* 0.5

y 0

-10

LOM

MOM

SOM

y*=-8

y*=-5

y*=-2

-8

-6

-4

-2

0

2

4

6

8

10

• 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) Tehnici de inteligenta computationala in electronica

G. Oltean

13 /17

Alegerea metodei de deffuzificare

• Care dintre metode este cea potrivita?

- Nu exista un raspuns simplu.

• Se considera in general COA buna pentru inceput in majoritatea aplicatiilor de control. Ulterior aceasta se poate modifica pentru a vedea daca alta metoda lucreaza mai bine. • Metodele de maxim se pot utiliza in cazul unor sisteme de decizie (sisteme expert) Tehnici de inteligenta computationala in electronica

G. Oltean

14 /17

Construirea unui sistem cu logică fuzzy SISO • X, Y – universurile discuţiilor a două variabile, 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 pentru x=x2 pentru x=x3 pentru x=x4=X,

y=y1=0; y=y2; y=y3; y=y4=Y.

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

Tehnici de inteligenta computationala in electronica

SLF

y

G. Oltean

15 /17

Definim 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=X.

Tehnici de inteligenta computationala in electronica

Definirea mulţimilor fuzzy 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, ji, i,j = {1,2,3,4}.

G. Oltean

16 /17

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). Tehnici de inteligenta computationala in electronica

G. Oltean

17 /17

Exercitiu ➢ Sa se implementaeze in Matlab SLF descris mai sus considerand x[0, 12] si y[0, 20]. ❖ Vizualizati modul de efectuare al opertiilor 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?

Tehnici de inteligenta computationala in electronica

G. Oltean

Structura si operatori SLF

Tehnici de inteligenta computationala in electronica

G. Oltean

Baza de cunostinte

Tehnici de inteligenta computationala in electronica

G. Oltean

Inferenta si curba (suprafata) de control

Agregare: max Defuzzificare: centroid

Tehnici de inteligenta computationala in electronica

G. Oltean

Valorile pentru capetele de interval sunt corect determinate? Daca nu, ce solutie propuneti?

Tehnici de inteligenta computationala in electronica

G. Oltean

Solutie pentru capetele de interval ➢ Modificarea domeniului de definitie a mf de iesire ➢ Redefinirea mf de iesire la capetele intervalului

Tehnici de inteligenta computationala in electronica

G. Oltean

Inferenta si curba (suprafata) de control

Agregare: max Defuzzificare: centroid

Tehnici de inteligenta computationala in electronica

G. Oltean

Comparatie pentru curba de control

Tehnici de inteligenta computationala in electronica

G. Oltean

Studiu de caz Sa se implementeze un sistem fuzzy care sa implementeze caracteristica de transfer (curba de control) din figura: 5 4.5 4 3.5

y

3 2.5 2 1.5 1 0.5 0

0

1

2

3

4

Tehnici de inteligenta computationala in electronica

5 x

6

7

G. Oltean

8

9

10

Modeling a function ❖ Curve fitting by using fuzzy sets and fuzzy rules (fuzzy patches) • •

Small number of rules - large patches (rough approximation) Large number of rules – small patches (fine approximation) The overlapping of the input fuzzy sets leads to a smooth approximation of the function If there is no overlapping of the input fuzzy sets, a stepwise function approximation results

Tehnici de inteligenta computationala in electronica

G. Oltean

27 /17

Solutia initiala Se aleg 7 puncte de pe curba, pentru care se vor defini multimile fuzzy si regulile fuzzy corespunzatoare 5 X: 8.5 Y: 4.775

4.5

X: 10 Y: 5

X: 7.5 Y: 4.375

4

3.5

3

y

X: 5 Y: 2.5

2.5

2

1.5

1

X: 2.5 Y: 0.625

0.5 X: 0 Y: 0

0

0

X: 1.5 Y: 0.225

1

2

3

4

5 x

Tehnici de inteligenta computationala in electronica

6

7

8

G. Oltean

9

10

Solutia initiala

5 4.5 4 3.5

y

3 2.5 referinta sol.initiala

2 1.5 1 0.5 0

0

1

2

3

4

Cum se poate imbunatati aproximarea furnizata de SLF? Tehnici de inteligenta computationala in electronica

G. Oltean

5 x

6

7

8

9

10

Solutia 1

S-a actionat asupra multimilor fuzzy de iesire solutia initiala

6

5

solutia 1

4

y

3 referinta sol.initiala sol 1

2

1

0

-1 0

Tehnici de inteligenta computationala in electronica

1

G. Oltean

2

3

4

5 x

6

7

8

9

10

Solutia 2 Se considera suplimentar inca 2 puncte pe curba 5 X: 7.5 Y: 4.375

4.5

X: 8.5 Y: 4.775

X: 10 Y: 5

4 X: 6 Y: 3.4

3.5

3

y

X: 5 Y: 2.5

2.5

2

X: 4 Y: 1.6

1.5

1

X: 2.5 Y: 0.625 X: 1.5 Y: 0.225

0.5 X: 0 Y: 0

0

0

1

2

3

4

Tehnici de inteligenta computationala in electronica

5 x

6

G. Oltean

7

8

9

10

Solutia 2

Se considera suplimentar inca 2 puncte pe curba

solutia 1

6

5

solutia 2

4

y

3

2

1

referinta sol.initiala sol 1 sol 2

0

-1 0

Tehnici de inteligenta computationala in electronica

1

G. Oltean

2

3

4

5 x

6

7

8

9

10