Fuzzy logic, cos’è, come nasce e come funziona

L'applicazione della logica “fuzzy” alle reti neurali artificiali è uno dei campi di studio più interessanti che può contribuire allo sviluppo degli algoritmi di AI. Si tratta di una logica sfumata con infiniti stati intermedi tra zero e uno, anche se le regole fuzzy sono facili e intuitivamente comprensibili; consente ai computer di rappresentare meglio la complessità della realtà ma anche il linguaggio naturale degli uomini [...]
Cinzia Crostarosa

ingegnere

  1. Home
  2. Intelligenza Artificiale
  3. Fuzzy logic, cos’è, come nasce e come funziona

La logica fuzzy è una metodologia di calcolo basata su diversi livelli di verità piuttosto che sulla solita logica booleana “vero o falso” (1 o 0), su cui si basa il computer moderno.

Cos’è la logica fuzzy?

Lotfi Zadeh

L’idea della logica fuzzy è stata avanzata per la prima volta da Lotfi Zadeh dell’Università della California a Berkeley negli anni ’60. In quegli anni Zadeh stava lavorando al problema della comprensione del linguaggio naturale da parte del computer. Il linguaggio naturale, come altre espressioni dell’essere umano nell’universo, non è facilmente traducibile in termini assoluti come 0 oppure 1. Qualora sia possibile ridurre tutto a termini binari è una questione filosofica che può essere interessante approfondire, ma in pratica con molti dati si potrebbe alimentare un computer che si trova in uno stato intermedio e così si ottengono i risultati dell’informatica. Potrebbe essere utile interpretare la logica fuzzy come il modo, in cui il ragionamento funziona davvero e la logica binaria, o booleana, è semplicemente un caso speciale.

Nell’informatica siamo abituati a utilizzare la logica booleana che ammette soltanto due valori: zero e uno; infatti, tutti i linguaggi di programmazione sono basati sulla logica binaria di George Boole, il quale dichiara che una condizione può essere vera o falsa, senza vie di mezzo. Nessun programmatore svilupperebbe mai un’interfaccia utente con un terzo pulsante relativo all’alea di incertezza della risposta. Nella fuzzy logic, invece, lo zero e l’uno sono solo gli estremi di una variabile continua, per cui la variabile può assumere anche valori intermedi tra 0 e 1.

Concetti fondamentali della fuzzy logic

La logica fuzzy mette in discussione ed evolve il concetto di logica binaria, secondo la quale i predicati possono assumere solamente due stati vero e falso. Questa logica è alla base del funzionamento dei calcolatori ma chiunque può valutare quanto possa essere imprecisa e non aderente alla realtà, che vanta molteplici sfaccettature da approssimarsi con questa lettura. Nel mondo reale tutto è relativo in base all’unità di misura in questione, non esiste solo il bianco o il nero, ci sono anche le sfumature. La scienza tratta questi chiaroscuri come se fossero bianchi o neri. La dottrina fuzzy ha in certa misura origini filosofiche, infatti è maggiormente sviluppata e utilizzata in Giappone, rispetto al mondo occidentale. Si può mettere in crisi la logica classica considerando alcuni banali esempi, come la trasformazione di una mela mentre la mangiamo da intera a torso di mela, la metamorfosi che subisce la rende morso dopo morso un’entità diversa, per cui prende le sembianze di una “mela fuzzy”.

Nell’universo tutto è in mutamento, per cui le cose cambiano la loro identità e tutto si sviluppa come un fiume che scorre. Possiamo identificare ogni cosa con un’etichetta il più precisa possibile, malgrado gli sforzi queste diverranno imprecise mentre le cose cambiano. Il nome comune “candela” indica una candela anche dopo che questa si è sciolta completamente o meglio dopo che ha subito un mutamento conseguente alla combustione. La precisione sfoggiata dalla scienza non è altro che un’approssimazione di quei contorni sfumati delle cose che altrimenti non sarebbero spiegabili con i predicati della logica classica. Il paradosso è che la scienza ha contribuito a creare un mondo astratto approssimando o trascurando “per semplicità” le famose condizioni al contorno.

