Logica fuzzy: fondamenti e alcune...

45
Logica fuzzy: fondamenti e alcune applicazioni Mattia Antonino Di Gangi 12 maggio 2015 [email protected]

Transcript of Logica fuzzy: fondamenti e alcune...

Page 1: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Logica fuzzy: fondamenti ealcune applicazioni

Mattia Antonino Di Gangi

12 maggio [email protected]

Page 2: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Oltre la logica booleana

5

Page 3: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Rimodellare i problemi

Page 4: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Insiemi Fuzzy

● Usati per rappresentareclassi dai contorni non bendefiniti.

● Definiti a partire da unafunzione d'appartenenza:μ

A (x) : U → L

● E' importante il signif icato attribuito all'insieme.

Page 5: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Operazioni tra insiemi

Come nella teoria classica degli insiemi, anchenella FST vogliamo poter effettuare unione,intersezione e complemento di insiemi.L'introduzione di valori reali apre la scena adiverse funzioni che possono adempiere a questiruoli.

Page 6: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Unione

Page 7: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Intersezione

Page 8: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Complemento

Page 9: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Logica Fuzzy

● E' un sistema di calcolo e ragionamento che usa comeoggetti insiemi fuzzy.

● Si basa sull'utilizzo di regole IF-THEN

● Permette di effettuare calcoli con valori approssimati.

Page 10: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Congiunzione - T-norme

● Intuizione: Unacongiunzione ha valore diverità alto quandoentrambi i congiunti hannoun grado alto.

X Y X AND Y

0 0 0

0 1 0

1 0 0

1 1 0

● T-norma: Funzione F percui vale:

1) F(x, 1) = x

2) F(x, y) = F(y, x)

3) F(x,F(y, z)) = F(F(x, y),z)

4) Se x ≤ u e y ≤ v:

F(x,y) ≤ F(u,v)

Page 11: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Disgiunzione – T-conorme

● Intuizione: Il valore diverità è elevato quandoalmeno una delleproposizioni ha un gradoelevato.

X Y X OR Y

0 0 0

0 1 1

1 0 1

1 1 1

● T-conorma: Una funzioneF per cui vale:

1) F(x, 0) = x

2) F(x, y) = F(y, x)

3) F(x,F(y, z)) = F(F(x, y),z)

4) Se x ≤ u e y ≤ v:

F(x,y) ≤ F(u,v)

Page 12: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Negazione

● Funzione N tale che:

1) N(0) = 1

2) N(1) = 0

3) N è non-crescente

X Y

0 1

1 0

● Esistono numerosissimefunzioni di negazione, diforme anche molto diverse.Le più “intuitive” sono lenegazioni forti, cioèfunzioni di negazionecontinue, strettamentedecrescenti e involutive:

N(N(X)) = X

Page 13: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Implicazione

● Esistono diverse classi difunzioni che rispondono aquesti criteri.

1: se x ≤ y, alloraI(x; z) ≥ I(y; z), cioè I èdecrescente nella primavariabile;

2: se y ≤ z, allora I(x; y)≤ I(x;z), cioè I è crescente nellaseconda variabile;

3: I(1; 0) = 0; I(0; 0) = I(1; 1) =1

● S-Implicazione:

I(x; y) = S(N(x); y)

Es: max{ 1-x, y}

● R-Implicazione:

IT (x; y) = sup {z| T(x; z)≤ y}

Es: sup {z | min{x; z } ≤ y}

Page 14: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Condizionali

● Nonostante questa varietà di implicazioni, spesso nellapratica queste non risultano utili per modellare il sistema

d'interesse.

● Si utilizzano le T-norme come condizionali (Sistemi diMamdani), e in particolare le operazioni min e prod.

● Es: IF x is A THEN y is B

viene tradotto in min{μA(x), μ

B(y)}

Page 15: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Sistema d'inferenza di Mamdani

● Principalmente usato nei sistemi di controllo

