Soft Computing Fuzzy Logic Alessandro Mazzetti. Definizione Soft Computing –elaborazione graduale...

Post on 01-May-2015

218 views 0 download

Transcript of Soft Computing Fuzzy Logic Alessandro Mazzetti. Definizione Soft Computing –elaborazione graduale...

Soft ComputingFuzzy 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' frescaALLORA il ventilatore deve andare veloce

Ragionamento Fuzzyevidenza 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 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 fuzzyse fase=salita e va=lenta e è=lontana_davanti allora movimento=avvicinati_lentose fase=salita e va=lenta e è=vicina_davanti allora movimento=allontanati_lentose fase=salita e va=veloce e è=lontana_davanti allora movimento=fermose fase=salita e va=veloce e è=vicina_davanti allora movimento=allontanati_veloce

se fase=cresta e va=lenta e è=lontana_davanti allora movimento=avvicinati_velocese 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