valutazione di uno studente con logica fuzzy

annuncio pubblicitario
UNIVERSITÀ DEGLI STUDI DI PALERMO
FACOLTÀ DI SCIENZE MATEMATICHE,
FISICHE E NATURALI
CORSO DI LAUREA INFORMATICA
VALUTAZIONE DI UNO STUDENTE
CON LOGICA FUZZY
RELATORE
Prof. Biagio Lenzitti
LAUREANDO
Fabio Cusenza
Matricola
0524130 CORRELATORE
Prof. Enzo G. Munna
ANNO ACCADEMICO 2010/2011 Sommario Introduzione .................................................................................... 3
Capitolo 1 : Stato dell’arte
1.1 – Stato dell’arte ............................................................... 7
1.2 – Obiettivi e risultati attesi ........................................... 10
Capitolo 2 : Introduzione alla logica fuzzy
2.1 – la logica bivalente ...................................................... 11
2.2 – La logica aristotelica .................................................. 12
2.3 – Le difficoltà della bivalenza ...................................... 14
2.4 – La logica bivalente .................................................... 16
2.5 – Bivalenza contro polivalenza .................................... 18
2.6 – La logica fuzzy .......................................................... 20
Capitolo 3 : La logica fuzzy
3.1 – Introduzione ............................................................... 23
3.2 – Impiego della logica fuzzy ........................................ 25
3.3 – Definizioni ................................................................. 27
3.4 – Le funzioni di appartenenza ...................................... 29
3.5 – Operazioni sugli insiemi fuzzy .................................. 35
3.6 – Relazioni fuzzy .......................................................... 39
3.7 – Regole e implicazioni fuzzy ...................................... 42
3.8 – Il processo di inferenza .............................................. 45
3.9 – Variabili linguistiche ................................................. 48
3.10 – Struttura di un sistema fuzzy ................................... 49
3.11 – Progettazione di un sistema fuzzy ........................... 54
Capitolo 4 : La valutazione scolastica
4.1 – Introduzione ............................................................... 61
4.2 – Architettura del sistema ............................................. 63
4.3 – Gli insiemi fuzzy ....................................................... 64
4.4 – Struttura del database ................................................ 67
4.5 – Modello per l’acquisizione dei dati ........................... 70
1 4.6 – Insieme delle regole ................................................... 75
4.7 – Fuzzificazione ............................................................ 76
4.8 – Defuzzificazione ........................................................ 79
Capitolo 5 : Case study
5.1 – Le simulazioni ........................................................... 83
5.2 – I risultati ..................................................................... 92
5.2 – Esempio pratico di una simulazione .......................... 97
Conclusioni e sviluppi futuri ..................................................... 100
Bibliografia .................................................................................. 101
2 INTRODUZIONE
Lo sviluppo delle nuove tecnologie e la crescita inarrestabile di
modelli di insegnamento-apprendimento sempre più flessibili ed
efficaci, basati sull’utilizzo delle tecnologie stesse, stanno
determinando la nascita di una nuova società che possiamo definire
“società cognitiva”.
È una società che richiede un profondo rinnovamento delle
istituzioni formative e dei modi di trasmettere ed acquisire il
sapere; le scuole, ed in particolare le Università, devono essere
capaci di far fronte ad un mercato del lavoro sempre più aperto e
flessibile.
Il ruolo dei docenti, all’interno del processo formativo, e,
soprattutto del processo di valutazione del discente, muta
radicalmente poiché, si trovano ad acquisire nuove e complesse
competenze.
Prima di ogni cosa serve sgomberare il campo da possibili
fraintendimenti e precisare cosa si intende per valutazione: valutare
significa attribuire o dichiarare il valore di qualcosa, significa
valorizzare qualcosa in funzione di uno scopo. Valutare nella
scuola è l’individuazione e ricerca di ciò che ha valore (negli
apprendimenti,
negli
insegnamenti,
nell’istituzione)
per
la
formazione della persona.
Per essere tale un’attività valutativa dovrà considerarsi:
-
Un’attività di pensiero produttivo: la valutazione deve produrre
qualcosa di nuovo; e quel qualcosa deve essere funzionale alla
regolazione, al cambiamento, alla crescita, allo sviluppo;
3 -
Un’attività di pensiero comparativo: la valutazione è sempre
frutto di un confronto tra due o più entità;
-
Un’attività di pensiero critico: la valutazione, attraverso il
confronto delle idee, punta alla ricerca di conferme e di
confutazioni, nel dubbio e nella critica, per produrre
informazioni necessarie per decidere e per agire;
-
Un’attività di pensiero ermeneutico: la valutazione vive di
interpretazioni e congetture, radicate nei mondi di colui che
valuta.
La valutazione si rappresenta concretamente come un sistema di
attività, tecniche e strategie che accompagnano tutto il percorso
formativo ( la valutazione non si fa solo alla fine, com’è banale
consuetudine, ma comincia con l’analisi dei bisogni, del contesto,
della situazione iniziale).
Le tecniche valutative comprendono l’osservazione sistematica (per
riscontrare lo stato delle conoscenze), l’osservazione esperienziale
(per l’analisi dei comportamenti), la rilevazione dei dati (per
misurare risposte, risultati,…), la verifica delle ipotesi e del
raggiungimento degli obiettivi; ma la valutazione non si identifica e
non si esaurisce con l’applicazione di alcune tecniche.
La valutazione non deve cercare soltanto il senso (il significato
personale rispetto ad un mondo di significati), deve invece
spingersi a cercare ciò che vale in quel senso, il positivo che
diventa base di partenza di percorsi formativi, le qualità per
assumere decisioni consapevoli, i talenti per valorizzare ogni
soggetto.
Il valutatore di qualità dovrà puntare alla trasparenza e alla
condivisione della valutazione istituita, rimanendo comunque
sempre consapevole dell’ingerenza dei fattori umani, soggettivi e
personali, che naturalmente si interpongono nei processi formativi:
4 questa consapevolezza arricchisce tanto la valutazione quanto
l’azione formativa.
Bisogna essere coscienti del fatto che la valutazione di una persona
è sempre soggettiva. L’isolamento dell’insegnante è un freno
continuo all’innovazione e al miglioramento. Le nuove norme
sollecitano azioni in team di docenti, in gruppi di lavoro, in
dipartimenti per aree disciplinari, e per progetti trasversali. Tali
azioni comprendono attività di progettazione, di pianificazione, di
produzione dei materiali, di gestione dei gruppi di studenti, ed
anche di valutazione. La scuola dell’autonomia comporta una
valutazione plurale e condivisa, non individualista. La valutazione
di una sola persona è una valutazione ad elevata probabilità
d’errore, in quanto la percezione soggettiva si piega e si conforma
ai propri schemi cognitivi e mentali, alle proprie esperienze e ai
propri vissuti. Le distorsioni dovute all’effetto alone, che enfatizza
una caratteristica a detrimento di altre, o anche all’effetto
Pigmaglione, che modella l’allievo sulla base delle proprie
previsioni, devono essere superate con la triangolazione dei punti di
vista. Il principio di triangolazione sostiene che per ridurre la
soggettività valutativa è opportuno che l’osservazione sia effettuata
da almeno tre persone. Il principio della triangolazione non intende
sfiduciar le osservazioni individuali e soggettive, bensì valorizzarle
nel confronto per ottenere un risultato con un valore aggiunto
superiore e più ricco rispetto alla somma delle parti. Osservare
qualcosa da più punti di vista significa comprenderla meglio,
condividere significati e valori, ad un livello di profondità
irraggiungibile da un singolo valutatore.
In consiglio di classe, per esempio, non si dovrebbero
semplicemente accostare i voti che ciascun insegnante attribuisce;
non ha senso: tanto varrebbe consegnare gli elenchi in segreteria.
5 Se ha un senso la valutazione nel consiglio di classe, quel senso si
ritrova nella condivisione di un obiettivo che tutti concorrono a
raggiungere.
E quando non si può essere in tre? Naturalmente nelle molteplici
situazioni scolastiche non è sempre possibile valutare utilizzando la
triangolazione dei punti di vista. In tal caso si rende necessaria la
triangolazione tecnico-strumentale, dove, per ridurre la soggettività
dell’insegnante, è opportuno che costui metta in atto una
molteplicità di tecniche e di strumenti, sia misurativi ( come le
prove di verifica), sia descrittivi e narrativi (come resoconti e
rapporti), strumenti che vanno usati in modo equilibrato.
In un discorso che si allaccia bene a come cercare di eliminare gli
errori dovuti alla soggettività nella valutazione scolastica possiamo
inserire l’utilizzo della logica fuzzy, oggetto della tesi in
osservazione, che descriveremo in maniera dettagliata nei
successivi capitoli.
6 CAPITOLO 1 : INTRODUZIONE
1.1 - STATO DELL’ARTE
Il progetto oggetto di studio della tesi è incentrato sulla didattica e
nello specifico della valutazione dello studente, sia da un punto di
vista qualitativo e sia da un punto di vista quantitativo.
Ci sono diverse esperienze basate sull’utilizzo delle nuove
tecnologie, con l’obiettivo di perseguire una politica di qualità della
formazione favorendo al tempo stesso la ricerca di soluzioni e lo
sviluppo innovativo di nuove tecnologie dell’informazione e
comunicazione applicate alla didattica.
Una di queste esperienze è quella sviluppata da Gaetano Manzulli e
Alessandro Salentino che hanno sviluppato il progetto “Insegnante
Virtuale”, teso ad un mirato intervento educativo e di recupero per
la prevenzione dei casi di insuccesso e dell’abbandono scolastico. Il
progetto, iniziato nel 2007/08 è nato al fine di rendere disponibili
agli allievi contenuti secondo percorsi educativi utilizzabili in modo
personalizzato sia dal punto di vista della costruzione individuale
del sapere, sia dal punto di vista dell’accessibilità nei modi e nei
tempi ad essi più congeniali.
Utilizzando un codice multipiattaforma come il “C” è stato
possibile realizzare un umanoide e quindi rendere possibile la
presentazione di contenuti utilizzando un modello di “Insegnante
Virtuale”. Tale insegnante, realizzato secondo i canoni della
modellazione parametrica e cioè con la possibilità di controllare e
modificare il modello agendo su una serie di parametri a
disposizione dell’utente, può essere l’interfaccia idonea ad esporre
contenuti specifici realizzati dai docenti. Questi contenuti saranno
poi rivolti verso una classe anch’essa virtuale e rappresentata da
7 chiunque accedendo alla piattaforma web dell’istituto possa fruire
di questi nei tempi e neo luoghi voluti.
Per quanto riguarda la piattaforma di e-learning si è scelta quella di
“DOCEBO” per la sua possibilità di personalizzare il modello
didattico in funzione delle esigenze dei docenti/tutor garantendone
quindi un uso semplice e flessibile.
Progetto che possiamo definire più ambizioso ma che si rifà molto a
quello appena visto è quello sviluppato dal dottor Hossein
Sarrafzadeh dell’istituto di Informatica e Scienze Matematiche
della neozelandese “Massey University” che ha creato “Eve”, un
sistema di insegnamento affettivo.
In pratica si tratta di un insegnante virtuale che può adattare le sue
risposte e comportamenti allo stato emozionale dello studente che
sta interagendo con lei. Eve coglie il linguaggio del corpo e le
espressioni facciali ed è in grado di valutare se l’allievo è frustrato,
annoiato o confuso durante la sessione di insegnamento calibrando
il proprio intervento didattico.
Per sviluppare il software di questo sistema il team di Massey ha
osservato le interazioni degli allievi con gli insegnanti e ha
catturato migliaia di loro immagini, gesti e movimenti del corpo
partendo dalle quali ha sviluppato procedure che permettono di
memorizzare e di riconoscere l’espressione del viso e persino la
frequenza cardiaca ed altri significativi segnali biologici.
Tra le varie esperienze che stiamo trattando trova posto anche
quella proposta dal professor Antonio Maturo dell’Università “G.
D’Annunzio” di Chieti-Pescara. Il sistema sviluppato da Maturo si
avvicina molto a quello che è oggetto di studio di questa tesi e ha
come obiettivo quello di arrivare a valutare lo studente secondo
8 variabili che costituiscono un insieme internamente coerente, allo
stesso modo del gruppo di principi fondanti di una costituzione.
Mentre nelle prime esperienze viste in questo capitolo la didattica
veniva trattata più da un punto di vista qualitativo dove magari si
andava ad analizzare come lo studente riusciva ad apprendere, nel
progetto di Maturo, come anche in quello proposto in questa tesi, si
analizza la valutazione scolastica da un punto di vista più
quantitativo analizzando come la valutazione dello studente può
subire variazioni in relazioni a più fattori.
Inoltre nei primi progetti proposti le reti neurali costituiscono la
parte fondamentale del progetto, l’utilizzo della logica fuzzy
avveniva solo in piccola parte, inserita per esempio nel caso del
progetto dell’insegnante virtuale all’interno della piattaforma di elearning per gestire le varie componenti come età, altezza, peso,
etc. al fine di sviluppare l’insegnante secondo il modello stabilito,
nel caso dell’ultimo progetto visto invece ha un ruolo centrale.
Nella valutazione la soggettività è un criterio fondamentale, motivo
per cui la teoria fuzzy, per il significato stesso del termine inglese (
sfumato, indistinto ), dovrebbe essere la più indicata per
rappresentarla.
9 1.2 - OBIETTIVI E RISULTATI ATTESI
L’obiettivo, come scritto anche precedentemente, è quello di
arrivare a valutare lo studente secondo variabili che costituiscono
un insieme internamente coerente. Il funzionamento di tale sistema
deve essere tale che per ogni valutazione si attivino, ognuna in una
certa misura tutte le variabili proposte.
La teoria fuzzy deve riuscire a rendere più efficace il sistema di
valutazione, ossia ottenere un risultato che vada al di là della
registrazione di una verifica, orale o scritta, basata su una scala di
valori numerici di tipo discreto.
Quindi, se da un lato è la natura stessa della teoria a suggerire
l’accostamento al problema della valutazione, dall’altro subentra la
necessità di elaborare un procedimento rigoroso basato su un
sistema di variabili.
Partendo da un sistema di variabili iniziali, che descrivono sia le
singole valutazioni ottenute dallo studente sia aspetti più qualitativi
come l’atteggiamento tenuto dallo stesso, bisogna arrivare
attraverso il procedimento rigoroso di cui si parlava prima a quel
valore d’uscita che sarà la valutazione finale relativa allo studente
sotto esame ottenuta dando un determinato “peso” a tutte le
variabili che hanno influito sul voto.
Quello che ci si aspetta è che il sistema fuzzy ci dia una stima
pressoché vicina a quella che il docente svolte ogni giorno nel
sistema di valutazione scolastica, solo che, nel caso del sistema
fuzzy, abbiamo escluso l’errore dovuto alla soggettività della
valutazione.
10 CAPITOLO 2 : INTRODUZIONE ALLA LOGICA FUZZY
2.1 - LA LOGICA BIVALENTE
Chiamata anche tradizionale, classica e binaria, la logica bivalente
nasce oltre duemila anni fa, esattamente quando alcuni filosofi
dell’antica Grecia iniziarono a parlarne e a formularne ipotesi.
Il termine “LOGICA” deriva infatti dalla parola “logos” ragione.
Alla base del pensiero del filosofo del “PANTA REI” c’era il
collegamento tra gli opposti: l’universo è composto da coppie di
opposti ( caldo e freddo; salute e malattia ) che si alternano e
combattono l’un l’altro. Ma questa visione degli opposti gli ha
permesso di sopraffare la natura caotica del mondo, affermando che
una cosa può essere contemporaneamente vera e falsa, sostenendo
così che l’unità dei contrari è un aspetto indissolubile della realtà e
“dell’eterno divenire delle cose”: le cose fredde si scaldano, il caldo
si fredda, l’umido si secca e ciò che arido s’inumidisce. La realtà è
dunque un’armonia prodotta dall’equilibrata tensione di forze
opposte. Comunque potremo dire che esso introdusse la dicotomia
dell’essere o non essere (vero o falso).
Più avanti Parmenide ne rappresentò il contrario, mentre Democrito
fu il primo a dicotomizzare l’universo in atomi neri e bianchi.
Platone, invece, riempì il suo mondo di forme pure, del rosso, del
giusto, della triangolarità e così via, passando il suo sapere al
discepolo Aristotele, il quale si dimostrò il vero artefice della logica
bivalente, stendendo quelle che ritenne fossero le leggi dicotomiche
(<< o bianco o nero>>) della logica.
11 2.2 - LA LOGICA ARISTOTELICA
Molti non sanno che la cultura del mondo occidentale affonda le
sue radici nello sviluppo che le varie discipline della conoscenza
umana ebbero nell’età ellenistica.
Quello fu un periodo in cui la ricerca scientifica raggiunse risultati
cospicui nei campi della matematica, della fisica, dell’astronomia e,
per essere ritenute valide, tutte queste discipline erano chiamate a
rispettare regole emanate dalla logica. Esse, nelle loro strutture
formali, distinguevano i ragionamenti corretti da quelli scorretti.
Aristotele ne è stato il massimo esponente. Egli sostiene l’assurdità
logica di affermare e negare al tempo stesso, e l’impossibilità
ontologica che un certo essere sia, e contemporaneamente non sia. I
suoi principi hanno influenzato in modo determinante il metodo
scientifico occidentale e hanno lasciato in eredità la logica bivalente
secondo cui ogni enunciato può essere solo vero o solo falso. Nei
suoi trattati fa riferimento a tre principi fondamentali: “Il principio
di identità, il principio di non contraddizione, e quello del terzo
escluso: il primo afferma che ogni essere A è uguale a se stesso
(A=A); il secondo esclude che il medesimo essere A possa,
contemporaneamente, e sotto lo stesso rispetto, risultare tanto B
quanto non-B; il terzo afferma che A risulterà o B o non-B, essendo
esclusa qualsiasi altra possibilità”.
Da allora questi tre principi furono riassunti in uno, ben noto come
principio di non contraddizione e rappresentato come “A o non-A”,
principio che ha pervaso il pensiero scientifico-matematico fino ad
oggi.
Se vogliamo fare un piccolo esempio, lo stesso PC costituisce
l’invenzione più rappresentativa del nostro tempo; gli elementi di
12 base dell’elaborazione hanno la stessa struttura della logica
bivalente, usando 0 o 1, presenza o assenza, “A o non-A”,
meritandosi l’etichetta di unica logica corretta.
13 2.3 - LE DIFFICOLTA’ DELLA BIVALENZA
Occorre evidenziare che il nostro modo di affrontare le situazioni
reali abbia portato a realtà con ben poco di bivalente.
Sin da quei tempi si erano sollevati dubbi e critiche. Zenone si
avventurò in un quesito particolare: raccolse un granello di sabbia
da un mucchio ed iniziò a chiedersi se il mucchio era ancora un
tale, non riuscendo, però, mai a trovare il granello di sabbia che
cambiasse il mucchio in un non-mucchio, cioè che lo cambiasse da
A a non-A. Semmai, continuando a togliere granelli di sabbia,
sembrava ottenere un mucchio e un non-mucchio, A e non-A,
lasciandosi nel dubbio.
Più avanti nel tempo Bertrand Russel scoprì il paradosso del
mentitore di Creta nei fondamenti della matematica moderna. Il
mentitore di Creta, asserendo che tutti i cretesi erano mentitori,
domandava se egli stesso aveva mentito: se aveva mentito, non
aveva mentito, e se non aveva mentito, aveva mentito. Sembrava,
così, che egli avesse mentito e non-mentito allo stesso istante.
Un altro esempio, forse stupido, è quello di prendere in mano una
mela. È
una mela? Si. Ora stacchiamone un boccone,
mastichiamolo e lasciamo che il nostro apparato digerente separi le
molecole della mela. L’oggetto che abbiamo in mano è ancora una
mela? O no? Stacchiamone un altro boccone. È ancora una mela?
Diamo ancora un altro morso, e così via fino a finirla. La mela è
mutata da una cosa in una non-cosa, in nulla. Ma dove ha
oltrepassato la linea di demarcazione tra mela e non-mela? La
mezza mela mette quindi in crisi le descrizioni in termini di tutto o
niente, ma potremo dire oggi che essa è una mela FUZZY, è il
14 grigio o il chiaroscuro fra il bianco e il nero: il FUZZY è il
CHIAROSCURO.
Noi stessi potremmo definirci FUZZY, dato che, invecchiando,
quindi, cellula dopo cellula, molecola dopo molecola, cessiamo
lentamente di essere noi stessi per diventare dei nuovi non-noi
stessi.
Lo stesso Albert Einstein dubitò del principio dicotomico che
governava la scienza, la matematica, la logica esprimendosi così:
“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à”.
Matematici e filosofi, già da quei tempi, avevano cercato di
imbellettare questi fondamenti vincolati alla dicotomia <<bianco o
nero>> per sbarazzarsi dei paradossi del <<chiaroscuro>>. Ma il
problema è che i paradossi restano così come la riflessione su di
loro.
15 2.4 - LA LOGICA BIVALENTE
Si è quindi intuito da quanto scritto nei paragrafi precedenti che la
gran parte dei ragionamenti nella vita quotidiana si svolgono in
condizioni di incertezza. Nel linguaggio naturale si possono
riscontrare anche tre tipi d’imprecisione:
1. Imprecisione dovuta alle generalità: si ha quando un termine
denuda una molteplicità di oggetti.
2. Imprecisione dovuta alle ambiguità: si ha quando a un’unica
espressione fonetica sono abbinati più significati.
3. Imprecisione dovuta alla vaghezza: si ha quando sono vaghe le
relazioni tra il linguaggio ed il mondo, per cui i confini delle parole
non sono netti.
Queste spingono a chiederci il perché è stato fatto sempre
affidamento alla logica bivalente, quando la vita propone, al
contrario, ragionamenti con base estremamente polivalente.
Questo problema è ancora presente nel mondo occidentale
nonostante la consapevolezza dell’esistenza, a differenza di quanto
non accorda in quell’orientale: lì è presente un modo di ragionare e
vivere la vita diversamente, a causa della divulgazione di una
cultura nata molto prima della nostra e che aveva come portavoce
Budda.
Budda visse in India cinque secoli prima di Gesù e due prima di
Aristotele, e il suo primo passo del suo sistema dottrinario fu quello
di sfondare il mondo verbale delle alternative <<o bianco o nero>>.
Oggi i suoi insegnamenti costituiscono la base del pensiero
orientale e sono diffusi in Cina, Giappone, Corea ed altri paesi dove
le riflessioni sulle contraddizioni sono strumenti praticati ancora
nelle scuole buddiste. Il buddista famoso Ibidem scrisse: “Poiché la
16 natura di Budda è nell’animo di ciascuno di noi, l’illuminazione ed
il nirvana sono in noi stessi, e dentro di noi dobbiamo cercarli,
attraverso l’ascetismo e la meditazione. Quest’ultima non deve
essere condizionata ad alcun risultato pratico particolare, deve
essere cioè senza intenzione, priva di ogni attaccamento sia pure
verso Budda. Perché fosse astratto da ogni contesto affettivo o
struttura logica, il pensiero veniva concentrato su paradossi senza
tempo”.
Questa riflessione ci fa capire, quindi, che il terreno culturale creato
da Budda ha permesso, nell’area in cui si è diffuso, la formazione
di una mentalità predisposta alla polivalenza, all’osservazione, alla
considerazione della realtà nelle varie sfumature e nella sua
indeterminatezza, principi questi propri della logica fuzzy.
17 2.5 - BIVALENZA CONTRO POLIVALENZA
Dopo aver puntualizzato le due colonne portanti di questo studio,
ora
potremo
confrontarle
per
darci
un’idea
chiara
della
problematica con cui abbiamo che fare.
Come già detto dietro i nostri istinti bivalenti c’è la logica di
Aristotele dove ci aspettiamo che ogni enunciato <<ben formato>>
sia vero o falso, non più o meno vero o alquanto falso, A o non-A.
Nella logica bivalente una contraddizione implica qualsiasi cosa e
consente di dimostrare e confutare qualsiasi enunciato. I
matematici, ad esempio, esaminano attentamente i loro assiomi per
evitare che implichino enunciati che si contraddicano l’un l’altro
anche se finora nessuno ha dimostrato che gli assiomi della
matematica
moderna
non
conducono
a
enunciati
che
si
contraddicano fra loro. Non è detto che domani le cose stiano
ancora così facendo crollare la struttura della matematica moderna.
La logica fuzzy affronta in pieno questa intolleranza la cui proprietà
comincia dove iniziano le contraddizioni, dove A e non-A valgono
in una certa misura.
È il misticismo orientale ad offrire gli unici grandi sistemi dottrinali
che accettano le contraddizioni, sistemi che funzionano sulla base
dell’A e non-A, dello yng e dello yang. Quindi alla base dello
scontro fra bivalenza e polivalenza, c’è un’equazione di cui la
bivalenza nega l’esistenza, mentre la polivalenza dice che esiste in
una certa maniera (solo nei casi estremi vale totalmente o non vale
affatto): tale equazione viene chiamata equazione appunto yngyang.
A = non-A
18 In logica essa indica bi-condizionalità: A implica non-A, e non-A
implica A, cioè la tazza mezza vuota implica che la tazza è mezza
piena e viceversa.
19 2.6 - LA LOGICA FUZZY
Gli studiosi italiani che si sono occupati di logica sono concordi nel
dire che non esiste nella nostra lingua un vocabolo che esprima il
significato del termine inglese “fuzzy”. Letteralmente gli
corrispondono i termini <<coperto di lanugine>>, <<peloso>>,
<<crespo>>, ma l’inadeguatezza di simili traduzioni ha spinto a
cercare
vocaboli
più
appropriati,
quali
<<sfumato>>,
<<sfuocato>>, <<confuso>> o <<chiaroscurale>>. Nessuna di
queste espressioni però è in grado di sostituire il termine fuzzy e
nessuna di esse possiede quel significato ironico che ha consentito
di rilanciare un settore della logica fino ad allora definito da
aggettivi più moderati.
Il padre di tale termine è LOFTI A. ZADEH a cui va il merito di
aver usato per la prima volta le basi della matematica fuzzy e lo
stesso termine con la pubblicazione dello storico articolo “Fuzzy
Sets” sulla rivista “Information and Control” nel 1965.
Nonostante Zadeh occupasse una delle più alte cariche in ambito
accademico, il suo lavoro produsse una reazione mista: alcuni
matematici accolsero con entusiasmo le nuove idee; ma la maggior
parte delle reazioni si raggruppava tra lo scetticismo e l’aperta
ostilità. Venticinque anni dopo Zadeh si espresse così:
“La tradizione cartesiana del rispetto per ciò che è quantitativo e
preciso, e il disprezzo per ciò che è qualitativo e impreciso è troppo
radicata per essere abbandonata senza resistenza. L’assunto di base
di questa tradizione è stato espresso sinteticamente da Lord Kelvin,
uno tra i più eminenti intelletti del diciannovesimo secolo, nel
1883. Egli scrisse: “Nelle scienze fisiche un primo essenziale passo
nella direzione di apprendere una qualche materia e quello di
20 trovare principi di calcolo numerico e metodi praticabili per
misurare alcune qualità ad essa connesse. Spesso affermo che
quando puoi misurare quello di cui stai parlando ed esprimerlo in
numeri, allora conosci qualcosa di esso; ma se non puoi misurarlo,
se non puoi esprimerlo in numeri, la tua conoscenza è di un tipo
insoddisfacente: potrebbe essere l’inizio della conoscenza, ma nei
tuoi pensieri sei appena approdato allo stato di scienza, di
qualunque questione si tratti.”
Quello che Zadeh vuole quindi dirci è che anziché adattare il
mondo alla precisione dei nostri strumenti di rivelazione, occorre
adattare quest’ultimi al mondo. Se la logica binaria ci costringe ad
una precisione artificiosa, facciamo ricorso ad un requisito meno
stringente e più generale, che tenga conto della vaghezza
(Fuzzyness) del mondo reale. Gli assunti alla base della proposta di
Zadeh sono due: il mondo reale è impreciso e vago; egli propone
una notazione logico-matematica che chiama <<Logica Fuzzy>>,
che codifichi l’imprecisione del mondo reale e l’incertezza del
nostro giudizio su di esso. Ogni volta che ci troviamo a lavorare
con quelle che lui definisce <<variabili linguistiche>>, ovvero con
variabili categoriali, incontriamo difficoltà a tradurne le modalità in
insiemi dai contorni precisi, cui gli oggetti possono essere assegnati
senza ambiguità. <<Giovane>>, <<non molto giovane>>, <<di
mezza età>>, ecc. sono etichette verbali che corrispondono ad
insiemi sfumati, caratterizzati cioè da funzioni d’appartenenza non
binarie. La funzione di appartenenza degli insiemi che rispettano il
requisito della mutua esclusività può assumere solo due valori (o se
l’oggetto non appartiene all’insieme, 1 se vi appartiene); l’analoga
funzione fuzzy può assumere qualsiasi valore tra 0 e 1. In questo
modo, una persona che giudichiamo <<abbastanza giovane>>
appartiene, poniamo, per lo 0,70 alla classe dei giovani e per lo
0,30 a quella dei non giovani. Secondo la logica fuzzy
21 <<giovane>> e <<non giovane>> sono i poli di un continuum tra i
quali esistono molte gradazioni; anziché tracciare un confine netto
tra A e non-A (giovane e non-giovane) in corrispondenza di un
punto scelto in modo più o meno arbitrario, la logica Fuzzy traccia
una curva che descriva come la proprietà <<essere giovane>> passi
gradatamente dal manifestarsi in grado pieno al non manifestarsi
affatto.
L’appartenenza binaria è un caso speciale dell’appartenenza fuzzy:
quando sopprimiamo ciò che sta in mezzo ai due poli otteniamo le
due classi individuate dalla logica binaria.
L’idea che diede particolare importanza a Zadeh va ritrovata nel
massimo contributo, che lo stesso fornì alla matematica
introducendo, quale nuovo approccio nei confronti di tale
disciplina, proprio gli insiemi fuzzy. Mentre i suoi colleghi usavano
sempre più una matematica specialistica e studiavano sempre più i
sistemi complessi, Zadeh fece un passo indietro, accorgendosi che
quanto più complesso diventava il sistema tanto minore era il
significato degli enunciati precisi. Scoprì, cioè, quello che più
avanti chiamò il principio di incompatibilità: più cresce la
precisione, più decresce l’aderenza alla realtà. Nel 1962 Zadeh
propose quest’innovazione radicale nell’articolo intitolato “From
Circuit Theory to System Theory” dove introdusse il termine
<<fuzzy>> per la polivalenza.
22 CAPITOLO 3 : LA LOGICA FUZZY
3.1 - INTRODUZIONE
Come detto nel capitolo precedente la maggior parte dei concetti
con cui le persone hanno a che fare ogni giorno sono soggettivi,
difficili da quantificare e classificare con sicurezza. Come esempio
si è considerata l’altezza di una persona: quando una persona è alta?
Secondo la logica matematica tradizionale si dovrebbe stabilire un
limite preciso al di sopra del quale le persone si possono
considerare alte: per esempio le persone che misurano almeno 178
cm sono alte, le altre non lo sono. Si comprende come una
definizione di questo tipo sia poco rappresentativa del modo di
pensare umano. È molto più naturale pensare all’insieme delle
persone alte come ad un insieme che degrada in modo più o meno
regolare, a partire dalle persone che sono inequivocabilmente alte
per arrivare a quelle che certamente non lo sono.
Risulta perciò evidente che l’appartenenza di una persona
all’insieme degli alti non segue i canoni della logica tradizionale,
non è esprimibile facilmente con un si o un no. Tale appartenenza è
invece descritta molto meglio definendo per ogni persona un certo
grado di appartenenza, che esprime quanto la persona appartiene
all’insieme degli alti. Stessi ragionamenti si potrebbe ripetere per
concetti come velocità elevata, prezzo economico e così via.
La teoria della logica fuzzy si basa sulla definizione di insiemi
sfumati di questo tipo, al fine di ottenere una rappresentazione più
realistica di grandezze e concetti che sono per loro natura graduali,
non dicotomici. Le variabili fuzzy non sono numeriche, ma
linguistiche, ed assumono proprio valori come “alto”, “basso”,
“freddo”, “caldo”.
23 La seconda caratteristica che avvicina la logica fuzzy al modo di
pensare umano è il suo modo di rappresentare i ragionamenti. Di
solito i controlli impiegano formule matematiche e metodi numerici
per stabilire la corrispondenza tra le variabili d’ingresso e quelle
d’uscita.
Il
ragionamento
umano
è
invece
caratterizzato
dall’utilizzo di regole empiriche, a volta approssimative, dovute al
buon senso o all’esperienza, ma difficilmente traducibili in termini
analitici. Anche in questo caso la teoria fuzzy si rifà ai criteri
decisionali umani, usando regole linguistiche e non matematiche
per definire il modo in cui le variabili si influenzano tra loro.
Nel guidare un’automobile eseguiamo continuamente azioni basate
su ragionamenti del tipo: se la velocità è elevata e l’ostacolo è
vicino, premi forte sul pedale del freno; se la velocità è moderata e
l’ostacolo si trova a media distanza, premi leggermente sul pedale
del freno. Qualunque guidatore esegue spontaneamente e
istantaneamente ragionamenti del genere, mentre risulta più
difficile quantificare in modo preciso la forza in newton da
applicare al pedale del freno in corrispondenza di una certa velocità
in chilometri orari e di una certa distanza dall’ostacolo in metri. Le
regole linguistiche fuzzy sono analoghe alle regole descrittive
empiriche qui espresse, e non richiedono l’uso di formule o di
complessi modelli analitici. Grazie a questo modo di ragionare i
sistemi fuzzy si comportano in modo soddisfacente proprio in
quelle situazioni che una persona saprebbe gestire con facilità, ma
che risultano le più difficili da affrontare con metodi analitici.
I sistemi fuzzy sono i più adatti a lavorare in condizioni di
incertezza e di disturbi nell’acquisizione dei dati. Si adattano bene a
processi variabili nel tempo o fortemente non lineari, e quindi
difficili da rappresentare con modelli matematici. Caratteristica
24 della logica fuzzy è la notevole facilità di uso e di comprensione,
dovuta alla sua affinità con il ragionamento umano.
3.2 - IMPIEGO DELLA LOGICA FUZZY
I sistemi gestiti con logica fuzzy sono in rapida espansione in molti
campi. Le grandi aree di utilizzo sono prevalentemente due: i
sistemi di controllo e i sistemi esperti o di supporto decisionale.
Esempi di applicazioni del primo tipo sono la regolazione di
umidificatori e condizionatori, l’eliminazione delle vibrazioni e
così via. Tra le applicazioni decisionali si possono citare sistemi di
compravendita di azioni e di valutazione del rischio, sistemi per le
previsioni metereologi che e geofisiche e così via.
In molti sistemi fuzzy le variabili d’ingresso sono espresse da valori
numerici ed è richiesto un valore numerico anche per le risposte che
il sistema deve fornire. In tali situazioni si presenta la necessità di
creare un’interfaccia tra il ragionamento fuzzy e il modello dei
numeri. A questo scopo si utilizzano le operazioni di fuzzificazione
e defuzzificazione, che trasformano un valore numerico in uno
fuzzy e viceversa. Tra queste due fasi si inserisce il processo
d’inferenza fuzzy, che fa corrispondere agli ingressi le uscite
appropriate.
Tornando ai sistemi fuzzy di supporto decisionale, essi offrono un
vantaggio concettuale rispetto ai sistemi decisionali basati sulla
ricerca operativa o altri metodi analitici. Quando si deve operare
una scelta basandosi sull’utilizzo di metodi analitici, ci si trova di
fronte ad uno spazio decisionale, finito o infinito, contenete le
alternative possibili. Si cerca allora di trovare l’alternativa che
25 massimizza una certa funzione obiettivo, rispettando nel contempo
una serie di vincoli. La funzione obiettivo permette di ordinare le
alternative secondo un grado di preferenza, mentre i vincoli
limitano lo spazio delle alternative. La scelta della funzione
obiettivo, che deve essere formulata analiticamente, e la definizione
dei vincoli risultano perciò determinanti sull’esito del processo. Nei
casi in cui si vogliano conseguire più obiettivi, specie se
contrastanti, ci si trova vincolati dai limiti di questa impostazione.
Al contrario, nella filosofia fuzzy, obiettivi e vincoli sono gestiti
allo stesso modo. Entrambi sono espressi tramite funzioni
particolari di appartenenza, mentre l’importanza e il ruolo che
assumono nel sistema vengono stabiliti da regole linguistiche. In
questo modo è molto più agevole far convivere obiettivi concorrenti
e fornire delle indicazioni al sistema senza dover necessariamente
decidere se vanno usate come vincoli o come obiettivi. Vedremo in
seguito come si possono sfruttare queste opportunità.
26 3.3 - DEFINIZIONI
Nella teoria classica degli insiemi, fissato l’universo del discorso X,
un elemento x di X può appartenere o no ad un certo sottoinsieme
A di X. Si può definire una funzione di appartenenza µA(x) che
stabilisce il legame tra gli elementi x e l’insieme A, e che può
assumere due soli valori, zero o uno:
1 se x  A
µA (x) =
0 se x  A
La teoria degli insiemi fuzzy estende la teoria classica,
introducendo il concetto di grado di appartenenza all’insieme
(membership). La teoria prevede che un elemento possa
appartenere parzialmente ad un insieme, secondo una funzione di
appartenenza a valori reali [0,1]:
µA : X
[0,1]
Un fuzzy set (insieme fuzzy) A può quindi essere definito come
l’insieme di coppie ordinate costituite dagli elementi di X e dal
corrispondente valore della funzione di appartenenza:
A = {(x, µA (x)) | x  X }
Se l’insieme universo X è continuo si può rappresentare il fuzzy set
A con la notazione:
A = ∫x µA (x) / x
Viceversa, se X è discreto, si può usare la notazione:
27 A = ∑i µA (xi) / xi
In queste scritture i simboli di integrale e sommatoria indicano
un’unione, mentre il simbolo “/” non rappresenta una frazione, ma
il legame tra un valore di appartenenza e l’elemento cui si riferisce.
Nella terminologia fuzzy, un insieme di tipo classico con funzione
di appartenenza booleana viene anche detto crisp set. Esistono delle
operazioni che permettono di convertire insiemi fuzzy in
corrispondenti insiemi crisp. Si definisce supporto del fuzzy set A
l’insieme crisp S(A) costituito da tutti gli elementi di X aventi
grado di appartenenza in A non nullo:
S(A) = {x  X | µA (x) > 0}
Analogamente, viene detto supporto-α (α-cut) di A l’insieme crisp
S(A)α (o Aα) costituito dagli elementi di X aventi grado di
appartenenza in A maggiore di α:
Aα = {x  X | µA (x) > α}
Un fuzzy set viene detto singleton se il suo supporto è costituito da
un solo elemento di X.
Si definisce nucleo di un fuzzy set A l’insieme crisp K(A) costituito
da tutti e soli gli elementi di X aventi grado di appartenenza 1 in A:
K(A) = {x  X | µA (x)=1}
Un fuzzy set si dice normale se il suo nucleo contiene almeno un
elemento di X.
Viene detto convesso un fuzzy set A che soddisfi la seguente
condizione: x,y  X,  [0,1] =>
µA (x + (1 - y) ≥ min (µA (x), µA (y))
28 3.4 - LE FUNZIONI DI APPARTENENZA
Nel caso di insiemi discreti e limitati la funzione di appartenenza
può essere espressa numericamente da coppie di valori. Altrimenti
si deve definire una funzione che permetta di calcolare la
membership di un elemento tramite un’espressione analitica. A
seconda del tipo di applicazione si possono definire funzioni di
appartenenza anche molto diverse. Le seguenti sono quelle più
usate di frequente.
Funzione di appartenenza triangolare
È definita con tre parametri: i due estremi Vis e Vid e il valore di
massimo Vs
0
se x  Vis
x
Vis

Vs  Vis Vs  Vis
se x > Vis & x  Vs
x
Vid

Vs  Vid Vid  Vs
se x > Vs & x  Vid
0
se x > Vid
µi =
µi 1 Vis Vs
Vid
x
Fig. 3.1 : Funzione di appartenenza triangolare
29 Funzione di appartenenza trapezoidale
Presenta quattro parametri:gli estremi Vis e Vid e i valori inferiore
e superiore dell’intervallo di massimo Vss e Vsd.
µi =
0
se x  Vis
x
Vis

Vss  Vis Vss  Vis
se x > Vis & x  Vss
1
se x > Vss & x ≤ Vid
x
Vid

Vsd  Vid Vid  Vsd
se x > Vsd & x  Vid
0
se x > Vid
µi 1 Vis Vss Vsd
x
Vid
Fig. 3.2 : Funzione di appartenenza trapezoidale
Funzione di appartenenza Left Trapeze
È definita dal valore estremo Vid e dal valore di massimo Vsd.
1
µi =
x
Vid

Vsd  Vid Vid  Vsd
0
se x  Vsd
se x > Vsd & x  Vid
se x > Vid
30 µi 1 x
Vsd Vid
Fig. 3.3 : Funzione di appartenenza left trapeze
Funzione di appartenenza Right Trapeze
È definita dal valore estremo Vis e dal valore di massimo Vss.
se x  Vis
0
µi =
x
Vis

Vss  Vis Vss  Vis
se x > Vis & x  Vss
0
se x > Vss
µi 1
x
Vis Vss
Fig. 3.4 : Funzione di appartenenza right trapeze
Funzione di appartenenza Right Triangle
È definita dal valore estremo Vid e dal valore di massimo Vs.
0
µi =
x
Vid

Vs  Vid Vid  Vs
0
se x  Vs
se x > Vs & x  Vid
se x > Vid
31 µi 1 Vid
x
Vs
Fig. 3.5 : Funzione di appartenenza right triangle.
Funzione di appartenenza Left Triangle
È definita dal valore estremo Vis e dal valore di massimo Vs.
se x  Vis
0
µi =
x
Vis

Vs  Vis Vs  Vis
0
se x > Vis & x  Vs
se x > Vis
µi 1 Vis x
Vs
Fig. 3.6 : Funzione di appartenenza left triangle.
Funzione di appartenenza a campana
Si può ottenere con i parametri della triangolare usando archi di
parabola al posto di segmenti retti, oppure con una gaussiana
fissando i parametri µ e  della distribuzione.
32  (i )
1
2
e
1  x 
 

2  
2
Fig. 3.7 : Funzione di appartenenza a campana.
Funzione di appartenenza Left Gaussian
se x  µ
1
µi =
1
2 

e
1  x 


2  
2
se x > µ
Fig. 3.8 : Funzione di appartenenza left gaussian.
Funzione di appartenenza Right Gaussian
1
2 

e
1  x 


2  
2
se x  µ
µi =
1
se x > µ
Fig. 3.9 : Funzione di appartenenza right gaussian.
33 Per una variabile fuzzy si devono definire diverse funzioni di
appartenenza, corrispondenti ai diversi valori linguistici che la
variabile può assumere (ad esempio velocità moderata, media,
elevata). La scelta delle funzioni di appartenenza è un passo
fondamentale nella messa a punto di un sistema fuzzy, visto che
determina le caratteristiche dei processi di fuzzificazione degli
ingressi e defuzzificazione delle uscite. La fuzzificazione permette
di calcolare il grado di appartenenza di ogni valore numerico
assunto da una variabile d’ingresso ad ogni fuzzy set definito per
essa. Viceversa, la defuzzificazione calcola, a partire dal risultato
fuzzy ottenuto nel processo di inferenza, un valore reale per la
variabile in uscita.
Per le definizioni di appartenenza degli insiemi fuzzy di una stessa
variabile linguistica, un criterio di progettazione di validità generale
è fare in modo che non ci siano parti dell’universo del discorso
della variabile che rimangano scoperte. Questo si può evitare
sovrapponendo parzialmente le funzioni di appartenenza della
variabile. I due fuzzy set situati agli estremi dell’insieme di
definizione della variabile sono spesso descritti da normale funzioni
di appartenenza (limite inferiore) o sinistra (limite superiore), in
modo che i valori estremi presentino su di esse grado di
appartenenza unitario.
34 3.5 - OPERAZIONI SUGLI INSIEMI FUZZY
Molte sono le operazioni definibili sugli insiemi fuzzy, alcune
derivate dalle corrispondenti della teoria classica, altre peculiari
della fuzzy logic. Siano A e B due fuzzy set di uno stesso universo
X, aventi funzioni di appartenenza µA e µB rispettivamente. Su di
essi sono definibili le seguenti operazioni, descritte per mezzo delle
loro funzioni di appartenenza.
Uguaglianza. Due fuzzy set A e B sono uguali se e solo se le loro
funzioni di appartenenza sono uguali in tutto X:
A = B  µA (x) = µB(x)
x X
Inclusione. Il fuzzy set A è contenuto nel fuzzy set B se e solo se la
sua funzione di appartenenza è minore rispetto a quella di B in tutto
X:
A  B  µA (x) ≤ µB(x)
xX
Intersezione (AND). L’insieme intersezione di A e B definiti in X è
ancora un insieme di X, avente funzione di appartenenza:
x X
µAB(x) = min (µA (x), µB(x))
Unione (OR). L’insieme unione di A e B definiti in X è ancora un
insieme di X, avente funzione di appartenenza:
µAB(x) = max (µA (x), µB(x)) xX
Complemento (NOT). L’insieme complemento dell’insieme fuzzy
A definito in X è ancora un insieme di X, avente funzione di
appartenenza:
µA(x) = 1 - µA (x)
x X
35 E’ interessante notare che, a differenza di quanto accade per gli
insiemi crisp, l’intersezione di A e A’ non dà necessariamente
l’insieme vuoto, così come la loro unione non dà necessariamente
l’insieme universo. Si può verificare che ci si avvicina alle
situazioni tipiche della teoria classica quanto più il fuzzy set A si
“avvicina” ad un insieme classico.
Normalizzazione. Questa operazione permette di rendere un
insieme fuzzy A, portando a uno il massimo della sua funzione di
appartenenza. Per fare ciò, è sufficiente determinare il massimo
attuale della funzione di appartenenza di A e dividere tutta la
funzione per questo valore:
µNORM(A)(x) = µA (x) / max(µA (x))
x X
Concentrazione. Un fuzzy set A si può concentrare modificando la
sua funzione di appartenenza in modo tale da aumentare il divario,
in termini di grado di appartenenza, tra gli elementi aventi
membership più elevata e gli altri. Una concentrazione di A si può
ottenere per esempio facendo il quadrato della funzione di
appartenenza originale, in modo che le µA più alte si riducano
meno:
µCON(A)(x) = (µA (x))2
x X
Diluizione. È l’operazione opposta alla concentrazione, e permette
di ridurre la concentrazione della funzione di appartenenza
aumentando in modo più consistente i valori membership degli
elementi con grado di appartenenza minore:
µDIL(A)(x) = sqrt(µA (x))
x X
36 Somma algebrica. La somma algebrica di due fuzzy set A e B
definiti in X è ancora un fuzzy set di X, con funzione di
appartenenza:
x X
µA+B(x) = µA (x) + µB(x) - µA (x) µB(x)
Prodotto algebrico. Il prodotto algebrico di due fuzzy set A e B
definiti in X è ancora un fuzzy set di X, avente funzione di
appartenenza:
µAxB(x) = µA (x) x µB(x)
x X
Somma limitata. La somma limitata di A e B definiti in X è un
fuzzy set di X avente funzione di appartenenza:
µAB(x) = min(1,µA (x) + µB(x))
x X
Prodotto limitato. Il prodotto limitato di A e B definiti in X è
ancora un insieme di X, con funzione di appartenenza:
µAB(x) = max(0,µA (x) + µB(x) - 1)
x X
Le operazioni viste si possono estendere al caso in cui gli insiemi A
e B non son definiti nello stesso universo del discorso. Per fare ciò
si devono prima definire i concetti di norma e conorma triangolare,
che permetteranno di introdurre le relazioni fuzzy.
Una norma triangolare è una funzione T avente dominio [0,1]x[0,1]
e codominio [0,1], tale da soddisfare le seguenti proprietà:
-
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
-
identità:
T(a,1) = a
Fra le possibili T ci sono alcune operazioni definite in precedenza:
37 -
intersezione fuzzy:
ab = min(a,b)
-
prodotto algebrico:
a*b = ab
-
prodotto limitato:
ab = max(0,a+b-1)
Una conorma triangolare è una funzione T’ avente dominio
[0,1]x[0,1] e codominio [0,1], tale da soddisfare le stesse proprietà
valevoli per la norma triangolare. L’unica variazione è la
sostituzione dell’elemento neutro 1 con l’elemento neutro 0, e la
conseguente modifica della proprietà d’identità:
-
identità:
T’(a,0) = a
Anche tra le T’ ritroviamo operazioni già viste per fuzzy set dello
stesso universo:
-
unione fuzzy:
ab = max(a,b)
-
somma algebrica:
ab = a+b-ab
-
somma limitata:
ab = min(1,a+b)
38 3.6 - RELAZIONI FUZZY
In senso classico, una relazione n-aria è un sottoinsieme del
prodotto cartesiano X1 x…x Xn, ossia un insieme di n-uple ordinate
x1,…,xn con xiXi. In analogia alla definizione data per i fuzzy set,
si possono definire il prodotto cartesiano fuzzy e la relazione fuzzy
come estensioni dei corrispondenti concetti crisp.
Se A1,…,An sono fuzzy set definiti rispettivamente in X1,…,Xn, il
loro prodotto cartesiano è un fuzzy set definito in X1 x..x Xn, e
descritto da una funzione di appartenenza ottenuta applicando una
norma triangolare; in genere si utilizzano le due norme più comuni,
ossia l’intersezione fuzzy e il prodotto algebrico:
µA1,…,An (x1,…,xn) = min(µA1(x1),…,µAn(xn))
µA1,…,An (x1,…,xn) = µA1(x1)… µAn(xn)
Una relazione fuzzy n-aria R è un fuzzy set in X1 x…x Xn definito
da una funzione di appartenenza µR: X1 x … x Xn  [0,1]. Si può
quindi scrivere:
R = {(x1,…,xn), µR(x1,…,xn) | (x1,…,xn) X1 x…x Xn}
Per costruire relazioni fuzzy binarie, si possono applicare a due
fuzzy set A e B, definiti negli universi X e Y, degli operatori di
norma triangolare (T) o conorma triangolare (T’), ottenendo delle
relazioni dette rispettivamente congiunzione e disgiunzione fuzzy:
Congiunzione fuzzy
µAandB(x,y) = (µA(x)) T(µB(y))
Disgiunzione fuzzy
39 µAorB(x,y) = (µA (x)) T’(µB (y))
Grazie agli stessi operatori si possono definire inoltre delle
operazioni sulle relazioni fuzzy. Considerando due relazioni binarie
R e S definite in XxY, si può ottenere la loro unione tramite l’uso di
una qualsiasi conorma triangolare; applicando ad esempio
l’operatore unione usato per gli insiemi fuzzy si ottiene:
µRS(x,y) = max(µR(x,y),µS(x,y))
x,y  XxY
Allo stesso modo la loro intersezione si effettua applicando una
norma triangolare, in questo caso l’operatore di minimo:
µRS(x,y) = min(µR(x,y),µS(x,y))
x,y  XxY
E’ possibile anche definire l’operatore di composizione di due
relazioni fuzzy definite su universi diversi. Siano R e S due
relazioni fuzzy definite rispettivamente in XxY e in YxZ, la loro
composizione è un insieme fuzzy R°S definito nell’universo XxZ,
avente funzione di appartenenza:
µR°S(x,z) = maxY((µR(x,y))T(µS(y,z)))
x,y,zXxYxZ
Nel definire le relazioni fuzzy, si può scegliere tra diversi operatori
di norma triangolare T. In genere sono preferiti l’operatore di
minimo o il prodotto algebrico, che danno origine ai due tipi di
composizione più usati:
Composizione max-min
µR°S(x,z) = maxY(min(µR(x,y),µS(y,z)))x,y,z  XxYxZ
Composizione max-product (o max-dot)
µR°S(x,z) = maxY(µR(x,y)µS(y,z))
x,y,z  XxYxZ
40 spesso l’operazione di composizione riguarda un insieme ed una
relazione. Sia A un fuzzy set definito in X e R una relazione fuzzy
definita in XxY. La composizione di A con R risulta in un fuzzy set
B definito in Y ed esprimibile nei modi seguenti (usando i due tipi
di composizione visti sopra):
µB(y) = maxx(min(µA(x),µR(x,y)))
x,y  XxY
µB (y) = maxx (µA(x)µR(x,y))
x,y  XxY
41 3.7 - REGOLE E IMPLICAZIONI FUZZY
Le
conoscenze
umane
sono
spesso
empiriche,
dovute
all’esperienza, difficili da quantificare e codificare. La logica fuzzy
è in grado di tradurre conoscenze di questo tipo in costrutti formali,
direttamente elaborabili da un calcolatore.
La base della conoscenze di un sistema fuzzy è costituita da due
componenti fondamentali: le funzioni di appartenenza e l’insieme
delle regole d’inferenza fuzzy. Le regole fuzzy rappresentano il
punto di passaggio tra le conoscenze di tipo empirico descritte
sopra e la loro elaborazione numerica, ma costituiscono la tempo
stesso una descrizione formale del sistema. Infatti, una volta messe
in relazione con le funzioni di appartenenza, esse forniscono un
modello del sistema puramente numerico, su cui può lavorare anche
un calcolatore.
Una regola fuzzy è solitamente espressa con un costrutto del tipo
“if-then”, e può presentare uno o più antecedenti e uno o più
conseguenti. Una regola con un antecedente ed un conseguente
assume quindi la seguente forma:
if x is A then y is B
Una regola di questo tipo è equivalente all’implicazione fuzzy
AB. Un’implicazione fuzzy non rappresenta un’implicazione
logica usuale con la corrispondente tabella di verità, ma piuttosto
una relazione fuzzy sugli insiemi A e B. un’implicazione fuzzy è, in
effetti, un relazione vera e propria, e possiamo quindi scrivere:
µAB(x,y) = µA (x)µB(y)
con  operatore di’implicazione. È importante disporre di diverse
forme di implicazioni fuzzy per poter scegliere quella che più si
42 adatta al sistema su cui si sta lavorando. Le due funzioni
d’implicazione più usate, ossia le implicazioni fuzzy min e product,
sono anche le più semplici, e utilizzano come operatore
d’implicazione rispettivamente la norma triangolare di minimo e
quella di prodotto algebrico:
Implicazione fuzzy min (di Mamdani)
µAB(x,y) = min(µA (x),µB(y))
Implicazione fuzzy product (di Larsen)
µAB(x,y) = µA (x)  µB(y)
Una regola fuzzy corrisponde quindi ad una relazione fuzzy, ed è
proprio sulla relazione che si lavora quando si prende in
considerazione la regola che la esprime. Generalmente le regole
fuzzy sono del tipo a più ingressi ed una uscita (MISO – multiple
input, multiple output). Si presenta quindi la necessità di introdurre
delle operazioni di collegamento tra i diversi antecedenti e tra i
diversi ingressi, si usano i connettivi and e or, mentre si utilizza il
connettivo also per indicare che una regola presenta più uscite. La
forma generale di una regola (ad esempio la k-esima nella base di
conoscenza, avente n ingressi e m uscite) sarà quindi la seguente:
if x1 is Ak1 and…and xi is Aki or…or xn is Akn
then y1 is B k1 also…also ym is Bkm
Osservando che il connettivo and e l’operatore d’implicazione then
sono entrambi tradotti matematicamente da norme triangolari, si
comprende come dal loro uso congiunto si possano ottenere diversi
tipi di relazioni. Considerando solo le due norme più usate si hanno
quattro combinazioni, ovvero quattro differenti forme per la
43 relazione risultante. Le due forme più usuali sono quelle che
utilizzano la stessa norma per intersezione e implicazione.
Prima di analizzare gli aspetti della teoria fuzzy più vicini al
ragionamento umano ne completiamo la descrizione formale
illustrando come avviene l’interazione tra le due componenti della
base della conoscenza.
44 3.8 - IL PROCESSO D’INFERENZA
Il processo di inferenza permette di ricavare le grandezze in uscita
applicando le regole d’inferenza ai valori noti degli ingressi.
Ricordando che una regola fuzzy non è altro che una relazione tra
antecedente e conseguente si può comprendere come l’operazione
più adatta ad agire da congiunzione tra regole e funzioni d’ingresso
sia la loro composizione. Infatti, abbiamo già visto come dalla
composizione di una relazione R di XxY con un fuzzy set A’ di X
si possa inferire un fuzzy set B’ di Y:
B’ = A’°R con
R:AB
Chiamando A’ l’antecedente e R la regola si può ricavare il
conseguente B’ con una delle composizione del paragrafo 2.6:
Composizione max-min
µB(y) = maxx(min(µA(x),µR(x,y)))
x,y  XxY
Composizione max-product
µB (y) = maxx (µA (x)  µR (x,y))
x,y  XxY
Servendoci di esempi grafici analizziamo le due leggi d’inferenza.
La prima si ottiene dalla composizione max-min usando per regola
R un’implicazione di minimo e sfruttando la proprietà associativa
della norma triangolare:
µB’(y) = maxx (min(µA’(x),µA (x), µB (y)))
x,y  XxY
La seconda si può ricavare dalla prima sostituendo l’operatore di
minimo
con
il
prodotto
algebrico,
ossia
abbinando
una
composizione max-product con una implicazione fuzzy product:
45 µ B’ (y) = maxx (µ A’ (x)  µA (x)  µB (y))
x,y  XxY
Fig. 3.10: Legge d’inferenza con composizione max-min e
implicazione fuzzy min.
Fig. 3.11 : Legge d’inferenza con composizione max-product ed
implicazione fuzzy product.
In entrambi i casi il processo logico è analogo. Inizialmente si
interseca
l’insieme
d’ingresso
A’
con
l’antecedente
A
dell’implicazione tenendo conto che il termine intersezione può
assumere significati diversi a seconda della norma scelta.
Successivamente si valuta il massimo rispetto a x della funzione
ottenuta ricavando il valore di verità dell’ingresso rispetto alla
regola, detto anche grado di attivazione della regola. Si interseca
quindi
questo
valore
numerico
con
il
conseguente
B
dell’implicazione assegnando in questo modo a B un’importanza
data dal grado di verità dell’ingresso A’. La funzione di
appartenenza finale, definita in Y, è quella dell’insieme d’uscita B’.
Impiegando una implicazione fuzzy product, l’insieme B viene
46 moltiplicato per il grado di verità dell’antecedente mentre l’utilizzo
di una implicazione fuzzy min comporta il troncamento
dell’insieme, che diviene un trapezio avente come valore massimo
il grado di verità dell’antecedente.
Spesso si usano come ingressi dei fuzzy singleton normalizzati,
cioè insiemi fuzzy nei quali un solo elemento dell’universo ha
membership uno e tutti gli altri zero. Quando i parametri d’ingresso
sono puntuali l’introduzione di ingressi singleton non toglie
significato al processo e permette di semplificare i calcoli. Nel caso
si usino fuzzy singleton risulta indifferente la scelta tra i due tipi di
composizione. Usando fuzzy singleton, oltre all’operatore di
implicazione di deve scegliere anche l’operatore di intersezione per
l’and logico. Analizziamo una regola con due ingressi A1’ e A2’
nella quale vengono impiegati per l’and prima l’operatore di
minimo, poi il prodotto algebrico. L’implicazione scelta è in
entrambi i casi la fuzzy-product. Si può notare dal confronto delle
fig. 3.12 e 3.13 che l’impiego del prodotto algebrico come
operatore d’intersezione
produce
un
insieme
d’uscita
più
“schiacciato”, in cui il peso relativo dei valori massimi è minore.
Fig. 3.12 : and eseguito con operatore di minimo.
Fig. 3.13 : and eseguito con prodotto algebrico.
47 3.9 - VARIABILI LINGUISTICHE
Una variabile linguistica è una variabile fuzzy, che non assume
valori numerici, ma valori espressi in linguaggio naturale. I valori
che una variabile linguistica può assumere sono detti termini
linguistici. Ad esempio, alla variabile linguistica “febbre”
potremmo assegnare i valori: assente, leggera, media, alta,
altissima. L’insieme dei termini relativi ad una certa variabile è
detto “term set”. Ogni termine è associato alla variabile linguistica
cui si riferisce tramite la sua funzione di appartenenza. L’universo
del discorso della variabile è coperto da tutte le funzioni di
appartenenza dei termini ad essa associati. I term set sono costruiti
in modo da tenere in debito conto anche le condizioni di lavoro più
insolite. Molto importante è anche la sovrapposizione dei termini
linguistici, necessaria affinchè il sistema si comporti in maniera
fuzzy, attivando più regole contemporaneamente. Interessante è la
possibilità di modificare le funzioni di appartenenza degli insiemi
con l’impiego di modificatori linguistici. I più diffusi sono molto,
poco e non, che corrispondono rispettivamente alle operazioni di
concentrazione, diluizione e complemento del paragrafo 2.5. Ad
esempio, passare dall’insieme che descrive il valore alta a quello
che rappresenta il valore molto alta equivale ad applicare
l’operazione
di
concentrazione
all’insieme
di
partenza.
Fig. 3.14 : Term set della variabile “febbre”, con f. di appartenenza.
48 3.10 - STRUTTURA DI UN SISTEMA FUZZY
Un sistema fuzzy è composto da quattro unità fondamentali (fig.
3.8), ossia la base di conoscenza e le tre unità di calcolo:
fuzzificazione, inferenza e defuzzificazione.
Fig. 3.15: schema generale di un sistema fuzzy.
La base di conoscenza contiene tutte le informazioni sul sistema
che permettono alle altre unità di elaborare i dati d’ingresso per
ottenere le uscite. Tali informazioni possono essere suddivise nei
due blocchi data base e rule base. Il primo comprende la
descrizione di tutte le variabili con le loro funzioni di appartenenza,
il secondo le regole linguistiche d’inferenza. Dato che quasi sempre
i dati di ingresso sono in forma crisp e che il sistema fuzzy lavora
su insiemi “sfumati” è necessario operare una conversione, per
tradurre un dato numerico standard in un dato fuzzy. L’operazione
che attua questa conversione è la fuzzificazione che si effettua
sfruttando le funzioni di appartenenza dei fuzzy set relativi alla
variabile da trattare. Per un
valore crisp d’ingresso vengono
stabiliti dei gradi di appartenenza relativi ognuno ad un termine
linguistico della variabile.
Il motore d’inferenza è il cuore del sistema fuzzy. Utilizzando le
informazioni contenute nella base di conoscenza, esso determina lo
stato delle uscite corrispondente ad una determinata configurazione
degli ingressi. L’operazione che converte i valori fuzzy d’uscita in
49 valori numerici utilizzabili è detta defuzzificazione. In questa fase,
partendo da un particolare insieme fuzzy ottenuto con l’inferenza,
si vuole determinare un singolo valore crisp che rappresenti nel
miglior modo possibile tale insieme. Il valore ottenuto rappresenta
l’uscita finale del sistema e sarà usato come azione di controllo o
come parametro decisionale. Sono state elaborate varie strategie di
defuzzificazione,
nessuna
delle
quali
si
può
considerare
conveniente in assoluto: sta al progettista qual è la metodologia che
meglio si adatta alle esigenze poste dal problema. Tra le strategie
più usate si possono citare :
Media dei massimi. Il valore dell’uscita viene ottenuto come
media aritmetica dei valori di y in corrispondenza dei quali è
massima l’altezza del fuzzy set inferito dalle regole. Sia cioè B’ il
fuzzy set inferito dalle regole e
l’insieme dei valori di y per i quali è massima l’altezza mB’(y). Si
ha allora che:
il cui significato geometrico è riportato nella seguente figura:
50 Fig. 3.16 : rappresentazione del metodo di defuzzificazione “media
dei massimi”.
Media pesata dei centri. Il valore dell’uscita viene ottenuto come
rapporto tra la somma dei centri dei fuzzy set d’uscita pesati con i
corrispondenti valori inferiti per essi dalle regole e la somma di tali
pesi. Siano cioè bi i valori inferiti dalle regole per i diversi fuzzy set
relativi alla variabile di uscita e siano yi i centri dei diversi fuzzy
set; matematicamente si può scrivere:
il cui significato geometrico è riportato nella seguente figura:
Fig. 3.17 : rappresentazione del metodo di defuzzificazione “media
pesata dei centri”.
Metodo del baricentro. Il valore dell’uscita viene ottenuto come
ascissa del baricentro dell’area inferita dalle regole nello spazio dei
fuzzy set della variabile di uscita dell’algoritmo. La formula è:
51 nel caso continuo è:
Il metodo del baricentro è preferibile quando si cerca la miglior
soluzione di compromesso, poiché tiene conto anche dei contributi
dati dalle regole meno influenti. È in genere il più usato nei
controlli ma risulta oneroso dal punto di vista computazionale.
Centro delle somme. Il valore d’uscita viene ottenuto come nel
caso del baricentro ma con le differenze che le aree dei fuzzy set
della variabile di uscita vengono considerati singolarmente e quindi
le parti sovrapposte vengono sommate due volte. Matematicamente
si può scrivere:
che nel caso continuo diventa:
Il cui significato geometrico è riportato nella seguente figura:
52 Fig. 3.17 : rappresentazione del metodo di defuzzificazione “centro
delle somme”.
I diversi calcoli di defuzzificazione devono essere “plausibili”, nel
senso che il risultato deve essere conforme a quanto desiderato in
fase di sintesi dell’algoritmo; essi possono essere considerati in
base alla valutazione di differenti criteri:
-
continuità: un piccolo cambiamento di valore degli
ingressi non deve portare ad un enorme mutamento nel valore
dell’uscita defuzzificata. Sotto questo aspetto il metodo della
media dei massimi non dà garanzie assolute.
-
Complessità computazionale: dal punto di vista della
“leggerezza” del calcolo i metodi della media dei massimi e
della media pesata dei centri sono da considerarsi preferibili.
-
Accuratezza: dal punto di vista della “risoluzione” del
calcolo i metodi del baricentro e del centro delle somme danno
migliori prestazioni.
53 3.11 - PROGETTAZIONE DI UN SISTEMA FUZZY
Le decisioni da prendere nel corso della progettazione di un sistema
fuzzy sono molte, e spesso correlate. Viste le continue interazioni
tra le varie fasi del sistema la seguente descrizione rappresenta una
sequenza decisionale che, pur essendo logica, non può essere
considerata strettamente cronologica.
Analisi del problema
Spesso un sistema fuzzy è composto da diversi blocchi d’inferenza
interagenti tra di loro. Si avranno quindi delle variabili d’ingresso,
delle variabili d’uscita e delle variabili intermedie di collegamento
tra i blocchi. In un sistema avente dei blocchi di calcolo posti in
sequenza le uscite dei blocchi a monte vengono impiegate come
ingressi dei blocchi a valle. La prima fase della progettazione
consiste nella definizione delle variabili e del loro ruolo all’interno
del sistema, precisando ingressi e uscite di ogni blocco e legami tra
i blocchi. Completata la fase di analisi si dovrebbe poter disporre di
uno schema generale del sistema da implementare, eventualmente
rivedibile in base a feedback forniti dalle fasi successive. Le fasi
seguenti devono essere attuate per ogni blocco fuzzy costituente il
sistema, e sono: la definizione delle caratteristiche degli ingressi, la
definizione delle caratteristiche delle uscite e la progettazione
dettagliata del motore d’inferenza.
Definizione delle caratteristiche degli ingressi
Si tratta dapprima di definire l’universo del discorso di ogni
variabile, ossia l’intervallo in cui si presume siano contenuti tutti i
valori che la variabile può assumere. Se si utilizzano degli intervalli
normalizzati, utili per impiegare un unico sistema fuzzy in
54 condizioni diverse è necessaria una fase di pre-elaborazione in cui
si riconducono gli ingressi effettivi agli intervalli di definizione
impostati. Per eseguire correttamente la pre-elaborazione è perciò
necessario definire accuratamente i fattori di scala relativi a
ciascuna variabile. Si devono poi stabilire il numero di termini di
ogni variabile e la forma delle funzioni di appartenenza. Di solito
usare meno termini del necessario porta a sistemi pigri, poco
sensibili alle variazioni. Viceversa, se i termini sono troppi, si
rischia di ottenere un sistema frenetico e instabile. I numeri tipici di
funzioni di membership usate sono dispari, perché spesso è
preferibile disporre di un valore centrale.
Per quanto riguarda le funzioni di appartenenza, si è verificato che
funzioni a campana o gaussiane, con derivata prima continua,
imitano molto bene la percezione umana, e forniscono variazioni
delle uscite più graduali. Tuttavia il costo computazionale associato
ad esse può essere notevole e nei sistemi in cui il tempo di risposta
è importante vengono generalmente usate forme triangolari e
trapezoidali.
Molto importante è il grado di sovrapposizione tra le funzioni di
appartenenza. La sovrapposizione fa in modo che vengano attivate
contemporaneamente più regole, e ciò è indispensabile affinché
l’uscita sia fuzzy e non reale. La sovrapposizione tipica è quella che
fa corrispondere il punto di massimo di un termine con i limiti dei
supporti dei termini adiacenti.
Un’ultima decisione da prendere riguardo agli ingressi è la scelta
dell’operatore di fuzzificazione. Per ingressi puntuali si è visto
come l’uso di fuzzy singleton semplifichi i calcoli senza ridurre il
contenuto
d’informazione
disponibile.
Operatori
diversi,
rappresentati dalle usuali categorie di funzioni d’appartenenza
garantiscono tuttavia un migliore comportamento fuzzy da parte del
55 sistema, con l’attivazione contemporanea di più regole, ma
richiedono un costo computazionale spesso molto maggiore.
Definizione delle caratteristiche delle uscite
Anche in questa fase il primo passo è quello di stabilire gli insiemi
di esistenza ed eventualmente i fattori di scala necessari alla postelaborazione (questa volta si passa dai valori normalizzati a quelli
effettivi). Per quanto riguarda il numero di funzioni di appartenenza
valgono le considerazioni fatte sopra, mentre la forma scelta per
esse è quasi sempre triangolare.
Molto più importante è la scelta del metodo di defuzzificazione,
spesso successiva alla definizione delle regole. Gli ordinamenti
principali sono due. A volte è preferibile scegliere il valore che
meglio rappresenta l’intero insieme risultante, tenendo conto di tutti
i contributi. Altre volte si rende necessaria una scelta più radicale,
in cui una soluzione di compromesso non avrebbe senso (ad
esempio quando nell’evitare un ostacolo si deve decidere se girare a
sinistra o a destra). Nei casi del primo tipo si impiegano metodi
come quello del baricentro. Mentre i metodi come quello del
massimo sono più adatti al secondo genere di problemi.
Per quanto riguarda le variabili intermedie, spesso non c’è
l’esigenza di pre-elaborazione e post-elaborazione nel blocco
successivo. A volte si può utilizzare direttamente come ingresso del
secondo blocco l’insieme inferito dal primo, senza effettuale le
operazioni di defuzzificazione e rifuzzificazione del risultato
ottenuto.
Progettazione del motore d’inferenza
Il modo in cui le variabili si influenzano tra loro risulta fissato già
dalla fase di analisi. Una volta definiti i term set di ogni variabile, si
56 possono precisare nel dettaglio i diversi meccanismi d’interazione,
definendo le regole del motore d’inferenza. La prima stesura delle
rule base si fa di solito in base all’analisi di dati storici, di
osservazioni empiriche e di interviste ad esperti. Questa stesura
viene di solito ampiamente rivista e completata sulla scorta dei
risultati che si ottengono nella successiva fase di test.
Il modo di definire le regole è molto soggettivo, anche se di
frequente, anche se solitamente si privilegia la codifica delle regole
più ovvie e affidabili, lasciando per un secondo tempo il
completamento del motore d’inferenza. Spesso, grazie ad una
consistente sovrapposizione tra le funzioni di appartenenza definite,
è anche possibile lasciare incompleta la base di regole. Nei sistemi
in cui le regole da scrivere sarebbero molte questa risulta essere
effettivamente
la
prassi
più
diffusa.
Alcuni
ambienti
di
progettazione permettono anche di assegnare dei pesi alle regole.
Oltre alle rule base, per completare la base di conoscenza è
necessario scegliere gli operatori da impiegare nell’aggregazione
degli ingressi, nella composizione e nell’implicazione. Le norme
disponibili sono molte, e i progettisti a volte possono introdurne di
nuove se ritengono che meglio si adattino alle esigenze del
problema. Nella grande maggioranza delle applicazioni reali si
utilizzano le soluzioni più semplici come gli operatori di minimo e
di prodotto. Soprattutto per quanto riguarda la composizione e
l’implicazione sembra che in genere non sia giustificata l’adozione
di procedure più complesse. Fanno eccezione gli operatori utilizzati
per le operazioni di aggregazione. Le più usate tra esse è l’and
logico tra gli antecedenti, che stabilisce il modo in cui i diversi
ingressi interagiscono tra loro per fornire il grado di verità della
regola. L’impiego in questo caso dell’operatore di minimo equivale
a prendere in considerazione solo l’antecedente con il grado di
57 verità inferiore. Non si tiene così conto che gli altri ingressi
possono assumere valori molto diversi, senza per questo modificare
minimamente il risultato. D’altro canto l’utilizzo dell’operatore di
prodotto che moltiplica i valori di verità di ogni antecedente
fornisce spesso valori di verità finali molto bassi che tendono ad
appiattire l’insieme di uscita, e questo inconveniente si accentua
rapidamente al crescere del numero degli ingressi. Una soluzione di
compromesso è l’aggiunta di una compensazione al risultato
ottenuto con l’operatore di minimo. La compensazione si attua
sovrapponendo gli effetti di diversi operatori, ad esempio con una
media pesata calcolata tra i risultati parziali forniti da essi.
Durante tutta la progettazione di dettaglio non si deve mai perdere
di vista l’interdipendenza tra i vari blocchi, ma è nella prossima
fase di messa a punto che il sistema torna ad essere effettivamente
considerato come un tutt’uno.
Messa a punto del sistema
La messa a punto del sistema è una fase fondamentale del lavoro.
Essa ha lo scopo di analizzare il comportamento del sistema
rispetto alle diverse possibili situazioni che potrebbero verificarsi
durante il suo funzionamento. In alcuni casi può essere
un’operazione onerosa poiché chiede l’inserimento di dati, la loro
analisi e soprattutto la valutazione dei risultati. Spesso le
informazioni ricavate nella fase di verifica vengono impiegate per
modificare e riadattare il sistema nel tentativo di renderlo più
adeguato al compito che deve svolgere.
La gamma di valori da impiegare per gli ingressi nella fase di
messa a punto deve essere più ampia possibile, e deve comprendere
anche i casi marginali o comunque posti in vicinanza dei limiti
degli intervalli di definizione. È importante definire in anticipo le
58 risposte che si vorrebbero ottenere dal sistema, per poter così
giudicare
oggettivamente
l’effettiva
validità
del
suo
comportamento. Dal confronto tra i risultati attesi e quelli
realmente forniti dall’elaborazione è possibile comprendere quali
sono i punti deboli del sistema, ed analizzando i risultati parziali
forniti da ogni blocco si può circoscrivere la zona del sistema, o
addirittura il singolo blocco, che fornisce i risultati non previsti.
A questo punto, identificate le parti da modificare, si deve trovare
un’alternativa che fornisca risposte più corrette. A volte questo può
essere fatto per tentativi, anche se una conoscenza dettagliata del
funzionamento del sistema permette di ridurre la gamma di
alternative plausibili. In certi casi, può essere utile in questa fase
l’impiego di algoritmi di apprendimento, che richiede però di
prestabilire almeno in parte i risultati numerici che si vogliono
ottenere. Avendo a che fare con sistemi esperti, il cui compito è
quello di prendere delle decisioni autonome in riferimento a
determinate situazioni d’incertezza, può essere difficile o privo di
significato stabilire in partenza i risultati attesi. Più agevole è
valutare a posteriori la ragionevolezza delle decisioni prese dal
sistema. Dapprima questo può essere fatto in modo soggettivo dal
progettista sulla base di una mole ridotta di dati, ma si dovranno in
seguito stabilire degli indici di valutazione che permettano di
quantificare
più
precisamente
le
prestazioni
fornite
dall’elaborazione. La prima verifica soggettiva permette di
identificare e correggere le anomalie più macroscopiche, in modo
che
la
fase
di
controllo
quantitativa
possa
concentrarsi
sull’ottimizzazione delle prestazioni, lavorando su un sistema che
funziona già in modo sostanzialmente corretto. Terminata la fase di
messa a punto se il progetto mostra di avere un interesse
applicativo, basta disporre le interfacce per l’utilizzo da parte
dell’utente finale, ed il sistema è pronto per essere messo in
59 funzione. Il funzionamento sul campo sarà la migliore verifica del
comportamento del sistema, che dovrà presentare caratteristiche di
versatilità tali da permettere ulteriori modifiche e miglioramenti.
60 CAPITOLO 4 : LA VALUTAZIONE SCOLASTICA
4.1 - INTRODUZIONE
Nella vasta gamma della logica fuzzy, trova un posto di assoluto
rispetto quella della valutazione scolastica.
In questo tipo di valutazione la soggettività è un criterio
fondamentale, motivo per cui la teoria fuzzy, per il significato
stesso del termine inglese ( sfumato, indistinto ), dovrebbe essere la
più indicata per rappresentarla.
Questo però non basta a giustificarne l’utilizzo; la teoria fuzzy deve
riuscire a rendere più efficace il sistema di valutazione, ossia
ottenere un risultato che vada al di là della registrazione di una
verifica, orale o scritta, basata su una scala di valori numerici di
tipo discreto.
Le molte riforme scolastiche degli ultimi anni hanno cercato una
soluzione al problema della valutazione, che però continua a creare
grandi discussioni nei collegi docenti. Ogni valutazione è preceduta
da una misurazione, che consta di due fasi: la registrazione, siano
essi compiti o interrogazioni, e la lettura, ossia l’interpretazione dei
risultati. Tanti, però, sono gli errori in cui si può incorrere.
La valutazione è molto spesso soggettiva, influenzata sia dalla
personalità dell’educatore che dal comportamento dell’allievo: si
tratta, cioè, del cosiddetto “effetto alone”, cioè di quell’errore
involontario che ci fa giudicare un alunno più per il suo
comportamento che per il suo sapere. Un’indagine di alcuni anni fa
ha dimostrato che uno stesso tema di uno studente di Liceo venne
classificato con voti dal 4 al 9, da diversi insegnanti i quali si sono
61 dimostrati concordi nel dire che se avessero conosciuto l’autore
probabilmente i voti sarebbero stati diversi, o peggiori o migliori.
La logica fuzzy, quindi, ci può portare a eliminare la soggettività
nella valutazione, costruendo un modello logico che tenga conto
delle diverse variabili e dei livelli intermedi, che spesso creano
maggiori difficoltà nell’assegnare un giudizio complessivo.
Quello che faremo noi in questa tesi, quindi, è costruire un sistema
che tenga conto delle diverse variabili, che nel contesto in esame
indicano proprietà del profilo dello studente.
Successivamente, tramite un processo di fuzzificazione, inseriremo
nel nostro database tutte le valutazioni che i diversi docenti hanno
dato agli studenti.
Tutto questo per arrivare alla fase finale del nostro sistema, ossia
quella di defuzzificazione, dove con l’applicazione delle diverse
regole di produzione arriveremo a ottenere il risultato finale, ossia
la votazione scolastica dello studente, senza il problema della
soggettività.
62 4.2 - ARCHITETTURA DEL SISTEMA
Come è stato detto, il sistema è stato progettato come un sistema di
variabili che interagiscono tra di loro e che, si distinguono in
variabili d’ingresso e variabili d’uscita.
Nel caso in esame, dove si ci è incentrati nella valutazione di
studenti delle scuole medie superiori, le variabili d’entrata
riguardano il “profilo” dell’alunno e le valutazioni avute nell’arco
dell’anno:
A)
Voto pratico;
B)
Voto scritto;
C)
Voto orale;
D)
Comportamento;
E)
Costanza nello studio;
F)
Numero di assenze;
G)
Attitudine allo studio;
mentre in uscita abbiamo una sola variabile:
H)
Valutazione complessiva
Per manipolare queste variabili e permettere loro di interagire l’una
con l’altra si è usata la logica fuzzy che, come abbiamo visto nel
capitolo 2, attribuisce a ciascuna proposizione un grado di verità
compreso tra zero e uno.
La piattaforma di utilizzo del sistema è un applicazione HTML, in
cui si utilizzano fondamenti di Java e JSP. Infine, per il
collegamento con il database si utilizza MySql 5.0.
63 4.3
- GLI INSIEMI FUZZY
Ogni variabile presente nel sistema viene strutturata attraverso degli
insiemi fuzzy, che ci indicano come varia il parametro interessato.
Voto orale, Voto scritto, Voto pratico
Sono le variabili che si riferiscono alle votazioni che lo studente
acquisisce durante l’anno scolastico con interrogazioni per esempio
nel caso orale, con i compiti in classe nel caso scritto o con
valutazioni al computer per esempio nel caso pratico.
Per queste tre variabili gli insiemi fuzzy sono identici:
-
Insufficiente;
-
Mediocre;
-
Sufficiente;
-
Buono;
-
Ottimo.
Assenze
La variabile “assenze” si riferisce a quanti giorni lo studente non è
venuto a scuola. Per la variabile “assenze” sono stati previsti tre
insiemi:
-
Poche assenze;
-
Assenze nella norma;
-
Tante assenze.
64 Costanza nello studio
Per costanza nello studio si intende come e quanto lo studente
durante il percorso accademico ha studiato.
Per la variabile “costanza” gli insiemi previsti sono:
-
Poco costante, con il quale si intende che lo studente
durante l’anno scolastico non riesce a studiare con costanza;
-
Costante, con il quale si intende che lo studente magari
alterna momenti durante l’anno dove è costante e altri dove lo è
meno;
-
Molto costante, con il quale si intende che lo studente
durante tutto l’anno scolastico è costante nello studio.
Comportamento
La variabile “comportamento” si riferisce a come lo studente si
relaziona con il contesto scolastico, quindi con i professori, con i
compagni, con gli assistenti, ecc.
Gli insiemi per la variabile “comportamento” sono:
-
Ribelle, con il quale si intende che lo studente si approccia
male con i docenti, mancando di rispetto agli altri e così via;
-
Comportamento regolare, con il quale si intende che lo
studente è un soggetto che ha un atteggiamento senza estremi,
quindi per esempio interagisce con i docenti solo se è
interpellato oppure interagisce con i compagni senza eccedere in
comportamenti eccessivi;
-
Diligente, con il quale si intende che allo studente piace
interagisce spesso con i docenti e si relaziona in maniera
esemplare con i compagni e con tutto il contesto scolastico.
65 Attitudine allo studio
La variabile “attitudine allo studio” si riferisce alla predisposizione,
innata o acquistata nel tempo, dell’individuo a svolgere le attività e
le pratiche che incontra all’interno del sistema scolastico.
Anche per la variabile “attitudine” abbiamo tre insiemi:
-
Scarsa attitudine, con il quale si intende che lo studente
trova grandi difficoltà nello svolgere in maniera sufficiente le
attività scolastiche;
-
Sufficiente attitudine, con il quale si intende che lo
studente riesce, magari con alti e bassi, ad affrontare le attività
scolastiche;
-
Buona attitudine, con il quale si intende che lo studente
non trova nessuna difficoltà nel svolgere le varie attività.
Valutazione finale
È l’unica variabile d’uscita che si riferisce alla votazione che lo
studente ha poi sulla pagella alla fine dell’anno scolastico.
Gli insiemi fuzzy sono:
-
Pienamente negativo;
-
Negativo;
-
Medio;
-
Positivo;
-
Pienamente positivo.
66 4.4 - STRUTTURA DEL DATABASE
Il database è un elemento fondamentale del nostro sistema, poiché
ne costituisce l’ ”ossatura”. Tutti i dati , che si riferiscano allo
studente o al docente piuttosto che alle discipline o alle simulazioni,
vi sono memorizzati, così come tutti i voti e tutti i dati che
contraddistinguono i fuzzy set e le regole di produzione.
Fig. 4.1 : Schema del database
Dallo schema del database possiamo vedere che si è lavorato con
17 tabelle, che andiamo a descrivere brevemente:
Discipline : contiene i dati relativi alla disciplina, quindi al
professore, alla materia e alla sezione relativi appunto a una
disciplina;
Var – Disc : è una tabella di collegamento per sapere a quale
disciplina sono collegate le varie variabili fuzzy del sistema;
Final Valutation For Discipline : contiene i riferimenti alle
simuzioni relativi agli studenti, quindi allo studente interessato, alla
disciplina e allo score raggiunto;
67 IOVariable : contiene i riferimenti alle variabili fuzzy del sistema,
come al nome, alla descrizione e al tipo di variabile in
osservazione;
Fuzzy Set : contiene i dati relativi agli insiemi fuzzy, quindi alla
variabile interessata e al range in cui si espande tale insieme;
Sets : per ciascun insieme questa tabella conterrà i dati relativi alla
label, al tipo di figura e i dati che costituiscon l’ossatura di quel
particolare set;
Label : contiene il nome della label;
School : contiene i dati relativi alle scuole, dal nome al codice
meccanografico;
Student : contiene i dati relativi allo studente;
Professor : contiene i dati relativi al docente;
Subject : contiene i dati relativi alla materia;
Type Figure : contiene tutti i tipi di figura che si possono avere
nelle strutture fuzzy (per esempio “trapeze” o “ triangle” );
Rule : contiene i riferimenti per le regole di produzione, più campi
descrittivi per le regole;
Element Rule : contiene per ciascuna regola i riferimenti alla
variabile fuzzy che agisce in quella regola, alla label e a campi che
specificano se quell’element rule è un componente dell’azione o
della condizione della regola;
Vote : contiene i voti dati dai docenti agli studenti, relativi a una
particolare simulazione;
Country : contiene i dati circa le province e le città italiane;
68 Class : contiene i riferimenti alle classi per ciascuna scuola.
Fig. 4.2 : Schema relazionale del database
69 4.5 - MODELLO PER L’ACQUISIZIONE DEI DATI
I dati del sistema vengono acquisiti in maniera diversa a seconda
che si tratti di dati relativi al sistema scolastico, quindi ai dati
anagrafici dello studente e del docente oppure i dati sulla scuola, o
che si tratti delle simulazioni e quindi dei dati fuzzy veri e propri.
Per quanto riguarda i dati sulla scuola, lo studente, il docente e le
materie il sistema prevede di acquisirli tramite l’interfaccia web e,
tramite questa, inserire tutti i dati di cui si necessita, dati che
verranno immessi immediatamente nel database.
Fig. 4.3 : Inserimento dei dati relativi allo studente da interfaccia
web
I dati che serviranno al fine del lavoro basato su logica fuzzy, come
le regole, gli insiemi fuzzy e i voti, dovranno essere immessi nel
sistema attraverso dei template excel.
70 Il template relativo agli insiemi fuzzy è composto da tre fogli di
lavoro: “iovariable”, dove inseriamo i dati che riferiscono la
disciplina sulla quale andiamo ad agire e l’elenco delle variabili
fuzzy che dobbiamo inserire, specificando il range sulla quale ogni
variabile lavora;
Fig. 4.4 : Foglio di lavoro “iovariable” del template relativo
all’inserimento degli insiemi fuzzy.
“label” è il foglio nel quale abbiamo l’elenco delle label da inserire;
Fig. 4.5: foglio di lavoro “label” del template relativo
all’inserimento degli insiemi fuzzy.
71 “sets” è il foglio di lavoro dove vengono specificati tutti i dati
relativi al set: la variabile fuzzy interessata, il tipo di figura, la label
e i dati che costituiscono la struttura del set.
Fig. 4.6 : foglio di lavoro “sets” del template relativo
all’inserimento degli insiemi fuzzy.
Per l’inserimento delle regole di produzione viene utilizzato un
altro template, dove sono presenti i dati circa la disciplina, e per
ciascuna regola viene specificata in corrispondenza di una variabile
fuzzy la label che agisce in quella regola.
Fig. 4.7 : template relativo all’inserimento delle regole di
produzione.
72 Per quanto riguarda i voti viene utilizzato un template nel quale
sono presenti i dati relativi allo studente (nome, cognome e
matricola), al docente (nome, cognome e matricola), alla materia
(denominazione
e
codice)
e
alla
sezione.
Fig. 4.8 : Dati sullo studente, sul docente, sulla materia e sezione
Viene specificato inoltre il numero di studenti interessati dalla
simulazione e, pero ognuno di loro, nel template sono presenti le
votazioni in centesimi relative alle variabili di ingresso del sistema.
Fig. 4.9 : Voti relativi agli studenti
73 Questi dati presenti nei vari template excel appena visti vengono
successivamente caricati nel sistema tramite l’interfaccia web che
permette di importare tutti i dati presenti nel database.
Fig. 4.10 : Importazione del template excel
Una volta che si clicca sul bottone “Inserisci” che vediamo in figura
4.16 parte la procedura che fa sì di collegarsi al database e,
accedendo al template excel, preleva tutti i dati di interesse per
inserirveli all’interno.
74 4.6 - INSIEME DELLE REGOLE
Una volta completata la procedura di acquisizione dei dati, entrano
in gioco le regole di produzione, che sono il mezzo con cui
allacciare insieme le varie variabili.
Infatti, una regola di produzione ha una struttura di questo tipo:
IF voto pratico=buono AND …. AND voto scritto=discreto
THEN valutazione finale=medio
Come possiamo intuire, in corrispondenza di determinate votazioni
per ciascuna variabile avremo in uscita l’insieme fuzzy relativo alla
variabile d’uscita.
Un esempio può essere la regola:
“IF voto orale=buono AND voto scritto=insufficiente AND voto
pratico=ottimo AND assenze=norma AND costanza=costante AND
comportamento=ribelle
AND
attitudine=scarsa
THEN
val.finale=negativo”
In questa regola se lo studente ha avuto nelle votazioni orali una
valutazione buona, in quelle scritte una valutazione insufficiente, in
quelle pratiche una valutazione ottima e se ha un numero di assenze
nella norma, è costante nello studio, un comportamento ribelle e
una attitudine allo studio abbastanza scarsa allora la sua valutazione
finale sarà negativa (con un voto finale che oscilla dal 2.5 al 5.5).
Le regole vengono memorizzate nel database grazie a una
procedura che si è vista nel paragrafo precedente
Nella nostra applicazione si possono avere fino a 10125 regole,
espressione delle combinazioni delle nostre variabili.
75 4.7 - FUZZIFICAZIONE
Come sappiamo i nostri dati all’inizio del processo lavorativo sono
“crisp” o “grezzi”, ossia sono quei voti che i docenti hanno
attribuito agli studenti in corrispondenza di ciascuna variabile di
ingresso considerata. Da questi dati si devono ricavare i dati fuzzy
veri e propri.
Per fare ciò si utilizza una procedura ricorsiva che agisce per ogni
variabile di ingresso del sistema. La procedura consiste in alcuni
passi:
1)
Si prende il dato grezzo (il voto dato dal docente);
2)
Si vede a quale variabile è relativo quel dato (per esempio
al voto scritto);
3)
Si va a vedere quella variabile a quali insiemi fuzzy è
associata;
4)
Si controlla a quali insiemi è associato il dato grezzo;
5)
Per ogni insieme interessato, utilizzando le funzioni di
appartenenza viste nel capitolo 2.4 si ottiene il dato fuzzy che si
voleva;
6)
Se ci sono altri voti relativi ad altre variabili di ingresso si
ritorna al punto 1, altrimenti si conclude la fase relativa alla
fuzzificazione.
ESEMPIO 1: supponiamo di avere le seguenti votazioni:
-
Voto orale = 82;
-
Voto scritto = 75;
-
Voto pratico = 53;
-
Assenze = 22;
-
Costanza = 34;
76 -
Comportamento = 66;
-
Attitudine = 52;
La procedura quindi prende per esempio il dato 82 relativo al voto
orale. Supponiamo che il grafico corrispondente la struttura per la
variabile “voto orale” sia:
Come si può vedere dal grafico relativo agli insiemi fuzzy della
variabile “voto scritto” si ha che il dato 82 appartiene sia al’insieme
“buono” sia all’insieme “ottimo”.
Nel caso dell’insieme “buono” siamo di fronte a una figura
trapezoidale e dalla funzione di appartenenza vista nel capitolo 2.4
sappiamo calcolare il grado di appartenenza:
gda(82) =
x
Vid
82
90
=
= 0.8


