Professional Documents
Culture Documents
LOGICA FUZZY
E.Mumolo
mumolo@units.it
Introduzione
Sulla base di queste propriet e operazioni gli insiemi fuzzy vengono usati
per trattare lincertezza e per rappresentare conoscenza mediante regole
Definizioni
Esempio:.
Definzioni
Definizioni
0 1
Logica booleana
0 0
0.2
0.4
0.6
0.8
1 1
Logica multivariata
GradiMembership
di appartenenza
Crisp Sets
1.0
0.8
Tall Men
0.6
0.4
0.2
0.0
150
160
170
Degree of
Gradi
di appartenenza
Membership
180
190
200
210
Height, cm
altezza (cm)
Fuzzy Sets
1.0
0.8
0.6
0.4
0.2
0.0
150
160
170
180
190
200
210
Height,(cm)
cm
altezza
1, if x A
0, if x A
f A ( x)
A(x) = 1 se x completamente in A;
A(x) = 0 se x non in A;
0 < A(x) < 1 se x parzialmente in A.
Rappresentazione degli
insiemi Fuzzy
Lesempio della altezza pu essere espresso tramite tre insiemi Fuzzy:
tall, short e average
of
Gradi diDegree
appartenenza
Membership
Crisp Sets
1.0
Short
0.8
Average
Short
Tall
Tall Men
0.6
0.4
0.2
0.0
150
160
170
of
Gradi diDegree
appartenenza
Membership
180
190
200
210
Height, cm
200
210
Fuzzy Sets
1.0
0.8
Short
0.6
Tall
Average
0.4
Tall
0.2
0.0
150
160
170
180
190
Rappresentazione degli
insiemi Fuzzy
fuzzy
X Sottoinsieme
Fuzzy Subset
A A
(x)
1
Crisp Subset
A
Sottoinsieme
tradizionale
A
0
Fuzziness
Fuzziness
incertezza (fuzzyness)
Variabili linguistiche
il vento
forte
buono
oppure
IF
THEN
speed
is slow
stopping_distance is short
Variabili linguistiche e
affermazioni vaghe (Hedges)
Gli hedges sono termini che modificano la forma degli insiemi fuzzy.
Possono essere gli avverbi molto, in qualche modo, piuttosto, pi
o meno, leggermente (very, somewhat, quite, more or less,
slightly).
Funzioni di appartenenza
B
A
AA
Complement
Containment
Intersection
AA
Union
Complemento di un insieme
fuzzy
~A(x) = 1 A(x)
In altri termini
Complemento
Appartenenza
Esempio:
Persone
Persone alte
Insiemi tradizionali:
Insiemi Fuzzy:
Negli insiemi classici, una intersezione tra due insiemi contiene gli
elementi condivisi. Negli insiemi fuzzy un elemento pu appartenere
parzialmente ai due insiemi con diversi gradi di appartenenza
Insiemi tradizionali:
Insiemi Fuzzy:
In altri termini
Unione
Intersezione
Esempio
A = 0.3/1 + 0.5/2 + 1/3
B = 0.3/1 + 0.5/2 + 1/3
quindi A = B
A un sottoinsieme di B
Esempio:
si consideri X = {1, 2, 3} e gli insiemi A e B
A = 0.3/1 + 0.5/2 + 1/3;
B = 0.5/1 + 0.55/2 + 1/3
allora A un sottoinsieme di B, or A B
di elementi.
La cardinalit di un insieme fuzzy A la somma dei
valori dei gradi di appartenenza di A, A(x):
cardA = A(x1) + A(x2) + A(xn) = A(xi),
i=1..n
Normalit di un insieme
fuzzy
Il nucleo e il supporto di un
insieme fuzzy
Esempi
Esempi
Supporto:
supp(A) = {a, b, c, d }
supp(B) = {a, b, c, d, e }
Nucleo:
core(A) = {a}
core(B) = {o}
Cardinalit:
card(A) = 1+0.3+0.2+0.8+0 = 2.3
card(B) = 0.6+0.9+0.1+0.3+0.2 = 2.1
Esempi
Complemento:
A = {1/a, 0.3/b, 0.2/c 0.8/d, 0/e}
A = {0/a, 0.7/b, 0.8/c 0.2/d, 1/e}
Unione:
Intersectione:
Regole Fuzzy
x
y
is A
is B
Regola IF-THEN-ELSE
In logica tradizionale
Rule: 1
IF
speed is > 100
THEN stopping_distance is long
Rule: 2
IF
speed is < 40
THEN stopping_distance is short
In logica fuzzy
Rule: 1
Rule: 2
IF
speed is fast
IF
speed is slow
THEN stopping_distance is longTHEN stopping_distance is short
anche qui speed pu essere tra 0 e 200 ma un elemento degli insiemi fuzzy slow,
medium, fast
Degree of
Membership
1.0
Heavy men
0.8
Tall men
0.6
0.6
0.4
0.4
0.2
0.2
0.0
160
0.0
180
190
200
Height, cm
70
80
100
120
Weight, kg
Degree of
Membership
1.0
Degree of
Membership
1.0
Tall men
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.0
0.0
160
180
190
200
Height, cm
Heavy men
70
80
100
120
Weight, kg
project_duration is long
project_staffing is large
project_funding is inadequate
risk is high
IF
OR
THEN
service is excellent
food is delicious
tip is generous
temperature is hot
hot_water is reduced;
cold_water is increased
Controllo di un condizionatore:
RULE 1:
IF TEMP is COLD
THEN
SPEED is MINIMAL
RULE 2:
IF TEMP is COOL
THEN
SPEED is SLOW
RULE 3:
IF TEMP is PLEASANT
THEN
RULE 4:
IF TEMP is WARM
THEN
SPEED is FAST
RULE 5:
IF TEMP is HOT
THEN
SPEED is BLAST
SPEED is MEDIUM
Temp
(0C).
COLD
COOL
PLEASANT
WARM
HOT
Y*
10
12.5
Y*
15
17.5
Y*
20
22.5
Y*
25
27.5
30
Y*
Rev/sec
(RPM)
MINIMAL
SLOW
MEDIUM
FAST
BLAST
Y*
10
20
30
Y*
40
50
Y*
60
70
Y*
80
90
100
Y*
Esempi
Se
A = {0.2/a, 0.4/b, 1/c, 0.8/d, 0/e}
B = {0/a, 0.9/b, 0.3/c, 0.2/d, 0.1/e}
calcolare:
- Supporto, Nucleo, Cardinalit, and Complemento
di A e B
- Unione e Intersezione
- linsieme C, con C = A2
- linsieme D, con D = 0.5B
-
Soluzioni
A = {0.2/a, 0.4/b, 1/c, 0.8/d, 0/e}
B = {0/a, 0.9/b, 0.3/c, 0.2/d, 0.1/e}
Supporto
Supp(A) = {a, b, c, d}
Supp(B) = {b, c, d, e}
Nucleo
Core(A) = {c}
Core(B) = {}
Cardinalita
Card(A) = 0.2 + 0.4 + 1 + 0.8 + 0 = 2.4
Card(B) = 0 + 0.9 + 0.3 + 0.2 + 0.1 = 1.5
Complemento
Comp(A) = {0.8/a, 0.6/b, 0/c, 0.2/d, 1/e}
Comp(B) = {1/a, 0.1/b, 0.7/c, 0.8/d, 0.9/e}
Soluzioni
A = {0.2/a, 0.4/b, 1/c, 0.8/d, 0/e}
B = {0/a, 0.9/b, 0.3/c, 0.2/d, 0.1/e}
Unione
AB = {0.2/a, 0.9/b, 1/c, 0.8/d, 0.1/e}
Intersezione
AB = {0/a, 0.4/b, 0.3/c, 0.2/d, 0/e}
C=A2
C = {0.04/a, 0.16/b, 1/c, 0.64/d, 0/e}
D = 0.5B
D = {0/a, 0.45/b, 0.15/c, 0.1/d, 0.05/e}
Inferenza Fuzzy
Si articola in 4 passi:
1.
Fuzzificazione dellingresso
2.
3.
4.
Defuzzificazione.
Rule: 1
IF
project_funding
OR
project_staffing
THEN risk
is adequate
is small
is low
Rule: 2
IF
x is A2
AND
y is B2
THEN z is C2
Rule: 2
IF
project_funding
AND
project_staffing
THEN risk
is marginal
is large
is normal
Rule: 3
IF
x is A1
THEN z is C3
Rule: 3
IF
project_funding
THEN risk
is inadequate
is high
Fuzzificazione
Crisp
Input
ingresso
x1
1
0.5
0.2
0
A1
A2
x1
(x = A1) = 0.5
(x = A2) = 0.2
Crisp
Input
ingresso
y1
1
0.7
A3
X
0.1
0
B1
B2
y1
(y = B1) = 0.1
(y = B2) = 0.7
A3
B1
0.1
0.0
0
x1
Rule 1: IF x is A3 (0.0)
OR
y1
y is B1 (0.1)
A2
0
x1
y1
A1
x1
Rule 3: IF x is A1 (0.5)
z is C1 (0.1)
AND
(min)
Y
0.2
C1
C2
THEN
C3
THEN
z is C2 (0.2)
C2
C3
Z
1
0.5 C1
0.5
C2
B2
0
C1
THEN
0.7
0.2
X
OR
(max)
0.1
C3
Z
z is C3 (0.5)
Scaling
Aggregazione
Aggregazione
C1
C2
0.5
C3
0.2
0.1
0
z is C 1 (0.1)
0.5
0.1
z is C 2 (0.2)
z is C 3 (0.5)
0.2
0
Defuzzificazione
COG
A x x dx
a
b
A x dx
a
ovvero
Defuzzificazione
Stima ragionevole:
(x)
1.0
0.8
A
0.6
0.4
0.2
0.0
150
a
160
b
170
180
190
200
X
210
Defuzzificazione
Degree of
Membership
1.0
0.8
0.6
0.4
0.2
0.0
0
10
20
30
40
50
60
70
67.4
COG
80
90
100
Z
Aggregazione di Sugeno
1
0.1
0
0.5
0.5
0.1
0
0.2
k1
z is k1 (0.1)
k2
z is k2 (0.2)
k3
z is k3 (0.5)
0.2
k1
k2
k3
Defuzzificazione di Sugeno
Weighted Average (WA)
WA
65
(k1) (k 2) (k 3)
0.1 0.2 0.5
z1
Crisp Output
z1
Mamdani o Sugeno?
ingressi
uscite
Strato nascosto