Natural Computing

 

 

 

 

 

 

 

 
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.

  1. 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.

  2. 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.