What is Fuzzy
-
Upload
mihaela-grigore -
Category
Documents
-
view
18 -
download
1
description
Transcript of What is Fuzzy
Departamentul de Automatică şi Ingineria Sistemelor Universitatea Politehnica din Bucureşti
Facultatea de Automatică şi Calculatoareacse.pub.ro
WHAT IS FUZZY
Elemente de logica fuzzy
În 1965, Zadeh a introdus mulţimile fuzzy ca o metodă matematică de reprezentare a
incertitudinilor, informaţiilor vagi, datelor neclare şi imprecise, prezente în viaţa de zi cu zi, care
sunt dificil de modelat prin tehnici convenţionale. Aplicaţiile care utilizează aceste metode
variază de la aproximarea deciziilor pe baza experienţei operatorilor până la conducerea
euristică de mare complexitate.
Sistemele bazate pe tehnici fuzzy utilizează o serie de noţiuni, precum mulţimi şi logica
fuzzy, funcţii de apartenenţă, tabele de reguli, care vor fi discutate în cele ce urmează.
Mulţimi fuzzy
Cea mai eficientă modalitate de a reprezenta variabilele lingvistice este utilizând teoria
mulţimilor fuzzy, deoarece cunoştintele experţilor şi operatorilor umani sunt în general vagi
(fuzzy). Pentru a rezolva reprezentarea incertitudinilor şi a informatiilor subiective, Zadeh a
introdus gradul de apartenenţă al unui element la o mulţime. Acest grad spune cât de posibil
este ca acel element să aparţină mulţimii considerate.
Fie X o colecţie de obiecte şi fie x un elemente generic al mulţimii X. O mulţime în sens
What is fuzzy 1/20
clasic, A, inclusă în X, se defineşte ca fiind o colecţie de elemente x ale lui X astfel încât fiecare
element x poate fie să aparţină, fie să nu aparţină mulţimii A. În contrast cu mulţimea în sens
clasic, o mulţime fuzzy exprimă gradul în care un element aparţine unei anumite colecţii de obiecte.
Definitie. Fie X o colecţie de obiecte x. O mulţime fuzzy A peste mulţimea X se
defineşte printr-un set de perechi ordonate de forma:
A = {(x,μA (x)) / x∈X},
unde μA (x) se numeşte funcţie de apartenenţă a mulţimii fuzzy A
iar mulţimea X se numeşte univers de discurs şi ea poate fi discretă sau continuă
Construirea unei mulţimi fuzzy depinde de stabilirea universului de discurs şi a funcţiei
de apartenenţă. Alegerea funcţiei de apartenenţă este subiectivă, în sensul că persoane diferite
pot alege funcţii de apartenenţă diferite pentru a exprima acelaşi concept. Acest subiectivism
decurge din diferenţele care există între indivizi relativ la modul de a percepe şi exprima
concepte abstracte.
Suportul (“support”) unei mulţimi fuzzy A este dat de mulţimea elementelor x∈X
pentru care μA (x) > 0 :
support(A) = {x∈X/μA (x) > 0}
What is fuzzy 2/20
Nucleul (limba engleză: “core”) unei mulţimi fuzzy A este dat de mulţimea elementelor
x∈A pentru care μA (x) =1:
core(A) = {x∈X/μA (x) =1}
Mulţimea fuzzy A este normală dacă nucleul său este o mulţime nevidă (existăcel puţin
un element x∈A astfel încât μA (x) =1).
Un punct de încrucişare (“crossover point”) al unei mulţimi fuzzy A este reprezentat de
un element x ∈X pentru care μA (x) = 0.5:
crossover(A) = {x∈X/μA (x) = 0.5}
Mulţimea fuzzy A al cărei suport este format dintr-un singur element x ∈X
pentru care μA (x) =1 se numeşte singleton.
Tăietura-α a unei mulţimi fuzzy A este mulţimea în sens clasic formată din
elementele x∈X pentru care μA (x) ≥ α :
Aα = {x∈X/μA (x) ≥ α}
Tăietura-α puternică a mulţimii fuzzy A este dată de:
A'α = {x∈X/μA (x) > α}
O mulţime fuzzy A este simetrică dacă funcţia sa de apartenenţă este simetrică în jurul
unui punct c∈X:
μA (c+x) = μA (c-x), ∀x∈X
O mulţime fuzzy A este:
- deschisă la stânga dacă:
limx−∞
A x=1 si limx∞
Ax=0
- deschisă la dreapta dacă:
limx−∞
A x=0 si limx∞
A x=1
- închisă dacă:
limx−∞
A x=0 si limx∞
A x=0
What is fuzzy 3/20
Incluziunea fuzzy
Mulţimea fuzzy A este inclusă în mulţimea fuzzy B dacă şi numai dacă:
μA (x) ≤ μB(x), ∀x∈X
adica: A ⊆ B μ⇔ A (x) ≤ μB(x)
A
B
Intersectia fuzzy
Intersecţia a două mulţimi fuzzy A şi B este tot o mulţime fuzzy, C:
μA∩B(x) =min{μA(x), μB(x)} (SI/AND)
Reuniunea fuzzy
Reuniunea a două mulţimi fuzzy A şi B este tot o mulţime fuzzy, C:
μA∪B(x) =max{μA(x), μB(x)} (SAU/OR)
What is fuzzy 4/20
Funcţii de apartenenţă
Funcţia care ataşează un grad de apartenenţa oricărui element la o mulţime se numeşte
funcţie de apartenenţă. Aceasta poate fi reprezentată numeric (cvasi-continuu sau discret). În
primul caz este o funcţie matematică, în cel de-al doilea caz, un vector. Funcţia de apartenenţă
poate lua mai multe forme, dintre cele mai populare fiind funcţii-s, funcţii-z, funcţii-Π, funcţii
triunghiulare, funcţii trapezoidale. Aşadar, o mulţime fuzzy este descrisă de gradul de
apartenenţă a tuturor elementelor universului de interes.
What is fuzzy 5/20
0 2 4 6 8 1 0 0
0 . 2
0 . 4
0 . 6
0 . 8
1
u
µ
L triunghi trapez Γ
0 2 4 6 8 1 0 0
0 . 2
0 . 4
0 . 6
0 . 8
1
u
µ curbă Π curbă Z curbă S
Variabile fuzzy - reprezentare
Pentru a reprezenta complet o variabila fuzzy, se definesc:
- variabila lingvistica (x): o proprietate / atribut al obiectelor analizate
- valorile ligvistice ale acestei variabile (A): un adverb / adjectiv asociat care sa numele
multimii fuzzy asociate (mic, mare, mediu etc.)
- universul de discurs (X): multimea clasica pe care se definesc variabilele lingvistice
- functiile de apartenenta (μA): acestea asociaza fiecarui element x gradul de apartenenta
la multimea fuzzy A
- gradul de apartenenta μ: masura in care un element apartine unei multimi fuzzy
Cel mai frecvent sunt utilizate valori lingvistice cum ar fi: pozitiv mare (PM), pozitiv
mic (Pm), zero (Z), negativ mic (Nm) şi negativ mare (NM), definite pe domeniile normalizate
de variaţie a variabilelor fizice.
What is fuzzy 6/20
Rationament fuzzy. Mecanisme de inferenta
În logica clasică, o propoziţie poate sa fie ori adevarată, ori falsă, nu amandouă în acelaşi
timp. În logica fuzzy, o propoziţie poate fi ori adevarată, ori falsă, ori poate avea o valoare
intermediară, ca de exemplu poate adevarată. Valorile de adevăr ale unei propoziţii în logica
fuzzy pot fi exprimate cu ajutorul unui tabel de adevăr.
Raţionamentul fuzzy este o procedură de inferenţă care furnizează concluzii pe baza
unui set de reguli fuzzy "dacă - atunci" ("if - then") şi a unui set de fapte cunoscute
Reguli fuzzy si baze de reguli
Regulile fuzzy sunt reprezentate prin relatii fuzzy intre doua functii de apartenenta:
"daca x este A si y este B atunci z este C"
Relatia fuzzy R dintre cele doua variabile x si y poate fi scrisa sub forma matematica
astfel:
μR(x) =min{μA(x), μB(x)} sau μR(x) = μA(x) μB(x) (operatia SI/AND)
Rezultatul obtinut combina doua multimi fuzzy printr-un operatie de tip produs
cartezian:
R: X x Y → [0, 1]
unde X si Y sunt universurile de discurs ale variabilelor lingvistice x si y.
De exemplu, rezultatul operatiei min intre x si y este reprezentat in figura urmatoare
(dreapta jos):
What is fuzzy 7/20
Premise: Intr-o regula fuzzy, premisele sunt propozitiile fuzzy cuprinse intre "daca" si
"atunci". Acestea se mai numesc si antecedente. Premisele sunt utilizare in inferenta (reasoning)
prin combinare (utilizand relatii fuzzy intre acestea).
Concluzii: Intr-o regula fuzzy, concluziile sunt propozitiile fuzzy care urmeaza dupa
"atunci". Acestea se mai numesc si consecinte. Consecintele sunt utilizare in inferenta
(reasoning) prin agregarea regulilor.
Baze de reguli: Regulile fuzzy sunt incluse, de obicei, in tabele de reguli, care poarta
numele de baze de reguli. Acestea descriu functionarea sistemlului.
Fuzzificare
Fuzzificarea reprezinta operatia de transformare a variabilelor numerice (ferme) in
variabile lingvistice (vagi).
What is fuzzy 8/20
De exemplu, pentru fuzzificarea variabilei viteza in punctul x0=70km/h, se considera cele
doua functii de apartenenta μA si μB, care codifica instantele lingvistice „low” si „medium”. In
punctul x0, valorile functiilor de apartenenta sunt μA(x0)=0.75 si μB(x0)=0.25, ceea ce inseamna o
apartenenta a vitezei de 70km/h de 75% la valoarea lingvistica „low”, si 25% la valoarea
lingvistica „medium”.
Mecanismul de inferenta Mamdani
Principala componenta a sistemelor fuzzy o reprezinta mecanismul de inferenta (engl.
inference machine), care combina faptele obtinute prin procesul de fuzzificare cu baza de reguli
si realizeaza rationamentul.
O modalitate de a realiza mecanismul Mamdani se numeste MAX/MIN si utilizeaza
operatorii SI (pentru MIN - adica pentru combinatia regulilor) si SAU (pentru MAX - adica
pentru agregarea concluziilor). Rezultatul unui astfel de rationament poate fi scris:
μC(x.y) =max {min{μA(x), μB(y)}
unde μC(x.y) este concluzia, iar μA(x) si μB(y) sunt premisele.
Exemplu: Se da un sistem fuzzy care modeleaza comportamentul de franare al unui
autovehicul, in functie de viteza acestuia. Se specifica functiile de apartenenta ale vitezei: "low"
What is fuzzy 9/20
si "medium", precum si functiile de apartenenta ale variabilei forta de franare: "moderate" si
"strong."
Baza de reguli cuprinde doua reguli:
1. DACA viteza este low ATUNCI forta de franare este moderate
2. DACA viteza este medium ATUNCI forta de franare este strong
Forma functiilor de apartenenta pentru variabila viteza se regaseste pe pagina aterioara.
Forma functiilor de apartenenta pentru variabila forta de franare este:
Premisele sunt asadar date de functiile μA si μB, in timp ce concluziile sunt date de
functiile μC si μD.
Presupunand o viteza x0=70km/h, rezultatul inferentei se poate observa in figura
urmatoare: (a) utilizarea regulii 1; (b) utilizarea regulii 2; (c) utilizarea operatiei de reuniune
pentru obtinerea concluziei finale prin agregarea celor doua rezultate.
What is fuzzy 10/20
Defuzzificare
Deffuzificarea reprezinta operatia de transformare a variabilelor lingvistice (vagi) in
variabile numerice (ferme).
Cele mai utilizate metode de defuzificare:
- centroid
- bisector
- largest of maximum (LOM)
- mean of maximum (MOM)
- smallest of maximum (SOM)
Acestea se aplica asupra suprafetei obtinute in urma inferentei fuzzy.
What is fuzzy 11/20
De exemplu:
Exemplu de evaluare a unei singure reguli:
What is fuzzy 12/20
Mecanismul de inferenta Takagi-Sugeno
In cazul sistemelor fuzzy cu mecanism de inferenta Takagi-Sugeno, compozitia regulilor
se obtine cu ajutorul unei functii, in loc de defuzzificare. Aasadar, aceste sisteme nu contin
defuzificator. Structura premiselor, in schimb, este aceeasi ca in Mamdani.
O regula fuzzy Takagi-Sugeno are forma:
"daca x este A si y este B atunci z =f(x,y)"
In acest caz nu este necesara definirea de termeni lingvistici pentru iesirea sistemului, iar
functia f() este, de cele mai multe ori, o functie neliniara. In cazul special al sistemelor liniare,
functia f() este o combinatie liniara a intrarilor sistemului fuzzy.
What is fuzzy 13/20
Sisteme de conducere cu regulatoare fuzzy
Controlul fuzzy permite rezolvarea unor probleme dificile. Cel mai des, procesele nu pot
fi descrise de modele matematice care să permită sinteza unei legi de conducere prin metode
clasice. Sistemele de conducere fuzzy sunt de preferat atunci când e vorba de procese complexe
sau care nu se pretează analizei/proiectării convenţionale. Astfel, experienţa umană în
conducerea procesului se poate materializa într-o bază de reguli ataşată regulatorului fuzzy.
Principalul dezavataj al acestor sisteme de control este calitatea de obicei slabă a experienţei
umane utilizate pentru construcţia sa.
Regulatorul fuzzy va procesa variabilele fuzzy alese şi va genera comenzi compatibile cu
obiectul condus. Structura standard a unui controller fuzzy este cea din figura 1.
Un regulator fuzzy este format dintr-un bloc de fuzzificare, o bază de reguli, un
mecanism de inferenţă şi un bloc de defuzzificare. Dacă se consideră mecanismul de inferenţă
împreună cu baza de reguli ca fiind modulul ce generează comenzi fuzzy, atunci acesta are
nevoie de interfeţe care să convertească informaţiile numerice în varianta lingvistică (fuzzy) şi
invers.
What is fuzzy 14/20
Figura 1. Structura unui controller fuzzy
Interfaţa de intrare a regulatorului realizează o scalare a variabilelor măsurate din proces
şi le converteşte prin fuzzificare în variabile lingvistice. Interfaţa de ieşire (modulul de
defuzzificare asigură conversia fuzzy - crisp şi realizează scalarea variabilelor de comandă în
formă de valori compatibile cu elementele de execuţie.
Structura generală a unui regulator fuzzy evidenţiază existenţa a patru module esenţiale:
modulul de scalare – fuzificare, modulul de defuzificare – scalare, mecanismul de inferenţă şi baza de
reguli si baza de date. Astfel, regulatoarele fuzzy sunt conectate la proces prin intermediul celor
două interfeţe active care asigură conversia, dar nu numai, a informaţiilor numerice în variabile
fuzzy şi, respectiv, a variabilelor fuzzy în informaţii numerice. În structura regulatoarelor sunt
incluse mecanismul de inferenţă (mecanismul de decizie logică) care procesează reguli,
cunoştinţe şi baza de reguli (baza de cunoştinţe) şi de date. Baza de date furnizează informaţiile
necesare pentru funcţionarea corespunzătoare a modulelor de interfaţare cu procesul (scalare –
fuzificare, defuzificare – scalare), a bazei de reguli prin interpretarea valorilor lingvistice ale
variabilelor de stare, de intrare şi de comandă ale procesului.
Modulul de elaborare a comenzii presupune atât utilizarea unui mecanism de inferenţă,
cât şi a unei baze de reguli. Regulatorul fuzzy generează comenzi pe baza intrărilor, apelând la
un set de implicaţii/relaţii fuzzy. Baza de reguli conţine strategia de conducere sub formă de
reguli de producţie obţinute fie din experienţa operatorului, fie din baze de date rezultate din
funcţionarea anterioară:
DACA stare_proces ATUNCI comandă
unde stare_proces şi comandă sunt variabile lingvistice care descriu proprietăţi ale
mărimilor din procesul considerat.
Baza de reguli poate conţine mai multe variabile atât în partea de condiţii, cât şi în
partea de concluzii. Deci un controller fuzzy poate fi folosit atât în cazul sistemelor SISO, cât şi
în cazul sistemelor MIMO.
What is fuzzy 15/20
Principalele etape ale proiectării unui sistem de control fuzzy sunt următoarele:
- alegerea variabilelor de intrare şi de iesire ale regulatorului, pentru care se impune
obţinerea unor informaţii apriorice despre funcţionarea procesului.
- determinarea universurilor de discurs (ceea ce presupune determinarea domeniilor de
funcţionare ale variabilelor măsurate ale procesului) şi a funcţiilor de apartenenţă pentru fiecare
variabilă în parte.
- construcţia bazei de reguli reprezintă cea mai importantă etapă în proiectare, regulile
putând fi deduse din experienţa operatorului uman sau prin utilizarea unui model fuzzy al
procesului condus.
- proiectarea mecanismului de inferenţă presupune alegerea metodei de inferenţă, care
poate fi bazată pe reguli individuale sau pe compoziţie.
- alegerea factorilor de scală asigură normalizarea intrării şi ieşirii ţinând seama de
diversitatea domeniilor de variaţie ale intrării şi ieşirii, factorii de scală jucând un rol asemănător
cu factorii de amplificare în cazul regulatoarelor convenţionale.
- alegerea metodei de defuzzificare presupune alegerea modului de conversie a
variabilelor lingvistice în variabile numerice cu valori crisp (ferme).
What is fuzzy 16/20
Figura 2. Structura de reglare utilizând un regulator fuzzy
Domeniile de funcţionare se obţin din experienţa anterioară de proiectare obţinută până
în prezent. Se cere atenţie la alegerea domeniilor pentru comenzi, caz în care se va rula unul din
programele implementate anterior, pentru a determina necesarul de comandă.
Exemplul următor demonstrează distribuţia unui set de funcţii de apartenenţă
pentru o variabilă lingvistică temperatura.
Fiecare funcţie de apartenenţă primeşte în mod uzual un nume care îi defineşte
poziţia în universul de discurs: NL, NM, NS, ZE, PS, PM, PL (N negative, ZE zero, P positive,
L large, M medium, S small), acestora asociindu-se câte o semnificaţie: frig, mai puţin frig, cald,
foarte cald etc. Se observă că pe ordonată se regăseşte variabila lingvistică de interes, care ia
valori între 0 şi 1, iar pe abscisă se reprezintă corespondentul numeric al acesteia, cu valori în
domeniul admisibil.
Tabelul de reguli conţine pe fiecare dimensiune câte o variabilă de intrare,
valoarea variabilei de ieşire citindu-se din căsuţa corespunzătoare liniei şi coloanei curente.
Exemplul următor demonstrează construcţia unui tabel de reguli pentru două variabile
de intrare, o variabilă de ieşire, şi câte trei funcţii de apartenenţă pentru fiecare, având
What is fuzzy 17/20
Figura 3. Funcţii de apartenenţă
următoarele valori lingvistice:
- eroare: N, Z, P (intrare)
- derivata erorii: DN, DZ, DP (intrare)
- comanda: CN, CZ, CP (ieşire)
eroare
derivataerorii
N Z P
DN CN CN CZDZ CN CZ CPDP CZ CP CP
Dacă se doreşte de exemplu, controlul temperaturii într-o incintă, având la dispoziţie un
aparat de aer condiţionat capabil să încălzească sau să răceasca aerul din cameră (comandă
negativă CN pentru răcire, CZ pentru încetarea oricărei acţiuni, comandă pozitivă CP
pentru încălzire), iar ca intrări în regulator se consideră eroarea de reglare şi viteza de
variaţie a acesteia, se poate completa tabelul de reguli în forma prezentată.
Se va ţine cont de faptul că, de exemplu, o eroare negativă apare în momentul în care referinţa
este mai mică decât ieşirea măsurată, adică este necesară încălzirea camerei. De asemenea,
trebuie ţinut cont de viteza de variaţie a erorii, care ar necesita o comandă mai mare sau mai
mică: dacă viteza de variaţie este mare atunci comanda necesară este mai mare, dacă este
pozitivă sau negativă atunci comanda trebuie să aibă semnul corespunzător şamd
Pentru proiectarea bazei de reguli sunt necesare:
· alegerea variabilelor de stare şi de comandă;
· alegerea conţinuturilor regulilor – antecedent şi consecinţă;
· alegerea domeniilor valorilor lingvistice pentru variabilele de stare şi de
comandă;
· deducerea regulilor.
Dimensiunea setului de termeni (valori lingvistice ale variabilelor de intrare) determină
What is fuzzy 18/20
granularitatea acţiunii de comandă a regulatorului fuzzy. Astfel, pentru un număr de 5 variabile
lingvistice (PM, Pm, ZE, Nm, NM) se obţine un număr de 25 de reguli.
Dacă se doreşte o rezoluţie mai bună a comenzii în vecinătatea referinţei, atunci se poate
extinde numărul de variabile lingvistice pentru Nm, ZE, Pm (negativ zero, negativ foarte mic,
pozitiv zero, pozitiv foarte mic etc.). Această granularitate ridicată în realizarea fuzificării
determină creşterea numărului de reguli cu implicaţii privind implementarea (dimensiunea
memoriei, timp de execuţie) şi performanţele sistemului de reglare.
Pentru deducerea regulilor pentru un regulator fuzzy pot fi utilizate trei proceduri
importante: pe baza experienţei operatorului şi a expertului în automatică, pe baza unui model
lingvistic al procesului sau pe baza unui model neliniar.
Pentru eficienţa calculelor, utilizarea eficientă a memoriei şi analiza performanţelor
sistemului de reglare (conducere) fuzzy se recomandă o reprezentare uniformă a funcţiilor de
apartenenţă. Formele uzuale ale funcţiilor de apartenenţă includ funcţiile triunghiulare,
trapezoidale şi de tip clopot. Aceste forme sunt uşor de parametrizat, prezintă eficienţă în
manipulare, conduc la dimensiuni reduse ale memoriilor utilizate.
Cea mai simplă şi mai eficientă formă de reprezentare a funcţiilor de apartenenţă este
forma triunghiulară.
Proiectarea regulatoarelor fuzzy se poate realiza direct sau pe baza unui model lingvistic
al procesului condus şi pot fi regulatoare fuzzy PID, regulatoare bazate pe tabele, regulatoare cu
auto – organizare, regulatoare fuzzy adaptive sau regulatoare neuro – fuzzy.
Mecanismul de inferenţă (blocul de decizie logică) reprezintă nucleul regulatorului şi
emulează procesul de decizie umană pe baza conceptelor şi a regulilor de inferenţă din logica
fuzzy. Inferenţa poate fi bazată pe reguli individuale sau poate fi bazată pe compoziţia de reguli.
Parametrii de proiectare se reduc la:
· alegerea reprezentării unei singure reguli;
What is fuzzy 19/20
· alegerea reprezentării unui set de reguli;
· alegerea mecanismului de inferenţă;
· testarea setului de reguli din punct de vedere al consistenţei şi completitudinii.
Consistenţa: O bază de reguli este inconsistentă dacă două sau mai multe reguli cu
aceleaşi sau foarte apropiate părţi condiţionale (antecedente) generează diferite ieşiri. Aceste
ieşiri diferite cauzează apariţia unor vârfuri în cadrul reprezentării grafice a mulţimii fuzzy dată
prin mecanismul de inferenţă al regulatorului.
O bază de reguli consistentă se caracterizează prin faptul că toate regulile cu diferenţe
mici în părţile de intrare generează ieşiri uşor diferite.
Completitudinea: O bază de reguli este completă dacă orice intrare diferită de zero
generează o ieşire diferită de zero.
Există două cauze principale pentru apariţia incompletitudinii unei baze de reguli.
Prima cauză o reprezintă existenţa unei rupturi între funcţiile de apartenenţă, iar cea de a doua
cauză o reprezintă omiterea uneia sau mai multor reguli.
Proiectarea regulatoarelor fuzzy ca transformări neliniare pentru procese neliniare
reprezintă un demers cu un suport formal redus şi o pronunţată activitate euristică. Simplitatea
modului de operare generată de însăşi esenţa modului de raţionament uman în cadrul
operaţiilor de conducere a proceselor reprezintă principalul argument pentru clasa largă de
aplicaţii a acestor regulatoare neliniare cu ridicată robusteţe.
What is fuzzy 20/20