Mulțimi fuzzy
Transcript of Mulțimi fuzzy
Sisteme cu logica nuantata, G. Oltean
Mulțimi fuzzy Este dificil de stabilit cu certitudine apartenenţa sau
neapartenenţa unui obiect dat la o clasă sau alta de obiecte.
Noţiunea de mulţime în forma ei clasică reprezintă mai
degrabă o idealizare a situaţiilor reale.
Există fenomene în care gradualitatea şi ambiguitatea joacă
un rol important (imprecizie care nu este de tip aleator).
Problema este de a putea aprecia în ce măsură un obiect
dat aparţine unei clase ale cărei margini nu pot fi
precizate clar (transant).
La baza logicii fuzzy se află o întrebare care ţine de esenţa
gândirii: “Ce este o clasă?”.
1 /24
Sisteme cu logica nuantata, G. Oltean
Împărţire în clase
Multimi fuzzy
Multimi clasice
“201 este amplificare mare”
adevarat
“199 este amplificare mare”
fals
“201 este amplificare mare”
adevarat – cu grad 0,55
“199 este amplificare mare”
adevarat – cu grad 0,45
Cum impartim in 2 clase (medie, mare)
valorile amplificarilor cuprinse intre 50 si 300?
2 /24
Sisteme cu logica nuantata, G. Oltean
Definire multime fuzzy Clasă de obiecte cu grade de apartenenţă continue. O mulţime fuzzy este
caracterizată de o funcţie de apartenenţă ce atribuie fiecărui obiect un
grad de apartenenţă între 0 şi 1.
i. Variabila lingvistică x =: o proprietate, un atribut al obiectului (obiectelor)
în discuţie (pentru un amplificator: amplificarea);
ii. Valoarea lingvistică A =: un adverb, adjectiv asociat variabilei lingvistice,
care dă numele mulţimii fuzzy asociate (medie, mare);
iii. Universul discuţiei X =: o mulţime clasică, tranşantă, pe care se definesc
mulţimile fuzzy (intervalul considerat pentru amplificare X = [50; 300];
iv. Funcţia de apartenenţă A =: asociază fiecărui element x gradul de
apartenenţă la mulţimea fuzzy A
A(x) : X[0; 1] (exemplu: medie(amplificare) : [50; 300][0; 1].
v. Gradul de apartenenţă =: măsura în care un element aparţine unei
mulţimi fuzzy, [0; 1] (mare(201) =0,55; pentru amplificare de 201 ce
aparţine mulţimii fuzzy ‘amplificare mare’)
3 /24
Sisteme cu logica nuantata, G. Oltean
Definire multime fuzzy- cont.
Mulţimea fuzzy A este complet determinată de mulţimea perechilor ordonate:
A = {(x, A(x))xX}.
variabila
lingvistica
valoare
lingvistica
universul
discutiei
0.55
grad de
apartenenta
functie de
apartenenta
0.3
Suportul unei multimi fuzzy A: Submultimea strictă a lui X ale cărei elemente
au grade de apartenenţă nenule în A: 0|)(supp xXxA A
4 /24
Sisteme cu logica nuantata, G. Oltean
Care variabile lingvistice se pretează la împărțire in mf?
Ce valori lingvistice se potrivesc?
1. Calitatea servirii la restaurant
2. Culorile semaforului
3. Înălțimea unei persoane
4. Temperatura
5. Lunile anului
5 /24
Sisteme cu logica nuantata, G. Oltean
0
0.2
0.4
0.6
0.8
1trapmf gbellmf trimf gaussmf gauss2mf smf
0
0.2
0.4
0.6
0.8
1zmf psigmf dsigmf pimf sigmfsingleton
Tipuri de mulţimi fuzzyMultimi fuzzy predefinite în Matlab
6 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy triunghiulară
restin;0
;
;
)()(
xaa
x
axa
x
xxA A
];[supp (A)
(finita) discreta multime o este
},...{ Daca ,2,1 nxxxX
n
n
xxxxA
;...;;
2
2
1
1
A – se mai numeste și numar fuzzy triunghiular
“x este apoximativ egal cu a”
Definită prin punctele de
inflexiune ),,( a
multimiicentrula
7 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy triunghiulara - exemplificare
13;5;10]15;0[ aX
Reprezentati grafic o mf triunghiulară
Care este expresia analitică a mf?
Care este suportul mf?
Care este centrul mf?
Consideraţi că universul discuţiei este finit, descris de valorile
}15,14,12,11,10,8,7,5,4,0{X
15
,14
,12
,11
,10
,8
,7
,5
,4
,0
)(xA
8 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy triunghiulara - implementare (cod Arduino)
9 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy trapezoidala
restin;0
;
;1
;
)()(
xbb
x
bxa
axa
x
xxA A
];[supp (A)
A – se mai numeste si numar fuzzy trapezoidal
“x este apoximativ in intervalul [a; b]”
intervalul de toleranta],[ ba
Definită prin punctele de
inflexiune ),,,( ba
10 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy trapezoidala - exemplificare
11;5];11,7[],[]15;0[ baX
Reprezentati grafic o mf triunghiulara
Care este expresia analitica a mf?
Care este suportul mf?
Care este intervalul de toleranta al mf?
Considerati ca universul discutiei este finit descris de valorile
}15,14,12,11,10,8,7,5,4,0{X
15
,14
,12
,11
,10
,8
,7
,5
,4
,0
)(xA
11 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy trapezoidala - implementare (cod Arduino)
12 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy gaussianac – centrul multimii
σ – abaterea standard;
controleaza forma multimii
0,
)()(2
2
2
)(
c
exxA
cx
A
X(A) supp
2;9;]15;0[ cXReprezentati grafic o mf gaussiana cu
15
,14
,12
,11
,10
,8
,7
,5
,4
,0
)(xA
Pentru cazul discret
13 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy gaussiana - implementare (cod Arduino)
14 /20
Sisteme cu logica nuantata, G. Oltean
Multime fuzzy singleton
c – centrul multimii
restin,0
,1)()(
cxxxA A
c(A) supp
A se mai numeste si punct fuzzy
15 /20
Sisteme cu logica nuantata, G. Oltean
Partitie fuzzy
Pentru fiecare element din universul discutiei X, suma gradelor de
apartenenta la toate multimile fuzzy definite peste X este egala cu 1.
N mf definite peste X
N
i
A
i
xXx
NiA
i
1
1)(,
,...,1,
Cum definim o partitie fuzzy formata din 5 mf pentru variabila
lingvistica “inaltimea unei persoane” considerand X=[140, 220] cm?
Ce valori lingvistice pot fi utilizate?
Care sunt
gradele de
apartenenta ale
valorii de 163
cm, la fiecare
mf?
16 /20
Sisteme cu logica nuantata, G. Oltean
Operatii cu multimi fuzzy
Intersectia XxxBxAxBA )()()(
Ce operator putem folosi pentru conectivul logic “si” ?
XxxxxBxAxBA BA ))(),(min()()()(
demo matlab – intersectie.m
17 /24
Sisteme cu logica nuantata, G. Oltean
Exemplificarea
intersectiei
pentru mf
discrete:
4
2.0,
3
3.0,
2
0.1,
1
0.1,
0
9.0,
1
3.0,
2
1.0
4
4.0,
3
3.0,
2
6.0,
1
0.1,
0
6.0,
1
3.0,
2
6.0
B
A
4
2.0,
3
3.0,
2
6.0,
1
0.1,
0
6.0,
1
3.0,
2
1.0BA
Pentru conectivul logic “si” se pot utiliza si alti operatori:
Operatorul utilizat pentru implementarea conectivului logic “si” trebuie sa
fie o norma triunghiulara (t - norma)
18 /24
Sisteme cu logica nuantata, G. Oltean
Definitie: O norma triunghiulara (t-norma) este o aplicatie
1] [0,1] [0,x]1,0[: T
simetrica, asociativa, nedescrescatoare in raport cu oricare argument si
T(a, 1) = a, pentru orice a[0, 1]. Cu alte cuvinte satisface proprietatile:
T(x, y) = T(y, x) (simetrie)
T(x, T(y, z)) = T(T(x, y), z) (asociativitate)
T(x, y) ≤ T(x*, y*) daca x ≤ x* si y ≤ y* (monotonie)
T(x, 1) = x, pentru orice x [0, 1] (identitate)
FACULTATIV
19 /24
Sisteme cu logica nuantata, G. Oltean
Reuniunea XxxBxAxBA )()()(
Ce operator putem folosi pentru conectivul logic “sau” ?
XxxxxBxAxBA BA ))(),(max()()()(
demo matlab – reuniune.m
Se utilizeaza la operatia de
agregare in SLF Mamdani
20 /24
Sisteme cu logica nuantata, G. Oltean
Exemplificarea
reuniunii
pentru mf
discrete:
4
2.0,
3
3.0,
2
0.1,
1
0.1,
0
9.0,
1
3.0,
2
1.0
4
4.0,
3
3.0,
2
6.0,
1
0.1,
0
6.0,
1
3.0,
2
6.0
B
A
4
4.0,
3
3.0,
2
0.1,
1
0.1,
0
9.0,
1
3.0,
2
6.0BA
Pentru conectivul logic “sau” se pot utiliza si alti operatori:
Operatorul utilizat pentru implementarea conectivului logic “sau” trebuie
sa fie o co-norma triunghiulara (t - conorma)
21 /24
Sisteme cu logica nuantata, G. Oltean
Definitie: O co-norma triunghiulara (t-conorma) este o aplicatie
1] [0,1] [0,x]1,0[: S
simetrica, asociativa, nedescrescatoare in raport cu oricare argument si
S(a, 0) = a, pentru orice a[0, 1]. Cu alte cuvinte satisface proprietatile:
S(x, y) = S(y, x) (simetrie)
S(x, S(y, z)) = S(S(x, y), z) (asociativitate)
S(x, y) ≤ S(x*, y*) daca x ≤ x* si y ≤ y* (monotonie)
S(x, 0) = x, pentru orice x [0, 1] (identitate)
Daca T este o t-norma atunci egalitatea
)1,1(1),( baTbaS
defineste o t-conorma si spunem ca S este derivat din T
FACULTATIV
22 /24
Sisteme cu logica nuantata, G. Oltean
ComplementCe operator putem folosi pentru
complement (negare) ?XxxxA A ),(1)(
Sunt
satisfacute
legile din
teoria
multimilor
clasice ?
• legea tertului exclus
• legea noncontradictiei
• legile lui De Morgan BABA
OAA
XAA
• NU (Lukasiewicz -da)
• NU (Lukasiewicz -da)
• DA
demo matlab –
complement.m
23 /24
Sisteme cu logica nuantata, G. Oltean
Exercitiu
24 /24