Sisteme cu logica fuzzy - bel. · PDF file(ANFIS); fie rezultatul unui proces de clasificare...

Post on 01-Feb-2018

246 views 0 download

Transcript of Sisteme cu logica fuzzy - bel. · PDF file(ANFIS); fie rezultatul unui proces de clasificare...

Tehnici de inteligenta computationala in electronica G. Oltean 1 /17

Sisteme cu logica fuzzy

Tehnici de inteligenta computationala in electronica G. Oltean

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 3 /17

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 4 /17

Structura unui sistem cu logică fuzzy Mamdani

Tehnici de inteligenta computationala in electronica G. Oltean 5 /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 6 /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 7 /17

Operaţiile (operatorii) SLF

➢ Fuzzificarea

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

** Xxefuzzificar

valoare

transantamultime fuzzy

singleton

x*, x

x*, xX*(x)

0

1

Tehnici de inteligenta computationala in electronica G. Oltean 8 /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 9 /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 10 /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*)

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

specifica aplicatiei

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

0

0.5

1

Y*

y

y* = ?

Tehnici de inteligenta computationala in electronica G. Oltean 11 /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.

y Y

y Y

dyy

dyyyy

*

**

N

i

iY

N

i

iYi

y

yy

y

1

1*

*

*

Domeniul

continuu Domeniul

discret

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

0

0.5

1

y*=-3.2281

Y*

y

Tehnici de inteligenta computationala in electronica G. Oltean 12 /17

❖ Bisectoare

➢ Bisectoarea este linia verticala care imparte regiunea in

doua subregiuni de arie egala

➢ Uneori coincide cu deffuzificarea COG

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

0

0.5

1

y*=-3.7

Y*

y

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

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

-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

Tehnici de inteligenta computationala in electronica G. Oltean 14 /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 15 /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 y=y1=0;

pentru x=x2 y=y2;

pentru x=x3 y=y3;

pentru x=x4=X, y=y4=Y.

SLFx y

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

Tehnici de inteligenta computationala in electronica G. Oltean 16 /17

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

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}.

Tehnici de inteligenta computationala in electronica G. Oltean 17 /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

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

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

Tehnici de inteligenta computationala in electronica G. Oltean 27 /17

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

Solutia initiala

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

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

y

referinta

sol.initiala

Solutia initiala

Cum se poate imbunatati aproximarea furnizata de SLF?

Tehnici de inteligenta computationala in electronica G. Oltean

0 1 2 3 4 5 6 7 8 9 10-1

0

1

2

3

4

5

6

x

y

referinta

sol.initiala

sol 1

Solutia 1S-a actionat asupra multimilor fuzzy de iesire

solutia 1

solutia initiala

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

Tehnici de inteligenta computationala in electronica G. Oltean

0 1 2 3 4 5 6 7 8 9 10-1

0

1

2

3

4

5

6

x

y

referinta

sol.initiala

sol 1

sol 2

Solutia 2Se considera suplimentar inca 2 puncte pe curba

solutia 1

solutia 2