You are on page 1of 25

Logica fuzzy.

Rationament nuantat
Capitolul 5
Doru Todinca
Departamentul Calculatoare
UPT

Cuprins

Variabile lingvistice

Logica fuzzy

Rationamentul nuantat

Cuprins

Variabile lingvistice

Logica fuzzy

Rationamentul nuantat

Variabile lingvistice

Au fost introduse de Zadeh in 1973.


Zadeh spune renuntind la precizie in favoarea complexitatii
problemelor, devine naturala utilizarea variabilelor lingvistice, adica
a variabilelor ale caror valori nu sunt numere, ci cuvinte sau
propozitii dintr-un limbaj natural sau artificial. Motivatia utilizarii
cuvintelor sau propozitiilor in locul numerelor este aceea ca in
general caracterizarile lingvistice sunt mai putin precise decit cele
numerice.

Variabile lingvistice. Definitii

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

x este numele variabilei lingvistice

T (x) este multimea termenilor variabilei lingvistice (term set)

U este universul discursului asociat variabilei de baza u

G este un set de reguli sintactice de generare a termenilor (de


obicei e o gramatica)
este un set de reguli semantice care asociaza fiecarui
M
termen fuzzy o semnificatie;
este o multime fuzzy in U
M

Variabile lingvistice. Exemplu


Variabila 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 u U data de:

