MODULO 1.b Il computer - modello o strumento.
Transcript
MODULO 1.b Il computer - modello o strumento.
TEORIE E SISTEMI DI INTELLIGENZA ARTIFICIALE Prof. Richard WALKER MODULO 1.b Il computer - modello o strumento. Sintetizzo molto brevemente quanto abbiamo detto ieri. Ieri ho tentato, e continuerò oggi, di introdurvi a questa nuova disciplina, quella che io chiamo Nuova Intelligenza Artificiale. Cosa ho fatto? Innanzi tutto ho fatto un contrasto: il computer come modello della mente, c’è chi sostiene che la nostra mente è un programma che gira su un computer fatto di neuroni e di sinapsi, ecc., ed il computer invece come uno strumento, come può essere una macchina per fare radiografie, o come qualunque altro strumento. La settimana prossima vedremo molto in dettaglio quella che io chiamo intelligenza artificiale classica, della quale già nella prima lezione ne avete avuto un assaggio. Ho descritto l’approccio dell’intelligenza artificiale classica: ho un computer, che è un pezzo di hardware, valvole o transistor, ecc., che esegue un programma, che è una serie di istruzioni scritte in un qualche linguaggio. Il computer ha un suo linguaggio, che si chiama linguaggio macchina oppure assembler, ma fondamentalmente sono tutti uguali. Quando programmiamo, scriviamo di solito in un linguaggio che si chiama ad alto livello, che è un linguaggio più vicino al modo di ragionare di un essere umano, quindi possiamo scrivere in C, oppure in Java, oppure in Pascal, o in Fortland, ci sono centinaia di linguaggi di programmazione; il computer traduce sempre questo in linguaggio macchina e fondamentalmente la logica di tutti i computer è sempre uguale. Abbiamo visto che un computer è quello che si chiama un calcolatore universale, cioè qualunque problema che può essere risolto matematicamente può essere risolto da qualunque computer, non importa come quel computer è fatto che sia un IBM o un Mac o un computer degli anni ’40, può cambiare la facilità d’uso, possono cambiare i tempi di calcolo, ma non cambia la logica, anche il più complesso programma di oggi, in teoria, può essere tradotto per farlo girare sul primo computer che è stato costruito. Ci metterà tantissimo tempo, ma in teoria può essere fatto. Quindi quel che conta non è l’hardware bensì il software, vale a dire il programma. 1 Storicamente la nascita dei computer coincide con la crisi del comportamentismo, di cui parleremo molto di più la settimana prossima. Molti ricercatori hanno pensato che questo computer poteva essere un modello della mente, che la mente magari davvero funziona come un computer. Hanno tentato quindi di modellare la mente come un programma per computer. Hanno creato, per esempio, programmi per fare robotica molto semplice: un robot che si sposta in un mondo fatto di cubi e di cilindri, a cui si può dare un comando al computer del tipo di prendere il blocco rosso e di metterlo su quello verde ed il computer lo esegue. Abbiamo visto anche che questo programma non è stato un grosso ………., ci sono enormi difficoltà nel portare questi modelli dal mondo artificiale dei blocchi, o di cose simili, al mondo fisico; appena complico quel mondo, per esempio se nel mondo dei blocchi utilizzo una luce un po’ più realistica e meno artificiale il computer va in tilt. Alcuni sostenitori dell’intelligenza artificiale classica hanno sostenuto che questo è dovuto ad una debolezza della tecnica, hanno detto che non hanno computer abbastanza potenti da far funzionare i loro modelli. Credo che questa obiezione non è molto accettabile, già oggi il processore di un computer moderno funziona milioni di volte più velocemente di qualunque neurone del cervello umano o del cervello animale. Non solo, ma le prestazioni dei computer stanno migliorando di un 40% circa ogni anno, e quindi mi aspetterei che qualche cosa che assomiglierebbe a forme di intelligenza, qualche funzione di intelligenza elementare, dovrebbe essere possibile da riprodurre sul computer ed invece non ci riescono, questi sostenitori dell’intelligenza artificiale classica. Non riescono non soltanto a riprodurre l’intelligenza umana, ma neanche a riprodurre l’intelligenza di animali relativamente semplici. Una seconda spiegazione che offrono questi sostenitori dell’intelligenza artificiale classica è basata sulla evidenza che il cervello è parallelo ed il computer invece è seriale. Cosa significa questo? Il cervello è costituito da migliaia di miliardi di neuroni che funzionano tutti simultaneamente, mentre i computer che voi avete a casa lavorano in modo seriale, cioè una istruzione alla volta. Questa obiezione sembra un pochino più ragionevole, perché è vero ciò che sostengono. Però esistono dei teoremi che dimostrano che qualunque programma che può essere eseguito su un computer parallelo, se ho abbastanza tempo per aspettare, può essere eseguito anche su un computer seriale senza cambiare nulla della logica del programma. Quindi mi aspetterei che, se questi signori avessero realmente penetrato i segreti dell’intelligenza, forse non riuscirebbero a fare macchine che ragionano velocemente quanto noi, ma almeno a fare una macchina che ragiona lentamente dovrebbero riuscirci, ed invece non ci sono riusciti. Quindi anche questa seconda obiezione secondo me è debole. 2 Terza spiegazione che offrono: dicono che non hanno ancora capito abbastanza. Non conoscono ancora le rappresentazioni che il cervello utilizza nell’intelligenza. D’accordo, probabilmente avete ragione, però non è sufficiente offrire una teoria se questa teoria non è sostanziata, se questa teoria non si esplicita e se non ci sono esempi concreti di implementazione della teoria, per cui magari questa obiezione è vera, ma è a loro che tocca dimostrare che possono offrire forme di rappresentazioni, forme di logica, che danno l’intelligenza, e loro non lo fanno. In realtà la logica che loro utilizzano è linguistica, è logica. Loro dicono che la mente fa rappresentazioni di realtà che si potrebbero scrivere in simboli, per esempio possono scrivere studente capelli mori a sinistra di studente capelli corti, questa è una spiegazione linguistica, una rappresentazione linguistica, a quel punto posso chiedere al computer dove sta lo studente con i capelli mori, ed il computer guarda il suo elenco di fatti nella sua rappresentazione e trova uno che sta effettivamente a sinistra e dice a sinistra di quello con i capelli corti. Ho invece un forte sospetto che questo tipo di rappresentazione non sia valida, il cervello non funziona così. Quindi nella lezione di oggi vorrei proseguire e vedere un approccio alternativo all’intelligenza artificiale classica. Nelle lezioni che seguiranno vedremo questi approcci nei minimi dettagli, ma in questa lezione vorrei darvi un assaggio di dove stiamo andando e vorrei iniziare guardando alcune differenze tra l’intelligenza del computer e l’intelligenza biologica, l’intelligenza che ritroviamo in noi stessi, a volte negli animali. Quando si guarda all’intelligenza o quando si guarda ad una problematica psicologica non si deve solo vedere quello che un sistema fa bene, è molto interessante vedere anche quello che un sistema fa male, gli errori che fa. Questo è vero in tutta la ricerca psicologica, per esempio quando si esplorano le funzioni del cervello uno degli strumenti più importanti è di studiare le persone il cui cervello ha una lesione. Vedo quella lesione, vedo ciò che comporta, è dal constatare che lesioni discrete coinvolgono solo determinate funzioni, posso danneggiare una funzione senza coinvolgere tutte le altre, posso inferire delle conoscenze. Cosa noi non possiamo fare? Se ci chiedono la radice quadrata di 264,65 o il quadrato del seno di 2,46 ci mettiamo un bel po’, è un compito duro e probabilmente commetteremo degli errori, e anche se non commettiamo errori siamo molto, molto lenti, ci impieghiamo minuti per eseguire questi calcoli. Un computer, invece, risolve i problemi matematici in tempi velocissimi e normalmente senza mai sbagliare, se il programma è scritto bene il computer non sbaglia mai. Vediamo un secondo esempio tratto dalla lingua italiana. Consideriamo il tipico modo di parlare dei politici: discorsi lunghi con clausole di subordinate in altre clausole di subordinate e così via, e tutto questo potrà essere perfettamente in linea con le regole dell’italiano. Ma questo modo di articolare il 3 discorso porta ad una difficoltà del pubblico nel seguire e comprendere il suo significato, il pubblico si annoia e si addormenta. La mente umana ha una capacità limitata nell’articolare le frasi. Prendiamo l’esempio invece di un computer a cui do un compito di matematica. Posso inserire un’espressione matematica di qualsivoglia lunghezza, articolata in tutti i livelli di parentesi che voglio, e il computer non si perde mai. Queste frasi con tante subordinate o queste espressioni matematiche con tante parentesi si chiamano espressioni ricorsive, la mente umana ha una capacità molto limitata per trattare questo tipo di espressioni, invece i computer hanno una capacità praticamente illimitata per ragionare in questo modo. Questi sono 2 esempi ma in realtà ne potrei fare decine o centinaia. Conclusioni: il modo in cui ragiona un essere umano, o un animale, è profondamente diverso rispetto al modo in cui ragiona un computer. Seconda cosa, i calcoli umani sono molto imprecisi. Questo è evidente quando parlo della matematica, quando avete un problema matematico da risolvere spesso e volentieri fate errori, però è vero anche in tantissimi altri campi, succede spessissimo che qualcuno dice una cosa e chi ascolta prende fischi per fiaschi, questo è particolarmente interessante per i freudiani che ho davanti, cioè è una parte normale della mente umana capire male. Molto spesso si dà a qualcuno un problema da risolvere, che può essere un problema di vita quotidiana come l’andare a fare la spesa, e questo non è svolto nel modo più efficiente possibile, può dimenticare qualcosa, può scegliere una strada più lunga per arrivare al mercato, quindi non ottimizza mentre un computer farebbe sempre la cosa in modo ottimale, la persona no, la persona fa qualcosa che grosso modo funziona, spesso dimentica, ma non è preciso come il computer. Terzo: il processore di un computer è molto, molto veloce, oggi abbiamo computer che funzionano a 7-800 Mhz, questo significa 7-800 milioni di istruzioni al secondo per uso domestico, e quando si va su computer per uso ……… abbiamo computer che fanno giga flop. Un flop è un calcolo matematico, e un giga flop è un miliardo di calcoli matematici al secondo, è tantissimo. Un neurone ha un tempo di risposta, invece, fra i 10 e i 50 millisecondi, quindi è milioni di volte più lento di un computer. Quindi i singoli componenti di cui è fatto un computer sono molto più veloci dei singoli componenti di cui è fatto il nostro cervello. Parentesi: c’è un’immensa uniformità nella natura, tra i neuroni che ho io ed i neuroni che ha un altro vertebrato, come per esempio un cane o un ratto, non c’è nessuna differenza che può essere vista al microscopio, sono fatti in modo uguale. Esattamente come tutti computer sono fatti con gli stessi componenti, idem per il cervello, cioè almeno per i vertebrati, abbiamo tutti gli stessi componenti con grosso modo le stesse prestazioni. Quando andiamo fuori dal mondo dei vertebrati la fisiologia cambia ma neanche tanto, perfino se vado nel mondo dei vertebrati i neuroni ci sono, e 4 funzionano in modo non identico ai nostri, ma funzionano in modo molto simile, e funzionano in modo molto lento. Quarto ed ultimo: gli animali e gli esseri umani possono risolvere problemi per i quali noi ricercatori non abbiamo nessun algoritmo. Rispiego il concetto di algoritmo: un algoritmo è una procedura formalizzata che consente di risolvere un problema. Formalizzata significa che può essere eseguita da qualcuno che non ha nessuna conoscenza del problema e sempre necessariamente porta alla giusta soluzione del problema. Per esempio, algoritmo: il professore deve raggiungere la porta partendo da questa posizione, istruzioni: girare fin quando non ho la porta al centro del campo visivo e procedere dritto evitando l’ostacolo là, questo è un algoritmo. Però nella nostra vita quotidiana incontriamo molti problemi per i quali non conosciamo l’algoritmo, non significa che non esiste, però non lo conosciamo. Ad esempio, il riconoscimento di una faccia. Prendiamo una base dati che contiene tantissime fotografie di facce, da tener in conto è che le fotografie sono prese da distanze ed angolazioni diverse, con questi dati vi sfido, e sfido anche il miglior informatico del mondo, a risolvere il problema di trovare un algoritmo ( cioè di scrivere un programma ) che mi possa trovare la faccia di un tizio che scelgo io e che lo faccia in modo affidabile. Eppure un bambino intorno alle 6 settimane di vita riconosce senza nessun problema la faccia della mamma, e non solo lo fa il bambino, ma lo fa anche il cucciolo di animale, lo fa il pulcino. Quindi gli esseri umani e gli animali stanno in qualche modo applicando un algoritmo che noi non conosciamo. Quando noi prendiamo gli oggetti e li mettiamo in categorie, come ad esempio la categoria degli alberi, facciamo un’operazione cognitiva complicatissima, pensate a tutti i tipi di alberi che ci sono, alberi bonsai, le querce, che in estate hanno le foglie ma in inverno no, ma sempre querce rimangono. Qualunque persona, in qualunque cultura, nonostante tutte le differenze che abbiamo evidenziato nei vari tipi di alberi e nel diverso modo di apparire nei momenti della vita degli stessi, sa quando ne vede uno che quello appartiene alla categoria degli alberi, e distingue la categoria degli alberi da quella delle automobili. Questo compito non solo lo sanno fare le persone ma ci sono dei bellissimi esperimenti con gli animali dove si mostra che questo lo si può insegnare anche ad un piccione. Posso benissimo insegnare ad un piccione a distinguere la categoria degli alberi da quella dei piccioni, ho immensa difficoltà ad insegnare questo ad un computer. Quindi anche qui vediamo che la ragione animale e la ragione umana sono profondamente diverse rispetto all’intelligenza che riesco a riprodurre su un computer, almeno oggi. A questo punto vorrei tornare indietro alla fine della Seconda Guerra Mondiale e vorrei introdurvi a una visione alternativa dell’intelligenza. La visione che è stata proposta dalla scuola che si può chiamare scuola cibernetica. 5 Per spiegare che cosa è la cibernetica, e per favore dimenticate i robot e tutto il resto, dovrei iniziare con una osservazione: quando osservo i comportamenti di qualunque essere vivente, o anche una pianta, ho la tendenza ad attribuire a questo essere vivente uno scopo. Ad esempio, cosa sta facendo quel cane? Sta cercando cibo. Cosa sta facendo quel topo? Sta cercando di scappare dal gatto. Cosa sta facendo quel bambino? Sta cercando di marinare la scuola così sta meglio. Così noi quando guardiamo il comportamento di un animale quasi sempre possiamo spiegare il suo comportamento in termini di un qualche obiettivo. La cibernetica nasce da un’analisi di questo problema: di che cosa ha bisogno un essere vivente per comportasi in modo tale che io gli attribuisca uno scopo? La cibernetica è anche metodo: tento di creare delle macchine che si comportino in modo tale che gli possa attribuire uno scopo. Studio come ho fatto la macchina, e forse il modo in cui ho fatto la macchina mi può insegnare qualcosa su come funziona l’animale, questo in realtà è il metodo che utilizzeremo in tutto il nostro corso di studi. Allora introduco una parola complicata, che se qualcuno ha fatto un corso di biologia conosce o altrimenti no, conoscete l’omeostasi? Tutti gli esseri viventi, compresi anche quelli veramente stupidi, andando dalla pianta fino al politico, dimostrano omeostasi, cosa significa questo? Posso descrivere le esigenze di ogni essere vivente in termini di una serie di variabili, che possono essere molte o poche. Quindi posso prendere una pianta e posso dire che una pianta ha bisogno di mantenere un certo contenuto di liquidi al suo interno, altrimenti se ha troppo liquido o troppo poco muore. Se prendo un animale posso dire che deve mantenere la sua temperatura corporea entro certi limiti, ed in questo caso estremamente rigidi, ad esempio in un umano posso andare da 34 gradi fino a 40 gradi dopodiché muore. La variabile può essere qualcosa di non esprimibile come un numero, ad esempio devo mantenere il mio corpo intatto, senza troppi pezzi non funziona più, quindi devo cercare di mantenere 2 braccia, 2 gambe, mantenere la testa è molto positivo. Quando l’animale vede una di queste variabili che va fuori dal livello normale, va fuori dal livello che consente di vivere, mette in atto un comportamento per ristabilire i giusti valori. Cosa fa? Ad esempio se l’animale è a corto di cibo mette in atto una ricerca di cibo, e questo significa riconoscere una preda e catturarla. Se l’animale è troppo freddo deve mettere in atto un comportamento per cercare il caldo, per mettersi al sole. Se fa troppo caldo può mettere in atto un comportamento per mettersi all’ombra. Se l’animale sente un dolore, che è un segnale di pericolo, può mettere in atto un’azione motoria per far sì che quello stimolo cessi. Se ha troppi pochi liquidi può mettere in atto un comportamento per riuscire a bere. Se sta per essere mangiato da un predatore mette in atto un comportamento per allontanarsi il più possibile dal predatore. 6 La scuola della cibernetica generalizza questi comportamenti e dice che sono tutti comportamenti di retroazione, in inglese si chiamano di feed-back. In che consiste un meccanismo di retroazione? In realtà questi sono tutti meccanismi di retroazione negativa. Prima c’è un’azione, l’animale sta vivendo, misura il valore di una certa variabile, per esempio la temperatura corporea, poi questa informazione torna indietro al sistema che controlla i comportamenti dell’animale e lo aggiusta, in questo caso se è troppo caldo mette in atto un comportamento per cercare ombra. Questo meccanismo in realtà era già conosciuto dai biologi, ma quello che hanno fatto i cibernetici è di metterlo in rapporto con il comportamento delle macchine. Per esempio: quando hanno inventato le prime macchine a vapore c’era il problema di regolare il flusso di vapore affinché la macchina girasse ad una velocità costante e non andasse fuori controllo danneggiandosi. Un modo è di avere una manopola, un operatore sta lì, guarda la macchina e continuamente aggiusta manualmente con una manopola il flusso di vapore della macchina. Con una macchina così potente, come una macchina a vapore, e con conseguenze così disastrose se si rompe questa modalità di controllo, funziona male perché l’operatore non reagisce in tempo, ed è impossibile mantenere la macchina a velocità costante in questo modo. Possiamo fare un altro esempio: si vuole regolare la temperatura dentro una macchina. Con un sistema di aria condizionata di 10 anni fa si può continuamente accenderlo e spegnerlo per cercare di aggiustare la temperatura, ma è difficilissimo far sì che la temperatura sia costante a un valore pre-determinato. Che cosa hanno inventato per regolare la macchina a vapore? Hanno fatto 2 levette e quando girava la ruota per forza centrifuga queste 2 levette si alzavano, quando si alzavano controllavano il flusso di vapore riducendolo, questa è una retroazione, con meno vapore la ruota girava meno velocemente, le 2 levette si abbassavano, davano più vapore, ed in questo modo il funzionamento della macchina si manteneva costante. Questa cosa inventata nel ‘700 si utilizza ancora oggi, è un semplice meccanismo di retroazione. La stessa cosa vale per la temperatura della vostra automobile, lì si utilizza quello che si chiama termostato. Un termostato molto semplicemente misura la temperatura all’interno dell’abitacolo, quando la temperatura sale ad un certo livello o accende l’aria condizionata oppure spegne il riscaldamento, viceversa quando la temperatura scende al di sotto di un certo livello o spegne l’aria condizionata o accende il riscaldamento. Il grande contributo dei cibernetici è stato il dire che c’è analogia, quello che i matematici chiamano isomorfismo, tra il comportamento della macchina, il termostato oppure anche la macchina a vapore, ed il comportamento dell’animale che cerca l’omeostasi. Come l’animale mette in atto realmente l’omeostasi? Come l’animale può mettere in atto realmente un meccanismo di retroazione? 7 Spesso lo fa con mezzi piuttosto semplici. So che la maggior parte di voi non ha studiato psicologia sperimentale, ma penso che qualcosa di Pavlov lo avete studiato. Pavlov ha studiato i riflessi incondizionati e condizionati. Come posso mettere in atto un comportamento di retroazione? Posso creare un collegamento diretto tra un sensore, che dice qual è il valore di una certa variabile vitale, e un muscolo o un qualcosa di molto semplice come un piccolo sistema motorio, che cambia quel valore nella direzione desiderata. Ad esempio il cane che sente la campanella e il suono mette in atto un comportamento che lo fa salivare, perché questa è normalmente una preparazione per mangiare cibo. Questi comportamenti possono essere acquisiti attraverso l’apprendimento. Noi abbiamo visto, e voi avete già studiato, che i riflessi sono un fenomeno assolutamente universale nel mondo animale, fino ad arrivare ad averne la presenza in animali assai semplici. Quindi vediamo da una parte che gli animali mettono in atto comportamenti di retroazione. Dall'altra che i meccanismi utilizzati per implementare questi cicli di retroazione possono essere molto, molto semplici. Vorrei darvi un esempio un pochino più avanzato rispetto al caso della temperatura corporea. Voglio darvi un esempio tratto da un modello di Pitts e McClullen, che erano 2 dei pionieri della cibernetica, e che negli anni ’40 hanno studiato come funziona la rana quando vuole catturare un insetto. Hanno studiato l’occhio della rana e, diversamente dagli studiosi di intelligenza artificiale, sono andati proprio a studiare fisicamente come funziona quest’occhio. Sono andati a dissezionarlo hanno visto come e dove sono i nervi, come funziona il cervello della rana, ed hanno fatto degli esperimenti. Per la rana mangiare insetti è veramente vitale, se non ci riesce muore. Quindi deve avere un meccanismo di retroazione che quando ha fame mette in atto un meccanismo di ricerca del cibo. Pitts e McClullen h anno studiato come funziona questo meccanismo, e cosa hanno scoperto? Che la rana molto semplicemente ha un meccanismo che reagisce quando un oggetto piccolo attraversa il suo campo visivo, qualunque oggetto piccolo, non deve essere necessariamente una mosca. Quando questo attraversa il campo visivo la rana calcola dove sta questo oggetto e mette in atto un semplice riflesso della lingua e spesso e volentieri, non sempre perché anche la rana fallisce, qualche volta, cattura l’insetto. Noi vedremo che se dovessimo creare un robot per catturare insetti lo troveremmo molto, molto difficile, non sarebbe per niente facile, mentre la rana lo fa molto semplicemente con un meccanismo che già negli anni ’40 Pitts e McClullen sono stati in grado di descrivere in dettaglio, hanno fatto un modello al calcolatore che può riprodurre questo comportamento. Ma qui vediamo delle differenze di fondo rispetto all’intelligenza artificiale classica. 8 Nell’intelligenza artificiale classica rappresento i problemi in termini simbolici, quindi nel caso della rana avrei dovuto fare la descrizione simbolica del mondo che sta vedendo la rana, e come vedremo nella prossima lezione, la creazione di questa descrizione è qualcosa di molto difficile a livello computazionale, può darsi perfino impossibile, poi avrei dovuto manipolare quel mondo che ho rappresentato. Quindi avrei dovuto creare una funzione che calcola: esiste in questo mondo una mosca? Questo è un altro programma estremamente complesso. Scrivere un programma che identifichi una mosca non è per niente facile. Poi avrei dovuto mettere in atto un comportamento complesso per calcolare dove è quella mosca, muovere la lingua, e catturala. Però vediamo che nel sistema creato da Pitts e McClullen tutto questo non avviene. L’occhio della rana non crea nessuna rappresentazione dell’intero spazio che sta vedendo, non gli interessa, ha semplicemente un qualche cosa che si accende si/no, che dice se un oggetto piccolo si sta muovendo nel suo campo visivo, e se è sì manda un segnale diretto al muscolo giusto che fa estendere la lingua e siccome sta guardando nella direzione dell’oggetto la lingua arriva direttamente là dove deve arrivare. Vediamo qui che il problema è molto, molto specifico. Questo funzione solo per la cattura di mosche e, probabilmente, solo per la cattura di mosche di una certa dimensione. Questo funzionamento non sarebbe adatto alla cattura di piccoli uccelli da parte di un rapace, perché la piccola preda potrebbe riempire tutto il campo visivo del predatore. Quindi la rana ha trovato una soluzione per il suo particolare problema, quello che essa trova nel suo habitat, ed è una soluzione sia molto intelligente sia molto semplice dal punto di vista computazionale, viene realizzata attraverso connessioni fisiche tra i sensori, l’occhio, e i muscoli. Quindi da nessuna parte nella rana trovo una macchina che legge in memoria, che elabora le informazioni, che fa modelli, che pianifica, tutto questo non c’è, c'è una semplice azione riflessa organizzata in un modo che è anche facile riprodurre su un computer. Quindi la rana di fatto fa un calcolo molto più semplice dell’idea che si farebbe un sostenitore dell’intelligenza artificiale classica. Questo è empiricamente vero, è un fatto, non è un’ipotesi teorica. Questo ci porta ad un problema che chiamo il problema del quadro di riferimento. Cosa fa lo studioso quando esamina i comportamenti di una rana? Usando uno sperimentatore cieco si possono prendere delle misure quantitative per avere una descrizione quanto più accurata di ciò che fa la rana. Cerco poi di fare degli esperimenti. Se osservo solo la rana in natura è molto difficile capire quello che fa, ma cerco di fare degli esperimenti dove molte rane fanno esattamente la stessa cosa e dove posso generalizzare e misurare quello che fa la rana. A quel punto osservo l’input che ha la rana, cioè che cosa vede la rana, osservo l’output della rana, cioè ciò che fa la rana, quali movimenti fa, e cerco, come ricercatore di intelligenza artificiale, di creare un algoritmo dove partendo da quell’input posso generare quell’output, ma qui arrivo ad 9 un problema fondamentale della matematica. Dovete sapere che per la trasformazione di un determinato input in un determinato output esiste sempre un’infinità di algoritmi capaci di creare quella trasformazione e quindi il fatto di avere creato un modello che con successo trasforma gli input in output non significa minimamente che l’animale che sto osservando utilizza quel meccanismo, può darsi che sta utilizzando un meccanismo totalmente diverso. Questo vale anche per gli psicoanalisti tra di voi quando osservate il comportamento di un paziente, si possono trovare un’infinità di spiegazioni logiche e coerenti che possono spiegare il comportamento del paziente, ma il mio problema scientifico è questo: una volta che ho creato una mia ipotesi che spiega il comportamento del paziente, oppure in questo caso il comportamento della rana, come lo posso validare? Come posso sapere se quella ipotesi è vera o falsa? Qui vorrei dare dei criteri di validazione, che sono stati formulati da R. Pfeiffer, di cui abbiamo già parlato nella lezione precedente, dei modelli di intelligenza umana o animale. LUCIDO 45 Primo criterio: il modello deve essere ben specificato, cioè il modello deve essere sufficientemente dettagliato da consentirne l’implementazione, questo significa da poterlo riprodurre su un computer. Quindi per esempio se dico che ogni volta che l’animale vede un oggetto piccolo sul lato sinistro dell’occhio fa una cosa questo non basta, perché piccolo è vago, ma dovrei scrivere che ogni volta che vede un oggetto con grandezza apparente sul campo visivo minore di 3 millimetri fa una certa cosa, e questa cosa deve essere altrettanto bene specificata. 10 Se conosco tutto questo posso creare un modello sul computer programmandolo, a quel punto posso osservare il comportamento del modello al computer e vedere se corrisponde a quello che ho osservato nell’animale. Che cosa vado a controllare? Vado a controllare innanzi tutto se riproduce il comportamento che sto osservando, vedo anche se riproduce gli errori che vedo nell’animale. Spesso ci sono condizioni in cui l’animale fallisce un certo compito, ci sono delle condizioni in cui la rana non riesce a catturare l’insetto. Vorrei che il mio modello fallisse nello stesso modo in cui fallirebbe l’animale. Esamino i tempi: vorrei che se l’animale facesse una certa cosa lentamente anche il mio modello la facesse lentamente, e che se l’animale facesse una certa cosa velocemente anche il mio modello la facesse velocemente. Quindi la prima cosa è di avere un modello sufficientemente dettagliato da consentirne l’implementazione. Questa è una caratteristica che non hanno, ed è quindi un difetto, moltissimi modelli che si osservano in psicologia. Spesso si mettono variabili che non sono misurabili, ad esempio l’insoddisfazione del bambino, ma come faccio a misurarla? Il livello di stress che sta subendo il lavoratore, ma il livello di stress per essere utile in un modello devo poterlo misurare con, ad esempio, un questionario che mi dica come risultato quale è il tuo livello di stress. Ogni variabile deve essere specificata e misurabile, e questo è il primo passo. Se poi ci sono obiezioni da coloro che fanno modelli diversi, sono legittime e le esamineremo. Ci deve essere una validazione interna del modello. Il modello deve essere internamente coerente, deve avere un senso, ed è questo un giudizio quasi estetico. E se fosse possibile deve essere parsimonioso. Conoscete il rasoio di Ocam, un grandioso filosofo, che disse: enzia non sunt moltiplicanda sine necessitate, non bisogna moltiplicare gli enti che uso in una teoria senza necessità. Quindi per ogni fenomeno voglio la spiegazione più semplice possibile. Se avessi due spiegazioni che mi spiegano il fenomeno, ma una è più semplice dell’altra, da scienziato per motivi artistici preferirei quella più semplice. Vediamo per esempio il moto dei pianeti. Fino alla fine del ‘500, fino a Galileo o Copernico, c’erano modelli del moto dei pianeti che lavoravano su epicicli, il sole andava intorno alla terra, poi c’erano i pianeti che andavano intorno a quell’orbita, poi c’erano altri epicicli all’interno, era una cosa che funziona ma complicatissima. Si potrebbe pianificare il volo delle navicelle spaziali sulla base di questo modello e queste arriverebbero al bersaglio, però è tremendamente complicato e gli epicicli sono troppi. Il modello copernicano dove ho il sole al centro con i pianeti che girano intorno, spiegato poi meglio nei dettagli da Newton, è infinitamente più semplice, è più breve, e dà gli stessi risultati. Quindi da scienziato preferisco il modello di Copernico, Galileo, o Newton, rispetto al modello con gli 11 epicicli, però a livello di risultati sono identici, danno lo stesso output. Forse oggi si riesce a misurare qualche differenza, ma sicuramente all’epoca di Galileo non c’era nessuna differenza per scegliere, era una scelta assolutamente estetica. La scienza è una attività estetica. Terzo: validità di processo. I meccanismi devono essere coerenti con quello che sappiamo del sistema da modellare. Ad esempio nel caso della rana sono a conoscenza del fatto che questo organismo ha un numero relativamente limitato di neuroni, non è basso ma non è neanche infinito. Se il modello che propongo necessita logicamente di disporre di un numero di neuroni un milione di volte superiore a quelli che ci sono nel cervello della rana, ci sarebbe qualcosa che non funziona nel modello. Quindi il modello deve essere coerente con i processi che riesco ad osservare. Ed infine validità di risultati, ma è la cosa più evidente, il modello deve dare comportamenti simili, confrontabili, al sistema che voglio modellare. Quindi come abbiamo detto i tempi di risposta devono essere gli stessi, se sto modellando un sistema che impara, gli stadi dell’apprendimento devono essere gli stessi, se il sistema che sto modellando ad un certo punto smette di funzionare, voglio che nelle stesse circostanze anche il mio modello smetta di funzionare, se vedo tutte queste corrispondenze accetto la validità del mio modello. Questo significa che non posso accettare modelli che sono puramente verbali. Un modello che dice: quando ho il desiderio di fare questo faccio quest’altro è un modello verbale, è vago, non riesco a tradurlo in un programma al computer, dove posso confrontare effettivamente i comportamenti del modello con i comportamenti del sistema che voglio modellare. Ho bisogno invece di un modello operazionabile, che posso tradurre invece in un vero e proprio programma. Voglio dare esempi di questi modelli e dei diversi stili di analisi. Ho parlato male e con toni un po’ polemici dei modelli solo verbali. A questo punto vorrei dare un esempio di quello che significa un modello solo verbale per me, di vedere la sua utilità ma anche le sue debolezze, e voglio farlo riferendomi ad una serie di esperimenti, classici, di un grande psicologo animale che si chiama Tolman, e nulla di tutto ciò che dirò riduce la grandezza di quest’uomo molto importante. Tolman è interessato a come gli animali navigano, a come lavorano nello spazio. Ad esempio se vi dico di andare da qui a via Roma, studierò come voi ci andate. Come risolvete questo problema nessuno lo sa. Quindi andiamo a fare un esperimento con i ratti. Cosa faccio? Gli psicologici sperimentali, per qualche contorsione loro propria, amano i labirinti, quindi creano un labirinto a 3 bracci come quello disegnato qui. Poi la prima cosa che fanno è di stabilire un punto di arrivo dove mettere del cibo e di stabilire un punto di partenza dove mettere un topo. La prima cosa che Tolman fa è di lasciare un topo libero per il labirinto per esplorarlo, non ci sono né ostacoli né cibo, e dopo un po’ il ratto passa per tutti i 12 bracci del labirinto. Dopodiché mette il cibo e lascia di nuovo il ratto libero per il labirinto, ed osserva che molto rapidamente il ratto impara ad andare dalla partenza a dove sta il cibo senza passare inutilmente per i bracci laterali, quindi il ratto sa andare velocemente a cercarsi il cibo. LUCIDO 47 Dopodiché lo sperimentatore mette un ostacolo sul percorso del ratto, che era il più breve, e che cosa fa il ratto? Il ratto molto velocemente impara a passare per i bracci laterali per arrivare al cibo, quindi di nuovo prende un percorso ottimale per arrivare al cibo. A questo punto lo sperimentatore sposta l’ostacolo impedendo anche l’utilizzo di questa via alternativa al cibo (nel lucido l’ostacolo ora è quello verde), e qui arriviamo al dunque, cosa fa il ratto? Il ratto non fa un’esplorazione casuale. Se così fosse arriverebbe fino all’ostacolo, poi tornerebbe indietro, poi proverebbe la strada per un primo braccio laterale, probabilmente quello più vicino all’ostacolo, che sarebbe poi impraticabile, ecc., ma non fa così. Il ratto arriva all’ostacolo e poi prende subito il braccio che costituisce il percorso alternativo esatto, anche se è il più lungo, il ratto ha fatto immediatamente la distinzione tra le diverse posizioni dell’ostacolo. Cosa fa Tolman con questi risultati sperimentali che sono riproducibili ed è quindi sicuramente vero che il ratto si comporta così. 13 Tolman dice: (e abbiamo detto che per qualsiasi comportamento esistono un’infinita di spiegazioni, quindi questa è quella di Tolman) l’animale forma una mappa topologica del proprio ambiente, cioè una qualche rappresentazione simbolica dell’ambiente, quindi prevede che il topo da qualche parte del cervello ha una mappa simile a quella disegnata sul lucido del labirinto. Poi, sempre secondo Tolman, l’animale che si trova all’inizio del labirinto esamina diverse strategie per arrivare al cibo, le guarda sulla mappa esattamente come un uomo pianificherebbe il suo percorso per arrivare ad una strada, sceglie il tragitto più breve e lo esegue. Esaminiamo questo rispetto ai criteri per la validazione di un modello che abbiamo visto prima. Abbiamo detto che il modello deve essere ben specificato, sufficientemente dettagliato da consentirne l’implementazione. In questo non lo è perché non conosco la forma di questa rappresentazione interna, cos'è? Ha una fotografia della mappa, si ricorda gli angoli dove gira, lo descrive nel linguaggio del ratto dove gira a dx o a sx, lo descrive in termini di diagrammi cartesiano, nulla di tutto questo viene detto. Quindi non sappiamo come è rappresentata questa mappa di cui Tolman parla in termini verbali, questo comporta che, se facessi un modello utilizzando un tipo di mappa da me scelto ed i risultati non fossero quelli sperati, Tolman potrebbe replicare che non abbiamo adottato la mappa come la intendeva lui, imputando i problemi alla nostra tecnica di mappaggio e non al suo modello. Quindi il modello non è sufficientemente ben specificato per essere implementato. Validazione interna: il modello deve essere coerente e parsimonioso. Si, questo lo è, in questi termini lo è. Validità di processo: i meccanismi devono essere coerenti con quello che sappiamo del sistema da modellare. Questo è un punto interessante per questo modello perché dopo Tolman, egli scriveva nel ’48, sono stati fatti degli studi sull’ippocampo. L’ippocampo è una parte del cervello che è presente sia nell’uomo che nel ratto, ed è coinvolto nei compiti di navigazione. Se si lesiona l’ippocampo il ratto perde una parte della capacità di navigazione e pensavamo di sapere, fino a poche settimane fa, che nell’ippocampo ci fossero dei neuroni che sparano esclusivamente quando il ratto è in un certo luogo sul labirinto o nello spazio, che si chiamano in inglese place cells, cellule di luogo. Queste cellule sembrano rappresentare luoghi. Peccato che da una ricerca che è uscita poche settimane fa su Nature, pare che queste place cells sparano anche in altre circostanze, ad esempio sparano quando il ratto mette in atto un certo tipo di comportamento motorio a prescindere da dove sta, per cui sembra che abbiano una doppia funzione: rappresentano luoghi ma rappresentano anche certi tipi di comportamenti del ratto. In altre parole può darsi che questo modello sia coerente con il modo in cui è organizzato il cervello di un ratto, le prove empiriche oggi sono ambigue, non 14 possiamo dire che il modello sia sbagliato, ma non abbiamo neanche le basi per essere sicuri che sia vero. Validità di risultato: il sistema deve comportarsi come il sistema modellato. Questo è difficile perché non essendo il modello ben specificato non riesco a fare delle previsioni precise. Dovrei per esempio poter dire quanto tempo ci mette il ratto per pensare prima di trovare la strada giusta. In realtà quando faccio esperimenti con animali sono molto meno puliti di quando li spiego qui in aula, sicuramente il ratto fa molti errori, dovrei esaminare questi errori e scoprire quali sono. Esistono errori sistematici, ci sono delle condizioni in cui il ratto va sempre male, nulla di tutto ciò è stato fatto, ed il modello non è sufficientemente ben specificato per poter sapere se gli errori che vengono poi dal modello sono errori di implementazione o se c’è qualcosa di fondo che non va nella logica del modello. Noi come intelligenza artificiale nuova proponiamo un sistema molto diverso per formulare un modello. Un qualsiasi modello che formulo, se ben scritto, può essere tradotto in un programma per computer. Questo è vero per i modelli dell’intelligenza artificiale classica, ed è vero anche per i modelli cibernetici che abbiamo visto poc’anzi. Posso benissimo fare un modello al computer di una rana che cattura un insetto. Prendo il mio modello è faccio anche un modello dell’ambiente, quindi modello sia il mio organismo sia l’ambiente in cui quell’organismo deve vivere. a questo punto il modello genera un comportamento misurabile. Quindi esattamente come lo psicologo nel suo laboratorio misura i comportamenti del ratto, quale braccio prende del labirinto, quante volte prende un braccio, quante volte ne prende un altro, quanto tempo ci mette per arrivare al comportamento giusto, quanta variazione c’è tra un ratto ed un altro, allo stesso modo misuro i comportamenti del mio modello. A questo punto faccio un confronto tra il comportamento del modello ed il comportamento del sistema di riferimento, in questo caso il ratto. Questo è il metodo della nuova intelligenza artificiale, che è il tema del nostro corso. A questo punto però bisogna essere molto chiari su che cosa stiamo facendo. Prendiamo un esempio: in idrologia è molto utile creare un programma che modelli il comportamento dei fiumi. Voglio sapere per esempio quando il fiume rischia di creare inondazioni. Voglio sapere l’erosione creata sui fianchi del fiume. Voglio sapere quando piove in montagna qual è l’effetto sul flusso d’acqua che porta il fiume. Questo lo posso fare al computer. Lo posso fare con grande successo, scrivo il mio modello, ed il modello accetta i dati di input, per esempio la permeabilità del terreno, i dislivelli, la quantità di pioggia, eseguo la mia simulazione, ed il computer dato che è un calcolatore universale è in grado di eseguirla, ed alla fine ho un output che descrive come si comporterà il fiume. Quindi il computer è un modello assolutamente valido del fiume, ma, è questo è fondamentale, ed è qui che la nuova intelligenza artificiale si separa rispetto a 15 quella classica, non per questo riteniamo che il fiume sia un computer. Quindi posso creare sul computer un modello del comportamento della rana quando cattura un insetto, posso eseguirlo, posso generare sul computer i comportamenti della rana, ma non per questo credo che il funzionamento della rana sia identico al funzionamento del computer. La rana non è un computer, neanche il cervello della rana lo è, neanche il suo sistema nervoso centrale lo è. Quindi per me il computer non è un modello della mente, non è un modello dell’intelligenza, anzi è radicalmente diverso, è semplicemente uno strumento scientifico che utilizzo per indagare il funzionamento dell’intelligenza. Le funzioni che uso per simulare sono molto diverse dalla cosa che sto simulando, esattamente come l’esempio del computer e del fiume, nel computer non c’è acqua, il computer sta simulando le leggi della idrodinamica, ma non è un sistema idrico, c’è un profondo distacco tra le due cose. Fin qui in negativo. Adesso vorrei arrivare alla parte positiva, vedere come si può usare il computer per simulare un sistema intelligente. Vediamo. Quando creo un sistema intelligente ci sono molte cose diverse che devo modellare. Fondamentalmente sto modellando la vita di un organismo, o spesso di solito di una società di diversi organismi, o di un ecosistema di organismi diversi, sto modellando la vita di questi organismi in un certo ambiente. Quindi mi è necessario modellare da una parte la dinamica dell’organismo e dall’altra la dinamica dell’ambiente, perché nessun organismo vive al di fuori del suo ambiente. Qual è prima cosa che devo modellare? Prendiamo l’organismo stesso. Devo modellare l’apparato sensorio dell’organismo. Nell’intelligenza artificiale classica l’input è simbolico, questo significa che l’input è come se fosse delle parole, l’input può essere: vai a sinistra, vai a destra, sono stringhe di parole scritte, ma se ci pensate nessun organismo biologico nel mondo riceve come input solo parole, in realtà riceve suoni, quei suoni sono percepiti da un orecchio, da lì il cervello deve analizzare quei suoni, dividerli in fonemi, questo deve andare ad altre parti del cervello che decodificano il senso di quello che questi fonemi stanno dicendo. Prima che si arrivi ad una qualsivoglia rappresentazione simbolica c’è un enorme lavoro del cervello, che è la rappresentazione di questo input sensorio in simboli, ammesso che il cervello faccia questo. Quali sono i sensori che normalmente devo modellare? Quasi sempre devo modellare un sistema di visione. Non tutti gli organismi hanno la visione, ma moltissimi sì. Quindi devo pensare a come funziona la fisica della visione. Per esempio ho un cono sulla retina, qual è il suo campo visivo? Vede davanti a se un campo stretto o un campo largo? Qual è il grado di risoluzione che ha? Noi nel nostro sistema visivo abbiamo la fòvea, che è situata nella parte centrale della retina, e in questa area vediamo le cose con estrema precisione, ma molto 16 spesso un animale ha una risoluzione peggiore della nostra, o ci sono altri che hanno una risoluzione maggiore. A quali stimoli visivi il sistema visivo è sensibile? Vede i colori? È sensibile al moto? Se andiamo a studiare biologicamente i sensori degli animali scopriremo che a volte sono sensibili a frequenze diverse rispetto a noi, alcuni possono percepire microscopici movimenti che noi non percepiremmo, e così avanti. Scopriremo che spesso l’intelligenza non sta tanto nel cervello ma è nel sensore stesso. Per esempio: un collega che si chiama …, sta studiando il comportamento del grillo. Di grilli ne esistono diverse specie, ed ogni grillo maschio risponde solo al richiamo sessuale del grillo femmina della sua specie, non di altre specie. Come posso riprodurre questo al computer? Potrei fare un’immensa analisi per identificare il canto del grillo di una certa specie. I canti si differenziano fondamentalmente rispetto alla frequenza, alcuni sono più alti altri sono più bassi. Studi biologici dimostrano che questo non è necessario, di fatto, molto banalmente, l’orecchio del grillo non sente i canti di frequenza diversa rispetto alla frequenza utilizzata nei canti dei grilli della sua specie, semplicemente non vibra, entra in vibrazione solo quando c’è la risonanza a quella frequenza, banda di ricezione molto piccola. Questo studio dimostra che tutta una parte di intelligenza che dovrei programmare al computer non è necessaria perché non dipende dall’intelligenza bensì dal sensore. Arriviamo all’apparato motorio. Noi spesso quando facciamo robotica usiamo le ruote, diciamo il sistema ha due ruote, le facciamo andare più lentamente o più velocemente, però una delle cose che non è mai stata inventata dalla natura è la ruota. Con eccezione di un batterio molto strano non esistono in natura organismi con le ruote. Gli organismi in natura hanno peli, ma soprattutto hanno arti, hanno gambe, ed io devo modellare il comportamento degli arti, che può essere estremamente complesso, ed anche lì, come nel caso del sensore, proprio la struttura può essere molto utile per l’animale. Faccio un altro esempio: ho al computer una gamba che devo alzare e poi abbassare per camminare, come nel caso di un videogioco, allora cosa devo fare? Devo calcolare ad ogni secondo su quali coordinate mettere quel piede, prima in questo punto, poi in quest’altro, poi in quest’altro ancora, e così via. Questi sono calcoli matematici assolutamente non banali. Pensiamo adesso ad un robot che esiste nel mondo fisico, gli costruisco una gamba, per farla muovere in maniera adeguata gli dico piega qui, alzala, e poi l’unica cosa che devo programmare è di lasciarla andare. Nell’eseguire questo comando la gamba casca e visto che ha dei muscoli con una certa flessibilità la gamba cascherà fino a che il muscolo non è esteso, non oltre. Nella natura, nel mondo fisico, non devo calcolare dove mettere quella gamba, basta dire di farla cadere una volta raggiunto un certo punto, tutto il resto è fatto dalle leggi della fisica. Quindi spesso nel mio modello ci sono dei calcoli che non devo fare, che non sono necessari, anche lì la natura può aiutare tantissimo. 17 Terzo: devo modellare il sistema nervoso del mio organismo. Vedremo nella terza lezione come possiamo fare questo con le reti neurali. Quarta lezione vedremo come è possibile far evolvere le reti neurali dal nulla. Le facciamo evolvere proprio come evolve la genetica. Prima vedremo come crearle a mano, e questo è molto difficile, scopriremo poi che esistono dei modi automatici. Dobbiamo modellare un sistema nervoso che dato un certo input dell’apparato sensorio genera un certo output verso l’apparato motorio. Faccio tutto questo ma non basta, devo anche modellare l’ambiente. Pensiamo di nuovo al nostro esempio della rana. Quel comportamento che mostra la rana di catturare gli insetti dipende dalle caratteristiche dell’ambiente, cioè il suo cibo consiste in piccoli oggetti che volano attraverso il suo campo visivo, quindi devo creare un ambiente con certe regole, dove certe cose succedono, che sono simili a quelle che l’organismo incontra nella sua vita biologica. Quindi nel caso della rana dovrei modellare un ambiente in cui, con una certa probabilità, c’è cibo che attraversa il campo visivo della rana. Devo modellare la conformazione dell’ambiente e anche (proprio) la fisica dell’ambiente. Quali sono le regole? In questo ambiente le cose cascano se le faccio cadere. Chiaramente se sto modellando un ambiente terrestre lo modello con una certa fisica, se sto modellando un ambiente aereo la fisica cambia, se sto modellando un ambiente d'acqua la fisica cambia di nuovo. Quindi c’è una marea di modellazione che devo fare che non centra nulla con l’organismo stesso. Quando creiamo dei modelli semplifichiamo sempre. I nostri modelli non rappresentano ogni aspetto né dell’apparato sensorio, né dell’apparato motorio, né dell’apparato nervoso, e non modellano neanche ogni aspetto dell’ambiente. Ci possono essere aspetti che per me non hanno nessuna rilevanza, se sto modellando il comportamento di un insetto nel deserto forse la forme delle nuvole non devo modellarla perché non ha nessun influsso sul comportamento dell’insetto, ma devo identificare tutti quei fattori che ritengo siano importanti e inserirli nel mio modello, per cui creare questi modelli è un lavoro estremamente complesso ed è diventato possibile solo grazie alla potenza dei computer moderni, dove effettivamente è possibile fare questo tipo di cose. Quindi modellare l’intelligenza. Il computer serve per girare un modello. Il modello è un programma, il computer esegue le istruzioni del programma in una certa sequenza che dipende dalla logica del programma stesso. Però quando fa questo utilizza meccanismi che sono suoi propri, esso legge nella memoria, va a prendere una certa istruzione, la interpreta, opera sui dati, magari va a prendere un certo dato lo porta dentro il processor, lo manipola, magari ci aggiunge un altro dato, magari lo scrive in un’altra locazione di memoria, e poi prosegue ad un’altra istruzione. Tutto questo è solo una questione 18 meccanica, non ha nulla a che fare con il sistema modellato. Quindi il sistema che sto modellando non legge in memoria, non elabora il dato che sta leggendo dalla memoria, non lo scrive da nessuna parte, questa è solo la logica dello strumento ma non è la logica del sistema che sto modellando. Questo quindi mi porta a definire quello che posso chiamare l’approccio sintetico alla psicologia. Innanzi tutto quale è il nostro obiettivo. Noi vogliamo creare modelli di come funziona l’intelligenza, dei meccanismi che stanno dietro all’intelligenza. Noi vogliamo usare questi modelli per scoprire i veri meccanismi degli animali e degli esseri umani di produzione di comportamenti intelligenti. Vogliamo modellare come si acquisisce l’intelligenza, quindi quella che chiamiamo ontogenesi. Credo che la maggior parte di voi ha fatto psicologia dello sviluppo. L’intelligenza di un animale o di un bambino cresce attraverso distinti stadi, il bambino acquisisce nuovi comportamenti man mano che cresce, acquisisce nuove capacita cognitive man mano che cresce. Nei miei modelli voglio poter riprodurre i vari stadi dell’acquisizione dell’intelligenza. Quindi se per esempio sto studiando l’acquisizione del linguaggio, voglio creare dei modelli che riproducono passo passo gli stadi che vedo nel bambino, e se i bambini sono differenti tra di loro, se un bambino turco impara il linguaggio differentemente da un bambino italiano (così è empiricamente), voglio poter fare dei piccoli cambiamenti al modello, dove quasi tutto rimane uguale, perché un bambino turco ha un cervello uguale al vostro, ma genera comportamenti diversi, voglio dimostrare che questi sono dettagli e che il modello di fondo rimane uguale. Infine voglio modellare anche come si evolve l’intelligenza. Un assunto di base della nuova intelligenza artificiale è che la cognizione non è un possesso solo degli esseri umani, la cognizione inizia con i ragni, gli invertebrati, le lumache, e procede non sempre in modo lineare fino alla cognizione del ratto, del cane, dello scimpanzé, e dell’uomo, e non necessariamente quella dell’uomo e dello scimpanzé è superiore a quella del pesciolino o del piccione. Ci sono dei campi in cui la cognizione del piccione o del ragno è infinitamente superiore alla nostra, è vero che noi siamo molto superiori al ragno nell’acquisizione del linguaggio, ma ci sono dei campi dove esso è molto superiore a noi, come nella creazione di ragnatele. È un giudizio di valore dire che un tipo di cognizione è superiore alle altre, in realtà l’intelligenza è una capacità adattiva, e tutti gli animali che possiamo osservare sono stupendamente adattati all’ambiente dove vivono e ai problemi cognitivi che loro hanno nella loro vita. Se ad un pesciolino somministro un test di intelligenza umana prende pessimi risultati, ma se ad un uomo somministro un test di intelligenza progettato per pesciolini anche l’uomo prende pessimi risultati. Quindi voglio modellare come si evolve l’intelligenza. 19 Questi modelli li formulo innanzi tutto in termini linguistici e matematici, però l’obiettivo dell’approccio sintetico alla psicologia è di trasformarli in programmi per il computer e se è possibile (ultimamente) in robot, in vere e proprie macchine che girano in veri e propri ambienti fisici. Dopodiché vogliamo confrontare i comportamenti del programma o del robot con i comportamenti degli organismi biologici, confrontare le prestazioni, confrontare gli errori che fanno, e quindi di usare la nostra costruzione di programmi come uno strumento di indagine della realtà psicologica. A questo punto nelle prossime lezioni vedremo tante tecniche diverse per fare questo, ma vorrei occupare il resto della lezione di oggi per illustrare, un pò più in dettaglio, come può funzionare un modello del genere citando un esempio semplice semplice. Voglio introdurvi ai veicoli di Braitenberg. ( lettura consigliata al di fuori del programma: Veicoli. di Valerio Braitenberg Ed.Garzanti ) Braitenberg non ha mai costruito robot, non ha mai costruito una macchina, lui ha costruito quelli che si chiamano getangn esperiment, cioè esperimenti nella mente, i suoi veicoli sono cosi semplici che si possono immaginare senza nessun bisogno di costruirli. Cosa ha fatto lui? LUCIDO 33 ( Modulo 5 ) 20 Ha costruito una serie, a livelli crescenti di complessità, di piccoli robot immaginari che lui chiama veicoli. Oggi parlerò dei più semplici. Ogni robot ha 2 motori che controllano 2 ruote, a destra e a sinistra, quindi il robot è un cerchio con sotto 2 ruote. Se faccio andare la ruota sinistra più veloce di quella destra, che cosa succede al robot? Gira verso destra. Viceversa se faccio andare la ruota destra più veloce di quella sinistra gira verso sinistra. Se le 2 ruote girano alla stessa velocità il robot va dritto in avanti. A questo robot Braitenberg aggiunge dei sensori. Nelle prime versioni il robot ha un solo sensore che vede luce, ha un certo campo visivo né molto stretto né molto largo, e quando c’è luce questo sensore produce corrente elettrica. Più è forte la luce più corrente elettrica produce. Dopodiché Braitenberg crea delle connessioni di diverso tipo tra i sensori e i motori. Molto più avanti nel libro, oltre a dove arriverò oggi, Braitenberg crea anche dei robot capaci di navigare in un labirinto un po’ simile a quello di Tolman, purtroppo non ci riesce in labirinti come quello di Tolman, però in altri labirinti riescono a navigare , riescono a trovare il cibo. Per darvi un assaggio di questi robot vorrei descrivervi un paio di esempi. Allora, nel nostro primo esperimento l'ambiente è stupido. Ho un grande campo ed in questo metto una fonte di luce, che potrebbe essere cibo o un amico, non so, e qui mettiamo il robot. Il robot ha un sensore della luce qui, qui ha le ruote, il sensore manda corrente alle 2 ruote, cosa succede? Questo è il più semplice in assoluto, non cerca la luce. Se lo punto versa la luce, esso ci andrà diritto accelerando man mano che vi è più vicino. Se invece sposto la luce, questo poverino sta fermo e non va da nessuna parte. Quindi questo è un robot veramente stupido. Però potrei anche far sì che trovi la luce la. Potrei far sì che le ruote ricevano un piccolo impulso casuale, perché comunque qui c’è del rumore, rumore significa input casuali, cosa succederà? Il robot farà delle traiettorie casuali ed a un certo punto per caso si troverà orientato verso la luce, a quel punto esso andrà verso la luce con velocità crescente al diminuire della distanza. Quindi il comportamento di cercare la luce necessita solo di un po’ di rumore, cioè la casualità. Scopriamo subito un risultato: la casualità è molto importante per i comportamenti intelligenti, senza il rumore non vado lontano. Secondo: questo rumore da dove viene? In questo esempio ho messo il rumore dentro la macchina, ma questo non è per nulla necessario, lo posso togliere, basta far sì che questi motori comunque girino a velocità lenta anche in assenza di luce, questo è facile, e far sì che il terreno sia casuale, come un terreno un po’ collinoso, a questo punto il robot man mano che andrà avanti si troverà sempre con orientamenti diversi, e anche qui presto o tardi si troverà con il suo sensore puntato verso la luce e ci andrà. Quindi vediamo che a volte l’intelligenza può stare nella macchina, a volte 21 l’intelligenza può stare nell’ambiente, e questo è fondamentale, non tutto ciò che osserviamo dipende dall’intelligenza. Andiamo ora ad un altro esempio. Quando piove l’acqua che sta sul vetro di una finestra scende giù in gocce che percorrono i sentieri ottimali per scendere verso il basso. Un approccio naive potrebbe dire che quella goccia è intelligente e ragionando ha scelto il sentiero ottimale per scendere giù lungo vetro, non è vero nulla, è la semplice operazione delle leggi della fisica. Quando faccio un interazione tra le leggi della fisica ed un sistema intelligente posso produrre comportamenti molto più complessi di quello che uno penserebbe. Quindi una cosa fondamentale della nuova intelligenza artificiale è di sfruttare le leggi della fisica, sfruttare ciò che ci è dato dalla natura. Però dobbiamo ammettere che questo primo robot di Braitenberg scemo lo è, è proprio di pessimo livello, non ha neanche il più semplice meccanismo di retroazione, non è neanche un sistema cibernetico come quelli di cui abbiamo parlato prima, semplicemente vede la luce e se la vede accelera. Questo è un veicolo di Braitenberg di tipo 1. Passiamo a quelli di tipo 2, e questa volta facciamo un sistema che la luce la cerca davvero. LUCIDO 34 ( Modulo 5 ) 22 Metto di nuovo la mia fonte di luce, metto il mio animale, ma questa volta invece di 1 sensore gliene do 2, posizionati di lato, metto i 2 motori, e faccio i 2 collegamenti: collego il sensore del lato sinistro con il motore della ruota del lato destro e collego il sensore del lato destro con il motore della ruota del lato sinistro. Cosa osservo: se il sensore del lato sinistro fosse più illuminato il motore della ruota di destra darebbe più corrente facendo ruotare l’animale verso sinistra, in questo modo i due sensori si orienterebbero entrambi verso la luce e dando corrente entrambi allo stesso modo farebbero correre l’animale diritto verso il bersaglio. Adesso vorrei vedere la differenza tra questo comportamento qui, logico, e quello che vedremmo se tentassimo di realizzare questo con un robot vero, e vedremo delle interessantissime differenze. Se lo faccio al computer o se ragiono solo mentalmente quale sarà il suo comportamento? Il robot farebbe prima un aggiustamento della sua posizione per collimare con il bersaglio, la fonte di luce, poi ci andrebbe in linea retta, e tutto questo senza sbavature nelle traiettorie. Questo è quello che osserverei anche in una simulazione al computer piuttosto primitiva, ma di fatto, se creassi un robot che funziona realmente come un veicolo di Braitenberg non si comporterebbe così, perché? Perché esso troverà un terreno con diversi gradi di aderenza, a volte una ruota ha presa e gira, altre no, perciò gira casualmente senza averlo voluto, altre volte ancora troverà un’altra luce che lo disturba e quindi andrà nella direzione sbagliata. Il mondo reale è sempre rumoroso, non è mai chiaro, geometrico, puro. Quindi quello che di fatto osservo in un reale veicolo di Braitenberg è un percorso irregolare e sporco che va verso la luce. Allora lo psicologo guarda quel percorso e si domanda che tipo di meccanismo ci sarà, e chi sa che cosa si inventerà per spiegarlo. Invece io so, visto che lo costruito io che sono uno psicologo sintetico, so che in realtà questi risultati sono frutto di un’interazione assai semplice fra un meccanismo così stupido che può creare un bambino di 8 anni ed un terreno variamente scivoloso, e basta. Quindi posso creare una spiegazione assai complicata del comportamento di questo robot, ma di fatto il suo comportamento nasce da cose molto semplici. Andiamo avanti è vediamo altri fenomeni dello stesso tipo. A questo robot piace la luce, qualcheduno di voi è in grado di progettare un robot a cui la luce non piace per niente? Basta invertire i collegamenti tra sensori e motori. Se c’è più luce su un sensore il motore dello stesso lato riceve più corrente, quindi la ruota dello stesso lato gira più velocemente e fa girare il robot di spalle alla luce e lo fa allontanare da essa. Questo lo posso chiamare il robot timido e quello di prima lo posso chiamare il robot aggressivo. Adesso possiamo pensare anche a cose divertenti, possiamo pensare a degli esperimenti. 23 Nel mondo reale gli organismi non vivono mai da soli, vivono sempre in compagnia di altri. Immaginiamo che ho nello stesso ambiente robot timidi con una luce montata dietro e robot aggressivi anch’essi con una luce montata a bordo, e faccio in modo che abbiano un po’ di rumore, in modo da farli comunque girovagare per lo spazio. Questa semplice organizzazione produce comportamenti incredibilmente complessi. Ogni volta che i robot timidi vedono una luce scappano, e ogni volta che un robot aggressivo vede un robot timido lo rincorre perché vede la luce che hanno montato dietro. Se metto diversi robot aggressivi si formano i branchi, ma non solo, se un robot aggressivo finisce in un angolo, da solo non riesce ad uscirne, perché non gli ho dato nessun meccanismo che glielo permetta, ma ecco che un robot aggressivo vede la sua luce, gli va incontro, lo urta e lo butta fuori dall’angolo. Se una persona, che non conosce il meccanismo di funzionamento di questi robot, osservasse questo comportamento direbbe che questi robot hanno un comportamento sociale, di aiuto reciproco, per cui ogni volta che un robot aggressivo si trova in una posizione da cui non riesce ad uscire tutti gli altri robot aggressivi vanno ad aiutarlo, e anzi quando ce ne sono di più, dato che la luce è più forte, gli altri ci vanno ancora più volentieri fino a diventarne tanti che un urto non separa il blocco. Quindi io psicologo superficiale potrei dire che questi robot hanno evoluto sistemi di aiuto reciproco, importantissimi, che sono altruistici, e chi sa quant’altro ancora. In realtà è tutto dovuto a questo meccanismo stupidissimo che posso scrivere in un programma di 4 o 5 righe di programmazione. A questo punto distinguiamo due punti di vista che sono radicalmente diversi, e troviamo anche un metodo. Da un lato ho il punto di vista dell’osservatore: l’osservatore vede un comportamento e dice ammazza quanto è intelligente, ammazza quanto è complesso. Però dal punto di vista del modello è dovuto a semplici connessioni fra input e output, è dovuto a cose semplicissime. Allora, tesi della nuova intelligenza artificiale, (qui, nel lucido, l'ho messa in modo estremo, forse troppo estremo, ma) noi crediamo che gran parte dei meccanismi dell’intelligenza siano essenzialmente “semplici”, e questo vale per la rana, ma vale anche per gli esseri umani. Crediamo che spesso i modelli che vengono proposti dal cognitivismo o dall’intelligenza artificiale classica sono non parsimoniosi, e che è possibile spiegare gli stessi comportamenti con meccanismi molto più semplici. Questo è contro-intuitivo, ma tutta la scienza buona è contro-intuitiva, e non vogliamo per questo scadere nel comportamentismo, non crediamo che tutto sia dovuto a semplici riflessi. Quello che crediamo è grosso modo questo, ma questo non è un fatto della scienza, è una nostra sfida, noi crediamo di poter spiegare le cose così. Inizio da un comportamento molto semplice, 24 come ad esempio un robot che cammina casualmente senza sapere dove va, l’evoluzione crea questo comportamento, lo stabilisce e lo lascia là, e questo viene ereditato in tutte le specie che discendono da questo organismo, per tutto il resto della storia questo comportamento è stabile, è un modulo solido. A questo modulo posso aggiungere altri moduli, come per esempio un modulo che consente di andare a cercare cibo. Questo modulo lo aggiungo a quello precedente per cui non lo sostituisce, eventualmente lo controlla, può dire sospendi quel cercare casualmente che stavi facendo fino a quel momento e fai qualcos’altro. Una volta creato quello posso aggiungere altri moduli, ma la cosa fondamentale in termini evolutivi è che ad ogni passo dell’evoluzione l’organismo ha una serie di comportamenti che sono funzionali, che comunque gli consentono di essere funzionale ed autonomo nell’ambiente in cui sta vivendo. Quindi non è mai un passaggio da un sistema che non funziona, che come dicono è primitivo, ad un sistema avanzato. Ognuno di queste cose consente di vivere nell’ambiente in cui l’organismo è adattato, solo che in evoluzione è molto più facile aggiungere che non togliere. Se avessi un modulo per cercare casualmente sul terreno e lo togliessi, l’organismo non sarebbe più in grado di far nulla, l’organismo che avesse il suo genoma danneggiato, o il suo cervello danneggiato, in modo che quel modulo scomparisse perirebbe subito. Quindi vengono conservati per tutto il resto della storia dell’evoluzione. Aggiungere invece può essere relativamente facile. Ad esempio posso prendere un modulo esistente, posso duplicarlo, e poi posso cambiarne la funzione, e questo nell’evoluzione realmente succede. Posso darvi un esempio, ma che non c'entra niente con l’intelligenza. Noi nel genoma abbiamo diversi geni che codificano la produzione di emoglobina, che serve per portare l’ossigeno nel sangue. Animali più primitivi di noi hanno un solo gene per la produzione di emoglobina. Nel corso dell’evoluzione dei vertebrati questi geni si sono duplicati, ed adesso i mammiferi ne hanno 4 o 5, che servono nelle diverse fasi dello sviluppo, dell’ontogenesi, e con diverse funzioni. Il bambino non utilizza la stessa emoglobina che utilizza un adulto. Quindi questa duplicazione di funzione, creazione di piccoli moduli, ha consentito un comportamento che è più complesso. Noi crediamo che questo, che è vero a livello biologico, perché è vero con l’emoglobina, ma lo è anche con tanti altri geni, è vero anche al livello del comportamento. L’evoluzione è passata per tutta una serie di passi costruendo cose complesse sulla base di cose più semplici, e noi aggiungiamo una cosa dopo l’altra. Quindi questo significa che noi abbiamo una visione modulare dell’intelligenza. L’intelligenza è fatta da tanti piccoli moduli che si controllano a vicenda e si sommano a vicenda, per fare quello che noi da osservatori esterni vediamo come comportamento intelligente. 25 Allora come vedremo nella prossima lezione anche l’intelligenza artificiale classica crede che l’intelligenza sia fatta di moduli, però vede moduli molto diversi dai nostri. Noi vediamo moduli come tanti comportamenti elementari che si sommano, tipo comportamento di andare in giro casualmente, comportamento di andare verso la luce, comportamento di cercare cibo, e così avanti. Nell’intelligenza artificiale classica, invece, le cose si dividono in forme logiche, per esempio nella produzione e comprensione del linguaggio loro dicono che c’è un grande modulo che produce linguaggio e c’è un grande modulo che comprende il linguaggio. Questo per noi non è comprensibile, perché? Perché se dico che tutto è costruito evolutivamente sulla base degli animali, questo significherebbe che ad un certo momento è comparso questo enorme modulo del linguaggio dal nulla, e noi abbiamo grande difficoltà a credere, sulla base delle conoscenze biologiche, in questo. Probabilmente c’era una qualche capacità cognitiva già in animali diversi dall’uomo a cui si è aggiunto qualcosa in più che ha consentito l’emergere del linguaggio. Quello che bisogna notare, e che abbiamo visto con i nostri robot, è che l’apparente complessità del comportamento non comporta necessariamente una complessità del meccanismo. Quando noi abbiamo visto i robot che si aiutavano a vicenda poteva sembare un comportamento sociale assai complesso, così come la sintassi della lingua italiana o della lingua inglese o ancora di quella cinese sembra una cosa assai complessa, ma nel caso del comportamento sociale del robot il meccanismo sottostante era elementarissimo. La nostra scommessa, non l’abbiamo ancora vinta, è che anche altri comportamenti come quelli linguistici possano essere spiegati in base a cose semplici. Questo è l’odiato riduzionismo. In certo senso siamo riduzionisti, però crediamo che quello che conta non sono i singoli componenti, non vogliamo spiegare solo i singoli comportamenti, per noi quello che conta è l’interazione complessa tra tanti comportamenti semplici. Questo invece non è per niente riduzionismo, senza l’interazione non ho nulla. Questo è quello che ho pensato di raccontarvi in questa lezione. Nella prossima settimana vedremo l’approccio razionalistico, torneremo sull’intelligenza artificiale classica, vedremo più in dettaglio i modelli che ha proposto. Vedremo che alcuni di questi ci danno anche dei contributi per l’intelligenza artificiale nuova. Poi nella terza lezione parleremo di reti neurali, vedremo modelli nostri molto più complessi dei modelli di Braitenberg, che permettono di riprodurre alcuni comportamenti o forme di cognizione che possiamo osservare negli animali o negli uomini. Andremo avanti a vedere gli algoritmi evolutivi, vedremo come si evolve l’intelligenza. Andremo avanti a vedere come queste due cose si fondono per creare singoli organismi intelligenti più complessi. Vedremo come possiamo creare realmente questi organismi attraverso i robot, quindi come possiamo avere intelligenza con il corpo. Andremo avanti ancora e 26 vedremo come è possibile crearne diversi di questi organismi che vivono in società, che hanno interazioni sociali tra di loro. Vedremo poi alcune sfide che ci sono, oggi pur potendo creare delle società siamo riusciti a fare solo forme molto semplici di intelligenza. Esamineremo quella che io chiamo la sfida della complessità, come possiamo andare avanti a creare intelligenza vera, un’intelligenza che voi riconoscereste come tale. Nell’ultima lezione, che sarà l’ottava, parleremo di alcuni problemi filosofici dell’intelligenza. Parleremo di cose come il libero arbitrio, come la coscienza, come il dolore, come l’inconscio e il conscio. Sono problemi che voi avete già incontrato nei vostri precedenti studi filosofici oppure psicologici. Per parlare di queste cose in un’ottica che per voi è completamente nuova utilizzeremo gli strumenti tecnici che avremo visto nelle prime 5 lezioni. Vorrei affrontare brevemente ora la questione dei livelli di analisi, che è fuori programma, ma la presenza di studenti con interessi psicoanalitici mi spinge a parlarne, perché vorrei tentare di inquadrare quello che faremo in questo corso in modo che per loro sia da un lato comprensibile ma che dall’altro lato sia anche accettabile. Questo perché penso che non ci sia un conflitto di fondo tra questo tipo di analisi e quello che voi chiamate analisi ma con tutto un altro significato. Quando noi studiamo un qualunque livello scientifico esistono diversi livelli di spiegazione. Parliamo adesso della cognizione. Posso descrivere un comportamento cognitivo in termini quantistici. Ci sono elettroni che girano intorno ad atomi secondo delle equazioni e si comportano in un certo modo all’interno del cervello. Per descrivere il comportamento in questi termini avrei bisogno per un microsecondo di comportamento di equazioni che riempirebbero questa intera università. Di fatto non riuscirei mai a farlo, è un progetto teoricamente possibile, ma praticamente del tutto inutile. Noi crediamo che questo livello di descrizione è radicalmente inutile. Cambio mestiere non sono più un fisico ma sono un medico. Posso prendere quello stesso comportamento è descriverlo nei termini della chimica e della fisiologia dei neuroni. Ogni volta che un neurone spara un impulso ci sono delle reazioni chimiche che avvengono nelle sinapsi, ci sono canali che si aprono e ioni che passano dalla parte pre-sinaptica alla parte post-sinaptica, la conduzione elettrica che cambia, riassorbimento di neurotrasmettitori, ecc, ecc. Anche questa è assolutamente valida come spiegazione e serve ai fini del medico. Ci sono delle malattie dovute al malfunzionamento di queste malattie. Se sono un medico e sto cercando una molecola per attaccare una determinata malattia devo utilizzare questo livello di descrizione. Adesso sono un neurologo, e posso andare a studiare diverse zone del cervello. Posso studiare l’architettura neuronale del cervello. Per esempio ci sono due studiosi Hubel e Wiesel, che hanno scritto un bellissimo libro sulla visione, che hanno analizzato esattamente i circuiti che il gatto utilizza nella visione di un oggetto, non arrivano fino all’analisi dell’oggetto stesso, ma si vede 27 come passo dopo passo si arriva ad identificare certi oggetti che compaiono sulla retina. Se voglio studiare i primi stadi della visione questo è il livello giusto della visione. Vado avanti nell’analisi, ed il neurologo con le tecniche moderne di imaging del cervello può identificare zone di 2-3 o 4 millimetri nel cervello che hanno una certa funzione. Con la risonanza magnetica posso vedere quali pezzi del cervello si accendono quando sto facendo un certo atto di cognizione e posso vedere che certe parti del cervello sono utilizzate in un certo momento e certe altre no. Posso anche studiare persone con lesioni e vedere cosa succede quando una certa parte del cervello è lesionata. Adesso sono un analista e prendo una persona, la stendo sul divano, e faccio l’analisi. Questa persona fa le libere associazioni, mi racconta dei suoi sogni, fa dei lapsus, e si arriva un certo quadro della sua personalità, del suo passato, del modo in cui questa persona ragiona. Allora quello che è fondamentale, secondo me, è rendersi conto che non è che una di queste spiegazioni è privilegiata rispetto alle altre. Tutte queste spiegazioni se sono vere sono altrettanto valide, ma ogni spiegazione risponde ad una certa domanda scientifica, e le domande scientifiche che si pongono sono diverse. Quando parlo a livello di quanti sto rispondendo a problemi di fisica, quando parlo a livello della dinamica del singolo neurone sto rispondendo a problemi di fisiologia, quando parlo al livello dell’architettura dei neuroni sto cercando di fare macchine che riproducano un certo comportamento. Se sto trattando di comportamento di navigazione sono abbastanza pronto a scommettere che il livello dei neuroni è quello giusto, ma se sto parlando del cattivo rapporto che hai con tua figlia credo che probabilmente ho grandi problemi a spiegare questo a livello di neuroni. Esisterebbe una spiegazione neuronale ma non sarebbe parsimoniosa, sarebbe troppo lunga e troppo dettagliata, sarebbe come se volessimo spiegare le cose utilizzando i quanti, sarebbe teoricamente possibile ma non utile. La scelta del livello di spiegazione è pragmatica, dipende dalle domande che mi sto ponendo. Se mi sto ponendo il problema di una persona che ha un disturbo devo scegliere il livello giusto di analisi. Allora arrivo a tutti i problemi di mente e corpo e ci possono essere diversi livelli di analisi che sono giusti. Do un esempio: in America vanno molto di moda oggi i problemi che si chiamano di personalità multipla. Ci sono delle persone che si autoproclamano multipli, che dicono di essere Giovanni un giorno, Paolo un altro giorno, e Giovanni un altro giorno. Queste personalità non comunicano tra di loro, e ognuno ha una sua storia, ecc. Facendo un esame di risonanza magnetica si è scoperto che in questi soggetti una certa area del cervello è più piccola della norma, e si sa che questa cosa può accadere in conseguenza ad un elevato stress durante l’infanzia, queste persone quasi sempre hanno subìto gravi molestie per lunghi periodi della loro infanzia. Quindi in questo caso ho 2 livelli di spiegazione: una spiegazione neuroanatomica, infatti è assolutamente vero che la cosa di cui stanno soffrendo è dovuta a un cambiamento fisico del loro cervello che sta producendo un cambiamento del comportamento, ma 28 questo cambiamento del cervello non è dovuto alla genetica, è dovuto a una pregressa esperienza che ha avuto un effetto fisico sul cervello, e questo è il secondo livello di spiegazione. Per cui posso dare una spiegazione di questa cosa sia in termini di cervello sia in termini di esperienze fatte da queste persone, e queste due spiegazioni non sono in concorrenza tra di loro, sono entrambe altrettanto valide, ed il cervello è stato il meccanismo di mediazione che ha portato dall’esperienza fino a questa patologia. A livello di terapia posso intervenire su entrambi i fronti o magari in modo misto. Posso in alcuni casi agire organicamente sul cervello anche se quel cambiamento del cervello è dovuto a fattori puramente psicologici, ed idem, posso prendere lesioni assolutamente organiche che possono beneficiare di una psicoterapia, perché comunque quella cosa è modificabile attraverso l’esperienza. Quindi non è che una di queste cose è vera e l’altra è falsa, sono livelli di spiegazione diversi che posso combinare pragmaticamente per arrivare ad un certo risultato, o almeno questo è quello che molti di noi sostengono. In queste lezioni vedremo molto il livello neuronale, il livello evolutivo, il livello di moduli di neuroni e vedremo poco il livello alto che voi studiate per fare analisi, ma non per questo noi sosteniamo che il nostro livello è vero, che la realtà è la nostra e quella dell’analisi è una realtà inventata, ma è una questione del punto di vista dell’osservatore e dei risultati che vogliamo raggiungere, ed il nostro risultato è di fare delle macchine che fanno delle cose e per questo forse il livello alto non è quello adatto, ma non per questo è meno vero. 29