Sistemi a Logica Fuzzy |
|
I
sistemi che utilizzano la cosiddetta Fuzzy Logic, o logica sfumata,
permettono di elaborare soluzioni partendo da dati imprecisi, sfumati,
parziali, vaghi.
Le
caratteristiche di questi sistemi sono:
-
Una struttura trasparente;
-
Regole
di tipo simbolico come base;
-
Robustezza
computazionale;
-
Flessibilità nelle risposte date in output;
-
Una
memoria associativa tra input ed output.
Sono
usati nella risoluzione di problemi complessi, mal formalizzati o che
presentano dati a spettro continuo di difficile categorizzazione all'interno
di un sistema matematico. Problemi che richiedono soluzioni flessibili
da parte di esperti aventi una conoscenza appropriata ma soggettiva.
Per
poter meglio comprendere questi sistemi analizziamo più in profondità
la logica su cui si basano.
La
logica fuzzy può essere definita in contrapposizione alla logica
tradizionale. La logica bivalente vede il mondo in bianco o in nero,
pieno o vuoto, dolce o amaro, freddo o caldo, cattivo o buono ecc. La
logica fuzzy invece è polivalente e vede il mondo a colori, in
uno spettro di tonalità diverse, che variano in modo continuo
tra i vari estremi sopra esemplificati.
La
Fuzzy Logic si conforma al mondo reale in modo più flessibile
ed appropriato. (Cammarata, 1994). Pensiamo, per esempio, ad una mela.
Prendiamone un boccone. E' ancora una mela? Boccone dopo boccone finiamola.
La mela è mutata da una cosa ad una non-cosa, in nulla. Ma dove
ha oltrepassato la linea di demarcazione fra mela e non-mela? Quando
ne teniamo in mano metà, questa è tanto mela quanto non-mela.
La mezza mela mette in crisi la demarcazione in termini di tutto o nulla,
è una mela fuzzy, è il grigio fra il bianco e il nero:
il fuzzy è chiaroscuro. (Kosko, 1993).
Nella
logica polivalente, o fuzzy, non hanno più ragion d'essere i
principi della logica bivalente: il principio di non contraddizione
e il principio del terzo escluso.
Il principio di non contraddizione, afferma che un elemento (x)
non può appartenere contemporaneamente ad un insieme P e alla
sua negazione (P e Pc). La loro intersezione è l'insieme vuoto
di tutti gli elementi a valore zero, cioè: I (Ø, x) =
0.
Il principio del terzo escluso afferma che l'unione di un insieme
e del suo complemento produce l'insieme universo X al quale qualsiasi
elemento appartiene, cioè: (P o PC) = X
LA TEORIA DELLA LOGICA FUZZY 
La
logica fuzzy permette di descrivere meglio le situazioni reali. Infatti,
mentre la logica binaria descrive solo eventi che si realizzano integralmente
o per nulla, occupandosi di ciò che è completamente vero
e di ciò che è completamente falso, la logica fuzzy descrive
eventi che si realizzano in una certa misura. Il vero e il falso, dunque,
diventano due casi estremi del possibile.
Il
ragionamento matematico tradizionale usa i numeri come appartenenti
o non appartenenti ad un insieme, mentre i numeri fuzzy possono appartenere
in una certa misura ad un insieme e, in una certa misura, ad un altro.
La
logica classica si basa su valori discreti binari (BIT) che possono
assumere valore 0 o 1. La logica fuzzy si basa invece su valori continui
(FIT), e questo le permette di adattarsi meglio alla realtà e
a ciò che viene descritto in termini linguistici.
Kosko
(1995) spiega che si può lavorare con i FIT esattamente come
si lavora con i BIT: basta non approssimarli. A tal proposito egli introduce
il concetto di Entropia Fuzzy. Le sfumature di grigio derivano dalla
sovrapposizione di A e NON-A; come da essa vengono anche il senso comune,
la saggezza e la confusione.
L'entropia
fuzzy traspone queste idee in equazioni, vale a dire in una forma che
non avevano mai assunto prima. Misura l'ombra che un insieme fuzzy getta
su un numero matematico. La polarità che differenzia la logica
tradizionale bivalente da quella fuzzy, può essere così
sintetizzata (tratto da Kosko, 1995):
BIVALENZA |
POLIVALENZA |
Aristotele |
Buddha |
A o
non-A |
A e
non-A |
Esatto |
Parziale |
Tutto
o Nulla |
In
una certa misura |
0 o
1 |
Spazio
Continuo |
Elaboratore
Digitale |
Rete
Neurale |
Fortran |
Lnguaggio
Naturale |
BITS |
FITS |
IL
METODO FUZZY 
Una
regola fuzzy definisce una toppa fuzzy. Toppe e gradazioni di grigio
sono le due idee chiave della logica fuzzy; esse collegano il
senso comune a una geometria semplice e aiutano a cavare la conoscenza
fuori dalle teste e a trasferirla sulla carta e nei computer.
Per
costruire un sistema fuzzy dobbiamo compiere tre passi.
-
Il primo passo consiste nel definire i nomi o variabili"
Chiamiamo
X l'input immesso nel sistema, Y l'output.
Input
e output; se X allora Y; causa, effetto; stimolo, reazione; domanda,
risposta. Supponiamo di voler controllare un condizionatore d'aria.
Sia X la temperatura in gradi Fahrenheit, Y la variazione della velocità
del motore del condizionatore.
Quello
che noi vogliamo è un aumento della velocità del motore
quando fa più caldo e una diminuzione quando fa freddo.
-
Il secondo passo consiste nel prendere gli insiemi fuzzy. Definiamo
i sottoinsiemi fuzzy dei nomi X e Y. Definiamo i cinque insiemi fuzzy su X come: FREDDA, FRESCA, BUONA, CALDA, CALDISSIMA. Tracciamoli
come curve o triangoli.
Abbiamo
disegnato gli insiemi FREDDA e CALDISSIMA come "mezzi" triangoli,
ma possono ancora contare come triangoli "interi" poiché
si possono sempre tracciare le metà mancanti. Non importerà
farlo dal momento che giacciono fuori dell'intervallo della temperatura.
Gli insiemi più ampi sono i meno importanti, quelli che forniscono
soltanto un controllo approssimativo. Per controlli più raffinati
occorrono insiemi più ridotti.
L'insieme
BUONA copre le temperature desiderate vicine ai 650. Noi desideriamo
che il sistema di controllo ci porti rapidamente fuori da "caldissima"
o da "fredda" e si focalizzi in maniera accurata su quello
che avverte come "buona". Ciò consente di evitare le
brusche "sopra-" e "sotto-regolazioni" che abbiamo
coi condizionatori d'aria delle auto o delle case o con la maggior parte
dei regolatori di tipo dicotomico, dai sistemi di controllo di crociera
ai forni a microonde.
Successivamente
tracciamo sulla velocità del motore i cinque insiemi fuzzy NULLA, BASSA, REGOLARE, ALTA, MASSIMA. La velocità del motore
è indicata coi numeri da 0 a 100.
Questi
numeri possono rappresentare la corrente elettrica che giunge al motore
o i giri al minuto del motore o della ventola. L'insieme REGOLARE viene
tracciato come un triangolo piccolo per ottenere un controllo più
preciso intorno alla velocità desiderata.
Il terzo passo consiste nel definire le regole fuzzy. In questa
fase si associano gli insiemi della velocità del motore a quelli
della temperatura. Occorre assegnare un insieme di velocità a
ciascun insieme di temperatura.
Noi
vogliamo che il motore si spenga se l'aria è troppo fredda. Il
condizionatore dovrebbe cambiare la velocità del motore in modo
da mantenere la temperatura buona, cioè:
SE
X è FREDDA, ALLORA Y è NULLA
Il
motore dovrebbe appena andare se l'aria diventa fresca:
SE
X è FRESCA, ALLORA Y è BASSA
Il
motore dovrebbe funzionare a velocità REGOLARE quando l'aria
è buona:
SE
X è BUONA, ALLORA Y è REGOLARE
La
velocità dovrebbe aumentare quando l'aria diventa calda:
SE
X è CALDA, ALLORA Y è ALTA
Infine
il motore dovrebbe andare al massimo quando l'aria diventa caldissima:
SE
X è CALDISSIMA ALLORA Y è MASSIMA
Ciò
dà cinque regole che espresse a parole recitano:
Regola
1: Se la temperatura è fredda, la velocità del motore
è nulla.
Regola
2: Se la temperatura è fresca, la velocità del motore
è bassa.
Regola
3: Se la temperatura è buona, la velocità del motore
è regolare.
Regola
4: Se la temperatura è calda, la velocità del motore
è alta.
Regola
5: Se la temperatura è caldissima, la velocità del
motore è massima.
Queste
regole sono soltanto buon senso e sono fuzzy poiché i termini
"fredda", "alta" ecc. sono una questione di misura
e rappresentano insiemi fuzzy. Li abbiamo collegati a insiemi fuzzy
definiti su numeri, il che collega parole e matematica, e dove c'è
matematica c'è geometria.
A che cosa somigliano le regole fuzzy? Somigliano a toppe.
Quando
incrociamo un triangolo con un altro triangolo otteniamo una toppa.
Allorché
gli insiemi sono "calda" e "alta" si ha la regola
4:
Se la temperatura è calda, la velocità del motore è
alta. E la regola è una toppa.
In
matematica questa toppa viene detta il prodotto matematico di due triangoli.
Che
cos'è il prodotto matematico di due segmenti di linea? Un quadrato
o un rettangolo. Poniamo mente per un minuto ai prodotti matematici
allo scopo di formare la nostra intuizione come facciamo nel campo della
topologia algebrica. Che cosa è il prodotto matematico di tre
segmenti lineari? Una scatola solida ossia un cubo. E a ciò è
anche uguale il prodotto matematico di un quadrato solido per un segmento
di linea. E ora ecco la domanda difficile: che cos'è il prodotto
matematico di una circonferenza per un disco solido? Una ciambella,
un anello di fumo o un "toro".
Possiamo
farcene un'idea roteando una racchetta da tennis in circolo. Se si incrocia
soltanto una circonferenza con un altra circonferenza si ottiene la
pelle ossia la superficie di un toro, una ciambella senza calorie.
Se
incrociamo una punta o un punto con una punta otteniamo un punto. Cosicché
le regole bivalenti definiscono punti. Definiscono toppe che si sono
ridotte a punti, ed è arduo rendere FAT un sistema con pochi
punti.
Si
è disegnato la toppa-regola come un rettangolo. Un rettangolo
deriva dal prodotto matematico di due segmenti di retta, il primo segmento
rettilineo è la base del triangolo CALDA, il secondo è
la base del triangolo ALTA. Questo è quello che si è tracciato.
La
vera regola-toppa è una figura tridimensionale e difficile da
tracciare sulla pagina. Assomiglia a una tenda con quattro paletti inclinati
sui lati e un solo paletto alto piantato dritto nel centro. Ciascun
punto del pavimento della tenda è una coppia di numeri X-Y, una
misura della temperatura e della velocità del motore. L'altezza
della tenda ci dice la misura in cui la coppia di numeri appartiene
alla regola toppa. Soltanto il punto centrale le appartiene al 100%,
mentre gli altri punti le appartengono in misure inferiori. Tutti gli
altri punti fuori del pavimento della tenda le appartengono allo 0%.
Scriviamo
il prodotto matematico di CALDA e ALTA come CALDA x ALTA, esattamente
come scriveremmo il prodotto di due numeri. Lo stesso dicasi per le
altre quattro regole.
Scriveremo
perciò:
REGOLA
1: FREDDA x NULLA;
REGOLA
2: FRESCA x BASSA;
REGOLA
3: BUONA x REGOLARE;
REGOLA
5: CALDISSIMA x MASSIMA.
Siamo
partiti con parole o idee e abbiamo terminato con la geometria. In primo
luogo ci sono venute in mente le regole del senso comune formulate in
parole. Poi le abbiamo collegate a insiemi fu zzy, il che ci
ha dato i nomi delle toppe come CALDA x ALTA e CALDISSIMA x MASSIMA.
Infine abbiamo disegnato le toppe. Ciò vuol dire che possiamo
disegnare o vedere il sistema fuzzy come cinque toppe che si
sovrappongono, cioè:
Ora
il sistema diventa FAT. Considerando come le toppe si giustappongono,
si nota che esse coprono qualcosa, una linea che corre da sinistra in
basso a destra in alto. Coprono molte linee, un sistema lineare. Raddoppiando
l'input si raddoppia l'output. Triplicando l'input si triplica l'output,
e così via. Il nostro sistema fuzzy è non lineare, ma
approssima un sistema lineare.
Si
è scelto un problema di controllo piccolo o semplice e per risolverlo
si è costruito un piccolo sistema fuzzy. I sistemi lineari corrispondono
ai problemi semplificati e ideali previsti dalla scienza ma, nonostante
ciò, la maggioranza degli scienziati tratta i sistemi reali come
se fossero lineari. Ciò accade perché la matematica che
conosciamo è poca rispetto alla complessità del mondo
reale. I sistemi fuzzy ci consentono di fare congetture conformi
al mondo non lineare ma senza un modello matematico del mondo.
Non
abbiamo infatti scritto nessuna equazione relativa al nostro condizionatore
d'aria. E’ qui che i sistemi fuzzy rompono con la vecchia scienza. Il
termine tecnico che indica questo carattere è valutazione o approssimazione a-mode/listica (model-free); ed è questa la "'valutazione"
che facciamo ogni volta che facciamo marcia indietro con la macchina,
che riusciamo a prendere una palla veloce o che guardiamo un'immagine
televisiva vedendo qualcosa nel cervello.
Si
può comprendere questo punto osservando le seguenti figure:
L'idea
è che le toppe fuzzy possono ricoprire ogni curva per quanto
serpeggiante. L'andamento serpeggiante significa che il sistema è
non lineare, mentre una curva diritta significa che è lineare.
APPLICAZIONI DELLA LOGICA FUZZY 
Nel
1985 l'Hitachi Corporation, con la costruzione di un controllore fuzzy
per la gestione della metropolitana di Sendai, realizza la prima applicazione
pratica della logica fuzzy.
Attualmente
si assiste ad un moltiplicarsi di queste applicazioni in vari settori:
dal controllo d'impianti e processi industriali, alla gestione di vari
utensili domestici, alla regolazione automatica di videocamere, al controllo
della frenatura di veicoli.
Di
particolare interesse sono le applicazioni ai software diagnostici,
come ad esempio, il sistema decisionale per la diagnosi medica realizzato
dalla Ormon che in base ad 800 regole fuzzy suggerisce piani personalizzati
per la prevenzione di malattie, per la riduzione dello stress e per
il mantenimento della forma fisica.
E'
importante mettere in evidenza che il maggior utilizzo della logica
fuzzy si realizza in Giappone, forse perché la mentalità
orientale e la filosofia buddista sono più recettive nei confronti
della logica sfumata di quanto non lo sia la mentalità occidentale
ancora fortemente legata alla logica aristotelica.
|