fuzziness: sorellastra dellincertezza o primadonna ? pietro baroni dip. di elettronica per...
TRANSCRIPT
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
0
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
0 100
1
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} ??
0 28
1
18
Fuzzy set
Alcuni insiemi sono meglio definiti da funzioni di appartenenza continue, quindi anche il relativo predicato non è più booleano ma “fuzzy”
0 28
1
1815 35
Fuzzy set su dominio continuo
Fuzzy set su dominio discreto
Fuzzy set su dominio discreto
0
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 ~
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à
Bicchiere d’acqua estratto:
Potabile(B) = chi lo sa ? (dubbio tra 0 o 1 in questo caso)
P(Potabile, B) = 0.9
Estrazione
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
Fuzzificatore Defuzzificatore
ValoriInput
Fuzzy inference
ValoriOutput
RegoleFuzzy
Fuzzyset
Fuzzyset
Nel cuore della “fuzzy logic”
IF varI IS attrI ANDvarJ IS attrJ ORvarK IS attrk .....
THENoutZ 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 delleproposizioni fuzzy
varJ IS attrKun caso molto comune è quello in cuivarJ è una grandezza continua misurabile, mentre attrK è un attributo qualitativo.
Es. la temperatura è alta, la velocità è media, la tensione è bassa, Giorgio è alto
Definizione di una scala di valori qualitativi Definizione di per ciascun valore
Definizione delleproposizioni fuzzy
Bambino Giovane Adulto Anziano
0 1614 25 30 50 65
18
1
La definizione delle è un passaggio totalmente arbitrario che traduce una visione soggettiva del mondo
Definizione delleproposizioni fuzzy
Bambino Giovane Maturo Attempato
0 1614 3040 55 65
18
Adolescente
70
Vecchio1
Modificatori linguistici
moltoA (x) = (A(x))2
piùomenoA(x) = (A(x))1/2
25 35
1
CaldoMolto Caldo
Più o menoCaldo
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-functionalAd 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-normuna 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-normuna 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 diconclusioni 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 diconclusioni 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