Sunteți pe pagina 1din 83

Mihaela (Ghindeanu) Colhon

Elemente de Logic a Fuzzy


Craiova, 2012
2
Cuprins
1 Despre IA 9
1.1 Concepte generale. Inspirat ii . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Reprezentarea cunoasterii . . . . . . . . . . . . . . . . . . . 9
2 Elemente de Logic a Fuzzy 11
2.1 Mult imi fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Operat ii cu mult imi fuzzy . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Principiul extensiei . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Numere fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 t-norme si t-conorme . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Relat ii fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Variabile lingvistice . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.1 Valori de adev ar fuzzy . . . . . . . . . . . . . . . . . . . . . 28
2.6 Propozit ii si implicat ii fuzzy . . . . . . . . . . . . . . . . . . . . . . 28
2.6.1 Modus ponens generalizat . . . . . . . . . . . . . . . . . . . 31
2.7 Sisteme fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7.1 Two-Input/Single-Output fuzzy sistem . . . . . . . . . . . . . 34
2.7.2 Inferent a fuzzy ntr-o R-baz a a unui sistem fuzzy Two-Input/
Single-Output . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7.3 Metode de defuzzicare . . . . . . . . . . . . . . . . . . . . 42
3
4 Cuprins
3 Sisteme fuzzy pentru control inteligent 49
3.1 Mult imi vagi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.1 Funct ii de apartenent a tipice . . . . . . . . . . . . . . . . . . 50
3.1.2 Operat ii cu mult imi fuzzy . . . . . . . . . . . . . . . . . . . 53
3.1.3 Evenimente fuzzy, probabilitate si entropie . . . . . . . . . . 53
3.2 Logica fuzzy de tip lingvistic . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1 Variabile lingvistice . . . . . . . . . . . . . . . . . . . . . . 55
3.2.2 Implicat ii pentru logica fuzzy . . . . . . . . . . . . . . . . . 56
3.2.3 Operatori pentru logica fuzzy . . . . . . . . . . . . . . . . . 58
3.3 Metodologia de sintez a a automatelor fuzzy . . . . . . . . . . . . . . 59
3.3.1 Baza euristic a a algoritmului . . . . . . . . . . . . . . . . . . 60
3.3.2 Denirea variabilelor de lucru . . . . . . . . . . . . . . . . . 61
3.3.3 Baza de reguli pentru inferent e fuzzy . . . . . . . . . . . . . 63
3.4 Implementarea software a algoritmilor fuzzy . . . . . . . . . . . . . . 64
3.4.1 Structura unui automat fuzzy . . . . . . . . . . . . . . . . . . 65
3.4.2 Proiectarea sistemelor fuzzy cu MATLAB . . . . . . . . . . . 67
3.4.3 Aplicat ie. Sistem fuzzy pentru analiz a spat ial a . . . . . . . . 74
3.4.4 Sistem fuzzy pentru analiza spatiala - Interfata . . . . . . . . 77
3.4.5 Sistem fuzzy pentru analiza spatiala - Implementarea . . . . . 78
Lista de guri
2.1 Convexitatea mult imilor fuzzy . . . . . . . . . . . . . . . . . . . . . 12
2.2 M arimi asociate mult imilor fuzzy . . . . . . . . . . . . . . . . . . . 13
2.3 Principiul extensiei aplicat n Exemplul 1.1 . . . . . . . . . . . . . . 15
2.4 Numere fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Exemple de t-norme . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Exemple de t-conorme . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 Cele dou a mult imi fuzzy din Exemplul 2.4.3 . . . . . . . . . . . . . . 24
2.8 Mult imea fuzzy diferent a de presiune este mare . . . . . . . . . . 25
2.9 Variabila lingvistic a v arsta . . . . . . . . . . . . . . . . . . . . . . . 26
2.10 Valori de adev ar fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.11 Arhitectura unui controler fuzzy . . . . . . . . . . . . . . . . . . . . 33
2.12 O partit ie fuzzy a intervalului [-1, 1] . . . . . . . . . . . . . . . . . . 33
2.13 Mult imea de iesire C

corespunz atoare intr arilor crisp u


0
si v
0
. . . . . 36
2.14 Mult imea de iesire C

corespunz atoare intr arilor fuzzy A

si B

. . . . 38
2.15 Reprezentarea grac a a metodei de inferent a Mamdani . . . . . . . . 39
2.16 Reprezentarea grac a a metodei de inferent a Larsen . . . . . . . . . . 40
2.17 Reprezentarea grac a a metodei de inferent a TSK . . . . . . . . . . . 41
2.18 Defuzzicare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.19 Variabila lingvistic a temperatura . . . . . . . . . . . . . . . . . . . . 44
2.20 Variabila lingvistic a presiunea . . . . . . . . . . . . . . . . . . . . . 44
2.21 Iesirea sistemului folosind implicat ia Mamdani (a) si Larsen (b) . . . 46
5
6 Lista de guri
3.1 Funct ia de apartenent a triunghiular a . . . . . . . . . . . . . . . . . . 50
3.2 Funct ia de apartenent a trapezoidal a . . . . . . . . . . . . . . . . . . . 51
3.3 Funct ia de apartenent a parabolic a . . . . . . . . . . . . . . . . . . . 51
3.4 Funct ia de apartenent a de tip clopot . . . . . . . . . . . . . . . . . . 52
3.5 Funct ii de apartenent a de tip saturat ie . . . . . . . . . . . . . . . . . 52
3.6 Variabila lingvistic a distant a cu trei valori lingvistice . . . . . . . . . 57
3.7 Efectul operatorilor concentrator si dilatator . . . . . . . . . . . . 58
3.8 Arhitectura unui controler fuzzy . . . . . . . . . . . . . . . . . . . . 60
3.9 Schema logic a a unui controler fuzzy . . . . . . . . . . . . . . . . . . 65
3.10 Funct ia GAUSSMF . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.11 Funct ia TRIMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.12 Funct ia TRAPMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.13 Variabila lingvistic a eroare . . . . . . . . . . . . . . . . . . . . . . 71
3.14 Efectul funct iei DEFUZZ . . . . . . . . . . . . . . . . . . . . . . . . 74
Lista de tabele
7
8
Capitolul 1
Despre IA
1.1 Concepte generale. Inspiratii
Obiectivul inteligent ei articiale este simularea comportamentului inteligent al unui
om.

In inteligent a articial a exist a dou a abord ari unanim acceptate. Abordarea conex-
ionist a se bazeaz a pe ideea c a inteligent a este emergent a ret elelor neuronale. Pe de alt a
parte, abordarea simbolic a bazat a pe ipoteza sistemelor simbolice zice a lui H. Simon
si A. Newell consider a c a orice sistem inteligent (natural sau articial) este un sistem
zic de prelucrare a simbolurilor.

In abord arile simbolice de inteligent a articial a, prelucr arile sunt efectuate de un


programcare manipuleaz a cunostint e dintr-o asa numit a baz a de cuno stint e. Programele
de calcul sunt denumite n acest caz sisteme bazate pe cuno stint e, principala lor car-
acteristic a ind separarea net a ntre baza de cunostint e si mecanismul de rat ionament.
Una din cele mai grele probleme ale dezvolt ari unui astfel de sistem este construirea
bazei de cunostint e, asa numita achizit ie de cunostint e.
1.1.1 Reprezentarea cunoasterii
Spre deosebire de informat ie, not iunea central a n informatic a (de unde si termenul de
IT - information technology - tehnologia informat iei) cunoasterea era, p an a de cur and,
9
10 Capitolul 1. Despre Inteligent a Articial a
specic a doar inteligent ei articiale.

In acest context, cunoasterea are o semnicat ie
bine precizat a. Conform denit iei lui Alan Newell, unul dintre pionierii inteligent ei
articiale, cunoa sterea este ceea ce poate atribuit unui agent uman sau articial
astfel nc at comportarea sa s a poat a catalogat a drept rat ional a.
Tot Newell n lucrarea sa Nivelul cuno stint elor atrage atent ia asupra faptului c a
n universul stint ei calculatoarelor exist a un nivel separat al cunostint elor situat dea-
supra nivelului programelor care la r andul lui este deasupra celor specice hardware-
ului (transferul ntre registrii, circuitele si dispozitivele). Trecerea la un alt nivel, cel al
cunostint elor este noutatea adus a tehnologiei informat iei.
Capitolul 2
Elemente de Logic a Fuzzy
2.1 Multimi fuzzy
Not iunea de mult ime fuzzy a fost introdus a de Lot A. Zadeh ncep and cu anul 1965
cu scopul de a modela caracterul imprecis al apartenent ei. El a propus generalizarea
conceptului de apartenent a binar a a unui element la o multime crisp deoarece teoria
clasic a a mult imilor limiteaz a posibilitatea descrierii matematice a unor situat ii reale.
Dac a pentru mult imile crisp apartenent a unui element la o mult ime este de tip bi-
nar (da/nu) n cazul mult imilor fuzzy este vorba de un grad de apartenent a. Fie X o
mult ime crisp ale c arei elemente dorim s a le analiz am folosind tehnici fuzzy. Atunci:
A = {(x,
A
(x)) | x X}
deneste o mult ime fuzzy a lui X unde
A
este functia de apartenent a relativ a la mult imea
A, pentru A X iar
A
(x) reprezint a gradul de apartenent a al lui x la mult imea fuzzy
A. De obicei
A
(x) [0, 1]. Mult imea X se mai numeste univers de discus sau mult ime
referent ial [1].
Denitia 2.1.1 [1] O mult ime fuzzy A se nume ste normalizat a sau normal a dac a
sup{
A
(x) |x X} = 1
si subnormal a n caz contrar.
11
12 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.1: Convexitatea mult imilor fuzzy
Orice submult ime fuzzy subnormal a se poate normaliza consider and drept funct ie
caracteristic a pe

A
(x)
sup{
A
(x) |xX}
n loc de
A
(x).
Denitia 2.1.2 [1] O mult ime fuzzy A a unei mult imi univers incluse n spat iul Euclid-
ian se numeste convex a dac a si numai dac a:
(u X)(v X)(w X)(
A
(w) min(
A
(u),
A
(v)))
ori de c ate ori [0, 1] astfel nc at: w = u + (1 )v sau:
x
1
, x
2
, x
3
X : x
1
x
2
x
3
obt inem:
A
(x
2
) min(
A
(x
1
),
A
(x
3
))
Convexitatea mult imilor fuzzy joac a un rol important n denirea partit iilor fuzzy.
Denitia 2.1.3 Un tuplu (A
1
, ..., A
n
) cu A
i
X, i = 1, n se nume ste partit ie fuzzy dac a:
n

i=1

A
i
(x) = 1, A
i
, A
i
X
Observatia 2.1.1 O partit ie fuzzy format a din mult imi fuzzy normale si convexe nu
cont ine mai mult de dou a mult imi fuzzy suprapuse.
Fie X o multime referent iar.
Denitia 2.1.4 [1] Se nume ste t aietura de prag sau t aietura mult imea crisp:
[]

= {x X | (x) }
Dac a inegalitatea este strict a se spune c a t aietura este de tip tare si va notat a cu
[]
+
.
Fie A o mult ime fuzzy de univers X.
Capitolul 2. Elemente de Logic a Fuzzy 13
Figura 2.2: M arimi asociate mult imilor fuzzy
Denitia 2.1.5 [1] Nucleul mult imii A notat Ker(A) este t aietura de prag 1 a mult imii:
Ker(A) = {x X |
A
(x) = 1}
Denitia 2.1.6 [1] Suportul mult imii A notat S upp(A) este t aietura strict a de nivel 0
a mult imii A:
S upp(A) = {x X |
A
(x) > 0}
Denitia 2.1.7 [1] Frontiera mult imii A notat a Fr(A) este mult imea crisp a elementelor
ce au grad de apartenent a intermediar ntre 0 si 1:
Fr(A) = {x X |
A
(x) (0, 1)}
Denitia 2.1.8 [1]

Inalt imea mult imii A notat a h(A) reprezint a cea mai mare valoare
luat a de funct ia sa de apartenent a:
h(A) = sup{
A
(x) | x X}
2.2 Operatii cu multimi fuzzy
Fie A si B dou a mult imi fuzzy de univers X. Dac a
A
=
B
atunci se spune c a A si B
sunt mult imi fuzzy egale (A = B). Dac a
A

B
atunci spunem ca mult imea A este
inclus a n mult imea B (A B).
Funct ia de apartenent a a reuniunii AB este denit a cu ajutorul funct iilor
A
si
B
astfel [1]:
14 Capitolul 2. Elemente de Logic a Fuzzy

AB
(x) = max(
A
(x),
B
(x)), x X

iI
A
i
(x) = sup{
A
i
(x)| i I}, x X
Funct ia de apartenent a a intersect iei A B este denit a de asemenea cu ajutorul
funct iilor
A
si
B
[1]:

AB
(x) = min(
A
(x),
B
(x)), x X

iI
A
i
(x) = inf{
A
i
(x)| i I}, x X
Presupunem c a A este o mult ime fuzzy normalizat a. Funct ia de apartenent a a com-
plementarei mult imii A, notat a C[A] este denit a prin [1]:

C[A]
(x) = 1
A
(x)
2.2.1 Principiul extensiei
De multe ori n modelarea fuzzy este necesar s a fuzzic am mult imi crisp. S a consid-
er am dou a mult imi crisp X si Y iar f : X Y o funct ie. Fie A o submult ime fuzzy
de referent ial X cu funct ia de apartenent a
A
. Zadeh a propus o metod a pentru cons-
tuirea de mult imi fuzzy induse de funct ii, metod a cunoscut a sub numele de principiul
extensiei.
Denitia 2.2.1 [1] Principiul extensiei Imaginea mult imii A prin funct ia f este mult imea
fuzzy f (A) de referent ial Y cu funct ia de apartenent a denit a dup a cum urmeaz a:

f (A)
(y) =

sup
xf
1
(y)

A
(x), dac a f
1
(y)
0, alt f el
Acest principiu este unul din elementele importante ale teoriei mult imilor fuzzy. De
exemplu, pentru o mult ime A de univers nit, principiul extensiei ne permite extensia
unei funct ii f de la punctele referent ialului X la mult imile fuzzy ale lui X [1]:
f (A) = f (
A
(x
1
)/x
1
+
A
(x
2
)/x
2
+ ... +
A
(x
n
)/x
n
) =

A
(x
1
)/ f (x
1
) +
A
(x
2
)/ f (x
2
) + ... +
A
(x
n
)/ f (x
n
)
Fie B o multime fuzzy de referent ial Y cu funct ia de apartenent a
B
. Imaginea
invers a a mult imii B prin f notat a f
1
(B) este mult imea fuzzy de referent ial X cu
funct ia de apartenent a [1]:
Capitolul 2. Elemente de Logic a Fuzzy 15
Figura 2.3: Principiul extensiei aplicat n Exemplul 1.1

f
1
(B)
(x) =
B
( f (x))
Exemplul 2.2.1 S a consider am urm atorul tabel care indic a salariile angajat ilor unei
companii n funct ie de v arsta lor:
varsta 20 25 30 35 40 45 50 55 60 65
salariu 600 600 800 1000 1000 1200 1200 1400 1400 1600
Ne propunems a determin amcare este salariul angajat ilor tineri folosind principiul
extensiei. Pentru aceasta vom considera funct ia f : V S unde V = {20, 25, 30, 35,
40, 45, 50, 55, 60, 65} iar S = {600,800,1000,1200,1400, 1600} astfel nc at f (20)=
f (25)= 600, f (30)= 800, f (35)= f (40)= 1000, f (45)= f (50)= 1200, f (55)= f (60)=
1400, f (65)= 1600.
Vom deni multimea A ca ind multimea fuzzy de univers V angajat i tineri.
Deoarece V este o multime discret a vomputea scrie pe A sub forma: A =

xV

A
(x)/x:
A = 1/20 +1/25 +0.8/30 +0.6/35 +0.4/40 +0.2/45 +0/50 +0/55 +0/60 +0/65
Pe baza mult imii A si a funct iei f construim mult imea fuzzy B salariul angajat ilor
tineri. Avem c a B = f (A) (x V, f (x) S ). Obt inem:

B
(y) =
f (A)
(y) = max
xV | f (x)=y

A
(x)
16 Capitolul 2. Elemente de Logic a Fuzzy
B = f (A) = f (
A
(20)/20 +
A
(25)/25 +
A
(30)/30 +
A
(35)/35 +
A
(40)/40 +

A
(45)/45 +
A
(50)/50 +
A
(55)/55 +
A
(60)/60 +
A
(65)/65)
=
A
(20)/ f (20) +
A
(25)/ f (25) +
A
(30)/ f (30) +
A
(35)/ f (35) +
A
(40)/ f (40) +

