lfa6

Upload: ioana-tiriac

Post on 02-Mar-2018

227 views

Category:

Documents


0 download

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/