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) xX Intersezione (AND). L’insieme intersezione di A e B definiti in X è ancora un insieme di X, avente funzione di appartenenza: x X µAB(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: µAB(x) = max (µA (x), µB(x)) xX 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: µAB(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: µAB(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: ab = min(a,b) - prodotto algebrico: a*b = ab - prodotto limitato: ab = 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: ab = max(a,b) - somma algebrica: ab = a+b-ab - somma limitata: ab = 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 xiXi. 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: µRS(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: µRS(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,zXxYxZ 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 AB. 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: µAB(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) µAB(x,y) = min(µA (x),µB(y)) Implicazione fuzzy product (di Larsen) µAB(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:AB 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