LOGICA "FUZZY"

I computer lavorano con numeri precisi e "ragionano" secondo regole precise. Questo può essere un grosso problema quando devono aver a che fare con dati (input) provenienti dal mondo esterno, poiché questi sono spesso imprecisi e nei "ragionamenti" si ha spesso a che fare con regole non completamente definite.
Nella logica classica un predicato (una frase) può essere o vera o falsa. Non esistono vie di mezzo. Un uomo è alto oppure no, un oggetto è rosso oppure no e così via.
Un tentativo di risolvere questo problema è stato proposto da Lotfi Zadeh, il padre della "logica fuzzy" (logica sfumata). La fuzzy logic è il tentativo di generalizzare la logica classica avvicinandola al modo di pensare umano. In logica fuzzy, dunque, non si specifica che un uomo misura 1.70 m. di altezza, bensì che "è alto" o "è basso" o, ancora, che è "abbastanza alto".
Gli estimatori della logica fuzzy insistono molto sulla sua facilità di utilizzo e sul fatto che si avvicina molto più al ragionamento umano rispetto alla logica classica. Avendo un computer che ragiona in questo modo, infatti, è facile per chiunque impartire ordini, perché per farlo è sufficiente conoscere il linguaggio naturale e non linguaggi di programmazione.

Gli insiemi fuzzy (fuzzy set)

Un insieme fuzzy è un'estensione dei normali insiemi a cui siamo abituati a pensare.
Un insieme è di solito un gruppo di "oggetti" che hanno qualcosa in comune. Mettiamo che esista un insieme "persone alte". Una persona, nella teoria degli insiemi classica, può appartenere a questo insieme, oppure no. Non esistono vie di mezzo.


Possiamo considerare un insieme come una "lista di appartenenze", così, nel caso in esempio, sarà "Paolo: sì; Luca: no; ecc.". Possiamo rappresentare questo con delle frecce verso l'insieme per le persone che appartengono all'insieme.



In un insieme fuzzy ad ogni persona verrebbe dato, al posto di una appartenenza completa o nulla, un cosiddetto "grado di appartenenza", che è un valore nell'intervallo [0 - 1] (che possiamo considerare una percentuale con 1 a rappresentare 100%, cioè appartenenza completa, e 0 che indica la non appartenenza). Dunque, ad esempio, una persona potrà appartenere all'insieme "persone alte" con grado di appartenenza 0.72 (oppure, che è lo stesso, 72%).

Il controllo fuzzy
Il "controllo fuzzy" (fuzzy control in inglese) è l'applicazione della logica fuzzy al controllo, cioè al comportamento di un agente che riceve certi input.
Le entità che hanno a che fare con un "controllo" sono generalmente gli ingressi (i sensori, gli input) e le azioni che possono essere intraprese in risposta a tali ingressi.
Nel controllo fuzzy gli ingressi sono input fuzzy, cioè non precisi. Dunque non avremo "la temperatura è 15°C", bensì "fa caldo", "fa molto caldo", ecc.
Tali input vengono processati usando le regole fuzzy (chiamate in inglese fuzzy rules, che possono essere descritte mediante un linguaggio naturale, ad esempio: "se fa caldo, abbassa la temperatura"), dopodiché il risultato di tutto il processo viene "defuzzificato" (cioè reso di nuovo un valore preciso) e l'output utilizzato per il controllo (ad esempio, appunto, abbassare la temperatura).
Dunque l'intero processo può essere riassunto in tre fasi principali: ricezione degli input fuzzy, processamento di tali input mediante regole fuzzy e creazione dell'output mediante "defuzzyficazione".
Il processo di controllo fuzzy può allora essere schematizzato come nella figura a lato, in cui per "output operativo" si intende un qualche valore preciso, comprensibile da un qualunque dispositivo elettronico, non più, dunque, un valore "linguistico" come "alto", "basso", "abbastanza", ecc. E' chiaro, infatti, che non si può dire ad un motore di accelerare "un po'", bisogna dargli un "ordine" preciso (cioè che specifichi "di quanto" accelerare).

[Scheda di Daniele Calisi - e-mail: madmage@iname.com
Sito di riferimento: Mindreamz]

Massimiliano Veronesi - Antonio Visioli, Logica fuzzy, Franco Angeli, Milano, 2003

Bart Kosko, La logica fuzzy, Baldini & Castoldi, Milano, 1995

Antonella Giulia Pizzaleo, Fuzzy logica. Come insegneremo alle macchine a pensare da uomini, Castelvecchi, 2003

Giovanni Martinelli, Reti neurali e neurofuzzy, Euroma, 2000

A Sangalli, L'importanza di essere fuzzy, Bollati Boringhieri, Torino, 2000

Silvio Cammarata, Sistemi a logica fuzzy. Come rendere intelligenti le macchine, ETAS, 1997

Silvio Cammarata, Reti neurali. Dal Perceptron alle reti caotiche e neuro-fuzzy, ETAS, 1997

Didier Dubois - Henri Prade, Fuzzy Sets and Systems, Academic Press, New York, 1980

Matteo De Simone, La tecnologia fuzzy. Teoria e pratica dei sistemi. esperti (tesina) - apri


Siti per approfondimenti

Fuzzy/Uniroma2
Introduzione alla logica fuzzy.

Reti/Masulli
Reti neurali e logica fuzzy.

Reti neurali e fuzzy logic
La tesi di Luca Marchese (in italiano) sull'utilizzo combinato di queste due tecnologie.

Logica fuzzy
Pagina dedicata alla logica fuzzy.

Fuzzy/Uniroma2
Principi e applicazioni della logica fuzzy.

Fuzzy/Mindreamz
Approfondimento sulla logica fuzzy: il controllo fuzzy.

Progetto fuzzy
Introduzione alla logica fuzzy.

Fuzzy/Faggiani
Introduzione alla logica fuzzy.

Fuzzy/123point
Breve introduzione alla logica fuzzy.

Fuzzy/Stanford
Pagina della Stanford Encyclopedia of Philosophy dedicata alla logica fuzzy.

Fuzzy/Webopedia
Pagina della Webopedia (enciclopedia on line che si occupa di Computer Technology) dedicata alla logica fuzzy.