Torna alla Home Page del corso    Torna alla pagina degli Elaborati   
 


 Elaborato del Corso di Intelligenza Artificiale a.a. 1998-1999
LOGICA FUZZY
  Allievi Elettronici
Davide Marangoni
  Simone Foladori
Matr. 026981
 Matr. 027127
davide.marangoni@rocketmail.com
fula_simon@yahoo.com

Alcuni cenni

La logica è di fondamentale importanza per la scienza e fino a poco tempo fa essa era stata vista solo nell'ottica della contrapposizione netta tra ciò che è vero e ciò che è falso. Solo recentemente si è cercato di risolvere questa dicotomia seguendo nuove strade. Da tale ricerca è nata una nuova logica, detta sfumata, ancora molto criticata ma le cui applicazioni hanno e stanno dimostrando la sua validità. Alle radici della differenza tra la logica classica e quella sfumata (fuzzy) sta la "legge del terzo escluso". Nella teoria tradizionale degli insiemi, un oggetto o appartiene o non appartiene ad un insieme; non esiste via di mezzo: il numero cinque appartiene totalmente all'insieme dei numeri dispari e non appartiene per nulla a quello dei numeri pari.
La logica fuzzy opera su entità matematiche che sono gli insiemi fuzzy. Questi ultimi obbediscono a regole, strutture e assiomi del tutto simili a quelle dell'insiemistica classica soltanto che un oggetto può contemporaneamente appartenere a più sotto insiemi: mentre nella teoria classica una cosa è o non è, nel mondo fuzzy l'appartenenza ad un sotto insieme è associata ad un grado d'appartenenza (degree of membership) cosicché un frutto può essere dolce e anche amaro, una donna bella e brutta, e così via.
Cosa significa fuzzy? Fuzzy è un vocabolo inglese da tradurre con "indistinto", "vago" quindi si potrebbe pensare alla logica fuzzy come a qualcosa di impregnato di concetti e proposizioni (apparentemente) inconcludenti, appunto, vaghe.
A questo punto ci possiamo chiedere: una logica può essere vaga, confusa? Questo sembra un trabocchetto, un'insidia filosofica, ma la risposta è affermativa. Tutto ciò può sembrare un po' strano a chi non l'ha mai usata, ma non appena la si conosce un po' di più, ci si sorprende che non sia stata utilizzata prima.
L'introduzione sempre più massiccia di prodotti hardware e software nella fase produttiva ha facilitato notevolmente l'approccio al ragionamento "sfumato".
Nella classificazione matematica si hanno delle soglie nette oltre le quali si ha l'appartenenza ad una categoria anziché ad un'altra, nella logica fuzzy invece, gli schemi s'intersecano, perciò un determinato soggetto può appartenere in percentuali variabili sia all'uno sia all'altro gruppo.
Questo ragionamento consente quindi un passaggio più graduale da una categoria all'altra secondo la presenza o meno di determinate caratteristiche e un ragionamento di questo tipo si avvicina molto alla realtà d'oggi. Ciò ha condotto ad una rivalutazione della logica fuzzy, fino ad arrivare a delle sue applicazioni nel software (sistemi basati sulla conoscenza) con l'obiettivo di rimpiazzare per quanto possibile l'esperto umano cui spettano le decisioni, e nell'hardware (sistemi di controllo) per sostituire l'operatore umano.

Perché usare la logica fuzzy?

L'ultimo punto è molto importante in quanto, il linguaggio naturale viene usato dalla gente tutti i giorni, ed è stato modellato da migliaia di anni di storia umana per essere comodo ed efficiente. Scrivere giudizi in linguaggio naturale rappresenta un trionfo per la comunicazione efficiente. A volte non ci si rende conto dell'importanza di questo fatto perché il linguaggio naturale lo usiamo tutti i giorni e perciò viene facilmente sottovalutato.

Cos'é e come funziona il processo di inferenza fuzzy?
Il processo di inferenza fuzzy è l'insieme delle regole di deduzione che si devono applicare a un determinato sistema per ottenere dei risultati tramite l'utilizzo della logica fuzzy. Esso si può suddividere nelle seguenti fasi:

1. FUZZIFICAZIONE: si applicano i valori attuali alle funzioni d'appartenenza, per determinare il grado di verità di ogni regola della premessa.

2. INFERENZA: calcolato il valore di verità per le premesse si applica il risultato alla parte conclusiva di ogni regola. I risultati ottenuti in un sotto insieme fuzzy devono essere assegnati ad ogni variabile d'uscita per ogni regola. Per fare ciò si utilizzano, di solito solo regole MIN o PRODUCT. Nella prima la funzione d'appartenenza d'uscita è "troncata" all'altezza del grado di verità calcolato dalla regola della premessa mentre nella seconda la funzione d'appartenenza d'uscita è moltiplicata col grado di verità calcolato dalla regola della premessa.

3. COMPOSIZIONE: tutti i sotto insiemi fuzzy assegnati a ciascuna variabile d'uscita sono combinati assieme per formare un singolo sotto insieme fuzzy per ogni variabile d'uscita. Di solito sono usate MAX o SUM. Nella composizione MAX, il sotto insieme fuzzy ottenuto è costruito prendendo il valore massimo tra tutti quelli ottenuti dai sotto insiemi fuzzy assegnati a una variabile dalla regola d'inferenza (funzione logica OR), mentre nella composizione SUM l'output combinato del sotto insieme fuzzy è costruito prendendo la somma dei valori massimi ottenuti da tutti i sotto insiemi fuzzy assegnati a una variabile d'uscita dalla regola d'inferenza.

4. Infine c'è la DEFUZZIFICAZIONE: viene utilizzata quando è utile convertire l'insieme fuzzy d'uscita con un numero preciso. Ci sono più metodi di defuzzificazione: due delle tecniche più comuni sono il metodo del CENTROIDE e del MASSIMO. Nel metodo del CENTROIDE il valore preciso della variabile d'uscita è calcolato trovando il valore della variabile del centro di gravità della funzione d'appartenenza per il valore fuzzy. Nel metodo del MASSIMO uno dei valori delle variabili in corrispondenza del quale il sotto insieme fuzzy ha il suo massimo valore di verità è scelto come valore preciso della variabile d'uscita.
 
 

Download relazione Teoria Fuzzy.exe (autoestraibile)

 Per una spiegazione dettagliata del tool di MATLAB 5.2 che utilizza la Logica Fuzzy vai a Fuzzy Logic Toolbox
 

Torna alla pagina degli Elaborati