Upload
truongcong
View
215
Download
0
Embed Size (px)
Citation preview
Logica fuzzyFabio Aurelio D’Asaro
“formal logic ... is one of the technically most refractory parts of mathematics. The reason for
this is that it deals with rigid, all-or-none concepts, and has very little contact with the continuous concept of the real or of complex
number, that is, with mathematical analysis. Yet analysis is the technically most successful and best-elaborated part of mathematics.
Thus formal logic is, by the nature of its approach, cut off from the best cultivated
portions of mathematics, and forced onto the most difficult part of the mathematical terrain,
into combinatorics.”
Dall’articolo di John von Neumann: The General and Logic Theory of Automata
In logica classica...
Ogni enunciato ben formato è vero (1) o falso (0) e soddisfa il ben noto principio di non contraddizione:
¬(A⋀¬A)
Altrimenti, per il principio dell’ex falso quodlibet, potremmo dedurre qualsiasi cosa (tutto e il contrario di tutto)
L’enunciato “7 è un numero primo” è vero.
Quali paletti sono “alti”?
Quali paletti sono “alti”?
Quali paletti sono “alti”?
Quali paletti sono “alti”?
1 mt
Quali paletti sono “alti”?
1 mt
Quali paletti sono “alti”?
1 mt
perché questoè “alto” e
quest’altro no?
Grafico riassuntivo
metri
alti
nonalti
|1 mt0.5 mt 1.5 mt
E se invece...
alti
nonalti
|1 mt0.5 mt metri1.5 mt
E se invece...
alti
nonalti
|1 mt0.5 mt metri1.5 mt
E se invece...
alti
nonalti
|1 mt0.5 mt metri1.5 mt
alto e non altoin una certa misura...
Insiemi fuzzy
Un insieme fuzzy A è definito dalla sua funzione di appartenenza (o membership function) che ad ogni elemento x in un dato universo U assegna il suo grado di appartenenza all’insieme fuzzy A.
Il grado di appartenenza è un reale compreso tra 0 ed 1
Esempio:U = [0, 10]A = insieme dei “numeri grandi”
Come definire la funzione di appartenenza μA:U→[0,1]?
Insiemi fuzzy
Insiemi fuzzy
Insiemi fuzzy
Il passaggio agli enunciati è immediato: ad esempio, possiamo chiederci: il numero 7 è grande?
Il valore di verità associato a tale enunciato può essere calcolato attraverso la funzione di appartenenza corrispondente all’insieme dei numeri grandi:
μA(7) = 7/10 = 0.7
Insiemi fuzzy
Insiemi fuzzy
Negazione e connettivi
Un breve richiamo...
A B not A A and B A or B
0 0 1 0 0
0 1 1 0 1
1 0 0 0 1
1 1 0 1 1
Negazione e connettivi
E in logica fuzzy?
Supponiamo che il valore di verità di A sia 0.9 e quello di B sia 0.3.
Quanto ci aspettiamo che valga la loro congiunzione?
E la disgiunzione?
E la negazione di A?
Negazione e connettivi
Nell’articolo originale di Zadeh troviamo queste possibilità:
Congiunzione = min
Disgiunzione = max
Negazione = 1 - x
A B not A A and B A or B
0.9 0.3 0.1 0.3 0.9
Negazione e connettivi
Dobbiamo notare, comunque, che queste scelte non costituiscono le uniche possibilità!
Ad esempio, in alternativa al min per la congiunzione è possibile considerare il prodotto:
A and B = 0.9 * 0.3 = 0.27
In alternativa al max per la congiunzione è possibile considerare la somma probabilistica:
A or B = 0.9 + 0.3 - 0.9*0.3 = 0.93
Per la negazione si può usare invece...
not A = (1 - 0.9)/(1 + 0.9) ≈ 0.053
Unione ed intersezione
Le definizione date per i connettivi possono essere estese agli insiemi
Dati due insiemi sullo stesso universo U specificati dalle rispettive funzioni di appartenenza μA e μB possiamo definire...
μ A ∪ B(x) = max(μA(x), μB(x))
μ A ∩ B(x) = min(μA(x), μB(x))
μ ¬A(x) = 1 - μA(x)
Unione ed intersezione
1
0
|1 mt0.5 mt metri1.5 mt
Unione ed intersezione
1
0
|1 mt0.5 mt metri1.5 mt
Intersezione
1
0
|1 mt0.5 mt metri1.5 mt
Intersezione
1
0
|1 mt0.5 mt metri1.5 mt
Intersezione
1
0
|1 mt0.5 mt metri1.5 mt
Unione
1
0
|1 mt0.5 mt metri1.5 mt
Unione
1
0
|1 mt0.5 mt metri1.5 mt
Unione
1
0
|1 mt0.5 mt metri1.5 mt
Alcuni sviluppi...
Fuzzy Control
Misure difuzziness
Connettivit-norms, t-conorms,strong negations...
Fuzzy Control
Sviluppi: Fuzzy control
Supponiamo di avere un sistema formato dalle seguenti regole:
i) Se x è minore di 0.5, allora y è uguale a 10x
ii) Se x è maggiore o uguale a 0.5, allora y è uguale a 7
Domanda: Qual è l’output per x=0.4?
Sistemax y
Sviluppi: Fuzzy control
Ipotizziamo ora di avere un sistema descritto dalle seguenti regole:
i) Se x è piccolo, allora y è grande
ii) Se x è molto grande, allora y è piccolo
Domanda: Qual è l’output per x=0.4?
Sistemax y
Sviluppi: Fuzzy control
A volte, la necessità di controllare un sistema fisico può dar vita ad equazioni differenziali molto complesse da risolvere...
(M +m) x�m`
¨
✓ cos ✓ +m`
˙
✓
2sin ✓ = F
`
¨
✓ � g sin ✓ = x cos ✓
Equazioni differenzialinon lineari
Sviluppi: Fuzzy control
Pendolo invertito
Fuzzy Controller
Velocità angolare
Angolo
Forza
Un esempio di regola nell’esempio del pendolo invertito potrebbe essere la seguente:
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
Questa regola richiede di specificare il significato di “angolo piccolo”, “velocità angolare bassa”, “leggera forza nel verso negativo”, “e”, “Se...allora...”, ...
Sviluppi: Fuzzy control
Sviluppi: Fuzzy control
Questo compito può essere adempiuto utilizzando le già viste funzioni di appartenenza:
| | | | |
grado diappartenenza
0
1“Angolo piccolo”
0 maxrad-maxradrad
Sviluppi: Fuzzy control
Questo compito può essere adempiuto utilizzando le già viste funzioni di appartenenza:
| | | | |0 maxvel-maxvel
rad/s
grado diappartenenza
0
1“Bassa velocità angolare negativa”
Sviluppi: Fuzzy control
Questo compito può essere adempiuto utilizzando le già viste funzioni di appartenenza:
| | | | | | |0 0.5 1 1.5-0.5-1-1.5 N
grado diappartenenza
0
1“Leggera forza negativa”
Sviluppi: Fuzzy control
| | | | |0
1
| | | | |v Θ
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
Sviluppi: Fuzzy control
| | | | |0
1
| | | | |v Θ
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
Sviluppi: Fuzzy control
| | | | |0
1
| | | | |v Θ
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
Sviluppi: Fuzzy control
| | | | |0
1
| | | | |v Θ
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
Sviluppi: Fuzzy control
| | | | |0
1
| | | | |v Θ
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
Sviluppi: Fuzzy control
| | | | |0
1
| | | | |v Θ
Se l’angolo è piccolo, e la velocità angolare è bassa nel verso negativo, allora va applicata una leggera forza nel verso negativo.
questo dato va poi“defuzzificato”...
Sviluppi: Fuzzy control
Due tecniche per “defuzzificare”:
Center of Gravity: Mean of Maxima:
y =
Px2U
(x · µA
(x))Px2U
µ
A
(x)y =
X
x:µ
A
(x)=max
x2U
µ
A
(x)
x
n
Funziona?
Testo
Dall’articolo di Mamdani e Assilian: “An experiment in Linguistic Synthesis with a Fuzzy Logic Controller”
Vediamo come si comporta un sistema di controllo fuzzy formato da 24 regole:
Misure di Fuzziness
Sviluppi: Misure di fuzziness
metri
1
0
|1 mt0.5 mt 1.5 mt
metri
1
0
|1 mt0.5 mt 1.5 mt
Sviluppi: Misure di fuzziness
metri
1
0
|1 mt0.5 mt 1.5 mt
Sviluppi: Misure di fuzziness
metri
1
0
|1 mt0.5 mt 1.5 mt
Sviluppi: Misure di fuzziness
metri
1
0
|1 mt0.5 mt 1.5 mt
Sviluppi: Misure di fuzziness
Il concetto intuitivo appena introdotto può essere formalizzato come segue:
Una misura di fuzziness è un funzionale d che ad ogni insieme fuzzy A in un universo U assegna un valore nonnegativo (la sua misura) tale che:i) d(A)=0 SSE A è un insieme crispii) d(A) assume valore massimo quando μA(x)=1/2 per ogni x in Uiii) d(A*)≤d(A) se A* è tale che μA*(x)≤ μA(x) quando μA(x)≤1/2 e μA*(x)≥μA(x) quando μA(x)≥1/2
Sviluppi: Misure di fuzziness
Si possono inoltre imporre le seguenti ulteriori condizioni:iv) d(A) = d(AC)v) d(A∪B) + d(A∩B) = d(A) + d(B)
È stato dimostrato che aggiungendo un’ulteriore condizione dal significato meno intuitivo (chiamata additività generalizzata), l’unica definizione possibile è la seguente:
Sviluppi: Misure di fuzziness
d(A) =X
x2U
(µA
(x) · |1� µ
A
(x)|)
Connettivi, negazioni
Sviluppi: Connettivi, negazioni
Il ruolo dei connettivi è stato generalizzato dalle T-Norme, T-Conorme1 e Negazioni forti2, che sono definite rispettivamente come segue:
Una T-Norma è una funzione T:[0,1]×[0,1]→[0,1] che soddisfa le seguenti proprietà:
i) Commutatività: T(a, b)=T(b, a)ii) Associatività: T(a, T(b, c)) = T( T(a, b), c)iii) Monotonicità: se a ≤ c e b ≤ d, allora T(a, b) ≤ T(c, d)iv) T(1, x) = T(x, 1) = x
Sviluppi: Connettivi, negazioni
Similemente, una T-Conorma è una funzione S:[0,1]×[0,1]→[0,1] che soddisfa le seguenti proprietà:
i) Commutatività: S(a, b)=S(b, a)ii) Associatività: S(a, S(b, c)) = S( S(a, b), c)iii) Monotonicità: se a ≤ c e b ≤ d, allora S(a, b) ≤ S(c, d)iv) S(0, x) = S(x, 0) = x
Una negazione forte è una funzione N:[0,1]→[0,1] che soddisfa le seguenti proprietà:
i) Se a ≤ b, allora N(b) ≤ N(a)ii) N(0)=1 ed N(1)=0iii) N(N(x)) = x
Bibliografia/Ulteriori letture
Un saggio divulgativo e “leggero”:- B. Kosko: Il fuzzy-pensiero. Teoria e applicazioni della logica fuzzy
Alcuni libri più tecnici:- D. Dubois, H. Prade: Fuzzy Sets and Systems: Theory and Applications- E. Trillas: Fundamentals of approximate reasoning
L’originale articolo di Zadeh sugli insiemi fuzzy:- L. Zadeh: Fuzzy sets, Information and Control 8(3): 338–353 (1965)
Sulle misure di fuzziness:- S. Termini, A. De Luca: A Definition of a Nonprobabilistic Entropy in the Setting of Fuzzy Sets Theory, Information and Control 20(4): 301–312 (1972)
Bibliografia/Ulteriori letture
Bibliografia/Ulteriori letture
Per T-Norme, T-Conorme, Negazioni forti:- C. Alsina, E. Trillas e L. Valverde: On some logical connectives for fuzzy sets theory, Journal of Mathematical Analysis and Applications 93(1): 15–23 (1983)- E. Trillas: Sobre functiones de negacion en la teoria de conjunctos difusos, Stochastica 3(1): 47–60 (1979); disponibile anche in traduzione inglese: On negation functions in fuzzy set theory, Advances in Fuzzy Logic: 31–40 (1998)