lfa6
TRANSCRIPT
-
7/26/2019 lfa6
1/52
Controlere fuzzy digitale
Capitolul 6
Doru Todinca
Departamentul CalculatoareUPT
http://find/ -
7/26/2019 lfa6
2/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
http://find/http://goback/ -
7/26/2019 lfa6
3/52
Surse
Acest curs contine text, figuri, formule, etc, preluate (si prelucrate)din lucrarea de diploma a Anei-Maria Badulescu[Bad99], preluate
dupa Patyra [Pat96]si dupa Chiueh (pt FLC simplificat) [Chi92]
In acest curs multimile fuzzy vor fi notate doar cu litere mari, farasimbolul tilda deasupra, adica A, A, B, B, etc, nu A,A,B,B
http://find/ -
7/26/2019 lfa6
4/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
http://find/ -
7/26/2019 lfa6
5/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
http://find/ -
7/26/2019 lfa6
6/52
Schema generala de control fuzzy
Fuzzifier
KnowledgeBase
Decision
Making Logic
Defuziffier
ControlledSystem/Process
Process Outputand State
FuzzyFuzzy
Actual ControlNonfuzzy
Figura 1 : Schema generala de control fuzzy
http://find/ -
7/26/2019 lfa6
7/52
Schema generala de control fuzzy
Schema generala de control fuzzy (fig 1) contine FLC-ul siprocesul/sistemul condus (controlled system/process)
Dreptunghiul cu linie intrerupta marcheaza controllerul fuzzy(FLC = Fuzzy Logic Controller)
Iesirile si eventual starile sistemului condus sunt citite decontroller (in acest caz FLC) si pe baza lor acesta va
determina marimile de reglare (de actionare asupra procesului:actual control)
Orice sistem de control functioneaza in acest mod, doar caacum controller-ul nu e de tip PI sau PID, ci e un FLC
Marimile de iesire, intrare si starile procesului sunt crisp, pecind in interiorul FLC se utilizeaza multimi fuzzy
necesitatea transformarii din lor valori crisp in multimifuzzy (operatie numita fuzzificare) sau din multimi fuzzy invalori crisp (defuzzificare)
http://find/ -
7/26/2019 lfa6
8/52
Schema generala de control fuzzy
Deci, interfata FLC cu exteriorul este realizata de catreFuzzifier(pt intrari), respectiv de catre Defuzzifier(pt iesiri)
Knowlege Basee baza de reguli fuzzy, care depinde deaplicatie (de procesul condus)
Decision Making Logice partea care realizeaza inferenta fuzzypropriu-zisa si nu depinde de aplicatie
Daca e implementat hardware, FLC are ca parametri numarulmaxim de intrari, de iesiri, nr maxim de reguli fuzzy ce poatefi stocat, timp de raspuns intrare-iesire, etc (se va discuta
ulterior) In cele ce urmeaza vom detalia Fuzzifier-ul, Defuzzifier-ul si
inferenta fuzzy propriuzisa
http://find/ -
7/26/2019 lfa6
9/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
http://find/ -
7/26/2019 lfa6
10/52
Operatia de fuzzificare: scop
Transformarea unei valori de intrare crisp a faptului de intrareintr-o multime fuzzy (fuzzifiarea) compenseaza pentru erorilerezultate in procesul de masurare a valorii de intrare reale(utilizind senzori), si de digitizare a acesteia (conversieanalog-numerica), urmata eventual de scalare, daca domeniul
de reprezentare a ei difera de domeniul de reprezentare ininteriorul FLC-ului
Daca se face fuzzificarea atunci un fapt de intrare va activa ingeneral mai multe reguli simultan, decit daca faptul de intrareramine crisp, ceea ce face ca trecerea de la o regula la alta safie mai lina, deci si procesul de reglare sa fie mai lin
Desigur, daca marimile de intrare sunt fuzzificate, atunciFLC-ul va avea de facut mai multe calcule
http://find/ -
7/26/2019 lfa6
11/52
Operatia de fuzzificare
A
Valoarea masurata
Univesuldiscursuluicontinuu
Graduldeaparteneta
1
1/m
1/n0
Universuldiscursuluidiscret
Multimeafuzzy A
Valoarea centrala
0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 00 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 00 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0M
atriceabinara
0
m
0 n
Mappare binara
delta
c32
Figura 2 : Operatia de fuzzificare
http://find/ -
7/26/2019 lfa6
12/52
Operatia de fuzzificare
Valoarea masurata A(fig2) (in acest caz o iesire sau stare aprocesului) este o marime analogica, avind un univers aldiscursului continuu
Ea este apoi discretizata, fiind dupa aceea fuzzificata intr-ununivers al discursului discret
In urma operatiei de fuzzificare se obtine o multime fuzzy A,care poate fi o marime singulara (singleton), sau sa aiba oforma triunghiulara sau de alt tip (de ex Gauss)
De obicei o reprezentatam sub forma unui triunghi isoscel
avind jumatatea bazei egala cu (daca = 0 atuncitriunghiul devine singleton)
Universul discursului este discrtizat in n intervale egale, iarfunctia de apartenenta este discretizata in m intervale egale
http://find/ -
7/26/2019 lfa6
13/52
Operatia de fuzzificare
Reprezentarea interna, in interiorul FLC, a multimii fuzzy A seface intr-un univers al discursului cu n elemente si cu o functie
de apartenenta reprezentata pe m biti, adica avind valoriintregi intre 0 si 2m 1
Adica reprezentarea interna a unei multimi fuzzy A este omatrice booleana de dimensiune m n
Deci, pt functiile de apartenenta se prefera reprezentarea ca nrintregi pe m biti, in locul unor nr reale in intervalul [0, 1]
Daca n=n atunci trebuie sa aiba loc o scalare a universuluidiscursului valorilor discretizate la universul discursuluicorespunzator reprezentarii interne a multumilor fuzzy in FLC
Universul discursului real si discretizat poate avea si valorinegative, dar pt reprezentarea interna se prefera numerepozitive intre 0 si n 1
In mod normal se prefera ca intre m si m sa existe relatia
m = 2m
http://find/ -
7/26/2019 lfa6
14/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
http://find/ -
7/26/2019 lfa6
15/52
Inferenta fuzzy digitala: reguli fuzzy
In continuare este descris setul de Nreguli fuzzy din baza dereguli a FLC
Fiecare regula poate avea in general K intrari si L iesiri, desiin general se prefera FLC cu o singura iesire
Cu A1, A2, . . . AKs-au notat cele Kvariabile lingvistice deintrare (de ex viteza, distanta, sau eroarea e, derivata eroriide, derivata a doua a erorii d2e, etc), iar cu B1, . . . , BL ele L
variabile lingvistice de iesire (de ex acceleratia, curentulmotorului, marimea de reglare u, etc)
A1i, . . . , AKi reprezinta termenii lingvistici corespunzatori
variabilei de intrare 1, . . . K corespunzatori regulii i(de ex pt
viteza very small, small, etc, pt eroare, negative large, approxzero, positive large, etc) Similar B1i , . . . , B
Li reprezinta termenii lingvistici
corespunzatori variabilelor de iesire 1, . . . , L din regula i O reprezentare grafica a inferentei fuzzy pentru cazul cu 2
intrari si o iesire, cu faptul de intrare crispapreinfigura3
http://find/ -
7/26/2019 lfa6
16/52
Inferenta fuzzy digitala: reguli fuzzy
R1: IF A1 IS A11 AND A2 IS A
21 AND . . . AND AK IS A
K1 THEN
B1 IS B11 IS B2 IS B21 AND . . . AND BL IS B
L1 ,
ALSOR2: IF A2 IS A
12 AND A2 IS A
22 AND . . . AND AK IS A
K2 THEN
B1 IS B12 AND B2 IS B22 AND . . . AND BL IS B
L2 ,
ALSO...Ri: IF A1 IS A
1i AND A2 IS A
2i AND . . . AND AK IS A
Ki THEN
B1 IS B1i AND B2 IS B2i AND ...AND BL IS B
Li ,
ALSO...RN: IF A1 IS A
1N AND A2 IS A
2NAND . . . AND AK IS A
KN THEN
B1 IS B1
N
AND B2 IS B2
N
AND . . . AND BL IS BL
N
.
http://find/ -
7/26/2019 lfa6
17/52
Exemplu grafic de inferenta fuzzy cu faptul nefuzzificat
B1
B
a2
b
y
B2
b
A2
2
A2
1 B1
B2M
IN
a1
MAX
MI
Na2
a1
A2A1
A1
1
A1
2
Figura 3 : Exemplu de inferenta fuzzy cu 2 intrari si o iesire cind faptulde intrare nu este fuzzificat (este crisp)
l fi d f f f l f fi
http://find/ -
7/26/2019 lfa6
18/52
Exemplu grafic de inferenta fuzzy cu faptul fuzzificat
(x)
(x)
(y)
(y)
x
x
y
y
(y)
y
ai
aj
A
Aj A
Ai Bi
Bj
Bi
Bj
Rulej
Rulei
Figura 4 : Exemplu de inferenta fuzzy cu o intrare si o iesire cind faptulde intrare este fuzzificat
C i
http://find/ -
7/26/2019 lfa6
19/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
O i d d f ifi
http://find/ -
7/26/2019 lfa6
20/52
Operatia de defuzzificare
Iesirea procesului de inferenta fuzzy este o multime fuzzy (deobicei ne-normala) obtinuta prin reuniunea iesirilor reguliloractivate , de ex fig3,4
Exista si situatii cind se utilizeaza direct aceasta multime
fuzzy (de ex in sisteme expert se poate incerca o identificarea ei, adica sa i se dea o interpretare ca multime fuzzy
In probleme de reglare insa se doreste ca asupra sistemuluicondus sa se aplice o marime de actionare crisp, nu fuzzy
Pentru aceasta trebuie sa aiba loc operatia de defuzzificare,adica transformarea unei multimi fuzzy intr-o valoare crisp
O ti d d f ifi
http://find/ -
7/26/2019 lfa6
21/52
Operatia de defuzzificare
Cea mai utilizata metoda de defuzzificare este COA (CentreOF Area), numita si COG (Centre of Gravity), ilustrata infigura5
Marimea de iesire crip va fi abscisa centrului de greutate alfigurii rezultate in urma inferentei fuzzy
Formula pentru COG este: (y)ydy (y)dy
sau, pt cazul discret,n
j=1 (yj)yjnj=1 (yj)
Aceasta operatie implica o impartire si este foarte lenta si
costisitoare la implementarea hardware Exista si alte metode de defuzzificare: SOM (Smallest of
Maxima), Mean of Maxima, etc
O ti d d f ifi
http://find/ -
7/26/2019 lfa6
22/52
Operatia de defuzzificare
1
0
0
bi=1
i=2
i=3
COA
Universul
discursului
Graduld
eapartenenta
Figura 5 : Operatia de defuzzificare
C prins
http://find/ -
7/26/2019 lfa6
23/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
Cuprins
http://find/ -
7/26/2019 lfa6
24/52
Cuprins
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
Caracterizarea performantelor circuitelor FLC
http://find/ -
7/26/2019 lfa6
25/52
Caracterizarea performantelor circuitelor FLC
Masuratori de performanta date de producatorii de FLC-uri:
1. numarul de inferente fuzzy pe secunda, unde inferenta fuzzypoate fi inteleasa ca operatia definita de o singura regula, saude o parte a unei reguli
2. numarul operatiilor elementare fuzzy pe secunda (MIN sauMAX)
Acesti parametri nu pot masura suficient de bine viteza realaa unui FLC.
De aceea, pentru a caracteriza FLC-ul, se introduce timpul deraspuns intrare-iesire (INOUT):Acest timp este definit ca timpul total de intirziere dinmomentul in care datele sunt disponibile la intrarea FLC pinain momentul cand se genereaza actiunile crisp la iesire.
Caracterizarea performantelor circuitelor FLC
http://find/ -
7/26/2019 lfa6
26/52
Caracterizarea performantelor circuitelor FLC
Parametri fundamentali al unui FLC sunt:
numarul de variabile de intrare (K) numarul de variabile de iesire (L)
numarul de reguli lingvistice din baza de reguli (N)
numarul de functii de apartenenta pentru universul discursului
la intrare (MBIN) numarul de functii de apartenenta pentru universul discursului
la iesire (MBOUT)
numarul de vectori binari ce caracterizeaza o functie deapartenenta (n)
numarul de biti dintr-un vector binar (m)(pe citi biti sereprezinta functiile de apartenenta)
timpul de raspuns intrare-iesire (INOUT)
Fuzzy Logic Controllers
http://find/ -
7/26/2019 lfa6
27/52
Fuzzy Logic Controllers
Inferenta fuzzy inseamna obtinerea unui fapt nou B dintr-un faptA si o regula AB, conform formulei:
B =A RAB (1)
Pentru cazul in care circuitul are doua intrari, relatia 1devine:R1: IF A
11 AND IF A
21 THEN B1, ALSO
R2: IF A12 AND IF A
22 THEN B2, ALSO...
Ri: IF A1i AND IF A
2i THEN Bi, ALSO
...
RN: IF A1NAND IF A
2N THEN BN.
(2)
in care R1 .. RNsunt regulile fuzzy, A1 si A2 reprezinta variabilele
de intrare, iar Bvariabila de iesire.
Fuzzy Logic Controllers
http://find/ -
7/26/2019 lfa6
28/52
Fuzzy Logic Controllers
In aceste reguli, premisa (sau antecedentul) se refera la variabilele
de intrare, iar concluzia la multimile fuzzy de iesire.In cazul DISO premisa este compusa, cele doua parti ale ei fiindconectate prin operatorul logic AND.Deci conform definitiei implicatiei fuzzy, se obtine:
B
= (A1
, A2
) R (3)
unde R= (A1, A2)B.Regulile Risunt conectate intre ele cu operatorul ALSO care esteinterpretat ca fiind OR logic si atunci rezulatul final se obtine din
reuniunea regulilor Ri:
R=N
i=1
Ri (4)
Fuzzy Logic Controllers
http://find/ -
7/26/2019 lfa6
29/52
Fuzzy Logic Controllers
Faptul A este A = (A1, A2), si atunci concluzia B1 se obtineaplicand regula compozitionala de inferenta, adica:
B1 = (A1, A2) R= (A1, A2)
N
i=1
Ri =
N
i=1
(A1, A2) Ri (5)
Functia de apartenenta a multimii B1 poate fi calculata cu ajutoruloperatorului MAX-MIN. Considerand regula Ri se obtine:
B1i= (A1, A2) Ri (6)
Fuzzy Logic Controllers
http://find/ -
7/26/2019 lfa6
30/52
Fuzzy Logic Controllers
Functia de apartenenta corespunzatoare se defineste in felulurmator:
B1i(b) = MAXMIN(A1(a1) A2(a2), R(a1, a2, b)) =a1A1, a2A2
MINMAX{MIN[MIN(A1(a1), A11 (a1)), MIN(A2(a2), A2i (a2))],(7)
Bi(b)}, a1A1, a2A2
=MIN(i, Bi(b))bB
unde, in acest caz, i este definit: i=
MIN{MAXMIN(A1(a1), A11(a1)), MAXMIN(A2(a2), A21
(a2))}
(8)
a1A1, a2A2
Fuzzy Logic Controllers
http://find/ -
7/26/2019 lfa6
31/52
Fuzzy Logic Controllers
Deci maximul dintre B11, B12, . . . , B1Ndetermina actiunea finalaB1, calculata ca reuniune:
B1 =N
i=1
B1i=MAX(B11, B12, . . . , B1N) (9)
Fuzzy Logic Controllers: implementarea clasica
http://find/ -
7/26/2019 lfa6
32/52
Fuzzy Logic Controllers: implementarea clasica
FUZZIFIER
Input 2
MIN1
MIN2
MINi
MINN
A2
A2
1 A
2
2 A2
i A2
N
n*m
n*m
MAX
MAX
MAX
MAX
n*m
mn*m
n*m
n*m
m
m
m
FUZZIFIER
Input 1
MIN1
MIN2
MINi
MINN
A1
A1
1 A
1
2 A1
i A1
N
n*m
n*m
MAX
MAX
MAX
MAX
n*m
mn*m
n*m
n*m
m
m
m
MIN1
MIN2
MINi
MINN
m
m
m
m
BN Bi B2 B1
MIN1
MIN2
MINi
MINN
MAX
n*m
n*m
n*m
n*m
n*mB1
Output
DEFUZZIFIER
Figura 6 : FLC DISO, implementarea clasica
FLC clasic DISO: premizele
http://find/ -
7/26/2019 lfa6
33/52
p
DISO - Double Input, Single Output
Schema din fig6nu e o schema hardware, ci de principiu !
Fiecare din cele 2 fapte de intrare (Input 1 si Input 2) sunttransformate in multimi fuzzy de catre cele 2 fuzzifiere
MF obtinute se stocheaza in memoriile A1, respectiv A2,
ambele vectori de n m biti Termenii lingvistici din premize sint tinuti in cele N (unde N e
nr de reguli fuzzy) memorii (de n m biti) notate A11, . . . , A1N
pt prima intrare si respectiv A21, . . . A2N
De fapt nu e nevoie de asa multe memorii, ci pt fiecare intraretrebuie sa existe doar MBINmemorii, dar atunci trebuiestabilit o regula de legatura intre indicele (numarul) regulii sial termenului
FLC clasic DISO: premizele
http://find/ -
7/26/2019 lfa6
34/52
p
Primul nivel de circuite min face minim intre functia deapartenenta a unui termen si a faptului de intrare fuzzificicat;
intrarile si iesirea sint vectori de n m biti Conform formulei se calculeaza MIN(A1(a1), A11
(a1))
Primul nivel de circuite MAX caculeaza ipt fiecare premizaa fiecarei reguli
Practic calculeaza maximul unui tablou de n elemente; Intrarea e vector de n m biti, iesirea e scalar
La o implementare hardware s-ar pune cite un registru laiesirea fiecarui circuit MAX din primul nivel de MAX, si s-ar
face maxim intre o intrare a circuitului MAX si continutulregistrului, iar rezultatul s-ar memora in registru
Acest lucru s-ar repeta de n ori
Al doilea nivel de circuite MIN face operatia AND intresubpremize: intrarile si iesirea sint scalari (pe m biti)
FLC clasic DISO: concluziile
http://find/ -
7/26/2019 lfa6
35/52
Al treilea nivel de circuite MIN din FLC apartine de partea de
procesare a concluziilor Aceste circuite realizeaza operatia de minim intre functia de
apartenenta a termenului din concluzie (Bi pt regula i), care eun vector de n m biti, si gradul de activare i al regulii i
(care e un scalar dem
biti) Iesirea e un vector de n m biti, adica Bi, acea multime fuzzy
trunchiata
Ca si la premize, in loc de Nmemorii de n m biti, cite unapt fiecare regula, e suficient sa existe MBOUT astfel de
memorii, cite una pt fiecare termen lingvistic din concluzii
Atunci trebuie facuta corespondenta intre indexul ial regulii isi termenul lingvistic respectiv
FLC clasic DISO: concluziile
http://find/ -
7/26/2019 lfa6
36/52
Ultimul nivel de circuire MAX face operatia de reuniuneB1 =
Ni=1 B1i =MAX(B11, B12, . . . , B1N) corespunzatoare
operatorului ALSO
Si intrarile si iesirea sint vectori de n m biti
Exista mai multe posibilitati de implementare hardware aacestui circuit MAX, depinde ce anume se proceseaza inparalel
Iesirea acestui MAX se stocheaza in memoria B1 de n m biti
De acolo va fi defuzzificata si trimisa la iesire
Cuprins
http://find/ -
7/26/2019 lfa6
37/52
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
FLC simplificat
http://find/ -
7/26/2019 lfa6
38/52
Intrarile sale nu se mai fuzzifica, ele raman sub forma desingleton (valoare singulara).
Aceasta duce la simplificarea calculelor din premiza regulilorfuzzy,
in sensul ca valoarea i se obtine prin intersectia intremultimea fuzzyA1i si faptul A1 reprezentat printr-un singleton.
In cazul in care premiza este compusa, se face AND intrevalorile astfel obtinute.
Concluzia regulii se obtine ca minim intre valoarea i sifunctia de apartenenta a multimii Bi, figura3
Conditii pentru a putea simplifica arhitecturii FLC
http://find/ -
7/26/2019 lfa6
39/52
Pentru determinarea intersectiei dintre faptul de intrare simultimea fuzzy corespunzatoare termenului unei variabilelingvistice de intrare vom folosi valoarea faptului, normalizatala universul discursului, ca adresa in memoria variabileilingvistice corespunzatoare acelei intrari.
termenii variabilei lingvistice, vazuti ca multimi fuzzy, seintersecteaza si deci un fapt poate intersecta mai multitermeni si in consecinta poate activa mai multe reguli
Pentru a mari viteza circuitului, consideram ca regulile se
proceseaza in paralel si atunci trebuie determinat parametrulMNSAR(maximum number of simultaneous active rules) -numarul maxim de reguli care de activeaza simultan[Chi92]
Conditii pentru a putea simplifica arhitecturii FLC
http://find/ -
7/26/2019 lfa6
40/52
Se observa ca MNSAR=MOFK
, unde MOF (maximumoverlap factor) este egal cu numarul maxim de termeni care sepot suprapune
MOF 2 si este convenabil sa se aleaga MOF = 2
Aceasta impune utilizatorului o restrictie la felul in care isialege termenii variabilelor lingvistice de intrare, dar aceastarestrictie nu este deranjanta, fiind natural sa se intersectezedoar doi termeni lingvistici
Termenii vor fi impartiti in pari si impari, cele doua multimi
fiind disjuncte, asa ca fiecare poate fi memorata separat, in nlocatii de m biti (fig7)
Separarea termenilor unei variabile lingvistice in pari si
http://find/ -
7/26/2019 lfa6
41/52
impari
x
x
x
x
x
x
nl
nl nm
nm
ns
ns
zr
zr
ps
ps
pm
pm
pl
pl
Figura 7 : Separarea termenilor unei variabile lingvistice in pari si impari
Schema hardware pt FLC simplificat, cu 3 intrari
http://find/ -
7/26/2019 lfa6
42/52
In acest caz (MOF= 2) vom reprezenta cei MBIN termeni aifiecarei variabile de intrare folosind doua tablouri de n locatii,fiecare locatie continand valoarea functiei de apartenenta -degree (m biti) si codul termenului respectiv - symbol.
Unul din tablouri contine termenii impari iar celalalt pe ceipari.
Pe langa cei MBINtermeni mai trebuie adaugat un simbol noterm corespunzator situatiei cand faptul nu intersecteaza nici
un termen in una din cele doua memorii.
Schema hardware pt FLC simplificat, cu 3 intrari
http://find/ -
7/26/2019 lfa6
43/52
Circuitul din figura8reprezinta chiar o schema hardware, nu
doar o schema de principiu, ca in figura 6(FLC DISO clasic) Pentru circuitul MISO, K= 3, se obtine MNSAR= 8,
O tripleta de intrari (faptul de intrare) va determina ca laiesirea memoriilor ce contin variabile de intrare sa apara trei
perechi (symbol, degree) = (Sij, Dij), i,j {1, 2, 3}. Simbolurile vor fi folosite ca adrese in memoria (sau
memoriile) de reguli (RM111, RM112, . . . , RM222).
Aceste memorii contin termenul variabilei lingvistice dinconcluzia regulii adresate de acele simboluri.
Simbolul obtinut din memoria de reguli va fi folosit pentru aadresa memoriile variabilelor lingvistice de iesire, in carefiecare simbol este codificat pe n m biti.
Schema hardware pt FLC simplificat, cu 3 intrari
http://find/ -
7/26/2019 lfa6
44/52
In paralel cu procesarea simbolurilor se prelucreaza si
degree-urile obtinute din memoriile de intrare: se face operatia MIN intre cele trei degree-uri, ce corespunde
operatorului logic AND intre premizele unei reguli.
Acest rezultat semnifica gradul in care premiza unei reguli este
adevarata ( in formulele8). Facand MIN intre acest si functia de apartenenta a
termenului variabilei lingvistice de iesire se obtine multimea B
corespunzatoare regulii activate.
Consecintele regulilor activate se reunesc prin circuitul MAX
cu 8 intrari, a carui iesire intra in defuzzificator.
Registrele sunt optionale si au doar rolul de a face pipelineintre operatia de inferenta si defuzzificare.
http://find/ -
7/26/2019 lfa6
45/52
Cuprins
http://find/ -
7/26/2019 lfa6
46/52
Implementarea hardware a inferentei fuzzySchema generala de control fuzzyOperatia de fuzzificareInferenta fuzzy digitala
Operatia de defuzzificare
Fuzzy Logic ControllersFLC clasic
FLC simplificatFLC imbunatatit
FLC imbunatatit
http://find/ -
7/26/2019 lfa6
47/52
Se bazeaza pe comutativitatea MAX-MIN si REUNIUNE.Prima data se construiesc relatiile fuzzy individuale.Relatia fuzzy Ri(implicatia fuzzy pentru prima variabila):
R1i =A1i Bi (10)
Pentru a doua variabila:
R2i =A2i Bi (11)
R1
si R2
reprezinta relatii partiale sau subrelatiiRelatia totala R=R1 R2.
FLC imbunatatit
http://find/ -
7/26/2019 lfa6
48/52
Pentru prima variabila de intrare A1 si iesirea B se obtine:
R1 =R11 R12 , . . . , R
1N (12)
Pentru combinatia dintre a doua variabila de intrare A2 si iesirea B:
R2 =R21 R22 , . . . , R2N (13)
Inlocuind operatorul REUNIUNE cu MAX, se obtine:
R1(a1, b) =MAX{R11 (a1, b), R
12 (a1, b), . . . , R
1N(a1, b)} (14)
R2(a1, b) =MAX{R21 (a1, b), R
22 (a1, b), . . . , R
2N(a1, b)} (15)
FLC imbunatatit
http://find/ -
7/26/2019 lfa6
49/52
Se folosesc relatiile partiale pentru a obtine rezultatul inferenteifuzzy.Iesirea B1 poate fi obtinuta folosind operatorul MIN-superpozitie acelor doua relatii partiale in functie de intrarile A1 si A2:
B1 =MIN{[A1 R1
(a1, b)], [A2 R2
(a2, b)]} (16)bB
B1 =MIN{MAXMIN[A1, R1(a1, b)], MAXMIN[A2, R2(a2, b)]}
(17)
bB
unde R1(a1, b) si R2(a2, b) sunt date de ecuatiile14, respectiv15.
FLC imbunatatitSub-rule Learning Block
http://find/ -
7/26/2019 lfa6
50/52
FUZZIFIERInput 1 A1
n*m
A1
1
A1
2
n*m B1
Output
DEFUZZIFIER
B1
1
B1
2
MIN1
MIN2n*m
n*m
n*m
n *m2
MAX
n *m2
MAXn*mA
1
N
B1
N
MINNn*mn *m
2
n*m
Input 2 A2
n*m
A2
1
A2
2
B2
1
B2
2
MIN1
MIN2n*m
n*m
n*m
n *m2
MAX
n *m2
MAX
n*mA2
N
B2
N
MINNn*m
n *m2
n*m
Sub-rule Learning Block
Sub rule Learning Block
MIN
MIN
n*m
n *m2
n*m
n *m2
MAX
MAX
n *m2
n *m2
n*m
n*m
MIN
n*m
FUZZIFIER
Figura 9 : FLC imbunatatit
FLC imbunatatit: avantaje si dezavantaje
Z di i i l d hi il (di fi 9)
http://find/ -
7/26/2019 lfa6
51/52
Zona din interiorul dreptunghiurilor (din fig 9) se poateprocesa off-line, adica inainte de aparitia valorilor faptuluide intrare
Acest lucru reduce mult timpul de raspuns intrare-iesire alFLC imbunatatit, comparativ cu cel clasic
Problema principala e ca in general regulile fuzzy cu maimulte premize (de ex cu 2) nu se dau in forma IF premiza1
THEN concluzie si IF premiza2 THEN concluzie, ci IFpremiza1 AND premiza2 THEN concluzie
Adica, e greu sa fie date regulile cu variabilele de intrarecomplet separate
Incercarile de a porni de la reguli cu mai multe premize si de a
separa premizele pot sa nu dea rezultate bune !! In simularile pe care le-am efectuat cu acest tip de FLC el nu
a reglat corect procesul decit pt reguli cu o ingura premiza !! Exista totusi situatii, dar destul de rar, cind se pot da reguli
cu variabilele de intrare complet separate
Ana-Maria Badulescu.Studiul performantelor circuitelor fuzzy utilizand limbajul
http://find/ -
7/26/2019 lfa6
52/52
VHDL, Lucrare de diploma, conducator stiintific DoruTodinca, Universitatea Politehnica timisoara, Dep.
Calculatoare, Facultatea de Automatica si Calcultaoare, 1999.Tzi-cker Chiueh.Optimization of fuzzy logic inference architecture.Computer, 25(5):6771, May 1992.
Marek J. Patyra.Design considerations of fuzzy logic controllers.In Marek J. Patyra and D.M. Mlynek, editors, Fuzzy Logic:Implementations and Applications, pages 143175. John Wiley& Sons Ltd. and B.G. Teubner, 1996.
http://find/