Cos'è la logica fuzzy
La logica fuzzy estende la logica classica vero/falso permettendo gradi intermedi di verità, rappresentati normalmente da valori tra 0 e 1.
È particolarmente utile quando lavoriamo con concetti vaghi come “alto”, “basso”, “temperatura tiepida”, che non hanno confini netti.
Insiemi fuzzy e funzioni di appartenenza
Un insieme fuzzy associa a ogni elemento un grado di appartenenza. Invece di dire che una persona è “alta” oppure “non alta”, possiamo dire che ha appartenenza 0.7 all'insieme “alto”.
Questo grado è descritto da una funzione di appartenenza, che può avere varie forme (triangolare, trapezoidale, gaussiana, ecc.).
- Triangolare: semplice e spesso sufficiente in applicazioni di controllo.
- Trapezoidale: descrive intervalli in cui l'appartenenza è circa costante.
- Gaussiana: più liscia, adatta a fenomeni continui.
Regole fuzzy e sistema di inferenza
In un sistema di inferenza fuzzy (FIS) definiamo regole del tipo:
SE temperatura è alta E umidità è bassa ALLORA velocità_ventola è alta.
A differenza della logica booleana, qui le condizioni non sono solo vere o false, ma hanno gradi intermedi che vengono combinati tramite operatori fuzzy (min, max, prodotti, ecc.) per produrre un'uscita fuzzy.
Infine, tramite defuzzificazione, si converte l'uscita fuzzy in un valore numerico ben definito (es. una percentuale di potenza della ventola).
Applicazioni pratiche della logica fuzzy
- Controllo industriale (temperature, motori, forni, robot).
- Sistemi di raccomandazione basati su preferenze vaghe.
- Decision support in ambito medico, finanziario, ingegneristico.
- Integrazione con machine learning per modelli ibridi (neuro-fuzzy).
Logica fuzzy con Python
In Python esistono librerie per implementare rapidamente sistemi fuzzy, oppure è possibile costruirli passo per passo per scopi didattici.
Su fuzzypython.org puoi trovare esempi di:
- Definizione di insiemi fuzzy e funzioni di appartenenza.
- Costruzione di regole fuzzy e sistemi di inferenza.
- Integrazione con modelli di machine learning classici.