A
(45)/ f (45)+
A
(50)/ f (50)+
A
(55)/ f (55)+
A
(60)/ f (60)+
A
(65)/ f (65) = 1/600+
1/600+0.8/800+0.6/1000+0.4/1000+0.2/1200+0/1200+0/1400+0/1400+0/1600 =
1/600 + 0.8/800 + 0.6/1000 + 0.2/1200 + 0/1400 + 0/1600
S a consider am acum mult imea fuzzy C salarii mici de univers S :
C = 1/600 + 0.75/800 + 0.5/1000 + 0.25/1200 + 0/1400 + 0/1600
Vrem s a denim mult imea fuzzy v arsta angajat ilor cu salarii mici. Aceast a
mult ime este de univers V cu funct ia de apartenent a
f
1
(C)
unde:

f
1
(C)
(x) =
C
( f (x)).
f
1
(C) =

xV

f
1
(C)
(x)/x =

xV

C
( f (x))/x =
C
( f (20))/20+
+
C
( f (25))/25 +
C
( f (30))/30 +
C
( f (35))/35 +
C
( f (40))/40+
+
C
( f (45))/45 +
C
( f (50))/50 +
C
( f (55))/55 +
C
( f (60))/60+
+
C
( f (65))/65 = 1/20 + 1/25 + 0.75/30 + 0.5/35 + 0.5/40 + 0.25/45+
+0.25/50 + 0/50 + 0/60 + 0/65
2.2.2 Numere fuzzy
Denitia 2.2.2 Un num ar fuzzy A este o mult ime fuzzy a numerelor reale care aprox-
imeaz a un alt numar real si care are o funct ie de apartenent a convex a si continu a cu
suport marginit.
Denitia 2.2.3 Un num ar fuzzy A se nume ste num ar fuzzy triunghiular cu centrul c,
l at imea la st anga > 0, l at imea la dreapta > 0, dac a funct ia de apartenent a are
forma:

A
(x) =

1
cx

, c x c
1
xc

, c < x c +
0, alt f el
Folosim pentru un num ar fuzzy triunghiular notat ia A = (c, , ) cu supp(A) = (c
, c+). Semnicat ia acestei mult imi fuzzy cu centrul c este num arul este aproximativ
egal cu c.
Capitolul 2. Elemente de Logic a Fuzzy 17
Figura 2.4: Numere fuzzy
Denitia 2.2.4 Un num ar fuzzy A se nume ste num ar fuzzy trapezoidal cu intervalul de
tolerant a [c, d], l at imea la st anga > 0, l at imea la dreapta > 0, dac a are urm atoarea
funct ie de apartenent a:

A
(x) =

1
cx

, c x c
1, c < x d
1
xd

, d < x d +
0, alt f el
Folosim urm atoarea notat ie pentru un num ar fuzzy triunghiular A = (c, d, , )
pentru care supp(A) = (c , d +). Semnicat ia lui A este num arul este aproximativ
ntre c si d.
Un num ar fuzzy este ntotdeauna o mult ime fuzzy ns a reciproca nu este tot timpul
adev arat a. Extinz and not iunea de num ar fuzzy putem deni not iunea de interval fuzzy.
Denitia 2.2.5 Un interval fuzzy este o mult ime fuzzy cu acelea si restrict ii ca pentru
numere fuzzy, cu except ia faptului c a nucleul nu mai este restrict ionat la un singur
punct.
Operatii cu numere fuzzy
Fie A si B dou a numere fuzzy cu funct iile de apartenent a
A
respectiv
B
. Operat iile
aritmetice elementare ntre dou a numere fuzzy se denesc astfel:

A()B
(z) = max{min(
A
(x),
B
(y)), z = x y}
18 Capitolul 2. Elemente de Logic a Fuzzy
unde prin not am operat iile: + (adunare), (sc adere), (nmult ire), /(mp art ire).
Operat iile logice ( si logic), (sau logic) se realizeaz a astfel:

A()B
(z) = max{min(
A
(x),
B
(y)), z = min{x, y}}

A()B
(z) = max{min(
A
(x),
B
(y)), z = max{x, y}}
Exemplul 2.2.2 Fie A
1
num arul fuzzy n jur de 5 cu funct ia de apartenent a

A
1
(x) = max(1
1
2
|x 5|, 0)
si A
2
num arul fuzzy n jur de 2 cu funct ia de apartenent a

A
2
(x) = max(1 |x 2|, 0)
Se dore ste calculul expresiei A
1
(+)A
2
.
Observ am c a ambele numere A
1
si A
2
sunt numere fuzzy triunghiulare: A
1
=
(5, 2, 2), A
2
= (2, 1, 1).
Din expresiile funct iilor de apartenent a obt inem: A
1
=0.5/4 + 1/5 + 0.5/6 iar A
2
= 0/1 + 1/2 + 0/3 de unde rezult a A
1
(+)A
2
= 0.5/6 + 1/7 + 0.5/8 deci A
1
(+)A
2
este
num arul fuzzy triunghiular n jur de 7, A
1
(+)A
2
= (7, 3, 3).
2.3 t-norme si t-conorme
Denitia 2.3.1 [1] Ofunct ie T : [0, 1] [0, 1] se nume ste t-norm a dac a sunt adev arate
toate propriet at ile urm atoare:
T(x, 1) = x, x [0, 1] condit ia la limit a
T(x
1
, x
2
) T(x
3
, x
4
), x
1
x
3
, x
2
x
4
monotonie
T(x, y) = T(y, x), x, y [0, 1] comutativitate
T(T(x
1
, x
2
), x
3
) = T(x
1
, T(x
2
, x
3
)), x
1
, x
2
, x
3
[0, 1] asociativitate
Din aceste propriet at i mai obt inem T(x, 0) = T(0, x) = 0, x [0, 1]. Exemple de
t-norme [1]:
Capitolul 2. Elemente de Logic a Fuzzy 19
Figura 2.5: Exemple de t-norme
T
min
(x, y) = min(x, y)
not
= T
0
(x, y)
T
Lukasiewicz
(x, y) = max{0, x + y 1}
not
= T

(x, y)
T
prod
(x, y) = xy
not
= T
1
(x, y)
Fie A si B dou a mult imi fuzzy.

In cazul n care aceste mult imi sunt legate folosind
operatorul lingvistic AND atunci vom reprezenta aceast a relat ie folosind o t-norm a.
Cele mai utilizate t-norme sunt:
minimum:
AB
(x) = T(
A
(x),
B
(x)) = min(
A
(x),
B
(x))
produsul:
AB
(x) = T(
A
(x),
B
(x)) =
A
(x)
B
(x)
Denitia 2.3.2 [1] O funct ie S : [0, 1] [0, 1] se numest e t-conorm a dac a sunt
adevarate toate propriet at ile urm atoare:
S (x, 0) = x, x [0, 1] condit ia la limit a
S (x
1
, x
2
) S (x
3
, x
4
), x
1
x
3
, x
2
x
4
monotonie
S (x, y) = S (y, x), x, y [0, 1] comutativitate
S (S (x
1
, x
2
), x
3
) = S (x
1
, S (x
2
, x
3
)), x
1
, x
2
, x
3
[0, 1] asociativitate
Din propriet at ile de mai sus obt inem S (x, 1) = S (1, x) = 1, x [0, 1]. Exemple
de t-conorme:
20 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.6: Exemple de t-conorme
S
max
(x, y) = max(x, y)
not
= S
0
(x, y)
S
Lukasiewicz
(x, y) = min{x + y, 1}
not
= S

(x, y)
S
prod
(x, y) = x + y xy
not
= S
1
(x, y)
Fie A si B dou a mult imi fuzzy.

In cazul n care aceste mult imi sunt legate folosind
operatorul lingvistic OR atunci vom reprezenta aceast a relat ie folosind o t-conorm a.
Cele mai utilizate t-conorme sunt:
maximum:
AB
(x) = S (
A
(x),
B
(x)) = max(
A
(x),
B
(x)),
suma probabilist a:
AB
(x) = S (
A
(x),
B
(x)) =
A
(x) +
B
(x)
A
(x)
B
(x)
suma marginit a:
AB
(x) = S (
A
(x),
B
(x)) = min(1,
A
(x) +
B
(x))
Denitia 2.3.3 [1] O funct ie n : [0, 1] [0, 1] se nume ste negat ie sau complement
dac a satisface condit iile:
n(0) = 1
n(1) = 0
dac a u v atunci n(u) n(v) adic a n este descresc atoare
O negat ie n este strict a [1] dac a n este funct ie strict descresc atoare si continu a.
Uzual se utilizeaz a negat ia standard n(x) = 1 x, x [0, 1].

In acest caz unei t-norme
T i se poate asocia o t-conorm a S prin:
Capitolul 2. Elemente de Logic a Fuzzy 21
S (x, y) = 1 T(1 x, 1 y)
Utilitatea operat iei negat ie se poate observa n propozit ia urm atoare:
Propozitia 2.3.1 [1] Fie T o t-norm a si n o negat ie strict a atunci funct ia S
n
denit a
prin:
S
n
(x, y) = n( T(n(x), n(y)) )
reprezint a o t-conorm a. Dac a T este min si n(x) = 1 x atunci S
n
este max.
2.4 Relatii fuzzy
O relat ie binar a crisp R(U,V) poate denit a astfel:

R
(u, v) =

1, daca (u, v) R(U, V)


0, alt f el
Fiind date mult imile univers U si V atunci o relat ie fuzzy R(U, V) este o submult ime
fuzzy a lui U V:
R(U, V) = { ((u, v),
R
(u, v)) | (u, v) U V},
R
(u, v) [0, 1]
Exemplul 2.4.1 S a presupunemc a vrems a denimconceptul vehiculul x este aproape
de vehiculul y n condit iile n care ambele vehicule se deplaseaz a pe un drum de 40
km. Fiecare pozit ie a vehicului este denit a consider andu-se distant a dintre acesta si
origine. Dac a dorim s a denim acest concept n logica clasic a, trebuie s a stabilimntr-
un mod neambiguu ce nseamn a aproape sau departe n metrica considerat a. Astfel,
dac a o distant a de cel mult 30 km ntre cele dou a vehicule ne permite s a spunem c a
vehiculele sunt aproape unul de cel alalt atunci putem exprima relat ia crisp vehiculul
x este aproape de vehiculul y prin intermediul urm atoarei matrici relat ionale:
v
1
= 0 v
2
= 20 v
3
= 40
u
1
= 0 1 1 0
u
2
= 20 1 1 1
u
3
= 40 0 1 1
unde prin u
1
, u
2
, u
3
not am pozit iile vehicului x iar prin v
1
, v
2
, v
3
pozit iile vehicului y
iar domeniul (discret) de valori pentru pozit ia ec arui vehicul este {0, 20, 40}.
22 Capitolul 2. Elemente de Logic a Fuzzy
Dac a n schimb alegem s a denim acest concept folosind o relat ie fuzzy R(U, V)
unde U = V = { 0, 20, 40 } cu funct ia de apartenent a:
R
(u, v) = 1
|uv|
40
, (u, v) UV
atunci matricea relat ional a devine:
v
1
= 0 v
2
= 20 v
3
= 40
u
1
= 0 1 1/2 0
u
2
= 20 1/2 1 1/2
u
3
= 40 0 1/2 1
O relat ie fuzzy este de fapt o mult ime fuzzy denit a pe un spat iu produs, ceea ce
ne permite s a utiliz am operat iile de baz a ale mult imilor fuzzy si pe mult imea relat iilor
fuzzy. Astfel, dac a R
1
si R
2
sunt dou a relat ii fuzzy denite pe acelasi spat iu produs
U V atunci intersect ia si reuniunea lor pot denite astfel:

R
1
R
2
(u, v) = S (
R
1
(u),
R
2
(v))

R
1
R
2
(u, v) = T(
R
1
(u),
R
2
(v))
O relat ie fuzzy de univers U V se numeste [1]:
reexiv a dac a
R
(u, u) = 1, u U
antisimetric a dac a din
R
(u, v) > 0 si
R
(v, u) > 0 avem u = v
simetric a dac a
R
(u, v) =
R
(v, u)
tranzitiv a dac a R R R
O relat ie fuzzy reexiv a, simetric a si tranzitiv a se numeste relat ie fuzzy de ordine
[1].
Exemplul 2.4.2 S a presupunemc a vrems a denimconceptul vehiculul x este aproape
de vehiculul y si vehiculul x este mai aproape de sf ar situl drumului dec at y. Prima
parte a propozit iei este relat ia denit a n Exemplul 2.4.1. A doua parte a propozit iei
poate denit a folosind urm atoarea relat ie fuzzy de acela si univers ca si precedenta:
v
1
= 0 v
2
= 20 v
3
= 40
u
1
= 0 0.5 0.25 0
u
2
= 20 0.75 0.5 0.25
u
3
= 40 1 0.75 0.5
Capitolul 2. Elemente de Logic a Fuzzy 23
Cum ambele p art i ale propozit iei sunt denite pe acela si spat iu produs U V,
ntreaga propozit ie poate calculat a folosind o T-norm a (minimum).
De fapt multe relat ii fuzzy sunt obt inute prin combin ari ale mult imilor fuzzy. Pentru
a face acest lucru posibil mult imile fuzzy sunt mai int ai convertite la relat ii fuzzy care
apoi sunt operate cu o norm a. Primul pas este realizat folosind principiul extensiei
cilindrice propus a de L. A. Zadeh.
Acest principiu este aplicat atunci cand sunteminteresat i s a ad aug amo nou a dimen-
siune unei relat ii fuzzy de n domenii pentru a obt ine o relat ie fuzzy de n + 1 domenii.

In acest sens dac a avem o mult ime fuzzy X a c arei funct ie de apartenent a e denit a pe
universul U,
X
: U [0, 1] atunci extensia cilindrica a lui X pe U V este relat ia
fuzzy denit a prin:
ce o f X on U V = { ((u, v),
X
(u, v)) | (u, v) U V}
Astfel, gradul de apartenent a a lui u U este copiat la toate perechile (u, v), v V.
Operatorul complementar extensiei este cel de proiect ie. Denimproiect ia lui UV
pe U ca ind mult imea fuzzy:
pro j o f U V on U = { (u, v
max{
R
(u,v)}
) | u U}
Exemplul 2.4.3 S a presupunem c a avem dou a mult imi fuzzy A = viteza uidului pe
conduct a este mare si B =debitul uidului pe conduct a este mare (vezi Figura 2.7).
Cu aceste dou a mult imi vrem s a construim relat ia fuzzy viteza uidului pe conduct a
este mare c and debitul uidului este mare.
Viteza uidului ia valori ntre 0 si 1 m/s iar debitul este denit pe o scar a de la
0 la 15 m
3
/s . Deoarece funct iile de apartenent a ale mult imilor A si B sunt funct ii
liniare vom considera domeniile (discrete) U = {0, 0.5, 0.7, 1} pentru mult imea A si
V = {0, 7.5, 14, 15} pentru mult imea B.
Pentru nceput folosim principiul extensiei cilindrice pentru a construi relat ia fuzzy
R
1
pornind de la mult imea A si relat ia fuzzy R
2
pornind de la mult imea B:
24 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.7: Cele dou a mult imi fuzzy din Exemplul 2.4.3
viteza\debit
(R
1
)
0 7.5 14 15
0 0 0 0 0
0.5 0.5 0.5 0.5 0.5
0.7 0.7 0.7 0.7 0.7
1 1 1 1 1
viteza\debit
(R
2
)
0 7.5 14 15
0 0 0.5 0.9 1
0.5 0 0.5 0.9 1
0.7 0 0.5 0.9 1
1 0 0.5 0.9 1
Relat ia fuzzy viteza uidului este mare c and debitul acestuia este mare se obt ine
aplic and o T-norm a relat iilor R
1
si R
2
si anume min. Vom obt ine:
viteza\debit 0 7.5 14 15
0 0 0 0 0
0.5 0 0.5 0.5 0.5
0.7 0 0.5 0.7 0.7
1 0 0.5 0.9 1
S a consider am acum dou a relat ii binare denite pe spat ii produs diferite dar care au
o mult ime comun a: R
1
(U, V) si R
2
(V, W). Compunerea acestor dou a relat ii este relat ia
R(U, W) care n logica clasic a este denit a astfel:
R(U, W) = R
1
(U, V) R
2
(V, W) = { (u, w) U W | v V : (u, v) U V, (v, w)
V W}

In logica fuzzy compunerea a dou a relat ii binare denite pe spat ii produs diferite
dar care au o mult ime comun a se deneste analog compunerii crisp:
Capitolul 2. Elemente de Logic a Fuzzy 25
Figura 2.8: Mult imea fuzzy diferent a de presiune este mare
R(U, W) = { ((u, w),
R
(u, w)) | (u, w) U W} unde