Vsd  Vid Vid  Vsd
80  90 90  80
Nel caso invece dell’insieme “ottimo” abbiamo a che fare con un
“left trapeze” e la sua funzione di appartenenza ci dice che il grado
di appartenenza del dato 82 all’insieme è:
gda(82) =
82
80
x
Vis
=
= 0.2


Vss  Vis Vss  Vis
90  80 90  80
Le stesse operazioni andranno fatte sui dati relativi alle altre
variabili, e nell’esempio specifico essendo che i dati supponiamo
77 che si riferiscano a un solo insieme fuzzy allora i loro gradi di
appartenenza saranno pari a uno.
78 4.8 - DEFUZZIFICAZIONE
Prima di arrivare alla defuzzificazione vera e propria vi è la fase
d’inferenza che è la fase successiva alla fuzzificazione, dalla quale
abbiamo ereditato i valori fuzzy e gli insiemi associati ad essi che
saranno gli input in questa nuova attività del processo, al termine
della quale dovremo avere lo stato dell’uscita corrispondente a una
determinata configurazione degli ingressi.
Abbiamo visto nei capitoli precedenti che le relazioni tra le
variabili si realizzano attraverso frasi condizionali che, come già
visto, sono dette regole fuzzy.
A seconda di cosa si sia sviluppato durante la fuzzificazione, si
avranno in questa fase un certo numero di regole da applicare e,
come sappiamo, ognuna di esse ci dice lo stato della variabile
d’uscita che è “valutazione finale”.
Utilizzando i dati dell’esempio visto nel paragrafo precedente,
possiamo vedere che in questo caso sono due le regole che si
possono attivare:
1)
IF vo=buono AND vs=buono AND vp=sufficiente AND
assenze=poche
AND
costanza=poco
AND
comportamento=regolare AND attitudine=sufficiente THEN
val.finale=positivo
2)
IF vo=ottimo AND vs=buono AND vp=sufficiente AND
assenze=poche
AND
costanza=poco
AND
comportamento=regolare AND attitudine=sufficiente THEN
val.finale=positivo.
79 Utilizzando il metodo Min-Max, visto nei capitoli precedenti, si
tronca superiormente la funzione di appartenenza dell’uscita al
valore del grado di verità della premessa.
Nell’esempio precedente, avremo per la regola 1 minimo grado di
appartenenza min.gda = 0.8, dato che tutti i gda sono pari a 1 tranne
quello relativo alla variabile “voto orale” che è appunto pari a 0.8.
Per la regola 2 invece avremo che il min.gda = 0.2 per le stesse
ragioni della regola 1.
Supponiamo che per la variabile “valutazione finale” la struttura
sia:
Applicando il Min-Max per la regola 1 avremo in output:
Fig. 4.17 : Applicazione del metodo Min-Max
alla regola 1
dell’esempio 1
80 Applicando il metodo Min-Max per la regola 2 si ha:
Fig. 4.11 : Applicazione del metodo Min-Max alla regola 2
dell’esempio 1
A questo punto applichiamo il metodo di composizione Maximum,
che consiste nel costruire l’insieme finale di uscita mediante
l’unione di tutti gli insiemi fuzzy delle variabili d’uscita, ovvero nel
sovrapporre tutte le funzioni di appartenenza troncate.
Nell’esempio precedente avremo la seguente situazione:
Fig. 4.12 : Applicazione del metodo Maximum
Una volta determinati i dati fuzzy d’uscita dobbiamo trasformarli in
dati numeri reali, ed è qui che interviene la defuzzificazione,
utilizzando in metodo del baricentro.
81 Questo metodo consiste nel calcolare le aree delle figure
geometriche che si sono venute a creare dopo l’utilizzo del metodo
Maximum e successivamente andare a calcolare graficamente il
baricentro.
Il valore finale sarà la somma cumulativa del prodotto delle aree
per il baricentro relativo all’area stessa diviso la somma delle aree.
Area 1 * Baricentro 1 *….. * Area n * Baricentro n
Area 1 + …… + Area n
Nel nostro esempio abbiamo una sola area, che chiameremo Area1,
relativa a un trapezio, evidenziato in rosso nella fig. 4.16.
Area1 =
base * altezza
(8.5  5.5) * 0.8
=
= 1.2
2
2
Il baricentro sarà uguale a:
b1 = 7
E sostituendo nella formula per trovare il valore finale si ha:
y=
Area1 * b1 1.2 * 7
=
=7
Area1
1 .2
Quindi avremo che 7 sarà la valutazione finale per quello studente.
82 CAPITOLO 5 : CASE STUDY
5.1 - I TEST
I test sono stati effettuati prendendo come campioni di riferimento
le classi quinte di un istituto tecnico industriale ad indirizzo
informatico degli anni scolastici a partire dal 2006/2007 sino al
2010/2011 che hanno avuto nei diversi anni il medesimo insegnante
della materia Informatica.
Sono state effettuate 2 simulazioni per ciascuna classe dove, per
ogni simulazione, si sono utilizzate strutture diverse per gli insiemi
fuzzy.
PRIMA SIMULAZIONE
La prima simulazione utilizza per ciascuna variabile la seguente
struttura:
Voto orale, Voto scritto e Voto pratico
Per le variabili “voto orale”, “voto scritto” e “voto pratico” i set
erano:
-
Insufficiente, con struttura “left trapeze” e con range compreso
tra 0 e 45;
-
Mediocre, con struttura “trapeze” e con range compreso tra 35 e
62;
-
Sufficiente, con struttura “trapeze” e con range compreso tra 50
e 75;
-
Buono, con struttura “trapeze” e range compreso tra 70 e 90;
83 -
Ottimo, con struttura “right trapeze” e con range compreso tra
85 e 100;
Fig. 5.1 : Fuzzy set per le variabili “voto orale”, “voto scritto” e
“voto pratico” per la simulazione 1.
Comportamento
Per la variabile “comportamento” i set usati sono stati:
-
Ribelle, con struttura “left trapeze” e con range compreso tra 0 e
50;
-
Regolare, con struttura “trapeze” e con range compreso tra 40 e
80:
-
Diligente, con struttura “right trapeze” e con range compreso tra
70 e 100.
Fig. 5.2 : Fuzzy set per la variabile “comportamento” per la
simulazione 1.
84 Costanza nello studio
Per la variabile “costanza nello studio” si sono usati i seguenti set:
-
Poco costante, con struttura “left trapeze” e con range compreso
tra 0 e 50;
-
Costante, con struttura “trapeze” e con range compreso tra 40 e
80;
-
Molto costante, con struttura “right trapeze” e con range
compreso tra 70 e 100.
Fig. 5.3 : Fuzzy set per la variabile “costanza nello studio” per la
simulazione 1.
Assenze
Per la variabile “assenze” i set usati sono:
-
Poche assenze, con struttura “left trapeze” e con range
compreso tra 0 e 20;
-
Assenze nella norma, con struttura “trapeze” e con range
compreso tra 10 e 30;
-
Tante assenze, con struttura “right trapeze” e con range
compreso tra 25 e 100.
85 Fig. 5.4 : Fuzzy set per la variabile “assenze” per la simulazione 1.
Attitudine allo studio
Per la variabile “attitudine allo studio” i set usati sono:
-
Scarsa attitudine, con struttura “left trapeze” e con range
compreso tra 0 e 50;
-
Sufficiente attitudine, con struttura “trapeze” e con range
compreso tra 40 e 80;
-
Buona attitudine, con struttura “right trapeze” e con range
compreso tra 70 e 100.
Fig. 5.5 : Fuzzy set per la variabile “attitudine allo studio” per la
simulazione 1.
86 Valutazione finale
Per la variabile “valutazione finale” i set usati sono:
-
Pienamente negativo, con struttura “triangle” e con range
compreso tra 0 e 3;
-
Negativo, con struttura “triangle” e con range compreso tra 2.5
e 4.5;
-
Medio, con struttura “triangle” e con range compreso tra 4 e 7;
-
Positivo, con struttura “ triangle” e con range compreso tra 6 e
8.5;
-
Pienamente positivo, con struttura “triangle” e con range
compreso tra 7 e 10.
Fig. 5.6 : Fuzzy set per la variabile “valutazione finale” per la
simulazione 1.
87 SECONDA SIMULAZIONE
La prima simulazione utilizza per ciascuna variabile la seguente
struttura:
Voto orale, Voto scritto e Voto pratico
Per le variabili “voto orale”, “voto scritto” e “voto pratico” i set
erano:
-
Insufficiente, con struttura “left trapeze” e con range compreso
tra 0 e 48;
-
Mediocre, con struttura “triangle” e con range compreso tra 40 e
60;
-
Sufficiente, con struttura “trapeze” e con range compreso tra 50
e 75;
-
Buono, con struttura “trapeze” e range compreso tra 67 e 95;
-
Ottimo, con struttura “right trapeze” e con range compreso tra
85 e 100;
Fig. 5.7 : Fuzzy set per le variabili “voto orale”, “voto scritto” e
“voto pratico” per la simulazione 2.
88 Comportamento
Per la variabile “comportamento” i set usati sono stati:
-
Ribelle, con struttura “left trapeze” e con range compreso tra 0 e
45;
-
Regolare, con struttura “trapeze” e con range compreso tra 38 e
72:
-
Diligente, con struttura “right trapeze” e con range compreso tra
65 e 100.
Fig. 5.8 : Fuzzy set per la variabile “comportamento” per la
simulazione 2.
Costanza nello studio
Per la variabile “costanza nello studio” si sono usati i seguenti set:
-
Poco costante, con struttura “left trapeze” e con range compreso
tra 0 e 45;
-
Costante, con struttura “trapeze” e con range compreso tra 35 e
80;
-
Molto costante, con struttura “right trapeze” e con range
compreso tra 70 e 100.
89 Fig. 5.9 : Fuzzy set per la variabile “costanza nello studio” per la
simulazione 2.
Assenze
Per la variabile “assenze” i set usati sono:
-
Poche assenze, con struttura “left trapeze” e con range
compreso tra 0 e 20;
-
Assenze nella norma, con struttura “trapeze” e con range
compreso tra 15 e 40;
-
Tante assenze, con struttura “right trapeze” e con range
compreso tra 30 e 100.
Fig. 5.10 : Fuzzy set per la variabile “assenze” per la simulazione 2.
90 Attitudine allo studio
Per la variabile “attitudine allo studio” i set usati sono:
-
Scarsa attitudine, con struttura “left trapeze” e con range
compreso tra 0 e 45;
-
Sufficiente attitudine, con struttura “trapeze” e con range
compreso tra 35 e 80;
-
Buona attitudine, con struttura “right trapeze” e con range
compreso tra 70 e 100.
Fig. 5.11 : Fuzzy set per la variabile “attitudine allo studio” per la
simulazione 2.
Valutazione finale
Per la variabile “valutazione finale” i set usati sono:
-
Pienamente negativo, con struttura “triangle” e con range
compreso tra 0 e 3;
-
Negativo, con struttura “triangle” e con range compreso tra 2 e
4.5;
-
Medio, con struttura “triangle” e con range compreso tra 4 e 6;
91 -
Positivo, con struttura “ triangle” e con range compreso tra 5 e
8;
-
Pienamente positivo, con struttura “triangle” e con range
compreso tra 7 e 10.
Fig. 5.12 : Fuzzy set per la variabile “valutazione finale” per la
simulazione 2.
5.2 - I RISULTATI
Al termine delle varie simulazioni si è potuto vedere che mettendo
a confronto i voti calcolati nella prima simulazione rispetto a quelli
calcolati nella seconda si evince chiaramente che perfezionando i
valori dei fuzzy set ci si avvicina sempre di più alla votazione finale
data dall’insegnante.
Vediamo nel dettaglio i risultati delle simulazioni, dove si utilizza
la seguente dicitura:
-
VO = “Voto orale”;
92 -
VS = “Voto scritto”;
-
VP = “voto pratico”;
-
CO = “Comportamento”;
-
COS = “Costanza”;
-
ASS = “Assenze”;
-
ATT = “Attitudine allo studio”;
-
VS1 = “Votazione ottenuta dalla simulazione 1”;
-
VS2 = “Votazione ottenuta dalla simulazione 2”;
-
VFD = “Votazione finale data dall’insegnante”;
-
VFC = “Votazione finale dopo il Consiglio di Classe”.
Risultati relativi all’Anno Scolastico 2010/11 ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
VO
70
70
60
60
60
60
50
60
70
70
60
60
80
70
90
60
60
70
VS
60
60
60
60
60
60
50
60
60
60
60
60
70
60
70
60
60
60
VP
70
70
60
60
70
60
50
60
70
70
60
60
80
70
80
60
60
70
CO
80
80
75
80
80
80
80
80
80
80
80
75
80
80
90
75
75
80
COS ASS ATT VS1
68
60
55
55
40
55
30
48
70
70
55
68
75
70
80
40
50
65
8
12
19
30
19
7
13
4
14
15
8
17
15
18
16
21
26
6
60
60
60
60
40
60
50
65
70
70
55
65
80
80
90
48
50
68
50
50
50
40
50
50
30
45
50
50
50
50
70
50
80
40
50
50
VS2 VFD VFC
62
62
55
55
57
55
33
45
62
62
55
55
74
60
82
55
55
62
66
66
60
60
63
60
50
50
66
66
60
60
76
66
80
60
60
66
70
70
60
60
60
60
50
50
70
70
60
60
80
70
90
60
60
70
93 Risultati relativi all’Anno Scolastico 2009/10 ID
1
2
3
4
5
6
7
8
9
10
11
12
13
VO
61
33
62
56
42
36
42
52
57
57
52
59
52
VS
38
59
73
56
34
53
39
47
27
50
55
43
73
VP
60
70
60
60
50
60
60
70
60
60
70
70
80
CO
80
75
80
80
75
70
80
80
80
80
80
70
80
COS ASS ATT VS1
50
50
60
50
40
50
50
60
40
55
60
55
70
4
15
5
21
20
21
7
16
9
4
16
18
5
60
60
65
60
40
45
50
61
40
45
70
65
70
50
50
60
50
20
40
40
50
30
40
50
50
60
VS2 VFD VFC
55
54
62
55
17
45
33
51
42
55
55
52
59
57
63
67
60
47
57
53
63
53
57
60
67
70
60
60
70
60
50
60
60
70
60
60
60
70
80
Risultati relativi all’Anno Scolastico 2008/09 ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
VO
76
80
61
71
70
60
70
70
60
70
83
75
60
75
80
75
60
80
VS
71
61
64
69
63
55
59
38
60
61
70
59
66
63
61
61
58
63
VP
80
70
60
70
70
60
70
60
60
60
80
70
60
80
80
70
60
80
CO
80
70
75
80
80
80
80
80
80
70
90
80
80
80
90
75
75
80
COS ASS ATT VS1
80
55
55
65
65
55
70
60
50
50
80
68
65
60
60
60
50
50
10
35
20
9
17
15
10
24
15
24
13
11
30
21
13
14
21
10
70
60
60
65
60
50
60
50
50
50
80
70
60
70
60
60
50
50
76
55
54
59
55
54
55
52
53
53
72
61
45
71
67
61
51
72
VS2 VFD VFC
76
60
55
66
60
55
60
46
55
55
74
63
55
65
65
65
55
65
76
70
60
70
66
60
66
46
60
63
76
66
63
70
73
66
60
73
80
70
60
70
70
60
70
60
60
60
80
70
60
70
70
70
60
70
94 Risultati relativi all’Anno Scolastico 2007/08 ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
VO
48
43
39
60
63
50
45
43
20
46
43
40
48
48
33
42
47
44
62
VS
57
46
41
48
61
47
43
43
44
50
48
42
48
55
43
49
49
50
58
VP
70
60
60
70
80
60
50
50
50
70
60
40
60
70
60
50
60
60
70
CO
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
COS ASS ATT VS1
70
55
55
65
50
50
40
40
40
40
40
50
50
60
50
50
50
45
60
9
12
18
21
18
30
27
17
27
24
18
25
32
13
15
12
27
15
12
70
50
40
60
70
50
50
50
40
50
50
40
50
60
40
50
50
50
70
55
45
28
55
58
34
21
27
22
33
34
24
34
55
30
34
43
41
55
VS2 VFD VFC
55
39
25
55
59
51
25
27
23
36
39
26
50
55
33
33
51
44
58
58
49
46
62
67
82
45
40
38
55
50
40
54
60
45
46
51
51
62
70
60
50
70
80
60
50
50
50
60
50
40
60
70
50
50
50
60
70
Risultati relativi all’Anno Scolastico 2006/07 ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
VO
63
62
73
73
73
63
70
73
73
73
63
78
64
75
75
75
63
68
35
60
65
VS
50
60
64
65
59
60
63
56
60
62
55
56
53
74
65
53
70
58
72
64
62
VP
60
70
60
80
60
60
80
60
60
60
60
80
70
80
80
60
80
80
80
80
60
CO
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
COS ASS ATT VS1
50
60
64
65
59
60
63
56
60
62
55
56
53
74
65
53
70
58
72
64
62
23
17
29
20
17
21
11
14
25
31
17
14
16
9
20
20
21
25
19
16
21
60
70
60
70
60
60
80
60
65
70
60
70
70
80
70
60
80
72
65
65
60
55
55
53
64
55
55
67
56
53
52
55
63
55
82
72
52
55
55
62
59
55
VS2 VFD VFC
55
57
55
62
58
55
65
59
55
55
55
61
56
81
65
55
59
57
60
62
55
57
63
65
72
63
60
70
62
63
64
58
71
62
76
73
62
70
68
62
62
62
60
70
70
80
70
60
80
70
70
70
60
80
70
80
80
70
80
80
80
80
60
95 Mettendo a confronto i voti finali attribuiti dall’insegnante con i
voti calcolati dal sistema si evince una differenza trascurabile in
valori percentuali, altresì si mette in evidenza che il docente ha
anche dichiarato che i voti attribuiti sono anche frutto di
elaborazioni soggettive mentre le valutazioni frutto delle
simulazioni sono più vicine alla reale valutazione del soggetto
esaminato.
96 5.3 - ESEMPIO PRATICO DI UNA SIMULAZIONE
Per fare un esempio pratico di come avviene la simulazione si è
preso il caso dello studente con ID=15 nell’Anno Scolastico
2008/2009, su cui si è effettuata la seconda simulazione. Il suddetto
studente ha avute le seguente votazioni:
-
Voto orale = 80;
-
Voto scritto = 61;
-
Voto pratico = 80;
-
Comportamento = 90;
-
Costanza nello studio = 60;
-
Assenze = 13;
-
Attitudine allo studio = 60.
Questi corrispondono ai nostri dati “crisp” che devono essere
trasformati in dati fuzzy utilizzando le strutture relative agli insiemi
viste nelle figure da 5.7 a 5.12, dalle quali si evince facilmente che:
-
Voto orale con voto pari a 80 cade nel range “buono” con grado
di appartenenza gda(x)=1;
-
Voto scritto con voto pari a 61 cade nel range “sufficente” con
grado di appartenenza gda(x)=1;
-
Voto pratico con voto pari a 80 cade nel range “buono” con
grado di appartenenza gda(x)=1;
-
Comportamento con voto pari a 90 cade nel range “diligente”
con grado di appartenenza gda(x)=1;
97 -
Costanza nello studio con voto pari a 60 cade nel range
“costante” con grado di appartenenza gda(x)=1;
-
Assenze con voto pari a 13 cade nel range “poche assenze” con
grado di appartenenza gda(x)=1;
-
Attitudine con voto pari a 60 cade nel range “sufficiente
attitudine” con grado di appartenenza gda(x)=1.
A questo punto entrano in azione le regole di produzione, che nel
caso specifico è una sola:
IF voto_orale=buono AND voto_scritto=sufficiente AND
voto_pratico=buono AND comportamento=diligente AND
costanza=costante AND assenze=poche AND attitudine=sufficiente
THEN valutazione_finale=positivo.
Quindi per la variabile d’uscita agiamo sul set “positivo” che ha
seguente funzione:
Fig. 5.13 : funzione d’appartenenza per il set “positivo” relativo
alla variabile d’uscita “valutazione finale” nella simulazione 2.
Applicando il metodo “Min-Max” si vede subito che il minimo
grado di appartenenza in questo caso è min.gda(x)=1, dato che tutti
i gradi di appartenenza per la regola in osservazione sono pari a
uno.
Applicando il metodo “Maximum”, e quindi troncando la funzione
d’uscita in corrispondenza del minimo grado di appartenenza si
ottiene:
98 Fig. 5.14 : Applicazione del metodo Maximum
Adesso applicando il metodo del baricentro si ottiene il valore
d’uscita del sistema. Il suddetto metodo calcola il valore finale
come la somma cumulativa del prodotto delle aree per il baricentro
relativo all’area stessa diviso la somma delle aree.
Area 1 * Baricentro 1 *….. * Area n * Baricentro n
Area 1 + …… + Area n
Nel caso in questione si ha una sola area, relativa al trinagolo,
evidenziato in rosso nella fig. 5.14.
Area1 =
base * altezza
(8  5) * 1
=
= 1.5
2
2
Il baricentro, estrapolato graficamente sarà uguale a:
b1 = 6.5
E sostituendo nella formula per trovare il valore finale si ha:
y=
Area1 * b1 1.2 * 6.5
=
= 6.5
Area1
1 .2
65 (espresso in centesimi)
99 CONCLUSIONI E SVILUPPI FUTURI
Dal primo capitolo si è cercato di esporre come nel mondo moderno
la logica bivalente può essere troppo restrittiva per descrivere
determinati eventi, mentre la logica fuzzy essendo più malleabile
può darci maggiori sicurezze.
Si è analizzato il caso della valutazione scolastica, settore in cui la
soggettività ha un peso rilevante e che spesso pregiudica la
valutazione dello studente. Si è cercato di studiare un sistema che
eliminasse il più possibile tale fattore di soggettività utilizzando la
logica fuzzy, logica che ci ha permesso di poter prendere in
considerazione diverse variabili, aspetti fondamentali della
valutazione scolastica, in maniera da agire quasi come un docente
virtuale.
I risultati avuti dal sistema sono stati positivi dato che la differenza
tra risultati del sistema e risultati ottimali, corrispondenti alle
votazioni finali dati dai docenti, sono stati in molti casi minimi.
Il sistema può ancora essere sviluppato. Infatti, come già
evidenziato dalle simulazioni fatte, più i valori dei fuzzy set
vengono perfezionati e più i risultati finali si avvicinano a quelli
ottimali. Le possibilità sono vaste, dall’aumentare il numero di
variabili del sistema alla modifica dei sets, andando così a ricoprire
in misura maggiore di quanto fatto gli insiemi interessati.
Il sistema così progettato prevede di gestire le singole discipline
scolastiche e, in futuro, si può pensare di utilizzare le stesse
discipline come ulteriori variabili del sistema. Così facendo il
sistema potrebbe tornare come uscita una votazione che sarà
oggetto delle diverse discipline scolastiche.
100 BIBLIOGRAFIA
[1] Kosko B., Il fuzzy-pensiero – Teoria e applicazioni della
logica fuzzy, Baldini e Castoldi, 1997
[2] Marks R.J. (a cura di), Fuzzy Logic Technology and
Applications, IEEE Technology Update Series, 1994
[3] Power J., Ryan M., Yan J., Using fuzzy logic, Prentice Hall
International, 1994
[3] Luciani D., Logica fuzzy : Storia e sue applicazioni, da
Internet
[4] Chinellato E., Gestione intelligente di scorte con logica fuzzy,
da Internet
[5] Tessaro F., I fondamenti della valutazione scolastica, da
Internet
101 
Scarica