Prefazione
2
utilizzare metodi analitici. La temperatura, poi, è
funzione di più variabili deterministiche e aleatorie.
Si tratta quindi di un tipico problema di previsione di
serie temporali, che si presta ad essere risolto con
tecniche fuzzy e neurali
Il contenuto della tesi è articolato come segue. Nel primo
capitolo sono fornite le nozioni elementari su cui si fonda
la logica fuzzy. Viene illustrata la filosofia di questa
logica,detta anche del “forse”, si delineano le
caratteristiche degli insiemi fuzzy e si deescrivono le
operazioni su di essi. Si affrontano poi,i problemi
riguardoalle implicazioni logiche fuzzy. Nel secondo
capitolo viene introdotto il sistema a logica e descritto in
tutte le sue parti che lo compongono. Il terzo capitolo
riprende i concetti di base delle reti neurali e le loro
tecniche di addestramento, per altro applicabili anche ai
sistemi a logica fuzzy. Nel quarto capitolo viene
illustrata la realizzazione del sistema a logica
fuzzy,dedicato al problema della previsione della
formazione di ghiaccio sul manto stradale, insieme al
programma FUZZY.EXE che ne costituisce la
implementazione. Infine nel quinto capitolo sono
riportati i risultati ottenuti sia con il sistema a logica
Prefazione
3
fuzzy che con la rete neurale, per effettuarne un
confronto.
Ringraziamenti
4
Ringraziamenti
Particolari ringraziamenti vanno ai relatori Prof. Ing. Stefano
Manetti, Prof. Ing. Antonino Liberatore, e al correlatore Ing.
Giulio Fedi, senza i quali questo progetto non esisterebbe, per il
loro costante e paziente aiuto fornito durante tutta le
realizzazione e stesura della tesi.
Un mio personale ringraziamento al Prof. Manetti ed al
correlatore e amico Ing. Fedi, per la stima dimostrata nei miei
confronti e per il clima di grande serenità, collaborazione e
disponibilità in cui mi hanno permesso di lavorare in questi mesi.
Infine, ringraziamenti anche ai miei genitori, che mi hanno
consentito di intraprendere e di portare a termine gli studi
universitari.
Principali aspetti della logica Fuzzy
5
1. Principali aspetti della logica Fuzzy.
1.1 La logica Fuzzy e il Sistema a Logica Fuzzy.
Nell’affrontare un’ problema esistono solitamente
due tipi di approccio:
1) Approccio oggettivo che è sempre usato nella
formulazione di problemi ingegneristici;
2) Approccio soggettivo che rappresenta
l’informazione linguistica, usualmente impossibile da
quantificare in formule matematiche.
Esempi di approccio oggettivo sono: equazioni del
moto di un grave, di un robot, modelli che descrivono
canali di comunicazione; oppure ben precise distribuzioni
statistiche.
Un esempio di approccio soggettivo è la seguente
regola che potrebbe essere valida per inseguire un
Principali aspetti della logica Fuzzy
6
sottomarino o qualsiasi altro grosso oggetto che si muove
lentamente: “Se si conosce la posizione di un obbiettivo
ad un certo istante, allora all’istante successivo la nuova
posizione non sarà troppo distante dalla precedente”.
Solitamente l’approccio soggettivo viene ignorato
nell’ambito di progetti ingegneristici, ma è
frequentemente usato per valutazioni di massima.
I due tipi di approccio possono essere coordinati
insieme usando la Logica Fuzzy (LF). Per inciso fuzzy
significa confuso, sfuocato ed il perchè dell’uso di questo
termine verrà compreso più avanti.
Le regole verranno estratte da dati numerici e
combinate con informazioni linguistiche.
La maggior parte della letteratura che tratta di logica
fuzzy considera delle mappature da insiemi fuzzy, in
insiemi fuzzy (vedremo in seguito cosa si intende per
insieme fuzzy).
Nelle applicazioni ingegneristiche siamo interessati
però a mappature da numeri in numeri; conseguentemente
il problema diviene più complesso.
E’ necessario per questo aggiungere un codificatore
di tipo fuzzy (fuzzifier o fuzzificatore) ed un
decodificatore di tipo fuzzy (defuzzifier o
defuzzificatore), alla classica struttura della logica fuzzy.
Principali aspetti della logica Fuzzy
7
Si ottiene così il Sistema a Logica Fuzzy (Fuzzy Logic
System (FLS)).In generale, un FLS è una mappatura non
lineare di un vettore di ingresso di dati, in un valore
scalare di uscita. La varietà della LF è tale che esistono
molti gradi di libertà nell’implementazione di un FLS.
Bisogna dire inoltre che largo uso viene fatto di
contesti fuzzy anche per termini che richiedono “valori
ben precisi” (Crisp). Per esempio consideriamo il termine
stabilità: un sistema o è stabile o non lo è; tuttavia se il
sistema è stabile, descriviamo frequentemente il tipo di
stabilità usando uno dei termini riportati a pagina
seguente in tabella 1.1.
Questi termini possono essere più significativi che la
seguente descrizione: “Il sistema ha quattro poli
complessi e l’effettivo rapporto di smorzamento è 0.3”.
Descrivendo la risposta di tale sistema come
“leggermente smorzato” non facciamo altro che
fuzzificare il valore preciso 0.3 nell’insieme fuzzy
“leggermente smorzato”.
Principali aspetti della logica Fuzzy
8
Termine Uso Contestuale
larghezza di banda banda stretta, banda larga
correlazione bassa, alta, media
errore grande, piccolo, quasi zero
frequenza altissima, alta, bassa, bassissima
risoluzione alta, bassa
stabilità stabile (leggermente smorzato,
altamente smorzato, criticamente
smorzato), instabile
Tab.1.1: termini ingegneristici usati spesso in contesti fuzzy.
In figura 1.1 è rappresentato un FLS che è
largamente usato in controllori a logica fuzzy.
Fig.1.1: Struttura di un FLS.
Un Sistema a logica fuzzy mappa valori di ingresso
crisp (ben precisi) in valori di uscita crisp. Esso è
Principali aspetti della logica Fuzzy
9
composto da quattro parti principali: rules, fuzzifier,
inference engine e defuzzifier.
Una volta che le regole sono state stabilite un FLS
puo essere visto come una mappatura di ingressi in uscite
e questa mappatura può essere espressa quantitativamente
come y=f(x).
Regole possono essere fornite da esperti oppure
possono essere estratte da dati numerici. In ogni caso
queste rules sono espresse nella forma di affermazioni
SE-ALLORA.
Per esempio: “SE u1 è molto caldo ed u2 è
abbastanza basso ALLORA v è piuttosto a destra”.
Questa regola rivela che c’è bisogno di conoscere:
1) variabili linguistiche invece di valori numerici di
una variabile (molto caldo invece di 36°C);
2) quantificazione delle variabili linguistiche (per
esempio u1 puo avere un numero finito di termini
linguistici associati che vanno da estremamente caldo a
estremamente freddo), che è fatta usando funzioni
caratteristiche fuzzy (fuzzy membership functions);
3) connessione logica fra variabili linguistiche (per
esempio “and” e “or”);
4) implicazioni, cioè SE a ALLORA b;
5) come combinare più che una regola.
Principali aspetti della logica Fuzzy
10
Il fuzzificatore effettua una trasformazione da numeri
crisp in insiemi fuzzy.
Esso è necessario per attivare le regole che sono
sottoforma linguistica e che sono associate con insiemi
fuzzy.
The motore inferenza (inference engine) del FLS
mappa insiemi fuzzy in insiemi fuzzy.
La sua funzione è quella di combinare tra loro le
regole che sono state attivate dal fuzzificatore. Così come
noi usiamo molti tipi differenti di procedure deduttive per
capire le cose o prendere delle decisioni, così ci sono
molte maniere di combinare tra loro le regole anche se in
pratica poi quelle di uso comune sono poche.
Infine il defuzzificatore (IF-THEN) mappa insiemi
fuzzy in numeri crisp.
Nelle applicazioni di controlli, per esempio, tali
numeri corrispondono a un azione di controllo. Nelle
elaborazioni di segnali invece tali numeri potrebbero
corrispondere a previsioni finanziarie o alla
localizzazione di obbiettivi.[Me95]
Principali aspetti della logica Fuzzy
11
1.2 Insiemi Crisp e insiemi Fuzzy.
Un insieme crisp A nell’universo dei discorsi U (che
è l’insieme di tutti i valori permessi da una variabile) può
essere definito dichiarando tutti i suoi membri o
identificando tutti gli elementi x⊂ A. Così A può essere
definito come:
A={ x|x rispetta qualche condizione}
Alternativamente possiamo introdurre una zero-uno
membership function (chiamata anche funzione
caratteristica o funzione discriminante) per A,
rappresentata da m
A
(x), tale che m
A
(x)=1 se x∈ A e m
A
(x)=0
se x∉ A.
Il sottoinsieme A è matematicamente equivalente alla
sua funzione caratteristica m
A
(x) nel senso che conoscere
m
A
(x) è equivalente a conoscere A stesso.
Facciamo un esempio: consideriamo l’insieme di
tutte le automobili di Firenze e indichiamolo con U.
Nell’insieme U possono essere definiti dei
sottoinsiemi come quelli che sono riportati in figura 1.2.
Quindi una macchina può avere o non avere quattro
cilindri e se li ha, il valore della sua funzione
Principali aspetti della logica Fuzzy
12
caratteristica sarà 1 per il sottoinsieme dei quattro
cilindri e zero altrove.
Fig.1.2.: Partizione dell’insieme delle automobili circolanti a Firenze,
secondo: (a) colore, (b) fabbricazione, (c) n° cilindri.
Un insieme fuzzy F nell’universo dei discorsi U è
caratterizzato da una funzione caratteristica m
F
(x) che
può essere qualunque valore reale nell’intervallo[0,1].
Un insieme fuzzy è una generalizzazione di un
ordinario sottoinsieme la cui funzione caratteristica può
essere 0 oppure 1.
Dunque una membership function o funzione
caratteristica fornisce una misura del grado di similarità
di un elemento in U col sottoinsieme fuzzy.
Esempio:
Una macchina può essere considerata italiana o
straniera a seconda delle prospettive.
Una prospettiva è che una macchina è italiana se ha
un marchio di una industria italiana, altrimenti è
straniera.
Principali aspetti della logica Fuzzy
13
Tuttavia la distinzione tra italiana o straniera non è
oggi così netta (crisp), poichè molti dei componenti che
costituiscono un auto italiana sono fatti all’estero e
viceversa.
Conseguentemente gli insiemi fuzzy, automobili
italiane e automobili straniere, saranno contraddistinti
dalle rispettive funzioni caratteristiche m
I
(x) e m
S
(x) come
si può vedere in figura 1.3.
Fig.1.3.: Funzioni caratteristiche per automobili italiane e straniere,basate
sulla percentuale di parti dell’automobile costruite in Italia.
Si osservi che una specifica automobile (situata
lungo l’asse orizzontale che indica la percentuale di parti
fatte in Italia),può trovarsi in entrambi i sottoinsiemi
contemporaneamente (automobili italiane e automobili
straniere), ma con un differente valore o grado assunto
dalla propia funzione caratteristica.
Principali aspetti della logica Fuzzy
14
Per esempio, se la nostra automobile ha il 75% di
parti fatte in Italia,allora m
I
(75%)=0.9 e m
S
(75%)=0.25.
Lo scopo principale di questo esempio è di
dimostrare che nella logica fuzzy un elemento può
risiedere in più che in un sottoinsieme con più gradi di
similarità, cosa che non avviene nella logica crisp.
Un insieme fuzzy F in U potrebbe essere
rappresentato come un insieme di coppie ordinate di un
generico elemento x e del suo grado assunto dalla
funzione caratteristica:
F={(x,m
F
(x)) | x ∈ U}. Quando U è continuo, F è
comunemente scritto come F =
U
∫
m
F
(x)/x. In questa
equazione il segno di integrale non denota integrazione,
ma la raccolta di tutti i punti x∈ U con associata la
funzione caratteristica m
F
(x).
Quando invece U è discreto, F è comunemente scritto
come F=
U
∑
m
F
(x)/x, dove il simbolo di sommatoria
denota la raccolta di tutti i punti x∈ U con associata la
funzione caratteristica m
F
(x). Inoltre il segno di slash
nelle precedenti espressioni associa gli elementi in U con
il loro grado (valore assunto dalla funzione caratteristica
in corrispondenza di un elemento).[Me95]