R
(u, w) = S
v
( T(
R
1
(u, v),
R
2
(v, w)) )
Desi se poate folosi orice T-norm a si S -norm a cele mai multe compuneri de relat ii
fuzzy binare folosesc maximul ca S -norm a si produsul sau minimul drept T-norm a:

R
(u, w) = max{min(
R
1
(u, v),
R
2
(v, w)) | v V} compunerea max-min

R
(u, w) = max{
R
1
(u, v)
R
2
(v, w) | v V} compunerea max-produs
De multe ori astfel de compuneri mai sunt numite si sup-star compuneri unde op-
eratorul star este o T-norm a:

R
(u, w) = sup{
R
1
(u, v)
R
2
(v, w) | v V}
Exemplul 2.4.4 Vom considera din nou relat ia fuzzy din ultimul exemplu viteza u-
idului pe conduct a e mare c and debitul acestuia este mare (R
1
) si n plus relat ia
debitul uidului pe conduct a este mare c and diferent a de presiune este mare (R
2
)
pentru a calcula: viteza uidului pe conduct a este mare c and diferent a de presiune pe
conduct a este mare (R) folosind o cumpunere max-min:
viteza\debit
(R
1
)
0 7.5 14 15
0 0 0 0 0
0.5 0 0.5 0.5 0.5
0.7 0 0.5 0.7 0.7
1 0 0.5 0.9 1

debit\presiune
(R
2
)
0 2.5 3.5 1
0 0 0 0 0
7.5 0 0.5 0.5 0.5
14 0 0.5 0.7 0.9
15 0 0.5 0.7 1
=
26 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.9: Variabila lingvistic a v arsta
=
viteza\presiune
(R)
0 2.5 3.5 5
0 0 0 0 0
0.5 0 0.5 0.5 0.5
0.7 0 0.5 0.7 0.7
1 0 0.5 0.7 1
2.5 Variabile lingvistice
Spre deosebire de variabilele algebrice ale c aror valori sunt numere, variabilele lingvis-
tice au ca valori cuvinte sau secvent e de cuvinte n limbaj natural sau articial. Mult imea
valorilor unei variabile lingvistice se numeste mult imea termenilor [1]. Fiecare element
din mult imea termenilor este o valoare fuzzy denit a n raport cu o variabil a de baz a.
Valorile variabilei de baz a denesc mult imea univers U a tuturor valorilor fuzzy din
mult imea termenilor [1].
Denitia 2.5.1 [1] Se nume ste variabil a lingvistic a sistemul (x, T(x), U, G, M) unde:
x este numele variabilei
T(x) mult imea termenilor lingvistici (termen lingvistic: valoare ce are asociat a
o funct ie de apartenent a si care caracterizeaz a o variabil a lingvistic a)
U mult imea universului de discurs
G gramatica care produce termenii lui T(x)
Capitolul 2. Elemente de Logic a Fuzzy 27
M regula semantic a care mapeaz a termenii lui T(x) la mult imi fuzzy ale lui U
Exemplul 2.5.1 S a consider am variabila lingvistic a x cu numele cantitate:
x = (cantitate, T(cantitate), U, G, M)
T(cantitate) = {mult, f oarte mult, f oarte f oarte mult, etc}
U = [50, 100]
G(cantitate) : T mult | f oarte T
M(mult) = { (u,
mult
(u)) | u [50, 100]} iar

mult
(u) =

1, daca u [90, 100]


(1 +
90u
5
)
2
, u [50, 90]

In exemplul de mai sus termenul mult este utilizat ca variabil a de baz a n T(cantitate).
Astfel de termeni se numesc termeni primari. Ad aug and modicatori la termenii pri-
mari obt inem noi termeni - termeni fuzzy.

In general modicatorii lingvistici se mpart n trei categorii:


aproximatori de mult imi fuzzy. Cu astfel de modicatori dintr-un scalar putem
obt ine o mult ime fuzzy. Exemple de aproximatori: aproape, n jurul, aproxima-
tiv, etc
restr angere de mult imi fuzzy. Acestia modic a forma funct iei de apartenent a.
Exemple de astfel de modicatori: sub, peste
intensicare sau diminuare. S i acestia modic a funct ia de apartenent a dup a cum
urmeaz a:
(x modicat) = (x)
n
intensicare (concentrare): foarte (n=2), extrem de (n=3), etc.
diminuare (dilatare): aproape (n=1/2), n mare m asur a (n=5/7), etc
Un termen lingvistic de cele mai multe ori este format din:
un termen primar: bun, prost, vechi, rar, etc.
un modicator fuzzy: foarte, aproape, n jur de, probabil, etc.
28 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.10: Valori de adev ar fuzzy
2.5.1 Valori de adev ar fuzzy
Folosind modicatorii lingvistici Baldwin a denit pe multimea univers V = {v | v
[0, 1]} valorile de adev ar fuzzy. Mult imea lor este:
T={adev arat, foarte adev arat, aproape adev arat, absolut adev arat, ..., fals, absolut
fals, ndeajuns de fals}
Aceste valori de adev ar fuzzy au funct iile de apartenent a dup a cum urmeaz a:

adev arat
(v) = v
f als
(v) = 1
adev arat
(v)

f oarte adev arat


(v) = (
adev arat
(v))
2

f oarte f als
(v) = (
f als
(v))
2

aproape adev arat


(v) = (
adev arat
(v))
1/2

aproape f als
(v) = (
f als
(v))
1/2

absolut adev arat


(v) =

1, v = 1
0, alt f el

absolut f als
(v) =

1, v = 0
0, alt f el
pentru v [0, 1].
Se observ a c a:

f oarte adev arat


(v)
adev arat
(v)
aproape adev arat
(v) si

f oarte f als
(v)
f als
(v)
aproape f als
(v)
2.6 Propozitii si implicatii fuzzy
Logica fuzzy se ocup a cu stabilirea valorii de adev ar a propozit iilor fuzzy. O propozit ie
fuzzy elementar a este de forma x este A unde A T(x) sau A CT(x) (prin CT(x)
not am mult imea termenilor x care au fost modicat i) [1].
Capitolul 2. Elemente de Logic a Fuzzy 29
Din motive practice trebuie ca funct ia de apartenent a a termenului A s a e nor-
malizat a. Valoarea de adev ar a unei propozit ii elementare x este A este denit a prin
intermediul lui
A
(x) [1].
O operat ie important a n modelarea fuzzy este implicat ia fuzzy. O implicat ie ntre
dou a propozit ii fuzzy deneste tot o propozit ie fuzzy care se poate exprima condit ional
prin [1]:
Dac a x este A atunci y este B
Aceast a construct ie se obt ine pornind de la [1]:
dou a variabile lingvistice: (x, T(x), U, G
x
, M
x
) si (y, T(y), V, G
y
, M
y
)
A T(x) o mult ime fuzzy de univers U
B T(y) o mult ime fuzzy de univers V.
Practic valoarea de adev ar a implicat iei fuzzy este denit a de funct ia de apartenent a

R
a unei relat ii R ntre mult imile U si V. Mai precis [1]:

R
(u, v) = (
A
(u),
B
(v))
Denit ia implicat iei n logica propozit ional a consider a c a o propozit ie este fals a
dac a si numai dac a antecedentul este fals si concluzia adev arat a. Funct ia se alege
astfel nc at dac a A si B sunt mult imi crisp atunci implicat ia fuzzy s a e similar a celei
din logica bivalent a.
Exist a patru clase importante de implicat ii fuzzy:
S-implicat ii: bazate pe p q = p q = S ( n((p), (q)) )
QL-implicat ii: bazate pe p q = p (p q) = (p (p q)) = n(T((p),
n( T((p), (q)))))
QL-implicat iile (Quantum Logic) modeleaz a condit ii de forma:
dac a ... atunci ... altfel
30 Capitolul 2. Elemente de Logic a Fuzzy
Aceste implicat ii sunt bazate pe p q = p (p q) = (p (p q)) =
n(T((p), n(T((p), (q)))))

In acest fel structura dac a x este A atunci y este B altfel y este D se poate
interpreta:
(x, y) (A B) (C[A] D)
deci
R
(x, y) = S (T(
A
(x),
B
(y)), T(
C[A]
(x),
D
(y))) = S (T(
A
(x),
B
(y)), T(n(

A
(x)),
D
(y))).
Dac a T(n(
A
(x)),
D
(y)) = n(
A
(x)), adic a dac a
D
(y) = 1 atunci obt inem:

R
(x, y) = S (T(
A
(x),
B
(y)), n(
A
(x)))) = n(T(
A
(x), n(T(
A
(x),
B
(y)))))
R-implicat iile bazate pe p q = sup{r [0, 1] | (p r) q} sau p q =
sup{r [0, 1] | T((p), r) (q)}
t-norm implicat iile bazate pe p q = p q (fals a n logica boolean a!)
Desi implicat iile t norm, cum ar implicat ia Mamdani nu se veric a pentru
mult imi crisp ele sunt totusi cele mai utilizate n logica fuzzy.

In tabelul de mai jos sunt prezentate cele mai utilizate implicat ii fuzzy [1]:
Nume Functie Clasa
Reichenbach 1
A
(u) +
A
(u)
B
(v) S
Lukasiewicz min(1, 1
A
(u) +
B
(v))
S, R bazat pe:
(A B) = (A) B
G odel

1, dac a
A
(u)
B
(v)

B
(v), alt f el
R modus ponens generalizat
Gaines

1, dac a
A
(u)
B
(v)
0, alt f el
R
Kleene-Dienes max(1
A
(u),
B
(v))
S, QL bazat pe:
(A B) = (A) B
Zadeh max(1
A
(u), min(
A
(u),
B
(v)))
QL bazat pe:
(A B) = (A) (A B)
Mamdani
Larsen
min(
A
(u),
B
(v))

A
(u)
B
(v)
T
Capitolul 2. Elemente de Logic a Fuzzy 31
2.6.1 Modus ponens generalizat
Schema de rat ionament modus ponens generalizat este urm atoarea:
Premiza: u is A

Regula: IF u is A THEN v is B
Consecinta: v is B

Mult imea fuzzy A

din premiz a poate s a e diferit a de mult imea A din regul a, ns a


ambele mult imi A si A

trebuie s a e denite pe acelasi univers. La fel pentru B si B

.
Pentru exemplicare s a consider am urm atoarea regul a:
Dac a persoana X este scund a atunci aceasta nu va un bun juc ator de basket.
si premiza:
X are 168 cm n n alt ime.

In logica crisp o regul a poate aplicat a dac a si numai dac a premiza ei este identic a
cu antecedentul regulei iar rezultatul acestei operat ii este concluzia regulei.

Ins a n log-
ica fuzzy o regul a este aplicat a at ata timp c at gradul de apartenent a al valorii lingvistice
din premiz a la mult imea fuzzy din antecedentul regulei este nenul.
Astfel, n aceast a regul a de rat ionament avem:
o relat ie fuzzy A B unde:
A B = {((u, v),
AB
(u, v)) | (u, v) U V}
iar U si V sunt mult imile univers pentru A respectiv B.
o mult ime fuzzy A

a c arei funct ie de apartenent a


A
(u) este cunoscut a, u U
si vrem s a obt inem mult imea fuzzy B

adic a valorile funct iei


B
(v), cu v V.
Mult imea B

este rezultatul compunerii dintre A

si A B, adic a:
B

= A

(A B)
de unde rezult a:
B

= {(v, sup
u
(
A
(u)
AB
(u, v))) | v V}
32 Capitolul 2. Elemente de Logic a Fuzzy
unde prin operatorul not am orice T-norm a.
Exemplul 2.6.1 S a consider am urmatoarea regul a:
Dac a presiunea este mare atunci volumul este mic.
Denim mult imea fuzzy presiunea este mare prin A = 0/1 + 0.2/3 + 0.7/6 +
1/10 si mult imea fuzzy volumul este mic prin B = 1/1 + 0.6/10 + 0/50.
Pentru implicat ia A B vom folosi implicat ia Mamdani
AB
(u, v) = min(
A
(u),

B
(v)). Astfel matricea relat iei A B este:
volum\presiune 1 3 6 10
1 0 0.2 0.7 1
10 0 0.2 0.6 0.6
20 0 0 0 0
S a consider am acum premiza: presiunea este de 3 bar, ceea ce ne permite s a
scriem: A

= 0/1 + 1/3 + 0/6 + 0/10. Cum A

nu este mult imea A vom aplica metoda


modus ponens generalizat pentru a obt ine concluzia B

B
(v) = max
u
(min(
A
(u),
AB
(u, v)))
si vom avea: B

= 0.2/1 + 0.2/10 + 0/20.

In schimb pentru premiza presiunea este de 10 bar, deci pentru A

= 0/1 + 0/3
+ 0/6 + 1/10 vom avea B

= 1/1 + 0.6/10 + 0/20.


2.7 Sisteme fuzzy
Rat ionamentele n logica fuzzy utilizeaz a mult imi fuzzy pentru reprezentarea si manip-
ularea cunostint elor incerte. Un sistem de control fuzzy utilizeaz a o colect ie de funct ii
de apartenent a si reguli pentru a rat iona pe baza cunostint elor date. Valorile crisp care
reprezint a intr arile unui astfel de sistem sunt transformate n valori fuzzy pentru a putea
folosite n aplicarea regulilor sistemului, reguli ce sunt formulate prin intermediul ex-
presiilor lingvistice. Cele mai multe sisteme fuzzy transform a si concluzia lingvistic a
obt inut a n valoare crisp.
Capitolul 2. Elemente de Logic a Fuzzy 33
Figura 2.11: Arhitectura unui controler fuzzy
Figura 2.12: O partit ie fuzzy a intervalului [-1, 1]
Arhitectura unui sistem fuzzy pentru controlul proceselor - controler fuzzy este
prezentat a n Figura 2.11.
Asa cum se observ a n gura de mai sus componentele unui controler fuzzy sunt:
modulul de fuzzicare care transform a valorile de intrare crisp n mult imi fuzzy
pentru a putea calcula valoarea de adev ar a premizei ec arei reguli din baza de
reguli pentru intrarea dat a.

In general intr arile unui sistem fuzzy sunt valori crisp
(valori singleton).

In acest caz acest modul va transforma valoarea de intrare n
mult ime fuzzy impuls (singleton).
De exemplu valoarea 10 din mult imea univers U = {2, 5, 10, 15} va transfor-
mat a n mult imea fuzzy impuls A de univers U astfel:
A = 0/2 + 0/5 + 1/10 + 0/15

In multe aplicat ii practice se normalizeaz a domeniul intr arilor folosindu-se urm atorul
tip de partit ie: NB (negativ mare), NM (negativ mediu), NS (negativ mic), ZE
(zero), PS (pozitiv mic), PM (pozitiv mediu), PB (pozitiv mare).
modulul de inferent a calculeaz a valoarea de adev ar a premizelor din baza de
34 Capitolul 2. Elemente de Logic a Fuzzy
reguli n raport cu datele de intrare si aplic a valorile obt inute concluziilor core-
spunz atoare obt in andu-se astfel c ate o mult ime fuzzy de iesire pentru ecare
regul a.
modulul de agregare combin a toate mult imile fuzzy asignate concluziilor reg-
ulilor de c atre modulul de inferent a pentru a forma o singur a mult ime fuzzy.
modulul de defuzzicare are rolul de a converti mult imea fuzzy obt inut a de mod-
ulul de agregare la o valoare crisp care va valoarea de iesire a sistemului pentru
intrarea dat a.
Exist a mai multe tipuri de sisteme fuzzy:
sisteme fuzzy MIMO (Multiple Input Multiple Output)
sisteme fuzzy MISO (Multiple Input Single Output)
Asa cum am precizat, un sistem fuzzy cont ine o mult ime de reguli pe baza c arora
se fac rat ionamentele. Regulile unui sistem fuzzy formeaz a baza de reguli sau pe scurt
R-baza. Fiecare regul a fuzzy este format a din dou a propozit ii fuzzy: premiza si con-
cluzia. Aceste propozit ii cont in variabile lingvistice conectate prin intermediul opera-
torilor lingvistici and, or ... . Totusi marea majoritate a sistemelor fuzzy bazate pe reguli
folosesc doar operatorul lingvistic and n premizele regulilor n timp ce concluzia este
format a dintr-o singur a valoare lingvistic a (sisteme MISO).

In cele ce urmeaz a vom
exemplica componentele si schemele de rat ionament ale sistemelor fuzzy de clas a
MISO si anume ale sistemelor de tipul Two-Input/ Single-Output.
2.7.1 Two-Input/Single-Output fuzzy sistem
Forma general a a unui controler fuzzy de clas a Two-Input/Single-Output este urm atoarea:
Input: x is A

and y is B

R
1
IF u is A
1
and v is B
1
THEN w is C
1
else R
2
IF u is A
2
and v is B
2
THEN w is C
2
...
else R
p
IF u is A
n
and v is B
m
THEN w is C
k
Capitolul 2. Elemente de Logic a Fuzzy 35
Output: w is C