Logica fuzzy, non solo zero e uno

Questa convinzione che le cose possano essere solo “zero” o “uno” è radicata nei ragionamenti fin dall’antichità. Si pensi alla logica binaria di Aristotele che si riduce ad asserire l’esistenza e la negazione dell’esistenza. In seguito, Heisenberg dimostra ai fisici come non tutti gli enunciati della fisica siano necessariamente veri o falsi. Bertrand Russell scoprì il paradosso del mentitore di creta: un cretese afferma che tutti i cretesi mentono, quindi egli mente? Infine, Einstein aveva tratto le sue considerazioni sul chiaroscuro della logica fuzzy: “Nella misura in cui le leggi della matematica si riferiscono alla realtà non sono certe. E nella misura in cui sono certe, non si riferiscono alla realtà”. In seguito, Bart Kosko chiamo tutto questo “il problema della non-corrispondenza: il problema è in chiaroscuro ma la scienza non contempla che il bianco o il nero siano assoluti.” Parliamo sempre in termini di zero o uno ma la verità sta nella via di mezzo.

La scienza descrive il mondo attraverso degli enunciati che non sono interamente veri o interamente falsi, non sono bivalenti ma polivalenti, la loro verità totale sta nella via di mezzo, nei grigi chiaroscuri fuzzy. Tutte le convinzioni scientifiche possono essere fatte crollare da una nuova esperienza. L’affermazione un filo d’erba è verde è messa in crisi dal filo d’erba che diventa marrone. Le leggi della scienza non sono leggi o meglio, non lo sono nell’accezione di leggi logiche come 2+2=4. Queste leggi fissano semplicemente le osservazioni eseguite in tempi vicini nell’angolo di universo a noi conosciuto. Per anni si è continuato a ignorare l’aspetto fuzzy del mondo e invece che approfondirlo si è fatto di tutto per affondarlo e ignorarlo. Neppure Einstein offriva alternative, anzi, fermo nella sua veste di scienziato aggiunse una nuova teoria della bivalenza: il concetto di probabilità. Secondo la teoria matematica del caso a ogni evento può essere associato un numero per rappresentare la probabilità del suo verificarsi. In generale la somma della probabilità che un evento si verifichi e quella che ciò non accada è uno.

Un esempio pratico

Facciamo un esempio fuzzy della probabilità: se nascondo un oggetto in una mano dietro la schiena e chiedo a un’altra persona di indovinare in che mano lo tengo, io so in che modo va l’esperimento ma gli altri devono indovinare, calcolare la probabilità. Per gli altri la probabilità è reale, per me si tratta invece di certezza. Ovviamente la probabilità svanisce con l’aumento dell’informazione.
Sembra quindi che la probabilità possa risolvere il problema della visione fuzzy del mondo con la logica classica. Invece non fa altro che aggravare la situazione, si occupa infatti di bianco o nero, testa o croce, si focalizza su due eventi precisi. Nonostante la sua importanza, nemmeno la probabilità è riuscita ad attenuare le discrepanze tra logica e dati di fatto. È utile ricordare una frase di Kosko per riassumere la controversia tra mondo fuzzy e scienza tradizionale: “La logica fuzzy comincia dove finisce la logica occidentale classica”. Da tali ragionamenti si evince in modo indiscriminato il concetto di logica fuzzy, del chiaroscuro.

An Introduction to Fuzzy Logic

Video: Fuzzy logic – Tim Arnett (in inglese)

Fuzzy logic e intelligenza artificiale

Nei sistemi di intelligenza artificiale (AI), la logica fuzzy viene utilizzata per imitare il ragionamento e la cognizione umana. Piuttosto che casi di verità strettamente binari, la logica fuzzy non include 0 e 1 come casi estremi di verità ma li include con vari gradi intermedi di verità.

