Soft Computing
Fuzzy Logic
Alessandro Mazzetti
Definizione
• Soft Computing
– elaborazione “graduale” dell’informazione
• Fuzzy Logic
• Reti Neurali
• Algoritmi Genetici
Fuzzy Logic
• Logica in cui sono presi in considerazione i
valori intermedi fra il Vero ed il Falso
– Lofti Zadeh 1965 - Univ Calif. Berkeley
SE età_paziente < 25_anni ALLORA …
SE età_paziente = giovane ALLORA …
Fuzzy = sfumato, vago, sfocato, nebuloso
Insiemi Crisp e Fuzzy
Esempi
•
•
•
•
•
Velocità = alta/bassa
Posizione = lontano/prossimo/vicino
Temperatura = freddo/fresco/tiepido/caldo
Stagione= primavera/estate/autunno/inverno
…
Funzione di appartenenza
• Associa un valore al grado di appartenenza
o al grado di verità
25 anni = giovane al 60%
35 anni = giovane al 10%
adulto all’ 80%
anziano allo 0%
Funzioni di appartenenza
Terminologia
• Evidenza = grado di verità
• Descrittore/etichetta = “alto” / “basso” / …
• Ragionamento Fuzzy = ragionamento che
considera l’evidenza delle asserzioni
• Fuzzificazione = passare da un valore
numerico alla sua evidenza
• Defuzzificazione = passare da un’evidenza
ad un valore numerico
Esempio
SE il paziente ha poca febbre (evid=0.4)
E starnutisce frequentemente (evid=0.9)
E NON siamo in autunno (evid=0) O inverno (evid=0)
ALLORA il paziente ha il raffreddore da fieno (evid=?)
SE la temperatura della stanza e' tiepida
E la temperatura esterna e' fresca
ALLORA il ventilatore deve andare veloce
Ragionamento Fuzzy
evidenza di x E y = MINIMO fra
l'evidenza di x e l'evidenza di y
evidenza di x O y = MASSIMO fra
l'evidenza di x e l'evidenza di y
evidenza di NOT x = 1 - (evidenza di x)
data la regola SE y ALLORA x,
evidenza di x = evidenza di y
date piu' regole con lo stesso conseguente:
SE y1 ALLORA x
...
SE yN ALLORA x
evidenza di x = MASSIMO fra l'evidenze di y1,...,yN
Logica classica
• È un caso particolare della Logica Fuzzy
(il caso estremo)
falso
falso
vero
vero
E
E
E
E
falso
vero
falso
vero
=
=
=
=
MIN(0,0)
MIN(0,1)
MIN(1,0)
MIN(1,1)
=
=
=
=
0
0
0
1
=
=
=
=
falso
falso
falso
vero
Motore Inferenziale Fuzzy
Strutture dati
Esercizio
• Lanciare FUZZY.COM
• Provare a cambiare alcuni valori
• Ispezionare le regole e le funzioni
Caratteristiche
• Può coesistere il vero ed il falso
– il contrario del vero non è il falso
– “tanto” al 70% non implica “poco” al 30%
– la somma delle evidenze non deve dare 100%
• L’appartenenza dipende dal dominio
–
–
–
–
–
gravidanza a 35 anni = vecchia
artrite a 35 anni = giovane
35 anni = tennista vecchio, dirigente giovane
100 Km/h in città = veloce
100 Km/h in autostrada = lento
ATTENZIONE !
• Fuzzy diverso da Probabilità
• Fuzzy = informazione certa elaborata in
modo impreciso
• Probabilità = informazione mancante
– la probabilità che Paolo sia alto è 0.8
(non conosco Paolo)
– l’evidenza che Paolo sia alto è 0.8
(lo conosco, l’ho misurato, so che è alto ma non tanto)
Propagazione
• Propagazione delle probabilità:
– moltiplicazione
• Propagazione delle evidenze:
– minimo
• Probabilità del tutto
– 1 (o 100%)
• Evidenza del tutto
– dipende dall’appartenenza
ATTENZIONE !
•
•
•
•
Fuzzy non vuole dire incerto
Fuzzy non vuole dire aleatorio
Fuzzy = deterministico
ciò che è sfumato è la terminologia:
– grossolana per gli uomini
– ben precisa per il computer
Controllo Fuzzy
Controllo guidato da ragionamento anziché da funzioni matematiche
Esempio: prendere al volo una pallina (come fa un tennista)
Descrizione “logica”
della conoscenza
Quando la pallina e' in salita, il tennista deve portarsi senza
fretta nella zona dove potra' cadere, quindi dovra' stare lontano
se la pallina va veloce e a media distanza se va lenta.
Quando la pallina e' nella cresta della sua traiettoria, il tennista
deve muoversi piu' celermente, sempre nell'intento di portarsi in
zona.
Quando la pallina e' in discesa, il tennista deve soltanto
inseguirla, cioe' deve avvicinarsi, o star fermo se e' gia' vicino.
In ogni caso, se la pallina sorpassa il tennista, questo deve
inseguirla a gambe levate.
Regole per controllo fuzzy
se fase=salita e va=lenta e è=lontana_davanti
allora movimento=avvicinati_lento
se fase=salita e va=lenta e è=vicina_davanti
allora movimento=allontanati_lento
se fase=salita e va=veloce e è=lontana_davanti
allora movimento=fermo
se fase=salita e va=veloce e è=vicina_davanti
allora movimento=allontanati_veloce
se fase=cresta e va=lenta e è=lontana_davanti
allora movimento=avvicinati_veloce
se fase=cresta e va=lenta e è=vicina_davanti
allora movimento=fermo
...
se fase=discesa e va=lenta e è=lontana_davanti
allora movimento=avvicinati_veloce
...
se è=dietro
allora movimento=avvicinati_veloce
Defuzzificazione
Aggregazione delle evidenze
Il sistema all’opera
regola 1: se ... allora movimento=fermo (evid=0.10)
regola 2: se ... allora movimento=fermo (evid=0.18)
regola 3: se ... allora movimento=allontanati (evid=0.68)
regola 4: se ... allora movimento=allontanati (evid=0.20)
(0.18 * 0.0) + (0.68 * 2.365)
movimento = ----------------------------- = 1.87
0.18 + 0.68
Esercizio
• Lanciare il programma PALLINA.COM
• Ispezionare i dati
Campi d’applicazione
• presenza di dati a spettro continuo di difficile
categorizzazione
• problema ben padroneggiato ma mal formalizzato
• difficolta' nell'individuazione di un modello
matematico
• esigenza di una soluzione deterministica ma
elastica
• esistenza di esperti aventi una conoscenza
appropriata ma soggettiva
Applicazioni di successo
• messa a fuoco automatica per videocamera (Canon e Sanyo)
• compensazione di instabilita' di immagine in videocamere
(Panasonic)
• scelta del tipo di lavaggio per lavatrici domestiche (Matsushita)
• pilotaggio di condizionatori d'aria e scaldabagni (Mitsubishi)
• selezione del rapporto in cambi automatici automobilistici (Subaru)
• regolazione luminosita' in televisori (Sony)
• modulazione di potenza di motori di aspirapolveri (Matsushita)
• interpretazione caratteri manoscritti (Sony)
• controllo di fornace di cementifici
• pilotaggio dei freni nella metropolitana di Sendai
• controllo di ascensori
• supporto alle decisioni in campo medico
Scarica

Lezione Soft Comp