unde u si v sunt variabile lingvistice reprezent and st arile procesului modelat de


sistem iar w este variabila lingvistic a de control a sistemului. A
i
, B
j
si C
k
sunt valorile
lingvistice ale variabilelor u, v respectiv w de univers U, V, W pentru i=1, n j=1, m si
k=1, s.
Un astfel de sistem fuzzy necesit a o baz a de reguli (R-baz a) de nm reguli unde
n reprezint a num arul de valori ale variabilei u iar m reprezinta numarul de valori ale
variabilei v.
O regul a fuzzy:
R: IF u is A
i
and v is B
j
THEN w is C
k
este implementat a ca o relat ie de implicat ie fuzzy si este denit a dup a cumurmeaz a:
R: ( A
i
and B
j
) C
k

R
(u, v, w) =
(A
i
B
j
C
k
)
(u, v, w) = [
A
i
(u)
B
j
(v)]
C
k
(w)
unde A
i
and B
j
este o submult ime fuzzy A
i
B
j
in UV iar R este o relat ie de implicat ie
fuzzy pe UV W.
Regula compozitional a de inferent a
S a consider am o regul a fuzzy din R-baza sistemului fuzzy considerat si inferent a sa
(GMP - modus ponens generalizat):
Input: u is A

and v is B

R: IF u is A and v is B THEN w is C
Output: w is C

A U, B V, C W, u U, v V, w W. Vom interpreta aceast a regul a ca o


implicat ie AB C care este denit a pe mult imea produs UV W.
R: AB C sau R = AB C
C and sistemul de inferent a primeste intrarea (A

,B

) atunci iesirea C

este obt inut a


printr-o inferent a notat a cu operatorul de compunere astfel:
C

= (A

,B

) R
36 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.13: Mult imea de iesire C

corespunz atoare intr arilor crisp u


0
si v
0
Zadeh a numit acest proces de inferent a prin regula compozit ional a de inferent a.
Inferent a n sistemele fuzzy este determinat a de doi factori: operatorul de implicat ie
si operatorul de compunere. Pentru implicat ie cei mai des folosit i operatori sunt:
implicat ia Mamdani: operatorul min
implicat ia Larsen: operatorul produs
Pentru compunere de asemenea avem doi operatori foarte utilizati:
compunerea Mamdani: max-min
compunerea Larsen: max-produs
Propozitia 2.7.1 Pentru inputuri singleton mult imea de ie sire C

este determinat a de
minimul gradelor de potrivire ale mult imilor fuzzy A si B pentru intr arile date. Dac a
intr arile sunt valori singleton A

= u
0
si B

= v
0
si not am = min{
A
(u
0
),
B
(v
0
)}
atunci rezultatul relat iei de implicat ie fuzzy R este:

C

(w) =
C
(w) dac a folosim implicat ia Mamdani

C

(w) =
C
(w) dac a folosim implicat ia Larsen
Demonstratie. Cum C

= (A

,B

) R = (A

,B

) (A and B C) = [A

(A C)]
[B

(B C)] rezult a c a avem:

(w) = min{u
0
(
A
(u)
C
(w)), v
0
(
B
(v)
C
(w))} =
= min{
A
(u
0
)
C
(w),
B
(v
0
)
C
(w)}
Capitolul 2. Elemente de Logic a Fuzzy 37
1. Dac a utiliz am operatorul de implicat ie fuzzy Mamdani:

(w) = min{min{
A
(u
0
),
C
(w)}, min{
B
(v
0
),
C
(w)}} =min{min{
A
(u
0
),
B
(v
0
)},

C
(w)} = min{ ,
C
(w)} =
C
(w)
2. Dac a utiliz am operatorul de implicat ie fuzzy Larsen:

(w) = min{
A
(u
0
)
C
(w),
B
(v
0
)
C
(w)} = min{
A
(u
0
),
B
(v
0
)}
C
(w) =

C
(w)
Propozitia 2.7.2 Pentru intrarea fuzzy (A

, B

) mult imea de ie sire C

este determinat a
de minimul gradelor de potrivire ale lui (A

, A) si (B

, B). Astfel, dac a intrarea este


perechea de mult imi fuzzy (A

, B

) atunci gradul de potrivire este dat de minimul


dintre (A

, A) si (B

, B), deci:
= min{max
u
(
A

(u)
A
(u)), max
v
(
B

(v)
B
(v))}
iar mult imea de iesire C

este denit a astfel:


1.
C

(w) =
C
(w) dac a folosim implicat ia Mamdani
2.
C

(w) =
C
(w) dac a folosim implicat ia Larsen
Demonstratie. Cum C

= [A

(A C)] [B

(B C)] obt inem:

(w) = min{
A

(u) (
A
(u)
C
(w)),
B

(v) (
B
(v)
C
(w))}
1. Dac a folosim operatorii Mamdani min pentru implicat ie si max-min pentru com-
punere avem:

(w) = min{
A

(u) min
u
{
A
(u),
C
(w)},
B

(v) min
v
{
B
(v),
C
(w)}} = min
{
A

(u)(
A
(u)
C
(w)),
B

(v)(
B
(v)
C
(w))} =min{max
u
min
u
{
A

(u),
A
(u)

C
(w)}, max
v
min
v
{
B

(v),
B
(v)
C
(w)}} = min{max
u
(
A

(u)
A
(u))
C
(w),
max
v
(
B

(v)
B
(v))
C
(w)} = min{max
u
(
A

(u)
A
(u)), max
v
(
B

(v)
B
(v))}

C
(w) =
C
(w)
2. Dac a folosim operatorii Larsen produs pentru implicat ie si max-produs pentru
compunere avem:
38 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.14: Mult imea de iesire C

corespunz atoare intr arilor fuzzy A

si B

(w) = min{
A

(u) (
A
(u)
C
(w)),
B

(v) (
B
(v)
C
(w))} = min{max
u
min
u
(
A

(u),
A
(u))
C
(w), max
v
min
v
(
B

(v)
B
(v))
C
(w)} =min{max
u
(
A

(u)

A
(u))
C
(w), max
v
(
B

(v)
B
(v))
C
(w)} =min{max
u
(
A

(u)
A
(u)), max
v
(
B

(v)
B
(v))}
C
(w) = =
C
(w)
2.7.2 Inferenta fuzzy ntr-o R-baz a a unui sistem fuzzy Two-Input/
Single-Output

In aceast a sect iune vom extinde regula compozit ional a de inferent a la un set de p reguli.
Astfel vom considera:
Input: (A

,B

)
R =

p
l=1
R
l
unde R
l
: ( A
i
and B
j
) C
k
Output: C

Propozitia 2.7.3 Multimea de iesire C

este rezultatul procesului de agregare a tu-


turor concluziilor C

l
= (A

,B

) R
l
, l=1, pobtinute n urma aplic arii celor p reguli din
R-baz a pentru intrarea (A

,B

).
C

