Fuzziness: sorellastra dell’incertezza o primadonna ? Pietro Baroni Dip. di Elettronica per l’Automazione Università di Brescia
Un termine fuzzy Incertezza ? Vaghezza Gradualità Verità parziale Logica multivalore Incertezza ?
Fuzzy storia Intuizioni sparse e isolate da circa un secolo Sistematizzazione by Zadeh (1965-...) Resistenze e scetticismo dagli inizi ai giorni nostri Salvata dai giapponesi ... Successo applicativo e commerciale Maturazione scientifica e tecnologica tuttora in corso
Fuzzy malintesi Fuzzy pensiero (B. Kosko) Fuzzy logic come tuttologia Tutto quello che si fa con i fuzzy si può fare con tecniche più tradizionali (e allora cosa avete aspettato fino adesso ?) La fuzzy logic non ha fondamenti teorici (centinaia di articoli teorici di illustri studiosi)
Fuzzy applicazioni Lavatrici Camcorder Cambio automatico Cementificio Metropolitana .............
Crisp set su dominio discreto
Crisp set su dominio discreto 1 Rossi Bianchi Verdi Baroni
Crisp set su dominio continuo
Crisp set Definizione tramite un predicato booleano {t | t > 0 AND t < 100} La funzione caratteristica e’ una funzione discontinua con soli due possibili valori 1 100
Inadeguatezza dei crisp set Non sempre i predicati booleani (e le funzioni discontinue) sono un buon modello della realtà Insieme delle temperature confortevoli {t | t > 18 AND t < 28} ?? 1 18 28
Fuzzy set Alcuni insiemi sono meglio definiti da funzioni di appartenenza continue, quindi anche il relativo predicato non è più booleano ma “fuzzy” 1 15 18 28 35
Fuzzy set su dominio continuo
Fuzzy set su dominio discreto
Fuzzy set su dominio discreto 1 Rossi Bianchi Verdi Baroni
In una parola ... Crisp set C: C: D {0, 1} C(x) è booleana Fuzzy set F: F: D [0...1] F(x) ha valori reali Un “piccolo” salto formale, un enorme salto concettuale
Operatori base sui fuzzy set Intersezione: A B(x) = min (A(x) , B(x)) Unione: A B(x) = max (A(x) , B(x)) Complemento Ã(x) = 1 - A(x)
Relazioni tra fuzzy set Equivalenza: A = B A(x) = B(x) xD Inclusione: A B A(x) < B(x) xD
Casi limite Appartenenza booleana all’universo: x, D(x) = 1 Definizione di insieme vuoto: x, (x) = 0 Vale che D ~
Sparisce il principio del terzo escluso (e di non contraddizione) Conferme e novità La doppia negazione rimane idempotente Rimangono le leggi di De Morgan ma A Ã D A Ã Sparisce il principio del terzo escluso (e di non contraddizione)
Che altro sui fuzzy set ? Fuzzy logic Fuzzy control Fuzzy numbers (circa 3 per circa 2 = ?) Fuzzy relations (1DM vale poco meno di 1000 £) Fuzzy matrici Fuzzy grafi Fuzzy regressione ..... Fuzzy logic Fuzzy control
Il mondo del vero e del falso E’ un modello del nostro modo di ragionare tra i più antichi ed influenti E’ palesemente inadeguato rispetto alla maggior parte dei problemi che quotidianamente affrontiamo
Il mondo del vero e del falso Proposizione + Valore di verità Soggetto + Attributo + Valore attributo (qualitativo o quantitativo) {TRUE, FALSE}
Lo schema base dell’inferenza Conoscenza universale “Gli uomini sono mortali” Conoscenza particolare “Socrate è uomo” Regola di inferenza Sillogismo Conclusione “Socrate è mortale”
Proposizione + Valore di verità L’imprecisione Proposizione + Valore di verità {TRUE, FALSE} Soggetto + Attributo + Set di valori ammissibili (qualitativi o quantitativi)
La vaghezza (fuzziness) Proposizione + Valore di verità Soggetto + Attributo +Valore attributo (qualitativo) [0, 1] (o un altro set ordinato con più di due elementi)
Proposizione + Valore di verità + Grado di convinzione L’incertezza Proposizione + Valore di verità + Grado di convinzione Il grado di convinzione è una proprietà della coppia proposizione-valore di verità Esso rappresenta uno stato mentale (“Quanto ci credo”) e non uno stato del mondo (“Quanto è vero”)
Fuzziness vs. Probabilità Bicchiere d’acqua di montagna: Potabile(B) = 1 P(Potabile, B) = 1
Fuzziness vs. Probabilità Bicchiere d’acqua di mare: Potabile(B) = 0.4 (o comunque minore di 1) P(Potabile, B) = 1
Fuzziness vs. Probabilità ? Estrazione Bicchiere d’acqua estratto: Potabile(B) = chi lo sa ? (dubbio tra 0 o 1 in questo caso) P(Potabile, B) = 0.9
Fuzziness vs. Probabilità ? P(Potabile, B) = 0.4 Potabile(B) = 0.4
Fuzziness vs. Probabilità: il caso più generale ? Estrazione Potabile(B) = chi lo sa ? (potrebbe essere 0, 0.4 o 1 in questo caso) P(Potabile(B) = 1) = 0.5 P(Potabile(B) = 0.4) = 0.2 P(Potabile(B) = 0) = 0.3
Fuzzy logic Narrow vs. broader sense Broader sense = tutto e niente Narrow sense = una logica multivalore che rappresenta il ragionamento in presenza di verità parziali (non di incertezza)
Un tipico schema Valori Input Valori Output Fuzzificatore Defuzzificatore Fuzzy inference Fuzzy set Fuzzy set Regole Fuzzy
Nel cuore della “fuzzy logic” IF varI IS attrI AND varJ IS attrJ OR varK IS attrk ..... THEN outZ IS attrZ
Proposizioni fuzzy Sono proposizioni il cui valore di verità è definito sull’intervallo [0 1] Tipicamente sono proposizioni di natura qualitativa: Mario è vecchio, Giorgio è furbo ... Il valore di verità può essere attribuito “direttamente” (per giudizio incondizionato) oppure ...
Definizione delle proposizioni fuzzy varJ IS attrK un caso molto comune è quello in cui varJ è una grandezza continua misurabile, mentre attrK è un attributo qualitativo. Es. la temperatura è alta, la velocità è media, la tensione è bassa, Giorgio è alto
Definizione delle proposizioni fuzzy Definizione di una scala di valori qualitativi Definizione di per ciascun valore Bambino Giovane Adulto Anziano 1 18 14 16 25 30 50 65
Definizione delle proposizioni fuzzy La definizione delle è un passaggio totalmente arbitrario che traduce una visione soggettiva del mondo Adolescente Bambino Giovane Maturo Attempato Vecchio 1 18 40 14 16 55 65 70 30
Modificatori linguistici moltoA (x) = (A(x))2 piùomenoA(x) = (A(x))1/2 1 Più o meno Caldo Caldo Molto Caldo 25 35
Connettivi AND e OR La logica fuzzy, essendo una logica multivalore non incerta è truth-functional: il valore di verità di una formula composta si può ricavare da quello dei componenti Al contrario, un teorema dimostra che qualunque quantificazione di incertezza non può essere truth-functional Ad esempio, P(A AND B) = P(A)*P(B) solo se A è indipendente da B
AND, OR, NOT: modello base AND = Intersezione: (A AND B) = min((A), (B)) OR = Unione: (A OR B) = max((A), (B)) NOT = Complemento (NOT A) = 1 - (A)
“Fuzzyficare” AND e OR Il concetto “booleano” di AND (tutte le componenti devono essere vere) si riflette nell’operatore min Il concetto “booleano” di OR (una sola componente deve essere vera) si riflette nell’operatore max Tra AND e OR “booleani” ci sono infiniti casi intermedi di connettivo: quasi tutte le componenti, molte, la maggioranza, alcune, poche ... Quindi, infinite funzioni possibili per AND e OR oltre a min e max
T-norm T-norm una funzione T: [0 1] X [0 1] [0 1] t.c. T(a, b) = T(b, a) T(a, b) T(c, d) IF a c AND b d T(a, T(b, c)) = T(T(a, b) , c) T(1, a) = a Min e prodotto sono esempi di T-norm
T-conorm (o S-norm) S-norm una funzione S: [0 1] X [0 1] [0 1] t.c. S(a, b) = S(b, a) S(a, b) S(c, d) IF a c AND b d S(a, S(b, c)) = S(S(a, b) , c) S(0, a) = a Max e (a + b - a*b) sono esempi di S-norm
T-norm e S-norm per AND e OR Esistono famiglie di infinite T-norm e S-norm legate da relazioni di dualità: T(a, b, ) = a*b max(a, b, S(a, b, ) = a +b - a*b - min(a, b, 1 - max(1 - a, 1 - b, Fissando si sceglie una coppia di operatori AND e OR (quasi tutti scelgono min e max)
Ma non è finita ... Estensione del concetto di media: OWA operators ...
Fuzzyficare il NOT Anche il concetto di negazione può essere “sfumato” Basta una funzione C: [0 1] [0 1] t.c. C(0) = 1, C(1) = 0 C(a) C(b) IF a < b Anche per la negazione esiste un’infinita scelta di operatori
Il passo di implicazione La regola IF x IS prem THEN y IS cons può essere vista come una fuzzy relation R: R(x,y) = F(prem(x) , cons(y)) In pratica per ogni valore di x, passando per prem(x) si stabilisce una funzione di adeguatezza di y (un’altra ) derivata da cons Poichè la premessa è fuzzy, l’attivazione della regola non richiede un matching preciso
Operatori di implicazione Come per AND e OR ci sono infinite scelte,pure l’implicazione ha svariate interpretazioni e diversi possibili operatori (Zadeh, Godel, Lukasiewicz, Mamdani ...) Di Mamdani ce ne sono due (molto usati perche’ semplici e ingegneristicamente sensati): Mam’(x,y) = min(prem(x) , cons(y)) Mam”(x,y) = prem(x) * cons(y)
Fuzzyficazione dell’input Il matching di un valore di input con la premessa può essere valutato in forma crisp (fuzzyficazione banale, la più comune) Si può passare dal valore di input a una m (tipicamente triangolare o gaussiana) e valutare il matching tra in input e della premessa
Generalized modus ponens input fuzzyficato: IN(x) regola: IF x IS prem THEN y IS cons risultato: OUT(y) derivata da IN(x), prem(x) , cons(y) OUT(y) = sup T[IN(x), R(x,y) ] x X
Generalized modus ponens In pratica, nel caso semplificato più comune: IN(x) = fuzzy singleton = k OUT(y) = R(k,y) A seconda della scelta di R OUT(y) = min(prem(k) , cons(y)) OUT(y) = prem(k) * cons(y)
L’aggregazione di conclusioni multiple Un valore di verità per una proposizione può venire derivato tramite più percorsi deduttivi Vale di nuovo il discorso di AND e OR generalizzati a seconda delle caratteristiche del ragionamento nel dominio (percorsi indipendenti oppure tutti necessari, che si corroborano ...) Una scelta molto comune è il max tra la varie risultanti
L’aggregazione di conclusioni multiple Un modo alternativo di procedere che ”previene” il problema dell’aggregazione di conclusioni multiple è combinare a priori le R delle regole con output comuni in un unico regolone globale Di nuovo si possono usare AND o OR generalizzati a seconda di come si veda la cosa
La defuzzyficazione dell’output L’implicazione e aggregazione fuzzy non producono un valore ma una funzione di appartenenza per una grandezza Dalla si può desiderare di ricavare un singolo valore di output Di nuovo, svariati diversi criteri sono possibili
Esempi di defuzzyficatori Max Media dei max Centroide della globale risultante Media dei centroidi delle dei conseguenti pesata sull’”altezza” dei punti centroidi stessi Media dei centroidi delle dei conseguenti pesata come sopra e anche sulla dispersione delle dei conseguenti
Fuzzy control Da tentare quando altre tecniche di controllo non sono utilizzabili: Modelli inesistenti, ma conoscenza di esperti disponibile Non-linearità Svariati parametri di ingresso
Perchè funziona ? Th: Qualsiasi funzione nonlineare continua può essere approssimata con precisione a piacere con un numero finito di variabili e regole fuzzy (per certi operatori) E’ un teorema di esistenza: garantisce che una buona soluzione fuzzy esiste (il che è confortante) ma non dà indicazioni su come costruirla (il che lascia spazio anche agli insuccessi e alle improvvisazioni)
Perchè usare proprio i fuzzy ? Rispetto ad altri “approssimatori universali” offrono il vantaggio esclusivo di offrire una forma naturale di rappresentazione della conoscenza empirica degli esperti Sono quindi “agevoli” da usare e decifrabili nei comportamenti I casi di successo sono numerosi e indiscutibili
Troppe scelte arbitrarie ? La definizione di un sistema fuzzy comprende un elevato numero di scelte soggettive (a volte implicite se si usano certe soluzioni scorciatoia standard) Il meccanismo è tendenzialmente piuttosto robusto rispetto a scelte diverse In altri approcci apparentemente più rigorosi certe scelte sono mascherate o forzate dalle ipotesi iniziali
Fuzzy diramazioni Senza incertezza Fuzzy control Fuzzy database Soft constraints Multicriteria decision making Con incertezza Possibility theory Gradual rules Fuzzy expert systems Fuzzy probability Fuzzy clustering Neuro-fuzzy