La follia del mondo e le sue sfumature spiegate con la logica Fuzzy

Esiste una logica che descrive un mondo in cui nulla è solo bianco o nero?

“Se il mondo è matto, allora ci spostiamo”, dicevano i Ricchi e Poveri in “Sarà perché ti amo”. Eppure tutti abbiamo accusato il mondo in cui viviamo di essere strano e pazzo. Spesso non ne abbiamo capito le vicissitudini e i risultati sono sfuggiti alla nostra logica, perché il mondo non è solo in bianco e nero.

La logica tradizionale

Generalmente ragioniamo per antitesi: bianco – nero, 0 -1 , bello – brutto, alto -basso e via dicendo.

Questo modo di ragionare è anche detto binario ed è usatissimo nell’elaborazione di informazioni digitali. Per esempio in un termostato: si imposta una temperatura limite e se la temperatura ambientale scende al di sotto di essa si accende l’impianto di riscaldamento. Se la temperatura sale sopra il limite, l’impianto si spegne.

Una relazione binaria può essere combinata con altre, secondo le classiche regole della logica e dell’insiemistica, come l’unione o l’intersezione, che corrispondono alla “o” e alla “e” nel linguaggio naturale.

Da sinistra verso destra rappresentazione grafica di insieme unione, intersezione e complemento nella logica tradizionale. (Fonte: “Elementi di Elettronica” , C. Turchetti – M. Conti, Pitagora editrice Bologna.)

Se dovessimo vedere la logica tradizionale in un problema di classificazione potremmo dire quindi solo se quel determinato elemento appartiene o meno a quella determinata classe. Di conseguenza se si classifica una persona in “alto” o “basso” si dovrà decidere una soglia entro cui dividere le classi e quindi una determinata persona o sarà bassa o sarà alta.

Questi concetti possono essere estesi a più categorie e si potrebbe inserire pure una terza classe, definendola come “media”. Esempio pratico ripreso da poco sopra: è possibile definire due soglie per classificare l’altezza di un uomo: 170 cm e 180 cm. Al di sotto di 170 cm si potrebbe dire che un uomo è basso tra 170 e 180 (entrambi inclusi) si dice che è nella media e oltre i 180 che è alto.

Il problema è che se una persona di 169 cm è bassa e per un cm soltanto non è nella media, il che crea una sorta di paradosso: quest’uomo è nelle media o è basso?

Logica Fuzzy

Per ovviare a problemi come questi, ancor più per gestire la complessità di sistemi “animati”, che siano biologici o umanistici, il prof. Zadeh nel 1965 introdusse il concetto di “fuzzy set”. L’obiettivo è quello di formalizzare, in modo che un computer possa elaborare i dati, ciò che le persone pensano e dicono.

Già dal nome, logica fuzzy, si capisce questo. Non si intende, infatti, che la logica sia “fuzzy”, confusa, bensì che la logica è usata per descrivere la confusione. 

In effetti l’idea di base della logica fuzzy è pensare che ogni cosa ammetta gradi di appartenenza. Così si rivoluziona il l’idea della logica binaria (anche detta crisp), in cui c’era solo il bianco o il nero. Nella logica binaria alla domanda se un elemento appartiene o meno ad una classe si può rispondere solo con “vero” o “falso”. Non esistono altre alternative. Riprendendo l’esempio precedente, se una persona è 169 cm e ci si chiedesse se appartenga alla classe “basso”, la risposta sarebbe solo “vero”. Nella logica fuzzy invece si dovrebbe rispondere con un valore che indichi il grado di appartenenza alla classe. Nella logica crisp, se un elemento appartiene ad una classe, non può appartenere alle altre, infatti se uno viene classificato “basso” non potrà essere “medio”. Per la fuzzy, invece, se uno può appartenere a diverse classi con diversi gradi di appartenenza.

Fuzzy tool nel pacchetto Matlab. (Fonte: Mathworks.com)

Per valutare l’appartenenza ad una classe si usano le membership function, ossia delle funzioni che rappresentano il grado di appartenenza. Esistono tre metodi per costruirle:

  1. Visione di verosimiglianza: una percentuale di persone dice che quell’elemento appartiene a quella classe.
  2. Visione a set casuale: una percentuale di persone ha descritto una classe in un intervallo a cui appartiene l’elemento in considerazione.
  3. Visione di similarità: si considera un prototipo di una classe, ossia un elemento “perfetto”, e si vede di quanto si discosta l’elemento considerato.
Esempio di membership function. (Fonte: dispense di Classificazione e interpretazione di dati biomedici, Gabriella Balestra, PoliTO)

Questa costruzione di membership function non inficia quanto era valido per la logica crisp, anzi, viene tutto ampliato. Consideriamo ad esempio il termostato. Anziché stabilire se sopra o sotto la soglia accendere o meno l’impianto di riscaldamento si può creare una membership function che stabilisca la distanza dalla soglia e che regoli l’impianto in base a quanto si è distanti dalla soglia. Per ribadire il concetto: se si mettesse come soglia 20 °C e ne venissero rilevati 19 non ha senso che si accenda l’impianto al massimo ma basta farlo andare molto lentamente essendoci uno scarto minimo.

Vignetta sulla costruzione di membership function (Fonte: andreaminni.com)

Inoltre è possibile combinare più relazioni secondo le solite regole dell’insiemistica  e della logica, anch’esse un po’ riviste e ampliate.

Valutazione delle regole fuzzy. (Fonte dispense di Classificazione e interpretazione di dati biomedici, Gabriella Balestra, PoliTO)

 

Casualità vs fuzziness

Quando si parla di logica fuzzy è facile confondersi con la casualità.

In realtà la similitudine è solo riferita al fatto che in entrambi i casi si valuta il grado di certezza (o incertezza) che un evento avvenga, ma le similitudini si fermano qui. Infatti nel caso di un evento casuale la statistica ha senso solo prima che l’evento avvenga, dopodiché l’evento è avvenuto e il risultato diventa quindi noto. Il grado di appartenenza invece ha ancora senso dopo che l’evento è avvenuto. La logica fuzzy non assume nulla di noto ed è basata su misure descrittive del dominio (in termini di membership function), invece che su soggettive misure di frequenza. In sostanza casualità e fuzziness sono due cose diverse.

Un mondo fuzzy

Tramite logica fuzzy, dunque, si riescono a considerare con la logica le infinite sfumature che ha la realtà. A livello conoscitivo questo ha implicazioni molto interessanti, ma anche a livello pratico la logica fuzzy ha una enorme utilità: grazie ad essa è possibile implementare sistemi più intelligenti, perché riescono a modellare la complessità del mondo. Dopotutto il mondo un po’ matto e complesso lo è, no?

La logica fuzzy è usata pure nelle lavatrici (Fonte: nextnews.com)

Samuele Tozzi

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.