J.A.R.V.I.S

Logica Fuzzy: cos’è e come viene usata per l’Intelligenza Artificiale

Lo sviluppo dei computer ed il relativo tentativo di automatizzare il ragionamento e l’inferenza umana rappresenta una sfida per i ricercatori di tutto il mondo. Gli esseri umani, ed in molti casi le macchine, non sempre operano secondo una rigorosa e ben definita logica a due valori (logica booleana). La loro percezione di insiemi e classi non è così nitida come quella implicita nella teoria tradizionale degli insiemi e delle classi (detta “crisp”).

Un articolo pubblicato da L. A. Zadeh nel 1965 ha acceso un enorme interesse tra un gran numero di scienziati, introducendo la teoria degli insiemi fuzzy e della logica fuzzy. In seguito all’introduzione di tali concetti, diversi ricercatori hanno stabilito un quadro assiomatico per questo argomento.

I cinque decenni che hanno seguito il lavoro pionieristico di Zadeh hanno prodotto un ampio lavoro di ricerca e applicazioni relative alla teoria del controllo, all’intelligenza artificiale, all’inferenza ed al ragionamento. Negli ultimi anni molti settori hanno applicato la logica fuzzy; tra questi ci sono le reti neurali fuzzy, i sistemi neuro-fuzzy e altri sistemi fuzzy bio-ispirati, clustering, data mining, e test del software.

La logica Fuzzy in breve

Il concetto cardine di un insieme fuzzy (fuzzy set) è che ogni elemento può appartenere all’insieme con un certo grado di appartenenza rappresentato da un numero che va da 0 ad 1, differentemente dalla logica bivalente secondo cui un elemento può appartenere totalmente ad un insieme (assumendo valore 1) oppure non appartenervi (assumendo valore 0).

Questo livello di appartenenza ad un insieme viene descritto mediante una funzione, detta appunto “funzione di appartenenza” oppure “membership function”, che assume valori compresi tra 0 e 1 seguendo andamenti di crescita/decrescita tipicamente sigmoidali oppure lineari. Queste funzioni assumono infatti una forma spesso triangolare, trapezoidale oppure a campana.

Esempi pratici

Di seguito proponiamo un esempio pratico per capire la differenza. Nella teoria degli insiemi nitidi, se qualcuno è più alto di 1,8 metri, possiamo affermare che tale persona appartiene all’ “insieme delle persone alte”, pertanto se la persona fosse alta 1,7999 metri non farebbe parte dell’insieme. Tuttavia, un cambiamento netto da 1,7999 metri di una “persona bassa” a 1,8001 metri di una “persona alta” è contro il senso comune.

Un altro esempio potrebbe essere dato come segue: supponiamo che un’autostrada abbia un limite di velocità di 90 km/ora. Coloro che guidano più velocemente di 90 km/ora appartengono all’insieme insieme A, i cui elementi sono i trasgressori e la loro funzione di appartenenza ha il valore di 1. D’altra parte, coloro che guidano più lentamente non appartengono all’insieme A. La transizione netta tra l’appartenenza e la non appartenenza sarebbe realistica? Ci dovrebbe essere una multa per il traffico ai conducenti che vengono sorpresi a 89.5 km/ora? O a 89.9 km/ora?

In situazioni pratiche c’è la necessità di qualcuno che analizzi le dichiarazioni e che produca un insieme di regole (fuzzy rules) sulla base delle quali si possa costruire un sistema di inferenza fuzzy che prenda decisioni attenendosi in maniera oggettiva al “senso comune” presente negli esseri umani.

Conclusioni

I sistemi fuzzy rappresentano una tecnica promettente per i prodotti di consumo, per i sistemi industriali e commerciali e per i sistemi di supporto alle decisioni. Il termine fuzzy significa “sfocato” e si riferisce alla capacità di gestire input imprecisi o vaghi.

Invece di usare complesse equazioni matematiche, la logica fuzzy usa descrizioni linguistiche per definire la relazione tra le informazioni di input e l’azione di output. Nei sistemi di ingegneria, la logica fuzzy fornisce un front-end conveniente e facile da usare per sviluppare programmi di controllo, aiutando i progettisti a concentrarsi sugli obiettivi funzionali e non sulla matematica.

Articolo a cura di Davide Manzoni

Published by
Redazione