Fuzziness: sorellastra dell’incertezza o primadonna ? Pietro Baroni Dip. di Elettronica per l’Automazione Università di Brescia Un termine fuzzy 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 0 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 0 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 0 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 0 15 18 28 35 Fuzzy set su dominio continuo Fuzzy set su dominio discreto Fuzzy set su dominio discreto 1 0 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 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 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” L’imprecisione Proposizione + Valore di verità Soggetto + Attributo + Set di valori ammissibili (qualitativi o quantitativi) {TRUE, FALSE} La vaghezza (fuzziness) Proposizione + Valore di verità Soggetto + Attributo +Valore attributo (qualitativo) [0, 1] (o un altro set ordinato con più di due elementi) 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à ? Potabile(B) = 0.4 P(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 Fuzzy set Defuzzificatore Fuzzy inference Regole Fuzzy Fuzzy set 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 0 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 0 18 14 16 30 40 55 65 70 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) ] xX 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