= (A

,B

) R= (A

, B

p
l=1
R
l
=

p
l=1
(A

, B

) R
l
=

p
l=1
C

l
Demonstratie.

Intr-adev ar relat ia C

= (A

, B

p
l=1
R
l
este echivalent a cu:

(w) = [
A

(u),
B

(v)] max
u,v,w
{
R
1
(u, v, w), ...,
R
p
(u, v, w)}

Inlocuind operatorul de compunere cu operatorul max-min obt inem:

(w) = max
u,v
min
u,v
{[
A

(u),
B

(v)], max
u,v,w
{
R
1
(u, v, w), ...,
Capitolul 2. Elemente de Logic a Fuzzy 39
Figura 2.15: Reprezentarea grac a a metodei de inferent a Mamdani

R
p
(u, v, w)}}= max
u,v
max
u,v,w
{min
u,v
{[
A

(u),
B

(v)],
R
1
(u, v, w)}, ...,
min
u,v
{[
A

(u),
B

(v)],
R
p
(u, v, w)}}
Dar max
u,v
min
u,v
{[
A

(u),
B

(v)],
R
l
(u, v, w)} = (
A

(u),
B

(v))
R
l
(u, v, w) =
C

l
(w)
cu l=1, p asa nc at vom avea:

(w) = max
w
{
C

1
(w), , ...,
C

p
(w)} deci C

p
l=1
C

l
.
Pentru simplicitate vom considera n cele ce urmeaz a c a sistemul cont ine numai
dou a reguli n baz a si anume:
R
1
IF u is A
1
and v is B
1
THEN w is C
1
else R
2
IF u is A
2
and v is B
2
THEN w is C
2
Not am cu
1
,
2
gradul de potrivire al intr arilor n raport cu premiza primei, re-
spectiv a celei de-a doua reguli din baz a. Motorul de inferent a al unui controler fuzzy
poate implementat folosindu-se diverse metode de inferent a. Cele mai cunoscute
sunt: Mamdani, Larsen, Tsukamoto si TSK (Takagi-Sugeno-Kang). Ele vor prezen-
tate n cele ce urmeaz a.
Metoda Mamdani
Aceast a metod a foloseste operatorul min pentru implicat ie si operatorul min-max pen-
tru compunere. Asa cum s-a ar atat

i
(w) =
i

C
i
(w) cu i=1, 2
iar mult imea de iesire a sistemului C

este reuniunea mult imilor C

1
si C

2
. Grac, iesirea
unui sistem cu dou a reguli ce foloseste metoda de inferent a Mamdani este prezentat a
n Figura 2.15.
40 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.16: Reprezentarea grac a a metodei de inferent a Larsen
Mult imea rezultat C

este o mult ime fuzzy si drept consecint a dac a dorims a obt inem
un control deterministic trebuie s a defuzzic am aceast a mult ime.
Metoda Larsen
Aceast a metod a foloseste operatorul produs pentru implicat ie si operatorul max-produs
pentru compunere. Dup a cum s-a demonstrat mai sus

i
(w) =
i

C
i
(w) cu i=1, 2
iar mult imea de iesire a sistemului C

este reuniunea mult imilor C

1
si C

2
. Grac, iesirea
unui sistem cu dou a reguli ce foloseste metoda de inferent a Larsen este prezentat a n
Figura 2.16.
Metoda Tsukamoto

In aceast a metod a concluzia ec arei reguli este reprezentat a printr-o mult ime fuzzy
care are ca funct ie de apartenent a
C
i
(w) o functie monoton a. De aceea iesirea ec arei
reguli este o valoare crisp w
i
acest a valoare calcul andu-se n funct ie de gradele de
potrivire
i
ale intr arilor n raport cu valorile lingvistice din premizele R-bazei.
w
i
=
1
C
i
(
i
) cu i = 1, 2
Rezultatul nal este media ponderat a a iesirilor ec arei reguli.
w
0
=

1
w
1
+
2
w
2

1
+
2
Capitolul 2. Elemente de Logic a Fuzzy 41
Figura 2.17: Reprezentarea grac a a metodei de inferent a TSK
Cumrezultatul aplic arii ec arei reguli din baz a este o valoare crisp, modelul Tsukamo-
to combin a aceste iesiri crisp ntr-o medie ponderat a obt in andu-se pentru concluzia -
nal a tot o valoare crisp.

In consecint a, folosindu-se aceast a metod a se elimin a consumul


de timp necesar defuzzic arii.
Metoda TSK
Aceast a metod a a fost propus a de Takagi, Sugeno si Kang. O regul a fuzzy n acest
model are forma:
IF u is A and v is B THEN w = f (u, v)
unde A si B sunt mult imi fuzzy iar f (u, v) este o funct ie crisp. De obicei f (u, v) este un
polinim de variabile u si v de aceea aceasta metod a necesit a intr ari singleton.
S a presupunem c a cele dou a reguli ale R-bazei au urm atoarea form a:
R
1
:IF u is A
1
and v is B
1
THEN w
1
= f
1
(u, v) = p
1
u+q
1
v+r
1
R
2
:IF u is A
2
and v is B
2
THEN w
2
= f
2
(u, v) = p
2
u+q
2
v+r
2
unde p
i
, q
i
, r
i
sunt constante.
Valoarea obt inut a n urma aplic arii regulii R
i
pentru intrarea singleton u
0
si v
0
este
valoarea crisp f
i
(u
0
, v
0
) cu gradul de potrivire
i
. Rezultatul agreg arii acestor iesiri este
dat de media ponderat a:
w
0
=

1
f
1
(u
0
,v
0
)+
2
f
2
(u
0
,v
0
)

1
+
2
=

1
w
1
+
2
w
2

1
+
2
La fel ca si metoda Tsukamoto iesirea w
0
nu necesit a defuzzicare ind o valoare crisp.
42 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.18: Defuzzicare
2.7.3 Metode de defuzzicare
Pentru sistemele fuzzy care obt in concluzia nal a sub forma unei mult imi fuzzy se
pune de multe ori problema conversiei acesteia la o valoare crisp. Aceast a conversie
fuzzy-crisp este realizat a de modulul de defuzzicare.
Dou a din cele mai utilizate tehnici de defuzzicare sunt metoda centrului de greu-
tate (center of gravity:COG) si media maximului (mean of maxima: MOM).

In metoda centrului de greutate valoarea crisp de iesire este variabila a c arei apartenent a
la mult imea fuzzy de iesire se a a n centrul de greutate al valorilor funct iei de apartenent a.
y
COG
=

x(x)dx

(x)dx
Folosind media maximului valoarea crisp de iesire se alege din mult imea valorilor
care au apartenent a maxim a la mult imea fuzzy care este supus a defuzzic arii.
Exemplicare:
Consider am sistemul fuzzy cu dou a intr ari si o singur a iesire care modeleaz a relat ia:
presiunevolum
temperatura
= const
care pe baza valorilor de intrare pentru temperatur a si volum calculeaz a valoarea core-
spunz atoare presiunii.

Inainte de a proiecta regulile sistemului trebuie s a denim variabilele fuzzy: tem-


peratura, volum si presiune. Astfel denim variabila lingvistic a temperatura prin sis-
temul (t, T(t), U, G
t
, M
t
) unde:
U=[0,120] m asurat n grade Celsius
Capitolul 2. Elemente de Logic a Fuzzy 43
T(t)= {mic a, sub medie, medie, peste medie, mare} - mult imea termenilor vari-
abilei t
G
t
(t) :
t mic a|medie|mare
t sub t| peste t, dac a t = medie
M
t
(mic a) = { (u,
mic a
(u)) | u [0, 120]}

mic a
(u) =

1, dac a u [0, 20]


40u
20
, dac a u [20, 40]
0, alt f el
M
t
(medie) = { (u,
medie
(u)) | u [0, 120]}

medie
(u) =

u40
20
, dac a u [40, 60]
80u
20
, dac a u [60, 80]
0, alt f el
M
t
(mare) = { (u,
mare
(u)) | u [0, 120]}

mare
(u) =

u80
20
, dac a u [80, 100]
1, dac a u [100, 120]
0, alt f el
M
t
(sub medie) = { (u,
sub medie
(u)) | u [0, 120]}

sub medie
(u) =

medie
(u + 20) + 1, dac a u [20, 40]

medie
(u + 20) 1, dac a u [40, 60]
0, alt f el
M
t
(peste medie) = { (u,
peste medie
(u)) | u [0, 120]}

peste medie
(u) =

medie
(u 20) 1, dac a u [60, 80]

medie
(u 20) + 1, dac a u [80, 100]
0, alt f el
Variabila lingvistic a volum este denit a prin sistemul: (v, T(v), V, G
v
, M
v
) unde:
V={10,15,30}
T(v)= {mic, mediu, mare}
G
v
(v) : v mic |mediu |mare
44 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.19: Variabila lingvistic a temperatura
Figura 2.20: Variabila lingvistic a presiunea
M
v
(mic) = 1/10 + 0.6/15 + 0/30
M
v
(mediu) = 0.6/10 + 1/15 + 0/30
M
v
(mare) = 0/10 + 0.4/15 + 1/30
Variabila lingvistic a presiunea se deneste de o manier a asem an atoare celei folosite
n cazul variabilei temperatura: (p, T(p), W, G
w
, M
w
) unde:
W=[0,60] m asurat n N/m
2
T(p)={mic a, sub medie, medie, peste medie, mare}
Deoarece intr arile temperatura si volum au mult imea termenilor de 5, respectiv
3 elemente obt inem c a R-baza sistemului trebuie s a aib a 53 relat ii c ate una pentru
ecare posibil a combinat ie de intr ari. Consider and urm atoarele notat ii pentru valorile
lingvistice folosite de sistem: S(mic a), BM(sub medie), M(mediu), AM(peste medie),
B(mare) atunci setul complet de reguli al sistemului este:
Capitolul 2. Elemente de Logic a Fuzzy 45
volum\temp S BM M AM B
S S S M AM B
M S S BM M M
B S S S S BM
Vom prezenta inferent a n acest sistem consider and intr arile crisp: t
0
= 77

C si
v
0
= 10m
3
. Observ am c a:

medie
(t
0
) = 0.15,
peste medie
(t
0
) = 0.85

mic
(v
0
) = 1,
mediu
(v
0
) = 0.6
Rezult a c a urm atoarele reguli vor aplicate:
R
13
: IF t este medie AND v este mic THEN p este medie
13
= min(
medie
(t
0
),

mic
(v
0
)) = min(0.15, 1) = 0.15
R
14
: IF t este peste medie AND v este mic THEN p este peste medie
14
=
min(
peste medie
(t
0
),
mic
(v
0
)) = min(0.85, 1) = 0.85
R
23
: IF t este medie ANDv este mediu THENp este sub medie
23
=min(
medie
(t
0
),

mediu
(v
0
)) = min(0.15, 0.6) = 0.15
R
24
: IF t este peste medie AND v este mediu THEN p este medie
24
=
min(
peste medie
(t
0
),
mediu
(v
0
)) = min(0.85, 0.6) = 0.6
Asa cum am spus exist a dou a tipuri de implicat ie foarte des folosite: implicat ia
Mamdani si implicat ia Larsen.
Implicatia Mamdani Implicatia Larsen

OUTPUT R13
(p) = 0.15
medie
(p)
OUTPUT R13
(p) = 0.15
medie
(p)

OUTPUT R14
(p) = 0.85
peste medie
(p)
OUTPUT R14
(p) = 0.85
peste medie
(p)

OUTPUT R23
(p) = 0.15
sub medie
(p)
OUTPUT R23
(p) = 0.15
sub medie
(p)

OUTPUT R24
(p) = 0.6
medie
(p)
OUTPUT R24
(p) = 0.6
medie
(p)
pentru p [0, 60].
Asa cum s-a precizat concluzia nal a si anume concluzia corespunz atoare celor
patru reguli care au fost aplicate este reuniunea concluziilor part iale:

OUTPUT
(p) =
OUTPUT R13
(p)
OUTPUT R14
(p)
OUTPUT R23
(p)
OUTPUT R24
(p)
Aceste mult imi fuzzy de iesire pot defuzicate n cazul n care se doreste ca
iesirea sistemului s a e de aceeasi natura cu intrarea acestuia - si anume o valoare crisp.
46 Capitolul 2. Elemente de Logic a Fuzzy
Figura 2.21: Iesirea sistemului folosind implicat ia Mamdani (a) si Larsen (b)
Vom aplica metoda de defuzicare COG pentru mult imea fuzzy obt inut a cu implicat ia
Mamdani si avem:
y
COG
=

x(x)dx

(x)dx

(x)dx =

11.5
10
(
x
10
1)dx +

21.5
11.5
0.15dx +

26
21.5
(
x
10
2)dx +

34
26
0.6dx +

35
34
(4
x
10
)dx +

38.5
35
(
x
10
3)dx +

41.5
38.5
0.85dx +

50
41.5
(5
x
10
)dx = 20.175

x(x)dx =

11.5
10
(
x
2
10
x)dx +

21.5
11.5
0.15xdx +

26
21.5
(
x
2
10
2x)dx +

34
26
0.6xdx +

35
34
(4x
x
2
10
)dx +

38.5
35
(
x
2
10
3x)dx +

41.5
38.5
0.85xdx +

50
41.5
(5x
x
2
10
)dx = 383.725
Deci obt inem: y
COG
= 19.01
Bibliograe
[1] Ion Vaduva, Grigore Albeanu Introducere in Modelarea Fuzzy, Editura Univer-
sit at ii din Bucuresti, 2004
[2] L.A. Zadeh Fuzzy Sets Information and control, vol. 8, pp. 338 - 353, 1965
[3] R. Yager Fuzzy logic in control, Ph. D. dissertation, Technical University of Delft,
1995
[4] Carles Garigga Berga A new approach to the synthesis of intelligible fuzzy models
from input-output data, Ph. D. dissertation, Universitat Ramon Llull, 2005
[5] R. Jang, C. T. Sun, E. Mizutani Neuro-Fuzzy and Soft-Computing, First Edition,
Prentice Hall, 1997
[6] F. Chevrie, F. Guely Fuzzy Logic, Cahier technique no. 191, 1998
[7] D. Dubois, H. M. Prade, Fuzyy sets and systems: theory and applications, New-
York Accademic Press, 1980
[8] Depatament of Computing Science, Umea University, Sweden, Fuzzy Systems -
Lecture notes
47
48
Capitolul 3
Sisteme fuzzy pentru control
inteligent
3.1 Multimi vagi
Not iunea de mult ime vag a a fost introdus a n matematic a si teoria sistemelor de L.A.
Zadeh n 1965 sub denumirea de mult ime fuzzy care n traducere nseamn a mult ime
neclar a, estompat a si se foloseste cu sensul de vag, imprecis. Acestui domeniu i sunt
consacrate deja lucr ari fundamentale recunoscute.
Pornind de la concept ia clasic a cu privire la mult ime si element al unei mult imi, se
poate sust ine c a not iunea de mult ime fuzzy reprezint a o abordare dintr-un unghi diferit
a conceptului de mult ime, mai precis, ntre apartenent a unui element la o mult ime si
nonapartenent a exist a o serie de situat ii tranzitorii, de natura continu a, caracterizate de
asa-numitele grade de apartenent a.
Denitia 3.1.1 Fie X o mult ime oarecare. Se nume ste mult ime fuzzy (n X) rezultatul
unei aplicat ii F : X [0, 1].
Mult imea fuzzy F este caracterizat a de funct ia de apartenent a: m
F
: X [0, 1].
49
50 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.1: Funct ia de apartenent a triunghiular a
3.1.1 Functii de apartenent a tipice
Pentru descrierea fuzzy a unor fenomene si procese, aplicat iile m
F
(x) pot admite diferite
exprim ari analitice. C ateva dintre acestea sunt consacrate n aplicat ii datorit a unor fa-
cilit at i legate de calculabilitate si usurint a implement arii hardware/software. Pentru ex-
emplicare vom considera c a funct iile sunt denite pe intervalul [a, b] si c = (a +b)/2.
Functia de apartenent a triunghiular a
Expresia analitic a a acestei funct ii de apartenent a este identic a cu ecuat ia dreptei ce
trece prin punctele de coordonate (a, 0) si (c, 1) pentru x [a, c] si cu ecuat ia dreptei
ce trece prin punctele de coordonate (c, 1) si (b, 0), pentru x (c, b]. Deci:
m(x) =

(x a)/(c a), a x c
1 (x c)/(b c), c < x b

In cazul n care c = (a + b)/2 relat ia se poate scrie compact sub forma:


m(x) = 1 2
|xc|
ba
Functia de apartenent a trapezoidal a
Expresia analitic a a acestei funct ii de apartenent a se obt ine simplu observ and c a trapezul
rezult a prin intersect ia unui triunghi de forma celui din Figura 3.1, av and n alt imea
h
t
> 1 si dreapta de ecuat ie m(x) = 1. Astfel:
m(x) = min

1, h
t
(1 2
|xc|
ba
)

, cu h
t
> 1.
Capitolul 3. Sisteme fuzzy pentru control inteligent 51
Figura 3.2: Funct ia de apartenent a trapezoidal a
Figura 3.3: Funct ia de apartenent a parabolic a
Functia de apartenent a parabolic a
O parabol a av and axa de simetrie vertical a si v arful n punctul (x
0
, m
0
) de pe aceast a
ax a este descris a de ecuat ia:
m(x) m
0
= 2p(x x
0
)
2
Din condit iile ca parabola s a aib a v arful n punctul (c, 1) si s a intersecteze axa
abciselor n punctele de coordonate (a, 0) si (b, 0) rezult a expresia analitic a a funct iei
de apartenent a parabolic a din Figura 3.3. Aceasta este:
m(x) = 1 4

xc
ba

2
Functia de apartenent a tip armonic
O variant a a acesteia se poate construi cu ajutorul funct iei sinusoidale de amplitudine
1 si faz a 0:
m(x) = sin(x), cu x [0, ],
pentru care, pun and condit iile m(c) = 1 si m(a) = m(b) = 0 rezult a expresia analitic a:
52 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.4: Funct ia de apartenent a de tip clopot
Figura 3.5: Funct ii de apartenent a de tip saturat ie
m(x) = sin

xa
ab

, cu x [a, b]
av and reprezentarea grac a similara cu cea din Figura 3.3.
Functia de apartenent a de tip clopot
Expresia analitic a a funct iei de tip clopotul lui Gauss caracterizat a prin dispersia ,
amplitudinea A si centrat a pe dreapta de ecuat ie x = x
0
este:
m(x) = Ae

(xx
0
)
2
2
2
Pentru funct ia de apartenenta din Figura 3.4 cu amplitudinea A = 1, dispersia = ba
si centrat a pe dreapta de ecuat ie x = c, se obt ine expresia:
m(x) = e

(xc)
2
2(ba)
2
Functii de apartenent a de tip saturatie
Acestea se denesc ca funct ii de tip ramp a la dreapta sau la st anga, cuplate n partea
extrem a cu port iunea de saturat ie. Exprimarea analitic a a acestor funct ii de apartenent a
se face pe intervale, dup a cum urmeaz a:
Capitolul 3. Sisteme fuzzy pentru control inteligent 53
m(x) =

0, x < a
xa
ba
, a x b
1, x > b
sau m(x) =

1, x < a

xa
ba
, a x b
0, x > b
Dependent a liniar a de pe intervalul [a, b] poate nlocuit a cu oricare alt tip de
funct ie (polinomial a, exponent ial a, etc.) asigur andu-se trecerea (cu derivata continu a)
de la valorile 0 si/sau 1 la valorile apropiate.
3.1.2 Operatii cu multimi fuzzy
Operat iile uzuale din teoria clasic a a mult imilor se pot reface n cazul mult imilor fuzzy
n termenii funct iei de apartenent a:
mult imea vid a X este caracterizat a de m

(x) = 0, x X
mult imea total a X este caracterizat a de m
X
(x) = 1, x X
dou a mult imi fuzzy sunt egale, dac a funct iile lor de apartenent a sunt egale, adic a:
M = N m
M
= m
N
mult imea fuzzy M este cont inut a n mult imea fuzzy N, adic a: M N m
M

m
N
(relat ia de ordine punctual a ntre funct ii)
ntre mult imile M si N se denesc operat iile:
reuniune: M N cu m
MN
(x) = max(m
M
(x), m
N
(x))
intersect ie: M N cu m
MN
(x) = min(m
M
(x), m
N
(x))
complementar a: C
M
, cu m
CM
(x) = 1 m
M
(x)
produsul algebric al mult imilor M si N, notat M N este caracterizat de funct ia
de apartenent a: m
MN
= m
M
m
N
suma algebric a a mult imilor M si N, notat a M + N este caracterizat a de funct ia
de apartenent a: m
M+N
= m
M
+ m
N
3.1.3 Evenimente fuzzy, probabilitate si entropie
Se numeste eveniment fuzzy n spat iul euclidian n-dimensional R
n
, o mult ime fuzzy
E R
n
, a c arei funct ie de apartenent a, m
E
, este m asurabil a Borel.
54 Capitolul 3. Sisteme fuzzy pentru control inteligent
Se numeste probabilitate a unui eveniment fuzzy E, funct ia denit a astfel:
P(E) =

R
m
E
(x)dP(x)
Dou a evenimente fuzzy se numesc independente, dac a: P(E F) = P(E) P(F)
Se numeste entropie a mult imii fuzzy A X = {x
1
, ..., x
n
} m arimea:
I
P
(A) =

m
A
(x
i
) p
i
ln p
i
unde P = {p
1
, ..., p
n
} reprezint a distribut ia de probabilit at i.
Se numeste entropie total a expresia:
I
t
=

p
i
ln p
i
+

p
i
S (m
A
(x
i
)),
unde S (m
A
(x
i
)) reprezint a o m asur a a gradului de incertitudine.
Observatie: I
t
se poate interpreta drept media total a de incertitudine de a prevedea
elementul lui X, care apare dintr-o experient a (proces) aleator si de a lua o decizie
(notat a cu 0 sau 1) asupra acestui element.
Multimi fuzzy temporale
Mult imile fuzzy variabile n timp reprezint a un concept cu aplicare n formularea cri-
teriilor pentru luarea decizilor si reect a caracterul dinamic al acestor procese. Car-
acterul temporal al mult imilor fuzzy este exploatat practic n cadrul sistemelor fuzzy
adaptive.
Denitia 3.1.2 Fie {X(t)}
tT
o familie de mult imi si {A(t)}
tT
submult imi fuzzy, A(t)
X(t). Numim familia {A(t)}
tT
mult ime fuzzy dependent a de timp.
Funct ia de apartenent a se denest e: m
A(t)
: X(t) [0, 1], t T iar scopul principal
al introducerii variabilei de timp este de a analiza situat ii n care part i ale problemei se
modic a n timp.
Capitolul 3. Sisteme fuzzy pentru control inteligent 55
3.2 Logica fuzzy de tip lingvistic
Logica fuzzy este o generalizare a logicii clasice bivalente, nlocuind caracterul discret
al acesteia (n 0 si 1) cu unul de natur a continu a. Fundamentul logicii fuzzy l constituie
asa-numitele logici polivalente introduse si studiate de J. Lukasiewicz, n urma unor
cercet ari legate de studiul modalit at ilor.
Presupun and c a V
1
, V
2
, ..., V
n
sunt variabile logice, n logica fuzzy acestea iau valori
n intervalul [0,1].
Denitia 3.2.1 Orice variabil a V
i
este o formul a fuzzy.
Dac a P, Q, ... sunt formule n logica fuzzy, valorile logice (de adev ar) ale com-
puselor P Q, P Q, P se stabilesc astfel:
A(P Q) = max(A(P), A(Q))
A(P Q) = min(A(P), A(Q))
A(P) = 1 A(P)
A(P Q) = min(1 A(P) + A(Q), 1)
Observatie. Este evident c a acest mod de a vedea lucrurile coincide cu cel din
logica bivalent a, unde A(P) {0, 1}, oricare ar propozit ia P.
Logica fuzzy este de tip logic a continu a, deoarece variabilele logice iau valori de
adev ar n intervalul [0,1]. Acest fapt atrage existent a unor elemente particulare cu
privire la variabilele lingvistice: relat ie de implicat ie fuzzy si not iunea de inferent a
fuzzy.
Un alt tip de logic a continu a a fost propus a de H. Reichenbach si se deneste astfel:
A(P Q) = A(P) + A(Q) A(P) A(Q)
A(P Q) = A(P) A(Q)
A(P) = 1 A(P)
A(P Q) = 1 A(P) + A(P) A(Q)
3.2.1 Variabile lingvistice
Variabilele fuzzy sunt m arimi fuzzy asociate celor deterministe. Echivalentul valorii
scalare n sens determinist este pentru o variabil a fuzzy gradul lingvistic (eticheta,atributul)
asociat acesteia. Astfel, asa cum pentru logica bivalent a, valorii deterministe 1 i se
56 Capitolul 3. Sisteme fuzzy pentru control inteligent
asociaz a atributul ADEVARAT, iar lui 0 eticheta FALS, n logica fuzzy, pentru vari-
abila determinist a num ar real pozitiv variabila lingvistic a asociata poate , de exemplu,
distant a dintre dou a puncte, care poate avea gradele lingvistice MIC

A, MEDIE, MARE
sau FOARTE MIC

A, MIC

A, MEDIE, MARE, FOARTE MARE. Domeniul de valori


ale m arimii deterministe se numeste univers de discurs.
Fiec arui atribut al unei variabile lingvistice i este asociat o funct ie de apartenent a,
a c arei valoare (n sens determinist) indic a nivelul de ncredere cu ajutorul c aruia unei
valori deterministe i se poate asocia acel atribut al variabilei lingvistice. De exemplu,
consider and pentru variabila lingvistic a distant a trei grade lingvistice: MIC

A, MEDIE,
MARE, asociem acestora funct ii de apartenent a tipice, asa cum se arata n Figura 3.6.
Se observ a c a funct ia de apartenent a pentru gradul lingvistic MIC

A este o dreapt a, care


indic a faptul c a ntre 0 si 10 km distant ele sunt considerate mici, cu diferite niveluri de
ncredere situate ntre 0 si 1: cu c at valoarea determinist a este mai aproape de 0, cu atat
gradul de apartenent a al acesteia la eticheta respectiv a este mai mare.
Similar, pentru gradul lingvistic MEDIE se consider a nivelul maxim de apartenent a
la aceast a categorie, corespunz ator valorii 10 km. Valorile mai mici sau mai mari
dec at aceasta duc la sc aderea nivelului de ncredere relativ la atributul MEDIE. Gradul
lingvistic MARE se aplic a distat elor mai mari de 10 km, cu niveluri de ncredere din
ce n ce mai ridicate, pe masur a ce valoarea creste p an a la 20 de km, iar pentru orice
valoare peste aceasta, distant a este considerat a MARE cu nivelul de ncredere maxim.
Pentru funct iile de apartenent a din Figura 3.6 se poate arma, de exemplu, c a o
distant a av and valoarea 5 km este MIC

A cu nivelul de ncredere (valoarea funct iei de


apartenent a) m
MICA
(5) = 0.50 dar este si MEDIE cu nivelul de ncredere m
MEDIE
(5) =
0.44 si este si MARE cu nivelul de ncredere 0. Num arul atributelor unei variabile
lingvistice si funct iile lor de apartenent a depind de natura aplicat iei.
3.2.2 Implicatii pentru logica fuzzy

In logica fuzzy implicat ia este o operat ie de compunere a formulelor (variabilelor)


fuzzy, n sensul corel arii a dou a categorii de evenimente, denumite premise, respectiv
consecint e. Implicat ia fuzzy este similar a, dar nu corespunde pe deplin compunerii
funct iilor din cazul determinist si se refer a la evaluarea gradelor lingvistice ale unei
submult imi fuzzy Q, care este consecint a logic a sau funct ional a a unei submult imi
Capitolul 3. Sisteme fuzzy pentru control inteligent 57
Figura 3.6: Variabila lingvistic a distant a cu trei valori lingvistice
fuzzy P. Rezultatul unei implicat ii fuzzy este, de asemenea, o submult ime fuzzy notat a
Q

P Q, care are aceleasi grade lingvistice ca si Q, dar funct iile ei de apartenent a,


ce exprim a gradul de adev ar A(Q

) A(P Q), rezult a n urma unor calcule algebrice


efectuate asupra valorilor funct iilor de apartenent a corespunz atoare gradelor lingvistice
ce compun implicat ia fuzzy. Prin urmare, consider and formulele fuzzy:
P : x este MARE
Q : y este MIC
unde x, respectiv y, reprezint a variabila determinist a apart in and universului de discurs
al submult imii P, respectiv Q, se exprim a implicat ia fuzzy:
Q

P Q DAC

A x este MARE, ATUNCI y este MIC


Consider and m
P
(x), respectiv m
Q
(y), funct iile de apartenent a ce caracterizeaz a mult imile
fuzzy P si Q, se pune problema determin arii funct iei de apartenet a m
Q

(x, y) = m
PQ
(x, y).
Cele mai utilizate denit ii ale implicat iei fuzzy sunt:
a) implicat ia n sens Mamdani:
m
PQ
(x, y) = MIN[m
P
(x), m
Q
(y)]
b) implicat ia booleana:
m
PQ
(x, y) = MAX[1 m
P
(x), m
Q
(y)]
c) implicat ia Zadeh I:
m
PQ
(x, y) = MIN[1, 1 m
P
(x) + m
Q
(y)]
d) implicat ia Zadeh II:
58 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.7: Efectul operatorilor concentrator si dilatator
m
PQ
(x, y) = MIN{MAX[m
P
(x), m
Q
(y)], 1 m
P
(x)}
e) implicat ia Larsen:
m
PQ
(x, y) = m
P
(x) m
Q
(y)
3.2.3 Operatori pentru logica fuzzy
Combinarea mai multor variabile fuzzy, n conformitate cu o anumit a logic a, conduce
la aparit ia unor expresii fuzzy cu mai mult i termeni, legati prin operat ii logice ele-
mentare (AND, OR, NOT).
Asa cum s-a aratat deja, gradele de apartenent a fuzzy pot combinate cu ajutorul
operatorilor de compunere fuzzy propusi de Zadeh:
m
A
AND m
B
= min(m
A
, m
B
)
m
A
OR m
B
= max(m
A
, m
B
)
NOT m
A
= 1 m
A
Dezvoltarea impetuoasa a aplicat iilor practice n domeniul sistemelor fuzzy a con-
dus la g asirea altor operatori, similari celor utilizat i la combinarea probabilit at ilor:
operatorul produs: m
A
AND m
B
= m
A
m
B
operatorul suma: m
A
OR m
B
= m
A
+ m
B
m
A
m
B
Pentru a facilita modic arile care se impun asupra funct iilor de apartenent a n
diferite aplicat ii, au fost creat i doi operatori singulari, unici n logica fuzzy, denumit i
Capitolul 3. Sisteme fuzzy pentru control inteligent 59
concentrator, respectiv dilatator. Un operator de concentrare comprim a funct ia de
apartenent a, iar un operator de dilatare realizeaz a o expandare a acesteia. Majoritatea
lucr arilor n domeniu denesc principalii operatori de acest tip sub forma:
CONC(m) = m
2
DIL(m) = m
1/2
Efectul acestor operatori asupra unei funct ii de apartenent a de referint a m(x) este
ilustrat n Figura 3.7.
3.3 Metodologia de sintez a a automatelor fuzzy
Etapele metodei de sintez a a automatului (controlerului) fuzzy pot structurate astfel:
identicarea relatiilor functionale pe structura dat a a unui sistem de control
stabilirea variabilelor (parametrilor) de lucru
completarea structurii cu elemente impuse de modelul fuzzy
Desi p an a acum abordarea fuzzy a proceselor de control nu este pe deplin funda-
mentat a ca teorie de sine st at atoare, numeroase aplicat ii constituie e o alternativ a la
problemele de automatizare clasice, e solut ii practice inedite n diverse domenii.
Majoritatea lucr arilor n domeniu adopt a urm atoarele faze tipice ale algoritmului
de modelare fuzzy:
1. descrierea bazei euristice a problemei
2. alegerea variabilelor de intrare-iesire
3. stabilirea mult imilor fuzzy si a valorilor lingvistice asociate acestora
4. ntocmirea bazelor de reguli pentru inferent e fuzzy
5. stabilirea procedeelor de fuzicare, realizare a inferent elor logice si de defuzi-
care a iesirilor
60 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.8: Arhitectura unui controler fuzzy
6. adoptarea mecanismelor de defuzicare
7. descrierea mecanismelor de adaptare si a schemelor de nv at are
8. n forma nal a, sistemele fuzzy pot implementate sub form a cablat a (hardware)
n structuri dedicate sau programabile de uz general
3.3.1 Baza euristic a a algoritmului