M(old
) = {(u, old (u)) | u [0, 100]}
unde old (u) poate fi data de formula:
(
0, daca x < 50
old (u) =
2 1
[1 + ( u50
5 ) ] , daca x [50, 100]
(
0, daca x < 50
Se obtine old (u) =
(u50)2
, daca x [50, 100]
(u50)2 +52

Desen !

Modificatori lingvistici
Definition
Un modificator lingvistic (linguistic hedge, linguistic modifier) este
o operatie care modifica intelesul unui termen fuzzy sau, mai
general, intelesul unei multimi fuzzy.
este o multime fuzzy, atunci modificatorul m genereaza
Daca A
= m(A)

multimea fuzzy B

Exemple de modificatori lingvistici. Fiind data multimea fuzzy A,


cu A (u), i se pot aplica urmatorii modificatori lingvistici:
1. modificatorul de concentrare (concentration):
2
con(A)
(u) = (A
(u))
1/2
2. modificatorul de dilatare (dilation): dil(A)
(u) = (A
(u))

3. modificatorul de intensificare a contrastelor (contrast


intensification):
(
2 (A (u))2 , daca A (u) [0, 0.5]
int(A)
(u)
=

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

Semnificatia modificatorilor lingvistici

avind functia de apartenenta (u)


Fiind data o multime fuzzy A
A
modificatorilor lingvistici li se asociaza de obicei urmatoarea
semnificatie:
= con(A)

very A

= dil (A)

more or less A
= ( (u))1.25
plus A
A

= ( (u))0.25
minus A
A

Variabile lingvistice structurate si booleene


Definition

O variabila lingvistica x este structurata daca T (x) si M(x)


se pot
obtine algoritmic. Algoritmii implica utilizarea unor modificatori
lingvistici, cu ajutorul carora se genereaza de fapt termenii
variabilei lingvistice.
Exemplu:

T0 =

T 1 = {old }

T 2 = {old , very old }

T 2 = {old , very very old }

Definition
O variabila lingvistica se numeste booleana daca multimea
termenilor sai se obtine de la o multime primara de termeni carora
li se aplica modificatori lingvistici si operatii booleene (NOT, AND,
OR).

Variabile lingvistice speciale

1. Probability =
{almost impossible, not very probable, very probable, almost certain}
Desen !
2. Truth (adevar). Pt adevar avem doua reprezentari, a lui
Zadeh si a lui Baldwin:
2.1 Zadeh
2.2 Baldwin

Variabila lingvistica adevar in reprezentarea lui Zadeh:


Pentru u [0, 1] se defineste:

0, daca u a
a+1
2
true (u) = 2 ( ua
1a ) , daca a u 2

a+1
2
1 2 ( ua
1a ) , daca 2 u 1

false (u) = true (1 u)


a [0, 1] se numeste crossover point si indica subiectivitatea.

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 = u 2

very

false (u)

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

fairly

true (u)

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

fairly

false (u)

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

Desen pt adevar in varianta Zadeh si Baldwin !!!

Cuprins

Variabile lingvistice

Logica fuzzy

Rationamentul nuantat

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 sunt
intotdeauna adevarate
Ne dorim sa extindem aceste elemente la logici cu mai multe valori
de adevar.

Operatori logici in logica clasica

In logica clasica operatorii se definesc prin tabele.

Daca presupunem ca avem doua propozitii, p si 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 q putem 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 implicatia p q), etc, dar nu putem atribui un nume
tuturor coloanelor

Operatori logici in logica clasica

p
0
0
1
1

q
0
1
0
1

0
0
0
1

0
1
1
1

XOR
0
1
1
0

1
1
0
1

1
0
0
1

?
0
0
1
1

Tabelul 1 : Operatori logici in logica clasica

Simbolul reprezinta AND, simbolul reprezinta OR, simbolul


reprezinta NOT.
p q = p q (not p sau q, adica p implica q)
(p q) (q p) = p q (p e echivalent cu q, adica p implica
q si q implica p)

Extinderea la logici multivalente

Daca in loc de doua valori logice am avea 3 valori logice:


{0, 21 , 1}
Atunci fiecare din propozitiile p si q ar 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
F
T+F

F
T
T+F

Tabelul 2 : Functia NOT in logica trivalenta

Extinderea la logici multivalente

T
F
T+F

T
T
F
T+F

F
F
F
F

T+F
T+F
F
T+F

Tabelul 3 : Functia AND in logica trivalenta

T
F
T+F

T
T
T
T

F
T
F
T+F

T+F
T
T+F
T+F

Tabelul 4 : Functia OR in logica trivalenta

Tautologii in logica clasica


In logica clasica se folosesc urmatoarele tautologii:
1. modus ponens: A (A B) B
Daca A este adevarat si daca A implica B, atunci B este
adevarat
Partea A este adevarat este prima ipoteza (ipoteza 1),
partea A implica B este ipoteza 2, iar B este adevarat
este concluzia
2. modus tollens: ((A B) (B)) A
Daca A implica B si daca B este fals, atunci A este fals
3. silogismul: (A B) (B C ) (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

Cuprins

Variabile lingvistice

Logica fuzzy

Rationamentul nuantat

Rationamentul nuantat
Slide-urile urmatoare contin text, figuri, formule, etc, preluate (si
prelucrate) 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,
A
, sunt multimi fuzzy in
Mizumoto, Mamdani in felul urmator: daca A,

B
sunt multimi fuzzy in Y , atunci modus ponens generalizat
X , iar B,
este prezentat in tabelul:
Premise
Implication
Conclusion

x is A
then y is B

If x is A

y is B

Tabelul 5 : Modus ponens generalizat


Partea de regula intre IF si THEN se numeste antecedent sau premiza,

iar partea de dupa THEN se numeste concluzie sau consecvent, iar A


este faptul de intrare.

Modus ponens generalizat: exemplu

Un exemplu de aplicare a modus ponens generalizat este dat in


tabelul urmator:
Premise
Implication
Conclusion

Aceasta banana este foarte galbena


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

Inferenta fuzzy
Pentru a transpune matematic aceste expresii din logica, s-au
cautat corespondenti matematici (maxim, minim, produs scalar)
pentru operatorii logici si de implicatie folositi.
Diversi cercetatori au dat expresii matematice, cea mai folosita
fiind regula compozitionala de inferenta (compositional rule of
inference) a lui Zadeh si Mamdani.
Formula care exprima modus ponens generalizat este
= A
R

B
AB

(1)

B
este o relatie fuzzy, avand functia de
Implicatia A
(y ))
apartenenta R (x, y )) = min(A(x),

B
AB
cu implicatia, Zadeh
Pentru operatorul de compunere a premizei A
a propus expresia (folosita la compunerea max-min a relatiilor
fuzzy):
max min{A (x), R
x

AB

(x, y )}

(2)

Inferenta fuzzy
:
Functia de apartenenta a lui B
B (y ) = max min(A (x), R
xX

AB

(x, y )) =

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


xX

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


xX

unde
= max min(A (x), A (x))
xX

se mai numeste gradul de activare al regulii (uneori este notat cu


sau cu a).

Inferenta fuzzy: exemplu grafic

m(y)

m(x)
Ai

Bi
ai

Bi
Rulei

m(y)

x
m(y)

m(x)
Aj

Bj

aj

Bj

y
Rulej

Figura 1 : Exemplu de inferenta fuzzy

Ana-Maria Badulescu.
Studiul performantelor circuitelor fuzzy utilizand limbajul
VHDL, Lucrare de diploma, conducator stiintific Doru
Todinca, 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, Revised
Edition.
Kluwer Academic Publishers, 1991.

You might also like