Cos’è la logica fuzzy?
La logica fuzzy è un sistema di pensiero che supera la rigidità della logica classica, detta anche bivalente, secondo cui ogni proposizione è completamente vera o completamente falsa.
In un mondo reale fatto di sfumature, la logica fuzzy propone un approccio più flessibile: le verità possono essere parziali, graduali, intermedie.
Origini filosofiche
L’idea di classificare le proposizioni come vere o false risale ad Aristotele, che formulò le “Leggi del Pensiero”, tra cui quella del Terzo Escluso: una proposizione è o vera o falsa, senza vie di mezzo.
Ma già Eraclito suggeriva che le cose potessero essere vere e false allo stesso tempo.
Platone, invece, ipotizzò l’esistenza di una terza regione oltre il vero e il falso, dove entrambi convivono.
Nel Novecento, Jan Lukasiewicz sviluppò una logica a tre valori, poi estesa a quattro, cinque e infiniti, aprendo la strada alla logica multivalore.
La svolta di Lofti Zadeh
Nel 1956, Lofti A. Zadeh pubblicò Fuzzy Sets, introducendo la matematica degli insiemi fuzzy.
La sua teoria proponeva che la funzione di appartenenza non fosse limitata a 0 o 1, ma potesse assumere qualsiasi valore compreso tra 0 e 1.
In un insieme bivalente, un elemento ( x ) appartiene o non appartiene all’insieme ( X ):
I(x) = 1 se l’elemento x appartiene all’insieme X
I(x) = 0 se l’elemento x non appartiene all’insieme X
Nella logica fuzzy, invece:
0 ≤ m(x) ≤ 1
dove m(x) rappresenta il grado di appartenenza dell’elemento x a un insieme fuzzy.
Un esempio concreto: la posologia
Consideriamo un farmaco con le seguenti indicazioni:
- Compresse da 300 mg: bambini fino a 6 anni → ½ compressa, 2–3 volte al giorno
- Compresse da 600 mg: oltre i 6 anni → 1 compressa, 2–3 volte al giorno
Un bambino che compie sei anni a mezzanotte dovrebbe cambiare dosaggio da un momento all’altro.
La logica fuzzy suggerisce una transizione graduale, più coerente con la realtà biologica e clinica.
Applicazioni nella programmazione
La logica fuzzy trova applicazione in molti ambiti:
- Sistemi di controllo (es. climatizzatori, lavatrici)
- Intelligenza artificiale e machine learning
- Sistemi esperti e automazione industriale
Nel nostro caso, vedremo come implementare insiemi fuzzy in C++, per affrontare problemi che la logica classica non riesce a gestire o che possono essere semplificati grazie alla flessibilità fuzzy.
Un parallelo con il qubit
La logica fuzzy e il qubit della computazione quantistica condividono un’idea fondamentale: superare il dualismo 0/1.
- Nella logica fuzzy, la verità è un valore continuo tra 0 e 1.
- Nel mondo quantistico, il qubit può essere 0, 1 o una sovrapposizione di entrambi, fino alla misurazione.
Entrambi i modelli abbandonano la rigidità della logica classica per descrivere realtà complesse, sfumate e probabilistiche.
Conclusione
La logica fuzzy ci invita a ripensare il concetto di verità, abbandonando il bianco e nero per esplorare le sfumature del grigio.
È una prospettiva utile non solo in matematica, ma anche in informatica, biologia e nella vita quotidiana.
Nei prossimi articoli vedremo come programmare con insiemi fuzzy in C++, e come questa logica possa semplificare algoritmi e risolvere problemi che la logica bivalente non riesce a gestire.