● Permette di effettuare inferenze tramite regole fuzzy

● L'input e l'output sono entrambi crisp.

● I moduli “fuzzifier” e “defuzzifier” effettuano conversioni dacrisp a fuzzy e viceversa.

Page 16: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Fuzzificazione

● La fuzzificazione consiste nel trasformare l'input in unvalore di appartenenza.

● Si realizza calcolando il valore della funzioned'appartenenza del valore in input all'insieme fuzzydell'antecedente di ciascuna regola.

Page 17: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Schema di un FIS

Page 18: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Defuzzificazione

● Alla fine del processo di inferenza bisogna avere un valoresingolo da comunicare all'esterno.

● La defuzzificazione trasforma l'insieme fuzzy ottenuto in unvalore appartenente al suo dominio.

Page 19: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Vediamo un'applicazione

● https://www.youtube.com/watch?v=YjL7Vgizz6U

● http://www.markbowers.org/more-projects#/levitating-ball/

Page 20: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Fuzzy State Machine

Page 21: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Fuzzy State Machines

● Gli automi a stati finiti sono un buon modello per l'AI neivideogiochi, in quanto offrono insieme semplicità diimplementazione e performance elevate.

● Il loro limite consiste negli stati discreti che rendono ilcomportamento dei personaggi prevedibile e poco naturale

● Gli automi a stati fuzzy (FuSM) permettono di migliorareentrambe le situazioni perdendo poco in semplicità diimplementazione e velocità di calcolo.

Page 22: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Due estensioni Fuzzy

● STATI FUZZY (FuSM):

L'automa può trovarsi in più di uno stato con diversi gradiper ciascuno. Utile per modellare il comportamento o leemozioni dei personaggi.

● TRANSIONI FUZZY:

L'automa si trova in un solo stato alla volta, ma gli eventiinnescano più transizioni. Di queste può esserne sceltauna sola in base ai pesi assegnati o un fattore di casualità.Permette azioni impreviste e apprendimento.

Page 23: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Perchè usare FuSM in un gioco?

“FuSMs increase gameplay by providing for more interesting responses byNPCs, by enabling less predictable NPC behavior, and by expanding theoptions for choices to be made by the human player.

Thus, a player does not encounter an NPC that is just MAD or not MADabout being attacked by the player. Instead, the player must deal with anNPC that can be various degrees of being MAD. This broader array ofconsiderations increases gameplay by adding to the level of responses thatcan be developed for the NPC, and seen by the human player.

Another effect of adding FuSMs to computer games is to increase thereplayability of the game. By broadening the range of responses andconditions that the player may encounter in given situations during thegame, the player will be more likely to experience different outcomes insimilar situations.”

- Eric Dybsand, Game Programming Gems 2

Page 24: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM - Idea

● Sono una generalizzazione degli FSA in cui l'appartenenzaad uno stato è fuzzy.

● Le transizioni sono rappresentate da regole fuzzy.

● Le transizioni ricevono un grado d'appartenenza.

● Una FuSM può trovarsi in più di uno stato in un datomomento, con diversi gradi per ciascuno stato.

Page 25: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM – Transizione 1

● Sia S = {S0, S

1, … , S

n} l'insieme degli stati.

● μ(Si) è il grado d'appartenenza allo stato S

i e ne

rappresenta il peso al tempo τ.

● Le transizioni sono rappresentate da regole del tipoif x is A then next state is S

i.

● Sia ti(j) una transizione da S

i a S

j, e μ(t

i(j)) il suo grado

d'appartenza al tempo τ.

● Sia μ'(Si) il grado d'appartenenza di S

i al tempo τ + 1.

Page 26: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM – Transizione 2

● Il contributo di ti(j) al nuovo stato S

j è dato da

μ(Si)μ(t

i(j)).

● Bisogna sommare i contributi delle transizioni da tutti glistati S

i con μ(S

i) > 0 per ottenere il nuovo grado