In conseguenza di tali assiomi la logica fuzzy è adatta per l’ingegneria, quando si devono prendere decisioni con dati imprecisi ma con incertezze chiare, come con le tecnologie di elaborazione del linguaggio naturale, inoltre si può adattare alla regolazione e al controllo dei parametri della macchina, in base a molteplici sensori, ad esempio come i sistemi di controllo della temperatura.

WHITEPAPER
PREDICTIVE ANALYSIS: perché la manutenzione degli impianti è cambiata. Per sempre.
Intelligenza Artificiale
IoT

Il supercomputer Watson di IBM è uno degli esempi più importanti di come vengono utilizzate le variazioni della logica fuzzy e della semantica fuzzy.

A differenza della logica binaria, per permettere una maggiore aderenza al linguaggio naturale, in logica fuzzy i fuzzy set non hanno confini rigidi ma includono una variazione del valore limite, che è come un’approssimazione del giudizio soggettivo di ogni persona. Il grado di appartenenza di un oggetto a un fuzzy set può assumere qualsiasi valore tra [0,1] a differenza di un set tradizionale, il quale è ristretto ai soli valori limite 0 o 1.

Fuzzy logic

Nella logica tradizionale una persona è considerata adulta, ovvero fa parte del set “adulti” al 100%, quando supera il diciottesimo anno d’età, altrimenti rientra nel set “non-adulti” al 100%. In logica fuzzy, invece, il fuzzy set ha una sfumatura sul confine adulti/non-adulti. Una persona che ha un’età di diciotto anni appartiene contemporaneamente al fuzzy set adulti per il 50% e a quello non-adulti per il 50%; ci troviamo nel caso classico della polivalenza A e non-A. La teoria fuzzy traccia una curva fra gli opposti, fra A e non-A. Un maggior numero di informazioni, infatti permette di tracciare la curva. Se disponiamo di informazioni insufficienti possiamo trasformare le nostre vaghe nozioni di “vecchio” e di “giovane” in curve di insiemi fuzzy. Più informazioni si hanno, più gobbe avrà la curva e più sarà rispondente alla realtà. Gli algoritmi evolutivi sono inventati trovando una struttura con parametri ottimali per un modello, che è spesso complicato, a causa dell’ampio spazio di ricerca della struttura complessa, inoltre individuando una struttura con i parametri adeguati, che descrivono l’evoluzione della popolazione, si possono valutare e generare nuovi genotipi della popolazione.

Fuzzy logic

Come si è ampiamente illustrato il mondo reale si discosta da quello binario, per cui la conseguenza sta nella traduzione di concetti spesso vaghi e imprecisi in una logica rigida. Si può pensare a un’affermazione del linguaggio comune come: quel ragazzo è alto. Rispetto a chi o cosa il ragazzo è alto? Quali parametri ne contraddistinguono l’altezza? Quindi dobbiamo avere un insieme di riferimento, che sono date dalle condizioni al contorno ambientali e dalla misura di riferimento.
Nella logica tradizionale un elemento appartiene o non appartiene a un determinato insieme A; nella logica fuzzy, invece, un elemento x appartiene a un insieme fuzzy A con un grado di verità che può assumere infiniti valori nell’intervallo [0,1]. Il grado di verità è dato da una funzione di “membership”.

Fuzzy logic e regole “If Then”

I sistemi fuzzy sono sistemi di regole IF THEN, che contengono termini linguistici per esprimere l’appartenenza di una variabile a un certo fuzzy set. La differenza con i sistemi esperti sta nel fatto che in quelli fuzzy più regole possono essere contemporaneamente attive, inoltre gli input e output sono variabili numeriche e non simboli o termini. Nei sistemi fuzzy è possibile tramite relazioni di input output approssimare qualsiasi funzione, anche non lineare. Possono quindi essere usati per l’identificazione o per il controllo di sistemi, a questo proposito c’è da dire che, come i sistemi esperti e le reti neurali, non richiedono un modello matematico del sistema da descrivere o da controllare.

