Soft Computing Fuzzy Logic Alessandro Mazzetti
Definizione Soft Computing Fuzzy Logic Reti Neurali Algoritmi Genetici 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 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 E falso = MIN(0,0) = 0 = falso falso E vero = MIN(0,1) = 0 = falso vero E falso = MIN(1,0) = 0 = falso vero E vero = MIN(1,1) = 1 = 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 ... se fase=discesa e va=lenta e è=lontana_davanti se è=dietro
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