Fuzzy logic and fuzzy sets

annuncio pubblicitario
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
Scarica