In cadrul acestei faze se urm areste o descriere c at mai complet a si del a a procesu-
lui. Este evident c a volumul informat iei ce trebuie furnizat a este direct proport ional cu
complexitatea problemei. Orice ncercare de formalizare a descrierii proceselor con-
duce implicit la neglijarea unor aspecte, depart and astfel modelul de realitate. Prin
urmare apare natural s a se porneasc a cu descrierea procesului n termeni lingvistici ca
ind forma primar a, cea mai exibil a si cu grad mare de completitudine n modelarea
evenimentelor. Prin operat ii de structurare a descrierii lingvistice si aplicarea logicii
predicatelor de ordinul nt ai, modelele lingvistice constituie baza sistemelor cu IA.
Sistemele fuzzy sunt n esent a, modele numerice care exploateaz a cunostint e struc-
turate sub forma unor asert iuni logice (cu valoare de regul a). Asadar, procesul admite
n prima faz a o descriere lingvistic a grosier a care ulterior trece prin anumite ltre
logice, sub form a de rat ionamente sau judec at i, rezult and un pachet de cunostint e cu
grad mai mare de structurare, ce concentreaz a cvasitotalitatea informat iilor despre pro-
ces. Init ial, rolul de judec ator l are expertul uman (sau grupul de specialisti) si numai
Capitolul 3. Sisteme fuzzy pentru control inteligent 61
acesta hot areste asupra aspectelor ce pot minimalizate sau omise n descrierea prob-
lemei.

In cadul acestei etape, descrierea lingvistic a nu poate exhaustiv a, dar este esent ial a
pentru trecerea la celelalte faze ale algoritmului de sintez a a sistemului fuzzy. Tabloul
euristic al ntregii probleme se va completa n faza ntocmirii bazelor de reguli fuzzy,
precum si la adoptarea mecanismelor de funct ionare adaptiv a.
3.3.2 Denirea variabilelor de lucru
Pe baza uxului informat ional si a schemei sistemului se urm areste alegerea ca vari-
abile de lucru a acelor parametri zici care sunt direct accesibili pe baza m asur atorilor
cu ajutorul senzorilor sistemului. Acesti parametrii pot : coordonate de pozit ie, viteze
de deplasare, fort e, cupluri de fort e, presiuni, temperaturi, curent i electrici, etc. consti-
tuind variabilele de stare ale sistemului de control. Aceste m arimi zice vor tratate
ca variabile fuzzy. Din mult imea variabilelor de stare se select ioneaz a submult imea
variabilelor de comand a acestea ind considerate variabile de iesire. Complementara
acestei submult imi rezult a drept mult imea variabilelor de intrare. Se presupune c a, n
general, parametrii de intrare pot accesibili sistemului pe trei c ai: m asur atori directe,
estimarea prin calcul, furnizarea ca valori apriorice.
Dup a cum s-a aratat, un atribut major al modelelor fuzzy este acela c a nu necesit a
cunoasterea explicit a a modului n care variabilele de iesire depind de cele de intrare.
Acest lucru este esent ial pentru fenomenele complexe deoarece relat iile de interact iune
sunt, n general, nedeterministe si neliniare, si ca atare mai greu de modelat cu instru-
mente matematice clasice.
Un alt aspect este acela c a variabilele de lucru, privite ca semnale informat ionale,
pot continue sau discrete n funct ie de modul furniz arii lor de c atre senzorii sistemu-
lui de urm arire. Vom face observat ia ca modul de prelucrare a informat iei de c atre
algoritmul fuzzy impune tratarea secvent iala a m arimilor ca n orice structur a de calcul
numeric, n ciuda faptului c a n etapa oper arii cu reguli, modelele fuzzy se comport a ca
procesoare paralele. Esantionarea variabilelor de lucru se produce e pe baza perioadei
T de achizit ie a informat iei de la senzori, e datorit a modului secvent ial de lucru al
algoritmului fuzzy cu perioad a de r aspuns (cvasiconstant a) t care depinde de com-
plexitatea calculelor (model & context). De acest aspect se va t ine seama la preg atirea
62 Capitolul 3. Sisteme fuzzy pentru control inteligent
programului si a datelor de simulare.

In cele ce urmeaz a vom considera dependent a
funct ional a n domeniul timp ca ind discret a, de forma:
t
k
= t
k1
+ t, k = 1, ..., N
Universul de discurs al variabilelor fuzzy alese este mult imea numerelor reale R dar
din considerente tehnice aceasta se restrict ioneaz a la intervale continue nite.

In con-
tinuare problema se completeaz a din punct de vedere euristic prin denirea mult imilor
fuzzy asociate variabilelor de lucru, cu ajutorul unor valori lingvistice alese convenabil.
Se ment ioneaz a c a nu este esent ial a codicarea n sine a nivelurilor respective, ci
doar num arul si suportul lor intuitiv, care se bazeaz a pe schema de modelare a proce-
sului.
Stabilirea mult imilor fuzzy asociate variabilelor de lucru se realizeaz a prin adoptarea
funct iilor de apartenent a.

In general, adoptarea formei funct iilor de apartenent a pre-
cum si repartizarea nivelurilor fuzzy exprimate prin valori lingvistice, pe domeniile
de denit ie ale variabilelor de lucru constitue o problem a ce t ine de experient a si
intuit ia analistului de proces. S-a ar atat c a funct iile de apartenent a pot alese dintr-
o gam a larg a de forme f ar a ca aceasta s a inuent eze semnicativ r aspunsul sistemului
fuzzy. Din acest punct de vedere se aleg de obicei forme liniare, denind triunghiuri
sau trapeze, care necesit a calcule mai simple. Algoritmii fuzzy sunt exibili n ceea
ce priveste alegerea limitelor nivelurilor fuzzy asociate valorilor lingvistice si implic-
it a gradului lor de suprapunere. Cu alte cuvinte, este important modul de distribut ie
(repartit ie) a nivelurilor lingvistice pe universul de discurs al variabilei fuzzy.

In gen-
eral, aceast a problem a se rezolv a prin ncerc ari, n scopul obt inerii celui mai avantajos
r aspuns al sistemului fuzzy n raport cu un criteriu impus. Problema este abordat a n
cadrul mecanismelor cu funct ionare adaptiv a.

In acest caz avem de a face cu mult imi
fuzzy dependente de timp. Prin urmare, funct iile de apartenent a vor denite ntr-o
form a general a, exibil a, pentru a permite particularizarea lor n funct ie de context.

In
acest sens, operatorii CONcentrator si DILatator isi dovedesc utilitatea. Ma mult dec at
at at, cei doi operatori sunt o particularizare a principiului de obt inere a noilor funct ii
de apartenent a pornind de la o form a dat a, numit a funct ie de apartenent a de baz a.
Astfel, consider and, de exemplu, c a valoarea fuzzy MIC

A este denit a de funct ia de


apartenent a m
MICA
(x) = f (x) putem aplica un nou subnivel fuzzy - FOARTE ca o
Capitolul 3. Sisteme fuzzy pentru control inteligent 63
funct ie oarecare H
FOARTE
de funct ia de baz a H
FOARTE
( f (x)). Atunci, n mod recursiv
se pot deni niveluri fuzzy suplimentare:
m
FOARTE MICA
(x) = H
FOARTE
(m
MICA
(x))
m
FOARTE FOARTE MICA
(x) = H
FOARTE
(H
FOARTE
(m
MICA
(x)))
3.3.3 Baza de reguli pentru inferente fuzzy
Un sistem fuzzy se deneste n general ca ind o relat ie funct ional a trasat a ntre dou a
spat ii multi-dimensionale unitare:
S : I
n
I
p
n care spat iul n-dimensional unitar I
n
cuprinde toate cele n submult imi fuzzy ale vari-
abilelor de intrare, iar spatiul p-dimensional I
p
cont ine toate cele p submult imi fuzzy
ale variabilelor de iesire. Aceast a asociere ntre spat ii de mult imi fuzzy este consacrat a
sub denumirea Fuzzy Associative Memories (FAMs) nsa n aceast a lucrare vom folosi
denumirea de Baze de Reguli Fuzzy (BRF).
Practic, orice sistem poate considerat drept o relat ie intrare-iesire al c arei r aspuns
se prezint a ca o funct ie generic a iesiri = f (intrari). Aceast a funct ie constituie funda-
mentul modelului de baz a al sistemelor, care n general reprezint a o exprimare matem-
atic a a modului de lucru al acestora. Un sistem bazat pe reguli poate aproxima orice
funct ie continu a cu oric ate variabile, cu o precizie oric at de bun a.
Consistent a unei BRF poate dedus a pe baza datelor privind punctele de funct ionare
a sistemului. Aceste date sunt accesibile prin monitorizarea sistemului existent n funct iune,
al unuia similar sau pe baza unui model analitic. Sistemele fuzzy prezint a o str ans a
interdependent a ntre funct iile de apartenent a ale variabilelor din sistem si BRF.
Astfel, o BRF se construieste prin punerea n leg atur a (corelare) logic a a mult imilor
fuzzy asociate variabilelor de iesire cu mult imile fuzzy ale variabilelor de intrare.

In
acest scop se porneste de la strategia general a de descriere a procesului, care eventual
se defalc a n substrategii specice anumitor etape de control. Un rol important l au aici
metodele euristice si tehnicile ingineriei de cunostint e.
Strategia de control se exprim a n termeni lingvistici pe baza c arora se formeaz a
inferent e logice care vor constitui regulile BRF (asocieri logice). Inferent a este operat ia
64 Capitolul 3. Sisteme fuzzy pentru control inteligent
logic a care permite trecerea de la premis a la concluzie pe baza rat ionamentelor formale.
Schema general a a inferent ei este urmatoarea:
PREMISA
INFERENTA
CONCLUZIE
Practic, o regul a apare c and exist a o premis a cu privire la un eveniment, care im-
plic a sau atrage o anumit a consecint a logic a (concluzie).

In general, orice proces zic
poate modelat pe baza descrierii sale prin reguli. Aceasta presupune stabilirea unui
set de premise si identicarea mult imii consecint elor (practic se realizeaz a o identi-
care a unei mult imi de relat ii de tip cauz a-efect). Prin urmare, o regul a se exprim a prin
compunerea premiselor P
i
(i = 1, ..., n) cu ajutorul operatorilor logici consacrat i (notat i
generic cu simbolul ) si echivalarea rezultatului cu consecint a C, adic a:
P
1
P
2
... P
n
= C
3.4 Implementarea software a algoritmilor fuzzy

In momentul de fat a nt elegem prin algoritm o metod a general a de rezolvare a unui


anumit tip de problem a, care se poate implementa pe calculator.

