Logica fuzzy Precizie si realitate Paternitatea logicii fuzzy Istoric Multimi fuzzy Fuzzy vs. probabilitate Operatii cu multimi fuzzy Implementare Arduino a mf 1 / 27
Precizie si realitate Fuzzy: vag neclar imprecis scamos pufos nuanţat Fuzziness: imprecizie nestatistica si caracter vag al informatiilor si datelor. Logica fuzzy o găsim peste tot unde avem de-a face cu importanţa relativă a preciziei: Cât de importantă este precizia când este mulţumitor şi un răspuns aproximativ dar semnificativ? [Reznik 97] 2 / 27
Precizie si realitate cont. Precizia nu este realitate (adevăr). Henri Matisse Cred că nimic nu este adevăr necondiţionat şi astfel mă împotrivesc oricărei afirmaţii de adevăr deplin şi oricărei persoane care o face. H. L. Mencken Atâta vreme cât legile matematicii se referă la realitate ele nu sunt sigure. Şi atâta vreme cât sunt sigure ele nu se referă la realitate. Albert Einstein Pe masură ce creşte complexitatea formulările precise pierd din înţeles şi formulările pline de înţeles pierd din precizie. Lotfi Zadeh Perle ale înţelepciunii populare: Nu vede pădurea din cauza copacilor Nu fi scump la tărâţe şi ieftin la făină 3 / 27
Paternitatea logicii fuzzy Lotfi Zadeh (1921 ) Gloria de a fi considerat părintele logicii fuzzy îi revine lui Lotfi A. Zadeh în urma publicării articolului său Mulţimi fuzzy în revista Information and Control în anul 1965 În 1991 la Tokyo Zadeh spune că editorul din acea vreme al revistei i-a confirmat ceea ce presupunea şi el şi anume că articolul a fost publicat numai pentru că Zadeh era un membru al colectivului de redacţie. Motivul pentru care am ales cuvântul fuzzy este că ceea ce am avut în minte sunt clasele care nu au graniţe precis delimitate. Logica fuzzy nu este exact genul de termen pe care l-aţi folosi în literatura ştiinţifică [ ]. Mă gândesc că termenul a provocat anumite controverse. Dar controversa serveşte unui scop util dând subiectului o mai mare vizibilitate. Unii oameni sunt potrivnici logicii fuzzy chiar dacă nu ştiu ce este numai din cauza numelui. Dar ca şi cu orice altceva odată cu trecerea timpului numele devin mai puţin importante. 4 / 27
Istoric al logicii fuzzy [Ebe07] Eberhart R. Shi Y. Computational Intelligence. Concepts to Implementations Elsevier Morgan Kaufman Publisher ISBN 978-1-55860-759-0 2007; Pagini: 270-275 5 / 27
De ce să utilizam logica fuzzy? Este usor de inteles si implementat Este flexibila Este toleranta la date imprecise Poate modela functii complexe cu nivel ridicat de precizie Poate utiliza cunostintelor expertilor (exprimate calitativ lingvistic) Poate fi combinata cu tehnici conventionale de control Se bazeaza pe limbajul natural Nu utilizam logica fuzzy daca: exista deja o solutie simpla exista controlere care functioneaza foarte bine nu este convenabila din anumite motive Logica fuzzy - codificarea bunului simt utilizati bunul simt la implemetare si probabil veti lua cele mai bune decizii 6 / 27
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ă?. 7 / 27
Împărţire în clase Multimi clasice Cum impartim in 2 clase (medie mare) valorile amplificarilor cuprinse intre 50 si 300? 201 este amplificare mare adevarat 199 este amplificare mare fals Multimi fuzzy 201 este amplificare mare adevarat cu grad 055 199 este amplificare mare adevarat cu grad 045 8 / 27
Definire mulțime fuzzy Clasă de obiecte cu grade de apartenenţă continue. O astfel de mulţime 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) =055; pentru amplificare de 201 ce aparţine mulţimii fuzzy amplificare mare ) 9 / 27
Definire mulțime fuzzy - cont. 0.55 0.3 grad de apartenenta functie de apartenenta valoare lingvistica variabila lingvistica universul discutiei Mulţimea fuzzy A este complet determinată de mulţimea perechilor ordonate: A = {(x A (x))xx}. Suportul unei multimi fuzzy A: Submultimea strictă a lui X ale cărei elemente au grade de apartenenţă nenule în A: supp( A) x X A x 0 10 / 27
Care variabile lingvistice se preteaza la impartire in mf? Ce valori lingvistice se potrivesc? 1. Calitatea servirii la restaurant 2. Culorile semaforului 3. Inaltimea unei persoane 4. Temperatura 5. Lunile anului 6. Variația comenzii unui element de acționare (actuator) 11 / 27
Tipuri de multimi fuzzy Multimi fuzzy predefinite in Matlab 1 0.8 0.6 0.4 0.2 0 trapmf gbellmf trimf gaussmf gauss2mf smf 1 0.8 0.6 0.4 0.2 0 zmf singleton psigmf dsigmf pimf sigmf 12 / 27
Mulțime fuzzy triunghiulară Definită prin punctele de inflexiune ( a ) a centrul multimii x ; x a a x A( x) A( x) ; a x a 0; in rest supp(a) [ ; ] A se mai numeste și numar fuzzy triunghiular Daca X { x x2... x x este apoximativ egal cu a 1 n este o multime discreta (finita) } A x 1 ; x1 2 x 2 ;... ; n x n 13 / 27
Multime fuzzy triunghiulara - exemplificare Reprezentati grafic o mf triunghiulară X [ 0; 15] a 10; 5; 13 Care este expresia analitica a mf? Care este suportul mf? Care este centrul mf? Considerati ca universul discutiei este finit descris de valorile X {0 4 57 8 10 A(x) 0 11 4 12 5 14 7 15} 8 10 11 12 14 15 14 / 27
Multime fuzzy triunghiulara - implementare (cod Arduino) 15 / 27
Multime fuzzy trapezoidala Definită prin punctele de inflexiune ( a b ) [ a b] intervalul de toleranta A( x) ( x) A x ; a 1; x ; b 0; x a a x b b x in rest supp(a) [ ; ] A se mai numeste si numar fuzzy trapezoidal x este apoximativ in intervalul [a; b] 16 / 27
Multime fuzzy trapezoidala - implementare (cod Arduino) 17 / 27
Multime fuzzy trapezoidala - exemplificare Reprezentati grafic o mf triunghiulara X [ 0; 15] [ a b] [711]; 5; 11 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 X {0 4 57 8 10 11 12 14 15} A(x) 0 4 5 7 8 10 11 12 14 15 18 / 27
Multime fuzzy gaussiana c centrul multimii σ abaterea standard; controleaza forma multimii Definită prin valorile A( x) ( c) ( x) A c e 0 ( xc) 2 2 2 supp(a) X Reprezentati grafic o mf gaussiana cu X [ 0; 15]; c 9; 2 Pentru cazul discret A(x) 0 4 5 7 8 10 11 12 14 15 19 / 27
Multime fuzzy gaussiana - implementare (cod Arduino) 20 / 27
Multime fuzzy singleton c centrul multimii supp(a) c A( x) A ( x) 1 0 x c in rest A se mai numeste si punct fuzzy 21 / 27
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 A i x X i 1... N i1 N A i ( x) 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? 22 / 27
Operatii cu multimi fuzzy Intersectia Ce operator putem folosi pentru conectivul logic si? A B( x) A( x) B( x) x X A B( x) A( x) B( x) min( ( x) ( x)) A B x X demo matlab intersectie.m 23 / 27
Exemplificarea intersectiei pentru mf discrete: 0.6 A 2 0.1 B 2 0.3 1 0.3 1 0.6 0 0.9 0 1.0 1 1.0 1 0.1 0.3 0.6 A B 2 1 0 Pentru conectivul logic si se pot utiliza si alti operatori: 0.6 2 1.0 2 1.0 1 0.3 3 0.3 3 0.6 2 0.4 4 0.2 4 0.3 3 0.2 4 Operatorul utilizat pentru implementarea conectivului logic si trebuie sa fie o norma triunghiulara (t - norma) 24 / 27
Definitie: O norma triunghiulara (t-norma) este o aplicatie T : [01] x[01] [01] 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) T(x T(y z)) = T(T(x y) z) T(x y) T(x * y * ) daca x x* si y y * T(x 1) = x pentru orice x [0 1] (simetrie) (asociativitate) (monotonie) (identitate) Facultativ 25 / 27
Reuniunea A B( x) A( x) B( x) Ce operator putem folosi pentru conectivul logic sau? A B( x) A( x) B( x) max( ( x) ( x)) A B x x X X demo matlab reuniune.m Se utilizeaza la operatia de agregare in SLF 26 / 27
Exemplificarea reuniunii pentru mf discrete: A B 0.6 A 2 0.1 B 2 0.6 2 0.3 1 0.3 1 0.3 1 0.6 0 0.9 0 0.9 0 1.0 1 1.0 1 1.0 1 0.6 2 1.0 2 1.0 2 Pentru conectivul logic sau se pot utiliza si alti operatori: 0.3 3 0.3 3 0.3 3 0.4 4 0.2 4 0.4 4 Operatorul utilizat pentru implementarea conectivului logic sau trebuie sa fie o co-norma triunghiulara (t - conorma) 27 / 27
Facultativ Definitie: O co-norma triunghiulara (t-conorma) este o aplicatie S : [01] x[01] [01] 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) S(x S(y z)) = S(S(x y) z) S(x y) S(x * y * ) daca x x* si y y * S(x 0) = x pentru orice x [0 1] (simetrie) (asociativitate) (monotonie) (identitate) Daca T este o t-norma atunci egalitatea S( a b) 1T(1 a1b) defineste o t-conorma si spunem ca S este derivat din T 28 / 27
Complement Ce operator putem folosi pentru complement (negare)? A( x) 1 A( x) x X demo matlab complement.m legea tertului exclus legea noncontradictiei legile lui De Morgan A A A A X O A B A B Sunt satisfacute legile din teoria multimilor clasice? NU (Lukasiewicz -da) NU (Lukasiewicz -da) DA 29 / 27
Exercitiu 30 / 27