Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato di laurea Fuzzy logic and fuzzy sets Anno Accademico 2015-2016 Relatore Ch.mo prof. Carlo Sansone Candidato Gioacchino Scala matr. N46001620 Alla mia famiglia Contents 1 Introduzione 1 2 Fuzzy logic 2.1 Confronto con la logica bivalente . . . . . . . . . . . . . . . . . . . . 2.2 Descrizione di un sistema fuzzy . . . . . . . . . . . . . . . . . . . . . 3 4 5 3 Insiemi fuzzy 3.1 Funzioni di appartenenza . . . . 3.1.1 Funzione triangolare . . 3.1.2 Funzione trapezoidale . . 3.1.3 Funzione Right Trapeze 3.1.4 Funzione Left Trapeze . 3.1.5 Funzione Left Triangle . 3.1.6 Funzione Right Triangle 3.1.7 Funzione a Campana . . 3.1.8 Funzione Right Gaussian 3.1.9 Funzione Left Gaussian . 3.2 Operazioni sugli insiemi fuzzy . 3.2.1 Uguaglianza . . . . . . . 3.2.2 Inclusione . . . . . . . . 3.2.3 Intersezione (AND) . . . 3.2.4 Unione (OR) . . . . . . 3.2.5 Complemento (NOT) . . 3.2.6 Normalizzazione . . . . . 3.2.7 Concentrazione . . . . . 3.2.8 Diluizione . . . . . . . . 3.2.9 Somma algebrica . . . . 3.2.10 Prodotto algebrico . . . 3.2.11 Somma limitata . . . . . 3.2.12 Prodotto limitato . . . . 3.3 Norma triangolare . . . . . . . 3.4 Conorma Triangolare . . . . . . 3.5 Relazioni fuzzy . . . . . . . . . 3.6 Regole fuzzy . . . . . . . . . . . 4 Applicazioni della fuzzy logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8 9 9 10 11 11 12 12 13 13 14 14 14 14 14 15 15 15 15 16 16 16 16 17 17 17 19 21 i Contents Contents 5 Conclusioni 25 Bibliography 27 ii 1 Introduzione L’obiettivo a cui ambisce l’intelligenza artificiale e’ quello di prendere possesso delle capacita’ di apprendimento e decisione peculiari dell’essere umano, processo per il quale si perviene ad una valutazione sulla base delle prestazioni in termini di correttezza e precisione. Lo scopo dunque da raggiungere non e’ imitazione del ragionamento del cervello animale, bensi’ si desidera emulare un processo di decisione simile a quello dell’uomo. L’intelligenza artificiale si configura quindi come una scienza che mira a riprodurre tali decisioni attraverso l’utilizzo di macchine, le quali devono essere in grado di ottenere informazioni dall’ambiente esterno mediante l’uso di sensori e di estrarne una base di apprendimento che influenzera’ i futuri processi decisionali. La fase di learning assume grande importanza in questo contesto, dal momento che permette di accrescere la conoscenza del sistema e di apportare delle modifiche adattive, al fine di formulare un’ipotesi in grado di generalizzare le uscite del sistema e fornire delle predizioni aderenti alla realta’ d’interesse. L’ostacolo che si riscontra nella formulazione di un’ ipotesi consiste nell’impossibilita’ di affermare se essa e’ una buona approssimazione della funzione obiettivo oppure se le predizioni che fornisce sono spesso errate, pertanto si andra’ alla ricerca di un classificatore capace di implementare una buona generalizzazione. Nel caso in cui si dovessero ottenere molteplici ipotesi con prestazioni analoghe si suole scegliere quella piu’ semplice, in accordo con il principio del rasoio di Occam secondo cui la scelta meno complessa e’ da considerarsi quella ottimale. Le applicazioni in cui viene utilizzata l’intelligenza artificiale rappresentano un campo molto vasto, che va dal Data Mining (ossia l’estrapolazione di informazioni da collezioni di dati di dimensioni enormi, tramite tecniche di automatizzazione) ad una piu’ ampia eterogeneita’ di attivita’ quali il riconoscimento del parlato, di figure, fino alla dimostrazione di teoremi e giochi. La logica su cui si fondano i modelli regolamentati da questa disciplina puo’ essere di due tipi, bivalente oppure fuzzy. La prima si rifa’ ai principi aristotelici, di cui nei paragrafi successivi si illustreranno i punti salienti, la seconda invece consente di esprimere le conoscenze in un linguaggio non matematico, liberandosi cosi’ dai vincoli dei modelli stessi ed effettuando dunque una valutazione a-modellistica. Inoltre, essa ci permette un’estensione della logica a valori multipli, in modo da poter emulare l’approssimazione che il cervello umano opera nel contesto di un ragionamento. 1 Chapter 1 Introduzione Al termine inglese fuzzy si associano letteralmente traduzioni come “crespo”, “sfrangiato”, ma risultano abbastanza inadeguate e dunque si sono ricercate corrispondenze piu’ interpretabili come “sfumato” o “sfuocato”, sebbene nessuna di esse possiede quel significato ironico, proprio del termine inglese. Tale logica sfumata fu proposta nel 1964 dallo statunitense Zadeh e le prime applicazioni in cui ebbe successo furono un sistema di controllo di un generatore di vapore e la regolazione della temperatura di una fornace. 2 2 Fuzzy logic La logica fuzzy si fonda sulla teoria degli insiemi “sfumati” in cui le variabili non sono valori numerici ma attributi linguistici, i quali ci permettono di suddividere gli elementi per gradi di appartenenza. Tale logica ha la peculiarita’ di avvicinarsi molto al pensiero dell’uomo nel modo in cui essa rappresenta i ragionamenti, per cui vi e’ un emulazione del processo cognitivo umano basata sull’utilizzo di regole empiriche ed approssimate in luogo dell’analiticita’ delle formule matematiche prese in considerazione nei controlli tradizionali. Per quanto appena descritto i sistemi fuzzy risultano essere i piu’ adeguati quando si riscontra incertezza e disturbi nell’acquisizione dei dati e nel caso di processi che non siano lineari ne’ tempo-invarianti. Infatti, per la rappresentazione di questi ultimi, possiamo fare affidamento a regole matematiche ben precise, ragion per cui affidarsi ad un modello analitico e’ di gran lunga la scelta piu’ efficiente ed ottimale; quando invece ci si ritrova a confrontarsi con sistemi soggetti a variazioni e difficili da descrivere (caratterizzati dunque da forte non-linearita’) la logica fuzzy si lascia preferire rispetto ai metodi esatti. Un vantaggio nell’uso della teoria fuzzy e’ sicuramente la sua facilita’ di comprensione e di utilizzo in quanto similare al ragionamento dell’uomo. Essa e’ prevalentemente impiegata nei sistemi di controllo e in quelli di supporto decisionale, quali possono essere esempio del primo caso i regolatori presenti nei condizionatori, mentre un esempio della seconda tipologia si puo’ considerare un sistema di previsione meteo. Proprio per questi ultimi tipi di sistemi la logica fuzzy risulta notevolmente piu’ vantaggiosa rispetto ai sistemi decisionali tradizionali basati sulla ricerca operativa o piu’ in generale su regole matematiche. Infatti, quando bisogna produrre una scelta sulla base di metodi analitici, si sceglie all’interno dello spazio delle ipotesi quella ritenuta piu’ valida, ossia quella che aderisce meglio e si avvicina di piu’ alla determinata funzione obiettivo nel rispetto dei vincoli fissati. Grazie alla funzione target quindi e’ possibile generare un ordinamento tra le ipotesi, in modo da selezionare quella che si ritiene migliore, mentre lo spazio di tali possibili alternative si definisce attraverso l’introduzione dei suddetti vincoli. Tutto cio’ non accade nella teoria fuzzy, poiche’ vincoli ed obiettivi vengono considerati in ugual maniera ed espressi mediante delle funzioni d’appartenenza. Inoltre, il ruolo nel sistema che si assegna a ciascuno di essi e’ gestito tramite regole linguistiche, pertanto lo scopo di tale logica e’ quello di fornire delle informazioni senza 3 Chapter 2 Fuzzy logic dover obbligatoriamente specificare a priori se esse siano obiettivi oppure rappresentino dei vincoli. 2.1 Confronto con la logica bivalente La logica bivalente e’ un tipo di ragionamento assolutamente dicotomico, che potremo sintetizzare come logica del vero o falso, del si e del no, in cui ciascuna entita’ del discorso non lascia spazio ad asserzioni intermedie. Sin dall’antica grecia ha assunto il ruolo di logica predominante, nonostante siano ben noti i suoi limiti e i suoi punti deboli; tuttavia tale tipo di logica, che prende anche il nome di aristotelica, aderisce in maniera inadeguata alle problematiche reali con cui gli esseri umani devono confrontarsi, per cui in contesti pratici piu’ che concettuali la logica fuzzy offre notevoli benefici. Già Albert Einstein sottolineo’ tali difficolta’, le quali possono essere sintetizzate ricordando la celebre frase: “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à”. Le fondamenta su cui verte la logica aristotelica possono essere sinteticamente riassunte nel principio di non contraddizione (“Non è lecito affermare che qualcosa sia e non sia nello stesso modo ed allo stesso tempo”) , secondo il quale un determinato elemento z appartenente ad un insieme Z non può appartenere anche al suo complemento !Z, ed il principio del terzo escluso (“Tertium non datur” ) in cui si impone che l’unione di tra un insieme ed il suo complemento da’ origine all’universo del dominio preso in considerazione, a cui ogni elemento z apparterra’. Quanto appena descritto si puo’ tradurre in un esempio semplice che ci consente di evidenziare i limiti della logica bivalente. Se si considera la velocita’ di un veicolo e si ragiona secondo i principi aristotelici si otterranno due insiemi distinti e la cui intersezione vale zero, in cui un insieme raggruppera’ tutti i valori di velocita’ considerati alti e l’altro quelli bassi. Per determinare tale suddivisione e’ chiaramente necessario stabilire un valore di soglia, ad esempio 80 km/h, che ci consenta di discriminare gli elementi per confronto. Operando in questo modo pero’, il rigore della logica bivalente ha procurato la perdita del valore e della ricchezza semantica del linguaggio naturale, per cui non avremo velocita’ medie, ne’ abbastanza basse o abbastanza alte, in piu’ otterremo disparita’ di giudizio nel caso in cui le distanze tra piu’ valori dovessero essere di gran lunga differenti. Cio’ e’ evidente se si pensa che una velocita’ di 79 km/h e’ ritenuta bassa allo stesso modo di una di 9 km/h, sebbene siano distanti 90 unita’, mentre una velocita’ di 81 km/h nonostante sia molto molto vicina a quella presa in considerazione viene considerata diversamente e discriminata come alta. Per superare tale limite ci si basa su insiemi fuzzy in luogo degli insiemi tradizionali, abbandonando cosi’ la logica aristotelica ed entrando nel merito della fuzzy logic. Un 4 2.2 Descrizione di un sistema fuzzy insieme di questo tipo e’ una collezione di oggetti il cui confine non e’ ben delineato e dunque un elemento puo’ essere incluso in piu’ set. Cio’ avviene con l’ausilio di funzioni che ad ogni oggetto associano un valore o grado di appartenenza. Tale funzione assume valori nell’intervallo [0, 1] in cui lo 0 rappresenta il grado minore di appartenenza e l’1 quello maggiore. Si possono considerare gli insiemi tradizionali come un caso particolare di fuzzy set dove sono ammessi solo due valori di appartenenza, 0 e 1, che ci indicano se un elemento appartiene completamente o meno ad un insieme. Si puo’ dunque concludere che il concetto di appartenenza degli elementi fuzzy presenta continuita’ e che la transizione tra l’appartenenza e la non appartenenza non e’ netta come nella logica bivalente ma risulta graduale, traendo notevoli benefici nell’applicazione di tale tipo di logica al linguaggio naturale. 2.2 Descrizione di un sistema fuzzy Un modello di tipo fuzzy e’ costituito principalmente da quattro elementi e si puo’ illustrare come nella figura di seguito: Come si puo’ notare gli ingressi vengono manipolati dai tre blocchetti che rappresentano i processi fondamentali di un sistema di questo genere e si generano le uscite. Le informazioni necessarie affinche’ tali blocchetti siano in grado di elaborare correttamente gli ingressi sono racchiuse nella base di conoscenza, la quale si puo’ analizzare separatamente come base di dati e base di regole. La prima e’ composta dall’insieme delle variabili e delle relative funzioni di appartenenza, mentre nella seconda sono raccolte le regole linguistiche di inferenza. 5 Chapter 2 Fuzzy logic Dal momento che in ingresso i dati sono soventemente espressi in forma bivalente e’ necessario convertire questi ultimi attraverso un processo di fuzzificazione; cio’ avviene stabilendo per ciascun valore di tipo bivalente e per la relativa variabile linguistica dei gradi di appartenenza. Poiche’ l’uscita che si desidera produrre e’ di tipo numerico, sara’ conseguentemente necessario un processo di defuzzificazione, il quale pero’ non e’ consecutivo a quello appena descritto bensi’ tra i due processi si interpone l’inferenza. Quest’ultima assegna lo stato delle uscite in base alla peculiare configurazione degli ingressi che si tiene in considerazione, sfruttando le informazioni fornite dalla base di conoscenza. Solo a questo punto e’ prevista la fase di defuzzificazione , in cui si produce un valore bivalente che rappresentera’ l’uscita finale del sistema e potra’ essere utilizzato come azione di controllo. 6 3 Insiemi fuzzy La teoria dei fuzzy sets e’ un’estensione della teoria degli insiemi tradizionale, secondo la quale preso in considerazione un dominio, in cui Z rappresenta l’universo, un elemento z di tale universo si relaziona ai sottoinsiemi di Z mediante delle funzioni di appartenza. Cio’ vale a dire che, sia f una di queste funzioni, essa potra’ assumere soltanto due valori: • fI (z) = 1 se z appartiene all’insieme I • fI (z) = 0 se z non appartiene all’insieme I La logica fuzzy differisce da questo tipo di logica classica in quanto introduce una membership, ossia un grado di appartenenza di un elemento ad un determinato insieme. La funzione di appartenenza dunque non potra’ assumere soltanto due valori, 0 e 1, ma potra’ variare all’interno di un intervallo reale che ha come estremi proprio 0 e 1. Per definizione un fuzzy set contiene quindi l’insieme delle coppie ordinate formate dagli elementi z e dalle relative funzioni di appartenenza f ; chiamato S tale insieme, si avra’ che: S = {(z, fs (z)) | z Z} Inoltre, si puo’ scrivere: ´ • S = x fS (z)/z se l’insieme Z e’ continuo • S= P n fS (zn )/zn se l’insieme Z e’ discreto In tali notazioni i simboli facenti riferimento alla sommatoria e all’integrale rappresentano l’unione, invece “/” indica la relazione tra l’elemento e il valore di appartenenza. Nel contesto della logica fuzzy, un insieme di tipo tradizionale viene identificato con il termine crisp, in cui la funzione di appartenenza e’ ovviamente di tipo booleano. E’ peraltro possibile passare da un fuzzy set ad uno crisp mediante delle semplici operazioni di corrispondenza. Si definisce supporto dell’insieme di tipo fuzzy (che denotiamo con S) l’insieme C(S) formato dagli elementi di Z i quali risultano avere come grado di appartenenza a Z stesso un valore non nullo. Tale set C(S) sara’ di tipo crisp. 7 Chapter 3 Insiemi fuzzy C(S) = {z Z | fs (z) > 0} Allo stesso modo si puo’ definire un supporto-alpha di S che si origina dall’insieme degli elementi di Z i quali risultano avere come grado di appartenenza a Z stesso un valore maggiore di una determinata soglia alpha. Sα = {z Z | fs (z) > α} Inoltre, un insieme fuzzy assume l’attributo singleton nel caso in cui esso sia composto da un unico elemento di Z. Si puo’ poi definire un nucleo di un fuzzy set come l’insieme crisp composto da tutti gli elementi di Z i quali risultano avere come grado di appartenenza in S un valore pari ad 1. A tale set non devono appartenere altri elementi al di fuori di quelli appena descritti e lo denotiamo con N(S). N (S) = {z Z | fs (z) = 1} Se il nucleo non e’ un insieme vuoto allora il fuzzy set si dira’ normale. Si dira’ invece convesso un insieme fuzzy che rispettera’ la seguente definizione: ∀z, t Z, ∀y [0, 1] ⇒ fs (yt + (1 − y)t) ≥ min(fs (z), fs (t)) 3.1 Funzioni di appartenenza Le funzioni di appartenenza ci permettono di definire il grado di membership di un elemento rispetto ad un insieme e nel caso di set continui vengono identificate da espressioni analitiche, mentre nel caso in cui i set dovessero risultare discreti allora tali funzioni verranno rappresentate da coppie di valori numerici. Per ciascuna variabile fuzzy e’ importante definire differenti funzioni di appartenenza relative ai corrispettivi valori (di tipo linguistico) che esse possono avere, situazione facilmente rappresentabile con un esempio se si pensa al costo di oggetto (puo’ essere alto, moderato, medio, economico..). Le funzioni che sceglieremo ci determineranno anche l’evoluzione del sistema fuzzy in quanto influenzeranno i processi di fuzzificazione e defuzzificazione operati rispettivamente sugli ingressi e sulle uscite. La prima operazione ci consente di ottenere il grado di appartenenza di ogni valore che 8 3.1 Funzioni di appartenenza una variabile posta in ingresso ad ogni insieme fuzzy puo’ assumere. La defuzzificazione invece restituisce un valore reale per la variabile in uscita prendendo in considerazione quanto ottenuto attraverso il processo di inferenza. E’ buona regola, quando si definiscono le funzioni di appartenenza di una medesima variabile, assicurarsi che non vi siano parti dell’universo del dominio preso in considerazione che risultano scoperte. Tale obiettivo si puo’ perseguire sovrapponendo in maniera parziale le differenti funzioni di appartenenza della variabile stessa. I due insieme fuzzy posti nelle estremita’ dell’insieme di definizione vengono rappresentati da funzioni di appartenenza destra (se si tratta del limite inferiore) o sinistra (nel caso opposto di limite superiore). Le principali funzioni di cui si fa largo utilizzo sono quelle che elenchiamo di seguito. 3.1.1 Funzione triangolare Siano Vs il valore massimo e Vis , Vid i due estremi : 3.1.2 Funzione trapezoidale Siano Vss, Vsd i valori minori e maggiori dell’intervallo di massimo e siano Vid e Vis gli estremi: 9 Chapter 3 3.1.3 Funzione Right Trapeze Sia Vss il valore di massimo e Vis il valore estremo: 10 Insiemi fuzzy 3.1 Funzioni di appartenenza 3.1.4 Funzione Left Trapeze Sia Vsd il valore di massimo e Vid il valore estremo: 3.1.5 Funzione Left Triangle Sia Vis il valore di massimo e Vs il valore estremo: 11 Chapter 3 Insiemi fuzzy 3.1.6 Funzione Right Triangle Sia Vs il valore di massimo e Vid il valore estremo: 3.1.7 Funzione a Campana Essa e’ ottenibile utilizzando i parametri della funzione di appartenenza triangolare e sostituendo ai segmenti retti degli archi di parabola, o in alternativa usando una gaussiana con media e varianza fissa. 12 3.1 Funzioni di appartenenza 3.1.8 Funzione Right Gaussian 3.1.9 Funzione Left Gaussian 13 Chapter 3 Insiemi fuzzy 3.2 Operazioni sugli insiemi fuzzy E’ possibile definire numerose operazioni sui fuzzy set, alcune in analogia alla teoria degli insiemi tradizionale altre specifiche della logica in questione. Presi in considerazione due insiemi fuzzy X e Y inclusi nell’universo Z e indicate con fX e fY le rispettive funzioni d’apparteneza, si definiscono cosi’ le operazioni che seguono. 3.2.1 Uguaglianza Due insiemi fuzzy X e Y si definiscono uguali se e solo se le loro funzioni di appartenenza risultano identiche in tutto Z: X = Y ⇔ fX (z) = fY (z) ∀z Z 3.2.2 Inclusione L’insieme fuzzy X è contenuto in Y se e solo se la sua funzione di appartenenza risulta essere minore della medesima di B in tutto X: X ⊆ Y ⇔ fX (z) ≤ fY (z) ∀z Z 3.2.3 Intersezione (AND) L’ intersezione di X e Y definiti in Z risulta essere a sua volta un insieme di Z, la cui funzione di appartenenza sara’: fX∩Y (z) = min(fX (z), fY (z)) ∀z Z 3.2.4 Unione (OR) L’unione di X e Y definiti in Z risulta essere a sua volta un insieme di Z, la cui funzione di appartenenza sara’: fX∪Y (z) = max(fX (z), fY (z)) 14 ∀z Z 3.2 Operazioni sugli insiemi fuzzy 3.2.5 Complemento (NOT) Il complemento di un fuzzy set X definito in Z risulta essere a sua volta un insieme di Z, la cui funzione di appartenenza sara’: fX (z) = 1 − fX (z) ∀z Z 3.2.6 Normalizzazione Tale operazione porta ad uno il massimo della funzione di appartenenza di un insieme fuzzy X. Questo avviene determinando il massimo attuale della funzione di appartenenza relativa ad X e dividendo tale funzione per il seguente valore: fN ORM (X)(z) = fX (z)/ max(fX (z)) ∀z Z 3.2.7 Concentrazione Su un insieme fuzzy X e’ possibile eseguire un’operazione di concentrazione manipolando relativa funzione di appartenenza, facendo si che il divario tra il grado di appartenenza degli elementi con membership più alta e gli altri aumenti. Una concentrazione di X e’ conseguibile ad esempio elevando al quadrato la funzione di appartenenza in questione, ottenendo cosi’ che le fX più alte subiscono una riduzione minore: fCON (X)(z) = (fX (z))2 ∀z Z 3.2.8 Diluizione È il duale della concentrazione, riduce dunque la concentrazione della funzione di appartenenza, facendo si che accrescano notevolmente i valori membership degli elementi il cui grado di appartenenza risulta essere meno elevato: fDIL (X)(z) = q fX (z) ∀z Z 15 Chapter 3 Insiemi fuzzy 3.2.9 Somma algebrica La somma algebrica di due insiemi fuzzy X e Y definiti in Z risulta essere a sua volta un insieme fuzzy di Z, la cui funzione di appartenenza sara’: fX+Y (z) = fX (z) + fY (z) − fX (z) fY (z) ∀z Z 3.2.10 Prodotto algebrico Il prodotto algebrico di due insiemi fuzzy X e Y definiti in Z risulta essere a sua volta un insieme fuzzy di Z, la cui funzione di appartenenza sara’: fX∗Y (z) = fX (z) ∗ fY (z) ∀z Z 3.2.11 Somma limitata La somma limitata di due insiemi fuzzy X e Y definiti in Z risulta essere a sua volta un insieme fuzzy di Z, la cui funzione di appartenenza sara’: fX⊕Y (z) = min(1, fX (z) + fY (z) ∀z Z 3.2.12 Prodotto limitato Il prodotto limitato di due insiemi fuzzy X e Y definiti in Z risulta essere a sua volta un insieme fuzzy di Z, la cui funzione di appartenenza sara’: fX⊗Y (z) = max(0, fX (z) + fY (z) − 1) ∀z Z Dalle operazioni sugli insiemi fuzzy prese in considerazione si possono evidenziare delle differenze notevoli con la teoria tradizionale. Infatti, a differenza degli insiemi crisp, l’unione tra X e !X (cioe’ il suo complemento) non restituisce per forza l’insieme universo, allo stesso modo in cui l’intersezione tra X e !X non ci restituisce obbligatoriamente un insieme vuoto. In ogni caso le operazioni appena descritte si possono estendere anche al caso in cui gli insiemi X e Y non siano definiti nel medesimo universo del dominio e per farlo si introducono le definizioni di norma e conorma triangolare, concetti base per interpretare successivamente le relazioni fuzzy. 16 3.3 Norma triangolare 3.3 Norma triangolare proprieta’ elencate di seguito: • commutativa: T(a,b) = T(b,a) • associativa: T(a,T)b,c)) = T(T(a,b),c) • monotonia: T(a,b) > T(c,d) se a > c e b > d • identita’: T(a,1) = a • intersezione fuzzy: a ∧ b = min(a,b) • prodotto algebrico: a*b = a b • prodotto limitato: a⊗b = max(0, a + b - 1) 3.4 Conorma Triangolare La si puo’ definire come una funzione T, il cui dominio risulta essere [0,1]x[0,1] ed il codominio [0,1], sulla quale sono valide le stesse proprietà elencate prima per la norma triangolare. La differenza sostanziale riguarda l’elemento, che non e’ piu’ 1 ma viene rimpiazzato dallo 0, la cui modifica implica una differente proprietà d’identità: • identita’: T’ (a,0) = a • unione fuzzy: a ∨ b = max(a,b) • somma algebrica: a•b=a+b-ab • somma limitata: a ⊕ = min(1, a + b) 3.5 Relazioni fuzzy Nella teoria degli insiemi tradizionale si puo’ definire una relazione ennaria come un sottoinsieme del prodotto cartesiano xX1 X2 . . . xXn , ovvero come un set di ennuple ordinate x1 , . . . , xn con xi Xi . Tale definizione valida per gli insiemi crisp si puo’ estendere nel contesto della logica fuzzy, infatti se consideriamo degli insiemi fuzzy H1 , . . . , Hn definiti rispettivamente in X1 , . . . , Xn , il loro prodotto cartesiano risulta essere ancora un insieme fuzzy definito in X1 x..xXn e rappresentato con una funzione di appartenenza che si ottiene mediante una norma triangolare. Si suole utilizzare prevalentemente come norme il prodotto algebrico e l’intersezione fuzzy : f H1 , ..., Hn (x1 , ..., xn ) = f H1 (x1 ) ∗ ... ∗ f Hn (xn ) 17 Chapter 3 Insiemi fuzzy f H1 , ..., Hn (x1 , ..., xn ) = min (f H1 (x1 ), ..., f Hn (xn )) Denotata con R una relazione fuzzy ennaria, essa si puo’ rappresentare come un insieme fuzzy in X1 x. . . xXn definito mediante una funzione di appartenenza fR : X1 x ... xXn → [0, 1] Dunque per definizione: R = {(x1 , ..., xn ), fR (x1 , ..., xn ) | (x1 , ..., xn ) X1 x ... xXn } E’ possibile ottenere delle relazioni fuzzy binarie semplicemente applicando degli operatori di norma triangolare T o conorma triangolare T’ a due insiemi fuzzy A e B, definiti rispettivamente negli universi X e Y. Tali relazioni prenderanno il nome di congiunzione fuzzy, nel caso si sia applicata T, e di disgiunzione fuzzy, se si e’ applicata T’. Congiunzione fuzzy : fAandB (x, y) = ( fA (x)) T (fB (y)) Disgiunzione fuzzy : fAorB (x, y) = ( fA (x)) T 0 (fB (y)) Si possono inoltre stabilire delle operazioni sulle relazioni fuzzy stesse. Infatti, se si considerano due relazioni binarie J,K definite in XxY, e’ possibile effettuare un’operazione di unione tra loro mediante l’utilizzo di una conorma triangolare qualunque; applicando il medesimo operatore di unione definito per gli insiemi fuzzy ad esempio si otterra’ la seguente relazione: fJ∪K (x, y) = max(fJ (x, y), fK (x, y)) ∀x, y XxY Analogamente l’intersezione e’ ottenibile applicando la norma triangolare, in tale caso l’operatore di minimo, ottenendo quanto segue: fJ∩K (x, y) = min(fJ (x, y), fK (x, y)) ∀x, y XxY Un ulteriore operatore su due relazioni fuzzy definite su universi diversi e’ quello di composizione, per cui considerate J,K come due relazioni fuzzy definite rispettivamente in XxY e in YxZ, il risultato di tale operazione risulta essere un fuzzy set J°K definito nell’universo XxZ, la cui funzione di appartenenza sara’: fJ°K (x, z) = max Y ((fJ (x, y), T (fK (y, z))) ∀x, y, z XxY xZ Sono molteplici gli operatori di norma triangolare T che si possono usare quando si definiscono le relazioni fuzzy, ma principalmente si suole scegliere il prodotto 18 3.6 Regole fuzzy algebrico oppure l’operatore di minimo , da cui si ottengono le due tipologie di composizione più frequentemente utilizzate: Composizione max-min: fJ°K (x, z) = max Y (min(fJ (x, y), fK (y, z))) ∀x, y, z XxY xZ Composizione max-product: fJ°K (x, z) = max Y (fJ (x, y) ∗ fK (y, z)) ∀x, y, z XxY xZ Quasi sempre accade che la composizione coinvolge un insieme ed una relazione, infatti se consideriamo A come un fuzzy set definito in X e J una relazione fuzzy definita in XxY, la composizione di A con R sara’ in un insieme fuzzy B definito in Y e si potra’ rappresentare come segue (sempre utilizzando le due tipologie di composizione appena enunciate): fB (y) = max X (min(fA (x), fJ (x, y))) fB (y) = max X (fA (x) ∗ fJ (x, y)) ∀x, y XxY ∀x, y XxY 3.6 Regole fuzzy La logica fuzzy ci permette di tradurre le conoscenze empiriche umane in costrutti formali, in modo tale da permetterne un’elaborazione numerica interpretabile e gestibile mediante una macchina. Le fondamenta su cui verte tale teoria sono principalmente due, le funzioni di appartenenza e le regole d’inferenza fuzzy. Queste ultime sono responsabili proprio dell’interpetazione numerica e quantificabile delle conoscenze acquisite attraverso l’esperienza, pertanto rappresentano una descrizione formale del sistema. Di solito una regola fuzzy si esprime con una struttura if-then come quella proposta di seguito: if x is A then y is B che si puo’ espirmere anche come implicazione fuzzy A → B. Ciascuna implicazione si puo’ definire cosi’: 19 Chapter 3 Insiemi fuzzy fA → B(x, y) = fA (x)=fB (y) in cui = e’ l’operatore di implicazione. Le due funzioni di implicazione piu’ spesso utilizzate utilizzano rispettivamente il prodotto algebrico e la norma triangolare di minimo e sono le seguenti: fA → B(x, y) = fA (x) ∗ fB (y) fA → B(x, y) = min(fA (x), fB (y)) Dunque una regola fuzzy corrisponde ad una relazione fuzzy. 20 4 Applicazioni della fuzzy logic La logica fuzzy puo’ essere utilizzata in molti contesti, ad esempio puo’ risultare utile per affrontare dinamiche professionali quali la compravendita di azioni, la valutazione di strategie di mercato, puo’ trovare riscontri in ambito medico e diagnostico o anche in applicazioni meno complesse come la regolazione di sistemi autonomi. Quest’ultima e’ il caso dell’automatizzazione di un sistema di ventilazione all’interno dei comuni climatizzatori di cui di seguito si descrive il funzionamento. L’obiettivo è quello di regolare la velocità del motore di ventilazione in modo da far aumentare il flusso d’aria nel caso in cui la temperatura dell’ambiente circostante dovesse innalzarsi o viceversa nel caso di abbassamento. Suddividiamo dunque il dominio della temperatura in 5 categorie, fredda, fresca, ottimale, calda, caldissima; possiamo rappresentare ciò mediante dei triangoli fuzzy che delimitano una sezione termica su un piano cartesiano delineato sulle ascisse dai volori di temperatura e sulle ordinate dai gradi di appartenenza. Caratteristica degli insiemi fuzzy e’ la sovrapposizione, che in questo caso si puo’ notare nelle intersezioni tra i triangoli. Si sono dunque suddivise le categorie in base ai seguenti criteri: • Freddo = porzione del primo triangolo da 0° a 17.5° • Fresco = porzione del secondo triangolo da 12.5° a 22.5° • Ottimale = porzione del terzo triangolo da 20° a 25° • Caldo = porzione del quarto triangolo da 22.5° a 32.5° • Caldissimo = porzione del quinto triangolo da 30° a salire 21 Chapter 4 Applicazioni della fuzzy logic Successivamente consideriamo il dominio riguardante l’intensita’ della ventilazione riconoscendo altre 5 categorie, bassissima, bassa, regolare, alta, altissima, rappresentato anch’esso con triangoli fuzzy. Le regole sono ricavate empiricamente a seconda delle sensazioni soggettive e per questo esempio si sono stabilite quelle che seguono: 1. In caso di temperatura fredda, il ventilatore procede a regime bassissimo 2. In caso di temperatura fresca, il ventilatore procede a regime basso 3. In caso di temperatura ottimale, il ventilatore procede a regime regolare 4. In caso di temperatura calda, il ventilatore procede a regime alto 5. In caso di temperatura caldissima, il ventilatore procede a regime altissimo Tali regole, fondate sull’esperienza, possono essere ampliate numericamente, aggiungendo dunque piu’ triangoli e modificandone le proprieta’ geometriche (ad esempio aumentando o diminuendo la lunghezza dei suoi lati e l’ampiezza dei suoi angoli). Inoltre, all’aumentare della quantita’ di regole corrisponde una perdita di iniettivita’ delle funzioni, per cui si potranno avere piu’ corrispondenze sulle ascisse per una stessa ordinata. 22 Applicazioni della fuzzy logic Si consideri ad esempio la temperatura di 21.5 °C, essa sara’ discriminata come valore ottimale con grado di appartenenza pari a 0.61 e contemporaneamente come fresco con grado di appartenenza 0.22; per tutti gli altri insiemi tale grado sara’ nullo. Tracciando l’ordinata corrispondente al punto 21.5 °C intercettano due triangoli, ragion per cui dovranno essere rispettate due regole (la numero 2 e la numero 3) e si dovra’ dunque tener conto di ambedue quando si andra’ a manipolare la ventilazione (uscita). Di conseguenza si otterrano i due contributi che seguono: 1. V1 = 0.62 • Vmax (temperatura "ottimale": il ventilatore gira a poco piu’ della metà della velocità massima) 2. V2 = 0.22 • Vmax (temperatura "fresca": il ventilatore gira a circa 1/5 della velocità massima) Ovviamente, il ventilatore deve girare ad una velocità unica. Nel caso considerato ve ne sono due (se fossero state attivate più regole, si sarebbero ottenuti altrettanti valori) e quindi occorre defuzzificare i risultati in modo da fornire un unico valore al processore che controlla il ventilatore in base alla temperatura dell’ambiente. L’uscita del sistema si otterrà sommando i 2 triangoli e defuzzicando l’insieme oppure prendendo il suo valore medio, in modo tale che il sistema rallenterà per permettere all’aria di riscaldarsi minimamente. Si puo’ concludere osservando che nel caso della climatizzazione quando l’utente imposta come 22 ºC, un sensore misura la temperatura dell’ambiente circostante 23 Chapter 4 Applicazioni della fuzzy logic ed il software di controllo con logica fuzzy adegua l’intensita’ di ventilazione per soddisfare le richieste dell’utilizzatore. Si tratta dunque di un climatizzatore automatico, in cui la persona fisica necessita solo di una scelta riguardante la temperatura desiderata, dopodiche’ il sistema procedera’ ad una regolazione autonoma. 24 5 Conclusioni Quanto proposto in questa tesi lascia spazio ad alcune considerazioni sugli insiemi e sulla logica fuzzy. Si e’ evidenziato come tale tipo di teoria risulti essere piu’ efficiente e pratica nel misurarsi con problemi reali, poiche’ essa consente di superare i limiti della logica tradizionale e di operare al di fuori del rigore analitico e concettuale. Si e’ inoltre adoperato un confronto con la logica bivalente, la quale, sebbene sia molto piu’ vicina al linguaggio macchina e alle dinamiche dei calcolatori, riscontra notevoli difficolta’ quando applicata a sistemi naturali ed e’ molto piu’ distante dal ragionamento dell’essere umano. Si sono conseguentemente illustrate le caratteristiche di un sistema fuzzy, distinguendo i diversi moduli che lo compongono ed enunciando i processi di fuzzificazione, inferenza e defuzzificazione che scandiscono gli stati intermedi al fine di produrre un uscita numerica. Tale tipo di logica si basa sulla teoria degli insiemi fuzzy e dunque si e’ proceduto a definire i fuzzy set, le funzioni di appartenenza, le operazioni, le relazioni e le regole contestuali, evidenziando le differenze con gli insiemi classici. Si sono poi mostrate le applicazioni in cui la logica fuzzy e’ comunemente utilizzata, prendendo in analisi un esempio in cui si desidera regolare la ventilazione di un condizionatore; per tale esempio si sono assegnate delle variabili linguistiche in luogo dei valori, definito quindi degli insiemi fuzzy, scelto come funzione di appartenenza una funzione triangolare e si e’ proceduto ad automatizzare l’intensita’ di ventilazione in base ad una temperatura desiderata. Sebbene il procedimento risulti automatizzato, si sono forniti comunque al sistema dai range di discriminazione delle temperature in base a sensazioni soggettive dell’ implementatore. Obiettivo dell’intelligenza artificiale e’ quello di svincolare da questo processo la presenza di scelte arbitrarie effettuate da esseri umani, per cui un’ottimizzazione dell’esempio proposto consiste nell’addestrare parte del sistema al fine di selezionare autonomamente tali range di differenziazione. Cio’ a cui si ambisce e’ dunque lo sviluppo di una macchina in grado di stabilire in maniera indipendente delle regole fuzzy, al fine di apprendere ed elaborare informazioni contestuali al dominio che si desidera analizzare. 25 Bibliography [1] Braghini S., Mazzucchi F., Teoria dei fuzzy set e controllo di processo, 1998 [2] Cammarata S., Sistemi a logica fuzzy – Come rendere intelligenti le macchine – seconda edizione rinnovata e aggiornata, Etas Libri, 1997 [3] Driankov D., Hellendoorn H., Reinfrank M., An Introduction to Fuzzy Control, Springer-Verlag, 1993 [4] Kosko B., Il fuzzy-pensiero – Teoria e applicazioni della logica fuzzy, Baldini e Castoldi, 1997 [5] Marks R.J. II, Fuzzy Logic Technology and Applications, IEEE Technology Update Series, 1994 [6] Pedrycz W., Fuzzy control and fuzzy systems – second extended edition, Research Studies Press LTD, 1995 [7] Power J., Ryan M., Yan J., Using fuzzy logic, Prentice Hall International, 1994 [8] Zimmermann H.-J., Fuzzy Set Theory – and Its Applications, Second, Revised Edition, Kluwer Academic Publishers, 1991 27