Un esempio pratico

Ad esempio, consideriamo l’esempio del pendolo invertito, in questo caso vogliamo portare e mantenere in equilibrio un pendolo invertito, ovvero ruotato di 180°. Nel simulatore la possibile orientazione, o errore, iniziale del pendolo varia da -90° +90°, dove 0 sta per errore nullo, ovvero pendolo in equilibrio. Oltre a questo, come variabili di input abbiamo anche la coppia massima del motore che porta in equilibrio il pendolo e la lunghezza dell’asta. Nello sviluppare le regole fuzzy, viene valutato l’angolo d’errore e la velocità angolare con cui esso si sta muovendo; le regole sono quindi del tipo: “Se l’angolo è piccolo e negativo e la velocità è piccola e positiva, allora applica una coppia pari a zero”, dove a è l’errore del pendolo, v è la velocità angolare del pendolo, f è la coppia del motore. Il sistema di controllo del simulatore del Pendolo Invertito può essere schematizzato nel seguente modo:

Fuzzy logic

Il blocco “modello pendolo invertito” contiene le proprietà fisiche del pendolo in questione, e ne simula il movimento, tenendo in considerazione tutte le forze agenti su di esso, come la forza di gravità e coppia del motore. Il campionatore effettua la lettura dell’angolo d’errore del pendolo a determinati istanti di tempo, più precisamente ogni 0,1s. Il controllore applica al pendolo una coppia in grado di riportare il pendolo in equilibrio e quindi azzerare l’errore. Quindi il controllore fuzzy si basa su tre stadi: fuzzificazione, che consiste nella conversione dei valori di input, controllo, che per ogni regola “if then” definita viene computato il grado di applicabilità della stessa dato dal minimo tra i due valori di membership delle variabili, defuzzificazione, che consiste nella riconversione di valori linguistici di output.

Applicazioni della logica fuzzy

Vari tipi di sistemi e tecnologie di intelligenza artificiale utilizzano la logica fuzzy, ciò include informazioni sui veicoli, elettronica di consumo, medicina, software, prodotti chimici e aerospaziale.

Un’altra applicazione è nelle automobili, in cui la logica fuzzy viene utilizzata per la selezione delle marce e si basa su fattori come il carico del motore, le condizioni della strada e lo stile di guida.

Un’ulteriore applicazione si trova nelle lavastoviglie, la logica fuzzy viene utilizzata per determinare la strategia di lavaggio e la potenza necessaria, che si basa su fattori come il numero di stoviglie e il livello di residui di cibo sulle stoviglie. Inoltre, nelle fotocopiatrici, la logica fuzzy viene utilizzata per regolare la tensione del tamburo in base a fattori quali umidità, densità dell’immagine e temperatura.

Nel settore aerospaziale, la logica fuzzy viene utilizzata per gestire il controllo dell’altitudine per satelliti e veicoli spaziali in base a fattori ambientali.

In medicina, la logica fuzzy viene utilizzata per le diagnosi assistite da computer, basate su fattori come sintomi e anamnesi del paziente. Nella distillazione chimica, la logica fuzzy viene utilizzata per controllare le variabili di pH e temperatura della produzione dei vini o dei liquori. Nell’elaborazione del linguaggio naturale, la logica fuzzy viene utilizzata per determinare le relazioni semantiche tra concetti rappresentati da parole e altre variabili linguistiche.

Nei sistemi di controllo ambientale, come condizionatori d’aria e riscaldatori, la logica fuzzy determina l’uscita in base a fattori quali la temperatura attuale e la temperatura target.

Infine, in un motore installato all’interno di supply chain aziendali, la logica fuzzy può essere utilizzata per semplificare il processo decisionale in base a criteri predeterminati per avere una produzione efficace ed efficiente.

WEBINAR
DIGITAL360 Semestrale 2022: scopri tutte le novità
Acquisti/Procurement
Amministrazione/Finanza/Controllo

 

FacebookTwitterLinkedIn