In acest context un al-
goritm este esent a absolut a a unei rutine. Algoritmul care st a la baza automatului fuzzy
cuprinde, pe l ang a partea logic a, si o parte algebric a. Este deci un algoritm de tip mixt,
organizat ca o succesiune nit a de pasi, cuprinz and mai multe operat ii specice. Aces-
tea ndeplinesc n totalitate condit iile de baz a pentru a implementate pe calculator,
adic a sunt denite si efective. Conform celebrei ecuat ii a lui N. Wirth:
algoritmi + structuri de date = programe
un program este format dintr-un ansamblu de proceduri, privite ca si cutii negre si un
ansamblu aferent de date asupra c arora opereaz a procedurile.
Forma pe care o cap at a algoritmul ntr-o implementare pe calculator este subordo-
nat a stilului de programare si depinde n special de tipul limbajului. Accept and standar-
dul de programare structurat a, se prezint a n Figura 3.9 schema logic a a algoritmului
fuzzy pentru un sistem de control. La iesire programul aseaz a valori numerice din
proces la momentul curent sau, opt ional, reprezent ari grace.
Capitolul 3. Sisteme fuzzy pentru control inteligent 65
Figura 3.9: Schema logic a a unui controler fuzzy
Implementarea software a automatului fuzzy poate realizat a si n baza unui al-
goritm paralel. Calculul paralel confer a o dimensiune nou a construct iei de algoritmi
si programe. Se subliniaz a c a programarea paralel a nu este o simpl a extensie a pro-
gram arii seriale si ca nu tot i algoritmii secvent iali pot paralelizat i.
3.4.1 Structura unui automat fuzzy

In cazul implement arilor de tip software sinteza automatelor (controlerelor) fuzzy este
sucient de exibil a, ind practic o problem a de emulare a fazelor tipice ale algorit-
mului, pentru modelul problemei date. Abilitatea de a programa o problem a este n
acest caz foarte important a. O facilitatate deosebit a o ofer a, n acest scop, pachetele de
programe dedicate (tools-urile) pentru proiectarea sistemelor fuzzy. Totusi sunt nece-
sare c ateva considerat ii, de care trebuie s a se t in a seama la structurarea unui sistem de
66 Capitolul 3. Sisteme fuzzy pentru control inteligent
control fuzzy, indiferent de forma sub care va implementat.
Congurarea unui controler fuzzy, destinat conducerii unui proces, t ine seama de
descompunerea convent ional a a dinamicii acestuia, corespunzatoare strategiilor de evolut ie
adoptate n etapa de modelare.
Din punct de vedere al comenzii, controlerul fuzzy va structurat pe canale de
comand a n funct ie de tipul sistemului dinamic controlat: single-input/single-output
(SISO), multiple-input/multiple-output (MIMO). Problema independent ei canalelor de
comand a se analizeaz a n contextul existent ei cuplajului informat ional. Interdependent a
canalelor este impus a de metodologia conducerii procesului de control t in andu-se sea-
ma de ea la descrierea bazei euristice a problemei si n etapa de alc atuire a bazei de reg-
uli. Acest lucru este important, mai ales la implementarea software, deoarece modul de
procesare a informat iei este tributar principiului secvent ial de operare si a posibilit at ilor
limitate de paralelizare a calculelor.
Posibilit at ile de implementare direct hardware a sistemelor fuzzy sunt n prezent o
realitate datorit a aparit iei circuitelor logice fuzzy (CLF), a masinilor elementare pentru
efectuarea de inferent e fuzzy (MEIF) si a circuitelor pentru generarea funct iilor carac-
teristice cu grad de apartenent a comandat. Aceste sisteme microelectronice se reg asesc
n structura procesoarelor fuzzy dedicate sau de uz general.
Componentele software asociate procesoarelor fuzzy sunt:
editorul pentru denirea variabilelor I/O, a funct ilor de apartenent a si pentru ed-
itarea regulilor; de asemenea editorul permite utilizatorului s a specice universul
de discurs, rezolut ia datelor de intrare si dimensiunea datelor
compilatorul pentru generarea codului obiect al procesorului
depanatorul (debuggerul) ce permite execut ia pas cu pas si monitorizarea pro-
gramelor
simulatorul pentru simularea sistemului fuzzy n bucl a nchis a si asarea grac a
a rezultatelor
instrumente de export pentru aplicat ii fuzzy generate cu procesorul, c atre alte
medii de simulare
Capitolul 3. Sisteme fuzzy pentru control inteligent 67
Product ia de procesoare fuzzy destinate unor controlere de uz general nu exclude
ns a implementarea software a algoritmilor fuzzy pe sistemele de calcul de uz comun,
ca etap a de cercetare-proiectare n realizarea modelelor zice.
3.4.2 Proiectarea sistemelor fuzzy cu MATLAB

In mediul software de tip Matlab exist a toolbox-uri specializate pentru analiza si proiectarea
unor sisteme de control inteligent, din care face parte si Fuzzy Logic Toolbox (FLT).
Acest toolbox este format dintr-un ansamblu de siere Matlab (pe doua subdirectoare:
FUZZY si FUZZYDEMOS) cu ajutorul c arora se abordeaz a etapele caracteristice sin-
tezei unui sistem bazat pe inferent e fuzzy (FIS).
Subdirectorul FUZZY cont ine siere de tip function, grupate pe urm atoarele cate-
gorii de funct ii si operat ii specice:
Funct ii pentru interfat a grac a cu utilizatorul (GUI); funct ii pentru editarea sis-
temului de inferent e fuzzy (FIS), a funct iilor de apartenent a (FA) si a regulilor
utilizate, a diagramelor de inferent e si a suprafet elor de control asociate; funct ii
pentru comanda de generare FIS (prin fuzicare - denirea unei FApentru ecare
variabil a implicat a n reguli de tip fuzzy, prin defuzicare - pe baza estim arii
inferent elor fuzzy, precum si prin transferul de parametri ntre funct ii si vari-
abile, respectiv prin evaluarea generic a a FA si vizualizarea suprafet ei de con-
trol); funct ii pentru implementarea altor rutine (FIS de tip Sugeno, clustere de
tip C-means etc.)
Operat ii referitoare la diferent a a dou a FA cu diferite forme (sigmoidal a, Gauss,
pi, trapezoidal a, triunghiular a, Z, S, inclusiv combinat ii ale lor), la concatenarea
matricelor, la discretizarea FIS-ului, la evaluarea de FA multiple, la editarea lini-
ilor de text, inclusiv help-uri active
Subdirectorul FUZZYDEMOS (FUZZYLOGICTOOLBOXDEMOS) cont ine diferite
aplicat ii demostrative pentru funct ii si operat ii fuzzy de baz a, precum si modele fuzzy
complete ale unor sisteme de control inteligent.
68 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.10: Funct ia GAUSSMF
Exemple de functii si operatii
Functii de comand a pentru interfata grac a cu utilizatorul
FUZZY pentru ediatrea FIS-ului
MFEDIT pentru editarea funct iilor de apartenent a
RULEEDIT pentru editarea regulilor
SURFVIEW vizualiazarea suprafet elor de control
RULEVIEWvizualizarea regulilor (RULEVIEW(FIS)) si a diagramelor de inferent a
fuzzy pentru o matrice FIS - RULEVIEW(FILENAME)
Functii de apartenent a (FA)
GAUSSMF(x, PARAMS) - FA de tip Gauss cu ancuri simetrice, unde PARAMS= [c
d] este un vector ce determin a forma si pozit ia FA prin parametrul de dispersie - s si de
medie - c:
GAUS S MF(x, [s c]) = exp[
(xc)
2
2s
2
]
Exemplu:
x = (0:0.1:10);
y1=gaussmf(x,[0.5 5]);
y2=gaussmf(x, [1 5]);
y3=gaussmf(x, [2 5]);
y4=gaussmf(x, [3 5]);
subplot(321); plot(x, [y1 y2 y3 y4], k);
TRIMF(x, PARAMS) - FA de tip triunghi, unde PARAMS = [A B C] este un vector cu trei
elemente, care precizeaz a punctele de discontinuitate:
Capitolul 3. Sisteme fuzzy pentru control inteligent 69
Figura 3.11: Funct ia TRIMF
TRI MF(x, [A B C]) =

0, x A
xA
BA
, A < x B
Cx
CB
, B < x C
0, C < x
De remarcat c a aceast a FA are ntotdeauna o n alt ime unitar a. Pentru a genera o FA triunghi-
ular a cu dimensiune subunitar a se va utiliza comanda TRIMF.
Exemplu:
x=(0:0.1:10);
y1=trimf(x,[3 4 5]);
y2=trimf(x,[2 4 7]);
y3=trimf(x,[1 4 9]);
subplot(321), plot(x, [y1 y2 y3], k);
TRAPMF(x, PARAMS) - FA de tip trapez, unde PARAMS = [A B C D] este un vector de
patru elemente, care precizeaz a punctele de discontinuitate ale funct iei:
TRAPMF(x, [A B C D]) =

0, x A
xA
BA
, A < x B
1, B < x C
Dx
DC
, C < x D
0, D < x
Dac a avem A < B < C < D funct ia de apartenent a este trapezoidal a. Dac a A < D si B C,
aceast a FA va avea o form a triunghiular a cu baza AD si v arful denit de coordonatele:
(
BDAC
DC+BA
, 1
BC
DC+BA
)
Exemplu:
x=(0:0.1:10);
70 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.12: Funct ia TRAPMF
y1=trapmf(x, [2 3 7 9]);
y2=trapmf(x, [3 4 6 8]);
y3=trapmf(x, [4 5 5 7]);
y4=trapmf(x, [5 6 4 6]);
subplot(321),plot(x, [y1 y2 y3 y4], k);
Functii de comanda pentru FIS
NEWFIS - creeaz a o nou a matrice FIS (Fuzzy Inference System)
Moduri de apelare:
FIS=NEWFIS(FisName) - creaz a un FIS de tip Mamdani cu numele FisName
FIS=NEWFIS(FisName, FisType, andMethod, orMethod, impMethod, aggMethod, de-
fuzzMethod). Implicit parametrii sunt setat i astfel: FisType la tipul Mamdani, andMethod
- min, orMethod - max, impMethod - min, aggMethod - max, defuzzMethod - cen-
troid.
ADDVAR - adaug a o variabil a lingvistic a la FIS. Variabilelor li se aplic a indici n ordinea n
care sunt ad augate. Variabilele de intrare si de iesire sunt num arate independent.
Modul de apelare:
FIS2=ADDVAR(FIS1, varType, varName, varRange)
Efectul apel arii: adaug a variabila specicat a prin varName la variabilele lingvistice din FIS1
unde:
varType specic a tipul variabilei: input sau output
varRange precizeaz a domeniul variabilei
Exemplu:
a=newfis(control);
Capitolul 3. Sisteme fuzzy pentru control inteligent 71
Figura 3.13: Variabila lingvistic a eroare
a=addvar(a, input, eroare, [-1 1]);
getfis(a, input, 1);
Rul and secvent a de program de mai sus se obt ine:
Name=eroare
NumMFs=0
MFLabels=
Range=[-1 1]
ADDMF adaug a o funct ie de apartenent a la FIS.
Modul de apelare:
FIS2=ADDMF(FIS1, varType, varIndex, mfName, mfType, mfParams)
Efectul apel arii: adaug a o FA la FIS1 specic and:
mfName: numele funct iei de apartenent a
varType: tipul variabilei (input sau output)
varIndex: indicele variabilei
mfType: forma FA
mfParams: parametrii funct iei de apartenent a
Exemplu:
a=newfis(control);
a=addvar(a, input, eroare, [-1 1]);
a=addmf(a, input, 1, negativa, trimf, [-1 -0.5 0]);
a=addmf(a, input, 1, zero, trimf, [-0.5 0 0.5]);
a=addmf(a, input, 1, pozitiva, trimf, [0 0.5 1]);
subplot(211),plotmf(a, input, 1);
Rezultatul rul arii acestui sier Matlab este prezentat n Figura 3.13:
72 Capitolul 3. Sisteme fuzzy pentru control inteligent
ADDRULE - adaug a reguli la FIS.
Modul de apelare:
FIS2=ADDRULE(FIS1,ruleList)
Efectul apel arii: adaug a regulile date de variabila ruleList la FIS1, unde ruleList este o list a
cu mai multe r anduri, ecare dintre acestea reprezent and o regul a dat a.
Dac a sistemul are M intr ari si N iesiri, trebuie denite n lista de reguli M+N+2 coloane.
Primele M coloane se refera la intr arile sistemului, iar urm atoarele N coloane se refera la iesirile
sistemului. Fiecare coloan a cont ine un num ar care se refer a la indexul FA al variabilelor de
intrare si iesire. Coloana M+N+1 cont ine ponderea care este aplicat a la regula respectiv a si este
un num ar ntre 0 si 1. Coloana M+N+2 cont ine 1 dac a operatorul fuzzy pentru compunerea
regulilor este AND si 2 dac a acesta este OR.
Exemplu:
a=newfis(control);
a=addvar(a, input, eroare, [-1 1]);
a=addmf(a, input, 1, negativa, trimf, [-1 -0.5 0]);
a=addmf(a, input, 1, zero, trimf, [-0.5 0 0.5]);
a=addmf(a, input, 1, pozitiva, trimf, [0 0.5 1]);
a=addvar(a, input, var\_eroare, [-1 1]);
a=addmf(a, input, 2, negativa, trimf, [-1 -0.5 0]);
a=addmf(a, input, 2, zero, trimf, [-0.5 0 0.5]);
a=addmf(a, input, 2, pozitiva, trimf, [0 0.5 1]);
a=addvar(a, output, comanda, [0 2]);
a=addmf(a, output, 1, mica, trimf, [0 0.5 1]);
a=addmf(a, output, 1, medie, trimf, [0.5 1 1.5]);
a=addmf(a, output, 1, mare, trimf, [1 1.5 2]);
ruleList=[1 1 3 1 2;2 1 3 1 2;3 1 2 1 2;1 2 3 1 2;2 2 2 1 2;
3 2 1 1 2;1 3 2 1 2;3 3 1 1 2];
a=addrule(a, ruleList);
writefis(a,control);
showrule(a);
Se obt ine setul de reguli (ponderate unitar):
1. If (eroare is negativa) or (var eroare is negativa) then (comanda is mare) (1)
2. If (eroare is zero) or (var eroare is negativa) then (comanda is mare) (1)
3. If (eroare is pozitiva) or (var eroare is negativa) then (comanda is medie) (1)
4. If (eroare is negativa) or (var eroare is zero) then (comanda is mare) (1)
Capitolul 3. Sisteme fuzzy pentru control inteligent 73
5. If (eroare is zero) or (var eroare is zero) then (comanda is medie) (1)
6. If (eroare is pozitiva) or (var eroare is zero) then (comanda is mica) (1)
7. If (eroare is negativa) or (var eroare is pozitiva) then (comanda is medie) (1)
8. If (eroare is pozitiva) or (var eroare is pozitiva) then (comanda is mica) (1)
DEFUZZ - realizeaz a defuzicarea pentru un FIS.
Modul de apelare:
valDe f uzz=DEFUZZ(x, mf , type)
Efectul apel arii: returneaz a n variabila valDefuzz valoarea defuzicat a a unei FA de tip mf ,
utiliz and strategia de defuzicare precizat a de type. Valoarea obt inut a este abcisa:
centrului de greutate al ariei pentru type=centroid (tipul implicit)
bisectoarea ariei pentru type=bisector
media maximelor pentru type=mom
celui mai mic dintre maxime, pentru type=som
celui mai mare dintre maxime, pentru type=lom
Exemplu:
x=-10:0.1:10
mf=trapmf(x, [-10 -8 -2 7]);
plot(x, mf, b);
axis([min(x) max(x) 0 1.2]);
hold on;
type=centroid;
xx=defuzz(x, mf, type);
plot(xx, 0.0, b*);
text(xx, 0.1, type, hor, center, ver, top, color, b);
type=bisector;
xx=defuzz(x, mf, type);
plot(xx, 0.0, r*);
text(xx, 0.2, type, hor, center, ver, top,color,r);
type=mom;
xx=defuzz(x, mf, type);
plot(xx, 0.0, m*);
text(xx, 0.1, type, hor, center, ver, top,color,m);
type=som;
74 Capitolul 3. Sisteme fuzzy pentru control inteligent
Figura 3.14: Efectul funct iei DEFUZZ
xx=defuzz(x, mf, type);
plot(xx, 0.0, c*);
text(xx, 0.15, type, hor, center, ver, top, color, c);
type=lom;
xx=defuzz(x, mf, type);
plot(xx, 0.0, g*);
text(xx, 0.1, type, hor, center, ver, top, color, g);
hold off;

