Logica fuzzy si aplicatii 4

Embed Size (px)

Citation preview

  • 7/26/2019 Logica fuzzy si aplicatii 4

    1/25

    Logica fuzzy. Rationament nuantat

    Capitolul 5

    Doru Todinca

    Departamentul CalculatoareUPT

    http://find/http://goback/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    2/25

    Cuprins

    Variabile lingvistice

    Logica fuzzy

    Rationamentul nuantat

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    3/25

    Cuprins

    Variabile lingvistice

    Logica fuzzy

    Rationamentul nuantat

    http://find/http://goback/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    4/25

    Variabile lingvistice

    Au fost introduse de Zadeh in 1973.

    Zadeh spune renuntind la precizie in favoarea complexitatii

    problemelor, devine naturala utilizarea variabilelor lingvistice, adicaa variabilelor ale caror valori nu sunt numere, ci cuvinte saupropozitii dintr-un limbaj natural sau artificial. Motivatia utilizariicuvintelor sau propozitiilor in locul numerelor este aceea ca ingeneral caracterizarile lingvistice sunt mai putin precise decit cele

    numerice.

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    5/25

    Variabile lingvistice. Definitii

    DefinitionO variabila lingvisticva este caracterizata de cvintuplul(x, T(x), U, G, M), in care:

    xeste numele variabilei lingvistice

    T(x) este multimea termenilor variabilei lingvistice (term set) Ueste universul discursului asociat variabilei de baza u

    Geste un set de reguli sintactice de generare a termenilor (deobicei e o gramatica)

    Meste un set de reguli semantice care asociaza fiecaruitermen fuzzy o semnificatie;Meste o multime fuzzy in U

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    6/25

    Variabile lingvistice. ExempluVariabila lingvistica virsta (age):

    x=age

    T(x) ={very young, young, more or less young, old, very old}

    U= [0, 100] virsta exprimata in ani, in intervalul de nr reale[0, 100]

    Exemplificam (old), care e o multime fuzzy in uUdata de:M(old) ={(u, old(u))| u[0, 100]}

    unde old(u) poate fi data de formula:

    old(u) =

    0, daca

    x

  • 7/26/2019 Logica fuzzy si aplicatii 4

    7/25

    Modificatori lingvistici

    DefinitionUn modificator lingvistic (linguistic hedge, linguistic modifier) este

    o operatie care modifica intelesul unui termen fuzzy sau, maigeneral, intelesul unei multimi fuzzy.Daca A este o multime fuzzy, atunci modificatorul m genereazamultimea fuzzy B=m(A)

    Exemple de modificatori lingvistici. Fiind data multimea fuzzy A,cu A(u), i se pot aplica urmatorii modificatori lingvistici:

    1. modificatorul de concentrare (concentration):con(A)(u) = (A(u))

    2

    2. modificatorul de dilatare (dilation): dil(A)(u) = (A(u))1/2

    3. modificatorul de intensificare a contrastelor (contrastintensification):

    int(A)(u) =

    2 (A(u))2, daca A(u) [0, 0.5]

    1 2 (1 A(u))2, daca

    A(u) [0.5, 1]

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    8/25

    Semnificatia modificatorilor lingvistici

    Fiind data o multime fuzzy A avind functia de apartenenta A

    (u)modificatorilor lingvistici li se asociaza de obicei urmatoareasemnificatie:

    veryA=con(A) more or lessA=dil(A)

    plusA= (A(u))1.25

    minusA= (A(u))0.25

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    9/25

    Variabile lingvistice structurate si booleene

    DefinitionO variabila lingvistica x este structurata daca T(x) si M(x) se pot

    obtine algoritmic. Algoritmii implica utilizarea unor modificatorilingvistici, cu ajutorul carora se genereaza de fapt termeniivariabilei lingvistice.

    Exemplu:

    T0 = T1 ={old}

    T2 ={old, very old}

    T2 ={old, very very old}

    DefinitionO variabila lingvistica se numeste booleana daca multimeatermenilor sai se obtine de la o multime primara de termeni carorali se aplica modificatori lingvistici si operatii booleene (NOT, AND,

    OR).

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    10/25

    Variabile lingvistice speciale

    1. Probability={almost impossible, not very probable, very probable, almost certain

    Desen !

    2. Truth (adevar). Pt adevaravem doua reprezentari, a luiZadeh si a lui Baldwin:

    2.1 Zadeh

    2.2 Baldwin

    Variabila lingvistica adevar in reprezentarea lui Zadeh:Pentru u[0, 1] se defineste:

    true(u) =0

    , daca

    ua2 ( ua1a )

    2, daca a u a+121 2 ( ua1a )

    2, daca a+1

    2 u1

    false(u) = true(1 u)

    a[0, 1] se numeste crossover pointsi indicasubiectivitatea.

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    11/25

    Variabile lingvistice speciale

    Variabila lingvistica adevar in reprezentarea lui Baldwin:Pentru u[0, 1] se definesc:

    true(u) =u

    false(u) = 1 u= true(1 u)

    very true(u) = (true(u))2 =u2

    very false(u) = (false(u))2 = (1 u)2

    fairly true(u) = (true(u))1/2 =u1/2

    fairly false(u) = (false(u))1/2 = (1 u)1/2

    Desen pt adevar in varianta Zadeh si Baldwin !!!

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    12/25

    Cuprins

    Variabile lingvistice

    Logica fuzzy

    Rationamentul nuantat

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    13/25

    Elemente de logica clasica

    Logica clasica se bazeaza pe 3 elemente:

    1. Valori de adevar:

    0 sau false 1 sau true

    2. Vocabular (operatori): AND, OR, NOT, XOR, NAND, NOR,(implicatie), (echivalenta)

    3. Proceduri de rationament (tautologii): propozitii care suntintotdeauna adevarate

    Ne dorim sa extindem aceste elemente la logici cu mai multe valoride adevar.

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    14/25

    Operatori logici in logica clasica

    In logica clasica operatorii se definesc prin tabele. Daca presupunem ca avem doua propozitii, psi q, fiecare din

    ele poate avea fie valoarea de adevar 0, fie 1

    Inseamna ca putem avea 2 2 = 4 combinatii pentru valorile

    lui p si q, adica un tabel cu 4 linii Cu aceste patru combinatii pentu p si qputem avea 24 = 16

    combinatii posibile, adica 16 coloane in tabel.

    Fiecare din cele 16 coloane reprezinta un operator

    Unii operatori au asociat un nume (p AND q), (NOT p OR q,adica implicatiapq), etc, dar nu putem atribui un numetuturor coloanelor

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    15/25

    Operatori logici in logica clasica

    p q XOR ?0 0 0 0 0 1 1 00 1 0 1 1 1 0 01 0 0 1 1 0 0 11 1 1 1 0 1 1 1

    Tabelul 1 : Operatori logici in logica clasica

    Simbolul reprezinta AND, simbolul reprezinta OR, simbolul reprezinta NOT.p q=pq(not p sau q, adica p implica q)(p q) (q p) =pq(p e echivalent cu q, adica p implicaq si q implica p)

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    16/25

    Extinderea la logici multivalente

    Daca in loc de doua valori logice am avea 3 valori logice:{0, 12 , 1}

    Atunci fiecare din propozitiile psi qar avea 3 valori de adevar Deci, tabelul operatorilor ar avea 3 3 = 9 linii

    Numarul de coloane posibil va fi 39 !!!

    Se pot defini totusi logici cu 3 valori de adevar:

    {F,T+F, T} (false, true plus false, adica indecis, si true) Cu aceste valori de adevar se pot defini operatorii NOT, AND

    si OR astfel:

    T FF T

    T+F T+F

    Tabelul 2 : Functia NOT in logica trivalenta

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    17/25

    Extinderea la logici multivalente

    T F T+F

    T T F T+FF F F F

    T+F T+F F T+F

    Tabelul 3 : Functia AND in logica trivalenta

    T F T+FT T T T

    F T F T+FT+F T T+F T+F

    Tabelul 4 : Functia OR in logica trivalenta

    l l l

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    18/25

    Tautologii in logica clasica

    In logica clasica se folosesc urmatoarele tautologii:

    1. modus ponens: A (A B) BDaca A este adevarat si daca A implica B, atunci B esteadevaratPartea A este adevarat este prima ipoteza (ipoteza 1),

    partea A implica B este ipoteza 2, iar B este adevarateste concluzia

    2. modus tollens: ((A B) (B)) ADaca A implica B si daca B este fals, atunci A este fals

    3. silogismul: (A B) (BC) (A C)Daca A implica B si daca B implica C, atunci A implica C

    4. Contrapozitia: (A B) (B A)Daca A implica B, atunci NOT A implica NOT B

    C i

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    19/25

    Cuprins

    Variabile lingvistice

    Logica fuzzy

    Rationamentul nuantat

    R i l

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    20/25

    Rationamentul nuantat

    Slide-urile urmatoare contin text, figuri, formule, etc, preluate (siprelucrate) din lucrarea de diploma a Anei-Maria Badulescu[Bad99],

    preluate dupa Zimmermann[Zim91] si dupa Chiueh[Chi92].Rationamentul nuantat sau aproximativ inseamna de fapt inferenta fuzzy.In logica fuzzy, modus ponens a fost generalizat de catre Zadeh,Mizumoto, Mamdani in felul urmator: daca A, A, sunt multimi fuzzy inX, iar B, B sunt multimi fuzzy in Y, atunci modus ponens generalizateste prezentat in tabelul:

    Premise x is A

    Implication Ifx is A theny is B

    Conclusion y is B

    Tabelul 5 : Modus ponens generalizat

    Partea de regula intre IF si THEN se numeste antecedentsau premiza,iar partea de dupa THEN se numeste concluziesau consecvent, iar A

    este faptulde intrare.

    M d li t l

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    21/25

    Modus ponens generalizat: exemplu

    Un exemplu de aplicare a modus ponens generalizat este dat intabelul urmator:

    Premise Aceasta banana este foarte galbenaImplication Daca o banana este galbena, atunci banana e coapta

    Conclusion Aceasta banana este foarte coapta

    I f t f

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    22/25

    Inferenta fuzzyPentru a transpune matematic aceste expresii din logica, s-aucautat corespondenti matematici (maxim, minim, produs scalar)

    pentru operatorii logici si de implicatie folositi.Diversi cercetatori au dat expresii matematice, cea mai folositafiind regula compozitionala de inferenta (compositional rule ofinference) a lui Zadeh si Mamdani.Formula care exprima modus ponens generalizat este

    B =A RAB

    (1)

    Implicatia A Beste o relatie fuzzy, avand functia deapartenenta

    RAB

    (x, y)) = min(A(x),

    B(y))

    Pentru operatorul de compunere a premizei A cu implicatia, Zadeha propus expresia (folosita la compunerea max-min a relatiilorfuzzy):

    maxx

    min{A

    (x), R

    AB

    (x, y)} (2)

    Inferenta f

    http://find/http://goback/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    23/25

    Inferenta fuzzy

    Functia de apartenenta a lui B

    :

    B(y) = maxxX

    min(A(x), RAB

    (x, y)) =

    = maxxX

    min(A(x),min(A(x), B(y))) =

    = min maxxX

    [min(A(x), A(x)), B(y)] = min(, B(y))

    unde = max

    xXmin(

    A(x),

    A(x))

    se mai numeste gradul de activare al regulii (uneori este notat cu sau cu a).

    Inferenta fuzzy: exemplu grafic

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    24/25

    Inferenta fuzzy: exemplu grafic

    (x)

    (x)

    (y)

    (y)

    x

    x

    y

    y

    (y)

    y

    ai

    aj

    A

    Aj A

    Ai Bi

    Bj

    Bi

    Bj

    Rulej

    Rulei

    Figura 1 : Exemplu de inferenta fuzzy

    Ana-Maria Badulescu.

    http://find/
  • 7/26/2019 Logica fuzzy si aplicatii 4

    25/25

    Ana Maria Badulescu.Studiul performantelor circuitelor fuzzy utilizand limbajulVHDL, 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.

    H.-J. Zimmermann.Fuzzy Set Theory and Its Applications, Second, RevisedEdition.Kluwer Academic Publishers, 1991.

    http://find/