Intelligenza Artificiale Contributo della Psicologia cognitivista Elaborato a uso interno del Progetto Prometeo 2009 Autori D.ssa Cesarina Prandi e D.ssa Roberta Delle Fratte INDICE Introduzione..........................................................................................................3 Capitolo I: Nascita e sviluppo della psicologia cognitiva ..................................4 Capitolo II: Maturazione della scienza cognitiva ..............................................15 Capitolo III: Introduzione al tema dell’intelligenza Artificiale ........................18 Capitolo IV: Intelligenza Artificiale ..................................................................22 Capitolo V : Dall’elaborazione tradizionale dei dati ai sistemi aperti .............26 Capitolo VI : Calcolo dei predicati e inferenza logica ......................................33 Capitolo VII: Approcci computazionali alla rappresentazione e al controllo ..37 Capitolo VIII: Sistemi esperti e esperti risolutori di problemi..........................44 Capitolo IX : I.A e Apprendimento .................................................................47 Conclusioni ........................................................................................................55 Bibliografia ........................................................................................................56 2 Introduzione La psicologia cognitiva è una branca della psicologia sperimentale che studia il comportamento e la vita mentale. Nasce come movimento : il cognitivismo che parte da un modello della mente umana come elaboratore di funzioni giungenti dagli organi sensoriali. Il fine della psicologia cognitiva è quello di coniugare lo studio del comportamento e delle capacità cognitive umane con la riproduzione di queste mediante sistemi artificiali. Per ottenere questo risultato, la psicologia cognitiva è divenuta fortemente interdisciplinare poiché si avvale dei metodi, degli apparati teorici e dei dati empirici di numerose discipline diverse tra le quali la psicologia, la linguistica, le neuroscienze, scienze sociali, biologia, intelligenza artificiale e informatica, matematica, filosofia e fisica. Partendo da questa breve definizione abbiamo iniziato un viaggio , un escursus storico che sicuramente non sarà del tutto esaustivo. Del resto solo scrivendo un elaborato molto più voluminoso di questo avremmo potuto esaminare tutte le teorie che hanno portato un contributo a quella che oggi è la scienza cognitiva. La storia che segue inizia partendo da una panoramica sullo sviluppo della scienza cognitiva e prosegue nell’ambito del rapporto esistente tra mente, cervello e calcolatori. 3 Capitolo I ° Nascita e sviluppo della psicologia cognitiva. La psicologia cognitiva nasce verso la fine degli anni 50, principalmente come reazione polemica nei confronti della scuola che da anni, soprattutto in America, dominava il panorama culturale: il Comportamentismo. Il Comportamentismo, in realtà, fu il vero e proprio punto di partenza per lo sviluppo delle scienze cognitive, in quanto getto le basi per una psicologia fondata empiricamente. Entrambe le discipline si basano su una scientificità di tipo naturalistico, nel comune tentativo di assimilare lo studio della mente umana alle scienze fisiche. Dal punto di vista dell’epistemologia , la psicologia cognitiva assume la posizione ontologica del realismo critico, secondo la quale viene accettata l’ esistenza di una realtà esterna strutturata, ma allo stesso tempo viene rifiutata la possibilità di riconoscerla completamente. E’ proprio da questa premessa teorica che si genera la diatriba con il movimento comportamentista. L’oggetto di studio non è più soltanto il comportamento umano, ma anche i processi mentali fino ad allora considerati una black box insondabile e non conoscibile scientificamente. Tale presa di posizione nei confronti dello studio della attività psichica si traduce concretamente nella accettazione dell’analisi introspettiva come metodo conoscitivo, e nell’affermarsi della concezione di comportamento umano come risultato di un processo articolato e variamente strutturato di elaborazione delle informazioni. In questo senso, il cognitivismo fa proprie scoperte derivate dalla cibernetica e dagli studi sull’intelligenza artificiale, al fine di comprendere gli algoritmi che sostanziano l’attività mentale. Gli psicologi parlano spesso di una rivoluzione cognitivista, che possiamo collocare tra gli anni 1960 e 70 , rivoluzione che ha visto la psicologia 4 cognitivista conquistare una posizione dominante tra le varie scuole di pensiero e soprattutto nei confronti del Comportamentismo. Il termine cognizione fa riferimento alla conoscenza e la psicologia cognitivista può essere definita come lo studio dell’abilità delle persone ad acquisire, organizzare, ricordare le conoscenze e usarle come guida per il loro comportamento. Gli psicologi cognitivisti studiano la mente non attraverso l’introspezione, ma sulla base di inferenze ricavate dal comportamento manifesto. Il lavoro degli psicologi cognitivisti consiste nello sviluppare modelli o teorie nei riguardi dei processi mentali che mediano il comportamento, per poi sottoporre tali teorie a verifica in situazioni controllate, dove ci si attende che i soggetti esaminati si comportino in un dato modo se il modello è corretto e in altro modo se non lo è. Anche se il cognitivismo ha iniziato ad affermarsi negli anni 60 del Novecento, possiamo annoverare nella sua ascesa e come precursori della moderna psicologia altri studiosi. Molti anni prima un gruppo di psicologi sperimentali, tra cui Clark Hull, 1882- 1952, Edward Tolman 1886-1959, che si autodefinivano comportamentisti, di fatto seguivano un approccio che oggi chiameremo cognitivista. I loro studi comportamentisti venivano definiti S- O-R per distinguerli dagli studi del comportamentismo S-R ( stimolo – risposta ) di Watson. In questa sigla la O sta ad indicare ipotetici processi interni all’organismo che mediano la relazione fra stimoli e risposte. Tolman, studiò la capacità dei ratti di navigare nei loro ambienti e ipotizzò che lo facessero costruendo mappe cognitive. Inoltre egli dimostrò l’esistenza di un apprendimento senza ricompensa e ipotizzò un ruolo per le aspettative e altre variabili intermedie. Tolman cercò di dimostrare che : “ un comportamentismo sofisticato può essere consapevole di tutta la ricchezza e la varietà degli eventi psicologici”. Clark Hull , invece elaborò una teoria meno cognitiva dell’apprendimento stimolo – risposta. Hull sistematizzò un una gran mole di dati relativi al condizionamento strumentale in una teoria matematico – deduttiva. Secondo lo studioso la velocità con cui un ratto rispondeva 5 premendo una leva, dipendeva da variabili input come le ore di deprivazione alimentare e il numero di prove rinforzate da granuli di cibo. Queste erano tutte variabili osservabili; la parte complicata comprendeva delle equazioni che dovevano collegare queste variabili ad altre dette intermedie. La pulsione o drive era in funzione del numero di ore di astinenza dal cibo; la forza dell’abitudine era una funzione negativa che poteva essere alimentata dal numero di rinforzi e dalla riduzione della pulsione; il potenziale eccitatorio che portava alla risposta effettiva era una funzione moltiplicativa della pulsione, della forza dell’abitudine e di altre variabili. La teoria di Hull occupò gran parte del programma di ricerca sull’apprendimento negli anni quaranta. Ma i risultati delle ricerche non confermarono la teoria e questa per un periodo fu salvata fino ad una nuova confutazione che avvenne intorno agli anni 50 con il paradigma del condizionamento operante elaborato da Skinner. Egli ideò complessi programmi di rinforzo che producevano gradevoli regolarità nella distribuzione nel tempo di comportamenti emessi spontaneamente, cioè operanti. Variabili intermedie e teoria formale non avevano alcun ruolo nel comportamentismo radicale di Skinner, che era più vicino al filone di Watson che a Hull. Oltre questo filone di ricerca esisteva una alternativa all’era del comportamentismo. Esamineremo brevemente alcune ricerche che nella prima metà del XX secolo, divennero molto importanti per lo sviluppo della psicologia cognitiva. Il primo contributo arrivò da F. Bartlett, nel 1932, psicologo sperimentale noto per i suoi studi sul ruolo della costruzione soggettiva nella memoria. Secondo questo studioso i ricordi non sono mere registrazioni di eventi; infatti i soggetti che ricordano li completano e li rifiniscono con eventi che non erano presenti nel contesto originale. Ad esempio, quando ad alcuni soggetti veniva chiesto di ricordare un racconto popolare degli indiani Kwakiutl, la guerra dei fantasmi, essi tendevano a modificare la trama della storia secondo gli stili occidentali. Per spiegare questa modifica, lo psicologo inglese ipotizzò che i soggetti organizzassero gli eventi della storia in base ad alcuni schemi preesistenti. Come vedremo successivamente la nozione di 6 schema inteso come struttura deputata a organizzare le informazioni in memoria ha svolto un ruolo decisivo in psicologia cognitiva e ancora di più nella scienza cognitiva. Anche Jean Piaget condusse impressionanti ed enormi ricerche nel campo da lui chiamato epistemologia genetica. Piaget lavorò per un lungo periodo nel laboratorio Binet a Parigi e fu attratto dagli errori che i bambini commettevano nei test di ragionamento standardizzati. Egli escogitò dei metodi per portare alla luce le competenze in divenire dei bambini, e nel corso degli anni elaborò una complessa teoria mentalistica che ipotizzava gli stadi di sviluppo e i processi interni responsabili del passaggio da uno stadio all’altro. Questa teoria rimase famosa e diventò punto di riferimento per il pensiero del XX secolo. Ancora un’ altra tradizione a orientamento cognitivo fu inaugurata dal gruppo dell’istituto di Psicologia di Mosca. Lev S. Vygotskij elaborò un approccio storico culturale della psicologia che guidò le sue ricerche empiriche sullo sviluppo cognitivo e linguistico dell’infanzia. La stessa scia teorica caratterizzò il lavoro empirico condotto da A. Laurijia sui disturbi del linguaggio e le funzioni della corteccia frontale. Particolarmente influente fu l’ipotesi formulata da questi due studiosi secondo cui le capacità cognitive emergono durante una relazione con altro soggetto prima di assumere un ruolo centrale nella vita mentale privata. Le odierne ricerche sull’azione mediata affondano le radici in questa tradizione sovietica. Mentre il comportamentismo stava prendendo piede in America, faceva la sua apparizione in Germania la psicologia della Gestalt. Gestalt è una parola tedesca che significa “ forma organizzata” o “configurazione completa” : oggetto di studio dei gestaltisti fu la percezione, in particolar modo l’organizzazione percettiva e cognitiva. Loro ritenevano che le esperienze percettive dipendessero dai modelli formati dagli stimoli e dall’organizzazione dell’esperienza. Nella percezione le proprietà di un oggetto , ad esempio il suo profilo, sono più evidenti delle parti che lo costituiscono. Il primo studio in cui compare l’impostazione teorica della Gestalt è un articolo di Max Wertheimer, sul fenomeno φ (phi) : il 7 movimento apparente o illusorio che si verifica quando una luce si accende e si spegne una frazione di secondo dopo che una luce adiacente si è accesa e spenta. Lo studioso respinse le teorie del fenomeno φ che ne individuavano la causa nel riconoscimento distinto delle due luci lampeggianti, e propose una teoria alternativa basata sulle cosiddette proprietà di campo del cervello. L’idea che spesso le persone o gli animali vedono o percepiscono le cose come totalità è un assunto fondamentale della Gestalt. In alcuni casi la totalità è spaziale, ad esempio come quando si percepisce la rotondità di un oggetto; in altri casi è temporale ad esempio quando un individuo immagina degli obiettivi e organizza il proprio comportamento come mezzo per conseguirli. Questi interessi portarono, gli psicologi della Gestalt, a proporre una serie di interpretazioni ,basate sulla percezione, che hanno contribuito a formare le fondamenta degli attuali sviluppi della psicologia cognitivista. Nel corso degli anni Quaranta e Cinquanta, i progressi dello studio del cervello contribuirono alla riflessione sul modo in cui concetti come informazione e computazione potevano costituire una base per la comprensione dei processi mentali. L’idea che la psicologia potesse trarre dei vantaggi dalla collaborazione con le neuroscienze fu formulata dallo psicologo Donald Hebb, egli sosteneva che esisteva una notevole somiglianza tra i problemi della psicologia e della neurofisiologia, da qui la possibilità o la necessità di un aiuto reciproco. Mentre discipline come la psicologia e la linguistica furono nella posizione di contribuire alla nascita della scienza cognitiva solo dopo aver subito una rivoluzione interna, e l’intelligenza artificiale dovette essere prima creata, la neuroscienza poteva contare su di una storia più lunga. L’idea che il cervello non è semplicemente l’organo dei processi mentali ma può essere scomposto in sistemi costituenti che eseguono funzioni specifiche differenti nella vita mentale è un prodotto del XIX secolo. Il problema della neuroscienza, ieri come oggi, è quello di analizzare il cervello componendolo nelle sue parti funzionali e comprendere come queste lavorano insieme in quanto sistema. 8 Comunque prima che gli scienziati potessero pronunciarsi sull’organizzazione funzionale del cervello, avevano bisogno di scoprire qualcosa di più sulla sua architettura generale. Alla fine del XIX secolo furono compiuti importanti progressi sia a livello micro che a quello macro nella comprensione del cervello. A livello micro il progresso fondamentale fu la scoperta che il tessuto nervoso è costituito dai neuroni e con il metodo introdotto da Camillo Golgi, la colorazione con il nitrato d’argento, diveniva possibile osservare chiaramente i neuroni completi di tutti i loro assoni e dendriti . Successivamente Sir C.S Sherrington definì i punti di comunicazione tra i neuroni con il termine sinapsi ( dalla parola greca che significa congiungere) e ipotizzo che tale comunicazione avesse natura chimica. Questi processi hanno svolto un ruolo di primo piano nella comprensione di processi cognitivi come quello dell’apprendimento, e sono diventati la fonte di ispirazione del modello di scienza basata sulle reti neuronali. In neuroscienza si è verificato anche un altro tipo di progresso che consiste nell’istituzione di collegamenti tra differenti aree cerebrali identificate al macrolivello e specifiche funzioni cognitive. Ciò ha richiesto il superamento della concezione secondo cui il cervello, in particolar modo la corteccia cerebrale, opererebbe in modo olistico. L’idea che la macrostruttura del cervello è suddivisa in aree funzionali diverse, va attribuito a Franz Joseph Gall. Egli ipotizzò che le protuberanze o le rientranze del cranio rispecchiassero le dimensioni delle aree cerebrali sottostanti . Inoltre suppose che fossero le dimensioni delle aree cerebrali a determinare il contributo al comportamento. Di conseguenza, vide la possibilità di identificare le aree cerebrali responsabili di ogni tratto mentale o caratteriale basandosi sulla correlazione tra le rientranze e le protuberanze, da un lato e, dall’altro gli eccessi e le insufficienze relative a particolari tratti mentali e caratteriali. Il nome attribuito a queste idee fu quello di “Neofrenologia”. Un altro problema affrontato dai ricercatori che tentavano di localizzare funzioni mentali nel cervello era la mancanza di un modo standard di designare le sue parti. I vari ripiegamenti della corteccia che danno origine a giri o circonvoluzioni e a solchi sono stati utilizzati da 9 anatomisti per suddividere il cervello in differenti lobi, come mostrato nella figura sottostante. L’ atlante più famoso , e ancora oggi molto utilizzato per la sua numerazione delle regioni cerebrali, è quello di Korbinian Brodmann del 1909. brodmann e altri neuroanatomisti che si dedicavano alla cartografia cerebrale fondavano le loro idee sul principio della localizzazione funzionale, regioni cerebrali differenti eseguono funzioni differenti. Una delle più antiche fonti di informazione sulle funzioni delle aree cerebrali è lo studio dei deficit conseguenti al danneggiamento di una struttura neuronale. Però la strada che porta dal danno al punto di arrivo è impervia. Le aree anatomiche e funzionali sono diverse da individuo ad individuo; è infatti molto complesso determinare quale contributo apporta la parte danneggiata alla funzione normale. Queste difficoltà sono illustrate nel celebre caso del sig . Leborgne, più comunemente noto come “TAN” , unica sillaba che il paziente era in grado di dire. Il presente caso fu studiato da Paul Broca nel 1861. Tan fu seguito da Broca non solo per la perdita del linguaggio articolato ma anche 10 per una epilessia e una emiplegia destra. Tan morì sei giorni dopo essere stato visitato da Broca e questo ultimo effettuò un esame autoptico che rivelò una vasta lesione del lobo frontale sinistro. La regione centrale della lesione prese il nome di area di Broca . Le ricerche di Broca non furono condivise e non tutti sottoscrissero l’idea che le funzioni mentali sono identificabili con le regioni il cui danneggiamento può causare la perdita di funzione. Perfino alcuni che condividevano la tesi di Broca rifiutarono l’idea che la funzione stessa fosse eseguita nell’area lesionata. Questa posizione fu presa da Carl Wernicke, il quale nel decennio successivo , presentò casi in cui il danneggiamento di un’ area del lobotemporale causava la perdita delle capacità di comprensione del linguaggio, lasciando però intatta la capacità di parlare. Questa sarà denominata l’area di Wernicke . Egli, tuttavia, associava la sede della lesione non come il luogo deve avveniva la comprensione ma come una zona di associazione tra idee semplici. Questa concezione portò a considerare l’area di Wernicke la sede della comprensione linguistica e l’area di Broca la sede della produzione linguistica. In tempi più recenti questa teoria della scomposizione della funzione linguistica in produzione e comprensione è stata messa in dubbio da ricercatori influenzati da Chomsky. La teoria linguistica chomskiana prevede componenti separate per la fonologia, la sintassi e la semantica. Anche gli studi basati sulle stimolazioni apportarono nuovi elementi di scoperta. Gli studi sulla stimolazione elettrica non erano una novità, ma generalmente non avevano dato dei risultati a causa dell’impiego di una corrente elettrica troppo forte. Uno psichiatra e un anatomista, realizzarono uno studio che prevedeva l’applicazione di una leggera stimolazione elettrica a porzioni anteriori della corteccia cerebrale di un cane. I due studiosi scoprirono che la stimolazione di zone specifiche della corteccia dava luogo a contrazioni muscolari della parte controlaterale del corpo del cane. Essi combinarono questo studio di stimolazione con uno studio di lesione con ablazione della parte della parte della corteccia che attivava la zampa anteriore. Il risultato fu la compromissione del movimento della zampa . Gli 11 studi di stimolazione ebbero una ricaduta pratica solo quando, nel XX secolo, la neurochirurgia ebbe larga diffusione. Un neurochirurgo canadese, sviluppò una procedura per l’ablazione di una porzione del cervello dalla quale sembrava avessero origine le scariche epilettiche. Analizzando gli effetti provocati dalle ablazioni di tessuto cerebrale a scopo terapeutico, egli giunse a ricostruire la localizzazione delle aree del linguaggio nell’emisfero sinistro e, più in generale, a determinare le funzioni di varie aree corticali, in particolare quelle frontali e temporali, nella gestione del comportamento umano. Con questo metodo dell’elettrostimolazione applicato ad aree diverse della corteccia, elabora una nuova mappa delle funzioni sensoriali e motorie. La figura qui sotto, il celebre Homunculus, illustra la proprietà di queste mappe: regioni corporee differenti sono rappresentate da differenti quantità di corteccia cerebrale. La mano e la faccia sono rappresentate in evidenza , mentre il tronco e il collo sono localizzate in aree molto più piccole Sempre negli anni 50 ebbe luogo un progresso importante , comparvero le prime analisi computazionali nei sistemi neuronali e venne dato l’avvio alla modellistica computazionale 12 “ cerebriforme” , un approccio che, grazie alla mediazione di Hebb, ereditò il nome di connessionismo dall’approccio associazionistico alla concettualizzazioni del cervello. La figura che diede l’avvio allo sviluppo di questa teoria, fu McCulloch, un neurofisiologo. Egli scrisse insieme al logico Pitts, un saggio che analizzava reti di unità simili a neuroni. Loro dimostrarono che queste reti erano in grado di valutare qualsiasi funzione logica composta e affermarono che, una volta integrate da un nastro e da mezzi per modificare i simboli sul nastro, il loro potere computazionale sarebbe stato equivalente a quello di una macchina di Turing. Le unità della rete erano concepite come modelli semplificati di neuroni e da allora vengono chiamate neuroni di McCullochPitts. Ogni unità era un dispositivo binario, significa poteva essere acceso o spento che riceveva input inibitori e eccitatori da altre unità o dall’esterno della rete. L’unità fatta in questo modo era idonea non solo a costituire il modello di un neurone semplificato, ma anche il modello di un relè elettrico , componente fondamentale di un computer. Di conseguenza i neuroni di McCulloch – Pitts contribuirono ad istituire quel collegamento tra cervello e calcolatori che era stato già evidenziato da altri studiosi, ad esempio John von Neumann e Marvin Minsky . Al pari della psicologia, la linguistica doveva trasformarsi per poter contribuire alla scienza cognitiva. Il protagonista di questa trasformazione fu Noam Chomsky, con la pubblicazione di un libro intitolato “ le strutture della sintassi”. In questa opera sostiene che il linguaggio deve essere considerato un sistema di regole mentali, non la concatenazione di eventi stimolo – risposta che in passato alcuni comportamentisti avevano ipotizzato. Secondo Chomsky, queste regole sono imposte e in parte predeterminate dalle capacità innate della mente umana. Finora abbiamo posto in rilievo gli sviluppi intellettuali che hanno costituito i fondamenti della scienza cognitiva. Abbiamo anche visto che tutti i protagonisti della storia non hanno mai condotto le loro ricerche in isolamento. 13 Dopo la descrizione della nascita e un periodo abbastanza lungo dove si è sviluppata la scienza cognitiva, passeremo ad un periodo dal 1960 al 1985 dove parleremo di una maturazione vera e propria della scienza cognitiva. 14 Capitolo II La maturazione della scienza cognitiva . Il periodo che intercorre tra il 1960 e 1985 costituisce la maturazione della scienza cognitiva. Durante questi 25 anni essa si perfezionò e iniziò a dare i suoi frutti sia in termini intellettuali che istituzionali. Seguendo Miller si può fissare la data della nascita della scienza cognitiva alla fine degli anni cinquanta. Durante tutto il processo di perfezionamento ci fu l’abbandono di alcuni elementi che avevano caratterizzato la scienza cognitiva in tutta la parte di gestazione. Tra i grandi esclusi ci fu la neuroscienza e le reti neuronali artificiali. Durante il periodo di attesa dello sviluppo tutte le discipline della scienza cognitiva avanzarono proposte per riflettere sui processi cognitivi senza però riuscire a produrre un modello unitario dei meccanismi responsabili della cognizione. Nel 1960 Miller, Galanter e Pribram, svilupparono questo modello, un meccanismo cognitivo di base che denominarono “ unità TOTE “. L’acronimo TOTE è composto dalle iniziali delle parole test, operate, test, exit (controlla- esegui- controlla- esci). Nell’opera “ Piani e struttura del comportamento”,i tre studiosi si orientano allo sviluppo degli studi sul comportamento nella psicologia dell’individuo; essi descrivono l’ attività pianificatrice dell’uomo secondo degli schemi d’azione .Miller, Galanter e Pribram si concentrarono sull’azione finalizzata , vale a dire l’esecuzione di piani. Il piano si esprime fondamentalmente attraverso un continuo confronto fra quanto l’organismo conosce e si aspetta da una parte, e quanto l’ambiente gli offre rispetto alle mete del piano, questo confronto viene chiamato test nel modello TOTE.. 15 In altre parole, ogni azione è diretta ad un scopo ed ogni volta che un individuo vuole compiere una azione formula un piano di comportamento per ottenere lo scopo prefissato. Se, ad esempio, il mio scopo è quello di mettere un chiodo in un certo punto del muro, inizialmente effettuerò un test per verificare che il chiodo non sia già presente nel muro. Se c’è, il piano non viene sviluppato oltre, e si passerà direttamente all’effettuazione di un nuovo piano per esempio appendere un quadro a quel chiodo, e quindi uscire. Se non c’è, passerò alla fase operativa, in questo caso pianterò il chiodo. Eseguita la fase operativa, eseguirò un nuovo test per verificare che il chiodo sia conficcato nella giusta posizione. Se è così passerò all’uscita, in caso contrario effettuerò una nuova operazione per correggere la posizione del chiodo. In questa ottica l’uomo crea una organizzazione gerarchica del comportamento, un piano è l’equivalente di un programma di un calcolatore capace di determinare una particolare strategia d’azione. Gli argomenti degli autori, infatti, girano intorno ad una duplice analogia: il rapporto tra un piano e la mente è simile a quello tra un programma e un calcolatore. Senza le istruzioni, o il programma, il calcolatore non elaborerà le informazioni. Dati di tutti i tipi possono essere stati immagazzinati nella sua memoria o inviatigli dall’esterno, ma senza un programma non può succedere niente. Ora, se le persone sono come i calcolatori, dovremmo avere da qualche parte un insieme organizzato di istruzioni che tenta di eseguire. L’uomo deve avere, cioè, un piano che guida il suo comportamento. In questi presupposti teorici la programmazione euristica della mente al computer è ovvia: “ un piano è per l’organismo essenzialmente la stessa cosa che un programma è per un computer”. Allo stato attuale di conoscenza, le relazioni tra fra cervello e computer sono ancora in continua evoluzione. Il cervello è un organo elettrochimico con un gran numero di connessioni ed opera con azioni parallele e globali, olistiche, a bassa velocità e basso costo energetico, capace di generare in continuazione nuovi elementi e nuove connessioni; il computer è invece un sistema elettronico a connessioni fisse, operante quasi solo sequenzialmente e 16 localmente ad alta velocità. Non si pone dunque il problema di identificare cervello e computer come macchine, a livello hardware, bensì di paragonarli come comportamento e prestazioni, a livello software. Infatti, appena il computer fu disponibile si cominciò ad usarlo non soltanto per i calcoli matematici per i quali era stato progettato, ma anche per simulare aspetti diversi della attività umana. Ad esempio, Turing, matematico inglese che sviluppò le basi teoriche dell’informatica e introdusse un modello astratto di macchina calcolatrice programmabile, iniziò ha scrivere programmi per giocare ha scacchi e andando avanti si passò a progetti più ambiziosi come la rappresentazione della conoscenza, analisi del linguaggio, riconoscimento di immagini, apprendimento per esperienza. Ma come spesso accade, lo spirito di Turing, di costruire un cervello, divenne il motto programmatico dell’intelligenza artificiale. Ma mentre per Turing significava soltanto costruire un computer, questo viene interpretato dagli studiosi di Intelligenza Artificiale come la costruzione di un programma che simuli le attività cerebrali umane. L’accento si è dunque spostato tutto sulla parola simulazione, lasciando da parte il problema discusso precedentemente, se il cervello sia o no un computer. Questo tema lo approfondiremo di seguito addentrandoci nella evoluzione storica, metafisica della Intelligenza artificiale la relazione esistente tra la psicologia cognitiva e l’Intelligenza Artificiale. 17 Capitolo III INTRODUZIONE AL TEMA DELL’INTELLIGENZA ARTIFICIALE A. LA CONTRAPPOSIZIONE COMPORTAMENTISMO- COGNITIVISMO Negli anni Cinquanta e anche prima dominava nelle scienze psicologiche il paradigma comportamentista; ad esso è succeduto, ed oggi è dominante, il paradigma cognitivista. Anche in termini storici, quindi, è utile questo raffronto, ma è molto utile anche in termini concettuali che consente di schematizzare molto semplicemente dove è la principale differenza di obiettivi e di metodi. Come possiamo caratterizzare in modo estremamente elementare il comportamentismo? Il comportamentismo, almeno nella sua parte più severa e rigorosa, sostiene che bisogna abbandonare tutti i concetti classicamente psicologici della psicologia del senso comune o della psicologia filosofica come il concetto di pensiero, intenzione, desiderio, volontà, intuizione etc, perché sono concetti metafisici, non studiabili con metodi scientifici. Bisogna invece assumere il comportamento, che appunto è l’unico oggetto vero della psicologia in quanto è ciò che è osservabile, a differenza della mente e della psiche che non sono osservabili. Per studiare il comportamento quello che bisogna fare è osservare gli stimoli che l’organismo riceve e le risposte. Ciò che c’è nel mezzo è semplicemente una scatola nera. Abbiamo quindi un sistema in cui c’è un’entità non analizzata che sta in mezzo all’input e all’output. L’input è ciò che il sistema riceve, cioè lo stimolo, mentre l’output è ciò che si osserva, cioè la risposta. Tra stimoli e risposte non si può fare teoria se non in termini di associazioni che si sono stabilite nel tempo. 18 In sostanza immaginiamo un topino messo in una gabbietta che ha fame e si agita ed esplora (come è il comportamento normale dei topi) e che in questa esplorazione spinge una levetta. Allo spingere di questa leva esce del cibo, viene somministrato del cibo. Il topo, molto rapidamente, in un breve numero di prove (e così anche il piccione o altri animali) apprende, quando ha fame, a spingere la leva per ottenere il cibo. Questo è il condizionamento strumentale o operante. Sulla base di questi modelli di apprendimento e di condizionamento, basati sull’idea che c’è una associazione tra stimoli e risposte o tra comportamenti e risultati, si supponeva che si potesse fare teoria anche delle funzioni superiori dell’uomo. Invece il cognitivismo è partito in primo luogo proprio dall’idea che questi modelli di apprendimento e di associazione non sono sufficienti ed adeguati per dar conto del pensiero o del linguaggio o di altre attività superiori cognitive umane. Il secondo punto, su cui il cognitivismo si contrappone, è proprio su quale è l’obiettivo della scienza psicologica e di che cosa si deve fare teoria. Mentre per il comportamentismo si può fare teoria soltanto di ciò che si osserva (degli stimoli quindi e dei comportamenti o risposte perché il resto è fuori della portata della scienza: è metafisica e non è oggetto della scienza positiva), per il cognitivismo, invece, ciò di cui la psicologia deve fare teoria è proprio ciò che avviene nella scatola nera, cioè quello che avviene tra lo stimolo ambientale e il comportamento esterno osservabile, il processo che c’è nel mezzo. Il cognitivismo è sviluppare dei modelli di cosa avviene dentro la scatola nera, la natura di questi modelli. La concezione del soggetto tipica del cognitivismo è una concezione molto più attiva nel senso che il soggetto elabora attivamente e in base a quello che ha dentro l’informazione. Il comportamento è assai meno prevedibile, non è una pura risposta e può inoltre cercare attivamente informazioni nel mondo per i propri fini. L'insoddisfazione proviene non solo dall'esterno, ma anche, dall' interno del comportamentismo stesso: nel 1960, Miller, Galanter e Pribram, tentano di trovare un'unità di misura del comportamento, che sia in grado di sostituire il modello classico S-R. Tale unità, TOTE, ( da Test-Operate-Test-Exit ) 19 implica già la nozione di feed-back, termine con cui la cibernetica indicava il concetto di "retroazione". "Quindi è evidente che lo sviluppo della cibernetica e successivamente la teoria dell' informazione stessero già influenzando questi cambiamenti. D' altra parte, l'espandersi dell' uso dei calcolatori e i sempre più raffinati ritrovati tecnologici, offrono alla psicologia sperimentale, oltre che ulteriori possibilità di analisi, dei supporti consistenti nel considerare la mente come elaboratore di informazioni. Inoltre con questi nuovi strumenti tecnologici, è possibile (da un punto di vista metodologico) elaborare dei modelli di funzionamento dei processi mentali, che, saranno lo scopo fondamentale della psicologia cognitivista" (Canestrari, 1984) La locuzione scienze cognitive si riferisce allo studio dei processi cognitivi, ovvero della mente e della memoria dell'intelligenza. Attualmente non vi è una disciplina singola in grado di occuparsi di tutte le varie sfaccettature della mente; pertanto si parla di scienze cognitive al plurale per raccogliere le tematiche di un'area di ricerca marcatamente interdisciplinare. Alcune delle discipline partecipanti sono la psicologia, la psicologia cognitiva, la linguistica, le neuroscienze e l’intelligenza artificiale. B. PSICOLOGIA COGNITIVA E INTELLIGENZA ARTIFICIALE Ulric Neisser pubblica nel 1967 "Cognitive Psycology " che diventa il manifesto della nuova scuola psicologica. L'impostazione cognitivista parte dai seguenti assunti: 1) la psicologia ha il compito di focalizzare la sua attenzione sui processi interni dell'organismo, come mediatori tra stimoli e risposte, formulando modelli del loro funzionamento e confrontando i risultati di laboratorio con le previsioni dei modelli stessi; 2) i processi interni, devono consistere in processi di elaborazione dell'informazione, strutturalmente equivalenti a quelli di un computer digitale; 20 3) i processi di elaborazione dell' informazione consistono in processi di manipolazioni di stimoli. Nel 1956, in un seminario estivo tenuto nel Dartmouth College, viene coniato il termine "Intelligenza Artificiale ". Nel corso degli anni '70 si assiste alla realizzazione di sistemi esperti , il cui progetto mette i ricercatori di fronte al problema di come rappresentare la conoscenza all' interno di un "congegno artificiale " e di conseguenza nell'uomo. Da questi assunti nacque la Teoria dell' Uomo Elaboratore di Informazioni meglio conosciuta come "Human Information Processing" (HIP) che, basata sul presupposto che la mente sia un elaboratore di segni, andava alla ricerca di un apparato di segni in grado di eseguire i compiti e le funzioni che la mente effettua. 21 Capitolo IV INTELLIGENZA ARTIFICIALE L'intelligenza artificiale è uno dei numerosi campi di dibattito teorico tra scienziati e filosofi. Per intelligenza artificiale, spesso abbreviata in AI (dall'inglese Artificial Intelligence), si intende generalmente la possibilità di far svolgere ad un calcolatore alcune funzioni e alcuni ragionamenti tipici della mente umana. Nel suo aspetto puramente informatico, comprende la teoria e la pratica dello sviluppo di algoritmi che rendano le macchine (tipicamente i calcolatori) capaci di mostrare un'abilità e/o attività intelligente anche se in domini molto specifici. Tali attività e capacità comprendono: l'apprendimento automatico (machine learning), utile in contesti quale il gioco degli scacchi la rappresentazione della conoscenza e il ragionamento automatico in maniera simile a quanto fatto dalla mente umana la pianificazione (planning) la cooperazione tra agenti intelligenti, sia software sia hardware (robot) l'elaborazione del linguaggio naturale (Natural Language Processing) la simulazione della visione e dell'interpretazione di immagini La domanda al centro del dibattito sull'intelligenza artificiale è fondamentalmente una sola: "I computer possono pensare?". Le risposte sono varie e discordi, ma perché abbiano un senso bisogna prima determinare cosa significhi pensare. Ironicamente, nonostante tutti siano d'accordo che gli esseri umani sono intelligenti, nessuno è ancora riuscito a dare una definizione di intelligenza soddisfacente; proprio a causa di ciò, esistono due principali branche in cui è suddiviso lo studio dell'AI: la prima, detta intelligenza artificiale forte, sostenuta dai funzionalisti, ritiene che un computer correttamente programmato possa essere veramente dotato di una intelligenza 22 pura, non distinguibile in nessun senso importante dall'intelligenza umana. L'idea alla base di questa teoria è il concetto che risale al filosofo empirista inglese Thomas Hobbes, il quale sosteneva che ragionare non è nient'altro che calcolare: la mente umana sarebbe dunque il prodotto di un complesso insieme di calcoli eseguiti dal cervello; la seconda, detta Intelligenza Artificiale debole, sostiene che un computer non sarà mai in grado di essere equivalente a una mente umana, ma potrà solo arrivare a simulare alcuni processi cognitivi umani senza riuscire a riprodurli nella loro totale complessità. Rimanendo nel campo della programmazione "classica", basata su linguaggi simbolici e lineari, in cui la grande velocità di calcolo dei processori moderni supplisce alla carenza di parallelismo, sicuramente assume una posizione dominante l'AI debole, in quanto si può facilmente constatare come un computer elabori una serie di simboli che non comprende e che si limiti ad eseguire i suoi compiti meccanicamente. Bisogna tuttavia riconoscere che, con la diffusione sempre maggiore di reti neurali, algoritmi genetici e sistemi per il calcolo parallelo la situazione si sta evolvendo a favore dei sostenitori del connessionismo. A detta di alcuni esperti del settore, però, è improbabile il raggiungimento, da parte di un computer, di una capacità di pensiero classificabile come "intelligenza", in quanto la macchina stessa è "isolata" dal mondo, o, al massimo, collegata con esso tramite una rete informatica, in grado di trasmettergli solo informazioni provenienti da altri computer. La vera "intelligenza artificiale", perciò, potrebbe essere raggiungibile solo da robot (non necessariamente di forma umanoide) in grado di muoversi (su ruote, gambe, cingoli o quant'altro) ed interagire con l'ambiente che li circonda grazie a sensori ed a bracci meccanici. Spesso, difatti, anche nell'uomo, l'applicazione dell'intelligenza deriva da qualche esigenza corporea, perciò è improbabile riuscire a svilupparne un'imitazione senza un corpo. 23 Inoltre, finora, nel tentativo di creare AI, si è spesso compiuto un errore che ha portato i computer all'incapacità di applicare il buonsenso e alla tendenza a "cacciarsi nei pasticci". L'errore consiste nel non considerare a sufficienza il fatto che il mondo reale è complesso e quindi una sua rappresentazione lo sarà altrettanto. Non solo sarà complessa, ma sarà anche incompleta, perché non potrà mai includere tutti i casi che il robot potrà incontrare. Perciò, o immettiamo nel cervello artificiale una quantità enorme di informazioni corredate da altrettante regole per correlarle (il che originerà, probabilmente, un vicolo cieco logico alla prima difficoltà incontrata), oppure lo mettiamo in condizione di imparare. La chiave dell'AI, sembra proprio essere questa: l'imitazione della sua analoga naturale, tenendo ben presente l'importanza dei processi evolutivi nello sviluppo delle caratteristiche morfologiche e comportamentali di un individuo e nella formazione di ciò che viene definito "senso comune". Vincenzo Tagliascoi, ricercatore al Laboratorio integrato di robotica avanzata presso la facoltà di Ingegneria dell'università di Genova, ci fa notare che nell'evoluzione delle macchine intelligenti si è cercato di saltare intere generazioni di macchine più modeste, ma in grado di fornire preziosi stimoli per capire come gli organismi biologici interagiscono con l'ambiente attraverso la percezione, la locomozione, la manipolazione. Ora, per fortuna, c'è chi segue un approccio più coerente: prima di insegnare a un robot a giocare a scacchi, è necessario insegnargli a muoversi, a vedere, a sentire. Insomma, anche nel robot intelligente occorre creare una "infanzia", che gli consenta di mettere a punto autonomi processi di apprendimento e di adattamento all'ambiente in cui si troverà ad agire. E' necessario quindi riprodurre due evoluzioni parallele: una che da costrutti più semplici porti alla produzione di macchine sempre più complesse e sofisticate, un'altra, tutta interna alla vita del singolo automa, che lo faccia crescere intellettualmente, dandogli modo di apprendere, da solo o sotto la supervisione umana, le nozioni necessarie al suo compito ed alla formazione di un’autonomia decisionale. 24 L'intelligenza artificiale, continuando lungo le attuali direttrici di sviluppo, diverrà sicuramente un'intelligenza "diversa" da quella umana, ma, probabilmente, comparabile a livello di risultati in molti campi in cui è necessario applicare capacità di scelta basate su casi precedenti, nozioni generali e "ragionamento". È invece molto difficile immaginare un computer in grado di filosofeggiare ed esprimere concetti e dubbi riguardo l'origine o il senso della vita. 25 Capitolo V DALL’ELABORAZIONE TRADIZIONALE DEI DATI AI SISTEMI ESPERTI 1. Il problema della rappresentazione I sistemi esperti hanno origine dall’elaborazione tradizionale dei dati e sono il risultato del tentativo di automatizzare alcuni dei principali aspetti del processo informativo umano. Un elaboratore ha generalmente il compito di trasformare una sequenza di simboli in ingresso in una sequenza di simboli in uscita. L’elaboratore d’altro canto non ha alcuna cognizione di quello che sta facendo ma si limita ad imitare delle operazioni che noi poi interpretiamo nella realtà. Il problema che a questo punto si pone deriva dal fatto che le trasformazioni primitive sono valide soltanto se le sequenze fornite in input sono nel formato adatto e le sequenze di output sono interpretate correttamente. Entrambe queste attività sono di natura umana quindi il problema è, essenzialmente, di rappresentazione. Dobbiamo quindi definire un formalismo valido, in modo da presentare all’elaboratore delle sequenze di simboli che definiscano in maniera non ambigua ciò che intendiamo e parimenti determinare le trasformazioni primitive in modo tale che una volta eseguite forniscano delle sequenze in uscita che abbiano per noi un significato non ambiguo. L’elaborazione tradizionale è pertanto resa possibile dalla definizione di rappresentazioni adeguate, sia per i dati che vogliamo manipolare, sia per la sequenza di operazioni che desideriamo svolgere. La scelta della rappresentazione risulta quindi essere cruciale in quanto determina quali tipi di processo conoscitivo possano essere adattati o meno all’automazione. Il processo conoscitivo di un esperto attinge ad ampie fonti d’informazione, alcune delle quali possono essere incomplete e presentate in molte forme diverse. Il processo grazie al quale un esperto sceglie, sintetizza e trasforma i 26 dati iniziali è poco noto. Da ciò la necessità di rappresentare le caratteristiche essenziali del modo in cui avviene l’approccio e la risoluzione di un problema da parte dell’esperto. Le tecniche tradizionali di rappresentazione sono risultate inadeguate a far fronte a questi problemi; da ciò il rischio, impostoci dai nostri limiti di rappresentazione, di raggiungere un punto morto. Con successo però da diversi anni il problema della rappresentazione è stato esaminato nel campo dell’Intelligenza Artificiale. 2. La rappresentazione della conoscenza Gli esseri umani hanno «conoscenza» del mondo in cui vivono che si divide in due grandi categorie: quella condivisa dalla maggioranza degli uomini; quella che ha carattere più specialistico. La conoscenza di oggetti e delle loro relazioni ci pone in condizione di classificarli e di stabilire le connessioni reciproche (fatti). Un altro tipo di conoscenza, le regole, rende possibile specificare come inferire nuove istanze di una classe, o nuove istanze di una relazione, da oggetti non ancora classificati. Fondamentalmente, una struttura di controllo permette di decidere quale sarà la prossima regola da utilizzare durante il processo. Le regole potrebbero essere prese in sequenza o potrebbe rendersi necessario qualche sottosistema di regole per decidere quali altre regole siano da applicare (regole di livello superiore o metaregole). Il meccanismo di applicazione di una determinata regola in situazioni caratterizzate da una scelta è anch’esso un problema di strutture di controllo. In certi punti siamo di fronte ad una scelta; da ciò la necessità si possedere un metodo adeguato, determinato dalla struttura di controllo, per la scelta della via da seguire. In conclusione per descrivere un processo conoscitivo possiamo utilizzare: una conoscenza dichiarativa (classi e relazioni); una conoscenza procedurale (regole e strutture di controllo). 27 Il limite tra le due è molto flessibile. In generale, quanta minore è la conoscenza che dichiariamo, tanto più sarà necessaria una conoscenza procedurale e viceversa. 3. L’approccio tradizionale Il primo compito da affrontare implica, quindi, la classificazione di tutti gli oggetti che devono essere manipolati dall’elaboratore. Questa classificazione è, in realtà, la costruzione di relazioni tra singoli simboli computazionali e singoli oggetti esterni o idee. L’atto di porre relazioni stabilisce connessioni tra oggetti già classificati. In genere si ottiene una classificazione di oggetti simili fornendo un’etichetta (o nome variabile) e un indice. L’etichetta fornisce una classe e l’indice un’occorrenza, o istanza, di quella classe. Per definire le relazioni si usa un approccio piuttosto simile a quello usato per la classificazione; vengono infatti usati un’etichetta e un indice. Ancora una volta l’etichetta stabilisce la relazione e l’indice ne definisce un’istanza. Le procedure, in un secondo tempo, creano nuove istanze di relazioni e classi a partire da quelle esistenti. E’ da notare quindi l’influenza delle nostre definizioni di classificazione e relazione sulle costruzioni di procedure. E’ importante sottolineare che l’elaborazione tradizionale non può creare nuove classi o nuove relazioni – queste vengono tutte definite durante la scrittura del programma – ma solo istanziare classi o relazioni esistenti. Per far ciò si utilizzano costrutti artificiali comuni dei linguaggi di programmazione tradizionali quali DO…WHILE, FOR…DO, REPEAT…UNTIL, ecc. 4. Una struttura di controllo alternativa – i sistemi di produzione Una possibile struttura di controllo è offerta dal sistema di produzione. Un sistema di produzione consta dei tre elementi definiti in precedenza: classificazioni e relazioni; regole; 28 struttura di controllo. Le classificazioni e le relazioni vengono denominate «base di dati», che contiene in sostanza la conoscenza dichiarativa. Le procedure sono un insieme di regole del tipo: SE (condizione) ALLORA (azione) La struttura di controllo determina quale regola venga verificata in seguito, ed è spesso definita un interprete di regole. La (condizione) è una prova dello stato corrente della base di dati e l’(azione) aggiorna in un certo modo la base dati. Oltre all’approccio fondato sulla regola di produzione, sono possibili molte altre strutture di controllo, e la ricerca nel campo dell’Intelligenza Artificiale ha portato alla scoperta di un certo numero di approcci diversi. Un punto importante concerne la relazione tra la struttura di controllo e il dominio di conoscenza. 5. Le strutture di controllo e la dipendenza dal dominio Spesso la struttura di controllo è indipendente dal dominio. In altre parole questo significa che il suo modus operandi non dipende dalla conoscenza del dominio in esame. Tali strutture di controllo sono semplici e chiare, e ci mettono in grado di separare nettamente la conoscenza sull’applicazione (cioè la base dati comprensiva di fatti, relazioni e regole) dall’operazione considerata. In molti problemi reali ciò non è facilmente conseguibile e può non essere desiderabile. Un semplice esempio di dipendenza dal dominio si riferisce all’effetto prodotto dal contesto. In molti problemi, certe serie di regole possono essere applicate solo in circostanze o contesti determinati. 6. Altri limiti all’approccio tradizionale 29 Vi sono altre difficoltà, associate all’elaborazione tradizionale dei dati, che pongono restrizioni alla determinazione della linea di demarcazione tra l’elaborazione della conoscenza da parte dell’uomo e da parte dell’elaboratore. Le più importanti sono quelle relative ai dati inferiti, al ragionamento inesatto e a soluzioni del problema che non possono essere formulate come algoritmi convenzionali. 6.1. I dati inferiti Qualsiasi programma deriva una nuova conoscenza da quella precedente. L’approccio convenzionale, inoltre, presume che l’ordine in cui i dati siano inferiti sia noto. Così il procedimento di inferenza può essere tradotto in un algoritmo convenzionale, che costruisce in sequenza i dati inferiti e quindi usa nuovamente questi ultimi per derivarne ancora dei nuovi. L’intero processo è accuratamente pianificato in anticipo. In situazioni reali spesso non è chiaro, tuttavia «cosa» sarà inizialmente dato e «cosa» sarà necessario inferire. L’unico modo di costruire un algoritmo generalizzato è quello di creare tutte le relazioni possibili prima di rispondere a qualsiasi domanda, ma, in presenza di una vasta base di dati dichiarativi, questo comporterebbe un notevole spreco di calcolo da parte dell’elaboratore e aumenterebbe il tempo di risposta. La sostanza del problema è nella rigidità della struttura di controllo convenzionale. 6.2. Il ragionamento inesatto Non sempre quello che concerne la conoscenza è ben determinato. Nella realtà la conoscenza tende ad essere sfumata quindi le asserzioni ad essa collegate non assumono il valore VERO o FALSO in modo esclusivo. Nondimeno, siamo spesso capaci di dedurre conoscenza da dati che risultano essere inesatti con ragionevole certezza. Per far ciò, dobbiamo combinare 30 pezzi di conoscenza con le loro certezze, allo scopo di dedurre nuova conoscenza caratterizzata da una certezza derivata. Un approccio basato su regole può affrontare il problema con relativa facilità. Alcune regole adatterebbero le probabilità all’informazione nota, in modo da renderle corrispondenti, mentre altre agirebbero basandosi su livelli di probabilità. 6.3. Mancanza di algoritmi adatti In molte situazioni non è possibile costruire un algoritmo per risolvere un problema particolare in modo univoco. Gli algoritmi convenzionali non sono molto appropriati alla soluzione di problemi basati sulla conoscenza. In molti problemi reali, qualsiasi algoritmo che esaminasse tutti i termini possibili di un problema avrebbe tempi di risposta misurabili in anni; tuttavia tutti gli esseri umani sono in grado di risolvere tali problemi rapidamente ed in modo efficiente. Per risolvere simili problemi, è necessario scegliere all’interno di un determinato insieme di strategie. Tale selezione dall’insieme si opera esaminando lo stato del problema e utilizzando quella strategia che ridurrà le distanze tra la situazione attuale e la soluzione richiesta. Ci avviciniamo alla soluzione (od obiettivo) attraverso la selezione di strategie che speriamo siano suscettibili di portarci più vicino possibile al nostro obiettivo. 7. La via da seguire Come si è potuto constatare si ha la necessità di disporre di modi migliori per: la rappresentazione della conoscenza dichiarativa, quale quella relativa a classi e relazioni, senza introdurre specifiche conoscenze di informatica; la rappresentazione delle regole; la definizione della struttura di controllo (dipendente o indipendente dai domini di conoscenza). 31 Si deve quindi cercare di spostare in avanti, per quanto concerne l’elaborazione della conoscenza, la linea di demarcazione fra la conoscenza umana e quella dell’elaboratore. Superare il tradizionale approccio algoritmico così da poter adattare all’automazione attività di elaborazione che si ascrivono agli esperti. 32 Capitolo VI CALCOLO DEI PREDICATI E INFERENZA LOGICA 1. Il calcolo dei predicati e la rappresentazione della conoscenza Nel campo dei sistemi esperti è stata condotta durante gli ultimi venti anni un’ampia ricerca all’interno della disciplina dell’Intelligenza Artificiale, che ha tra i suoi principali obiettivi la progettazione di programmi capaci d’intraprendere attività per le quali veniva ritenuto necessario l’intervento dell’intelligenza umana. Le origini di tal iniziativa risalgono comunque più indietro, ad una delle prime discipline accademiche: la logica. La logica si occupa criticamente della validità delle argomentazioni, cioè dei metodi atti a determinare se sia possibile trarre validamente conclusioni da fatti assunti. La logica è, inoltre, pertinente alla programmazione, dal momento che un programma è in realtà un insieme di asserzioni quasi logiche che vengono sottoposte a certi procedimenti in modo da generare una conclusione. All’interno della logica la nozione di «argomentazione vera» ha un significato preciso e ben definito: un’argomentazione è considerata vera se e solo se, qualora le sue premesse siano vere, le conclusioni tratte sono anch’esse vere. D’altronde la logica, dati i molti anni di sviluppo alle spalle , fornisce sia un formalismo ben definito e facilmente comprensibile per rappresentare dei fatti, sia regole per manipolarli. All’interno del calcolo dei predicati i nomi delle relazioni vengono definiti «predicati» e gli oggetti vengono definiti «argomenti». Un oggetto può essere espresso o con una «costante» indicando così un particolare individuo o classe di individui, o con una «variabile», indicando che l’individuo o la sua classe di individui rimangono non specificati. Quando in una variabile si inserisce il nome di un oggetto (diviene, cioè, una «costante»), la variabile si dice «istanziata». Singole proposizioni, chiamate «atomiche», consistenti ognuna di un predicato e degli argomenti correlati, possono essere combinate per formare proposizioni composte mediante l’uso di «connettivi logici». Questi includono «e o non implica 33 Perché il calcolo dei predicati possa sottoporre a procedimento delle variabili, è necessaria una struttura supplementare nota come «quantificatore». Esistono due tipi di quantificatori: il «quantificatore universale», quantificatore esistenziale ». Un’ultima considerazione da fare è che la funzione dei connettivi logici e dei quantificatori nella costruzione di proposizioni composte da proposizioni semplici («atomiche») è governata da regole ben definite, denominate «regole di formazione». Queste mantengono il significato dell’insieme di proposizioni pur mutandone la struttura. Tali proposizioni composte, formate correttamente, vengono definite «formule ben formate» o in forma abbreviata «fbf». 2. L’inferenza logica Per elaborare la conoscenza utilizzando il calcolo dei predicati è essenziale che si sia in condizione di prendere un dato insieme di fatti e regole e di inferirne di nuovi. Inoltre sarebbe desiderabile far questo in modo tale da poter essere sicuri della validità della nuova informazione. Si ha così bisogno di regole di livello superiore che all’interno della logica vengono definite «regole di inferenza». La prima di queste è la regola «modus ponens» - B (« |- » è denominata «derivazione» e può venir letta come «PERCIO’»). Un’altra regola è chiamata «specializzazione universale» - W(A) afferma che se qualche classe di oggetti ha una proprietà, anche ogni individuo all’interno di quella classe avrà quella proprietà. Esistono, all’interno del calcolo dei predicati, molte regole d’inferenza diverse che in questo ambito non menzioneremo. 34 3. I problemi connessi al calcolo dei predicati nell’elaborazione della conoscenza Il calcolo dei predicati è detto «monotono» intendendo con ciò che le conclusioni sono aggiuntive e non necessitano mai di essere riesaminate. Nella vita reale dobbiamo spesso modificare o ritrarre delle conclusioni quando si rendono disponibili dei fatti nuovi. I sistemi formali che ci pongono in condizione di farlo si dicono «non monotoni». Per quanto riguarda l’automazione, un approccio non intelligente che non verrebbe mai adottato nella pratica, consisterebbe nell’applicare le regole d’inferenza alla cieca nella speranza che emerga alla fine una «dimostrazione». Tuttavia non sarebbe realistico, con un procedimento così semplicistico, aspettarsi che il programma funzioni in tempo reale. Apparirà pertanto evidente, allo scopo di adattare all’automazione dimostrazioni di calcolo dei predicati, la necessità di definire un procedimento, per decidere quali regole applicare, che impedisca un’esplosione combinatoria e comporti un ragionamento non combinatorio. Negli anni ’60, sia nel campo della logica che dell’Intelligenza Artificiale, è stata svolta un’intensa attività diretta alla scoperta di tali procedure efficaci, come vengono definite. Questi approcci presero due direzioni distinte: Il primo approccio al problema del controllo, che fu adottato all’interno dell’Intelligenza Artificiale, abbandonò il principio di generalità e cercò delle tecniche d’elaborazione che fossero efficaci nei confronti di un determinato problema all’interno di un dominio specifico. Con queste tecniche, la capacità di elaborazione viene largamente derivata dalla grande quantità di specifica conoscenza di dominio codificata in un sistema e segue l’osservazione che gli esperti umani, quando risolvono dei problemi, utilizzano raramente procedimenti molto generali, ma raggiungono l’efficacia dal «sapere» di più in merito al problema. Si sono così sviluppati dei formalismi che sono più deboli in capacità espressiva, ma maggiormente suscettibili di essere sottoposti a computazione. Molti di questi approcci furono sviluppati usando il linguaggio Lisp. 35 Il secondo approccio si mantenne nella tradizione della logica in quanto cercò di conservare la generalità del calcolo dei predicati identificando delle procedure di dimostrazione che sono universali ma evitano il problema della selezione delle regole e dell’esplosione combinatoria. Questo approccio è stato soprattutto interessante nel campo della logica stessa, essendo l’investigazione dei metodi per l’automazione di dimostrazioni (definita «theorem proving») un oggetto degno a pieno diritto d’attenzione. Molti di questi approcci furono sviluppati usando il linguaggio Prolog che fornisce la combinazione di un metodo di «theorem proving» e una strategia di controllo particolarmente efficace. 36 Capitolo VII APPROCCI COMPUTAZIONALI ALLA RAPPRESENTAZIONE E AL CONTROLLO 1. Il passaggio a sistemi basati sulla conoscenza L’approccio all’elaborazione della conoscenza da cui si sviluppò la tecnologia dei sistemi esperti differì da quello perseguito dai logici nel fatto che cercò delle tecniche per il controllo dell’inferenza che fossero specifiche ad un particolare dominio di conoscenza. Per avvicinarsi all’esecuzione umana, era necessario codificare in sistemi una considerevole parte di conoscenza del dominio. Il fatto che si sia spostata l’enfasi dai problemi relativi alla costruzione di efficaci «motori inferenziali» d’uso generale a quelli relativi all’automazione della conoscenza umana ha portato inevitabilmente a un nuovo complesso di interessi. La rappresentazione della conoscenza è solo uno dei problemi che sono alla base della programmazione della conoscenza. La facilità con cui un problema può essere risolto è in parte riferibile alla misura in cui può essere scomposto in un certo numero di sottoproblemi più semplicemente risolubili. 2. Il Lisp, un linguaggio per programmare sistemi basati sulla conoscenza. I progettisti necessitavano di un linguaggio che fosse più flessibile di quelli convenzionali; per sviluppare tale necessità fu sviluppato il Lisp, un nuovo e funzionale linguaggio di programmazione. Il Lisp è basato sul lavoro svolto da McCarthy, nel corso degli anni ’60, sul calcolo non numerico. Da allora è stato soggetto a un notevole sviluppo ed ora è la lingua franca dell’Intelligenza Artificiale. L’acronimo Lisp sta per LISt Programming language. 37 3. La rappresentazione del dominio di conoscenza 3.1. Le reti semantiche La rappresentazione di una rete semantica è basata sull’idea antica e molto semplice che la «memoria» sia composta di associazioni tra concetti. L’unità funzionale di base di una rete semantica è una struttura consistente di due punti, o «nodi», collegati da un «arco». Ogni nodo rappresenta un concetto e l’arco rappresenta una relazione tra coppie di concetti. Tali coppie di concetti posti in relazione possono considerarsi come rappresentanti un semplice fatto. Gli archi vengono etichettati col nome della relazione relativa. L’arco è orientato preservando in tal modo la relazione «soggetto/oggetto» tra i concetti all’interno del fatto. Inoltre ogni nodo può essere collegato ad un numero qualsiasi di altri nodi, dando così origine alla formazione di una rete di fatti. La scelta assennata di etichette di relazione permette di esprimere gruppi di fatti molto complessi . Un’etichetta di particolare importanza pratica nello sviluppo della rappresentazione per mezzo di reti semantiche è il collegamento di tipo «is-a» («è-un»), che è usato per indicare la qualità di essere membro di qualche classe di oggetti. Altri collegamenti di uso particolare per descrivere concetti di oggetti (normalmente dati come nomi e frasi nominali) sono «ha», che indica che un concetto è una parte dell’altro, e «è», che indica che un concetto è un attributo dell’altro. Utilizzando tali relazioni, è possibile rappresentare complessi insiemi di fatti. Non era possibile, nelle notazioni base di rete semantica, rappresentare situazioni in cui un certo numero di oggetti separati fossero istanze dello stesso concetto generale. La distinzione tra oggetti specifici e concetti generali è fondamentale nell’uso di reti semantiche. Ai due differenti tipi di oggetti sono stati dati, perciò, nomi diversi. Un oggetto specifico è definito come «marcatura» («token») usando la notazione di Norman e Rumelhart, impiegando parentesi angolari - < > - per identificare nodi di marcatura; un concetto generale è definito come «tipo» e non ha nulla che lo identifichi in 38 modo particolare. Gran parte della popolarità quasi immediata delle reti semantiche derivò dalla capacità d’elaborazione, procurata dal collegamento di tipo «is-a», nel costruire gerarchie di concetti. Le gerarchie di eredità forniscono un mezzo efficace per semplificare la nostra rappresentazione e per ridurre l’informazione che ci è necessario immagazzinare ad ogni nodo particolare. Ciò accelera considerevolmente l’elaborazione e la facoltà di recupero dell’informazione, dati dei quesiti generali. Molti dei fatti che si può aver bisogno d’utilizzare in un programma basato sulla conoscenza riguarderanno degli «eventi», i quali sono spesso limitati dal tempo e dallo spazio. Ciò che si richiede è di sviluppare delle rappresentazioni di verbi in aggiunta a nomi. Mantenendo ancora la nostra distinzione tra tipi e marcature, un nodo verbale di marcatura viene a rappresentare l’evento specifico, mentre un nodo verbale di tipo rappresenta un «prototipo» d’evento. Sono stati sviluppati insiemi coerenti e comprensivi di relazioni verbali per singoli sistemi. Questi vengono solitamente definiti «relazioni di caso», secondo la teoria della «grammatica dei casi» sviluppata da Fillmore. In breve, questa teoria tenta di render conto della struttura superficiale di una frase in termini di un insieme piccolo e chiuso di relazioni - «casi» - tra nomi (o frasi nominali) e verbi che si ritiene esistano all’interno della struttura profonda di frase. 3.2. I frame e gli script L’idea di organizzare le proprietà di qualche oggetto o evento in modo da formare un prototipo è formalizzata nella nozione di frame. La forza dei sistemi di frame è nel fatto che quegli elementi presenti nella descrizione di un oggetto o di un evento sono raggruppati insieme; ad essi si può così accedere ed elaborarli come un’unità. Il frame ha un nome che identifica il concetto descritto. La descrizione stessa è costituita da un insieme di descrizioni che vengono definite «caselle» e identificano gli elementi strutturali di base del concetto. Accanto a queste caselle vi sono degli spazi, i quali possono essere riempiti da un oggetto che 39 rappresenti il valore corrente della casella. La casella «specializzazione-di» viene usata per costruire una gerarchia d’eredità in modo simile al collegamento di tipo «is-a» nelle reti semantiche. Un riempitivo di una casella può essere una costante o il nome di un altro frame. I più semplici sono quelli dati in lettere maiuscole che si riferiscono ad altri frame all’interno di un sistema di frame. Vi sono inoltre le etichette «unità» e «campo». Le etichette «unità» e «campo» forniscono restrizioni standard: «unità» specifica che è necessario dare certi oggetti; «campo» specifica l’insieme di oggetti dal quale ne deve essere selezionato uno. Infine, vengono attribuiti ai riempitivi di unità e campo dei valori di default. Le etichette di frame «unità», «campo» e «default» vengono chiamate le «facce» della casella. Procedure inserite vengono richiamate dal riempitivo di faccia «calcola». I frame sono solitamente organizzati in reti che rappresentano la struttura dei concetti generali all’interno dell’area del soggetto di interesse. La tecnica standard è di prendere una copia delle parti pertinenti del sistema e di istanziarle dando dei valori alle caselle attinenti ad individui. E’ da notare che, quando un frame viene istanziato con l’informazione relativa a un individuo, è dato un unico nome che identifica l’individuo in questione. Uno script è una struttura che descrive una sequenza di eventi in un contesto particolare. Il concetto di script è analogo a quello di frame (Minsky, 1975) che è stato sviluppato per trattare i problemi relativi all'elaborazione delle informazioni visive. Nonostante i due concetti siano stati formulati indipendentemente, entrambi hanno l'obiettivo di rappresentare una varietà di fatti attraverso una struttura di dati gerarchica contenente delle "caselle" ("slot" in inglese) che definiscono alcune caratteristiche dell'input. Qualora alcune di queste caratteristiche mancassero, la loro esistenza viene assunta lo stesso con i valori prototipici. Per esempio, nello script andare al ristorante, è prevista la presenza di stoviglie le quali, anche se non menzionate, vengono rappresentate con colori e forma standard a meno che le proprietà di questi oggetti non vengano ulteriormente specificate. Per ogni script è dato un certo numero di ruoli e 40 tutte le volte che uno script è richiesto, la presenza di tali ruoli è automatica e viene assunta sia che vengano o non vengano esplicitamente menzionati. Uno script contiene inoltre gli oggetti (detti "props") che fanno parte dell'evento descrittivo e le ambientazioni ("setting"), cioè il luogo dove si svolgono le attività descritte. Perchè uno script venga evocato, non basta riferirsi ai ruoli che in esso sono contenuti, ma è necessario che sia presente una delle "headers" ("testate") dello script che fa riferimento all'azione principale o ad altre importanti concettualizzazioni dello script. Tali "testate" sono classificabili in quattro tipi differenti e ordinabili secondo il loro grado di predittività del contesto ad esse associato: 1) Header Precondizionale:tutte le espressioni che si riferiscono alle motivazioni per le quali si giustifica l'azione dello script; per esempio: "Giovanni aveva fame" giustifica l'evocamento dello script andare al ristorante, in quanto rende possibile l'attuazione dell'attività principale dello script del RISTORANTE , ovvero INGERIRE cibo. 2) Header Strumentale: coinvolge almeno due script uno dei quali è strumentale rispetto all'altro. Per esempio nella frase "Giovanni è andato ad una colazione di lavoro", lo script del ristorante è secondario e strumentale rispetto alla discussione di lavoro. 3) Header del Locale : detto così in quanto fa riferimento al luogo che solitamente ospita l'attività descritta nello script. 4) Header Diretta: è una semplice asserzione che un dato script è o era in corso. 3.3. Regole di produzione La forma più popolare di rappresentazione della conoscenza in modo tale da mantenere il carattere procedurale è la «regola di produzione», che è 41 semplicemente un programma consistente in una singola affermazione del tipo: « SE condizione ALLORA azione» I sistemi di produzione hanno tre componenti: una di conoscenza consistente in un insieme di regole di produzione una base dati che rappresenta lo stato attuale di qualche problema una struttura di controllo che decide quali regole di produzione applicare Chiaramente, in ogni sistema realistico, è verosimile che un certo numero di regole possa essere applicabile contemporaneamente in qualsiasi momento. Sarà così necessaria qualche struttura di controllo per decidere quale regola attivare. 4. Problemi di controllo I problemi del controllo nel campo dell’Intelligenza Artificiale vengono solitamente espressi in riferimento al concetto di ciò che viene definito come una «ricerca nello spazio degli eventi». Nella risoluzione di problemi basati sulla conoscenza non si ha, di solito, un metodo unico ed evidente per raggiungere una soluzione. Sarà così necessario esplorare diversi possibili percorsi, cercando di valutare ad ogni stadio le possibilità di successo. La struttura di controllo di un sistema di risoluzione di un problema definisce la strategia generale per scegliere dei percorsi. L’approccio del tipo «ricerca nello spazio degli stati» deve molto a un precoce interesse nel gioco automatico. L’insieme di tutte le scelte possibili può venir rappresentato come un albero che si estende da una radice, lo stato iniziale, fino a un insieme di stati finali che rappresenta l’obiettivo. Persiste un problema potenzialmente serio nel risolvere un problema conducendo una ricerca esaustiva dello spazio degli stati. Nella maggior parte delle situazioni d’elaborazione della conoscenza spesso non è possibile trovare delle regole che garantiscano il successo. Frequentemente è possibile, tuttavia, trovare delle regole che aumentino le probabilità di successo. Tali regole si chiamano 42 «euristiche», e una ricerca che ne comporti l’uso si chiama una «ricerca euristica». Normalmente, una ricerca euristica ha bisogno d’accedere a un’informazione che le dica se e quanto stia agendo bene. Quest’informazione viene ricavata da una «funzione di valutazione». Molta parte dell’attività svolta sulle strutture di controllo nel campo dell’Intelligenza Artificiale è stata dedicata a far fronte a queste complesse situazioni. Due strategie generali applicate con notevole successo ai sistemi esperti sono: organizzare lo spazio del problema in modo che sia possibile, in uno stadio non avanzato della soluzione, dire se sia possibile che questa abbia successo, nel qual caso può essere evitata la necessità di compiere una ricerca sull’intero insieme di percorsi; organizzare lo spazio del problema in un certo numero di sottospazi che abbiano poca, o nessuna interazione tra loro. Si può così risolvere ogni sottoproblema senza modificare la soluzione di problemi successivi. L’applicabilità di strategie di controllo diverse è legata in grandissima misura alla struttura del dominio di conoscenza e può così essere meglio considerata nel contesto di un problema specifico. Il processo di progettazione di sistemi basati sulla conoscenza può essere visto come un esercizio nell'identificare delle caratteristiche del dominio che porranno il problema in condizione di essere organizzato in modo tale da minimizzare il calcolo. 43 Capitolo VIII SISTEMI ESPERTI ED ESPERTI RISOLUTORI DI PROBLEMI 1. Risoluzione di problemi basata sulla conoscenza Si tratta del passaggio dall’obiettivo di trovare alcuni metodi efficaci e di scopo generale per risolvere problemi a quello di meccanizzare la conoscenza di dominio effettivamente usata da esperti umani per risolvere problemi complessi. Il progetto che aprì la strada a questo mutamento fu Dendral. Il gruppo di ricerca Dendral si costituì all’università di Stanford nel 1965 per lavorare sulla progettazione di un sistema con lo scopo di aiutare i chimici ad inferire la struttura di composti chimici da dati spettrali di massa. L’incorporazione di un esplicito dominio di conoscenza in programmi di risoluzione di problemi si dimostrò di grande importanza pratica e teorica. Benchè la programmazione della conoscenza sia apparsa sin dal 1965 di grande importanza per una gamma molto ampia d’applicazioni, l’approccio ha continuato ad avere successo soprattutto per la risoluzione di problemi in campi che richiedono una notevole quantità di conoscenza personale da esperti. I sistemi d’elaborazione che meccanizzano tale conoscenza da esperti sono divenuti generalmente noti come «sistemi esperti». I punti principali della saggezza convenzionale sono stati elencati da Davis, uno studioso eminente in questo campo, come: separare il motore inferenziale dalla base di conoscenza; usare una rappresentazione il più possibile uniforme (la forma preferita di rappresentazione sono le regole di produzione); mantenere semplice il motore inferenziale (la struttura di controllo); fornire qualche forma di strumento per mezzo del quale il sistema possa spiegare le sue conclusioni all’utente; 44 accordare la preferenza a problemi che richiedono l’uso di quantità sostanziose di conoscenza associativa empirica piuttosto di quelli che possono essere risolti utilizzando una conoscenza casuale o matematica. I principi di cui sopra forniscono un efficace punto di partenza per la progettazione di sistemi esperti. Esistono tra l’altro alcuni criteri che identificano le tecniche esistenti e derivanti dal gruppo Dendral. La concentrazione su un campo ristretto con caratteristiche specifiche non comporta una grande quantità di conoscenza di senso comune. Selezionare un compito che non sia né troppo facile né troppo difficile per esperti umani. Troppo facile = alcuni minuti; troppo difficile = alcune ore. Non si miri ad un programma che sia un esperto nel dominio D, ma si miri a un esperto che svolga il compito C all’interno del dominio D. Definire chiaramente il compito. Il progettista dovrebbe essere in grado di descrivere la natura dei dati in ingresso e in uscita in modo piuttosto preciso, e l’esperto dovrebbe essere in grado di specificare molti dei concetti e delle relazioni importanti. L’impiego da parte di un esperto con facoltà di parola è essenziale. L’ingegnerizzazione della conoscenza non è possibile a meno che non vi sia un impegno a lungo termine di un esperto. Esistono altri due criteri, discendenti dai precedenti, per la scelta dei compiti. Si ha un netto vantaggio se l’area di interesse è già stata in parte formalizzata. Scegliere domini che siano suscettibili di espressione verbale. 2. Uno schema di classificazione per i sistemi esperti Una relazione di Stefik e dei suoi colleghi presenta uno schema per la classificazione dei sistemi esperti. Si tratta di un ampio schema che organizza i sistemi in base al grado di capacità nell’affrontare problemi che non siano 45 «ben strutturati», cioè che non sia adatto ad un’efficace risoluzione automatica. Data la rappresentazione di problemi in forma di spazio degli stati: lo spazio di ricerca deve essere piccolo; la conoscenza del dominio deve essere attendibile (non deve contenere errori e deve essere coerente); i dati forniti dall’utente devono essere attendibili e statici nel tempo ( i dati relativi a una risoluzione non devono perdere di validità man mano che la risoluzione procede). Vantaggi: 1. In presenza di uno spazio piccolo non servono strategie di controllo complesse per mettere i programmi in condizione di funzionare nei limiti delle risorse della macchina. La soluzione potrebbe essere ottenuta conducendo una ricerca esaustiva nello spazio. 2. Se la conoscenza e i dati sono attendibili non dovrebbe mai essere necessario riesaminare una soluzione una volta data un’ulteriore informazione. La risoluzione dovrebbe procedere in «modo monotono» con le conclusioni che si aggiungono l’una all’altra man mano che vengono poste a disposizione nuove informazioni. Inoltre la soluzione sarà allo stesso tempo corretta e precisa; una conclusione non sarà mai approssimata in nessun senso e non sarà mai falsa. I dati statici garantiscono che quelle conclusioni che fanno affidamento su certi dati immessi rimarranno vere per tutta la durata della risoluzione. 46 Capitolo IX IA e apprendimento Nel contesto delle applicazioni IA all'educazione la scena è stata dominata per molto tempo dagli Intelligent Tutoring System (ITS): macchine per insegnare la cui impostazione e struttura sono fortemente influenzate dalle teorie cognitiviste dell'apprendimento. Più precisamente, il cognitivismo cosiddetto "HIP" (Human Information Processing), o di prima generazione, che tende a vedere la mente come un elaboratore di informazioni rappresentabili simbolicamente: i processi cognitivi sono modellabili come programmi informatici; le persone sono sistemi di elaborazione "puri", cioè avulsi da ogni contesto. Questo approccio all'apprendimento si fonda su tre assunti: la conoscenza è immagine di una realtà data, oggettiva e modellabile simbolicamente; la conoscenza è acquisita attraverso la rappresentazione simbolica di situazioni e avvenimenti interni ed esterni; il linguaggio è strumento di trasmissione di informazioni e rispecchia la realtà. Per la scienza cognitiva gli stati mentali corrispondenti alla cognizione e all'apprendimento sono rappresentabili indipendentemente dalla loro realizzazione materiale nel cervello; la cognizione è in primo luogo un processo razionale sottoposto alle leggi della logica simbolica; il linguaggio e il significato sono analizzabili secondo le stesse leggi; apprendere significa sostanzialmente mettere in corrispondenza le rappresentazioni mentali con la realtà esterna. Questo approccio teorico ha dato vita, fin dagli anni 80, a strutture modulari di ITS che inglobano, mediante le tecnologie dei sistemi esperti, quattro tipi di conoscenza: il dominio dei contenuti obiettivo dell'apprendimento; le strategie pedagogiche utili all'insegnamento di tali contenuti; 47 le strategie di comunicazione e di gestione del dialogo tutoriale; la rappresentazione dinamica e predittiva dello stato dello studente, spesso rappresentata in modo differenziale rispetto a quella dell'esperto (lacune, conoscenze errate…). Sistemi di questo tipo sono in grado di impegnare lo studente in un dialogo tutoriale fortemente adattivo in cui il ruolo dell'ITS è principalmente quello di selezionare e presentare componenti informative e monitorare lo stato d'avanzamento della conoscenza del discente. Per altro già nel 1998 Etienne Wengerii, in un'opera che sarebbe diventata il riferimento per la ricerca nel settore, rileva la necessità di approcci maggiormente flessibili, che promuovano l'interattività e la presa di decisioni da parte dello studente, consentendo ad esempio l'esplorazione libera di un dominio di conoscenza o modalità meno direttive nella relazione tutor-studente Più recentemente Wilson sottolinea come i nostri punti di vista sulla conoscenza influiscano sul concetto di insegnamento e apprendimento. Chi concepisce la conoscenza come una quantità di contenuti da trasmettere, considera di conseguenza l'insegnamento come un prodotto da convogliare attraverso un canale; nel contesto delle teorie cognitiviste di prima generazione la conoscenza è invece uno stato cognitivo evidenziato negli schemi mentali e nei comportamenti procedurali, per cui insegnare si traduce nel predisporre un insieme di strategie finalizzate a modificare gli schemi e i comportamenti del discente; il costruttivismo concepisce i processi conoscitivi come elaborazione di significati in interazione con l'ambiente, da cui deriva una didattica che si preoccupa di incoraggiare l'attività autonoma dello studente in un ambiente ricco di risorse e di stimoli; infine, se conoscere è interpretato come l'adozione delle prospettive e delle pratiche di un gruppo, apprendere si traduce nel partecipare ai processi di costruzione condivisa di tali significati nelle situazioni in cui opera una comunità. Nel contesto del costruttivismo socio-culturale, un ambiente d'apprendimento è così un luogo in cui gli studenti possono lavorare insieme e aiutarsi a vicenda per imparare ad usare una molteplicità di strumenti e risorse informative, nel comune perseguimento di obiettivi d'apprendimento e di 48 attività di problem solving (Varisco, 2002). ACT ACT è una "teoria unificata della cognizione" di supporto allo sviluppo di ITS, elaborata nel respiro di un ventennio da Anderson e dai suoi collaboratori presso la Carnegie Mellon University (Rittle-Johnson & Koedinger 2001; Koedinger 1998; Johnson 1997; Koedinger & Anderson 1997). ACT assume che il comportamento cognitivo sia orientato ad un obiettivo (la risoluzione di un problema) scomponibile in sotto-obiettivi intermedi. La teoria distingue tra conoscenza procedurale (tacita, legata alla prestazione e all'apprendimento attivo) e conoscenza dichiarativa (statica, verbalizzabile, legata all'apprendimento di nozioni). La conoscenza dichiarativa include fatti relativi al dominio dei contenuti in oggetto e al problema che viene proposto allo studente. La conoscenza procedurale è rappresentata nel sistema in forma di produzioni "if-then" che associano stati interni (obiettivi intermedi) e/o dati in input ad altri stati interni e/o azioni in output. Koedinger (1998) riporta questi esempi, relativi ad applicazioni nel campo della didattica della matematica: if <l'obiettivo è provare che due triangoli sono congruenti> and <i due triangoli condividono un lato> then <controlla se gli altri lati o angoli corrispondenti sono congruenti> if <l'obiettivo è risolvere un'equazione in X> then <disegna il grafico cartesiano dei due membri dell'equazione> and <trova il punto (o i punti) di intersezione> if <l'obiettivo è determinare il valore della quantità Q> and <il risultato della divisione di Q per N1 è N2> then <calcola Q come il prodotto di N1 per N2> Le regole di produzione rappresentano la conoscenza tacita relativa, ad 49 esempio, a quando e quali particolari regole della matematica possano essere applicate in una determinata situazione. La struttura modulare di queste rappresentazioni consente di diagnosticare specifiche debolezze dello studente e di mettere a fuoco strategie istruzionali adeguatamente adattive. È interessante notare come gli stessi autori dichiarino la limitata generalità di rappresentazioni della conoscenza di questo tipo e la necessità di approcci complementari per svincolarsi dalle dipendenze contestuali ed ottenere adeguati livelli di transfer. Anche il modello cognitivo dello studente è rappresentato mediante regole di produzione, volte a catturare le strategie multiple e gli errori tipici dei discenti. Ecco un esempio relativo alla soluzione di equazioni (ibid.): corretta: if <l'obiettivo è risolvere a(bx + c) = d> then <riscrivi l'equazione così: bx + c = d/a> corretta: if <l'obiettivo è risolvere a(bx + c) = d> then <riscrivi l'equazione così: abx + ac = d> errata: if <l'obiettivo è risolvere a(bx + c) = d> then<riscrivi l'equazione così: abx + c = d> La possibilità di rappresentare strategie alternative per la soluzione di uno stesso problema consente di monitorare il processo di decisione adottato dallo studente. Le produzioni che rappresentano errori tipici consentono di fornire assistenza individualizzata (model tracing): le azioni dello studente sono confrontate con quelle che, nel modello, rappresentano il comportamento "ideale"; normalmente il tutor rimane in silenzio, ma può intervenire quando lo studente ha bisogno d'aiuto, fornendo suggerimenti personalizzati sul particolare procedimento di soluzione scelto. Il modello dello studente, dinamicamente aggiornato, serve inoltre per stimare il grado di avanzamento dello studente (knowledge tracing) e selezionare i problemi adattando l'attività di tutoring alle necessità e ai ritmi di apprendimento dell'allievo. Il pregio principale di questo approccio, secondo gli autori, sta nell'elevato grado di individualizzazione dell'attività tutoriale, che migliora notevolmente 50 la prestazione dello studente rispetto a quella conseguita nella situazione didattica tradizionale (la classe). Nelle numerose pubblicazioni scientifiche dedicate ad ACT queste affermazioni sono sempre suffragate da abbondanza di dati sperimentali; rimane forte il dubbio, per altro, suscitato dal coesistere di atteggiamenti comportamentisti (l'attenzione verso la prestazione) con aperture di tipo costruttivista, in una teoria comunque profondamente connotata nell'ambito delle scienze cognitive e della tradizione razionalista. RadTutor Alla classe di ITS che fa riferimento ad ACT appartiene ad esempio RadTutor (Azevedo e Lajoie 1998), un ITS per il training di medici radiologi nel campo della diagnosi mammografica. RadTutor, come altri ITS sviluppati nella seconda parte degli anni 90, si basa esplicitamente su principi cognitivisti relativi allo sviluppo dell'esperienza, ed incorpora una politica di intervento del tutor artificiale e un modello del dialogo tutoriale costruiti sull'analisi delle interazioni umane. L'approccio parte dalle teorie della scienza cognitiva ed evolve empiricamente su basi sperimentali. In particolare, RadTutor incorpora quattro principi istruzionali: la molteplicità delle prospettive con cui viene presentata la conoscenza riconosce valore alle diverse modalità di apprendimento di volta in volta messe in atto dai diversi studenti. Una singola rappresentazione dei contenuti e un approccio unitario alla loro trattazione sono insufficienti per catturare la natura complessa, dipendente da contesto e fortemente interconnessa di un dominio mal strutturato; l'apprendimento attivo richiede processi mentali di costruzione e manipolazione simbolica che, nel contesto del problem solving, stimolino abilità di pianificazione, ragionamento e riflessione; l'accomodamento e l'adattamento di precedenti conoscenze consente di costruire sull'esistente, monitorare i progressi dello studente, rettificare eventuali conoscenze errate e favorire lo sviluppo di abilità meta-cognitive; 51 l'autenticità del compito e del contesto determinano l'usabilità di quanto viene appreso, e la dimensione del transfer delle abilità di risoluzione dei problemi. Come si vede, questi principi sono profondamente influenzati dalle idee sviluppate nel contesto del costruttivismo e dell'apprendimento situato: tutti paradigmi che si discostano significativamente dal cognitivismo HIP e dalla tradizione razionalistica che ne è il presupposto. Eppure Azevedo e Lajoie non esitano a far riferimento ai processi mentali come elaborazioni simboliche: il passaggio da cognitivismo di prima generazione a costruttivismo è considerato un'evoluzione non particolarmente traumatica, piuttosto che una svolta di paradigma. RadTutor offre varie modalità istruzionali: osservazione e studio di casi, costruzione e raffinamento di modelli, coaching, scaffolding e fading (due termini che identificano rispettivamente il supporto offerto dal tutor nel facilitare l'attività autonoma dello studente, e il suo progressivo diminuire fino a scomparire per agevolare l'acquisizione di autonomia da parte di quest'ultimo), risoluzione di problemi "condivisa" tra tutor e discente, apprendimento situato in contesti d'uso autentici. L'ITS monitora le attività di risoluzione di problemi dell'utente e offre vari livelli di adattività. Sistemi interattivi per l'apprendimento Il problema di reinterpretare le potenzialità dell'IA applicata all'apprendimento nel contesto delle teorie costruttiviste è affrontato esplicitamente da Akhras e Self (2000, 2002) che propongono di estendere la struttura tradizionale degli ITS al fine di integrare la rappresentazione di quelle entità che assumono particolare rilevanza nel paradigma costruttivista. L'assunto principale è che, qualunque sia la teoria di riferimento, i sistemi intelligenti possono essere progettati per rappresentare, e ragionare su, i valori particolari che la teoria enfatizza. Così Akhras e Self propongono di considerare, ad integrazione del modello classico del dominio, un modello della situazione che rappresenti il procedimento di interpretazione e i contesti d'interazione in cui il discente costruisce la propria conoscenza: il sistema sarà 52 in grado di trarre inferenze sui contenuti e le dinamiche del processo d'apprendimento. La conoscenza del dominio continua a far parte del modello della situazione, costituendosi come base di strutture informative che gli studenti possono consultare, usare o generare nel loro interagire nella e con la situazione: è il ruolo, classico, del libro, della dispensa, del quaderno di appunti. Analogamente, il modello dello studente viene esteso a rappresentare non solo stati cognitivi, ma anche, e soprattutto, le proprietà dell'interazione con gli oggetti della conoscenza che lo studente mette in atto. Il sistema cioè interpreta e modella la natura tempovariante delle interazioni (interaction model) e della sequenza di interazioni (process model) sviluppate, ed è in grado di ragionare sulle regolarità che tali processi evidenziano. Le caratteristiche di alto livello che vengono sottolineate sono: la cumulatività, ovvero la nozione che l'apprendimento trae vantaggio da molteplici esperienze relative ad uno stesso dominio di conoscenza, dalla ripetizione di esperienze simili in contesti diversi, dall'elaborazione di prospettive multiple relativamente ad una stessa esperienza; la costruttività, che cattura le modalità con cui gli aspetti salienti di un'esperienza vengono messi in relazione con conoscenze pregresse sviluppate in situazioni precedenti; l'auto-regolazione e la riflessività, aspetti distinti dei processi di metacognizione in cui le esperienze d'apprendimento precedenti vengono rivisitate in situazioni successive, per aiutare lo studente a monitorare e valutare le proprie attività. Anche il modello delle strategie pedagogiche deve essere sostanzialmente rivisto: nell'ottica costruttivista, le modalità con cui la conoscenza viene costruita non possono essere vincolate da una strategia che pre-determini la sequenza e la struttura delle interazioni tra studente e ambiente. Il modello deve tener conto di una combinazione di fattori che dipendono sia dalle opportunità che il contesto interazionale rende disponibili allo studente, sia dalle conoscenze precedenti di quest'ultimo. Per far riferimento alle opportunità che la situazione d'apprendimento offre ad uno studente il cui 53 processo d'apprendimento sia in un determinato stato, Akhras e Self usano il concetto di affordance, introdotto da Gibson (1977) ed ampiamente sviluppato da Norman (1995): le affordances sono le possibili funzioni, gli "inviti operativi", le operazioni consentite da un oggetto al suo utente. L'utilità di una situazione per uno determinato studente in un certo momento è identificata dalle affordances di quella situazione; le affordances non sono un attributo dello studente, né della situazione, ma semmai della relazione tra i due, e si pongono come un'unità di analisi che fa riferimento sia all'ambiente sia al discente in modo complementare. Il modello delle affordances consente al sistema di adattare lo spazio d'interazione e di offrire allo studente le opportunità più adeguate allo stato corrente del processo di apprendimento. Sembra rilevante notare che questa impostazione, applicata a situazioni di apprendimento collaborativo, consente probabilmente di modellare concetti di notevole rilevanza per il costruttivismo sociale, quali ad esempio quello di zona di sviluppo prossimale (Vygotskij 1980). Nell'elaborare una proposta di architettura di ITS che non sia in conflitto con le teorie costruttiviste dell'apprendimento Akhras e Self sono ben consapevoli di dover integrare nel sistema tutti gli aspetti più qualificanti dell'approccio costruttivista: l'attenzione al processo, al contesto, alla reificazione degli oggetti dell'apprendimento, alla molteplicità di possibili percorsi, all'autonomia dello studente. Sebbene gli autori non si pongano in termini di rottura con la tradizione, ma piuttosto badino spesso ad evidenziare gli elementi di continuità con gli approcci usuali, la loro proposta ha suscitato reazioni talora anche fortemente critiche (Azevedo 2002; Young et al. 2002). Tra l'altro, ad Akhras e Self si rimprovera di non tenere in debito conto la dimensione sociale dell'apprendimento e di non riuscire a svincolarsi da quell'impostazione razionalista che il costruttivismo (almeno nella sua versione radicale) disconosce. Per richiamare le parole di Ernst von Glasersfeld (ripetutamente citato anche da Akhras e Self): "... la "conoscenza" non può essere una "rappresentazione" del mondo esterno fatta di pezzettini o "informazioni" asportati a quel mondo "reale", ma deve essere una costruzione interna fatta con materiale interno." Inoltre: "... la conoscenza 54 non produce mai delle strutture che si possano considerare la rappresentazione di un mondo ontologico esterno". Infine: "[è] insignificante il costruttivismo adottato da quegli psicologi che tentano di sovrapporlo ad un orientamento convenzionale "realista"" (Glasersfeld 1999). 55 Conclusioni Abbiamo parlato della storia e del succedersi dei modelli teorici che hanno portato ad un continuo avvicinamento e allentamento tra lo studio del cervello e lo studio della mente. Naturalmente non è stato possibile esaminare tutte le teorie e ricerche che hanno portato un contributo a quella che oggi è la scienza cognitiva Nella vita della scienza cognitiva il tempo è stato ed è essenziale. La scienza cognitiva non è un’ entità statica; e non lo sono neanche le discipline che la costituiscono. Si è visto che gli sviluppi delle ricerche, di cui abbiamo parlato in questo lavoro, hanno subito una continua evoluzione. La scienza cognitiva computazionale ha acquisito molto rapidamente, negli anni sessanta del secolo scorso, un predominio nello studio del comportamento per il prestigio del computer da essa considerato come modello della mente perché dava una nuova interpretazione alla relazione esistente tra cervello mente e computer. Invece la scienza cognitiva neurale ha molta difficoltà ad affermarsi perché richiede che gli psicologi e gli altri studiosi del comportamento adottino un nuovo e poco familiare metodo di ricerca, la simulazione al computer. Per quanto riguarda l’ Intelligenza Artificiale invece di mettere su un dibattito, una battuta è forse più adeguata di una lunga dissertazione. Noi pensiamo che, se la natura o il creatore ci hanno dato un cervello diviso in due emisferi con compiti diversi, avranno avuto le loro buone ragioni. 56 Bibliografia Carmela Morabito: la mente nel cervello, editori Laterza; 2004 W Bechetel, A Abrahamsen, G Graham: menti ,cervelli e calcolatori; editori Laterza; 2004 GA. Miller, E Galanter, KH Pribram: piani e struttura del comportamento; Franco Angeli Editore; 1979 Roger Schank, Il computer cognitivo, Giunti Umberto Galimberti, Dizionario di Psicologia, Garzanti Luciano Mecacci ( a cura di), Manuale di psicologia generale, Giunti; 2001 Vincenzo Tagliasco, Dizionario degli esseri umani fantastici e artificiali, Saggi Mondatori FONTI http://it.wikipedia.org/wiki/Intelligenza_artificiale http://www.emsf.rai.it/aforismi/aforismi.asp?d=326#links http://www.wbt.it/index.php?risorsa=intelligenza_artificiale http://web.tiscali.it/dolphing/sistemi_esperti.htm http://it.wikipedia.org/wiki/Sistema_esperto_%28informatica%29 http://galileo.cincom.unical.it/Pubblicazioni/editoria/libri/Comprens/mode lli.html http://it.wikipedia.org/wiki/Scienze_cognitive http://it.wikipedia.org/wiki/Filosofia_della_mente 57 58 BIBLIOGRAFIA Barello, Elio. I pianetiLondra: 1996. Allmane, Stefania. L'universo. Torino: 1997. Doe, Jane. Il Sole. Londra: 1996. Barello, Elio. I pianetiLondra: 1996. Allmane, Stefania. L'universo. Torino: 1997. Doe, Jane. Il Sole. Londra: 1996. Barello, Elio. I pianetiLondra: 1996. Allmane, Stefania. L'universo. Torino: 1997. Doe, Jane. Il Sole. Londra: 1996. Doe, Jane. Il Sole. Londra: 1996. Barello, Elio. I pianetiLondra: 1996. Allmane, Stefania. L'universo. Torino: 1997. Doe, Jane. Il Sole. Londra: 1996. Barello, Elio. I pianetiLondra: 1996. Allmane, Stefania. L'universo. Torino: 1997. Doe, Jane. Il Sole. Londra: 1996. Barello, Elio. I pianetiLondra: 1996. Allmane, Stefania. L'universo. Torino: 1997. 59 INDICE A M S Aristotele, 3 Missione spaziale Mariner, 2 Mercurio, 3 Via Lattea, 2 Sistema solare creazione, 2 teoria geocentrica, 2 teoria eliocentrica, 3 missione Mariner, 2 missione Voyager, 2 D Da una galassia, 2 E Teoria eliocentrica, 2 G Teoria geocentrica, 3 O Orbita Mercurio, 3 T Terra, 2 P Pianeti e lune, 2 R Rotazione Mercurio, 3 3 V Voyager, missione spaziale, 2 Biomedica e insegna dal 1998 al 2000 presso il Corso di Laurea in Scienze della Comunicazione a Torino. I suoi principali interessi di ricerca sono nel settore dello studio e progettazione di esseri artificiali. ii i Vincenzo Tagliasco: Nato a Savona il 26 febbraio 1941. Nel 1965 si laurea in Ingegneria elettronica e viene nominato assistente ordinario nel settore delle misure e del controllo automatico. Perfeziona la sua preparazione nelle aree della psicologia della percezione e del controllo motorio negli USA presso la Harvard University e il MIT. Dal 1974 insegna Principi di Bioingegneria (dal 1980 come professore ordinario) a Genova. Nel 1984 diviene il primo direttore del Dipartimento di Informatica, Sistemistica e Telematica. Negli Ottanta si interessa di strutturazione e di trasmissione del sapere attraverso vecchi e nuovi media. Dal 1986 al 1995 lavora come esperto presso il MURST, l'UE e l'OCSE sulla formulazione di scenari per il futuro. Nel 1996 è il primo Presidente del Corso di Laurea di Ingegneria Communities of practice: learning, meaning, and identity. By Etienne Wenger, Cambridge University Press, 1998 4