Logica fuzzy -...

Preview:

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)

Recommended