d'appartenenza a ciascuno stato μ'(Sj).

● I nuovi gradi d'appartenenza sono dati da:

μ '(S j)= ∑ti( j )∈T

μ(Si)μ( ti( j))

Page 27: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM - Problemi

● Considerando che μ(Si) ≤ 1 e μ(t

i(j)) ≤ 1, è possibile che la

FuSM degeneri producendo:

● E' anche possibile che in qualche momento

∑i=1

n

μ(Si)→0

∑i=1

n

μ(Si)>1.0

Page 28: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM - Restrizioni

● Per evitare la degenerazione di un FuSM bisogna imporredue vincoli:

1) La somma dei gradi d'appartenenza di tutti gli stati deveessere pari ad uno in qualsiasi istante di tempo.

2) La somma dei gradi d'appartenenza di tutte letransizioni che lasciano uno stato deve essere pari ad uno.

∑i=1

n

μ(Si)=1

∑ti( x)∈T i

μ(ti(x ))=1

Page 29: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM - Soluzioni

● Cosa fare se la somma delle transizioni è maggiore di 1.0?Normalizzazione:

● Che fare se è < 1.0? La differenza deve restare nello stato,in modo simile ad una transizione verso se stesso equesto contributo sarà pari a:

μ(t i( j))=μ(t i( j))

∑t∈T i

μ(t)

μ(Si)⋅(1.0− ∑ti( j )∈T i

μ (ti(x )))

Page 30: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

PRO e CONTRO

Vantaggi

● Semplicità del modello edell'implementazione

● Computazionalmentesemplice

● Regole non sequenziali

● Utilizzabili perl'apprendimento

● Utili anche per modellinon-lineari

Svantaggi

● Molti agenti richiedonocentinaia di regole davalutare

● Necessita di unaknowledge base

● Esplosione combinatoria

Page 31: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

FuSM e videogiochi

Le FuSM sono state usate nei seguenti giochi:

● S.W.A.T. 2: personalità dei personaggi

● Civilization: Call to Power: priorità strategiche

● Enemy Nations: modello dell'AI

● The Sims: personalità dei personaggi e interazione conoggetti.

Michele Pirovano, The use of Fuzzy Logic for Artificial Intelligence in Games, 2012.

Page 32: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

GROUP DECISION MAKING

Page 33: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

GDM – Cos'è?

● E' il processo cognitivo di prendere le decisioni all'internodi un gruppo.

● Argomento multidisciplinare.

● Applicazioni in informatica e intelligenza artificiale.

● Campo molto vasto, noi vedremo solo un'applicazione cheriguarda il “soft consensus”.

Page 34: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Soft Consensus

● Consenso non unanime tra i decision-makers.

● Le preferenze tra le varie alternative sono espresse inmodo graduale.

● L'informazione è spesso incompleta.

● Vengono mutuate tecniche dalla logica fuzzy.

Page 35: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Opinione di maggioranza

● Il concetto di soft-consensus è legato a quello di opinionedi maggioranza.

● Ci sono vari metodi per trovare un valore rappresentativoper il gruppo.

● La tecnica usata e il significato che si dà a “maggioranza”influiscono molto sul risultato.

Page 36: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Ordered Weighted Average (OWA)

● Sia W = [w1,w

2, . . .,w

n] un vettore pesi tale che la somma sia

1, e sia A=[a1, a

2, …, a

n] un vettore di valori nell'intervallo

[0, 1] che indicano i valori di preferenza di n decisori.

● OWA(a1, a

2, …, a

n) = Σb

iw

i

dove bi è l'i-esimo elemento più grande a

j

● Ha bisogno di un quantificatore linguistico Q per calcolare ipesi.

● Il risultato è “la percentuale di criteri soddisfatti”.

Page 37: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Quantificatori linguistici

● Estensione dei quantificatori della logica classica.

● Permettono di riferirsi a un numero variabile di elementi diun insieme.