In Figura 3.14 se prezint a rezultatele obt inute la defuzicarea unei FA de tip TRAPMF cu
metodele: centroid, bisector, lom, som si mom.
3.4.3 Aplicatie. Sistem fuzzy pentru analiz a spatial a
Una din cele mai importante caracteristici ale sistemelor de informare geograc a (SIG) este inter-
pretarea si rezolvarea problemelor spat iale.

In general, cercet atorii folosesc pachete de statistici
de interfat a SIG pentru analiza spatial a. Alte c ai ale analizei datelor spat iale s-au bazat pe logic a,
automate celulare, ret elele neuronale si tehnicile inteligent ei articiale (precum sistemele bazate
pe informat ii/ cunostint e).
Desi c ateva din tehnicile IA au fost folosite pentru analiza datelor spat iale, este foarte dicil
ca un non-expert n tehnicile IA s a dezvolte si s a foloseasc a un sistem hibrid ntre tehnicile
SIG si IA. Motivul este acela c a majoritatea tehnicilor IA necesit a abilit at i de programare ale
computerului pentru a folosi cunostint ele n sistem. Totusi, un sistem bazat pe reguli este cea
Capitolul 3. Sisteme fuzzy pentru control inteligent 75
mai folosit a tehnic a n IA pentru un sistem hibrid cu SIG deoarece are o structur a optim a pentru
derivarea unui r aspuns.
Programele timpurii, precum DENDRAL si MYCIN, au demonstrat posibilitatea simul arii
modalit at ii n care expert ii, precum chimistii sau zicienii, si rezolv a problemele. Dup a aceste
succese, multe sisteme expert au fost dezvoltate pentru aplicat ii tehnice din diverse domenii.
Sistemul de control fuzzy pe care l-am implementat utiliz and mediul de programare MAT-
LAB poate folosit pentru recunoasterea obiectelor dintr-o fotograe spat ial a.

In funct ie de
caracteristicile pe care utilizatorul le introduce pentru un anumit detaliu din fotograe sistemul
stabileste dac a acesta este:
lac
r au
teren arabil
parc
cartier rezident ial
strad a
corp industrial
Exist a patru elemente de baz a pentru interpretarea fotograilor aeriene:
textura este frecvent a schimb arilor de ton n cadrul fotograilor
valoarea spectral a reprezint a densitatea str alucirii. Este o nregistrare de reectare a lu-
minii de la suprafat a p am antului pe fotograe
aria se stabileste n raport cu a celorlaltor obiecte din fotograe.
conturul reect a c at de regulat sau neregulat este detaliul n cauz a
Folosind aceste patru elemente au fost construite regulile din cadrul sistemului. Mai int ai
conturul si valoarea spectral a sunt folosite pentru a separa utilit at ile urbane de alte elemente
precum lacuri sau terenuri. Textura este folosit a pentru a separa r aurile de terenuri, corpurile
industriale de cele de locuint e iar aria ne permite sa stabilim m arimea obiectului vizat n raport
cu celelalte.
Baza de reguli a sistemului
Asa cum am spus, pe baza celor patru caracteristici ale detaliilor ce pot ap area ntr-o fotograe
spat ial a au fost construite regulile controlerului fuzzy. Acestea sunt:
76 Capitolul 3. Sisteme fuzzy pentru control inteligent
1. If (contour is regular) and (texture is very umsmooth) and (spectral is medium) and
(area is medium) then (Structure is Residential)
2. If (contour is regular) and (texture is v umsmooth) and (spectral is medium) and (area
is large) then (Structure is Residential)
3. If (contour is regular) and (texture is unsmooth) and (spectral is deep) and (area is
medium) then (Structure is Park)
4. If (contour is regular) and (texture is unsmooth) and (spectral is deep) and (area is
small) then (Structure is Park)
5. If (contour is regular) and (texture is smooth) and (spectral is light) and (area is medium)
then (Structure is Industrial)
6. If (contour is regular) and (texture is smooth) and (spectral is light) and (area is large)
then (Structure is Industrial)
7. If (contour is very regular) and (texture is smooth) and (spectral is deep) and (area is
large) then (Structure is Arable Field)
8. If (contour is very regular) and (texture is smooth) and (spectral is deep) and (area is
very large) then (Structure is Arable Field)
9. If (contour is regular) and (texture is very smooth) and (spectral is medium) and (area
is large) then (Structure is Car Road)
10. If (contour is irregular) and (texture is very smooth) and (spectral is deep) and (area
is medium) then (Structure is River)
11. If (contour is very irregular) and (texture is very smooth) and (spectral is deep) and
(area is small) then (Structure is Lake)
Dup a cum se observa valoarea spectral a separ a unit at ile urbane de cele naturale (parcuri,
terenuri, r auri). Dac a avem structuri articiale, ca de exemplu cartiere rezident iale sau zone in-
dustriale atunci aceastea sunt diferent iate n primul r and dup a textur a. Structurile liniare care pot
r auri sau strazi sunt diferent iate dup a contur.
Un exemplu de gur a spat ial a care este folosit a n aceast a versiune a sistemului fuzzy pentru
analiza spat ial a si pe baza c areia se pot face rat ionamentele implementate n regulile de mai sus
este cea din Figura ??.
************************************
Sunt c ateva limitari n aplicarea acestui sistem bazat pe reguli. Mai nt ai, daca un diagnostic
tipic sau o sarcina complexa trebuie executata, sunt necesare c ateva sute de reguli. Daca regulile
necesita mai multe cunostinte n domenii variate, s-ar putea ca regulile sa e dicil de construit
datorita diverselor aspecte din cadrul domeniilor.

In al doilea r and, un sistem expert bazat pe reguli nu poate folosi experientele ce au fost
Capitolul 3. Sisteme fuzzy pentru control inteligent 77
folosite n rezolvarea problemelor similare. Desi o problema este aceeasi sau similara cu cea
veche, utilizatorii trebuie sa raspunda din nou la toate ntrebarile n acest sistem bazat pe reguli.
Nu exista nici o modalitate de a salva un caz similar n sistemul bazat pe reguli. Mentinerea
cunostintelor ntr-un sistem bazat pe reguli este n mod normal un proces manual ce necesita
achizitionarea unor cunostinte suplimentare.

In al treilea r and, nu exista exceptii n ceea ce priveste regulile. Regulile trebuie sa explice
cunostintele, ntrebarile exacte, si raspunsurile exacte. Nu este permis ca utilizatorii sa faca gre-
seli n raspunsuri. Pentru a depasi aceste limitari, exista si alte cai de acces n inteligenta arti-
ciala: rationamentul bazat pe model (RBM) (Davis si Hamscher, 1986) sau rationamentul bazat
pe caz (RBC) (Slade, 1991).
Totusi, sistemele bazate pe reguli sunt mult mai indicate pentru rezolvarea problemelor atun-
ci c and este dicil sa aduni date despre caz (Altho si altii 1994).

Intr-un sistem expert, cunostin-
tele pot mai usor implementate n sistemele bazate pe reguli dec at n sistemele RBC deoarece
regulile pot construite printr-o structura de rationament foarte simpla (structura daca-atunci) si
ntr-un limbaj natural.
3.4.4 Sistem fuzzy pentru analiza spatiala - Interfata
Ca si intreg controlerul fuzzy si interfata acestuia este proiectata folosind mediul de programare
Matlab. Au fost implementate cinci ferestre de dialog dupa cum urmeaza:
Prima fereastra de dialog sau fereastra care este asata atunci cand lansam in executie pro-
gramul are rolul:
de a asa fotograa pe baza careia se vor face rationamente
de a porni setul de intrebari pe baza carora se vor obtine valorile (crisp) pentru variabilele
lingvistice utilizate in premisele regulilor
dupa ce setul de intrebari a fost epuizat si s-au obtinut valorile necesare rationamentului
fuzzy prin intermediul acestei ferestre putem aa rezultatul (concluzia)
Odata ce amapasat pe butonul Start Reasoning va asat dialogul ce ne permite selectarea
valorii pentru variabila lingvistica arie.
Aceasta fereastra aseaza functiile de apartenenta corespunzatoare valorilor acestei vari-
abile: small, medium, large, very large si un control de tip listbox ce permite selectarea valorii
numerice corespunzatoare ariei detaliului pentru care dorim sa se efectueze rationamentul. Prin
acest control de tip listbox utilizatorul va alege o valoare numerica cat mai apropiata de valoarea
ariei obiectului vizat.
78 Capitolul 3. Sisteme fuzzy pentru control inteligent
Astfel, obiectele sunt considerate mici daca au aria pana in 10000m
2
, obiectele medii se
presupune ca au aria cuprinsa intre 8000m
2
si 40000m
2
, etc.
De asemenea se aseaza fotograa initiala insa ltrata astfel incat utilizatorul sa poata com-
para mai usor dimensiunea obiectului vizat cu a celorlaltora. Filtrarea consta in asarea tuturor
detaliilor in nunate ale aceleiasi culori si estomparea neregularitatilor acestora.
Urmatoarea fereastra asata corespunde variabilei contour. Functiile de apartenenta ale
acestei variabile corespund valorilor: very irregular, irregular, regular, very regular.
Spre deosebire de dialogul anterior, in acesta fotogaa initiala este asata astfel incat nereg-
ularitatile in conturul detaliilor sunt puse in evidenta:
Cea de-a treia fereastra asata corespunde variabilei texture. Functiile de apartenenta ale
acestei variabile corespund valorilor: very unsmooth, unsmooth, smooth, very smooth.
In fereastra corespunzatoare variabilei texture fotograa este modicata astfel incat toate
neregularitatile sunt evidentiate: si anume nu numai conturul in plan cat si conturul spatial (tri-
dimensional):
Ultima fereastra corespunde variabilei spectral value continand functiile de apartenenta
ale celor trei valori ale acesteia: deep, medium si light.
Fotograa de aceasta data este modicata astfel incat petele de culoare sunt intensicate sau
intunecate mai tare dupa caz.
Pentru exemplicare vom considera urmatorul detaliu in ecare din cele 5 guri asate in
cadrul programului (prima ind cea initiala si celelalte patru corespunzand ecarei caracteristici
in parte):
Astfel daca vom alege pentru variabila area valoarea numerica crisp 40000, pentru variabi-
la contour valoarea numerica 0.9, pentru variabila texture valoarea 1 iar pentru spectral value
valoarea crisp 0.7 atunci se va aplica urmatoarea regula:
IF AREA is large, CONTOUR is very regular, TEXTURE is very smooth, SPECTRAL
VALUE is medium THEN CAR ROAD
deci se va conrma ca detaliul in cauza este o strada.
3.4.5 Sistem fuzzy pentru analiza spatiala - Implementarea
Fisierul de reguli spatial.m:
a=news(spatial);
a.input(1).name=contour
a.input(1).range=[0 1];
a.input(1).mf(1).name=v irreg;
Capitolul 3. Sisteme fuzzy pentru control inteligent 79
a.input(1).mf(1).type=trapmf;
a.input(1).mf(1).params=[0 0 0.2 0.4];
a.input(1).mf(2).name=irreg;
a.input(1).mf(2).type=trapmf;
a.input(1).mf(2).params=[0.2 0.4 0.4 0.6];
a.input(1).mf(3).name=reg;
a.input(1).mf(3).type=trapmf;
a.input(1).mf(3).params=[0.4 0.6 0.6 0.8];
a.input(1).mf(4).name=v reg;
a.input(1).mf(4).type=trapmf;
a.input(1).mf(4).params=[0.6 0.8 1 1];
a.input(2).name=texture
a.input(2).range=[0 1];
a.input(2).mf(1).name=v unsmooth;
a.input(2).mf(1).type=trapmf;
a.input(2).mf(1).params=[0 0 0.2 0.4];
a.input(2).mf(2).name=unsmooth;
a.input(2).mf(2).type=trapmf;
a.input(2).mf(2).params=[0.2 0.4 0.4 0.6];
a.input(2).mf(3).name=smooth;
a.input(2).mf(3).type=trapmf;
a.input(2).mf(3).params=[0.4 0.6 0.6 0.8];
a.input(2).mf(4).name=v smooth;
a.input(2).mf(4).type=trapmf;
a.input(2).mf(4).params=[0.6 0.8 1 1];
a.input(3).name=spectral;
a.input(3).range=[0 1];
a.input(3).mf(1).name=light;
a.input(3).mf(1).type=trapmf;
a.input(3).mf(1).params=[0 0 0.25 0.5];
a.input(3).mf(2).name=medium;
a.input(3).mf(2).type=trapmf;
a.input(3).mf(2).params=[0.25 0.5 0.5 0.75];
a.input(3).mf(3).name=deep;
a.input(3).mf(3).type=trapmf;
80 Capitolul 3. Sisteme fuzzy pentru control inteligent
a.input(3).mf(3).params=[0.5 0.75 1 1];
a.input(4).name=area
a.input(4).range=[1000 110000];
a.input(4).mf(1).name=small;
a.input(4).mf(1).type=trapmf;
a.input(4).mf(1).params=[1000 1000 5000 10000];
a.input(4).mf(2).name=medium;
a.input(4).mf(2).type=trapmf;
a.input(4).mf(2).params=[8000 20000 30000 40000];
a.input(4).mf(3).name=large;
a.input(4).mf(3).type=trapmf;
a.input(4).mf(3).params=[30000 50000 80000 100000];
a.input(4).mf(4).name=v large;
a.input(4).mf(4).type=trapmf;
a.input(4).mf(4).params=[80000 100000 110000 110000];
a.output(1).name=Structure;
a.output(1).range=[0 7];
a.output(1).mf(1).name=Lake;
a.output(1).mf(1).type=trapmf;
a.output(1).mf(1).params=[0 0.5 0.5 1];
a.output(1).mf(2).name=River;
a.output(1).mf(2).type=trapmf;
a.output(1).mf(2).params=[1 1.5 1.5 2];
a.output(1).mf(3).name=Arable Field;
a.output(1).mf(3).type=trapmf;
a.output(1).mf(3).params=[2 2.5 2.5 3];
a.output(1).mf(4).name=Park;
a.output(1).mf(4).type=trapmf;
a.output(1).mf(4).params=[3 3.5 3.5 4];
a.output(1).mf(5).name=Residential;
a.output(1).mf(5).type=trapmf;
a.output(1).mf(5).params=[4 4.5 4.5 5];
a.output(1).mf(6).name=Car Road;
a.output(1).mf(6).type=trapmf;
a.output(1).mf(6).params=[5 5.5 5.5 6];
Capitolul 3. Sisteme fuzzy pentru control inteligent 81
a.output(1).mf(7).name=Industrial;
a.output(1).mf(7).type=trapmf;
a.output(1).mf(7).params=[6 6.5 6.5 7];
a.rule(1).antecedent=[3 1 2 2];
a.rule(1).consequent=[5];
a.rule(1).weight=1;
a.rule(1).connection=1;
a.rule(2).antecedent=[3 1 2 3];
a.rule(2).consequent=[5];
a.rule(2).weight=1;
a.rule(2).connection=1;
a.rule(3).antecedent=[3 2 3 2];
a.rule(3).consequent=[4];
a.rule(3).weight=1;
a.rule(3).connection=1;
a.rule(4).antecedent=[3 2 3 1];
a.rule(4).consequent=[4];
a.rule(4).weight=1;
a.rule(4).connection=1;
a.rule(5).antecedent=[3 3 1 2];
a.rule(5).consequent=[7];
a.rule(5).weight=1;
a.rule(5).connection=1;
a.rule(6).antecedent=[3 3 1 3];
a.rule(6).consequent=[7];
a.rule(6).weight=1;
a.rule(6).connection=1;
a.rule(7).antecedent=[4 3 3 3];
a.rule(7).consequent=[3];
a.rule(7).weight=1;
a.rule(7).connection=1;
a.rule(8).antecedent=[4 3 3 4];
a.rule(8).consequent=[3];
a.rule(8).weight=1;
a.rule(8).connection=1;
82 Capitolul 3. Sisteme fuzzy pentru control inteligent
a.rule(9).antecedent=[3 4 2 3];
a.rule(9).consequent=[6];
a.rule(9).weight=1;
a.rule(9).connection=1;
a.rule(10).antecedent=[2 4 3 2];
a.rule(10).consequent=[2];
a.rule(10).weight=1;
a.rule(10).connection=1;
a.rule(11).antecedent=[1 4 3 1];
a.rule(11).consequent=[1];
a.rule(11).weight=1;
a.rule(11).connection=1;
writes(a,spatial);
Bibliograe
[1] Ion Iancu Rules-Based Reasoning Under Uncertainty and Imprecision, Subseries of Re-
search Notes in Computer Science, vol. 304, Editura Universitaria Craiova, 2010
[2] Emil Sofron, Nicu Bizon, Silviu Ionita, Radian Raducu Sisteme de control fuzzy, Editura
ALL, 1998
[3] Ion Vaduva, Grigore Albeanu Introducere in Modelarea Fuzzy, Editura Universitatii din
Bucuresti, 2004
83

S-ar putea să vă placă și