● Sono accompagnati da un'etichetta linguistica come “lamaggior parte”, “qualche”, “più o meno k”.

Page 38: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Calcolo dei pesi

● I pesi sono il parametro che determina la semanticadell'operatore.

● Vengono calcolati a partire dal quantificatore linguisticoassociato all'OWA.

w i=Q(i /n)−Q((i−1)/n)

Page 39: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Esempio

● Abbiamo 6 decisori con ilquantificatore linguisticoqua a destra.

● Le opinioni espresse sono:

[0.5, 0.3, 0.6, 1, 1, 0.1]

● Il prodotto scalare <B,W>produce 0.3980.

● Sembra un valoreragionevole?

● Si ordinano le opinioni inordine decrescente:

B=[1, 1, 0.6, 0.5, 0.3, 0.1]

● Si calcolano i pesi:

W=[0, 0, 0.2, 0.33, 0.33,0.14]

Page 40: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Induced Order WA (IOWA)

● Introduciamo un vettore I=[i1, i

2, …, i

n] di induzione. I valori

sono adesso delle coppie (ij, a

j).

● IOWA((i1,a

1), (i

2,a

2), …, (i

n,a

n)) = Σb

iw

i

dove bi è l'elemento a

j accoppiato all'i-esimo più grande i

j.

● Possiamo trovare un algoritmo che calcoli un vettore diinduzione che ci permetta di ottenere un risultatoespressione della maggioranza dei valori simili?

Page 41: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Algoritmo

● Scegliamo un valore α di “tolleranza”.

● Per ciascun valore calcoliamo un supporto si , che conta il

numero di valori simili a ai, cioè quelli che si trovano a una

distanza inferiore ad α.

● I=[s1 , s

2, …, s

n] è il vettore di induzione.

● Il vettore dei pesi W si calcola come prima.

● Dopo aver ottenuto B dall'ordinamento di A secondo I,calcoliamo il prodotto scalare <B, W>.

Page 42: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Esempio

● Scegliamo α=0.3

● A=[0.5, 0.3, 0.6, 1, 1, 0.1]

● I=[2, 3, 2, 1, 1, 1]

● Si ordinano le opinioni inordine crescente di I:

B=[0.1, 1, 1, 0.5, 0.6, 0.3]

● W=[0, 0, 0.2, 0.33, 0.33,0.14] come prima.

● Il prodotto scalare <B, W>produce 0.6050.

● Il risultato è maggiormenteinfluenzato dal “cluster” divalori simili [0.3, 0.5, 0.6].

● E' possibile pensare atecniche che modificano ilcalcolo di W o I per ottenererisultati ancora diversi,purché rappresentino unasemantica utile per ilcontesto.

Page 43: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Possibili applicazioni

● La teoria delle decisioni di gruppo non è limitata al solocaso di gruppi umani che devono prendere decisioni.

● Applicazioni nell'information retrieval (meta-search), mapuò essere usata in tutti quei casi in cui sono presentiagenti software multipli che calcolano un valore in modoapprossimato e bisogna decidere il valore più realistico.

Page 44: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Conclusioni

● La logica fuzzy può essere usata in ambiti molto diversiper gestire informazioni in condizioni di incertezza.

● Non si esce – ovviamente - dai confini del calcolabile, maessa fornisce un framework matematico che permette ditrovare soluzioni approssimate per problemi altrimenti“difficili”.

● Dalla logica fuzzy è nato un settore di ricerca, ancora inpieno sviluppo, chiamato “Soft Computing”, che permettela modellizzazione di problemi difficili attraverso tecnicheeuristiche o di approssimazione.

Page 45: Logica fuzzy: fondamenti e alcune applicazioniinfoteorica.weebly.com/.../17895653/mattia_di_gangi_-_logica_fuzzy.pdf · Estensione dei quantificatori della logica classica. Permettono

Gr az i e per l ' at t enz i one