La Mente Artificiale
Transcript
La Mente Artificiale
La Mente Artificiale di Piero Scaruffi Introduzione Teorie della Mente e della Computazione La Conoscenza L'Inferenza La Percezione L'Apprendimento Conclusione Introduzione Obiettivo di quest'opera e' di riassumere le idee che costituiscono il programma e il dibattito dell'Intelligenza Artificiale collocandole al tempo stesso sullo sfondo dei programmi e dei dibattiti delle altre discipline scientifiche. Ciascuna ha infatti contribuito teorie, idee e dati all'ambiziosa impresa di costruire macchine intelligenti, e ciascuna ha soprattutto contibuito a costruire la cultura della nostra epoca, della quale il mito della macchina intelligente e' parte integrante. La selezione delle teorie da presentare e' stata compiuta unicamente "a posteriori": nella stesura dell'opera si e' proceduto cioe' a ritroso, risalendo dal fenomeno computazionale alle sue basi teoriche e sperimentali, e poi, ricorsivamente, alle teorie che erano alla base di queste teorie. Non stupisca, pertanto, che il libro spazi dalla Linguistica alla Logica. E non stupisca il fatto che Kant, Hegel, Freud vengano appena citati, mentre, per esempio, Leibniz, Hume e Descartes compaiono in piu' punti: diversa e' stata la loro fortuna nell'era della "computazione". Al tempo stesso ci e' parso rilevante ai fini del "racconto" lambire le teorie che hanno impresso svolte significative al pensiero scientifico moderno, dalla Biologia ai Frattali. L'Intelligenza Artificiale e' sempre piu' un grande e caotico contenitore di idee provenienti dalle sorgenti piu' disparate. Nell'industria e' ormai diventata prassi di far precedere ad ogni documento un breve "management summary": i manager sono notoriamente tanto presi dalla quantita' e qualita' di decisioni da prendere che non troverebbero mai il tempo di leggere tutti i documenti importanti, per quanto siano importanti. Il management summary consente loro di catturare subito i contenuti essenziali del documento. Certi che la mancanza di tempo sia ormai una proprieta' anche del lettore piu' casuale, abbiamo preferito organizzare il materiale della prima parte in senso orizzontale, piuttosto che verticale, 1 componendo una vasta panoramica a 360 gradi che abbraccia il pensiero pre- o extrainformatico attraverso una serie di piccole introduzioni alle varie discipline. Durante questo vasto excursus all'interno del sapere umano vengono affrontati in maniera naturale i temi che sono propedeutici all'Intelligenza Artificiale. Nella seconda parte si incontrano le due linee evolutive che hanno caratterizzato la prima parte: da un lato quella che ha portato alla nascita di discipline sempre piu' esatte per lo studio dei fenomeni mentali, e dall'altro quella che ha portato alla costruzione di macchine in grado di compiere ragionamenti. Questa seconda parte e' organizzata invece in maniera verticale, lungo le direttive di conoscenza, inferenza, percezione e apprendimento, e si propone di illustrare come quei fenomeni mentali possano essere trasformati in fenomeni computazionali. Gli ultimi due secoli hanno segnato una costante progressione nello studio della struttura fisiologica del cervello, delle funzioni cognitive della mente e del comportamento ambientale degli organismi. In epoca recente il computer ha costituito un elemento rivoluzionario nell'ambito di questo progresso. Come l'avvento del motore a vapore forni' la macchina che poteva automatizzare il lavoro manuale, cosi' l'avvento del computer ha fornito la macchina con cui tentare di automatizzare l'attivita' mentale. L'"intelligenza artificiale" ha smesso di essere un mito ed e' diventata una disciplina pratica. Al tempo stesso le diverse discipline che avevano contribuito nei secoli allo sviluppo delle varie teorie sulla mente, sul cervello e sugli organismi hanno finito per trovare un punto di convergenza insospettato nel momento in cui il programma dell'Intelligenza Artificiale ha dovuto far ricorso a idee, principi e teorie di tutte per realizzare il proprio ambizioso obiettivo di costruire la macchina "pensante". Il caotico e frenetico sviluppo di questa nuova disciplina e' dovuto proprio alla possibilita' di reperire e assimilare una quantita' vastissima di teorie sviluppate nell'arco dei secoli da pensatori e scienziati di tutte quelle discipline. Tutto cio' che era stato originariamente studiato all'interno di un certo paradigma puo' essere reinterpretato e ri-formalizzato all'interno del paradigma del computer e diventare automaticamente parte integrante della nuova disciplina dell'intelligenza artificiale. 2 Se e' ancora ben lontana dall'aver raggiunto il proprio obiettivo, la disciplina dell'intelligenza artificiale puo' pero' gia' vantarsi di aver implicitamente proposto una "teoria unificata della mente", l'unificazione essendo dovuta appunto a quel paradigma del computer che viene assunto a base linguistica e sperimentale: una teoria di una certa disciplina diventa accessibile a tutte le altre discipline quando viene convertita nel linguaggio del computer; e il computer costituisce al tempo stesso il laboratorio di sperimentazione per convalidare una certa teoria. Un'avvertenza: tutte le teorie che vengono esposte sono state enormemente semplificate, anche a costo di introdurre qualche lieve discrepanza con le opere originali, e cio' per consentire la lettura del libro anche al lettore che non abbia un background filosofico, psicologico, neurobiologico, informatico, matematico, e cosi' via. Un'esposizione corretta avrebbe richiesto la discussione di una miriade di termini tecnici, dei quali abbiamo invece cercato di fare a meno il piu' possibile. Teorie della Mente e della Computazione Il Meccanicismo Nicolaj Kopernik e Galileo Galilei sono alla base di tutto il moderno pensiero scientifico. Il primo, confutando l'ipotesi geocentrica di Tolomeo, fece crollare il millenario castello della filosofia aristotelica e dimostro' che il senso comune e' spesso in contraddizione con la realta' del mondo. Il secondo scopri' come applicare il metodo astratto di Euclide a una disciplina che non era astratta come la Geometria, ma era invece pratica come la Fisica, postulando in tal modo che la natura sia interpretabile con leggi matematiche. Fu la logica conseguenza di tanta rivoluzione del pensiero se, verso la meta' del secolo diciasettesimo, Thomas Hobbes ipotizzo' che il pensiero umano consista di calcoli matematici che hanno come termini non soltanto "numeri" ma, piu' in generale, "simboli". La scienza moderna poggia su due assunti fondamentali che erano impliciti nel pensiero di Rene' Descartes: (1) la Matematica e' uno strumento astratto, che tratta le relazioni astratte che possono sussistere fra entita' astratte; e (2) ogni disciplina relativa a uno specifico lo dominio (per esempio la Fisica, che e' relativa al dominio degli oggetti) possa essere studiata identificando le entita' astratte della Matematica con le entita' concrete del suo dominio (per esempio, masse e moti) ed identificando le relazioni astratte della Matematica con le relazioni concrete del suo dominio (per esempio, quella fra massa e moto). In tal modo l'apparato logico e' lo stesso per tutte le discipline e puo' essere raffinato come una disciplina astratta a se' stante, mentre ogni disciplina pratica puo' concentrarsi nell'indagine sperimentale. Cio' che 3 Descartes aveva scoperto era la relazione fra il simbolo e cio' che il simbolo rappresenta. Non stupisce pertanto che il concetto moderno di "mente" nasca proprio con Descartes, il quale abbandona le tradizionali speculazioni metafisiche sull'anima per volgersi allo studio delle funzioni mentali. Descartes elimino' del tutto gli ultimi residui di animismo a favore di un modello di stretta interazione fra mente (rex cogitans) e corpo (rex extensa), tale per cui l'una determinava il comportamento dell'altro (tramite il sistema nervoso) e viceversa (tramite il sistema percettivo). Descartes accetto' inoltre i risultati della medicina, che tendevano a porre nel cervello il centro motore del corpo, e di conseguenza facevano del cervello la sede ideale della mente. In cio' dava ragione a Ippocrate, che per primo aveva eletto il cervello a sede dell'intelletto, e contraddiceva Aristotele, che vedeva nel cuore la sede naturale dei processi mentali. Aristotele, in compenso, aveva gia' fatto notare che di tutti gli animali l'uomo era quello che aveva il cervello piu' grosso in rapporto al corpo e in tal modo aveva "suggerito" ai posteri come dimostrare scientificamente la superiorita' dell'uomo sugli altri animali. Gli empiristi inglesi sostennero invece che il primato spettasse addirittura ai sensi perche' la conoscenza deriva soltanto dall'esperienza (John Locke) e l'esperienza e' soltanto percezione (George Berkeley) compresa la mente stessa (David Hume); inoltre i processi mentali sarebbero causati da associazioni di processi piu' elementari (David Hartley). La visione di Locke conteneva gia' in embrione tutte le conseguenze dell'empirismo: la mente inizialmente non possiede alcuna conoscenza; l'esperienza viene organizzata in associazioni via via piu' complesse che danno origine alla complessita' dei nostri pensieri. In Hume si coglie lo spirito dell'era di Isaac Newton, nella quale il calcolo matematico e' riuscito a spiegare le leggi della Natura sotto forma delle tre leggi della Meccanica: Hume e' infatti convinto che sia possibile formulare leggi meccaniche anche per la mente, in particolare leggi analoghe a quella dell'attrazione gravitazionale, che renderebbero conto anche del meccanismo delle associazioni. Il modello cognitivo derivato dagli empiristi e' pertanto puramente meccanicistico: le percezioni costruiscono i processi mentali tramite associazioni via via piu' complesse (James Mill). Il pensiero positivista portato in auge da Auguste Comte intorno al 1823, nemico della teologia e della metafisica e affascinato dalla civilta' industriale, conferi' invece un primato assoluto alla struttura del cervello, nella convinzione che anche i processi mentali fossero processi fisici. A rivedere l'empirismo inglese in termini positivisti fu John Stuart Mill, per il quale tutta la conoscenza umana (compresa quella logica) e' si' di natura empirica, ma il processo che presiede alla sua acquisizione e' quello 4 dell'induzione, giustificato dal fatto che la Natura presenta un'assoluta regolarita'. Per induzione si intende la possibilita' di derivare una legge universale da un certo numero di dati empirici. La Fisiologia L'evoluzione del pensiero scientifico aveva avuto come effetto indiretto quello di imporre, o anche solo rendere accettabile, un modello della mente umana che si era progressivamente emancipato da quello dell'"anima" e progressivamente avvicinato a quello della macchina. Intuitivamente gli stessi strumenti meccanici e le stesse tecniche matematiche che gli scienziati avevano escogitato per controllare la Natura potevano essere applicati anche ai processi mentali. Mancava pero' una scienza sperimentale analoga alla Fisica per il caso della mente, una Fisica che avesse per dominio non l'universo degli oggetti ma l'universo delle facolta' mentali. Non a caso il passo successivo nella comprensione dei fenomeni mentali venne compiuto dalla Fisiologia, fondata scientificamente da Johannes Muller a partire dal 1833. Grazie ad essa si pervenne a una comprensione piu' accurata dell'anatomia del cervello. Gli esperimenti di Franz Gall e poi di Paul Broca, per esempio, misero in luce che alcune funzioni mentali erano localizzate in parti limitate del cervello. Dopo che Theodor Schwann ebbe enunciato l'ipotesi che il cervello sia composto di cellule, il microscopio consenti' di osservare i singoli "neuroni" e di scoprire cosi' anche le "sinapsi" che li connettono. Nella seconda meta' del secolo i fisiologi adottarono alcune tecniche sperimentali (la rimozione di parti del cervello o la stimolazione elettrica della corteccia cerebrale) che fecero compiere rapidi progressi nella comprensione del funzionamento del cervello. Al tempo stesso Ernst Weber, Gustav Fechner e Hermann von Helmholtz misurarono quantita' relative a fenomeni mentali (rispettivamente: la percezione dei pesi, l'intensita' della sensazione in funzione dell'intensita' dello stimolo, la velocita' degli impulsi nervosi), iniziando in tal modo a trasformare lo studio della mente in una scienza matematica. Emil du Bois-Reymond dimostro' che gli impulsi nervosi sono trasmessi per via elettrica (1843) e chimica (1877), e Richard Caton (1875) scopri' che il cervello produce correnti elettriche, il principio che e' alla base dell'elettro-encefalogramma di Hans Berger (1929). In quegli anni (1867) Helmholtz propose la teoria della percezione che sarebbe rimasta in voga per almeno un secolo: (a) l'organismo e' isolato dal mondo esterno; (b) l'unico canale di comunicazione con il mondo esterno e' dato dai segnali nervosi; (c) i segnali nervosi non hanno in se' alcun significato; (d) il loro significato viene 5 appreso per induzione, esattamente come il linguaggio; (e) la percezione e' pertanto un fenomeno dovuto alla conoscenza. Helmholtz si rese soprattutto conto che la stragrande maggioranza dell'elaborazione delle percezioni viene compiuta dall'organismo in maniera inconscia: le nostre "aspettative" derformano i dati sensoriali finche' non viene trovato un compromesso fra cio' che i dati dicono e cio' che la mente si aspetta. L'aspettativa, o "vorstellung", ha origine dall'esperienza secondo un qualche processo evolutivo, ed e' tale vorstellung a guidare le "inferenze inconsce" che determinano le nostre percezioni. A partire da Francis Galton (1869) ebbe inizio la moderna "psicometria", che si proponeva di "misurare" l'intelligenza (per esempio, tramite i test ideati da Alfred Binet nel 1905). Il valore dell'intelligenza di un individuo veniva sostanzialmente riferito alla sua abilita' nel risolvere problemi sempre piu' complessi. Sia i neurofisiologi sia gli psicologi statistici misuravano una quantita' che assumevano essere invariante rispetto ai fattori ambientali (come il "fattore generale" introdotto da Charles Spearman nel 1923). Si veniva cosi' formando l'idea moderna di "intelligenza". Nel 1921 alla prima conferenza su tale soggetto nessuno degli scienziati che vi convennero seppe peraltro proporre una definizione convincente di cosa fosse l'"intelligenza" di cui essi dibattevano. Se per Colvin "intelligenza" era la capacita' di adattarsi all'ambiente, se per Henmon era equivalente a "conoscenza", per Dearborn era la capacita' di imparare dall'esperienza e per Woodrow era tout court la capacita' di aumentare le proprie capacita'. La Cibernetica A formalizzare il concetto di "scienza naturale" fu Isaac Newton nei "Philosophiae Naturalis Principia Mathematica" del 1687. Le scienze naturali studiano i fenomeni della Natura tentando di ricondurne l'apparente complessita' all'elegante semplicita' di un insieme di "leggi della Natura". La Matematica viene intesa, d'accordo con Descartes, come il linguaggio tramite il quale e' possibile esprimere tali leggi. Scienze naturali, oltre la Fisica, sono anche la Chimica, la Biologia, la Fisiologia, la stessa Psicologia. Nonostante l'interesse generato per la macchina gia' alla fine del secolo scorso, fu soltanto negli anni Quaranta che si fece largo l'idea di una "scienza dell'artificiale", intendendo per "artificiale", in opposizione a "naturale", cio' che viene prodotto dell'uomo invece che della Natura. L'artificiale viene normalmente costruito utilizzando le leggi della Natura scoperte dalle scienze naturali, e pertanto si riferisce sempre, esplicitamente o implicitamente, a modelli naturali (alla caduta di un sasso, alla spinta di un fiume, al calore del fuoco, e cosi' via). Il fascino dell'"artificiale" e' pero' duplice: da un lato, per quanto si avvicino ai modelli della Natura, i prodotti dell'uomo non riescono mai a imitarli completamente, lasciando intuire una 6 fondamentale inadeguatezza del programma scientifico; dall'altro costituiscono degli strumenti molto piu' utili dei loro modelli naturali, perche' e' ben definita la loro "funzione" (il loro comportamento puo' essere descritto in termini di comandi a cui sanno reagire). Al crescere della complessita' delle macchine (e del loro grado di autonomia) si venne sempre piu' raffinando la discussione su questi aspetti dell'"artificiale", fino a far intuire la possibilita' di poter istituire, accanto alle scienze del naturale, anche le scienze dell'artificiale. La prima scienza dell'artificiale fu forse la Cibernetica. Essa venne fondata da Norbert Wiener nel 1947 con l'obiettivo di studiare i concetti di "controllo" e di "comunicazione" che sono alla base del comportamento tanto degli animali quanto delle macchine. Che l'uomo fosse una macchina era gia' stato ipotizzato da Democrito e asserito compiutamente nel 1748 da Julien LaMettrie (che scrisse forse il primo trattato in merito), ma Wiener fu il primo a formalizzare la teoria dell'"uomoautoma". Il precursore delle idee di Wiener era stato semmai Kenneth Craik. Nel 1943 questi aveva sviluppato una teoria secondo la quale il cervello umano opererebbe in modo simile a quello delle macchine. In particolare i meccanismi del cervello sarebbero in grado di costruire modelli interni del mondo e l'azione verrebbe prodotta elaborando tali rappresentazioni interne. Nella visione "funzionalista" di Craik i fenomeni mentali dipenderebbero non dalla struttura del cervello, ma dal modo in cui esso e' funzionalmente organizzato. Il modello di Craik costituiva un significativo passo avanti rispetto alla tradizione cartesiana: l'automa cartesiano era un organismo in grado unicamente di rispondere con delle azioni meccaniche a certi stimoli esterni (batteri e protozoi sono esempi di automi cartesiani); l'automa craikiano trasformava invece gli stimoli esterni in una rappresentazione del mondo, rifletteva su tale rappresentazione e poi produceva l'azione (gli insetti sono esempi di automi craikiani). Nel modello di Craik la conoscenza era una rappresentazione di simboli e l'inferenza era una manipolazione di simboli. L'eredita' piu' importante lasciata dalla cibernetica furono alcuni concetti che avrebbero trovato un utile impiego in diverse altre discipline. Il primo e' quello di "feedback", che e' il cuore dell'intera cibernetica: il feedback e' il fenomeno per cui l'output di un organismo viene restituito in input all'organismo stesso. E' il feedback che consente l'"omeostasi", il fenomeno per cui un organismo tende a compensare le variazioni nell'ambiente esterno per mantenere una propria stabilita' interna, un concetto introdotto nel 1932 dal fisiologo Walter Cannon a proposito della regolazione della temperatura da parte del corpo umano ma che vale anche per i comuni termostati dei sistemi di riscaldamento che mantengono costante la 7 temperatura di una stanza. E' il feedback, in altre parole, che presiede ai fenomeni di adattamento dell'organismo all'ambiente. Per esempio, quando vogliamo afferrare un oggetto che si sta muovendo in maniera casuale (come una foglia che cade) dobbiamo continuamente ricalibrare la mira per tener conto della sua reale posizione. Se ci limitassimo a calcolare una traiettoria probabile e il corrispondente movimento del braccio necessario per afferrare l'oggetto, difficilmente riusciremmo nell'impresa. Al tempo stesso troppo feedback renderebbe estremamente lento il movimento, tanto che spesso (come nel caso della foglia) non riusciremmo a compiere il movimento prima che l'oggetto si allontani troppo. Il feedback e' pertanto fondamentale per controllare un organismo, ma va a sua volta controllato. Il feedback e' un processo adattativo e puo' rendere conto dell'intenzionalita' dell'organismo. Affine a quella di feedback sono anche le idee di ricorsivita', auto-referenza e autologia che hanno a che vedere con sistemi in grado di operare su se stessi. Tramite concetti di questo genere la cibernetica tentava di fornire una descrizione unica delle proprieta' di tutti i tipi di organismi, sia biologici sia meccanici. Il fascino del feedback derivava proprio dal suo utilizzo in macchine come i motori a vapore di James Watt, che erano in grado di controllare se stesse. Era stato Charles Bell, nel 1828, il primo a paragonare il corpo umano a una macchina (a un sistema idraulico, per l'esattezza). Nel 1877 Eduard Pfluger aveva concepito una teoria "teleologica" della natura secondo la quale ogni processo che abbia un fine tende ad utilizzare il meccanismo del feedback per stabilizzare il proprio output. Due anni dopo Felix Lincke diede la prima teoria unificata del feedback, capace di spiegare tanto il funzionamento di un organo anatomico quanto quello di un apparecchio meccanico. Attraverso le analisi di Ross Ashby (1956) e altri il concetto di feedback avrebbe portato al programma della cibernetica moderna: inventare un sistema autoorganizzantesi; dove per sistema auto-organizzantesi si intende un insieme (presumibilmente grande) di unita' elementari (presumibilmente molto simili fra di loro) dotato di una struttura (presumibilmente molto complessa) in grado di adattarsi all'ambiente e pertanto di evolversi autonomamente. Un tale sistema avrebbe esibito un comportamento intelligente. La cibernetica ridefini' numerosi termini d'uso comune adattandone o estendendone il significato in accordo con la tecnologia moderna. Per esempio, il "rumore" in cibernetica sta ad indicare una qualsiasi perdita di informazione durante una 8 trasmissione. Il rumore e' tanto piu' forte quanto piu' il segnale e' disturbato. "Rumore", per esempio, e' anche l'imperfezione di una fotografia: la fotografia costituisce una trasmissione di informazione (da chi ha scattato la fotografia a chi la guarda) e una sua imperfezione fa perdere informazione. Un'altra idea cruciale divulgata dalla cibernetica fu la differenza fra un apparecchio analogico e un apparecchio digitale. L'analogico e' in grado di trattare quantita' continue, come il termometro che misura la temperatura, mentre il digitale tratta soltanto quantita' discrete, come le lancette dell'orologio che si muovono a scatti e non possono misurare nulla di piu' piccolo del secondo. Per estensione possiamo dire che l'alfabeto e' digitale, mentre l'insieme dei numeri reali e' analogico. Il successo del "digitale" nella societa' tecnologica e' dovuto ad una diversa concezione di precisione che si applica agli strumenti digitali e a quelli analogici. Un termometro misura la temperatura con un certo margine di errore, che puo' essere piccolo a piacere, mentre un orologio o e' esatto o sbaglia di almeno un secondo. Un orologio non puo' sbagliare di mezzo secondo, o di un decimo di secondo, per la semplice ragione che non e' in grado di misurare quantita' cosi' piccole. Questa apparente limitazione si traduce in un enorme vantaggio: se gli unici stati possibili sono zero e uno, lo strumento analogico non misurera' mai ne' l'uno ne' l'altro (dara' sempre risultati che sono o molto vicini allo zero o molto vicini all'uno, ma sempre con qualche margine di errore), mentre quello digitale misurera' sempre e soltanto o zero o uno, non essendo costituzionalmente in grado di misurare altro. La crescente necessita' di precisione ha fatto si' che il "digitale" diventasse sempre piu' preminente. Qualunque forma di calcolo meccanico, anche fra numeri reali, si basa sul principio di convertire innanzitutto i numeri in quantita' digitali (per esempio trasformandone il valore in base due ed esprimendo poi tale valore come una sequenza di zeri e uni). La prima applicazione pratica di questa idea fu l'alfabeto Morse impiegato dai telegrafisti di tutto il mondo. L'altra ovvia applicazione sono i computer cosi' come li conosciamo. In effetti e' possibile costruire computer analogici. Carver Mead sta studiando architetture in cui i transistor operano su quantita' continue, ovvero circuiti elettrici in cui il valore della tensione e' il valore rappresentato. I problemi che deve affrontare sono pero' di duplice natura. Da un lato la precisione puo' essere ottenuta soltanto ricorrendo a componenti elettronici sempre piu' precisi, e pertanto sempre piu' costosi, mentre nei comuni computer digitali la precisione viene ottenuta semplicemente aggiungendo cifre binarie, ovvero componenti imprecisi ed economici; e comunque non esistono componenti perfetti, ovvero senza margini di errore. Dall'altro lato quantita' continue come la tensione non sono stabili ma tendono a deteriorarsi nel tempo e pertanto e' difficile costruire una "memoria" di esse, mentre nei comuni computer tale instabilita' non incide per nulla (l'instabilita' che farebbe passare dallo stato corrispondente alla cifra uno allo stato della cifra zero e' praticamente impossibile, o richiede comunque 9 un periodo quasi infinito di continuo deterioramento o qualche evento catastrofico come una tempesta magnetica). I processi della cibernetica fanno spesso riferimento al concetto di "algoritmo". Ogni processo meccanico puo' essere interpretato come una serie di "istruzioni" (di azioni primitive) impartite alla macchina. I complessi ingranaggi di un orologio non fanno che eseguire una complessa serie di istruzioni per calcolare il tempo. Il matematico che dimostra un teorema non fa che eseguire una serie di istruzioni per pervenire alla dimostrazione. Una sequenza finita di istruzioni viene detta "algoritmo". La nozione di algoritmo contiene in se' quella di digitale: la sequenza di istruzioni e' infatti un modo per ridurre in formato digitale il comportamento di un organismo analogico. L'orologio e' la versione digitale di una meridiana: la meridiana rappresenta il tempo in maniera continua, mentre l'orologio avanza di secondo in secondo. Un algoritmo per lavare la propria automobile, per esempio, rende discrete azioni che in realta' vengono compiute in maniera continua: 1. Tira fuori l'auto dal garage; 2. Apri il rubinetto della pompa; 3. Insapona l'auto; 4. Strofina l'auto; 5. Dirigi il flusso dell'acqua verso l'auto; e cosi' via. Un algoritmo molto complesso eseguito in maniera molto rapida puo' dare l'impressione del "continuo": il lettore di dischi digitali emette suoni che appaiono continui all'orecchio umano, benche' non lo siano. Non solo sembrano a tutti gli effetti suoni analogici, ma hanno la precisione del digitale: il "rumore" (le imperfezioni) dei dischi analogici non esiste piu'. Legato a quello di algoritmo e' il nuovo significato del termine "automa": non piu' un meccanismo antropomorfo, ma semplicemente un meccanismo, concreto o astratto, in grado di eseguire un algoritmo. I progressi dell'elettromagnetismo e della trasmissione senza fili diedero ulteriore impulso alla cibernetica. Emerse cosi' un concetto destinato ad esercitare un'enorme influenza sul pensiero contemporaneo, quello di "informazione": se la Relativita' e la Meccanica Quantistica avevano conferito preminenza all'energia, causando indirettamente un'infiltrazione del termine in tutte le altre discipline, la cibernetica ebbe l'effetto di diffondere invece il termine "informazione" nella cultura contemporanea, e non sono poche le teorie che da allora ad oggi hanno abbandonato un paradigma fondato sull'energia a favore di uno fondato sull'informazione. La teoria dell'informazione venne fondata da Claude Shannon (1949) per fornire una teoria matematica del deteriorarsi dell'informazione durante una trasmissione. Il suo modello generale era quello in cui due agenti si scambiano dell'informazione: il 10 primo lo codifica per trasmetterlo sotto forma di segnali elettrici e l'altro lo decodifica per riportarlo al formato originario. Il problema sorge a causa dei dei disturbi (del "rumore") che interviene durante la trasmissione e che pertanto altera il codice trasmesso. Il concetto piu' importante introdotto da Shannon fu quello di "bit", l'unita' fondamentale di rappresentazione e trasmissione dell'informazione, che puo' trovarsi soltanto in due stati (analoghi allo zero e all'uno, al si' e al no, al piu' e al meno). Una qualsiasi informazione, per quanto complessa, puo' sempre essere codificata in una stringa di bit. In tal modo Shannon illustro' anche come si potesse rappresentare l'algebra booleana degli zeri e degli uni mediante circuiti elettrici e interruttori. Shannon introdusse anche un'importante analogia con la Fisica. Secondo il secondo principio della Termodinamica un sistema fisico isolato tende a massimizzare l'entropia, la quale e' una misura della distribuzione cauale degli atomi. La "casualita'" viene espressa matematicamente come la distribuzione delle probabilita' che gli atomi occupino gli stati possibili del sistema: massimizzare l'entropia significa rendere tale distribuzione la piu' omogenea possibile. Shannon osservo' che l'entropia e' anche una misura della mancanza di informazione, e infatti una distribuzione e' tanto meno informativa quanto piu' e' omogenea. L'Informatica Obiettivo dell'Intelligenza Artificiale e' di costruire una macchina che esibisca un comportamento "intelligente". Per qualificare meglio la definizione di Intelligenza Artificiale e` indispensabile fornire una definizione operazionale (verificabile nella pratica) di "intelligente". Per superare l'impasse dei fisiologi e degli psicologi, nel 1950 Turing ipotizzo' un famoso "test" per stabilire quando una macchina possa dirsi "intelligente": sostanzialmente una macchina si potrebbe dire "intelligente" quando non sia piu' possibile distinguerne il comportamento da quello di un essere umano. Benche' il test di Turing sia stato oggetto nel corso degli anni di critiche e paradossi, esso ispira tuttora il paradigma dell'Intelligenza Artificiale. E' comunque intuitivo cosa si debba intendere per "intelligente". E' intelligente chi comprenda un discorso in italiano, chi riesca a capire la trama di un film, chi esegua conti rapidamente, chi sappia guidare nel traffico di una grande citta', chi svolga un qualsiasi lavoro non ripetitivo. Sono tutte attivita' che abbiamo ragione di ritenere repertorio esclusivo degli umani. E' meno ovvio decidere se "intelligente" implichi tutte quelle cose insieme o meno: una scimmia che imparasse a guidare per le strade di Roma verrebbe probabilmente considerata "intelligente", anche se non riuscisse a 11 parlare e capire l'italiano, ne' alcuna altra lingua. E' ancora meno ovvio stabilire se certi fenomeni appartengano o meno alla sfera dell'"intelligenza": quasi tutti gli animali sono capaci di riconoscere un suono o un'immagine, le formiche costruiscono formicai di una perfezione e complessita' degne di competere con i grattacieli di New York e gli stessi vegetali sanno reagire nel modo piu' efficace alle condizioni atmosferiche. Sono questi comportamenti "intelligenti"? Per rispondere alla domanda bisogna addentrarsi dentro il test di Turing e riformulare in termini piu' scientifici cosa si intenda per "esibire lo stesso comportamento dell'essere umano". Possiamo distinguere perlomeno due approcci opposti. L'approccio cognitivo "elenca" quali siano le facolta' indispensabili all'essere umano per poter esibire quel tipo di comportamento: memoria, ragionamento, apprendimento, linguaggio e cosi' via. L'approccio fisiologico ritiene che soltanto simulando il funzionamento del cervello umano sia possibile esibire quel tipo di comportamento. L'idea di costruire macchine "intelligenti" data almeno dal 1800, quando Charles Babbage ideo' un calcolatore meccanico che subito fece compiere voli di fantasia a piu' di un suo conoscente. Ma e' indubbio che l'interesse odierno per queste ricerche deriva dal fatto di poter utilizzare i calcolatori elettronici, i "computer". L'invenzione del computer pare sempre piu' dominare questa seconda meta' del ventesimo secolo. La societa' post-industriale dell'informazione, che sta emergendo in tutto il mondo, parte dal presupposto di sostituire il movimento virtuale delle informazioni al movimento fisico delle persone: cio' non sarebbe possibile su grande scala se non esistesse una macchina in grado di memorizzare, elaborare e trasmettere grandi masse di informazioni. E' tuttora dubbio a chi spetti il merito dell'invenzione del computer. Nel 1939 John Atanasoff e il suo assistente Clifford Berry idearono una macchina elettro-meccanica denominata "ABC" (Atanasoff-Berry Computer). Si trattava di un apparecchio a valvole in grado di compiere calcoli digitali impiegando l'algebra booleana. L'idea cruciale era che ogni elemento della macchina potesse trovarsi soltanto in uno stato di "uno" o di "zero", e nulla di intermedio o di maggiore o minore. L'algebra di Boole consentiva di eseguire operazioni su quantita' zero/uno che venivano simulate tramite appositi circuiti elettrici. Atanasoff tento' invano di vendere la sua invenzione a quella che allora era la principale societa' di tabulatrici meccaniche, la IBM. Demoralizzato, rinuncio' a brevettare la sua invenzione, abbandono' le sue ricerche e si impiego' nella Marina in qualita' di specialista in acustica. 12 Un collega di Atanasoff, John Mauchly, ottenne invece ingenti finanziamenti dai militari per costruire una macchina di quel tipo che fosse in grado di compiere calcoli balistici. Nell'Aprile del 1943 vide la luce il progetto ENIAC (Electronic Numerical Integrator and Computer) che nell'Autunno del 1945 consenti' di pervenire al primo computer interamente elettronico. Fu proprio durante il conflitto mondiale che i governi alleati compresero l'importanza strategica della macchina: in Inghilterra fu Alan Turing in persona, impiegato a decodificare i messaggi cifrati dei tedeschi, a mettere in fuzione la prima macchina calcolatrice (il COLOSSUS, nel dicembre del 1943). Negli USA fu invece John Von Neumann, membro del team "atomico" di Los Alamos, a sfruttare l'idea dell'ENIAC per scopi pratici. Tanto il COLOSSUS quanto l'ENIAC erano in grado di eseguire un solo compito, quello per cui erano stati costruiti. Alla fine della guerra i centri di ricerca dell'esercito statunitense misero a punto i primi computer a valvole che erano in grado di eseguire piu' di un compito. Nacque cioe' il concetto di "programma" tramite il quale al computer venivano forniti due insiemi di informazioni: le "istruzioni" su come svolgere il proprio compito e i "dati" su cui eseguire tale compito. Per l'esattezza il programma forniva la sequenza di istruzioni, e fra queste istruzioni alcune specificavano come ottenere i dati (normalmente veniva richiesto all'operatore di introdurli da tastiera ad un certo momento durante l'elaborazione del programma). Il programma poteva, per esempio, fornire le istruzioni su come si esegue la moltiplicazione e al tempo stesso richiedere all'operatore i due numeri da moltiplicare. Il computer era in grado di memorizzare nei suoi circuiti tanto le istruzioni quanto i dati, di eseguire in sequenza le istruzioni e di prelevare e modificare i dati quando le istruzioni lo specificavano. L'idea che il computer dovesse essere composto da una "memoria" per i dati e le istruzioni e da una "unita' di elaborazione" in grado di eseguire sequenzialmente le istruzioni era di Von Neumann (1945), e pertanto quella architettura di computer viene tuttora chiamata "architettura Von Neumann". Non sarebbe stato possibile costruire computer di grosse dimensioni se in concomitanza non fosse stato inventato il transistor. Il transistor nacque ai Bell Labs nel 1948 e apri' le porte alla realizzazione di computer puramente elettronici di grande complessita'. Il piu' famoso computer di questa generazione fu lo UNIVAC, costruito nel 1950 dalla Electronic Control, la societa' di Mauchly e di Presper Eckert. Una volta 13 acquistato dalla Remington Rand, lo UNIVAC divenne il primo computer prodotto per scopi commerciali. Lo UNIVAC era dotato di una telescrivente che fungeva sia da tastiera, per consentire di fornire dati e istruzioni al computer, sia da stampante, per consentire al computer di scrivere i risultati. L'idea di programmare il computer tramite sequenze di istruzioni porto' al concetto di "linguaggio di programmazione". Affinche' il computer potesse elaborarle, occorreva che le istruzioni fossero scritte secondo una sintassi predefinita in accordo con i circuiti elettronici che l'avrebbero poi elaborata. Si identificarono i tipi di istruzione necessari (per esempio: preleva un dato, memorizza un dato, esegui un'operazione booleana sui dati, altera la sequenza di istruzioni e cosi' via) e ad ognuna venne associata una sintassi utilizzando delle parole d'ordine convenzionali (per esempio: PRELEVA, MEMORIZZA, OR, AND, NOT e cosi' via) seguite dai parametri necessari (per esempio: OR 1 0). Il concetto piu' importante introdotto in questo periodo fu forse quello di "variabile": scrivendo OR A B (dove OR e' la parola d'ordine, mentre A e B sono due "variabili") si specifica che a fronte di questa istruzione il computer deve prendere il valore attuale di A e il valore attuale di B ed eseguire l'operazione booleana di OR su quei due valori. Il vantaggio e' che A e B possono assumere diversi valori nel tempo e la stessa istruzione viene utilizzata per compiere tutti gli OR fra i valori che A e B assumono nel tempo. Un programma per calcolare l'OR di due numeri qualsiasi si puo' esprimere, per esempio, cosi': 1. CHIEDI A; 2. CHIEDI B; 3. OR A B; 4. RISPONDI. L'istruzione 1. fa si' che il computer chiedesse l'introduzione da tastiera del valore di A, e cosi' l'istruzione 2. per quello di B, mentre la 3. esegue l'OR dei due valori e la 4. scrive il risultato sulla stampante. Nel 1953 John Backus alla IBM invento' quello che sarebbe rimasto a lungo il linguaggio di programmazione piu' famoso: il FORTRAN. Il FORTRAN consentiva di comunicare al computer una ventina di tipi di istruzione. In particolare il FORTRAN eseguiva la conversione da decimale a binario. In altre parole, consentiva all'operatore di usare come dati i comuni numeri naturali e reali e altresi' di eseguire su di essi le comuni operazioni aritmetiche. Una tipica istruzione FORTRAN e': I = J * 26 / 4 (il nuovo valore della variabile I e' dato dal valore della variabile J moltiplicato per 26 e diviso per 4). Il primo proramma FORTRAN venne eseguito il 20 Aprile 1957. Fu quello l' atto di nascita ufficiale del business informatico. Negli anni seguenti sarebbero stati proposti numerosi linguaggi di programmazione: ciascuno differisce dagli altri per i tipi di istruzione che consente di comunicare al computer. 14 Nel decennio successivo i computer si diffusero in tutto il mondo industrializzato, ma il pubblico continuo' a lungo ad esserne escluso. Erano macchine di grandi dimensioni, stracolme di luci e di pulsanti, che soltanto pochi specialisti al mondo erano in grado di operare. I "mainframe" della IBM (a cominciare dal glorioso "360" del 1964, progettato da Gene Amdahl secondo i canoni di Von Neumann) dominarono questo periodo e coniarono quello che sarebbe rimasto il paradigma fondamentale della scienza dell'informazione: eseguire calcoli molto in fretta, molto piu' in fretta degli umani. Il mainframe sostitui' intere legioni di impiegati nei casi in cui i conti da eseguire erano ripetitivi (per esempio per calcolare le paghe a fine mese) e consenti' di compiere conti (soprattutto per scopi scientifici) che prima avrebbero richiesto l'intera vita del matematico piu' veloce. Benche' i benefici del computer fossero gia' evidenti, soltanto con la generazione dei computer "compatti", quella dei circuiti integrati (inventati da Robert Noyce nel 1960) e del VLSI (very large scale integration), che consente di comprimere milioni di transistor in un circuito integrato di pochi millimetri quadri, i loro effetti si fecero sentire anche sull'uomo della strada. A far compiere una prima rivoluzione fu la Digital Equipment Corporation, che ideo' nel 1970 quello che sarebbe rimasto l'archetipo di "mini-computer", il PDP-11. Era un computer di dimensioni (e prezzo) molto piu' ridotte, ma non meno utile. Fu grazie al PDP che il computer entro' in tutte quelle piccole industrie che mai si sarebbero potute permettere di possedere un mainframe. L' avvento dei micro-processori (inventati da Noyce alla Intel nel 1968) consenti' nel 1976 alla Apple di costruire un computer delle dimensioni addirittura di una macchina da scrivere. L'APPLE II segno' l'avvento della frenetica era del personal computer, compatto ed economico, che avrebbe portato il computer, se non in ogni casa, certamente in ogni ufficio. Piu' che l'evoluzione del cosiddetto "hardware" del computer (i circuiti elettronici e la meccanica che lo compongono) e' interessante seguire l'evoluzione del "software", ovvero dei programmi che gli vengono sottoposti. Se all'inizio l'enfasi era soprattutto sull'hardware, ben presto ci si comincio' a rendere conto che l'"intelligenza" della macchina (ammesso che tale potesse essere considerata) risiedeva nel suo software. Era il software, non l'hardware, a determinare il suo comportamento. Cambiando istruzioni si cambiavano le risposte, mentre cambiando circuiti elettrici si aumentava soltanto la sua velocita' nel fornire quelle risposte. 15 L'idea era gia' chiara a Turing, Von Neumann e gli altri iniziatori della scienza informatica, anche perche' era stato immediato riconoscere l'analogia fra i "linguaggi di programmazione" dei computer e i linguaggi della logica matematica. Entrambi erano linguaggi artificiali inventati per poter rappresentare il mondo ed eseguire ragionamenti su tale rappresentazione. Tutto cio' che il computer "sapeva" era dovuto a cio' che gli era stato comunicato tramite il linguaggio di programmazione, ovvero l'insieme dei suoi programmi, ovvero il suo software. Se il software era sufficientemente sofisticato, il computer poteva esibire un comportamento piu' "intelligente" di quello di un semplice esecutore di calcoli. La differenza principale fra i linguaggi artificiali dei logici e i linguaggi di programmazione dei computer era data dalle entita' elementari: rispettivamente simboli e numeri. Il computer era in grado di operare su variabili che contenevano valori numerici, non era in grado di operare su simboli come "persona" e "Mary". Merito di John McCarthy fu quello di inventare il linguaggio di programmazione LISP, in grado di elaborare anche simboli. McCarthy non fece che esprimere nei termini del computer il concetto di funzione ricorsiva introdotto da Hilbert nel 1925 e utilizzare il calcolo Lambda formalizzato da Church nel 1941 per compiere operazioni su tali funzioni. L'importante innovazione di McCarthy consiste nell'aver esteso quei concetti (originariamente pensati soltanto per le funzioni numeriche) anche al calcolo simbolico. Esattamente come il FORTRAN aveva consentito di usare operazioni decimali, anche se l'hardware del computer era (ed e') capace soltanto di operazioni binarie, cosi' il LISP consentiva di usare simboli anche se l'hardware era (ed e') capace di operare soltanto su numeri (anzi su due soli numeri: zero e uno). Come il FORTRAN si faceva carico di "tradurre" le operazioni decimali in operazioni booleane, in modo che diventassero comprensibili dall'hardware, cosi' il LISP si preoccupava di tradurre i simboli in numeri. Fu proprio McCarthy nell'estate del 1956 a radunare gli scienziati che studiavano come rendere intelligenti le macchine. A Dartmouth McCarthy conio' cosi' il termine "Intelligenza Artificiale". Grazie all'invenzione del LISP divenne possibile andare oltre i calcoli numerici ed iniziare ad esplorare le funzioni cognitive della mente 16 umana. Il LISP divenne in breve la lingua franca della comunita' dell'Intelligenza Artificiale. In quegli anni il modello prevalente fu quello proposto nel 1957 da Allen Newell e Herbert Simon, secondo il quale tanto la mente umana quanto il computer sono esempi di "sistemi simbolici fisici" (per usare un termine che gli autori coniarono nel 1975), ovvero elaboratori simbolici. L'intelligenza viene allora indirettamente definita come la capacita' di elaborare simboli. Questa, plausibile o meno che sia dal punto di vista psicologico, e' la prima definizione mai data di intelligenza che possa servire da fondamento a una vera scienza. Il LISP di McCarthy migliorava e completava in effetti le idee contenute nel linguaggio di programmazione IPL-V (Information Processing Language) progettato da Newell e Simon. Newell e Simon costruirono anche il primo programma che facesse uso delle loro idee, un cosiddetto "Logic Theorist" che era in grado di dimostrare teoremi dei "Principia Mathematica" di Russell e Whitehead. La grande novita', ancora una volta, era l'enfasi sul paradigma dell'"elaborazione dell'informazione". McCarthy espresse questo modello in termini piu' informatici: il problema dell'Intelligenza Artificiale e' da un lato epistemologico, di rappresentare cio' che conosciamo sotto forma di simboli, e dall'altro euristico, di rappresentarlo in modo che sia poi possibile eseguire dei ragionamenti. Il modello calzava alla perfezione con gli sviluppi della Logica moderna e riprendeva, in realta', le idee di Craik adattandole all'era del computer. I Sistemi Formali Aristotele definisce sillogismo "un discorso in cui, date certe cose, altre cose ne conseguono necessariamente", ovvero un insieme di proposizioni tali che, se sono vere, si puo' affermare che un'altra proposizione e' anche vera. Una proposizione e' per Aristotele "un'affermazione che afferma qualcosa di qualcosa", o, in altre parole, un'affermazione che mette in relazione un soggetto e un predicato. Aristotele cataloga poi le forme di sillogismo possibili, sulla base delle (quattro) possibili combinazioni di soggetto, predicato e un terzo termine: per esempio, da una frase di soggetto e terzo termine ("gli uomini sono mammiferi") e una frase di terzo termine e predicato ("i mammiferi sono animali"), si puo' dedurre una frase di soggetto e predicato ("gli uomini sono mammiferi"). Il metodo piu' usato per risolvere i sillogismi e' quello dei 17 "cerchi di Eulero": ogni insieme (per esempio, "uomini") viene rappresentato con un cerchio e la relazione fra due insiemi e' rappresentata da una serie di diagrammi dei due cerchi. Per esempio, "gli uomini sono mammiferi" e' rappresentata da un diagramma in cui il cerchio "uomini" e' contenuto all'interno di quello "mammiferi" (una possibilita' e' infatti che gli uomini costituiscano un sotto-insieme dei mammiferi) e da un diagramma in cui i due cerchi sono perfettamente sovrapposti (l'altra possibilita' e' che gli uomini e i mammiferi siano lo stesso insieme). Il sillogismo si risolve concatenando tutte le possibili combinazioni di diagrammi. La potenza del sillogismo e' che stabilisce in modo formale come dimostrare una proposizione. Aristotele riferiva le sue proposizioni agli universali (cioe' agli insiemi), ma dopo la rivoluzione cartesiana le proposizioni vennero intese come relazioni fra idee. In tal modo le leggi della logica divennero le leggi del pensiero. Fu poi Immanuel Kant il primo a intendere le proposizioni come concetti applicati ad oggetti. Un altro dei momenti fondamentali nello sviluppo del pensiero logico fu dovuto ad Euclide, che nel quarto secolo avanti Cristo raccolse negli "Elementi" tutto il sapere geometrico dell'epoca. Euclide strutturo' l'opera con grande rigore: da alcune definizioni primitive (per esempio, "punto e' un ente geometrico che non puo' essere suddiviso in enti geometrici piu' elementari") e da cinque assiomi, o postulati, che mettono in relazione gli enti primitivi (per esempio, "tutti gli angoli retti sono uguali") Euclide deduce ogni altra nozione di geometria (ogni altro "teorema"). Tale deduzione consiste nell'applicare gli assiomi e i teoremi man mano dimostrati ad altri assiomi e teoremi fino ad ottenere il nuovo teorema. Il concetto euclideo di una geometria come teoria astratta delle quantita' continue si dilato' nei secoli successivi, prima venendo posto direttamente in relazione con le figure fisiche (grazie alla teoria della prospettiva di Leonardo Da Vinci) e poi venendo a rappresentare una proprieta' stessa dello spazio infinito, omogeneo e tridimensionale (grazie alla rivoluzione copernicana e grazie alla teoria della gravita' di Newton). Euclide con il suo quinto postulato (che due rette parallele non si incontrano mai) fu causa involontaria dell'innovazione concettuale piu' saliente dei secoli successivi. Quel quinto postulato sembrava non essere altrettanto "naturale" quanto gli altri quattro e pertanto diversi matematici tentarono di dimostrare che fosse possibile dimostrarlo a partire dai primi quattro. Girolamo Saccheri, in particolare, propose di ragionare per assurdo, prendendo come assioma l'opposto del quinto postulato e dimostrando che in tal modo si perveniva a una contraddizione. Non solo non pervenne ad alcuna contraddizione, ma altri matematici scoprirono che il nuovo sistema assiomatico cosi' costruito, nonche' ogni altro che assumesse una diversa variante del quinto postulato, definivano semplicemente delle geometrie diverse da quella di Euclide. Quella di Bernhard Riemann (1854) sarebbe stata utilizzata da 18 Albert Einstein per la sua teoria generale della relativita': geometria e fisica risultano strettamente collegate perche' i fenomeni che si svolgono nello spazio influenzano lo spazio stesso (con l'importante conseguenza per Einstein che le leggi dei fenomeni fisici sono invarianti rispetto ad ogni osservatore). Non solo le geometrie noneuclidee erano possibili, ma addirittura una di esse si scopriva essere quella piu' idonea a spiegare l'universo. Con le geometrie non euclidee si compiva pertanto una rivoluzione di pensiero di portata ben piu' vasta: veniva messo in discussione il concetto stesso di verita' assoluta. Tanto il sillogismo di Aristotele quanto il sistema comunque i modelli principali per il pensiero logico stesso le nuove interpretazioni che essi vennero man a generare il bisogno di una Logica che meglio si scientifico. assiomatico di Euclide furono dei secoli successivi. Al tempo mano assumendo contribuirono prestasse a definire il pensiero I contributi di diversi matematici del diciannovesimo secolo portarono cosi' a un programma di rifondazione della Matematica. George Boole aveva pubblicato nel 1817 le sue leggi dell'algebra binaria caratterizzate dai tre operatori: .nf 0 AND 0 = 0 0 OR 0 = 0 NOT 0 = 1 0 AND 1 = 0 0 OR 1 = 1 NOT 1 = 0 1 AND 0 = 0 1 OR 0 = 1 1 AND 1 = 1 1 OR 1 = 1 .fi Quegli zeri ed uni potevano naturalmente essere utilizzati anche per rappresentare i concetti di falso e di vero. Stabilito che una proposizione e' vera se il suo valore "di verita'" e' uno, e viceversa, l'algebra booleana puo' essere interpretata cosi': la congiunzione di due proposizioni vere e' ancora vera, la congiunzione di una proposizione vera e di una falsa e' falsa, e cosi' via. Charles Peirce avrebbe in seguito sviluppato il semplice formalismo delle tavole di verita' per stabilire se una proposizione complessa (formata da piu' proposizioni semplici unite fra di loro da connettivi logici AND, OR e NOT) sia vera o falsa in dipendenza dei valori delle proposizioni che la compongono. La differenza fra "intensione" ed "estensione" si deve invece a William Hamilton. A un qualsiasi aggettivo possiamo associare due entita' profondamente diverse: il concetto che definisce e l'insieme degli oggetti che vi appartengono. Per esempio, l' 19 estensione di "rosso" e' l' insieme di tutte le cose rosse; l' intensione di "rosso" e' l'idea dell' essere rosso. Friedrich Frege (1884) aveva poi iniziato la ricostruzione della Matematica su basi logiche, sviluppando la Logica delle Proposizioni e la Logica dei Predicati del primo ordine, un programma a cui avevano contribuirono Peano con i suoi cinque postulati per i numeri naturali (1889) e David Hilbert con la sua teoria dei sistemi formali (1899). Definendo "proposizione" un'entita' che puo' essere soltanto vera o falsa, definendo le operazioni booleane (AND, OR, NOT) sulle proposizioni e definendo infine gli assiomi e le regole di inferenza (in particolare il modus ponens), i matematici potevano costruire un sistema formale di grande eleganza e potenza. Anche i concetti di tautologia (una espressione che e' sempre vera, per esempio "p o il contrario di p") e di contraddizione (un'espressione che e' sempre falsa, per esempio "p e il contrario di p") potevano essere definiti in maniera piu' formale. Lo stesso sistema formale applicato al caso dei predicati del primo ordine (ovvero al caso in cui la semplice proposizione "p" diventa un predicato con variabile "p(x)") dava luogo a un sistema di rappresentazione ancora piu' potente, tramite il quale pareva davvero possibile ragionare in termini simbolici su tutti i fatti dell'universo. Anche Frege divideva l'universo in "oggetti" e "concetti": oggetti sono quelli che identifichiamo con l'articolo determinato (l'Italia, la regina Elisabetta, il Mar Mediterraneo), concetti sono quelli che identifichiamo con l'articolo indeterminato (una nazione, un sovrano, un mare). I secondi si possono esprimere tramite predicati come "nazione(X)", che si legge "X e' una nazione" ed e' vero, in particolare, nel caso "nazione(Italia)", poiche' e' vero che "l'Italia e' una nazione", mentre e' falso nel caso "nazione(Elisabetta)", poiche' e' falso che "Elisabetta e' una nazione". Il correlato oggettivo di un concetto e' definibile allora come l'estensione del relativo predicato, ovvero l'insieme di tutti gli oggetti che rendono vero quel predicato (il correlato oggettivo del concetto di "nazione" e' l'insieme di tutte le nazioni del mondo). E' comune intendere che un predicato "denota" la propria estensione. Il termine "denotazione" e' dovuto a John Stuart Mill (1843), che defini' altresi' la "connotazione", una generalizzazione del concetto di intensione. Per esempio, la denotazione di "uomo" e' l'insieme degli uomini, la sua connotazione e' cio' che significa essere un uomo piu' tutti i concetti implicati da questo, come "animale", "pensante" e cosi' via. 20 Fin dai tempi di Aristotele lo scopo della logica era stato quello di stabilire la verita' o falsita' di una affermazione. Anche Aristotele aveva sentito il bisogno di imporre innanzitutto una formalizzazione del linguaggio utilizzato per esprimere le affermazioni. Mentre pero' Aristotele classificava le proposizioni in certe categorie (e non tutte le proposizioni potevano essere classificate in una delle categorie note) e definiva poi il processo meccanico per compiere inferenze su tali categorie, ovvero il sillogismo, Frege fornisce lo strumento deterministico (la sintassi della logica dei predicati) per riportare qualsiasi proposizione alla categoria delle proposizioni formali e fornisce poi lo strumento (le regole di inferenza) per compiere deduzioni sulle proposizioni formali. La sintassi delle proposizioni formali viene definita specificando come si generano tutte le possibili proposizioni formali a partire da un insieme di simboli (per esempio, le lettere dell'alfabeto e gli operatori booleani) e applicando reiteratamente alcune regole di combinazione (per esempio, quella che due proposizioni formali connesse da un "OR" sono ancora una proposizione formale). Che le leggi della logica potessero costituire anche le leggi del pensiero era stato ipotizzato prima da Leibniz e poi da Boole stesso, ma Frege fu il primo a ufficializzare questo ambizioso programma che andava ben al di la' dello scopo originario del sillogismo. La teoria di Frege aveva un impatto diretto anche sulla tradizione filosofica che poneva nella mente la sede del significato (Locke associava ad ogni parola un'idea, e Descartes dubitava di tutto meno che del significato dei propri pensieri). Un'altra tradizione era infatti quella per la quale il significato e' nel mondo esterno. Fu Frege stesso a far notare come cio' non potesse funzionare: "la stella del mattino" e "la stella della sera" indicano entrambe lo stesso oggetto (Venere), ma hanno intuitivamente due significati diversi; e frasi come "il pianeta piu' vicino al Sole di Mercurio" non indicano nulla che esista realmente, eppure hanno ancora un significato intuitivo. Frege postulo' l'esistenza di un universo astratto dei "sensi" delle cose, che non stava ne' nella mente umana ne' nel mondo esterno, e chiuse il cerchio in questo modo: le cose sono indicate da sensi, le parole esprimono sensi, e i processi cognitivi elaborano sensi. Il "senso" delle cose diventava il mediatore fra le tre entita' fondamentali: il mondo, il linguaggio e la mente. Frege utilizzo' questo vasto apparato logico-ontologico per dare la definizione di numero (l'1 e' la classe di tutti i concetti la cui estensione ha un solo elemento, il 2 e' la classe di tutti i concetti la cui estensione ha due elementi, e cosi' via) e quindi 21 ricostruire tutta l'aritmetica, ma il suo tentativo falli' poiche' si basava sistematicamente sul concetto di classe, e piu' precisamente sulle classi di classi. Nel 1902 Bertrand Russell scopri' infatti una contraddizione insita nel concetto di classe di classe: la classe delle classi che non appartengono a se stesse o appartiene a se stessa, e in tal caso (per definizione) non appartiene a se stessa, oppure non appartiene a se stessa, e in tal caso (per definizione) appartiene a se stessa. Russell tento' di ovviare al proprio paradosso con una teoria dei "tipi" che sostanzialmente pone delle limitazioni al linguaggio logico (evitando che possano verificarsi dei circoli viziosi), e che Willard Quine e Frank Ramsey avrebbero ulteriormente semplificato tentando a loro volta di ovviare ad alcune arbitrarieta' di Russell (come il famoso assioma di riducibilita'). Ramsey, in particolare, opero' la distinzione fra antinomie logiche, come quella del paradosso di Russell (che possono essere risolte con una teoria dei tipi molto semplificata) e antinomie semantiche, come quella di Epimenide "questa frase e' falsa" (che non possono essere risolte). Se lo specifico programma di Frege avrebbe rivelato quelle carenze, il formalismo e il metodo da lui introdotti sarebbero durati fino ad oggi e proprio Russell (che nel 1913 pubblico' con Alfred Whitehead i "Principia Mathematica") avrebbe impresso nuovo impulso al programma "logistico" di rifondare tutte le scienze sul calcolo logico. Dal canto suo Hilbert porto' alla massima perfezione il metodo assiomatico di Frege e Peano e al tempo stesso libero' del tutto la Matematica da qualsiasi vincolo di coerenza con la realta': gli oggetti di cui tratta la Matematica possono corrispondere a qualsiasi cosa esibisca quelle proprieta'. Per esempio, il punto di uno spazio non deve necessariamente essere un punto dello spazio tridimensionale che percepiamo, ma puo' essere un qualsiasi oggetto per il quale valgano le stesse relazioni e formule. Cio' fece della Logica lo strumento ideale per costruire e manipolare astrazioni di qualsiasi natura. Secondo Hilbert un sistema formale e' costituito da un linguaggio con cui si possono costruire delle formule, da alcuni "assiomi" (ovvero formule che si assumono vere senza dimostrazione) e da alcune regole di inferenza (ovvero le regole tramite le quali si puo' dimostrare la verita' o falsita' di una formula). La dimostrazione e' una sequenza ordinata e finita di formule tale che: la prima formula sia un assioma, le formule successive si ottengano per applicazione delle regole di inferenza e l'ultima formula sia la formula che si vuole dimostrare (teorema). Il tipo di dimostrazione piu' comune e' in realta' quello della "reductio absurdum": agli assiomi si aggiunge l'opposto della formula da dimostrare e si verifica se da questo insieme di formule sia possibile derivare una contraddizione. Tipiche regole di inferenza impiegate nei sistemi formali sono il "modus ponens" per il calcolo delle proposizioni: noto che "se p, allora q" .br e noto che "p" e' vero, .br allora anche "q" e' vero. 22 (per esempio: noto che "se Piero e' nipote di Aldo allora Piero e' cugino di Gisella" e noto che "Piero e' nipote di Aldo", si deduce che "Piero e' cugino di Gisella"); e l'"universale" per il calcolo dei predicati: se qualcosa e' vero per tutti gli elementi di un insieme, allora e' vero anche per un particolare elemento dell'insieme (per esempio: noto che "tutti gli uomini sono mortali", e noto che "Socrate e' mortale", si deduce che "Socrate e' mortale"). In linguaggio formale: se per ogni X appartenente a I, p(X) e' vera e A appartiene ad I, allora anche p(A) e' vera. L'obiettivo originario di Hilbert era quello di dimostrare la non-contraddittorieta' della Matematica, ma anche il programma di Hilbert, come quello di Frege, sarebbe fallito, e per una ragione ancor piu' seria: il teorema di Godel ne avrebbe dimostrato l'impossibilita'. Kurt Godel dimostro' infatti nel 1931 che la Logica esibiva un grave problema di fondo, un chiaro limite alla sua affidabilita' come strumento per conoscere l'universo: Godel dimostro' che ogni sistema formale contenente la teoria dei numeri contiene sempre almeno un'affermazione che non puo' essere dimostrata ne' vera ne' falsa in base al sistema stesso (un'affermazione "indecidibile"). Ogni sistema formale di tale genere deve infatti necessariamente contenere una proposizione del tipo "io non sono dimostrabile", e, se il sistema e' noncontraddittorio, ne' questa proposizione ne' il suo opposto risultano dimostrabili all'interno di quel sistema. (Pochi anni dopo Church avrebbe dimostrato che tanto l'aritmetica quanto la logica dei predicati del primo ordine sono indecidibili, mentre la logica delle proposizioni e' ovviamente decidibile con le comuni tavole di verita'). Il formalismo di Hilbert sarebbe comunque rimasto in vigore nella Logica moderna come il linguaggio comune di tutte le scienze esatte. Non meno influente fu l'opera parallela di Ernst Zermelo, che nel 1908 riprese e rifini' la teoria degli insiemi fondata da Georg Cantor. Un quarto di secolo prima Cantor aveva introdotto il concetto di insieme per risolvere diversi problemi relativi ai numeri irrazionali ed era pervenuto indubbiamente a risultati importanti e suggestivi, in particolare alla definizione di insieme infinito (ogni insieme i cui 23 elementi sono in relazione biunivoca con gli elementi di una sua parte), ma la sua teoria era piuttosto macchinosa e non riusciva a rispondere alla domanda: l'insieme di tutti gli insiemi contiene anche il proprio insieme-potenza? Zermelo la semplifico' utilizzando soltanto uno dei tre tipi di insiemi previsti da Cantor, quello definito dai propri elementi (gli altri due erano quello definito dalle proprie proprieta' e quello infinito). Fra due insiemi sono possibili le operazioni di intersezione (l'insieme degli elementi che appartengono ad entrambi gli insiemi operandi) e di unione (l'insieme degli elementi che appartengono ad almeno uno dei due insiemi operandi) e di un insieme si puo' prendere il complemento (tutti gli elementi che non gli appartengono). Queste tre operazioni fondamentali possono essere messe in relazione con quelle dell'algebra booleana: l'uno booleano e' rappresentato dall'insieme universo e lo zero dall'insieme vuoto, l'OR dall'unione di due insiemi e l'AND dalla loro intersezione. Nel 1935 il programma dei logici venne completato da Alfred Tarski. Tarski diede una semantica ai sistemi formali, ovvero spiego' come un sistema formale potesse "significare" qualcosa. Hilbert aveva portato a termine un programma di emancipazione della Logica dalla realta', nel quale i termini e le formule non dovevano necessariamente significare qualcosa e tanto meno significare cio' che avevano sempre significato in Matematica. Tarski si propose di ridare un senso ai sistemi formali, senza peraltro rinunciare alla liberta' di Hilbert: e' possibile piu' di un sistema formale alla volta, e nessuno e' vincolato agli assiomi e alle regole di inferenza del sistema formale della Matematica, ma a ciascuno deve essere possibile assegnare un significato che lo metta in relazione con il mondo reale. Dato un insieme di formule (una "teoria"), l'"interpretazione" di quella teoria e' una funzione che assegna un significato a ogni sua formula. Tarski fondava cosi' la semantica composizionale, nella quale il significato di una struttura complessa e' funzione delle strutture elementari che la compongono. Ogni "interpretazione" che renda vere tutte le formule della teoria e' un "modello" di tale teoria. Per esempio, alle formule della Fisica si assegna il significato delle corrispondenti leggi della natura e l'universo degli oggetti fisici diventa un modello della teoria fisica. Se il teorema di incompletezza di Godel poneva in dubbio l'intero programma dei logici, la semantica dei modelli di Tarski consentiva invece di utilizzare per scopi pratici l'apparato tecnico messo a punto fino a quel momento. 24 In pratica Tarski aggirava l'ostacolo del teorema di Godel con una "teoria delle teorie": chiarito che in nessuna teoria e' possibile definire il concetto di verita' (ovvero tutte le proposizioni che sono vere in tale teoria), il concetto di verita' puo' essere definito soltanto in una nuova teoria che abbia come oggetto quella teoria, appunto una "teoria delle teorie", o "meta-teoria". Quella che Tarski propose era una metateoria semantica, intesa cioe' a ragionare sul significato della teoria oggetto. In tal modo, per esempio, riusciva finalmente possibile risolvere l'antinomia del mentitore ("questa frase e' falsa", che risulta vera quando e' falsa e viceversa). La Teoria della Computazione Implicito nello schema di Hilbert era gia' il tema di ricerca che avrebbe ottenuto maggiore attenzione nel secolo ventesimo. Le regole di inferenza forniscono soltanto un metodo meccanico per stabilire se una sequenza di formule e' una dimostrazione, ma non forniscono un metodo per stabilire se esiste la dimostrazione di una formula. Dato un sistema formale, per esempio quello della Matematica, esiste un metodo per determinare se una formula qualsiasi e' un teorema in quel sistema formale? Questo e' il cosiddetto "problema della decidibilita'". L'"aritmetizzazione" e' il processo tramite il quale i teoremi di un sistema formale possono essere associati a un insieme di numeri naturali. Grazie all'aritmetizzazione il problema di dimostrare la verita' di una formula puo' essere assimilato a quello di dimostrare che un numero naturale appartiene a quell'insieme. Se cio' e' sempre possibile (esiste un algoritmo per decidere se un numero appartiene all'insieme), l'insieme viene detto "decidibile" o "ricorsivo". Se invece e' soltanto possibile enumerare i suoi numeri, l'insieme viene detto "semi-decidibile" o "ricorsivamente enumerabile". Per la corrispondenza di cui sopra gli stessi termini si possono applicare ai sistemi formali qualora (rispettivamente) sia sempre possibile dimostrare se una formula e' vera oppure sia solamente possibile generare tutte le formule che sono vere. Un altro concetto importante introdotto da Hilbert e' quello di "ricorsivita'" (diverso dall'accezione comune di "ricorsivo" come usato dalla cibernetica in poi). La ricorsivita' e' sostanzialmente la computabilita' tramite algoritmo: una funzione ricorsiva e' in pratica una funzione che puo' essere programmata. L'utilita' di questa definizione sta in alcuni teoremi della teoria della ricorsivita', in particolare: un predicato p(X) e' decidibile (ovvero esiste un algoritmo che puo' decidere in un tempo finito se quel predicato applicato ad un certo valore della variabile X e' vero o falso) se e solo se la corrispondente funzione p(X) e' ricorsiva. 25 In matematica una funzione e' una relazione che a un certo insieme di valori di un "dominio" assegna un certo valore di un "contro-dominio". Se la funzione e' binaria, per esempio, essa mette semplicemente in corrispondenza i valori del dominio con alcuni valori del contro-dominio, e si indica f: A --> B, intendendo che A e B siano insiemi, f sia il nome della funzione, e y = f(x) sia l'elemento di B che viene fatto corrispondere da f all'elemento x di A. Piu' in generale una funzione puo' avere l'aspetto y = f (x1,x2,x3,x4,...), intendendo che fa corrispondere la combinazione di diversi valori a un valore del contro-dominio. Un esempio di funzione, per esempio, puo' essere la funzione di addizione (+), la quale mette in corrispondenza diversi numeri con un nuovo numero: l'addizione 1+2+3+4 = 10 puo' essere riscritta in termini funzionali come + (1,2,3,4) = 10 Un altro esempio e' quello della funzione di permutazione (indicata comunemente con il segno di punto esclamativo!), quella che ad un numero intero assegna un altro numero intero dato dal prodotto del numero stesso per di tutti i numeri interi ad esso inferiori: 2! = 2 x 1 = 2 3! = 3 x 2 x 1 = 6 4! = 4 x 3 x 2 x 1 = 24 26 e cosi' via. Ogni funzione puo' essere ricondotta alla logica dei predicati in modo banale: f(a,b) = c puo' essere espressa come r(a,b,c) e' vero. Nel 1925 Hilbert propose che tutte le funzioni computabili fossero costruibili a partire da alcune operazioni primitive. L'insieme delle funzioni che e' possibile costruire con la procedura di Hilbert costituisce l'insieme delle funzioni "ricorsive". Per definizione, essendo definite da un algoritmo, queste sono anche le funzioni che e' possibile programmare. Il problema della decisione venne studiato, fra gli altri, da Turing nel 1936. Il problema puo' essere riassunto cosi': derivare procedure puramente meccaniche per trovare soluzioni a tutti i problemi matematici. Esiste un metodo matematico per determinare sempre se una soluzione puo' essere ottenuta a partire da una certa situazione? Turing aveva chiara l'importanza della risposta: i problemi che soddisfano il problema della decisione sono risolubili dalla macchina; gli altri non lo sono. Se la risposta al problema della decisione fosse positiva, allora sarebbe possibile costruire una macchina che risolva tutti i problemi della Matematica. Il teorema di Godel poneva comunque un ostacolo insormontabile alla dimostrazione o confutazione di questo teorema: non e' infatti possibile dimostrare che un programma generico giungera' a una fine. Pertanto il problema della decisione e' impossibile. Turing defini' comunque cosa fosse una funzione computabile tramite una procedura meccanica ideale. Questa procedura, che si suppone venga eseguita su una macchina astratta (la cosiddetta "macchina di Turing"), e' tale che in ogni situazione esiste 27 un'azione da compiere e quell'azione e' la sola da compiere. Per l'esattezza la macchina di Turing dovrebbe funzionare cosi'. Per manipolare simboli della logica dei predicati occorre essere in grado di: leggere i simboli attuali, elaborare i simboli, scrivere nuovi simboli, passare ad esaminare nuovi simboli. Una macchina dovrebbe pertanto essere in grado di compiere le seguenti operazioni elementari su un alfabeto finito di simboli: leggere un simbolo, scrivere un simbolo, spostarsi al simbolo precedente, spostarsi al simbolo successivo, mutare lo stato. A seconda del simbolo che legge e dello stato in cui si trova, la macchina di Turing decide se spostarsi avanti, indietro, scrivere un simbolo, cambiare stato o fermarsi. E' chiaro che possono esistere infinite macchine di Turing, a seconda di come esattamente eseguano tali funzioni. Turing spiego' anche come costruire una macchina "universale", in grado di simulare tutte le possibili macchine di Turing: e' sufficiente descrivere la specifica macchina di Turing con una sequenza di simboli posti prima dei simboli che dovranno essere manipolati. Il "programma" inventato da Von Neuman per fornire al computer specifiche sequenze di istruzioni non era altro che la traduzione pratica di questa astrazione: dato l'insieme di tutte le possibili macchine risolutrici di problemi (ciascuna risolutrice di uno solo di essi), il computer puo' simulare una qualunque di esse se viene istruito tramite un apposito programma. A seconda del programma il computer simula macchine risolutrici diverse ed e' pertanto in grado di risolvere problemi diversi. Il computer e' pertanto una macchina universale di Turing (ma a memoria finita). La linea di pensiero di Turing introdusse di fatto due importanti concetti. Innanzitutto ridusse il programma hilbertiano a un problema di elaborazione di simboli. In secondo luogo identifico' l'universalita' di un meccanismo nella possibilita' di partizionare gli input del meccanismo in due classi, le istruzioni e i dati. Alonzo Church dimostro' nel 1936 che ogni processo di natura algoritmica definisce una funzione matematica appartenente a una classe particolare denominata classe "delle funzioni Lambda". Una delle piu' importanti conseguenze della tesi di Church fu quella di dimostrare che le sole funzioni computabili di Turing sono quelle ricorsive, in quanto la classe delle funzioni Lambda e' la stessa delle funzioni ricorsive e delle funzioni computabili di Turing. In effetti Turing diceva: le uniche funzioni che sono risolvibili da un programma sono quelle decidibili; Godel diceva: le uniche funzioni che sono calcolabili da un programma sono quelle ricorsive. Dicevano la stessa cosa da due prospettive diverse. La tesi di Church (che non e' stata dimostrata, ma e' intuitivamente vera) mise d'accordo tutti dicendo: tutto cio' che e' computabile in natura deve essere anche Turing-computabile. (Cio' nonostante si puo' dimostrare che esistono piu' funzioni non-computabili che funzioni computabili). 28 In prospettiva si puo' dire che la Logica nella prima meta' del secolo porto' a trasformare i processi inferenziali in processi di manipolazione dei simboli e si pose poi il problema se fosse possibile costruire una macchina in grado di eseguire tali processi. L'Intelligenza Artificiale Nel momento in cui i teorici del computer definivano i concetti di programma e di linguaggio di programmazione, i matematici stavano ancora studiando le implicazioni pratiche di quelle conquiste teoriche. L'invenzione del computer giunse nel momento piu' opportuno. I lavori di Turing avevano spostato tutta l'enfasi sul concetto di computabilita', sul riuscire a dimostrare cio' che era e cio' che non era computabile e sulla possibilita' di costruire una macchina che fosse in grado di calcolare tutto cio' che lo e'. Ogni computer e' una macchina di Turing a memoria finita. (Era gia' chiaro un limite pratico alla computabilita': non e' possibile costruire una macchina di Turing che utilizzi piu' materia di quanta ve ne sia nell'universo o che elabori per un periodo piu' lungo della vita dell'universo). McCarthy, inventando il primo linguaggio di programmazione che consentisse di elaborare simboli, mise nelle mani dei matematici proprio lo strumento che poteva servire a risolvere problemi della logica dei predicati. A quel punto tutto il problema si sposto' di novanta gradi. Il problema non era piu' quello di costruire la macchina in grado di risolvere problemi matematici, ma quello di spiegare come cio' avesse a che fare con l'intelligenza. Il computer si trasformo' da fine in mezzo. Implicita nella ipotesi di Newell era la convinzione che il cervello umano utilizzasse simboli e logica dei predicati nel compiere le sue funzioni cognitive. Il computer si prestava pertanto a verificare quell'ipotesi nella pratica. Dalla conferenza di Dartmouth in poi i ricercatori dell'Intelligenza Artificiale hanno applicato l'ipotesi di Newell alle diverse funzioni cognitive (memoria, ragionamento, apprendimento, linguaggio), tentando per ciascuna di proporre una relativa teoria computazionale. La disciplina dell'Intelligenza Artificiale si e' cosi' venuta dividendo in tante scuole indipendenti quante sono le funzioni cognitive. Ciascuna scuola ha adottato un programma interdisciplinare nel quale confluiscono informatica, logica, psicologia cognitiva, epistemologia, neuro-fisiologia e cosi' via. Ciascuna scuola ha adottato un proprio criterio di validazione che e' un misto di utilita' (serve alla societa'?) e di plausibilita' (assomiglia al comportamento umano?). 29 Ogni teoria (della memoria, del ragionamento, dell'apprendimento, del linguaggio) viene misurata sulla base di quanto riesce a riprodurre il relativo comportamento umano e di quanto viene impiegata al di fuori dell'accademia per scopi industriali. L'Intelligenza Artificiale ha cioe' replicato anche nell'era del computer la tradizionale ambivalenza (e ambiguita') della scienza, che da un lato ha come fine quello di migliorare le condizioni di vita dell'umanita' e dall'altro ha come fine quello di comprendere il senso della condizione umana. Se l'obiettivo e' rimasto quello di costruire macchine intelligenti, e' cambiato l'approccio a cosa sia l'intelligenza. L'intelligenza viene implicitamente considerata come un insieme di comportamenti intelligenti (o, se si preferisce, di fenomeni cognitivi) debolmente accoppiati, assumendo che tutti questi comportamenti originino dall'essere il cervello un elaboratore simbolico. Il fatto di studiarli in maniera separata viene giustificato non tanto dalla convinzione che essi abbiano sede in parti diverse del cervello, ma dal fatto che esiste un supporto comune a tutti, un elaboratore simbolico. In altre parole: (1) un sistema cognitivo e' un sistema simbolico, ovvero ogni funzione cognitiva si ottiene simbolizzando situazioni ed eventi e manipolando poi quei simboli; (2) esiste un insieme di processi di manipolazione di simboli comune a tutti i sistemi cognitivi. Proprio perche' fondata sull'uso di uno strumento meccanico (per di piu' in grado di eseguire calcoli logici), l'Intelligenza Artificiale ha l'ambizione di proporsi come scienza "forte". Scienze forti sono quelle che spiegano l'operazione di sistemi deterministici rappresentandoli sotto forma di sistemi formali (leggi: "sotto forma di formule"), come la Fisica o la Chimica. Il grande pregio delle scienze forti e' di fornire modelli predittivi: il paradigma comune a tutte e' quello che dall'osservazione risale a delle regolarita', dalle regolarita' alle leggi e dalle leggi deduce predizioni (da verificare con nuove osservazioni e cosi' via). Il modello predittivo e' una diretta conseguenza del sistema formale: una volta costruito un sistema formale che rappresenti il sistema fisico, e' possibile eseguire calcoli "esatti" secondo la Logica Matematica e derivare altra verita' dalla verita' nota. Cosi', per esempio, un ingegnere civile puo' calcolare una formula di meccanica e predire che il ponte reggera' il peso di un autocarro. Le altre scienze, quelle "deboli", come la Psicologia o la Filosofia, non forniscono modelli predittivi altrettanto "esatti" su cui sia possibile fondare un'"ingegneria". Quello delle scienze "forti", che e' il paradigma del razionalismo oggettivo, presenta pero' diverse difficolta' quando viene applicato a un sistema fisico che e' l'intelligenza, ovvero all'essere umano. Il comportamento umano, infatti, non obbedisce ad alcuni prerequisiti fondamentali: l'osservazione e' viziata da disturbi 30 (l'osservatore e' l'osservato), le regolarita' sono proporzionali al livello di macroscopicita' (una popolazione nel suo insieme puo' esibire certe regolarita', ma ogni individuo visto nel dettaglio si comporta diversamente), le leggi presentano sempre delle eccezioni (nessuna legge su una popolazione viene confermata tutte le volte da tutti gli individui di quella popolazione) e le predizioni, pertanto, possono fornire una conoscenza soltanto parziale delle conseguenze. E' chiaro inoltre che l'Intelligenza Artificiale e' una disciplina diversa dalle altre per il rapporto imbarazzante che si stabilisce fra ricercatore e ricercato: sono la stessa cosa. E' la mente che tenta di capire comportamento, struttura e funzione di se stessa. Esistono altre discipline che hanno come oggetto l'uomo, come la psicologia, ma nessuna ha come ambizione quella di capire la mente, di pensare il pensiero. Nel caso di una scienza che utilizzi come laboratorio di sperimentazione il computer si pone infine un ulteriore problema: qual'e' il ruolo dei programmi nella costruzione di una teoria scientifica? A differenza di un qualsiasi altro strumento del laboratorio, il programma che viene eseguito da un computer e' al tempo stesso l'analogo di un'apparecchiatura e l'analogo di un ricercatore! I Mondi Possibili La teoria del significato di Frege, che era stata alla base di tutti gli sviluppi matematici del secolo, postula da un lato che il significato di una proposizione sia calcolabile sulla base dei suoi valori di verita' e dall'altro lato che tali valori di verita' possano essere soltanto due: vero o falso. Al dualismo vero/falso, che limita il livello di comprensione a cui puo' ambire una teoria del significato, si e' posto rimedio investigando le quattro modalita' fondamentali di Aristotele: necessita', possibilita', contingenza e impossibilita'. Mentre la contingenza e l'impossibilita' possono essere ricondotte ai concetti di vero e falso, le altre due richiedono un'indagine piu' accurata. Il primo, in tempi moderni, a dedicarsi allo studio della "necessita'" e della "possibilita'" fu Carl Lewis nel 1918. Fu lui ad introdurre l'operatore di "necessita'" (solitamente indicato con un quadrato). Il suo duale e' l'operatore di "possibilita'" (indicato con un rombo), legato al precedente dalla relazione che la possibilita' equivale alla negazione della necessita' della negazione: p e' possibile se non e' vero che la negazione di p e' necessaria. Per esempio, la frase "e' possibile che io abbia una sorella" si puo' esprimere come 31 l'opposto di "non e' impossibile che io abbia una sorella", e, sapendo che un fatto e' "impossibile" se "deve essere vero" l'opposto di tale fatto, ovvero se tale fatto "deve essere falso" ovvero se "e' necessario che tale fatto sia falso", allora la frase originale diventa: "non e' vero che sia necessario che io non abbia una sorella". Godel tento' di assiomatizzare la logica modale aggiungendo all'assiomatizzazione della logica delle proposizioni due nuovi assiomi la necessita' di p implica p (se p e' necessaria, p e' vera) la necessita' che p implichi q implica che la necessita' di p implichi la necessita' di q (l'assiomatizzazione della logica modale del primo ordine sarebbe stata portata a termine da Ruth Barcan Marcus). Questa assiomatizzazione e' coerente con il concetto intuitivo che una proposizione necessaria e' certamente vera, ma una proposizione vera non e' detto che sia necessariamente tale. In termini tecnici questo significa che l'operatore modale e' costituzionalmente diverso dai classici connettivi logici. Non e', in particolare, possibile costruire una tabella di verita' per un operatore modale (la verita' di p non determina ne' la verita' ne' la falsita' di quadrato-p). L'importanza di questi concetti e' dovuta al bisogno di distinguere fra una frase che e' falsa perche' e' necessariamente falsa (impossibile), e una frase che e' falsa, ma potrebbe essere vera. Il motivo per cui questa distinzione non era stata apprezzata dai matematici e' che le "falsita'" della matematica sono semplicemente del tipo "impossibile": 1+1=3, per esempio. Necessita' e possibilita' sono invece utili quando si tratta di comprendere frasi relative al mondo reale. Esse esprimono, intuitivamente, la "intensione" di una situazione di verita' o falsita'. Per esempio, le estensioni della frase "l'autore di questo libro non ha mai scritto questo libro" e della frase "l' autore di questo libro e' diventato ricco" sono diverse, pur avendo la stessa intensione (sono entrambe false, ma solo la prima e' anche impossibile). In tal modo si puo' mettere in luce che anche la falsita' trasmette del significato. 32 Si possono soprattutto evitare paradossi come questo. La frase "tutte le sirene sono maschi" e' intuitivamente una proposizione falsa, ma in logica "Per ogni X sirena(X) implica che maschio(X)"; questa proposizione si puo' riscrivere (applicando la definizione dell'operatore di implicazione): "Per ogni X, o questo X non e' una sirena oppure e' un maschio"; e, siccome le sirene non esistono, per ogni X questa proposizione risulta sempre vera. La modalita' viene ricondotta formalmente all'intensionalita' (com'e' intuitivo che debba essere) utilizzando la semantica dei mondi possibili, sviluppata da Saul Kripke nel 1963. Kripke intendeva innazitutto dare una soluzione intuitivamente accettabile a un paradosso presente in tutte le logiche modali: utilizzando la legge dell'identita' di Leibniz (cioe' che se due oggetti sono uguali allora anche due applicazioni ad essi dello stesso predicato sono identiche: X=Y --> p(X)=p(Y)), si ottiene che l'identita' di due proposizioni implica la necessita' di tale identita', mentre la stella del mattino e la stella della sera sono identiche ma non e' necessario che siano identiche (potrebbero benissimo essere davvero due corpi celesti distinti, come pensavano infatti i babilonesi). Nella teoria di Kripke (una variazione dell'analoga teoria di Leibniz) un mondo possibile e' definito come un insieme di enunciati non contraddittori. Un mondo e' possibile, pertanto, relativamente a qualche altro mondo (rispetto al quale si riesce a dimostrare la non contraddittorieta'), e la relazione fra i due mondi viene chiamata "relazione di accessibilita'". Ogni predicato puo' allora essere vero in qualche mondo, e falso in qualche altro. In questo scenario si puo' definire in termini piu' precisi la distinzione di Frege fra intensione ed estensione. L' estensione di un predicato e' l'insieme dei mondi nei quali esso e' vero (non soltanto l'insieme degli oggetti che lo rendono vero) e la sua intensione e' la funzione che assegna ad ogni mondo possibile l'estensione di oggetti che soddisfano quel predicato. Per esempio, l' intensione di "rosso" assegna ad ogni mondo possibile un insieme di oggetti rossi. A differenza della logica classica, in cui un predicato ha soltanto un valore di verita', nella teoria di 33 Kripke un predicato ha associato uno spettro di valori di verita', ciascuno relativo a uno dei mondi possibili. Kripke dimostro' che la logica "modale" dell'operatore "necessita'" (quadrato) si poteva derivare da questa teoria imponendo opportune restrizioni alla relazione di accessibilita': un'espressione e' necessaria in un certo mondo quando e' vera in tutti i mondi possibili, e' possibile quando e' vera in almeno uno dei mondi possibili. L'Evoluzionismo In una forma o nell'altra il grande principio che emerge di continuo nelle teorie scientifiche del ventesimo secolo e' quello dell'evoluzionismo. Jean-Baptiste Lamarck lo espose nel 1809: le specie animali si evolvono nel tempo passando da organismi piu' semplici a organismi via via piu' complessi per effetto dell'adattamento all'ambiente. Lamarck ipotizzo' altresi' che i caratteri acquisiti da un individuo venissero trasmessi alle generazioni successive per via ereditaria. Pochi anni prima, nel 1798, Thomas Malthus aveva teorizzato l'esistenza di una legge naturale di "lotta per l'esistenza" che avrebbe come obiettivo quello di sopprimere gli individui piu' deboli della popolazione. Nel 1830 Charles Lyell inizio' a pubblicare in maniera organica i risultati sconvolgenti ottenuti dalla geologia: che l'eta' della Terra eccedeva di gran lunga quella prevista dalla Bibbia, che in un passato remoto erano esistite specie animali oggi estinte, che l'ambiente era stato tanto diverso nei millenni precedenti da rendere del tutto improbabile l'esistenza degli animali attuali. Infine nel 1848 Alfred Wallace scopri' il meccanismo di selezione naturale. Charles Darwin nel 1859 trasformo' questi dati in una teoria scientifica. Applicata su vasta scala, la lotta per l'esistenza diventa un motore creativo che non si limita a far estinguere alcune specie ma fa si' che nuove specie vengano create: gli individui piu' "adatti" alla sopravvivenza riescono infatti a trasmettere i loro caratteri genetici. L'ambiente genera pertanto una "selezione naturale" delle specie. Cio' che consente di avere in ogni istante individui piu' "adatti" e individui meno "adatti" (e cio' che differenzia profondamente Darwin da Lamarck) e' una legge che provoca variazioni casuali all'interno della stessa specie: la piu' o meno grande adattabilita' fara' si' che certe variazioni si rafforzino di generazione in generazione o si indeboliscano. Darwin dovette postulare la trasmissione ereditaria dei caratteri acquisiti, ottant'anni prima della nascita della Genetica. 34 Il piu' acceso sostenitore della teoria dell'evoluzione, Herbert Spencer, sostenne che l'evoluzione fosse una proprieta' generale dell'universo aprendo cosi' la strada all'applicazione di quei principi anche ad altri campi. Il concetto piu' importante introdotto da Wallace e Darwin fu quello di selezione naturale, secondo il quale gli organismi vengono "formati" dall'ambiente in cui vivono. Una formalizzazione matematica di esso e' stata data da A. Flew: tasso geometrico di incremento della popolazione + risorse ambientali limitate --> lotta per la sopravvivenza lotta per la sopravvivenza + variazione --> selezione naturale selezione naturale + tempo --> mutamenti biologici Benche' il titolo dell'opera capitale di Darwin fosse "L'origine della specie", Darwin non tratto' praticamente mai il problema dell'origine della specie, ma soltanto quello della sua evoluzione nel tempo. Un motivo banale per giustificare questa omissione e' che Darwin non aveva modo di definire cosa fosse "una specie" (la classificazione di Linneo di un secolo prima non forniva una definizione operazionale). Sarebbe stata la Genetica a fornire gli strumenti scientifici per definire come una specie possa smettere di essere una specie e diventare un'altra specie (una specie viene definita come un insieme di organismi che hanno in comune un insieme di geni). In era moderna i dati empirici dei ritrovamenti fossili hanno indotto i paleontologi ad ipotizzare che la nascita di nuove specie avvenga in maniera improvvisa ("speciazione quantistica") piuttosto che attraverso un'evoluzione graduale e progressiva. L'Etologia 35 Nel 1872 Darwin fondo' anche l'etologia, la disciplina che studia il comportamento delle specie animali in rapporto al loro habitat. Indirettamente l'etologia studia anche la filogenesi (l'evoluzione della specie) e l'ontogenesi (il ciclo di vita del membro tipico della specie). Per definizione doveva esistere una continuita' fra animali e uomo anche per quanto riguarda i processi mentali. L'etologia, originariamente figlia della zoologia, sarebbe diventata una delle scienze del comportamento piu' ricche di spunti per la psicologia grazie alla legge "dell'economia" di Lloyd Morgan (1894), una sorta di rasoio di Occam per etologi: tentare sempre di spiegare il comportamento sulla base dei processi inferiori, evitare, laddove sia possibile, di ricorrere ai processi superiori; e grazie al modello del "tropismo" concepito da Jacques Loeb, il quale postulava che la risposta ad uno stimolo fosse generata direttamente dallo stimolo stesso e null'altro, eliminando del tutto la necessita' di processi mentali. Nel 1938 Konrad Lorenz tento' di fondere le tendenze innatista ("gli organismi sanno fin dalla nascita come comportarsi") e ambientalista ("gli organismi reagiscono soltanto agli stimoli dell'ambiente") nel modello "oggettivista": l'azione istintiva di un animale e' determinata da un fattore interno all'animale, detto "energia specifica", e da un fattore esterno dovuto all'ambiente, detto "segnale scatenante". A conferma delle sue teorie innatiste Lorenz citava il fatto che gli animali allevati in cattivita' esibivano lo stesso comportamento "istintivo" di quelli cresciuti nel loro habitat naturale, benche' non fossero mai stati esposti prima a condizioni naturali e pertanto non avessero potuto apprendere il loro comportamento istintivo dal condizionamento del loro habitat naturale. Come aveva gia' sostenuto Darwin, Lorenz pensava che l'istinto fosse una delle caratteristiche dell'individuo trasmesse geneticamente e soggetto all'evoluzione della selezione naturale. Nel 1937 Lorenz introdusse anche il concetto di "imprinting", una forma di apprendimento che viola nel modo piu' totale la legge del condizionamento. Esempi di imprinting sono tutte le manifestazioni apprese dal neonato nei primi momenti di vita, che farebbero pensare a una estrema disponibilita' all'apprendimento e a un'estrema non-deteriorabilita' di tale apprendimento. Spalding aveva gia' fatto notare nel 1873 che i pulcini tendono a riconoscere come madre il primo oggetto che vedono muoversi subito dopo la nascita, e che non cambieranno atteggiamento per tutta la vita, a prescindere da qualsiasi tipo di condizionamento positivo o negativo a cui siano soggetti. Gli etologi furono peraltro i primi ad osservare che all'interno di ogni specie esistono dei modelli di comportamento comuni (assai diversi da specie a specie), dovuti alla 36 necessita' di adattarsi all'ambiente; ovvero che l'evoluzione influisce su tale comportamento (e viceversa). In particolare ogni specie animale e' piu' o meno sensibile a certi stimoli, e pertanto e' piu' o meno in grado di apprendere in certe aree. Il tema ricorrente degli esperimenti di etologia e' pertanto quale sia la "funzione" del comportamento esibito con regolarita' da certi organismi (quello che la teoria naif di Lorentz identificava con l'"istinto"), nella convinzione, appunto, che non siano soltanto i caratteri anatomici a derivare dall'adattamento, ma anche il comportamento. Il Behaviorismo Se la Psicologia non ha dedicato abbastanza attenzione all'Intelligenza, lo si deve in gran parte a Wundt. Wilhelm Wundt fondo' con il laboratorio di Lipsia (1879) il metodo sperimentale della psicologia, ma nel farlo "squalifico'" i processi mentali superiori, che non potevano essere "misurati" quantitativamente e pertanto sfuggivano al suo metodo. Nonostante la popolarita' dei test d'intelligenza (primo quello di Binet e Simon del 1905) tale rimase il punto di vista della psicologia teorica, che limito' infatti i propri studi all'apprendimento. Dualista secondo il modello cartesiano di separazione di mente e corpo, la psicologia "introspettiva" di derivazione wundtiana aveva come obiettivo lo studio della coscienza. I primi a reagire al dogma wundtiano furono i "funzionalisti" americani, capitanati da William James (nel 1890 uscirono i "Principi della Psicologia") e da John Dewey (suo il manifesto del 1896). Il funzionalismo applicava il darwinismo alla psicologia, considerando la mente un prodotto dell'evoluzione e uno strumento dell'adattamento. I processi mentali da un lato si adattano all'ambiente e dall'altro aiutano l'organismo (che e' un tutto inscindibile) a sopravvivere in tale ambiente. Piu' che proporre modelli introspettivi dei processi mentali, il funzionalismo ne studiava l'utilita'. Per ogni processo mentale il funzionalismo intendeva evidenziare la sua funzione, ovvero "a cosa serve". James sosteneva che il cervello non e' stato costruito per compiere sofisticate ed eleganti astrazioni, ma, piu' banalmente, per aiutarci a sopravvivere nel mondo. Cosi' anche Dewey riteneva che l'uomo pensa per vivere, e non viceversa. E' un punto di vista che ha trovato conferma nella neuro-etologia: gli studi di Humberto Maturana (1959) hanno messo in luce che le rane vedono soltanto gli insetti (cio' che a loro "serve" vedere per riuscire a sopravvivere). E' significativo che, ragionando di questo passo, James pervenisse a una visione del cervello che riecheggia molto da vicino quella neuronale, precorrendo la legge di Hebb e il modello connessionista. Dewey, applicando gli stessi principi, delineava invece una teoria della conoscenza in quanto rubrica di "tutto cio' che abbiamo imparato per 37 sopravvivere", una rubrica il cui elemento piu' tipico, formato appunto attraverso l'esperienza, era la "regola del buon senso". Pertanto il funzionalismo si proponeva come lo studio delle funzioni mentali, in contrapposizione allo "strutturalismo" di Wundt, che studiava gli elementi mentali. Parallelamente al funzionalismo si andava diffondendo l'"associazionismo", secondo il quale i processi mentali superiori sono causati da associazioni fra processi mentali piu' elementari (riprendendo cosi' l'idea degli empiristi inglesi). Hermann Ebbinghouse (1885) condusse esperimenti di tipo associativo sulla struttura della memoria, e fu forse quella la prima volta che uno psicologo tratto' un processo mentale superiore. Nel 1898 Edward Thorndike propose la piu' importante e influente delle teorie associazioniste, quella del "connessionismo": la mente e' una rete di connessioni fra i suoi elementi; l'apprendimento consiste nel connettere diversi elementi fra di loro; e il comportamento e' dovuto all'associazione fra stimoli e risposte che si genera in seguito a quella connessione. Nella prima meta' del secolo la Psicologia fu dominata dai "behavioristi", i quali trascuravano i processi cognitivi e si concentravano sui processi sensori e motori. Come evidenziato nel manifesto di John Watson (1913), il behaviorismo aveva origine dall'insoddisfazione di certi ambienti americani nei confronti degli scarsi risultati pratici ottenuti dagli psicologi introspettivi e dualisti, i cui studi lambivano le piu' gratuite speculazioni filosofiche. Influenzato dal positivismo, dal funzionalismo e dall'etologia, Watson sostenne la necessita' di abbandonare lo studio di quantita' non misurabili come quelle che hanno a che vedere con il pensiero, e di concentrarsi sul comportamento esteriore, del quale si puo' osservare e misurare il rapporto fra stimolo e responso. Tutti gli aspetti del comportamento umano vennero da Watson ricondotti a qualche forma di condizionamento, a un modello in cui le uniche variabili fossero variabili misurabili come stimolo e risposta. Il linguaggio stesso venne concepito come un comportamento sensori-motorio, come una serie di riflessi condizionati appresi dal bambino durante lo sviluppo. Watson negava all'ereditarieta' una qualunque influenza sul comportamento: in un celebre esempio arrivo' al punto da ipotizzare che si potessero costruire diversi specialisti nelle varie professioni semplicemente facendo crescere diversi bambini negli opportuni ambienti. Al behaviorismo si contrappose la scuola tedesca della Gestalt, che intendeva invece studiare i processi cognitivi. La Gestalt nasceva da un humus culturale in rapido cambiamento: l'elettromagnetismo di James Maxwell aveva dimostrato che l'effetto di un campo magnetico non e' dato dalla somma degli effetti delle sue componenti elementari; Ernst Mach aveva fatto notare nel 1885 che qualcosa di analogo capita con le percezioni spazio-temporali (la percezione della circolarita' di un cerchio non 38 dipende dal suo colore o dalle sue dimensioni); nel 1891 Christian von Ehrenfels aveva introdotto il concetto di "gestalt" tramite l'esempio di una melodia che rimane sempre tale anche quando viene suonata in un'altra tonalita' (ovvero anche se i componenti elementari vengono cambiati); il "pensiero senza immagini" scoperto da Oswald Kulpe aveva dimostrato che non era possibile spiegare tutti i fenomeni cognitivi su base puramente sensoriale; Karl Stumpf escludeva che si potesse trattare la singola percezione a se stante e riteneva invece che la percezione sensoriale fosse un fenomeno complesso; Max Wertheimer aveva illustrato nel 1912 il celebre esperimento del "movimento phi", nel quale due stati di quiete vengono percepiti come uno stato di moto, ovvero la percezione dello stato globale non dipende affatto dagli stati elementari che lo compongono; Edgar Rubin provo' nel 1921 che lo stesso disegno puo' essere percepito come figura o sfondo. Tutti questi studi mandavano agli psicologi lo stesso messaggio: una teoria che spieghi il tutto non deve necessariamente avere origine da una teoria che spieghi le sue parti (contrariamente a quanto sosteneva l'"elementismo" di Edward Titchener, il maggior discepolo dello strutturalismo di Wundt). Gli psicologi della Gestalt sostenevano proprio che l'insieme delle percezioni e' qualcosa di piu' della loro somma. La loro attenzione si volse allora a quei fenomeni di percezione che non dipendono dalle singole percezioni (per esempio, il riconoscimento di un oggetto da diverse prospettive diverse). Un classico del genere fu l'apprendimento dello scimpanze', studiato da Wolfgang Kohler (1917): con una serie di esperimenti Kohler dimostro' che lo scimpanze' acquisiva quasi istantaneamente la capacita' di risolvere certi problemi, e lo attribui' a un fenomeno di riconfigurazione dello spazio mentale (l'"insight"). Si genero' cosi' un interesse per i processi cognitivi superiori presi nella loro complessita'. Wertheimer pubblico' nel 1920 il primo trattato su questo tema: un oggetto viene percepito come un tutto unico e non come una somma di sensazioni elementari. L'unita' elementare di percezione e' la "forma". La psicologia della Gestalt reagiva al meccanicismo associazionista in quanto postulava l'esistenza della coscienza. Il fenomeno della Gestalt fu coerente con la crisi in atto del meccanicismo e del positivismo (esemplificata anche dalla nascita nel 1900 della Psicanalisi di Sigmund Freud, una scienza che si proponeva addirittura lo studio dell'"incoscio") e soprattutto con l'emergere della fenomenologia. Nel tentativo di tracciare la linea di demarcazione fra stati mentali e stati fisici, nel 1874 Franz Brentano riprese il concetto di "intenzionalita'". L'intenzionalita', cosi' come definita fin dagli scolastici nel Medioevo (dal latino "intendo"), e' la proprieta' dei fenomeni che puntano a 39 qualche altro oggetto: fenomeni che riguardano, concernono, si riferiscono a qualcos'altro. Per esempio, io posso aver paura dei leoni, e quindi la mia paura riguarda i leoni, ma i leoni non riguardano nient'altro. Secondo Brentano ogni stato psichico deve per forza "riferirsi" a qualcosa (si vede perche' ci sono cose da vedere), e ogni stato psichico e', in ultima analisi, coscienza di qualcosa (ne consegue, per esempio, una preminenza dell'atto psichico di "vedere" su "cio' che viene visto"). Tutti e soli i fenomeni mentali sono intenzionali, e questa proprieta' e' proprio cio' li differenzia da quelli fisici. La posizione di Brentano aveva creato una polemica con Frege sulla natura dei concetti matematici, che secondo Frege esistevano a prescindere dal fatto che qualcuno li concepisse. A partire dal 1900 Edmund Husserl spinse l'intuizione di Brentano alle estreme conseguenze, conferendo alla coscienza una posizione di assoluta preminenza: la sua "Fenomenologia" e' la disciplina che studia i fenomeni della coscienza, astenendosi dal postulare l'esistenza del mondo naturale. In termini brentaniani oggetto della Fenomenologia sono gli stessi atti intenzionali, non cio' a cui essi si riferiscono. Husserl non afferma (come Brentano) che ogni stato mentale si riferisca a qualcosa, ma che ogni atto di conoscere (noesi) sia intenzionale, ovvero abbia un senso (noema). La coscienza viene percio' definita dalle noesi, ovvero dal flusso di esperienze vissute dall'individuo, in maniera del tutto indipendente da cio' a cui si riferiscono. Husserl si concentro' pertanto a studiare come la coscienza strutturava l'esperienza (fenomenologia trascendentale), ipotizzando una gerarchia di livelli di significato che era dovuta esclusivamente alla coscienza individuale, mentre Martin Heidegger sostenne che l'intenzionalita', e quindi l'esperienza, fosse un fatto sociale, dovuto agli infiniti condizionamenti culturali a cui e' soggetto ciascun individuo durante la sua esistenza (fenomenologia esistenziale). Fra le conseguenze pratiche della Fenomenologia c'e' quella di riferire il significato a un contesto, contesto che, secondo Heidegger, e' un fatto sociale. Ludwig Wittgenstein adotto' nel 1953 questa linea di pensiero: ogni analisi formale del significato richiede l'esistenza di un contesto in grado di "qualificare" tale significato, e tale contesto non e' a sua volta analizzabile in modo formale. Negli ultimi anni Husserl tento' persino di catalogare il mondo quotidiano (il "lebenswelt"), ovvero tutti i possibili contesti. Nel 1945 Maurice Merleu-Ponty avanzo' l'ipotesi che il comportamento umano sia spiegabile unicamente in termini di esperienza vissuta della percezione, ovvero di compiti abituali appresi durante tutta la vita, rendendo del tutto improponibile il programma husserliano. Nel frattempo il behaviorismo americano aveva raggiunto nuove importanti conquiste teoriche. In breve le ricerche behavioriste si concentrarono sull'apprendimento. In 40 questo campo il behaviorismo non fece che raffinare ed estendere due importanti risultati dell'associazionismo. Il primo era la teoria del "condizionamento" di Ivan Pavlov (1927): se a uno stimolo incondizionato (una ciotola di carne) che provoca una certa risposta incondizionata (salivazione del cane) si associa ripetutamente uno stimolo condizionato (il suono di un campanello), dopo un numero sufficientemente elevato di volte lo stimolo condizionato (il campanello) provochera' da solo la risposta incondizionata (la salivazione). Il secondo era la "legge dell'effetto" scoperta da Thorndike nel 1905: la probabilita' che un certo stimolo causi una certa risposta e' proporzionale alla soddisfazione che essa ha prodotto in passato (alla cosiddetta "ricompensa"); la probabilita' che essa non si verifichi piu' e' inversamente proporzionale a tale ricompensa. In un certo senso la legge dell'effetto rinconciliava l'evoluzionismo darwiniano e il behaviorismo. Burrhus Skinner, che aveva spinto agli estremi il rigore behaviorista di Watson riconoscendo valore scientifico esclusivamente al comportamento esterno (stimoli e responsi), illustro' (1938) un altro tipo di condizionamento: se una risposta viene associata a un rinforzo, la probabilita' che la risposta si verifichi aumenta. Per esempio, se viene fatto cadere del cibo (rinforzo) ogni volta che l'animale preme una leva (risposta), il ratto tendera' a premere la leva sempre piu' spesso. Secondo behavioristi come Skinner tutte le forme di apprendimento sono riconducibili a fenomeni di condizionamento. Edward Tolman funse da tramite con la Gestalt con il suo "finalismo" (1932), secondo il quale il comportamento ha sempre un "fine" e tale fine viene espresso da variabili intermedie fra lo stimolo e la risposta. Per esempio, la variabile "fame" e' cio' che spinge l'animale a cacciare una preda, e lo scopo dell'animale e' quello di catturare la preda, non semplicemente quello di correre in una direzione piuttosto che l'altra. Le variabili intermedie di Tolman consentivano di ipotizzare funzioni cognitive e pertanto complicavano notevolmente il modello behaviorista di Watson. Clark Hull fu il primo (1940) ad elaborare una teoria matematica dell'apprendimento che mettesse in relazione stimoli esterni, stati corporali e comportamenti nello stesso modo formale in cui la geometria euclidea mette in relazione punti, angoli e rette. Il programma di Hull falli' perche' la sua teoria ipotetico-deduttiva dell'apprendimento non riusci' mai ad essere coerente con i risultati sperimentali. Hull pervenne alla legge del "rinforzo primario", nella quale conciliava il condizionamento pavloviano e la legge dell'effetto: se una coppia stimolo-risposta provoca una diminuzione delle necessita', allora aumenta la probabilita' che a fronte di quello stimolo si verifichi quella risposta. 41 Lo schema rigido a cui erano pervenuti Skinner e Hull esibiva in effetti incongruenze empiriche molto piu' gravi e fondamentali. Nel 1950 Karl Lashley lesiono' parti del cervello dei ratti per verificare se la relazione stimolo-risposta ne venisse debilitata, e scopri' cosi' che le loro facolta' mnemoniche degradavano ma non si perdevano mai. Cio' porto' Lashley ad ipotizzare che ogni funzione non fosse localizzata in un punto preciso della mente, ma distribuita su tutta la mente. Probabilmente suggestionato dal dualismo fra particelle e onde messo in luce dalla Meccanica Quantistica, Lashley teorizzo' che la memoria si comportasse come i campi elettromagnetici di Maxwell e che uno specifico ricordo fosse un'onda all'interno di tale campo. Esperimenti successivi (a partire da quelli di Wilder Penfield) avrebbero consentito di identificare diverse zone (o "mappe") all'interno del cervello che, come intuito da Gall, sono specializzate in certe funzioni (per esempio, mappe di frequenza nel sistema uditorio). Esiste pertanto una qualche forma di localizzazione, sia nella corteccia cerebrale sia in altre regioni del cervello, ma rimane comunque vero che nessuna funzione e' localizzabile in poche cellule contigue. In particolare gli studi compiuti da Roger Sperry a partire dal 1953 sullo "split brain", ovvero sezionando il cervello lungo il ponte (corpus callosum) che ne unisce le due meta', hanno rivelato che i due emisferi svolgono funzioni diverse e complementari: quello sinistro, come gia' scoperto da Broca, e' cruciale per le funzioni di linguaggio (in termini tecnici: "e' dominante per le funzioni di linguaggio"), quello destro e' specializzato invece nel riconoscimento ("dominante per il riconoscimento"). Al tempo stesso venne maturando l'evidenza sperimentale che sulla superficie del cervello esista una "mappa" delle funzioni sensori-motorie del corpo che dalla faringe alla lingua, dai denti al labbro arriva fino a rappresentare le funzioni sensori-motorie delle dita dei piedi. L'Epistemologia Genetica Uno dei maggiori anticipatori della scuola cognitiva fu Jean Piaget, dedicatosi a investigare gli stadi evolutivi dell'intelligenza. Piaget, in particolare, mise in luce la differenza sostanziale fra il comportamento mentale dei bambini e quello degli adulti, ipotizzando che i processi intra-psichici precedano quelli inter-psichici. Lo sviluppo e' un processo graduale in cui l'individuo diventa sempre meno egocentrico e sempre piu' oggettivo e razionale. E' un processo in cui il primato passa gradualmente dalla percezione (che e' irreversibile) al pensiero (che e' reversibile). 42 Per l'esattezza Piaget distingue quattro fasi nello sviluppo: In una prima fase (fino a due anni) il bambino esibisce una vita di pura azione esterna (sensorimotoria), nella quale la sua conoscenza del mondo e' data unicamente dalle sue azioni in esso; nella seconda fase (fino a sette anni) si manifesta un primo livello di introspezione con il formarsi dei primi simboli; la terza fase (fino a dodici anni) e' quella in cui il bambino compie azioni interne (non solo esterne) di manipolazione di simboli, ma con la limitazione che quei simboli rappresentino oggetti reali; nella quarta fase (fino a quindici anni) il bambino e' in grado di compiere operazioni puramente mentali su entita' puramente astratte. Le facolta' di pensiero non sono pertanto fissate alla nascita, ma si evolvono durante la vita, e la parte cruciale dell'evoluzione avviene durante i primissimi anni di vita. Il modo in cui si compie la progressiva acquisizione delle facolta' mentali e' tramite un'interiorizzazione ("astrazione riflessiva") delle proprie azioni. La crescita della mente ha come obiettivo quello di mantenere una sorta di equilibrio con la sua conoscenza del mondo. La teoria evolutiva di Piaget e' pertanto sottesa da un fondamento darwiniano, benche' neghi l'importanza del caso. La razionalita' puo' essere ridefinita come l'insieme dei modi in cui l'organismo si adatta al proprio ambiente (idea gia' presente in Edouard Claparede). La razionalita' si manifesta, infatti, quando e' necessario raggiungere uno stato di equilibrio con l'ambiente (ovvero risolvere un problema). Nel momento in cui tale stato e' raggiunto, la razionalita' non serve piu' e l'organismo agisce semplicemente d'"istinto" (cioe' in totale sintonia con l'ambiente). Soltanto quando l'equilibrio viene nuovamente modificato (sorge un nuovo problema), e' necessario fare ancora ricorso alla razionalita'. Lo sviluppo della ragione e' pertanto esso stesso razionale: Piaget esprime questo concetto tramite quello di "ortogenesi", di evoluzione orientata verso una ben precisa direzione (e non affidata al caso) che e' quella di aumento costante di equilibrio. Ma Piaget fa anche uso della sociologia olistica di Emile Durkheim (1893), secondo la quale il comportamento dell'individuo e' determinato dalla societa', e al tempo stesso a) il comportamento di questa non e' esprimibile come somma dei comportamenti degli individui, ma e' b) qualcosa che origina dal fatto di essere un tutto. Piaget accetta la prima parte (a) di questa concezione anti-individualista, ma confuta invece la seconda (b), sostenendo che a determinare il comportamento della societa' sono le relazioni fra i suoi individui. Il suo e' pertanto un modello in cui il comportamento del tutto non e' definito ne' da un comportamento astratto ne' dalla somma dei comportamenti delle sue parti, ma dalla "rete" di relazioni fra le sue parti (da cui il nome di "relazionismo"). 43 Da queste osservazioni Piaget derivo' un'"Epistemologia genetica" (1950) come la disciplina formale che studia la conoscenza in funzione del suo sviluppo. L'Epistemologia genetica segno' un importante punto di avvicinamento fra Logica e Psicologia, ma soprattutto sanci' la nascita dell'Epistemologia come scienza sperimentale. Prima di Piaget le teorie della conoscenza erano oscillate fra due estremi: quello di Locke, che negava qualsiasi conoscenza innata e supponeva che tutta la conoscenza derivi dall'esperienza sensoriale, e quello di Descartes (e di Leibniz), che postulava l'esistenza di idee innate tramite le quali sia possibile fabbricare conoscenza indipendentemente dai sensi. Kant aveva provato a mediare queste due visioni cosi' estreme con l'idea che fossero note a priori solo quelle "categorie" che i sensi presuppongono. Piaget forni' un modello sperimentale per studiare come si evolve la conoscenza dai primi attimi di vita fino alla maturita' e impostare in tal modo il dibattito su basi piu' scientifiche. Piaget non fu l'unico a proporre modelli evolutivi dei processi cognitive. Prima di lui ci aveva provato almeno Pierre Janet nel 1928. Secondo la teoria di Janet esiste una gerarchia di livelli di organizzazione mentale progressivamente piu' complessi. Al livello piu' primitivo ci sono le funzioni di pura risposta agli stimoli. Al livello successivo sono funzioni di adattamento all'ambiente. Poi vengono i livelli che dall'azione portano al pensiero, come linguaggio e memoria. I livelli piu' elevati hanno a che vedere con il senso dell'io, la responsabilita' morale, la capacita' di valutare e cosi' via. Questi livelli si formerebbero durante lo sviluppo e le anomalie psichiche (come l'isteria) non sarebbero altro che deficenze nell'integrazione di questi livelli gerarchici. Nella piu' recente teoria di Leo Vygotsky (1960) tutti i processi mentali superiori hanno origini sociali. Il linguaggio (nel senso piu' ampio di sistema di segni) risulta allora vitale per consentire lo sviluppo di tali processi. Studiando il modo in cui l'individuo assegna un significato a una parola fittizia, Vygotsky ne dedusse che il linguaggio ha origine per consentire l'interazione del bambino con l'ambiente, e soltanto in seguito viene interiorizzato e puo' essere utilizzato per esprimere il "pensiero". In particolare il significato di una parola e' all'inizio un fatto puramente emotivo, e soltanto col tempo acquista un preciso riferimento a un oggetto e poi un vero e proprio significato astratto. Pertanto diverse fasi dello sviluppo mentale sarebbero guidate da diverse funzioni cognitive: il bambino pensa memorizzando (una nuova memoria causa un processo mentale interno), mentre l'adulto memorizza pensando (un processo mentale interno causa la produzione di una nuova memoria). 44 Vygotsky ipotizzo' che l'unita' elementare di comportamento umano non fosse la relazione binaria fra stimolo e risposta (come sostenevano i behavioristi), ma una relazione ternaria fra stimolo, mezzo e risposta. L'Ermeneutica L'ermeneutica e' la disciplina che studia l'interpretazione dei testi. L'ermeneutica moderna nasce con Franz Schleiermacher, ovvero con la coscienza che interpretare significa recuperare il senso originale del testo in riferimento al suo ambiente (o, meglio, alla sua "weltanschauung"), eliminando le barriere culturali, storiche e linguistiche che si sono frapposte fra l'autore e il lettore. Cio' che rende necessaria l'ermeneutica e' pertanto il fluire della storia, che in qualche modo rende difficile conservare i significati originali. Non e' sufficiente saper "decodificare". In senso lato l'ermeneutica considera il testo come un mezzo per comunicare esperienza fra due soggetti: il problema e' che l'esperienza di ciascun soggetto influenza a sua volta l'interpretazione della nuova esperienza. E' proprio l'esperienza, sotto forma di linguaggio, che consente a un individuo di comprendere un testo: la capacita' di comprendere un testo presuppone la capacita' di comprendere testi. Questa circolarita' e' tipica dell'ermeneutica. L'ermeneutica nella sua accezione piu' ampia (di interpretazione del mondo) si pone in antitesi con il razionalismo cartesiano, poiche' nega che sia possibile percepire la realta' senza influenzare tale atto di percezione; l'ermeneutica sostiene anzi che la "percezione" vada vista sotto forma di interpretazione individuale. Heidegger assunse l'ermeneutica a fondamento dell'esistenza stessa: l'uomo esiste in quanto comprende il suo mondo e l'interpretazione non e' altro che l'articolazione di tale comprensione. In altre parole l'uomo reagisce "istintivamente" a certe situazioni (vi e' "gettato") senza avere il tempo di comprenderla appieno. Quella reazione "istintiva" e' l'interpretazione, ed e' dovuta al fatto di essere parte del mondo. Non ha senso tentare di distinguere l'interpretato dall'interpretante: l'esistenza e' interpretazione, e viceversa. Da qui il carattere storico dell'esistenza, che Hans Gadimer (1960) rielabora in termini di interazione con la tradizione attraverso la dimensione del linguaggio, il quale e' a sua volta tradizione. In tal modo si pongono in stretta relazione le tre entita' di storia, comprensione e linguaggio. Il significato dipende dal background culturale dell'individuo, il quale e' a sua volta il prodotto di una storia di interazioni linguistiche, le quali a loro volta furono interpretate, e cosi' via all'infinito. In altre parole, esasperando il concetto di Edward Sapir: il pensiero di un individuo e' determinato dalle tradizioni socio-storiche di una comunita' linguistica. 45 L'interpretazione oggettiva, impossibile nelle teorie di Heidegger e Gadimer, puo' essere raggiunta secondo Karl Apel e Jurgen Habermas tramite un processo di consenso democratico. Su queste basi Habermas ha intrapreso la costruzione di una "pragmatica universale", assumendo come movente fondamentale di tutti gli atti di comunicazione linguistica appaunto quello di raggiungere un consenso. Nella visione di Paul Ricoeur il linguaggio non e' soltanto un mezzo di comunicazione, ma anche un oggetto di interpretazione. La comunicazione fra l'autore e il lettore si svolge fra due mondi di simboli distinti, quello dell'autore e quello del lettore, ciascuno dei quali intende in maniera diversa l'oggetto della comunicazione. La comprensione del significato inteso dall'autore e' resa ardua per l'interferenza della soggettivita' del lettore. La comprensione si puo' compiere pertanto solo attraverso una approssimazione graduale del significato dell'autore. La circolarita' dell'ermeneutica (riconducibile al fatto che si comprende sulla base di cio' che si sa, e si sa sulla base di cio' che si e' compreso) viene qui risolta supponendo che la capacita' di comprendere si incrementi man mano che si comprende. Ricoeur tenta di riconciliare strutturalismo ed ermeneutica: lo strutturalismo descrive il funzionamento di un sistema di comunicazione chiuso e isolato, l'ermeneutica descrive invece il funzionamento dei sistemi di comunicazione in presenza di altri sistemi di comunicazione. Una radicalizzazione delle teorie che legano l'interpretazione al contesto in cui esso deve avvenire e' quella del "realismo ecologico", scaturita dagli studi psicologici di James Gibson (1979) e da quelli filosofici di Hilary Putman (1975). I realisti ecologici sostengono che le informazioni di cui fa uso ogni organismo vivente risiedono soltanto in parte nell'organismo stesso e per il resto si trovano nell' "ambiente" in cui l' organismo vive. Gibson in particolare, reagendo al modello classico della percezione elaborato da Helmholtz un secolo prima, ha trovato che esiste molta piu' informazione nel mondo di quanto sia comune credere e ha sostenuto che ogni organismo compie un processo passivo di adattamente all'ambiente per poter raccogliere e utilizzare tale informazione. Da cio' discende che la "situazione" in cui si trova l'agente linguistico e' piu' importante, ai fini dei suoi processi di comprensione, della conoscenza del linguaggio che ha a disposizione nella sua mente. Si puo' pertanto affermare che il significato risiede nelle interazioni degli individui con il loro ambiente. Idee analoghe si trovavano gia' in Thomas Reid (1785), contemporaneo e avversario di Hume (nonche' 46 avversario di tutta la tradizione cartesiana). Dal punto di vista computazionale cio' ha dei risvolti importanti: le operazioni della vita quotidiana non richiedono grandi risorse computazionali perche' l'informazione si trova gia' nel mondo. Pertanto, se il programma di costruire una macchina in grado di comprendere va radicalmente rivisto dal punto di vista di cosa si intenda per "comprendere", al tempo stesso tale programma diventa piu' realistico perche' risulta molto semplificato. Anche Terry Winograd (1986), attraverso una rielaborazione della fenomenologia e un'analisi dei risultati sperimentali di Maturana, e' pervenuto ad un'ermeneutica di tipo ecologico. L'io e' un portatore di tradizione, in quanto la conoscenza e' interpretazione post-hoc della storia e il linguaggio non fa che cristallizzare cio' che siamo. Il ragionamento e' re-interpretazione: ogni azione e' di fatto una reinterpretazione della storia dell'individuo. La Linguistica Gli studi moderni sul linguaggio possono essere fatti risalire a Gottfried Leibniz che, all'inizio del secolo diciottesimo, varo' il programma della "characteristica universalis", ovvero di un linguaggio artificiale che consenta di esprimere il pensiero umano e al tempo stesso consenta di eseguire dei calcoli logici per pervenire a nuove conoscenze. Cio' diede origine al dibattito sulla possibilita' e sulla legittimita' di costruire un tale linguaggio artificiale. Nel 1764 Johann Lambert pervenne all'intuizione che un tale programma richiedeva necessariamente la nascita di una nuova disciplina a se stante, la "semiotica", con il compito specifico di studiare quella conoscenza che sia espressa in forma simbolica. Una prima fase dello studio delle lingue aveva avuto inizio nel 1786, quando William Jones aveva fatto notare le somiglianze fra latino, greco e sanscrito, aprendo di fatto l'era della grammatica comparativa. All'inizio dell'Ottocento Jacob Grimm, nel ricostruire l'evoluzione della lingua tedesca, aveva poi formulato la legge di rotazione delle consonanti che fu la prima legge fonetica ad essere adottata per spiegare l'evoluzione delle lingue. A partire da Karl von Humboldt prevalse cosi' la visione evolutiva delle lingue che suggeri' a August Schleicher l'ambizioso programma di costruire l'albero genealogico delle lingue, ipotizzando un comune antenato di tutte e un insieme di regole in base a cui le lingue si erano differenziate nel corso dei millenni. All'inizio del Novecento Ferdinand de Saussure formulo' la teoria linguistica dello strutturalismo. Lo strutturalismo esamina il linguaggio innanzitutto prescidendo dal suo contesto (principio di "immanenza") e poi distinguendo le specifiche frasi 47 pronunciate dal codice che presiede alla loro formazione. Saussure paragono' la "langue" allo spartito di una sinfonia e la "parole" all'esecuzione di quella sinfonia da parte di una particolare orchestra. Saussure distinse anche l'analisi sincronica (l'analisi della lingua cosi' com'e') da quella diacronica (l'analisi di come si evolve la lingua). L'attenzione della linguistica si focalizzo' sull'analisi sincronica e in particolare sui diversi livelli a cui essa poteva avvenire: a livello di fonema, ovvero di suono elementare (da cui la fonologia di Nikolay Trubeckoj, 1929), a livello di morfema, ovvero di unita' elementare dotata di significato (da cui la morfologia, che studia in particolare le desinenze delle parole), a livello di parola (il lessico), a livello di frase (la sintassi, che studia le relazioni fra le parole), a livello di significato (la semantica). Fulcro dell'analisi diventava il "segno", inteso come ogni entita' che esibisca un significante (l'oggetto acustico) e un significato (il concetto mentale), oppure, nella terminologia semiotica di Louis Hjelmslev (1943), ogni entita' che esibisca "espressione" e "contenuto". Cosi' e' possibile distinguere, per esempio, i due segni corrispondenti a "nipote", entrambi con lo stesso significante ma con due significati diversi (figlio/a del fratello/sorella e figlio/a del figlio/a). Nel Dopoguerra lo strutturalismo venne rivisto in chiave funzionalista da Roman Jakobson e Andre' Martinet, entrambi dediti allo studio delle unita' linguistiche sulla base della loro funzione per i fini della comunicazione. Jakobson in particolare formalizzo' la comunicazione come un processo di trasmissione dell'informazione che ha luogo fra un emittente (sorgente del messaggio) e un ricevente (destinazione del messaggio), dal codice impiegato per rappresentare il messaggio e dal mezzo impiegato per trasmetterlo. Edward Sapir (1921) reagi' al principio dell'immanenza concependo il linguaggio come un fenomeno estremamente complesso (anche psicologico e sociale). In particolare linguaggio e pensiero risultano funzioni cognitive quantomeno complementari: il primo consente di esprimere il secondo, ma il secondo e' a sua volta influenzato dal primo (da cio' che e' possibile esprimere). Al limite il linguaggio parlato da un individuo e' fondamentale nel determinare la sua visione del mondo. In parallelo aveva continuato a prosperare la scuola logistica di Frege e Russell, con il suo programma di costruire un linguaggio artificiale. Wittgenstein, invece, riteneva impossibile formalizzare il linguaggio, sostenendo il primato del linguaggio "ordinario", il quale ha origine da una stretta interazione fra linguaggio, utente del 48 linguaggio e mondo dell'utente (Wittgenstein diceva: "non domandatevi quale sia il significato, ma a cosa serva"). George Moore attribui' cosi' una maggiore importanza al senso comune, che e' proprio cio' che si perde quando si tenta di formalizzare della conoscenza. La filosofia analitica si propose allora proprio la missione di analizzare il senso comune. I risultati piu' significativi in tale direzione vennero dalla teoria illocutoria di Austin e dalla teoria degli universi di discorso di Ryle. Gilbert Ryle sostenne che sia sempre necessario riferire un concetto all'insieme di concetti all'interno del quale e' applicabile: per esempio, il mondo dei fisici, fatto di particelle e forze, appartiene ad un universo di discorso diverso da quello del senso comune, fatto di oggetti e moti, e cosi' i concetti applicabili al primo non sono necessariamente applicabili al secondo e viceversa. John Austin intui' che ogni atto di discorso e' in realta' trino in quanto per ogni frase pronunciata (utterance), si possono distringuere tre tipi di atto: un atto "locutorio", che e' quella frase; un atto "illocutorio", che e' l'azione compiuta implicitamente nel pronunciare quella frase (per esempio, "ordinare", "suggerire", "domandare"); e un atto "perlocutorio", l'effetto di quell' atto nell'interlocutore (per esempio, suggerirgli qualcosa puo' indurlo a compiere un'azione). Nel 1933 Leonard Bloomfield, influenzato dal bahaviorismo, fondo' il "distribuzionalismo", che si proponeva di studiare il linguaggio basandosi unicamente su dati empirici (le frasi effettivamente osservate) e di interpretarlo senza far ricorso al concetto di "significato": il significato di un'espressione sara' definibile soltanto sotto forma della risposta generata a fronte dello stimolo rappresentato da quell'espressione. Elaborando statisticamente le frasi usate nel linguaggio i distribuzionalisti dimostrarono che erano possibili altre categorie grammaticali oltre a quelle tradizionali (nomi, aggettivi, pronomi, avverbi e cosi' via). Fu a questo punto che il computer consenti' di simulare numericamente le teorie linguistiche. Nacque cosi' la "Linguistica Computazionale". A dire il vero le prime applicazioni furono soltanto programmi di ausilio ai ricercatori: per esempio, programmi che contavano il numero di volte che una parola compariva in un testo. Il primo progetto ad usare il computer per trattare i fenomeni linguistici in maniera creativo fu quello della macchina "traduttrice", che avrebbe dovuto trascrivere un testo da una lingua all' altra basandosi unicamente sul vocabolario delle rispettive lingue. Il maggiore artefice di questo progetto, Warren Weaver, era stato a capo di un servizio di contro-spionaggio "elettronico" che, servendosi del COLOSSUS, aveva decodificato i messaggi segreti cifrati dell'esercito tedesco. Alla fine della guerra Weaver ebbe l'idea di considerare un linguaggio straniero come una sorta di codice cifrato, e di applicare pertanto le stesse tecniche usate sul COLOSSUS per compiere 49 traduzioni automatiche. I programmi di "machine translation" dimostrarono la debolezza delle teorie linguistiche in voga, perche' esibirono prestazioni ridicole. Nel 1957 Noam Chomsky critico' il distribuzionalismo in quanto studiava un insieme di frasi che era inevitabilmente inferiore all'insieme di frasi che l'individuo e' capace di articolare. E' ovvio, infatti, che ogni individuo e' in grado di comprendere infinite frasi che non ha mai udito prima (il lettore ha probabilmente capito questa frase, anche se probabilmente e' la prima volta che la vede in vita sua). L'approccio corretto alla grammatica non e' pertanto quello induttivo, che tenta di costruire la grammatica di un linguaggio a partire dalle frasi effettivamente usate in quel linguaggio, ma un approccio deduttivo che da una struttura astratta sia in grado di "generare" tutte le frasi che sono possibili nel linguaggio. Chomsky defini' "grammatica generativa" questa struttura, intendendo che a partire da essa possono essere generate tutte le frasi possibili del linguaggio. Una grammatica generativa e' semplicemente un insieme di regole su come costruire una frase che appartenga a quel linguaggio. Compito della linguistica diventa quello di proporre tali grammatiche e di verificare se esse generano correttamente tutte e sole le frasi che sono possibili. Anche la dicotomia langue-parole di Saussure trovo' una formulazione piu' corretta. Chomsky sollevo' infatti la distinzione fra "performance"'e "competenza", fra le frasi che un individuo usera' durante la sua intera esistenza (la sua "performance") e le frasi che e' capace di produrre ("la sua competenza") ma che non necessariamente produrra' durante la sua vita. Chomsky sosteneva che il secondo insieme, che e' praticamente infinito, e' quello che conta. Chomsky si rifaceva a fatti ovvi. Una persona non impara il linguaggio ascoltando tutte le possibili frasi di quel linguaggio, e, anche dopo che la persona ha imparato a parlare, ci saranno sempre frasi che quella persona non ha mai pronunciato o ascoltato ma che e' perfettamente in grado di pronunciare e ascoltare. Ne consegue che esiste una struttura portante del linguaggio, appresa la quale si e' in grado di parlare e capire qualunque frase. Secondo Chomsky, anzi, esiste un livello di competenza del linguaggio (la cosiddetta "grammatica universale") che e' innata, e i bambini non fanno altro che imparare una delle sintassi di superficie disponibili (italiano, inglese, spagnolo, etc). L'innatismo di Chomsky trovava anche una verifica sperimentale nella scoperta che l'emisfero sinistro del cervello era prevalentemente dedicato a funzioni linguistiche. 50 Nella cosiddetta "teoria standard" del 1965 Chomsky introdusse inoltre una distinzione fra la struttura "superficiale" di una frase e la sua struttura "profonda". Piu' frasi possono avere la stessa struttura di fondo pur essendo "superficialmente" diverse (per esempio, la forma attiva e la forma passiva della stessa azione: "Teresa guarda Aldo", e "Aldo e' guardato da Teresa"). L' idea non era nuova: era stato proprio l' insegnante di Chomsky, Zellig Harris nel 1957, il primo a far notare questa proprieta' dei linguaggi, e a introdurre il termine "trasformazionale", appunto perche' si tratta di trasformare la frase superficiale nella sua struttura profonda. Dal canto suo Jerrold Katz (1964) ipotizzo' che l'interpretazione del significato di una frase fosse completamente determinata dalla sua struttura profonda: frasi diverse con la stessa struttura profonda devono essere sinonime. Katz propose di utilizzare un "lessico" che, per ogni voce lessicale del vocabolario, fornisse le informazioni sintattiche (ovvero classificasse la parola: sostantivo, verbo, aggettivo, etc.) e le informazioni semantiche ("semantic marker"). Per esempio, "rosa" e' un sostantivo (informazione sintattica) che puo' significare il colore rosa oppure il fiore rosa (informazione semantica). L'inadeguatezza dell'ipotesi di Katz venne subito messa in luce, pero', da esempi banali di frasi che cambiano di significato nel passaggio da forma attiva a forma passiva: "tutte le persona della stanza sanno parlare almeno due lingue" non e' equivalente a "almeno due lingue sono parlate da tutte le persone nella stanza" (la seconda frase implica che tutte le persone parlano almeno le stesse due lingue, mentre la prima consente che ciascuna persona parli lingue diverse da quelle parlate dalle altre persone). La teoria standard defini' una grammatica come l'insieme di tre componenti: la sintassi e' la componente generativa del linguaggio: genera la sua struttura profonda e la trasforma per produrre la struttura di superficie; la semantica e' la componente "interpretativa": opera sulla struttura profonda e genera i possibili significati; la componente fonologica genera, a partire dalla struttura superficiale, la corrispondente sequenza di suoni. La grammatica generativa di Chomsky fece compiere un enorme balzo in avanti alla linguistica computazionale, che finalmente poteva trasformare una teoria linguistica in un algoritmo. Alla grammatica di Chomsky si aggiunsero col tempo altri tipi di grammatiche. Cio' che caratterizza ciascun tipo e' il modo in cui vengono generate le regole sintattiche per combinare le parole in una frase corretta. 51 Una linea di pensiero a parte e' quella che contesta l'idea stessa della sintassi generativa di Chomsky (secondo la quale prima le regole sintattiche generano la struttura base e poi le regole trasformazionali la convertono nella struttura superficiale). Da un lato Charles Fries sostenne (1952) che il linguaggio viene generato a partire da stereotipi di frase ("sentence frames") che non hanno bisogno di essere generati e che questo spiega la rapidita' della conversazione: la differenza fra padronanza degli stereotipi e padronanza della grammatica e' la differenza fra pratica e teoria, fra esperto e novizio, fra una lingua appresa dal vivo e una lingua appresa a scuola. Dall'altro Petr Sgall (1964) propose una semantica generativa nella quale la struttura base viene generata da regole semantiche, mentre le regole sintattiche la convertono poi in struttura superficiale. La Neurolinguistica Il modo in cui viene appreso (o, meglio, acquisito) il linguaggio e' stato oggetto di studio da parte dei neuropsicologici e dei neurobiologi. Piaget considera l'apprendimento del linguaggio all'interno di uno sviluppo cognitivo di piu' ampia portata e pertanto lo fa derivare dal bisogno del bambino di edificare un sistema cognitivo per comunicare. Piaget assume, implicitamente, che esista un bisogno primario di comunicare. All'innatismo chomskyano si contrappongono diversi sostenitori dell'empirismo, secondo i quali le lingue sono troppo diverse fra di loro per poter ipotizzare l'esistenza di una "grammatica universale" che sia innata in tutti e che presieda allo sviluppo delle singole grammatiche nazionali. All'estremo opposto di Chomsky si situa Skinner, secondo il quale l'apprendimento del linguaggio si potrebbe addirittura compiere sulla base di puro condizionamento stimolo-risposta. E. Gold nel 1967 ha dimostrato un importante teorema che sembra dar ragione a Chomsky: ogni famiglia contenente tutti i linguaggi finiti e un linguaggio infinito non e' identificabile sulla base unicamente di esempi corretti. E' noto che i bambini imparano il linguaggio a partire dagli esempi di frasi corrette che vengono forniti loro. Gold dimostra che a partire da un insieme, per quanto grande, di tali frasi non e' possibile "indurre" la grammatica di una lingua. Dimostra, cioe', che, se i bambini non avessero della conoscenza innata sulla grammatica, non sarebbero in grado di apprendere nessuna lingua. L'"inferenza grammaticale" e' la teoria secondo la quale la grammatica puo' essere indotta da un certo numero di frasi corrette poiche' esiste un numero limitato di possibili grammatiche e il bambino deve soltanto identificare la grammatica corretta (all'interno di quell'insieme limitato) che e' coerente con le frasi note. 52 Esistono peraltro confutazioni empiriche e logiche della teoria di Gold. Tramite l'astrazione degli "alberi di predicazione" F. Keil (1979) ha verificato che i bambini apprendono in realta' per gradi, estendendo la loro conoscenza dei concetti nel modo piu' "minimale" possibile: dato un albero di predicazione che descrive i concetti noti e un nuovo concetto, il bambino costruisce l'albero di predicazione che include tanto i vecchi quanto il nuovo concetto e che non contiene nessun altro albero che includa gli stessi concetti. Parallelamente D. Angluin (1978) ha dimostrato che al teorema di Gold si puo' ovviare assumendo che in ogni istante venga indotta la grammatica piu' piccola che e' possibile indurre sulla base degli esempi noti. Questa e' anzi condizione necessaria e sufficiente per l'acquisizione di un linguaggio ricorsivo. I modelli connessionisti assumono che sia innata una rete di connessioni riguardante il linguaggio e che l'apprendimento di questo o quel linguaggio provochi una specifica configurazione di tale rete tramite rafforzamento o indebolimento delle connessioni rispettivamente utili o inutili a comprendere quel linguaggio. Piu' correttamente il modello neuro-linguistico prevede che fattori genetici determinino la crescita e lo sviluppo di diversi organi mentali, fra cui quelli che danno luogo alla facolta' linguistica. Questi organi sono in gran parte uniformi per tutti gli individui: due individui che parlino la stessa lingua possono infatti comunicare fra di loro anche su un soggetto che non abbiano mai trattato prima in vita loro. Evidentemente i loro organi mentali hanno qualcosa in comune, ed e' quel qualcosa che consente loro di comunicare con i propri simili indipendentemente dalla loro esperienza passata. Questo "qualcosa" non puo' pertanto essere dovuto all'esperienza del singolo individuo, ma deve essere presente per definizione in tutti gli individui, ovvero innato. Chomsky paragona la capacita' innata di comprendere il linguaggio alla capacita' innata che hanno gli uccelli di volare. La Semiotica La semiotica, "fondata" da Hjelmslev nel 1943, aveva avuto due importanti precursori in Charles Peirce e Charles Morris. Peirce ricondusse tutta la conoscenza umana al concetto di segno e identifico' tre tipi di segni: indice (che ha un rapporto di causalita' con il suo referente), icona (che ha un rapporto di similarita' con il suo referente), simbolo (che ha invece un rapporto puramente convenzionale con il suo referente). Cosi' il cavallino che denota le Ferrari e' un simbolo (la sua relazione con l'oggetto e' una pura convenzione), mentre la 53 fotografia di una Ferrari appesa nell'ufficio di un concessionario e' un'icona (fra la fotografia e l'auto vera esiste un'ovvia relazione di similarita'). La stragrande maggioranza delle parole che utilizziamo sono simboli: "sedia", "albero", "cielo", "amare" e cosi' via sono tutti segni puramente convenzionali. Il cinema fa invece spesso ricorso agli indici: nuvole scure preannunciano la pioggia, la cenere in un portacenere segnala la recente presenza di qualcuno nella stanza, e cosi' via. Nel 1938 Morris ridefini' i livelli a cui si puo' studiare un linguaggio di segni: la sintassi, che studia la relazione fra segni e segni ("la" e' un "articolo", "rosa" e' un "sostantivo", "bianca" e' un "aggettivo"), la semantica, che studia la relazione fra segni e oggetti ("la rosa e' bianca" significa che c'e' una rosa bianca), la pragmatica, che studia la relazione fra segni, oggetti e utenti ("la rosa e' bianca" puo', per esempio, essere detto per correggere qualcuno che aveva appena sostenuto che fosse rossa). Da un lato la semiotica ha studiato i segni come mezzo di comunicazione (Luis Prieto), per esempio l'alfabeto Braille e i segnali stradali, dall'altro e' stata invece utilizzata per investigare i fenomeni socio-culturali (Roland Barthes), dal cinema alla letteratura. La prima accezione in particolare ha contribuito alla teoria della comunicazione esplorando i concetti di "codice" e di "messaggio". Un codice e' definito come un insieme di simboli (l'"alfabeto") e un insieme di regole ("grammatica"). Il codice mette in relazione un sistema di significanti (di espressioni) con un sistema di significati (di contenuti). Un messaggio e' definito come un insieme di simboli dell'alfabeto ordinato secondo le regole della grammatica. Il linguaggio puo' essere visto come un caso particolare di comunicazione e pertanto essere ricondotto a questo tipo di analisi. Una frase diventa un processo di codificazione (per chi la pronuncia) e decodificazione (per chi la ascolta). Nel 1984 James Fetzer ha proposto di generalizzare semioticamente l'ipotesi di Newell e Simon e di postulare che la mente umana sia un elaboratore di segni, invece che soltanto un elaboratore di simboli. Se definiamo un "sistema" in generale come un insieme di oggetti dotato di una configurazione e un "sistema causale" come un insieme di oggetti la cui configurazione e' data da relazioni causali fra i suoi oggetti, un "sistema semiotico" puo' essere caratterizzato come un sistema causale il cui comportamento puo' essere influenzato da segni che si riferiscono ad esso. Se la mente umana e' un sistema semiotico, e sapendo che il computer e' un sistema soltanto simbolico, occorre prima riuscire ad inventare una macchina che possa fungere anche da sistema semiotico. Questa posizione ha degli aspetti intuitivamente interessanti: condizione necessaria affinche' un sistema causale possa essere anche un 54 sistema semiotico e' che esso possa commettere errori... una delle poche cose che un computer certamente non sa fare e che la mente umana certamente fa spesso. L'Intuizionismo Al programma logistico reagirono gli intuizionisti. A partire dal 1912, quando Clarence Lewis aveva fatto notare alcuni paradossi del linguaggio logico, il potere di suggestione del programma di Russell e Whitehead era andato scemando. Sotto accusa erano soprattutto l'operatore OR, che non corrisponde completamente alla disgiunzione "o", e l'operatore di implicazione ("p --> q"), che non corrisponde esattamente al "se" del linguaggio comune ("se p allora q"). L'operatore OR fornisce come risultato "vero" se almeno una delle due espressioni disgiunte e' vera, mentre la disgiunzione "o" del linguaggio comune segue quella regola logica soltanto se le due espressioni sono semanticamente correlate: "o mi chiamo Piero Scaruffi o mi chiamo ~Marylin Monroe" ha senso, ma "o mi chiamo Piero Scaruffi o gli elefanti volano" non ha senso. Nella Logica Matematica, invece, la seconda espressione risulta vera se io vado. L'operatore di implicazione fornisce come risultato "falso" soltanto se l'espressione implicante e' vera e l'implicata e' falsa; pertanto "se io sono cinese, allora sono italiano" risulta non falsa, e cioe' vera. Anche l'estensionalita' del linguaggio logico non corrispondeva a quella del linguaggio comune: "ogni unicorno e' un'aquila" viene rappresentata come un'espressione logica "per-ogni X, se X e' un unicorno, allora X e' un'aquila", la quale, di nuovo, risulta vera perche' gli unicorni non esistono. Nel 1925 Luitzen Brouwer inizio' a rifondare la matematica negando qualsiasi valore al potere inferenziale del linguaggio formale e limitandosi ad utilizzare concetti che rappresentassero oggetti reali. A dare statura scientifica al programma intuizionista fu Arend Heyting (1930), che lo ricondusse altresi' nell'ambito dei linguaggi formali. La logica intuizionista parte dal presupposto che una formula sia un'asserzione sulla possibilita' di costruirla mentalmente. Vengono pertanto banditi tutti gli espedienti logici che non possono essere costruiti, a partire dalla negazione di una proposizione vera e compresa la stessa dimostrazione per assurdo (secondo la quale la negazione della negazione di una verita' e' ancora una verita'), due operazioni che utilizzano concetti che non e' possibile costruire mentalmente. Alcuni teoremi della logica classica non sono pertanto tali nella logica intuizionistica. Il significato di un'espressione non sta nelle sue condizioni di verita', ma nel modo di dimostrarla. Gli operatori logici vengono coerentemente definiti specificando non la relativa tabella di verita', ma come possano essere dimostrate le espressioni che li contengono. Cosi', per esempio, "p OR q" significa che una dimostrazione di "p OR q" e' una dimostrazione di p oppure una dimostrazione di q. Il quantificatore universale "per-ogni X e' vero che p(X)" significa che la dimostrazione di "per-ogni 55 X e' vero che p(X)" e' una funzione di costruzione che, applicata a un particolare X1, fornisce una dimostrazione di p(X1). La teoria dei tipi di Per Martin-Lof (1973) formalizzera' il metodo costruttivo delle dimostrazioni matematiche (ovvero definira' meglio quelle "funzioni di costruzione"): le proposizioni di tipo A sono l'insieme P(A) delle dimostrazioni di A; allora se A1 e' un oggetto di tipo A, e' possibile interpretare A come un problema (o, meglio, come la specificazione di un problema) e A1 come uno specifico programma che lo puo' risolvere. La teoria dei tipi si riduce cosi' a una teoria della programmazione (con un linguaggio di programmazione assai simile al calcolo Lambda) che costituisce uno strumento per la specificazione, costruzione e verifica di programmi. Un altro derivato indiretto del pensiero intuizionista (che la verita' possa essere stabilita soltanto attraverso un processo di "falsificazione" e di "verificazione") e' la semantica di Jaakko Hintikka (1973), detta "game-theoretic" per distinguerla da quella proof-theoretic di Frege e da quella model-theoretic di Tarski, che accetta la logica dei predicati, ma la personalizza ad ogni specifico dominio in cui venga utilizzata. Il problema non e' tanto quello di decidere cosa sia lecito o non lecito calcolare, ma come sia lecito stabilire se alla fine l'espressione calcolata e' vera o falsa. Nella semantica game-theoretic la verita' di un'espressione viene stabilita attraverso un insieme di regole semantiche dipendenti dal dominio. Le regole definiscono un "gioco" fra due agenti, il primo intenzionato a "convalidare" e il secondo a "refutare" l'espressione. L'espressione e' vera se vince il primo agente. Siccome le regole dipendono dal dominio, la semantica puo' essere personalizzata, e al limite puo' diventare anche quella degli intuizionisti. Al tempo stesso la personalizzazione costituisce uno strumento efficiente per rendere piu' rapida la computazione: le regole possono infatti specificare l'euristica che rende accettabile, benche' non esatto, un certo tipo di ragionamento nel contesto di quel dominio. Mentre nella logica classica occorre prendere in considerazione tutte le strade possibili prima di poter affermare di aver dimostrato un teorema, nella semantica game-theoretic e' possibile impiegare delle regole che stabiliscono quando il teorema puo' considerarsi "sufficientemente" dimostrato. Psicologia Cognitiva In parallelo lo studio del funzionamento della memoria era progredito grazie ad alcune intuizioni cruciali. Fredrick Bartlett nel 1932 aveva fatto notare il carattere "ricostruttivo" della memoria. Nessuno e' in grado di ricordarsi nei minimi dettagli tutte le scene di un film, anche se riesce con facilita' a raccontarne la trama. Lo stesso vale per un qualsiasi altro tipo di racconto: la memoria e' sempre in grado di 56 "ricostruire" l'accaduto, anche se non ricorda affatto l'accaduto cosi' come accadde. Evidentemente la memoria conserva informazioni sufficienti a compiere tale "ricostruzione", organizzate in maniera diversa da come le si sono presentate. Wittgenstein nel 1953 fece a sua volta notare come sia intuitivo classificare nella stessa categoria concetti che in realta' non hanno quasi nulla in comune, e porto' l'esempio dello sport. E' chiaro che il calcio, la pesca, il solitario a carte, gli scacchi sono tutti esempi della categoria "sport", ma non e' chiaro quale sia la caratteristica che li accomuna: non tutti sono competitivi e non tutti sono esercizi fisici, mentre d'altro canto alcuni sono individuali e altri no, alcuni si svolgono all'aperto e altri no. Cio' che fa raggruppare calcio, pesca, scacchi e solitario sotto la stessa categoria non e' tanto la presenza di alcune caratteristiche comuni quanto la somiglianza fra di loro. La memoria produrrebbe cioe' categorie attraverso una qualche forma di affinita' piuttosto che attraverso un rigido processo di classificazione. La psicologia cognitiva degli anni Sessanta, ispirandosi a lavori gestalt-iani (in particolare quelli sull'auto-correzione della mente umana di Kenneth Craik del 1943, quelli sul ragionamento di Karl Duncker del 1945, quelli sulla memoria di George Miller del 1956 e quelli sulla percezione di Wertheimer del 1958-59), adotto' il paradigma dell'elaborazione dell'informazione (per l'esattezza dopo che nel 1958 Donald Broadbent aveva proposto un modello di interazione fra sensori e memoria basato su quel paradigma). Cosi' Harry Jerison (1973), per esempio, definisce l'intelligenza come la capacita' totale di elaborazione di informazione di cui e' dotato un organismo. Non solo l'intelligenza non e' piu' un fenomeno esclusivamente umano, ma Jerison ipotizza anzi una teoria filogenetica dell'intelligenza che faccia discendere quella umana dal comportamento delle specie inferiori tramite i soliti meccanismi dell'adattamento (come aveva gia' sostenuto Thomas Huxley nel 1863), basandosi sull'evidenza empirica dei crani fossili (ovvero sulla scoperta del processo dell'encefalizzazione). Ogni nicchia ecologica causa un processo evolutivo che seleziona un insieme di attributi, uno dei quali e' l'intelligenza. L'intelligenza risulta essere semplicemente uno dei tanti fattori biologici che concorrono a definire l'evoluzione della specie. In alcune nicchie ecologiche l'intelligenza puo' essere piu' importante e in altre meno. Per esempio alcune specie di scimmie esibiscono un tipo di intelligenza "linguistica" simile a quella umana, ma cio' non le rende piu' efficaci di altre specie nell'ambiente naturale di queste. L'intelligenza diventa pertanto un concetto molto relativo: l'intelligenza necessaria ad elaborare l'informazione di una certa nicchia ecologica puo' essere del tutto diversa da quella necessaria in un'altra nicchia. 57 La teoria ontogenica dell'intelligenza di Robert Siegler (1976) ipotizza altresi' che l'intelligenza di un individuo si sviluppi attraverso l'acquisizione dall'ambiente di regole via via piu' complesse. In ogni istante l'individuo si trova in un certo stato di conoscenza e puo' applicare quello stato ad una nuova situazione per dedurre quale regola utilizzare. Se la regola si rivela sbagliata, lo stato di conoscenza viene aggiornato con una nuova regola. Tuttora irrisolto e' il dilemma su quanto contribuiscano rispettivamente la genetica e l'ambiente all'intelligenza di un individuo. Dal primo studio statistico di Barbara Burks sui figli adottati (1928) fino ad oggi si sono susseguiti dati controversi e contrastanti. Neuropsicologia Agli inizi degli anni Sessanta nacque la Neuropsicologia, interessata a studiare le relazioni fra cervello e comportamento. Il suo metodo sperimentale era quello di paleo-neuropsicologi come Lashley e Sperry: osservare quali cambiamento di comportamento siano causati da certe lesioni cerebrali. Al limite la neuropsicologia studia il senso dell'io nell'accezione piu' ampia del termine. In particolare grande fascino ha suscitato sui neuropsicologi la teoria dello "split brain" di Sperry e la constazione che i due emisferi dello "split brain" esibiscano personalita' indipendenti. Il modello piu' accettato e' quello secondo il quale l'emisfero sinistro elabora informazioni in modo analitico e distribuito mentre quello destro elabora informazioni in modo sintetico (o analogico) e olistico. Per esempio, Joseph Altman (1978) ha tentato una localizzazione gerarchica delle funzioni cerebrali: il paleoencefalo (la parte dominante nei pesci e nei vertebrati inferiori) costituisce il livello "patico" al quale vengono prodotte le risposte a stimoli immediati; il neencefalo (la corteccia cerebrale, dominante nei mammiferi) costituisce il livello "iconico" al quale si genera il senso dell'io, la coscienza di esistere; l'antropocefalo (l'emisfero dominante del cervello umano) costituisce il livello "noetico" al quale si svolgono le attivita' di linguaggio. Nel 1969 il neurologo Henri Hecaen e il linguista Armand Dubois, fondendo la neuropsicologia alla linguistica, diedero vita alla neurolinguistica, la cui missione e' di studiare i disordini di carattere linguistico causati da lesioni cerebrali e il cui fine e' di scoprire la struttura anatomica delle funzioni linguistiche. Gli studi di Vygotsky (1937) sul rapporto fra pensiero e linguaggio originarono a loro volta la psicolinguistica, interessata appunto a capire come il pensiero venisse trasdotto dalla mente in comportamento verbale. Alexander Luria, un discepolo di Vygotsky, 58 applico' la neurolinguistica alla psicolinguistica, ovvero tento' di pervenire alla comprensione dei meccanismi linguistici tramite il metodo delle lesioni cerebrali. Luria comprese in tal modo che la produzione di un atto verbale e' un processo estremamente complesso al quale partecipano funzioni assai diverse, distribuite in punti diversi del cervello. Una lesione in un certo punto causa infatti la perdita di una qualche funzione linguistica, ma senza compromettere il grosso delle capacita' di comprensione ed espressione dell'individuo. La neurolinguistica ha trovato una missione ben precisa dopo che George Miller (nel 1962) ha sostenuto che le regole "trasformazionali" delle grammatiche di Chomsky corrispondano a processi mentali compiuti durante la comprensione del linguaggio. Nel 1974 Fodor ha confortato questa tesi quando ha avanzato l'ipotesi che la percezione di una frase contempli un processo atto a reperirne la struttura profonda. La Teoria Computazionale della mente A definire una teoria computazionale della mente hanno contribuito almeno tre diverse scuole di pensiero. La prima, quella behaviorista, studia stati comportamentali e riduce tutti i fenomeni cognitivi a una qualche forma di performance. Lo stato comportamentale e' definito da un input (stimolo) e un output (responso). Il behaviorismo ignora gli stati mentali. La scuola fisicalista studia invece gli stati fisici e pertanto la struttura neurobiologica del cervello. In questo modello lo stato mentale viene identificato con lo stato fisico: ogni stato mentale e' "realizzato" da uno stato fisico. Il fisicalismo trascura il paradosso della "multiple-realization": lo stesso algoritmo puo' essere eseguito da diversi macchinari (nonche' esseri umani) attraverso stati fisici diversi. Strutture diverse possono dar origine allo stesso comportamento. Questo paradosso e' stato verificato sperimentalmente: il cervello e' spesso in grado di sostituire una sua parte danneggiata con altre parti in modo che la funzione mentale corrispondente sia ancora possibile. Per tale ragione la terza di queste scuole, quella funzionalista, propone di identificare gli stati mentali con gli stati funzionali del cervello, e che essi abbiano una funzione causale (per esempio, avere fame spinge a cercare del cibo). Tali stati mentali saranno allora definiti da input, output e dalla relazione causale con altri stati mentali. Dal punto di vista computazionale cio' equivale a stabilire un primato del software sull'hardware. 59 Il funzionalismo ricade pero' nel problema millenario dell'"homunculus": il suo modello presuppone l'esistenza di agenti mentali in grado di compiere le stesse operazioni mentali che il modello intende spiegare. Daniel Dennett ha risolto questo problema supponendo l'esistenza di una gerarchia di homunculi, via via meno cognitivi, fino ad un livello in cui si e' persa qualsiasi capacita' cognitiva. Ogni livello contribuisce a realizzare il livello superiore: l'esistenza di homunculi ai livelli superiori e' puramente illusoria, perche' essi sono (in ultima analisi) il prodotto molto complesso di molte strutture non cognitive del livello piu' basso. Per ora lo scopo delle teorie computazionali della mente non sembra essere tanto quello di costruire un modello computazionale della mente quanto quello di dimostrare che cio' sia possibile. Se vogliamo, tutto ebbe origine da un'affermazione di Descartes del 1637: la macchina non potra' mai pensare perche' non sara' mai in grado di rispondere a qualsiasi domanda con la stessa proprieta' dell'uomo. Il "test di Turing" non fa che usare quell'affermazione come un metodo per verificare se la macchina possa diventare intelligente. Il test di Turing origina da un approccio tipicamente behaviorista: se il comportamento della macchina e' uguale al comportamento della mente, allora la macchina e' intelligente. Il test si presta a due critiche di segno opposto. Secondo alcuni il test e' troppo difficile: e' veramente necessario saper rispondere a tutte le possibili domande per essere intelligenti? Secondo altri e' troppo facile: Block ha proposto la costruzione di una macchina ideale che sia stata istruita a rispondere a ogni possibile domanda secondo certi standard di conversazione, e che pure non sarebbe paragonabile all'intelligenza umana. Il paradosso di Searle del 1980 e' quello che meglio riassume la critica. Supponiamo di voler stabilire non l'intelligenza di una macchina ma la conoscenza della lingua cinese di cui e' dotato un soggetto, e supponiamo di applicare il metodo behavorista di Turing chiudendo in una stanza il soggetto e lasciando che un cinese gli ponga domande di qualsiasi natura: se il soggetto sara' in grado di rispondere a tutte le domande, il cinese ne dedurra' che comprende la lingua cinese. Ma supponiamo che il soggetto non abbia alcuna idea di cosa sia la lingua cinese, ma, molto semplicemente, sia stato dotato di un manuale che spiega come rispondere ad ogni stringa di simboli cinesi: data una certa stringa di simboli, elaborarla in certi modi per produrre una nuova stringa di simboli e rispondere con questa nuova stringa. In apparenza il soggetto esibira' la capacita' di comprendere la lingua cinese, nonostante sia evidente che "non sa" il cinese. Analogamente Searle valuta il test di Turing: se anche mai si costruisse un elaboratore simbolico in grado di elaborare i simboli di una domanda e 60 produrre correttamente i simboli della risposta, si trattera' sempre e soltanto di un elaboratore di simboli, non di un essere intelligente. Sono state mosse diverse critiche al paradosso di Searle. Da un lato c'e' chi ha fatto notare che si tratta di una tautologia. Searle assume che il trascodificatore non capisca il cinese, mentre e' cio' che dovrebbe dimostrare. Se gli chiedesse in cinese "capisci il cinese"?, il trascodificatore risponderebbe di si'. In realta' Searle non ha modo di dimostrare che l'uomo non capisce il cinese, a meno di postularlo fin dall'inizio. D'altro canto si puo' anche far notare un'imprecisione nella stessa esposizione del test: il trascodificatore non e' intelligente, ma il trascodificatore "piu'" le regole di trascodifica (ovvero "la stanza" nel suo insieme) lo sono. Ma nessuna di queste critiche puo' cambiare il punto fondamentale del pensiero di Searle: un sistema che si limiti ad elaborare simboli, senza avere "coscienza", non puo' essere considerato equivalente a un essere pensante, anche se la sua performance lo fosse. Il problema e', insomma, che il computer non sta capendo che sta capendo. Si puo' interpretare questa posizione come "un processo computazionale non puo' essere un processo mentale"; o, in altre parole, "una mente non e' un programma". Elhanan Motzkin ha riassunto un'altra linea di pensiero in questo modo. Chiedersi se un computer sia intelligente e' come chiedersi se una commedia faccia ridere: e' l'autore, non il testo, a farci ridere. E' il programmatore, non il programma, ad essere intelligente. (A questa obiezione gli informatici hanno pero' una risposta pronta: e se il programmatore fosse a sua volta una macchina? Esistono gia' macchine che programmano altre macchine). Donald Donaldson ha attaccato il problema da un altro punto di vista: cosa bisogna aggiungere a un computer affinche' possa essere considerato intelligente? quando un essere non intelligente diventa intelligente? La domanda duale e': cosa possiamo togliere a un essere umano senza che per questo smetta di essere intelligente? Fra le proprieta' "sottraibili" possiamo elencare l'origine, la materia, la forma. Fra le proprieta' indispensabili emerge l'intenzionalita', che, non a caso, e' secondo Dennett anche la vera molla del paradosso di Searle. Naturalmente si possono elencare altre proprieta' che qualificano un agente come "cognitivo", per esempio il senso dell'io. 61 Come ha scritto Fred Dretske (1985): un computer non sa "cio'" che sta facendo, pertanto "quello" non e' cio' che sta facendo. Per esempio, un computer non "calcola" che 5 piu' 7 fa 12: da una rappresentazione fisica del numero 5, da una rappresentazione fisica del numero 7 e da una rappresentazione fisica dell'operatore di addizione ricava una rappresentazione fisica che e' quella del numero 12. Altre critiche al programma dell'Intelligenza Artificiale sono state mosse dal punto di vista dei sistemi formali. Nel 1961 Lucas aveva gia' ripreso il teorema di Godel, facendo notare come esso stabilisca un chiaro primato della mente umana sulla macchina: alcune operazioni matematiche non sono computabili (in ogni sistema formale esiste almeno una proposizione che non puo' essere dimostrata), eppure la mente umana riesce a trattarle, o quantomeno a dimostrare che non sono computabili. Ergo la mente umana puo' calcolare cose che la macchina non puo' calcolare. (D'altro canto una macchina potrebbe compiere quella dimostrazione relativamente ad ogni altra macchina, e pertanto essere equivalente alla mente umana). Nel 1979 Hubert Dreyfus ha attaccato il programma dell'Intelligenza Artificiale da una prospettiva fenomenologica. Riallacciandosi a Husserl, Dreyfus sostiene che la comprensione non puo' mai prescindere dal contesto in cui avviene. Per di piu' tale contesto e' dato da un coacervo di situazioni storico-culturali che hanno a che vedere con l'esperienza di ciascun individuo, le quali (seguendo Heidegger e il secondo Wittgenstein) non e' possibile formalizzare e pertanto non e' possibile rappresentare alla macchina. Infine alcuni pensatori tendono a negare la possibilita' che la mente umana possa comprendere se stessa, o, in termini computazionali, che un automa possa spiegare il proprio funzionamento, o ancora, in termini logici, che un sistema formale possa derivare dai propri teoremi gli assiomi e le regole di inferenza che lo definiscono. La mente avrebbe cioe' un limite fisiologico che le impedirebbe di poter comprendere se stessa. Se le mie facolta' cognitive sono modellate sulla necessita' di sopravvivere, come hanno sostenuto un po' tutti da William James in poi, e' probabile che quella di comprendere il loro stesso funzionamento sia del tutto inessenziale a quei fini e pertanto non sia presente. D'altro canto il fatto che io stia scrivendo questo libro non pare aver nulla a che fare con la lotta per la sopravvivenza o l'adattamento al mio ambiente, eppure e' un fatto che io lo stia scrivendo (e che il lettore lo stia leggendo). Qualunque sia l'opinione in merito, non bisognerebbe mai dimenticare che la disciplina dell'Intelligenza Artificiale e' innanzitutto una tecnologia, in quanto 62 dipendente dall'esistenza di una macchina, e tale tecnologia e' suscettibile di sviluppi oggi inimmaginabili. Alcune delle critiche mosse al programma dell'Intelligenza Artificiale sono dovute a semplici limiti tecnologici. E' come se qualcuno, secoli fa, avesse sostenuto l'impossibilita' di costruire macchine volanti. Oggi gli aerei non sono solo possibili, sono anche molto diffusi. Per esempio, molti sembrano non essere al corrente dell'esistenza di computer con architettura parallela, in grado cioe' di eseguire piu' di una istruzione alla volta e pertanto di superare una delle limitazioni piu' criticate dell'architettura di Von Neumann. Un esempio classico di scarsa preveggenza fu il ragionamento di Yehoshua Bar-Hillel il quale, convinto assertore dell'importanza del contesto, nel 1960 affermo' che un computer, per poter comprendere il linguaggio umano, avrebbe dovuto non solo disporre dell'intero dizionario della lingua, impresa che gia' pareva impossibile, ma addirittua dell'Encyclopaedia Britannica: oggi una banale unita' CDROM, disponibile per molti personal computer, puo' comodamente contenere tutti i volumi di quella e molte altre enciclopedie. Messa in questi termini la questione, non e' facile rispondere alla domanda "dimmi una cosa che sara' sempre impossibile, qualunque sia il progresso della tecnologia". L'unico modo per dimostrare l'impossibilita' di qualcosa e' quello di dimostrarne la contraddittorieta' in un sistema formale che rappresenti l'universo. Ammesso e non concesso che sia nei poteri di qualcuno costruire tale sistema formale, bisognera' riuscire a dimostrare che una macchina intelligente e' una proposizione falsa in quel sistema. E' indubbio che Descartes quando paragonava la mente umana alle fontane, Freud quando prendeva a modello un sistema idraulico, Pavlov quando faceva l'esempio del centralino telefonico e Wiener quando studiava la macchina a vapore erano tutti profondamente influenzati dalla tecnologia del loro tempo. Ogni innovazione tecnologica esercita un fascino incalcolabile sugli uomini di cultura, fosse anche solo perche' si tratta di un dato di fatto, tangibile e inconfutabile, e non di una semplice ipotesi. E' naturale che si sia tentato di riportare il sistema complesso a noi noto, e cioe' la nostra stessa mente, al sistema artificiale piu' avanzato di volta in volta disponibile. Tale sistema e' oggi il computer, ma nulla ci consente di escludere che domani il computer ci appaia tanto inadeguato quanto il sistema idraulico di Freud o il (non tanto remoto) centralino telefonico di Pavlov. Cio' sara' imputabile unicamente alla scarsa immaginazione dei pensatori di oggi, non alla piu' o meno grande probabilita' di penetrare i segreti della mente e di costruire macchine intelligenti. Piu' seri appaiono i limiti imposti alla computazione. Anche a prescindere dal teorema di Godel e dalle sue conseguenze, la teoria quantitativa della complessita' 63 computazionale dice semplicemente che certi risultati, possibili in teoria, rimangono impossibili nella pratica. Per esempio, la classe dei problemi di Tarski non e' soggetta al teorema di Godel: e' infatti decidibile ogni frase nell'insieme dei numeri reali che faccia uso soltanto di operatori aritmetici, confronti, operatori booleani e quantificatori; il tempo necessario per eseguire un algoritmo capace di decidere il valore di verita' di una frase di Tarski cresce pero' esponenzialmente con la lunghezza della proposizione. In altre parole, anche se si riuscissero a superare tutti gli ostacoli teorici alla costruzione di macchine intelligenti, rimarrebbero da risolvere problemi pratici che potrebbero rendere semplicemente inutile la costruzione di tali macchine. E' come se, per congiungere le due rive di un fiume, fosse necessario costruire un ponte alto cento chilometri: anche quando gli ingegneri fossero certi di poterlo realizzare, converrebbe continuare ad aggirare il fiume passando da un ponte piu' a monte. Il fatto e' tanto piu' grave se si pensa che l'"utilita'" di costruire macchine intelligenti dovrebbe risiedere nella loro capacita' di prendere decisioni. La severita' di una situazione aumenta esponenzialmente con il tempo impiegato a prendere la decisione... Un limite computazionale insormontabile e' stato proposto anche da Roger Penrose nel 1990. Secondo Penrose nel cervello esiste un livello quanto-meccanico che, semplicemente, non e' Turing-computabile. La teoria computazionale della mente che e' stata in voga dagli anni Sessanta agli anni Ottanta e' figlia del funzionalismo di Craik. Partendo dal presupposto che la mente sia composta di elaboratori simbolici, gli output degli stati vengono calcolati unicamente manipolando le loro strutture rappresentazionali. Piu' precisamente, Jerry Fodor ha definito la teoria della computazione in questo modo: i processi mentali sono computazioni; le computazioni sono operazioni finite su rappresentazioni; e' la struttura di una rappresentazione, non il suo contenuto, a determinare il corso della computazione. Continua a mancare pero' una teoria globale dell'Intelligenza. Humphreys ha posto l'enfasi sul fatto che l'Intelligenza, a differenza della memoria e di altre facolta' cognitive misurabili, e' una pura astrazione. Jensen ha sottolineato l'importanza del background storico e sociale. Per esempio, non molti anni fa la capacita' di eseguire conti molto velocemente era considerata una delle indicazioni piu' ovvie di grande intelligenza, ma l'avvento dei computer ha di fatto ridimensionato queste capacita'. Al 64 tempo stesso la moderna societa' capitalista ha fatto aumentare il valore delle capacita' di marketing e di vendita, riducendo invece quello delle capacita' creative in generale. Il significato di "intelligenza" dipende dall'era in cui si vive. La Scienza Cognitiva In questo senso appare meglio organizzata la Scienza Cognitiva, che limita il proprio obiettivo alla analisi computazionale dei fenomeni cognitivi, evitando del tutto il termine "intelligenza". La Scienza Cognitiva ebbe origine nella meta' degli anni Settanta. Un modo semplice per spiegare la differenza fra la Scienza Cognitiva e la disciplina dell'Intelligenza Artificiale e' di dire che che la seconda studia, appunto, un'intelligenza che e' "artificiale", mentre la prima studia quella "naturale". Piu' propriamente la Scienza Cognitiva fa riferimento al principio di equivalenza "forte": due processi sono equivalenti in maniera forte se esibiscono lo stesso comportamento utilizzando la stessa rappresentazione e lo stesso algoritmo, ovvero (di conseguenza) se le loro architetture interne sono identiche. L'Intelligenza Artificiale simula i processi cognitivi da un punto di vista molto lato, con il requisito di ottenere lo stesso comportamento (output a fronte di input), ma senza necessariamente porsi l'obiettivo di replicare il modo in cui si comporta internamente il processo cognitivo (il modo in cui quell'output viene calcolato a partire da quell'input). In pratica la Scienza Cognitiva tenta di trasformare in scienza "forte" le speculazioni sull' intelligenza compiute in maniera assai "debole" da psicologi e filosofi di varia natura. Cio' che la disciplina dell'Intelligenza Artificiale e la Scienza Cognitiva hanno in comune e' il postulato della rappresentazione: gli input danno luogo nel cervello a una qualche forma di rappresentazione simbolica, che deve poi essere elaborata per trasformare quei simboli in nuovi simboli e alla fine in un output. La scienza cognitiva si e' concentrata sostanzialmente su modelli della memoria. Tanto per le facolta' inferenziali quanto per quelle linguistiche il punto di partenza e' come la mente "ricordi", come metta da parte le informazioni utili e come sia poi in grado di reperire quelle informazioni all'occorrenza. I primi modelli cognitivi possono essere considerati quello di Craik (1943) e quello di Broadbent (1958). Entrambi postulavano che il cervello fosse dotato di strutture di rappresentazione e che il pensiero consistesse nell'operare su tali strutture. 65 Il "modello standard" della Scienza Cognitiva prevede due tipi di memoria, come intuito per la prima volta da William James nel 1890: quella a breve termine ("shortterm memory") e quella a lungo termine ("long-term memory"). La prima e' caratterizzata da un tempo di accesso molto piccolo (un terzo di secondo) e da una capacita' assai limitata (circa sette blocchi, o "chunk", di informazione). La shortterm memory rende conto del fatto che per alcuni minuti ricordiamo perfettamente alcuni eventi, i quali tendono poi ad essere poco a poco dimenticati. Hamilton fu il primo a notare come sia difficile ricordare piu' di sette cose allo stesso tempo, e George Miller nel 1956 formalizzo' questo fenomeno fornendo una stima quantitativa dei "chunk" di informazione che la memoria e' in grado di trattare istantaneamente, appunto circa sette. La seconda memoria e' invece caratterizzata da un tempo di accesso molto piu' elevato (circa otto secondi per memorizzare un'informazione e circa due per prelevarne una) e da un'architettura di tipo associativo. Il modello delle memorie associative fa ricorso a due principali astrazioni: lo "schemata", un tipo di memoria dichiarativa che sostanzialmente associa a un concetto una sua lista di proprieta', e la "produzione", un tipo di memoria procedurale che esprime una relazione fra condizione e azione (o, in altri termini, fra stimolo e risposta). L'ipotesi delle due memorie e' stata confermata da studi recenti (1970) sull'amnesia. Nel 1971 Broadbent ha introdotto un'importante novita' nel modello standard, un modello di short-term memory secondo il quale essa contiene non chunk di informazione, ma puntatori a chunk di informazione che si trovano invece nella longterm memory. Cio' spiegherebbe perche' la short-term memory non riesca a ricordare immagini non riconducibili a quelle note. La proprieta' fondamentale dei chunk di cui parlava Miller non sarebbe la loro dimensione, ma la loro familiarita': un'immagine insolita non potrebbe essere un chunk, per quanto semplice essa sia, mentre una frase molto complessa (per esempio una strofa di una poesia imparata a memoria da bambino) potrebbe essere un chunk se e' molto familiare, per quanto grande essa sia. Il termine "memoria di lavoro" ("work memory") ha pertanto preso il posto di quello short-term memory, perche' meglio rappresenterebbe i risultati sperimentali (per esempio nel modello di Alan Baddeley del 1974). Secondo Endel Tulving (1972), infine, per intensione ed estensione esistono due categorie di memoria ben distinte: la memoria episodica contiene episodi e scene, ovvero l' estensione dei concetti, mentre la memoria semantica contiene concetti universali, ovvero la loro intensione. 66 Se questa e' la fisionomia generale del modello standard, variano invece da ricercatore a ricercatore i dettagli su come essa funzioni. Alcuni requisiti possono pero' essere posti a comun denominatore di ogni ricerca del campo. Affinche' possa essere considerata valida, un'architettura cognitiva deve esibire almeno queste caratteristiche: la sua struttura deve essere flessibile, il suo comportamento deve essere funzione dell'ambiente e deve essere adattativo, i suoi responsi devono avvenire in tempo reale, deve rendere conto della coscienza di se', deve consentire facolta' di comunicazione, deve essere capace di costruire astrazioni. Il paradigma piu' accettato e' quello proposto da David Marr e detto della "strada alta" per distinguerlo da quello della "strada bassa" proprio della psicologia sperimentale. Marr separa tre livelli: quello della computazione (a questo livello si tenta di costruire una teoria dei task), quello dell'algoritmo (a questo livello si tenta di costruire teorie dell'algoritmo utilizzato per eseguire il task) e quello del meccanismo (teorie del meccanismo che esegue l'algoritmo). Marr chiama "tipo I" le teorie relative al livello della computazione e la Scienza Cognitiva si focalizza appunto su questo livello e questo tipo di teorie. Fra le architetture piu' importanti proposte all'inteno della Scienza Cognitiva vanno ricordate almeno EPAM (1963) di Edward Feigenbaum, il primo modello computazionale che rendesse conto di un fenomeno psicologico (utilizzava una cosiddetta "rete di discriminazione" per simulare l'apprendimento e la memorizzazione di sillabe), ACT (1976) di Anderson e SOAR (1984) di Paul Rosenbloom. Fondamentale per tutti questi modelli e' il concetto di "pianificazione" ("planning") introdotto da Miller nel 1960: ogni organismo possiede un processo gerarchico che controlla l'ordine in cui le operazioni vengono eseguite. Gran parte dei modelli cognitivi si rifanno al pradigma del "sistema di produzione". I sistemi di produzione rappresentano la conoscenza sotto forma di un insieme di "regole di produzione". Una regola di produzione associa una condizione ad un'azione. I sistemi di produzione sono computazionalmente equivalenti a una macchina di Turing, anzi Emil Post nel 1941, studiando la ricorsione, propose di utilizzare regole di produzione per rappresentare tutto cio' che e' computabile. A rendere popolari i sistemi di produzione furono Allen Newell e Herbert Simon nel 1960 con il sistema GPS. ACT, per esempio, dispone di due long-term memory, una ("dichiarativa") per ricordare le esperienze e l'altra ("produttiva") per ricordare gli skill. I fatti della 67 memoria dichiarativa vengono semplicemente richiamati nella working memory quando servono, e a loro volta nuovi fatti possono essere registrati nella memoria dichiarativa. Le regole della memoria produttiva possono essere richiamate dalla working memory, ma possono anche richiamarsi l'un l'altra (l'azione dell'una puo' far verificare la condizione di un'altra). ACT assume che inizialmente esista soltanto memoria dichiarativa e che le regole della memoria produttiva si formino con l'esperienza. Questo secondo fenomeno e' particolarmente importante, perche' rende conto del miglioramento progressivo delle prestazioni. Anderson si riferisce ad esso con il termine "compilazione della conoscenza", intendenco con cio' che la conoscenza e' inizialmente rappresentata sotto forma "dichiarativa" ma viene progressivamente trasformata in conoscenza "procedurale" e progressivamente consolidata in "chunk" via via piu' complessi. Per esempio, dalla conoscenza dichiarativa di come si fa a pedalare si passa alla conoscenza procedurale di come si fa ad andare in bicicletta (e da quel momento non sara' piu' necessario ragionare per riuscire a farlo) e poi a una padronanza sempre piu' completa e disinvolta del mezzo (dovuta a un chunk sempre piu' complesso). I concetti fondamentali di SOAR sono invece quelli di "subgoaling" e di "chunking". SOAR traduce ogni problema nella ricerca della sequenza di operatori che possono trasformare il problema nella soluzione desiderata. Ogni volta che si verifica un'impasse, SOAR genera un sotto-problema che ha per obiettivo di trovare una sotto-soluzione. SOAR procede ricorsivamente in questo "subgoaling" universale. Ogni volta che un'impasse viene superata, SOAR genera anche una nuova regola di produzione, che allo "stimolo" di quel problema da risolvere associa come "risposta" la soluzione trovata, in modo tale che la prossima volta l'impasse possa essere evitata: questo e' il processo di "chunking". Il modello del sistema di produzione discende dal modello originale di Newell, formalizzato soltanto nel 1981, ma implicito in tutti i suoi lavori precedenti. Newell ipotizza che ogni sistema simbolico fisico sia composto da una gerarchia di livelli di elaborazione, da quello materiale che ubbidisce alle leggi dell'elettronica o della biologia a quello dei simboli, che nei computer e' quello a cui si scrivono i programmi. Tramite il livello dei simboli e' poi possibile costruire un livello superiore detto "livello di conoscenza". A tale livello operano "agenti" razionali: un agente e' composto da un "corpo di conoscenze", da alcuni obiettivi (goal) che deve conseguire e da alcune azioni che puo' compiere. L'agente elabora la sua conoscenza per decidere quali azioni compiere. Il suo comportamento e' determinato dal "principio di razionalita'": le azioni vengono scelte in modo da conseguire gli obiettivi. Newell definisce pertanto "conoscenza" cio' che puo' essere elaborato da un agente per determinare il proprio comportamento in base al principio di razionalita'. 68 Un modello alternativo a quello gerarchico di Newell e' quello reticolare della "societa' delle menti" (1977) di Marvin Minsky. Nella societa' delle menti tanti semplici agenti, per lo piu' dotati di pochissima o nessuna intelligenza, collaborano a produrre risultati estremamente complessi e "intelligenti". In maniera simile alla gerarchia di homuncoli immaginata da Dennett, la mente sarebbe una societa' di agenti specializzati inter-comunicanti organizzati secondo una gerarchia burocratica, e la personalita' dell'individuo sarebbe determinata da uno stato di equilibrio di questo complesso sistema di interazioni. Piu' precisamente Minsky descrive il cervello come un lattice di nodi in cui l'informazione tende a propagarsi verso l'alto: ogni agente puo' passare la propria informazione soltanto ai nodi vicini o a quello superiore, ma non a quelli inferiori. Dal punto di vista di ogni agente esiste quindi una piramide che rappresenta un sistema chiuso, esattamente come in una burocrazia. Il lattice puo' pero' essere composto da molte di queste piramidi di dimensioni differenti. Quando alla rete perviene un segnale di input, gli agenti passano un certo tempo a scambiarsi messaggi e ad aggiornare di conseguenza la propria informazione. Quando la rete converge a uno stato stabile, l'input e' stato elaborato. Il modello di Minsky spiega pertanto il principio di Seymour Papert: i bambini sviluppano le loro attivita' cognitive non solo imparando nuove capacita', ma soprattutto organizzandole in livelli gerarchici diversi. Per spiegare il funzionamento della memoria, Minsky postula che ad ogni agente sia appesa una struttura dati detta "K-Line" (Knowledge Line). Una K-Line registra sostanzialmente l'attivita' in corso nel momento in cui una certa percezione si verifica, ovvero registra tutti gli agenti che erano attivi in quell'istante. In altre parole Minsky sostiene che la memoria di un evento e' collegata a cio' che era in corso nel cervello nell'istante in cui l'evento venne memorizzato. Dal punto di vista computazionale una K-Line e' semplicemente l'elenco degli agenti che erano attivi in quel momento. Il lattice ha una sua inerzia, dovuta al modo in cui interagiscono gli agenti, e questo rende conto della persistenza dell' informazione, tipica della cosiddetta memoria a breve termine. Il modello della memoria a lungo termine e' invece piu' complesso: quando occorre reperire un evento, viene ripristinato lo stato mentale descritto dalla sua K-Line, ovvero vengono attivati gli agenti elencati in tale K-Line. Minsky avanza anche l'ipotesi che molti ricordi siano in realta' ricordi di ricordi, il che' spiegherebbe perche' spesso si ricorda come attraverso il racconto di una terza persona: il corpo muta nel tempo, e cosi' anche il cervello, per cui un ricordo e' destinato o ad essere perso oppure ad essere ri-codificato da una nuova K-Line relativa al fatto di averlo ricordato. La nuova K-Line e' allora relativa allo stato 69 mentale dell'aver ricordare quell'evento. Questo continuo rinnovo di K-Line fa si' che ci si ricordi di fatti occorsi quando la memoria era fisicamente diversa. Al concetto olistico dell'intelligenza come un tutto unico Minsky contribuisce pertanto con questa visione di una rete di piccoli agenti indipendenti, ciascuno privo di intelligenza e specializzato in un compito ben preciso, i quali comunicano scambiandosi messaggi sulla rete. L' intelligenza del sistema diventa funzione dei messaggi che vengono scambiati, non delle intelligenze dei singoli componenti. Broadbent ha proposto nel 1986 un modello "parallelo". Quasi tutti i modelli precedenti prevedono una esecuzione sequenziale delle operazioni mentali. Nel modello di Broadbent, invece, piu' operazioni possono essere in corso contemporaneamente. Nel 1983 Johnson-Laird, ispirandosi alle idee di quarant'anni prima di Kenneth Craik, ha proposto uno schema secondo cui la mente e' in pratica una macchina costruttrice di modelli. La mente capisce il mondo e decide come agire in esso costruendo repliche mentali del mondo e compiendo ragionamenti su di esse. Johnson-Laird cerca in effetti la risposta a un rompicapo storico. Se l'uomo e' in grado di trarre delle conclusioni che sono vere da premesse che sono vere, allora deve essere dotato di una "logica mentale". Frege aveva risolto il problema postulando che tale logica mentale fosse la logica matematica (che le leggi del pensiero fossero le leggi della logica). Ma Johnson-Laird trova prove inconfutabili che la gente comune non usa la logica matematica nel risolvere i suoi problemi quotidiani. D'altronde una prova evidente che la logica mentale non puo' essere la logica matematica e' quella che gli umani commettono errori. E, a parte la sua incoerenza empirica, da cosa avrebbe origine tale logica mentale? Nel 1966 Piaget aveva tentato di dimostrare come la logica venga acquisita dai bambini attraverso un processo di interiorizzazione delle proprie azioni e di riflessione su di esse. Jerry Fodor (1975), invece, e' il piu' radicale esponente della correntea "innatista", secondo la quale le capacita' logiche sono innate (cosi' come tutti i concetti), non essendo possibile che esse vengano costruite senza ricorrere ad esse stesse. Johnson-Laird a sua volta fa notare come gli umani siano piu' bravi a risolvere problemi legati alla realta' pratica che non problemi astratti. Nessun umano deriva 70 conclusioni tipiche della logica matematica come "se piove allora o piove o gli elefanti volano" (perfettamente valida), e anzi chi le derivasse verrebbe probabilmente considerato pazzo. Per costruire una logica mentale che rifletta piu' correttamente il comportamento umano, Johnson-Laird si focalizza poi sulle espressioni che limitano il numero di possibilita'. Secondo Rudolf Carnap (1952) un'espressione contiene tanta piu' informazione semantica quante piu' possibilita' logiche elimina. Per esempio, una proposizione semplice elimina soltanto una possibilita' logica, la sua negazione. Invece la congiunzione di due proposizioni "p AND q" elimina ben tre possibilita': "NOT p AND q", "p AND NOT q", "NOT p AND NOT q". La psicologia della deduzione che prevale in ogni persona in possesso delle sue facolta' mentali si basa proprio su questo concetto di informazione semantica: non ha senso trarre una conclusione che abbia una quantita' di informazione semantica inferiore a quella delle sue premesse. E' per questa ragione che nessuno deduce che "o piove o gli elefanti volano" dal fatto che "piove". E', insomma, una sorta di secondo principio della Termodinamica applicato all'informazione semantica invece che all'entropia. Johnson-Laird propone una teoria del ragionamento che soddisfa alcuni requisiti: rende conto del fatto che i ragionamenti umani sono spesso sbagliati; prevede che i ragionamenti umani sullo stesso problema debbano variare parecchio da individuo a individuo; spiega come i bambini apprendano a ragionare. In tale teoria il ragionamento consiste appunto nel costruire modelli integrati delle premesse secondo un principio fondamentale: il modello mentale di un discorso esibisce una struttura che corrisponde direttamente alla struttura del mondo descritto dal discorso. In questo schema Johnson-Laird riesce a spiegare anche le inferenze "implicite", che sono quelle compiute piu' o meno irrazionalmente e istantaneamente e sono forse la maggioranza. Per esempio, se sto male di stomaco dopo aver mangiato in un certo ristorante e' probabile che attribuiro' al cuoco di quel ristorante la responsabilita' del mio malore, e lo faro' nel momento stesso in cui comincio a stare male. E' possibile che esistano molte altre spiegazioni razionali che assolverebbero il cuoco, ma e' per me "istintivo" assumere che quella sia la spiegazione. Queste inferenze "implicite" fanno riferimento a un modello mentale unico, a differenza di quelle "esplicite", come i problemi di aritmetica, nelle quali occorre riflettere, ovvero costruire diversi modelli e integrarli fra di loro. Nella teoria di Johnson-Laird inferenze esplicite (ragionamento classico) e implicite (ragionamento del senso comune) trovano pertanto una naturale unificazione. Non solo: in questa teoria, che nega l'esistenza di una logica mentale, non e' difficile spiegare come si formino le capacita' inferenziali (ovvero di modellizzazione) nei bambini, senza ricorrere ne' agli artifici di Piaget ne' ai dogmi di Fodor. 71 Johnson-Laird puo' in tal modo risolvere anche l'implausibilita' psicologica delle teorie del significato (in particolare quelle dei "mondi possibili", per le quali la mente dovrebbe essere capace di manipolare un numero infinito di mondi possibili) adottando una semantica "procedurale": il significato di una frase non puo' prescindere da quello dell'intero discorso, e questo e' dato dal modello mentale che ha costruito. Una frase non e' altro che una procedura per costruire, modificare, estendere un modello mentale. L'Empirismo Logico Merito dell'Informatica fu senz'altro quello di imporre un metodo e un linguaggio rigorosamente precisi per discutere sull'Intelligenza. L'Informatica ri-defini' molti dei piu' antichi dibattiti filosofici e psicologici in termini esatti, evitando la ridondanza e l'ambiguita' del linguaggio umano (annullando il peso della dialettica sul dibattito di pensiero). Non per nulla molti filosofi e psicologi sostengono che l'uso del computer abbia avuto effetti piu' negativi che positivi. L'Informatica consenti' inoltre di verificare direttamente su una macchina reale le architetture cognitive che venivano proposte. La simulazione al computer nell'ambito di teorie scientifiche non matematiche ebbe probabilmente inizio nel 1954, quando due neurofisiologi, Farley e Clark, realizzarono per la prima volta un modello del sistema nervoso. Il revival della Psicologia Cognitiva, che e' stato propedeutico alla nascita della Scienza Cognitiva, ebbe luogo dopo la pubblicazione (1960) del libro in cui Miller dimostrava come fosse possibile e auspicabile l'uso del computer per modellare teorie sulla mente umana (il manifesto della psicologia cognitiva moderna, "Cognitive Psychology" di Ulric Neisser, venne pubblicato sette anni dopo). In un certo senso la simulazione tramite computer consente di "falsificare" piu' facilmente una teoria scientifica. Per secoli la comunicazione delle teorie scientifiche si era basata sulla pubblicazione di trattati. Stava alla comunita' scientifica di studiare quei trattati e scoprire se essi contenevano delle contraddizioni in termini (vedi Russell con Frege) o delle incoerenze empiriche (vedi Einstein con Newton). Dato un trattato, erano pochissimi gli individui a) dotati della cultura necessaria per leggerlo e capirlo, b) che avessero intenzione di leggerlo, c) che lo studiassero attentamente per scoprirne eventuali errori. La probabilita' che una teoria venisse falsificata era pertanto molto bassa. In particolare per rendere quasi impossibile la falsificazione da parte di un essere umano basta che una teoria sia sufficientemente vaga (non completa). Ogni grado di "vaghezza" equivale a un grado di liberta' in piu', ovvero a un ordine di combinatorieta' maggiore nel numero di modelli che e' possibile generare da quella teoria. E' umanamente impossibile verificare tutte le sue conseguenze pratiche. 72 Il computer costringe invece a definire nei minimi dettagli la propria teoria. Se la teoria ha un qualsiasi grado di incompletezza, non puo' dar luogo ad un modello computazionale. Il modello viene poi semplicemente tradotto nel linguaggio formale del computer (ovvero in un programma). Terminata la traduzione, il computer in pochi secondi esegue il modello (il programma) e a) verifica che esso non presenti contraddizioni logiche (se ne presenta, il programma si interrompera') e b) fornisce dei risultati numerici che possono essere confrontati con i dati degli esperimenti per verificare che esso non presenti incoerenze empiriche. Il problema della ricerca scientifica viene quasi capovolto: bastano pochi secondi per verificare la teoria, mentre e' necessario molto piu' tempo per poter affermare di avere una teoria. E infatti quasi tutte le nuove teorie simulate al computer (in campi tanto diversi come l'Economia e la Neurofisiologia, la Fisica e la Psicologia) tendano a fallire le prime volte e a richiedere numerosi raffinamenti prima di poter essere considerate complete e coerenti. E' emblematica la fortuna nell'era informatica delle varie correnti e discipline della psicologia e della filosofia: le piu' penalizzate sono certamente la psicoanalisi, l'esistenzialismo, tutte le forme di teologia o metafisica. Cio' non e' dovuto tanto alle convinzioni personali dei ricercatori informatici, ma al fatto banale che non e' possibile simulare quelle teorie al computer, che il linguaggio in cui esse sono state espresse non si presta ad una elaborazione meccanica (ovvero ad una verifica automatica). E' una conseguenza diretta delle idee gia' esposte da Wittgenstein nel suo "Tractatus Logico-Philosophicus" (1921). Per l'informatica, e di conseguenza per il programma dell'Intelligenza Artificiale, esse sono inutili. Per molti versi l'uso del computer nelle ricerche sull'Intelligenza ha costituito la naturale controparte pratica del programma dell'Empirismo Logico formulato da Rudolf Carnap nella "Costruzione Logica del Mondo" (1929) e nell' "Enciclopedia Internazionale della Scienza Unificata" (1938). Obiettivo di Carnap, sotto l'influsso del "Tractatus" di Wittgenstein, era quello di riformulare le teorie di tutte le scienze nei termini dei sistemi formali introdotti da Frege e Russell, eliminando in tal modo tutta la "zavorra" metafisica e teologica. Il programma dell'empirismo logico (riprendendo la distinzione di David Hume fra asserzioni che esprimono relazioni fra idee e asserzioni che esprimono percezioni sensoriali) evidenzia le proposizioni "analitiche", la cui verita' e' un fatto puramente tecnico (come "gli scapoli sono uomini non sposati") e le proposizioni "sintetiche", la cui verita' dipende dalla realta' (come "Piero Scaruffi e' scapolo"). Le prime sono un fatto essenzialmente linguistico, mentre le seconde sono un fatto empirico. Secondo Alfred Ayer (1936) gran parte della filosofia (metafisica, etica, estetica) e della psicologia si scoprono cosi' essere 73 prive di significato. Il programma informatico dell'Intelligenza Artificiale e' semplicemente pervenuto allo stesso risultato. E' probabile che, se mai il computer verra' utilizzato per investigare anche argomenti di etica e metafisica, lo sara' secondo canoni piu' simili a quelli della "filosofia esatta" di Mario Bunge (1968), che estende il metodo dell'empirismo logico anche a queste dottrine. I Sistemi Esperti La scuola dell'Intelligenza Artificiale, nel frattempo, si andava evolvendo rapidamente. Dopo la conferenza di Dartmouth diversi ricercatori si resero conto delll'impossibilita' pratica di costruire il "risolutore di problemi generale" teorizzato dai matematici. Nella pratica conveniva concentrarsi su problemi piu' specifici, o, meglio, su classi di problemi specifici. Nacque cosi' il concetto di "dominio" e di "risolutore di problemi" in quel dominio: al computer si forniva la conoscenza necessaria a risolvere problemi in un dominio limitato e si chiedeva di saper risolvere qualsiasi problema che possa essere risolto da un essere umano dotato di quella conoscenza. Riformulato in tal modo, il programma dell'Intelligenza Artificiale divenne improvvisamente molto piu' realistico. L'enfasi si spostava dall'inferenza alla conoscenza, dal quoziente di intelligenza all'esperienza. Nacque in breve il termine "knowledge-based system", sistema basato sulla conoscenza, e poi il suo derivato industriale, il "sistema esperto". Nel sistema esperto la conoscenza e' quella di un esperto umano, del quale si vuole costruire un "clone" meccanico. Lo si fa appunto trasferendo la sua conoscenza nel computer e dotando il computer dell'"intelligenza artificiale" necessaria a saper poi risolvere tutti i problemi che possono essere risolti con quella conoscenza. In embrione l'idea dei sistemi esperti era gia' contenuta nei primi programmi realizzati da Newell e Simon. Il loro programma Logic Theorist non risulto' soddisfacente perche' seguiva un approccio diverso da quello seguito dagli esseri umani. Benche' applicasse nel modo piu' rigoroso possibile le regole della logica dei predicati, le sue soluzioni non avevano quasi mai la stessa efficienza di quelle scelte dai matematici. Il Logic Theorist ragionava infatti "all'indietro" (backward): dato un teorema da dimostrare, cercava tutte le regole che lo potessero dimostrare, e poi se quelle regole potessero a loro volta essere dimostrate, e cosi' via a ritroso finche' non perveniva agli assiomi. Il suo ragionamento poteva essere rappresentato come un albero la cui radice era il teorema da dimostrare, i cui nodi erano tutti i sotto-teoremi da dimostrare per dimostrare che il teorema era vero, e i cui rami stavano per altrettanto possibili linee di ragionamento. Un matematico preferisce procedere piu' economicamente, partendo da alcuni assiomi e applicando soltanto alcune delle regole di inferenza che di volta in volta e' lecito applicare. Il suo ragionamento puo' 74 essere rappresentato con un albero molto piu' limitato in larghezza, con molti meno rami (spesso soltanto uno) e molti meno nodi. La differenza sta nella strategia di ragionamento. Il Logic Theorist partiva dal presupposto di poter provare tutte le combinazioni possibili di ragionamenti e di poter giungere certamente in tal modo a dimostrare il teorema, se una dimostrazione esisteva. Il matematico non arriva necessariamente alla dimostrazione cercata, ma, se ci arriva, ci arriva con molta meno fatica perche' prende in considerazione soltanto quelle regole di inferenza che "intuitivamente" lo avvicinano alla soluzione. Newell e Simon costruirono allora (1960) un programma, GPS (General Problem Solver), che seguiva piu' fedelmente il comportamento umano, meno esatto ma piu' efficace. La strategia di ragionamento per cui il programma sceglie sempre di ridurre la "distanza" che lo separa dalla soluzione, piuttosto che provare tutte le strade possibili, venne battezzata "means-end analysis". Ad enucleare la conoscenza di cui si serviva il programma e ad associare "conoscenza" con "esperienza" fu Joel Moses, la cui tesi di laurea (discussa nel 1967) e' il primo documento che proponga esplicitamente l' uso di "expertise" (esperienza specifica) al fine di risolvere in maniera efficiente un problema. L'obiettivo del suo programma era di risolvere i problemi di calcolo simbolico di integrazione e derivazione utilizzando delle "regole di produzione" per trasformare le espressioni in espressioni equivalenti ma via via piu' semplici. Le regole di produzione codificavano appunto l'esperienza di uno stagionato e brillante matematico. Indirettamente questi primi tentativi di isolare il concetto di "conoscenza", e di farne la struttura portante del ragionamento, indagavano un problema millenario del pensiero umano: da cosa abbia origine la conoscenza. Per i fini del loro lavoro (risolvere problemi pratici) bastava identificare conoscenza con esperienza: e' attraverso l'esperienza che l'"esperto" sintetizza le regole da applicare nelle situazioni comuni del suo campo d'azione. Il "buon senso" diventava il vero motore del comportamento intelligente, secondo una tradizione di pensiero iniziata da Dewey all'inizio del secolo. Nel 1965 Edward Feigenbaum adotto' questo paradigma per costruire il programma DENDRAL, capace di interpretare i risultati di esperimenti sulla struttura molecolare di composti organici. DENDRAL simulava in tutto e per tutto il lavoro di un ricercatore di laboratorio: basandosi sulla sua conoscenza del problema, proponeva delle ipotesi e gli esperimenti da condurre per verificare tali ipotesi. La conoscenza 75 era di almeno tre tipi: la conoscenza relativa alla chimica veniva impiegata per interpretare i risultati degli esperimenti e proporne di nuovi; la conoscenza relativa al composto specifico sotto esame si andava formando poco alla volta e veniva utilizzata per guidare la scelta dell'esperimento piu' idoneo; infine la conoscenza relativa al modo in cui si procede sperimentalmente, per quanto limitata, serviva a simulare l'esperienza di un abile ricercatore chimico. Quest'ultima costituiva forse la novita' piu' saliente del programma: le regole di tale conoscenza esprimevano suggerimenti pratici su quali strade perseguire con priorita' maggiore e su quali strade tentare di evitare. Nel 1976 Edward Shortliffe realizzo' infine il programma MYCIN, un sistema esperto nel campo della diagnosi di malattie infettive. MYCIN fu il primo programma in cui venisse esplicitata la dipendenza del ragionamento dalla conoscenza del dominio. Il programma rappresentava la conoscenza medica sotto forma di un insieme di regole di produzione scritte in LISP. Ogni regola era composta di una premessa e di una conseguenza, ogni premessa era una congiunzione di clausole, ogni clausola aveva la forma "predicato attributo valore". In altre parole ogni regola era del tipo "se il sintomo e' questo allora la malattia e' quella" (dove "e'" e' il predicato, "sintomo" e "malattia" sono attributi, "questo" e "quella" sono i loro rispettivi valori) oppure era relativa a deduzioni intermedie. Ciascuna regola era inoltre "pesata" anche da un "fattore di confidenza" sulla base del quale era possibile calcolare il grado di affidabilita' della diagnosi. MYCIN ragionava a ritroso (backward) in modo ricorsivo, tentando di dimostrare una regola di produzione tramite le altre regole di produzione che potevano soddisfare le sue premesse. Grazie al successo di MYCIN l'idea che la costruzione della macchina "intelligente" fosse da perseguire esclusivamente attraverso tecniche di "ragionamento" sempre piu' sofisticate venne definitivamente soppiantata dall'enfasi attribuita alla "conoscenza" del problema da risolvere. Con la costruzione dei primi sistemi esperti il programma dell'Intelligenza Artificiale aveva fornito una prova pratica della propria utilita'. Ma questo importante risultato era stato ottenuto a scapito degli obiettivi originali. La tendenza era diventata quella verso una disciplina che era sempre piu' potenzialmente lo studio formale del comportamento umano in ogni campo d'azione (medicina, esplorazione mineraria, diagnosi di guasti, finanza,...) e che si proponeva di costruire macchine in grado di: dato un campo d'azione, dato un agente di quel campo, e data una situazione in quel campo, determinare l'azione dell'agente a fronte di tale situazione. Il meta-problema era quello di ricavare l'insieme di leggi che governano il comportamento di un agente 76 in un campo d'azione, e questo insieme di leggi veniva ribattezzato "conoscenza del dominio". Il sistema esperto rappresenta pero' un ben povero risultato dal punto di vista del programma originale. L'"intelligenza" che e' in grado di esibire e' quantomeno schizofrenica. Il sistema esperto che sa come stabilire se un paziente ha una certa malattia infettiva non saprebbe consigliare la strada migliore per recarsi in ufficio in un giorno di sciopero dei mezzi pubblici. Si apprezza appieno la potenza del cervello umano quando si pensa che e' in grado di compiere inferenze in qualsiasi dominio. E' stato fatto notare un equivoco di fondo relativo all'intelligenza. Per intelligenza si puo' intendere tanto il processo di apprendimento quanto il prodotto dell'apprendimento. Per "intelligenza artificiale" oggi si intende piu' la simulazione del secondo processo che non quella del primo. Il modello del sistema esperto prevede che il comportamento venga generato da un sistema di produzioni, ovvero da un sistema che ad ogni condizione nota associa un'azione da compiere. La critica a questo approccio e' che l'intelligenza "vera" sarebbe quella che presiede alla costruzione del sistema di produzione, non quella che ne regola l'uso. L'intelligenza "vera" sarebbe necessaria soltanto quando il sistema di produzione deve essere modificato. In altre parole il passaggio dalla percezione al sistema di produzione costruisce nuova verita', mentre il passaggio dal sistema di produzione al comportamento non aggiunge nulla alla verita' gia' nota ma la "trasduce" semplicemente in qualcosa di operativo. Per effetto del boom dei sistemi esperti la Conoscenza acquisi' una rilevanza sempre maggiore. Il punto di vista da cui ebbe origine questa generazione di sistemi e' quello secondo cui un agente dotato di un quoziente di intelligenza basso, ma con una conoscenza approfondita del problema da risolvere, e' piu' efficace di un agente dotato di un quoziente d'intelligenza elevato ma ignorante del dominio. Cosi', per esempio, un genio della Fisica non riuscirebbe a diagnosticare malattie con lo stesso successo di un umile medico di provincia. La disciplina dei sistemi esperti ha messo in risalto la differenza fra "conoscenza" e "informazione". La scienza dei computer e' stata battezzata "scienza dell'informazione" poiche' cio' che bisogna fornire al computer affinche' esso sia utile 77 e' informazione. Se vogliamo prescindere dalla sua struttura interna, possiamo definire il computer come una macchina in grado di elaborare informazione. La conoscenza costituisce in qualche modo un grado superiore di descrizione del mondo rispetto all'informazione. Una volta dotato di conoscenza, e della capacita' di elaborare tale conoscenza, il computer diventerebbe "esperto", se non addirittura "intelligente". Informazione e' cio' che si puo' trovare in un'enciclopedia. L'enciclopedia medica fornisce certamente gran parte dell'informazione relativa alla scienza medica. L'enciclopedia medica non puo' pero' fornire quel coacervo non strutturato di regole che il medico impiega quotidianamente per svolgere il proprio mestiere. Ed e' intuitivo che non basterebbe studiarsi a memoria l'enciclopedia medica per diventare dei bravi medici. Cio' che l'enciclopedia non puo' darci e' cio' che nel contesto dei sistemi esperti viene detta "conoscenza del dominio", che e' qualcosa di piu' della semplice informazione su quali siano le malattie, i loro sintomi e cosi' via. In effetti soltanto una piccola parte delle regole di comportamento che impieghiamo quotidianamente derivano da una fonte di informazione. La stragrande maggioranza possono essere associate genericamente all'"esperienza". Anche quando un'informazione e' disponibile da una qualche fonte ed e' facilmente reperibile, si preferisce acquisirla tramite l'esperienza. Viceversa si puo' anche dire che molti fatti arcinoti potrebbero essere facilmente resi come informazioni, ma invece non lo sono. Nessuno farebbe imparare a un bambino un manuale che elenchi: "quando piove, prendi l'ombrello; quando vai in spiaggia, mettiti il costume; e cosi' via". E' implicita nel modo di comportarsi dei genitori la convinzione che esista un modo molto piu' efficace di far apprendere questi fatti ovvi a tutti. La conoscenza piu' utile, quella che stabilisce il rapporto di forza con il quoziente di intelligenza, ha origine dall'esperienza. Il "buon senso" e' una forma di conoscenza vitale. Per rendere l'idea della differenza fra un agente che impieghi "informazione" e un agente che impieghi "conoscenza" nel risolvere problemi, supponiamo di voler programmare un calcolatore a risolvere gli anagrammi. Tradizionalmente il programmatore scriverebbe un programma che descrive passo per passo come giungere alla soluzione utilizzando l'informazione contenuta in un dizionario d'italiano: .IP - data la parola di cui devi trovare l' anagramma, .IP - costruisci tutte le possibili permutazioni delle sue lettere (ogni permutazione e' una possibile soluzione); .IP - confronta ognuna di queste permutazioni con tutte le parole della lingua italiana, tenendo conto di tutte le possibili forme in cui ogni parola puo' comparire (machile o femminile, singolare o plurale, l' intera coniugazione di ogni verbo e cosi' via); .IP - se una delle cinquemila permutazioni coincide con una delle ottantamila parole del dizionario, quella e' la soluzione dell'anagramma. Ovviamente questo programma (che richiede una media di 5.000 per 80.000 diviso due confronti, ovvero circa 200.000.000 di confronti) costituirebbe un'impresa titanica per qualsiasi essere umano. Al ritmo di un confronto al secondo ci vorrebbero 78 circa sei anni per giungere alla soluzione. E' ovvio che la mente umana tenta di risolvere l'anagramma in maniera assai diversa. Secondo il modello del sistema esperto la mente umana scarta a priori tutte le soluzioni non plausibili, anzi non le prende neppure in considerazione. La mente umana sa che molte delle cinquemila permutazioni non possono trovarsi nel vocabolario: "mmrioae" non e' una parola italiana, e non c'e' bisogno di controllare sul dizionario. Il numero di parole plausibili e' molto ridotto ("momiera", "ramiome", etc) e tra queste e' assai piu' facile trovare quella giusta ("memoria"). Cio' che ci rende piu' spediti nel risolvere l'anagramma e' la "conoscenza" della lingua italiana, di come sono fatte le parole in italiano. In effetti un bravo "anagrammista" italiano non sarebbe necessariamente altrettanto bravo in giapponese: il problema da risolvere e' esattamente lo stesso, ma la conoscenza necessaria e' del tutto diversa. In compenso il computer giunge certamente alla soluzione, mentre, come ben sappiamo, talvolta l' uomo non vi riesce. Non solo: il computer e' tanto infallibile con l'italiano quanto con qualsiasi altra lingua. Cio' nonostante per qualche ragione, non facile da giustificare, un uomo che risolva molti anagrammi difficili e ne sbagli qualcuno viene considerato intelligente, mentre un uomo che seguisse il metodo del computer di esaminare tutte le soluzioni possibili verrebbe certamente considerato stupido (o quantomeno pazzo) benche' giungerebbe sempre alla soluzione corretta. Se l'anagramma e' un esempio di problema che puo' essere risolto sia dalla prospettiva dell'informazione sia da quella della conoscenza, esistono anche problemi che ha senso tentare di risolvere soltanto se si e' dotati della conoscenza del relativo dominio. Per rispondere alla domanda "chi e' il presidente d'Italia?" basta aver acquisito l'informazione consistente nel nome del presidente d'Italia, ed e' assai semplice scrivere un programma che consenta al computer di rispondere correttamente. Ben diverso sarebbe chiedere "chi sara' il prossimo presidente?". Nessuna informazione puo' condurre alla risposta a questa domanda: occorre disporre di un'approfondita conoscenza della situazione politica, dei potenziali candidati e cosi' via. Analogamente e' semplice scrivere un programma che sappia rispondere alla domanda "dove si trova la nave X?" fornendo al computer l'informazione relativa agli spostamenti delle varie navi. Ma la domanda "dove si trova l'Arca di Noe'?" puo' essere risolta soltanto da un archeologo che sia dotato di immensa conoscenza della problematica. L'enfasi sulla conoscenza porto' a una rivalutazione delle teorie del ragionamento incerto o approssimato. Una delle differenze piu' appariscenti fra informazione e conoscenza e' quella fra l'esattezza della prima e l'inesattezza della seconda. Un'affermazione di conoscenza non viene mai recepita come totalmente vera o 79 totalmente falsa. E' facile rendersi conto dell'importanza e dell'ubiquita' dell'incertezza, che rappresenta in realta' la base di quasi tutte le azioni compiute durante la vita quotidiana: che il 23 dicembre faccia freddo o che una guerra fra USA e Libia venga vinta dai primi o che lo sportello automatico stia funzionando sono tutte informazioni plausibili, ma non certe. In pratica l'intelligenza artificiale venne sempre piu' concentrandosi sulla soluzione di quattro tipi di problemi: i problemi di natura "esperta" sono quelli, come la diagnosi medica, nei quali non esiste un algoritmo che definisca il comportamento dell'agente tipo (l'agente non e' in grado di spiegare razionalmente la propria azione); i problemi di natura "euristica" sono quelli, come quello di non toccare una pentola di acqua bollente o di prendere l'ombrello se il cielo e' nuvoloso, per i quali esiste un algoritmo che spiega il comportamento dell'agente tipo, ma tale algoritmo e' nella pratica del tutto inutile (l'agente non ha bisogno di quell'algoritmo per decidere quale azione compiere, anche se, volendo, saprebbe spiegare razionalmente la propria azione); infine i problemi di natura "incerta" sono quelli, come la predizione di chi vincera' i campionati mondiali di calcio o le previsioni del tempo, per i quali l'algoritmo e' impossibile in quanto le quantita' sono indeterminate; i problemi di natura "complessa" sono quelli, come il calcolo di un integrale o la progettazione di una nave, per i quali l'algoritmo e' troppo complesso, sia da definire sia da utilizzare. In questi quattro casi la macchina puo' risolvere il problema soltanto se, come l'uomo, fa ricorso massicciamente alla conoscenza. La disciplina dei sistemi esperti tento' pertanto di definire una "ingegneria della conoscenza", una scienza esatta di come acquisire ed elaborare conoscenza. Stabilito il primato della "Conoscenza", la disciplina dell'Intelligenza Artificiale si trasformo' in gran parte in una disciplina per la rappresentazione della conoscenza in una forma che fosse computazionalmente efficiente. Gli spunti sulla struttura e funzione della memoria forniti dalla Psicologia Cognitiva vennero cosi' bilanciati da requisiti squisitamente tecnici come quello che fosse possibile eseguire "calcoli" sulle strutture rappresentazionali. Qualsiasi struttura che fosse riconducibile alla logica dei predicati soddisfava questo requisito. Qualunque altra struttura poteva invece essere accettata soltanto una volta definite le operazioni che sia possibile compiere su di essa. E' antica l' ambizione di utilizzare un calcolo matematico per rappresentare e manipolare le idee. Leibniz e Aristotele non avevano pero' a disposizione l'arsenale 80 dei linguaggi formali, ne' i computer. In comune con gli antichi, anche i moderni partono dal presupposto che la rappresentazione della conoscenza debba essere funzionale a due obiettivi: 1) descrivere la conoscenza umana nel modo piu' esplicito possibile e 2) consentire di compiere dei calcoli in modo da ricavare automaticamente dell' altra conoscenza. Cio' significa che occorre predisporre un insieme di simboli con cui comunicare conoscenza, una specie di "alfabeto della conoscenza", e che ogni simbolo, oltre al suo valore semantico, deve anche essere un ingranaggio nel complesso meccanismo del calcolo matematico. Un sistema di rappresentazione della conoscenza esiste gia', ed e' il linguaggio che noi utilizziamo tutti i giorni: purtroppo nessuna lingua si presta ad essere oggetto di calcolo automatico. Con le sue ambiguita' e ridondanze ogni lingua costituisce anzi un ottimo esempio di come "non" debba essere fatto un linguaggio ideale per la rappresentazione della conoscenza. Nel 1969 MaCarthy sintetizzo' questo discorso dicendo che il problema dell'Intelligenza Artificiale e' da un lato epistemologico e dall' altro euristico: da un lato si tratta di stabilire cosa puo' essere rappresentato in modo formale, e dall' altro si tratta di definire come cio' possa essere elaborato da una macchina. Il programma dell'Intelligenza Artificiale non e' pertanto molto distante da quello della "characteristica universalis" di Leibniz. "Rappresentare" un oggetto significa trovare un altro oggetto, equivalente al precedente ai fini della risoluzione del problema ma piu' facile da elaborare. La rappresentazione dell' informazione, per esempio, si riduce spesso a una sua trascodifica in termini numerici: una volta che l' informazione sia stata ridotta a una sequenza di numeri, il computer la puo' elaborare con facilita' tramite le comuni operazioni aritmetiche. Una volta codificati i nomi "Aldo" e "Giuseppe" come "6576-68-79" e "71-73-85-83-69-80-80-69" (il cosiddetto codice ASCII) il computer puo', per esempio, stabilire quale dei due viene prima in ordine alfabetico: basta guardare quale comincia con il numero piu' piccolo (65, cioe' "Aldo"). Per la conoscenza vennero proposti metodi che si rifacevano almeno alla logica dei predicati e in taluni casi anche a logiche del tutto nuove. Le strutture piu' comuni per la rappresentazione della conoscenza vennero identificate in fatti, regole e liste di proprieta': un dato di fatto e' "Giuseppe e' mio zio"; una regola e' "se una persona e' mio zio allora i suoi figli sono miei cugini"; una lista di proprieta' e' "Giuseppe ha 85 anni, e' alto m.1,65, ha un figlio". Queste tre strutture hanno il pregio di poter essere ricondotte facilmente alla logica: "Giuseppe e' mio zio" e' una proposizione; "se una persona e' mio zio allora i suoi figli sono miei cugini" e' equivalente alla disgiunzione di due predicati (una persona non e' mio zio "OR" i suoi figli sono miei cugini); "Giuseppe ha 85 anni, e' alto m.1,65, ha un figlio" e' equivalente a una congiunzione di predicati. 81 In natura tutti i sistemi complessi (alberi, montagne, etc.) non vengono costruiti, "crescono". E cio' vale anche per la conoscenza. Il processo di costruire un computer dotato di conoscenza e' un processo innaturale. Quanto sia o possa essere equivalente a un corpus naturale di conoscenze e' un altro tema di discussione. Se da un alto c'e' chi sostiene che ogni processo di rappresentazione della conoscenza si traduce inevitabilmente in una sottrazione di senso al reale, poiche' deve accontentarsi di una granularita' piu' rozza di quella del mondo reale, dall'altro esiste la convinzione che sia possibile costruire sistemi di rappresentazione con una cardinalita' maggiore, ovvero in grado di esprimere piu' di quanto esiste, e il linguaggio umano ne sarebbe un esempio (una qualsiasi favola esprimerebbe, secondo questa corrente, piu' di quanto esista). Un'altra popolare diatriba e' quella fra "proceduralisti" e "dichiaritivisti". Secondo i primi (fra cui Minsky) la conoscenza umana e' principalmente del tipo "so come": "so come curare questa malattia". Per i secondi invece (fra cui McCarthy) la conoscenza umana e' principalmente del tipo "so che": "so che questa medicina va presa a fronte di questo sintomo". I primi scrivono programmi che spiegano al computer "come" ottenere la soluzione; i secondi scrivono programmi che spiegano al computer quale conoscenza serve per ottenere la soluzione e si affidano poi alle sue capacita' deduttive. E' stato dimostrato che in ultima analisi il dualismo e' puramente retorico. Grande rilievo venne dato al "parallelismo" insito nel secondo schema. Il programma e' una sequenza di istruzioni che il programmatore impartisce al computer spiegandogli come risolvere il problema passo dopo passo. Il computer non fara' altro che eseguire meccanicamente tali passi. Questa viene chiamata programmazione "sequenziale" appunto perche' l'operato del computer e' riconducibile a una sequenza di istruzioni. Quando si fornisce al computer la conoscenza necessaria per la soluzione del problema, si assume invece che sara' quella conoscenza a guidare il suo operato; dal punto di vista del computer quella conoscenza costituisce un insieme disordinato di istruzioni. Di volta in volta il computer eseguira' l'istruzione piu' idonea a raggiungere la soluzione del problema. In tal modo il programmatore puo' limitarsi a dichiarare tutta la conoscenza necessaria a risolvere il problema, e poi lasciare che sia il computer stesso a stabilire in quale ordine utilizzare le istruzioni per giungere alla soluzione. La programmazione diventa pertanto "non-sequenziale": il programmatore non deve piu' preoccuparsi di specificare in quale sequenza devono essere eseguite le istruzioni. 82 In ogni istante il computer e' in grado di decidere quale azione compiere perche' e' dotato di capacita' inferenziali: esaminando la conoscenza a sua disposizione, inferisce l'istruzione che e' piu' opportuno eseguire (ovvero l'azione che e' piu' opportuno compiere). Nel modello del sistema esperto pertanto obiettivo dell'Intelligenza Artificiale e' quello di fare in modo che la macchina sia in grado di compiere inferenze su una data conoscenza. Ben presto ci si rese conto che l'inferenza esatta della deduzione logica non era sufficiente ad elaborare la conoscenza comunemente trattata dagli umani. Per esempio, ogni forma di conoscenza incerta o approssimata mette in crisi le regole di inferenza classiche. Ci si rese conto, in altri termini, che il buon senso non poteva essere trattato con la Logica Matematica inventata per trattare quantita' astratte. In ultima analisi si scopri' che la conoscenza da sola non fornisce alcuna soluzione. E' appunto la capacita' di compiere inferenze sulla conoscenza che genera il comportamento "intelligente". Quelle inferenze non sono pero' quasi mai deduttive, non sono quasi mai quelle che i matematici avevano studiato nei secoli precedenti. La Logica, che era stata promotrice del programma di Intelligenza Artificiale con la sua ambizione di costruire la macchina in grado di risolvere tutti i problemi matematici, ritorno' al centro delle discussioni, ma non come soggetto, bensi' come oggetto: per realizzare quel programma bisognava innanzitutto cambiare la Logica. La Logica era il problema, non la soluzione. Cio' era accaduto perche' nel giro di trent'anni era cambiata drasticamente la prospettiva dell'Intelligenza Artificiale. L'enfasi posta sulle attivita' piu' informali della mente umana, quelle che consentono di risolvere problemi "reali" (per esempio, alzare un oggetto da terra) anche a chi non ha la preparazione per risolvere i problemi "ideali" (calcolare l'energia meccanica necessaria per vincere l'energia potenziale dell'oggetto), aveva portato a un concetto molto piu' pragmatico di "intelligenza". Il test di Turing, in un certo senso, non garantiva che la macchina vincente sarebbe mai riuscita a sollevare un oggetto da terra, pur sapendo rispondere a tutte le domande possibili sull'energia e il moto degli arti. Da un'altra prospettiva ancora si puo' invece notare una certa continuita' con il programma di Turing. Il sistema esperto, limitatamente al proprio dominio, realizza proprio il sogno di Turing: e' in grado di rispondere a tutte le domande (relative a quel dominio) con la stessa competenza di un esperto umano, e pertanto e' indistinguibile da un esperto umano. La tecnologia dei sistemi esperti ha pero' rinunciato a priori a costruire l'"esperto di tutto". E' come se da un lato avesse capito che l'intuizione di Turing aveva un'applicazione molto utile nella societa' moderna, e 83 dall'altro avesse altresi' capito che una macchina che fosse "umana" in tutto e per tutto era sia praticamente impossibile sia, tutto sommato, inutile. Naturalmente i sistemi esperti vanno incontro anche alla critica fenomenologica di Hubert Dreyfus, che la conoscenza effettivamente impiegata dall'uomo nel risolvere problemi non possa essere formalizzata. Nel costruire sistemi esperti l'Intelligenza Artificiale sembra ripetere il tentativo di Husserl, che vanamente provo' a catalogare il contesto. Dreyfus ha infatti notato (1982) una forte similitudine fra il programma di Husserl e il programma dei sistemi esperti e fra la critica all'intenzionalita' di Heidegger e le critiche al programma dell'Intelligenza Artificiale. Terry Winograd (1986) ha ripreso il concetto di Heidegger dell'"essere gettato" nel mondo: gli esseri umani prendono decisioni circa le situazioni della vita quotidiana senza bisogno di riflettere. Cio' li rende "ciechi" di fronte alle possibili alternative. Se e quando l'azione fallisce, allora e solo allora l'essere umano esamina la situazione a freddo, percependola nei suoi costituenti elementari, e tenta di derivare l'azione in modo "razionale", ma questo e' piu' tipico del novizio che non dell'esperto. Una macchina che si comporti nel modo "istintivo" dell'esperto costituirebbe un problema computazionalmente "intrattabile". Analogamente Stuart Dreyfus, ispirandosi alla filosofia della percezione di MorleauPonty, ha criticato il concetto stesso di "expertise", di conoscenza relativa all'essere "esperto" in un certo dominio, sostenendo che soltanto i novizi adottano un comportamento analitico formalizzabile in un computer sotto forma di conoscenza strutturata, mentre l'esperto vero ha ormai sintetizzato la sua esperienza in un comportamento inconscio che reagisce istantaneamente a una situazione nel suo complesso. Il comportamento inconscio dell'esperto non e' pertanto scomponibile in conoscenza strutturata. Piu' in generale la critica fenomenologica sostiene che l'Intelligenza Artificiale non potra' mai rendere conto del comportamento quotidiano dell'essere umano, per esempio del buon senso; appunto poiche' si tratta della sintesi non scomponibile di un'intera vita di esperienze. Quella dei sistemi esperti si e' infatti rivelata una tecnologia piuttosto "debole". "Forti" sono le tecnologie come l'ingegneria civile, che e' in grado di costruire un ponte sempre e comunque, garantendone con precisione l'affidabilita'. "Debole" e' una tecnologia che e' in grado soltanto di risolvere "qualche" problema in "alcuni" campi e con "alcune" limitazioni. Chi costruisce un ponte sa dove inizia e dove finisce ed e' in grado di calcolarne i limiti entro i quali il funzionamento e' garantito. 84 Chi costruisce un sistema esperto non e' in grado neppure di stabilire quando il sistema esperto sia terminato (quando tutta la conoscenza necessaria sia stata acquisita) e tanto meno quali siano le condizioni di operabilita' del sistema esperto. L'Epistemologia I sistemi esperti, e quindi il programma di raccogliere la "conoscenza", hanno riportato in auge gli studi epistemologici sulla natura e sulle fonti della conoscenza. L'obiettivo primario della costruzione di sistemi esperti e' pero' quello, piu' limitato, di "rappresentare" la conoscenza, prescindendo dalle sue origini, ovvero assumendo che esista un modo intuitivo di definire cosa sia "conoscenza" e che il problema consista nel dare a tale conoscenza una qualche struttura. Il problema era noto ai filosofi almeno dai tempi di Descartes: separando nettamente mente e materia, si separavano altrettanto nettamente anche gli oggetti del mondo e i concetti che li rappresentano nella mente umana, al punto che Descartes si domando' se gli oggetti esistessero davvero. Da quel momento fu chiaro il problema di stabilire la corrispondenza fra oggetti e concetti, ovvero fra mondo e sua rappresentazione. L'epistemologia studia invece aspetti piu' generali. Per esempio, quello di stabilire cosa giustifichi la conoscenza. Tanto i "fondamentalisti" quanto i "coerentisti" assumono l'esistenza di un insieme di credenze basilari che vengono utilizzate per giustificare tutte le altre (in un caso per dimostrarne la verita' nel secondo caso per dimostrarne la coerenza). Platone fu il primo a definire la conoscenza come "credenza vera giustificata", distinguendo innanzitutto fra ignoranza, credenza (doxa) e conoscenza (episteme) e poi asserendo che la conoscenza richiede anche una giustificazione. Avere una convinzione di qualcosa e' presupposto per conoscere quel qualcosa, ma non basta; e' anche necessario che quel qualcosa sia vero, altrimenti non puo' essere considerato "conoscenza; ed e' anche necessario che quel qualcosa sia giustificato da altre conoscenze (altrimenti potrebbe essere vero per pura coincidenza). Gottfried Leibniz fu il primo ad affermare esplicitamente che "giustificare" qualcosa potesse essere ridotto a "dimostrarne" la verita' tramite la logica. La critica portata al razionalismo cartesiano dagli empiristi inglesi, che conferivano preminenza alla percezione (ovvero ai sensi) sulla mente, si espresse soprattutto nello scetticismo di Hume, secondo il quale l'esperienza non puo' mai produrre conoscenza certa. In particolare Hume nego' validita' logica all'induzione, sostenendo che il verificarsi molte volte di un fatto a fronte di un altro fatto non giustifica (se non psicologicamente) la formulazione di una legge che preveda il verificarsi di quel fatto ogni qualvolta si sia verificato quell'altro fatto. L'intero gigantesco apparato delle scienze naturali e' per Hume privo di fondamento: e' pura psicologia. 85 La posizione degli empiristi venne ripresa nel ventesimo secolo da George Moore, il quale risolse lo scetticismo di Hume assumendo che la percezione costituisca in se' un fatto certo. Che la relazione fra percezione e realta' sia fallibile o meno non ha nessuna importanza. Grice sostiene addirittura che la percezione costituisca un tramite diretto con la realta' perche' esiste una relazione causale fra l'oggetto e la percezione di esso. Di conseguenza la percezione non solo e' un fatto certo in se', ma anche la realta' a cui essa si riferisce lo e'. La formalizzazione della definizione di conoscenza data da Platone porto' alla seguente formula: l'agente A conosce la proposizione P se a) A crede che P e' vera; b) A e' in grado di giustificare P; c) P e' vera. Il teorema di Godel dimostro' pero' che questa definizione non aveva alcun senso se per "giustificare" si intendeva "dimostrare". Nacque allora una scuola di pensiero che tendeva a interpretare le verita' scientifiche non come verita' logico-matematiche, ma in senso piu' pratico, legato agli scopi che la scienza si prefigge (di costruire teorie coerenti con i dati empirici, di verificare tali teorie con esperimenti e cosi' via). Lo studio della conoscenza venne cosi' a trovarsi immerso nel dibattito su cosa fosse o non fosse scientificamente dimostrabile. La prima, vigorosa critica all'organizzazione del pensiero scientifico era sorta a cavallo fra i due secoli per effetto di alcuni importanti eventi: la scoperta delle geometrie non-euclidee (ovvero il fatto che si potessero costruire delle geometrie perfettamente coerenti e vere, anche se violano i postulati intuitivi di Euclide), la critica dei concetti assoluti di spazio e tempo portata da Mach nel 1883, la stessa Relativita' di Albert Einstein (1905). Jules-Henry Poincare' formulo' a partire dal 1902 l'ipotesi del "convenzionalismo": un'affermazione scientifica e' vera o falsa unicamente in relazione alle "convenzioni" stabilite all'interno della particolare teoria che la studia. Cosi' alcuni teoremi possono essere veri nella geometria euclidea ma non in quelle non-euclidee, e viceversa. Non esiste modo per stabilire "intuitivamente" quali siano le convenzioni "giuste", quelle che riflettono correttamente la Natura. E cio' appare giustificato dal fatto che le scoperte scientifiche sono quasi sempre andate contro il buon senso (la Terra e' rotonda, la Terra gira attorno al Sole, lo spazio e il tempo sono relativi e cosi' via). Duhem (1906) porto' alle estreme conseguenze questa concezione della scienza facendo notare che le scienze empiriche sono ancor piu' vulnerabili della geometria: mentre in geometria e' possibile dimostrare quali siano tutte le ipotesi che soddisfano certe condizioni, nelle scienze empiriche le ipotesi sul mondo sono infinite e 86 presumibilmente ignote. Nessuna teoria scientifica puo' avere la presunzione di ritenersi "definitiva". La provvisorieta' di ogni teoria scientifica venne sottolineata in particolare da Karl Popper (1934), riprendendo aspetti dello scetticismo di Hume (in particolare riguardo il metodo induttivo): il punto fondamentale della storia della scienza e' la sua "falsificabilita'", l'esatto opposto della "dimostrabilita'". Data una teoria, lo scienziato ne deriva tutte le conseguenze possibili e le verifica sperimentalmente. Se scopre delle contraddizioni con la realta', abbandona la teoria. Questo e' il metodo cosiddetto "ipotetico-deduttivo". Popper propone invece che la teoria venga formulata in modo da poter essere facilmente falsificata: in tal modo si otterrebbe una forma di competizione fra le teoria simile a quella della selezione naturale (un'idea gia' proposta da Charles Peirce). Popper ripudia senz'appello l'induzione, considerata l'esatto opposto (una formulazione della teoria che ne facilita la conferma) e pertanto ingannevole. Una critica all'induzione e' stata portata anche dagli stessi statistici. Una legge induttiva e' un modello della popolazione usata per costruirla: non e' detto che possa essere estesa ad un'altra popolazione. Per esempio, una banca puo' costruire una legge induttiva che descrive il cliente ideale della banca fra tutti coloro che hanno chiesto dei prestiti in passato. Quella legge non puo' pero' essere applicata a coloro che non hanno mai chiesto prestiti in passato poiche', presumibilmnete, questi costituiscono una popolazione dalle caratteristiche completamente diverse. Una legge che spieghi i primi non spiega necessariamente i secondi. Nel 1962 Carnap formalizzo' l'idea che una teoria scientifica non possa essere confermata (dimostrata) in toto, ma che esistano "gradi" di conferma di tale teoria. Una legge scientifica, in altre parole, puo' essere piu' o meno affidabile a seconda di quanto forti siano i dati empirici su cui si basa. Carnap esprime in probabilita' questo "grado" di affidabilita', cosi' come aveva gia' fatto Keynes a proposito dell'induzione. Willard Quine (1960) complico' ulteriormente il dibattito sulla dimostrabilita' della verita' scientifica quando, riprendendo argomenti di Pierre Duhem, introdusse il concetto di background: quando un esperimento rivela un errore nella teoria, esistono infiniti modi di modificare la teoria per renderla di nuovo coerente, ma generalmente si scartano a priori alcune possibili soluzioni poiche' non sono in accordo con il "buon senso". Per esempio, i pianeti potrebbero ruotare attorno al Sole perche' altrettanti giganti di una civilta' aliena, a noi invisibile, li stanno trasportando con loro durante 87 la corsa di una specialita' olimpica che quella civilta' pratica in una gigantesca arena ellittica. Quine non trova una netta divisione epistemica fra convinzioni scientifiche e convinzioni non scientifiche, ed afferma alla fine che la scienza e' semplicemente buon senso cosciente. Parafrasando Einstein, la scienza non e' altro che un raffinamento del pensiero quotidiano. Michael McCloskey (1983) ha addirittura dimostrato che la fisica "naif" (o "folk" o "intuitiva") utilizzata dall'uomo della strada e' piu' aristoteliana che newtoniana: la forza impressa da un'auto e' proporzionale alla sua velocita', non alla sua accelerazione; una bomba lasciata cadere da un aeroplano cadra' in verticale; e cosi' via. Eppure la scienza naif dell'uomo della strada costituisce a tutti gli effetti una teoria completa e coerente, perfettamente adeguata agli scopi della sopravvivenza nel mondo. Quine ritiene cosi' che la scienza sperimentale obbedisca a un principio "olistico", che l'analitico e il sintetico non possano essere separati e che pertanto non abbia senso distinguere fra giustificazioni empiriche e giustificazioni logiche. In particolare il criterio di Moritz Schlick, secondo cui "il significato di una proposizione e' il metodo della sua verifica" (1926), e' l'unico modo per uscire da questo circolo vizioso. Thomas Kuhn (1962) sottolineo' l'importanza del "paradigma" di una scienza: ogni scienza ragiona sulle proprie scoperte utilizzando alcuni postulati teorici e alcuni criteri di validazione. E' il paradigma che consente di aumentare le conoscenze scientifiche all'interno di una scienza. Quando il paradigma non consente piu' di controllare i dati empirici, esso viene abbandonato a favore di un nuovo paradigma. Questi punti di vista sono stati ulteriormente approfonditi da Imre Lakatos e Paul Feyerabend. Per effetto di questo dibattito il programma dei sistemi esperti, di raccogliere e formalizzare la conoscenza relativa a un comportamento esperto (che, nel suo piccolo, e' una forma di teoria scientifica), e' assai piu' delicato di quanto sembri. Nell'ambito dell'Intelligenza Artificiale il programma di rappresentazione della conoscenza ha comunque ridimensionato questi aspetti epistemologici, focalizzandosi sulla formulazione di strutture rappresentazionali che siano computazionalmente efficienti. L'Ingegneria della Conoscenza 88 L'attenzione si e' focalizzato al tempo stesso sul processo di acquisizione della conoscenza e, piu' in generale, sulla possibilita' di fondare una "ingegneria della conoscenza". Come ogni ingegneria anche quella della conoscenza necessita innanzitutto di "strumenti". Uno strumento per l'ingegneria della conoscenza deve consentire di rappresentare la conoscenza in una forma che sia computazionalmente efficiente. Al tempo stesso lo strumento dev'essere progettato secondo le funzioni di cui l'ingegnere deve far uso. Nel caso dei sistemi esperti le funzioni sono essenzialmente due: rappresentare la conoscenza e compiere inferenze. Un sistema esperto si puo' infatti considerare composto da due componenti: una "base di conoscenza" e un "motore di inferenza". Uno strumento per l'ingegnere della conoscenza deve pertanto fornire: uno o piu' modi di rappresentare la conoscenza, uno o piu' modi di eseguire inferenze. Una volta dotato l'ingegnere della conoscenza di tale strumento, il suo mestiere consiste nel raccogliere la conoscenza del dominio specifico per il quale intende costruire il sistema esperto. Una volta fornito lo strumento, il vero obiettivo diventa quello di acquisire la conoscenza dall'esperto umano. Il principio di equivalenza che ispira la disciplina dei sistemi esperti e' infatti quello secondo cui, in un dominio sufficientemente ristretto, il computer passera' il test di Turing se sara' dotato della stessa conoscenza dell'esperto. Nel 1982 Brian Smith lo ha espresso formalmente cosi': "Ogni processo in grado di ragionare intelligentemente sul mondo deve consistere in parte di un campo di strutture (vagamente linguistiche) che in qualche modo rappresenta la conoscenza e le convinzioni che il processo possiede sul mondo, e che in questo modo gioca un ruolo causale nel generare il comportamento intelligente". 'LP L'ingengeria della conoscenza si scontra contro il fatto che gran parte della conoscenza impiegata dagli esseri umani non e' espressa in termini formali, ma va tradotta in termini formali per poter essere elaborata dal computer. Ogni metodo di rappresentazione della conoscenza e' suscettibile di perdere del significato durante questa traduzione. Inoltre la conoscenza che viene impiegata dai sistemi esperti e' prevalentemente quella "euristica" che l'esperto impiega piu' o meno meccanicamente. E' questa, infatti, la conoscenza che consente all'esperto di trovare rapidamente la soluzione a un problema che, espresso in termini formali, darebbe probabilmente origine a un numero infinito di passi di ragionamento. L'uomo della strada sa che non bisogna infilare le dita nella presa della corrente, esattamente come sa che in montagna fa piu' freddo che in pianura, anche se forse non saprebbe giustificare scientificamente nessuna di queste conoscenze. Un sistema esperto ha tutto l'interesse ad utilizzare questo tipo di conoscenza precisamente perche' rappresenta una "scorciatoia" computazionale di valore inestimabile. E' proprio cio' che distingue l'esperto dal non esperto. Un alieno che non fosse mai vissuto sul pianeta Terra dovrebbe porsi la domanda di quale sia la temperatura in montagna sulla base delle sue conoscenze di Fisica: non solo impiegherebbe molto tempo a trovare la risposta, ma probabilmente concluderebbe che, essendo il Sole la sorgente 89 di calore principale ed essendo la montagna piu' vicina al Sole, in montagna deve fare piu' caldo che in pianura. Ben pochi esseri umani saprebbero spiegare perche' in montagna faccia piu' freddo che in pianura, nonostante la montagna sia piu' vicina al Sole e nonostante sia altrettanto ovvio a tutti che avvicinandosi al Sole con un'astronave la temperatura aumentera' certamente; tuttavia gli esseri umani utilizzano senza indugio la conoscenza che in montagna fa piu' freddo per compiere un'inferenza che richieda la temperatura della montagna. Sono conoscenze di questo tipo quelle che guidano il lavoro quotidiano degli specialisti. Il loro campo e' regolato da leggi cosi' complesse che nessuno potrebbe trovare soluzioni ai problemi in tempi ragionevoli se tentasse di risolverli applicando quelle leggi. Siano avvocati o medici, esploratori petroliferi o contadini, gli specialisti applicano la forma di conoscenza consolidata con l'esperienza che consente di "intuire" quale debba essere la soluzione giusta sulla base di alcuni "indizi". L'acquisizione di questo tipo di conoscenza non puo' che avvenire "intervistando" gli esperti. I sistemi esperti non sono altro che la conseguenza pratica di un principio gia' implicito nei manifesti dell'Intelligenza Artificiale. Rispetto alla cibernetica, alle reti neurali e alla scienza cognitiva, che prendono ad esempio la struttura fisica degli oggetti che studiano, l'Intelligenza Artificiale fa parte della linea genealogica che parte dalla teoria della decibilita' e quindi della computazionabilita', una linea che ha come obiettivo quello di dimostrare cosa sia computabile. L'enfasi viene inevitabilmente posta sulla costruzione di macchine in grado di eseguire calcoli in maniera sempre piu' efficiente, non necessariamente imitando il funzionamento del cervello. E' naturale che questa linea di pensiero sia approdata a metodi "euristici" per aumentare l'efficienza computazionale della macchina. Marvin Minsky nel 1968 chiari' la distinzione fra i metodi cibernetici (in particolare delle reti neurali) e i metodi dell'Intelligenza Artificiale, e le rispettive probabilita' di successo. Il metodo "euristico" dell'Intelligenza Artificiale, che sarebbe sfociato appunto nei sistemi esperti, presenta il vantaggio di saper risolvere problemi molto complessi (appunto perche' impiega la conoscenza che un essere umano esperto di quel tipo di problemi ha sviluppato durante l'arco della sua esistenza), mentre un sistema auto-organizzantesi non riesce a risolverli, dovendo impiegare troppo tempo e troppe risorse computazionali per riuscire ad "adattarsi" a quel problema (in pratica, dovrebbe ripercorrere esperienza dopo esperienza lo sviluppo del cervello dell'esperto umano, dalla nascita fino al giorno in cui divenne effettivamente esperto nella soluzione di quei problemi). Poco conta pertanto se il sistema esperto rispecchi effettivamente il modo in cui funziona il cervello umano. Conta unicamente il fatto 90 che il sistema esperto e' in grado di risolvere una nuova classe di problemi, precedentemente insolubile. E cio' grazie alla conoscenza accumulata da un esperto umano su come risolvere quei problemi in modo efficiente. La Societa' della Conoscenza Per definizione i sistemi esperti potranno avere un impatto piu' sociologico che scientifico. La loro missione storica e' quella di aumentare il numero delle attivita' umane che possono essere automatizzate e affidate ad una macchina. Finora, nei primi quarant'anni della sua esistenza, il computer e' stato utilizzato essenzialmente per eseguire conti numerici. Grazie ai sistemi esperti il computer potra' essere utilizzato anche per prendere decisioni. Il ruolo singolare di questi programmi nella societa' post-industriale e' dovuto non tanto al fatto di aprire nuovi orizzonti all'automazione ma al modo in cui cio' avverra'. Sono tre le figure professionali che vengono coinvolte in un sistema esperto: l'ingegnere della conoscenza, l'esperto del dominio e l'utilizzatore. Se oggi l'utilizzatore dipende dall'esperto del dominio (per esempio il medico), per l'erogazione del servizio (per esempio, la diagnosi), l'ingegneria della conoscenza si propone di "clonare" l'esperto in un sistema esperto e fare pertanto in modo che l'utilizzatore possa ricevere il servizio direttamente della macchina. L'esperto, che e' oggi sia deposito di conoscenza sia utilizzatore di tale conoscenza, viene ridotto a solo deposito. L'utilizzatore della conoscenza e' il sistema esperto, che grazie a quella conoscenza fornisce il servizio. Da quando i computer sono entrati a far parte della realta' quotidiana, generando una nuova struttura sociale nella quale i servizi sono preminenti sull' industria, si e' diffuso il termine "Era dell' Informazione". Il tratto caratteristico della Societa' dell' Informazione e' quello di sostituire il movimento fisico delle persone con il movimento virtuale delle informazioni. Vent'anni fa la segretaria dattilografava una lettera sulla sua macchina da scrivere, in diverse copie grazie all' uso della carta carbone, inseriva i fogli dentro buste indirizzate ai vari destinatari, consegnava le buste a un fattorino che le recapitava. Quando le fosse stato richiesto di sostituire un periodo della lettera, la segretaria avrebbe riscritto diligentemente la lettera sulla stessa macchina da scrivere. Compito della segretaria era anche quello di conservare un archivio delle lettere spedite. La segretaria dell'era dell'informazione ha sulla scrivania un computer, che per lei e' equivalente a una macchina da scrivere dotata di uno schermo. Dal suo punto di vista la differenza principale fra il computer e la macchina da scrivere e' la possibilita' di 91 correggere e modificare in maniera semplice ed economica, senza dover riscrivere la lettera da capo. Cio' e' reso possibile dalla memoria del computer, nella quale il testo viene tenuto fino alla fine della composizione. Per tutto quel periodo il testo puo' essere cambiato con la stessa facilita' con cui possiamo cambiare la memoria di una persona dandole nuove istruzioni. Quando la lettera e' terminata, la segretaria chiede al computer di inviare la lettera ai destinatari, ed e' il computer ad incaricarsi di farne delle copie e a trasmetterle via filo ai personal computer che si trovano sulla scrivania di ciascuno dei destinatari. I destinatari a loro volta potranno leggere la lettera sul loro schermo, e poi rispondere allo stesso modo. La segretaria puo' anche chiedere al computer di conservare la lettera nella sua memoria magnetica. E li' rimarra' per usi futuri. In qualsiasi momento la segretaria potra' andare a riprendere quella lettera, cambiare un periodo e spedirla. Il tutto avviene senza che sia prodotta una sola riga di carta stampata. Tant'e' vero che la segretaria non e' piu' indispensabile: tutto il lavoro possono farlo direttamente il mittente, il destinatario, e il computer. La differenza sono quei fogli di carta che si spostavano da un ufficio all' altro, che finivano in archivi, che affollavano scrivanie. Nell' "era dell' informazione" tutto cio' non esiste piu': l'unita' di comunicazione e' l'"informazione" pura (la lettera elettronica) che viaggia all'interno di una "rete" di computer. In questo esempio abbiamo indirettamente introdotto i due concetti basilari della societa' dell' informazione: la "base di dati" (database) e le "comunicazioni" (communication). Il database e' un insieme di informazioni relative a uno stesso soggetto: per esempio, i dipendenti di una certa azienda. La communication e' cio' che consente a diversi computer, vicini o lontani, gemelli o dissimili, di parlare fra di loro. Questi due concetti sono sufficienti per definire l'infrastruttura della societa' dell' informazione: una rete integrata di centri informativi. Il sistema esperto amplia la portata delle "basi di dati", trasformandole in "basi di conoscenza". Il loro potere non sta piu' soltanto nel fatto di contenere miliardi di informazioni, cosi' tante che nessun umano potrebbe mai ricordarle o gestirle; il loro nuovo potere sta soprattutto nel fatto che quelle "informazioni" sono ora quelle che regolano il funzionamento della societa' umana. Il computer dotato di una base di dati e' in grado di fornire all'utilizzatore un dato; per esempio, quale sia lo stipendio di un dipendente, a l'ora di arrivo di un volo, o il costo di un prodotto. Il computer dotato di una base di conoscenza e' in grado di prendere decisioni nel dominio rappresentato da 92 quella base di conoscenza; per esempio, diagnosticare una malattia, o consigliare come investire i propri capitali. La transizione da base di dati a base di conoscenza determina una transizione del ruolo del computer e induce una trasformazione strutturale della societa', da societa' dell'informazione a "societa' della conoscenza". La societa' della conoscenza potra' usufruire del computer per tutte quelle attivita' che oggi sono appannaggio di una elite di "specialisti". La societa' della conoscenza produrra' su scala industriale "cloni" di tali "specialisti" da mettere a disposizione di un numero ben piu' elevato di utenti. La societa' della conoscenza sara' una societa' in cui tutti potranno utilizzare il computer che "clona" l'esperto di investimenti, oppure allacciarsi al servizio che fornisce una diagnosi medica, oppure affittare per qualche minuto il computer esperto di investimenti. Cio' mutera' sia il ruolo dei professionisti sia quello del loro mercato. Il professionista diventera' un raccoglitore di conoscenze, la cui professione consistera' essenzialmente nell'aumentare continuamente la propria esperienza. A lui si attingera' per costruire "cloni" esperti nel suo settore. Saranno poi loro, le macchine, a consigliare l' utente. Una volta clonato, l' unico obiettivo dello specialista diventera' quello di diventare piu' specialista del proprio clone in modo da rimettere in vendita la propria esperienza in un continuo ciclo di raffinamento e di concorrenza con gli altri esperti del settore. La ridefinizione del ruolo dell'esperto, l'emergere di una nuova figura professionale, quella dell'ingegnere della conoscenza, e l'accesso alle attivita' decisionali da parte di una popolazione piu' ampia sono fenomeni di una portata tale da poter generare una rivoluzione sociale ed economica. Genetica Il rapporto fra comportamento intelligente e fattori genetici fu al centro di diverse dispute dal momento stesso in cui Darwin pubblico' l'"Origine della Specie". Francis Galton fu forse il primo a porre il problema di quanto un individuo dovesse il proprio comportamento al codice genetico e quanto all'interazione con l'ambiente. Da un lato il genetista William Bateson sosteneva che il codice genetico stabilisce a priori la personalita' di un individuo, mentre dall'altro il behaviorista John Watson riteneva che ogni individuo potesse essere dotato di una personalita' a piacimento tramite il condizionamento. Il concetto di ereditarieta' venne trattato in maniera scientifica nel 1866 da Gregor Mendel, ma sarebbe stato ignorato fino all'inizio del ventesimo secolo, quando la neonata Genetica ne avrebbe fatto il proprio manifesto. Mendel noto' delle regolarita' nel modo in cui venivano ereditati il colore e la struttura dei piselli e da questo intui' 93 che dovesse esistere una unita' elementare di trasmissione dei caratteri ereditari detta "gene". Le leggi dell'ereditarieta di Mendel relegarono definitivamente nella preistoria l'idea (accettata sia da Lamarck sia da Darwin) che i caratteri acquisiti si potessero trasmettere per via ereditaria. Dapprima sembro' che la scoperta di Mendel rimettesse in discussione l'intera teoria di Darwin, ma nel 1930 Ronald Fisher avrebbe dimostrato che selezione naturale e Genetica sono del tutto compatibili. Il programma riduzionista che era in corso in tutte le scienza aveva gia' portato i biologi a concepire un organismo come un insieme di cellule. Il gene venne identificato come una struttura di cromosomi che si trova nel nucleo della cellula: in un certo senso era stato scoperto il "cervello" della cellula. La biochimica riusci' in seguito a penetrare i segreti del nucleo: nel 1944 Oswald Avery scopri' che il trasmettitore chimico dell'informazione genetica era un acido detto DNA (acido deoxiribonucleico). Nel 1953 Francis Crick e James Watson scoprirono anche quale fosse la struttura interna del DNA, proponendo il modello classico della "doppia elica": i geni sono composti di quattro unita' chimiche che fungono da alfabeto per un codice scritto lungo due lunghe stringhe complementari, arrotolate l'una attorno all'altra. Il codice che esse implementano costituisce la serie di istruzioni che stabiliscono come l'organismo debba crescere e riprodursi. Negli anni successivi il quadro si venne completando e il processo dell'"epigenesi", quello che trasforma il genotipo (molecola di DNA) in fenotipo (l'organismo), venne ricondotto a una serie di istruzioni logiche che danno luogo a reazioni chimiche. Crick enuncio' allora il principio fondamentale della Biologia molecolare: il DNA viene trascritto in RNA (acido ribonucleico) messaggero, il quale a sua volta viene tradotto dai ribosomi in catene di aminoacidi, ovvero in proteine. Erano numerose le analogie con la nascente cultura dell'informazione, dal fatto che i geni memorizzino informazioni in forma digitale al fatto che esista un "nastro" di istruzioni alla Turing. La teoria di Turing trovo' cosi', a posteriori, una sua plausibilita' scientifica. Nel 1979 Douglas Hofstadter ha illustrato un elegante parallelo fra la Biologia molecolare e la Logica Matematica che dal codice di partenza (DNA nel primo caso e espressioni logiche nel secondo) arriva fino all'autoreplicazione (nel primo caso) e all'auto-referenziabilita' (nel secondo). 94 La scoperta del DNA stabili' di fatto una diretta dipendenza della Fisiologia dalla Genetica. Negli anni successivi nacque infatti la "Genetica del comportamento", che studia la relazione fra il "genotipo" (il codice genetico) e il "fenotipo" (i tratti caratteristici) di un particolare individuo. Che il codice genetico determini (almeno in parte) il comportamento dell'individuo e' noto fin da quando esiste l'allevamento selettivo di razze di cani, bovini, cavalli, etc. Al tempo stesso gli psicologi hanno determinato in maniera sempre piu' precisa l'influenza dell'ambiente. Benche' non sia ancora chiaro in che misura i due fattori agiscano sullo sviluppo dell'organismo, oggi e' convinzione diffusa che entrambi vi contribuiscano. La genetica avrebbe anche dato un impulso determinante alla comprensione della mente, perche' avrebbe consentito di comprendere il funzionamento del sistema immunologico e da cio' sarebbe scaturita la teoria neurobiologica del cervello. La Programmazione Automatica La Programmazione Automatica e' la disciplina affine alla Cibernetica e all'Intelligenza Artificiale che studia come un algoritmo possa produrre un altro algoritmo, o, in maniera equivalente, come un programma possa produrre un altro programma. Esistono diversi approcci alla programmazione automatica, ma tutti si possono ricondurre allo stesso: la sintesi di un programma a partire dal comportamento desiderato. Un caso particolarmente studiato e' quello di costruire un programma che produca certi output a fronte di certi input. In questo caso l'input al programmaprogrammatore e' la sequenza di coppie [input, output] piu' la conoscenza del programmatore (la conoscenza di come si scrivono i programmi). Se si rappresenta il programma da costruire con un predicato p(X), che e' vero se X e' un input valido, e la sequenza di coppie con un predicato r(X,Y), che e' vero se X e Y costituiscono una di quelle coppie [input,output], allora il programma p(X) e' definito logicamente dalla formula: Per-ogni X p(X) --> Esiste Y tale che r(X,Y) 95 (per ogni input che rende vero il programma esiste un Y che e' l'output accoppiato all'input X). Costruire il programma p(X) significa trattare questa formula come un teorema e tentare di dimostrarlo. La sua dimostrazione "e'" il programma. Infatti dimostrare il teorema significa dimostrare che e' possibile trovare, per ogni X, l'Y che lo soddisfa; e per dimostrare cio' si deve costruire il metodo con cui si trova Y; e il metodo con cui si trova l'Y corrispondente all'X e' proprio il programma cercato. Questa prassi e' la conseguenza di un'importante proprieta' dei teoremi con quantificatori esistenziali scoperta da Cordell Green nel 1969: la dimostrazione di un teorema di tale tipo contiene implicitamente la sequenza di operatori necessaria per trovare gli oggetti di cui il teorema asserisce l'esistenza. Da questo teorema ebbe anche origine la teoria dei tipi di Martin-Lof. Nel 1980 Zohar Manna ha inoltre proposto un metodo deduttivo per estrarre tali operatori. Un'estensione della sintesi di programmi a partire dalle coppie di input e output e' quella (proposta da E. Gold nel 1967) di inferire una grammatica a partire dalle stringhe che essa deve essere in grado di generare. Una grammatica e' infatti un caso particolare di programma, composto di istruzioni per generare stringhe. Nel 1975 John Holland ha introdotto evoluzionismo e genetica nell'informatica formulando un algoritmo "genetico" in grado di simulare l'evoluzione darwiniana per stringhe di caratteri binari (bit) di lunghezza fissa. Tali stringhe (che in seguito sarebbero state estese anche a quelle di lunghezza variabile) rappresentano pertanto i cromosomi. Holland dimostro' che molti problemi di tipo adattativo possono essere risolti in maniera efficiente mediante tale algoritmo. In particolare nel 1986 applico' la sua teoria genetica ai sistemi di produzione ideando un "classificatore" di regole di produzione modellato sulla teoria dell'evoluzione: generare nuove popolazioni di regole selezionando le piu' efficaci all'interno di una popolazione iniziale. Precisamente l'algoritmo procede cosi': 1) genera a caso una popolazione iniziale di regole; 2) calcola la "performance" di ciascuna regola; 3) di ciascuna regola calcola la probabilita' di selezione, data dal rapporto fra la sua performance e la somma totale di tutte le performance; 4) tenendo conto di questa distribuzione di probabilita' e applicando gli operatori genetici alla popolazione 96 attuale, genera una nuova popolazione di regole. Gli operatori genetici necessari per generare la popolazione per la prossima iterazione sono quelli di ricombinazione, mutazione e inversione: la ricombinazione crea una nuova regola mettendo insieme i termini di varie regole; l'inversione rimescola casualmente i termini di una stessa regola; la mutazione sostituisce termini con nuovi termini in maniera casuale. Inversione e mutazione sono pertanto operatori "asessuali", mnetre la ricombinazione e' il tipico operatore sessuale che crea un nuovo individuo i cui tratti sono ereditati da due genitori. Ad ogni iterazione viene calcolata la probabilita' di riproduzione di una regola in funzione del suo grado di performance. Nel 1990 John Koza ha esteso le idee di Holland alla generazione genetica di interi programmi. La popolazione darwiniana e' pertanto rappresentata da programmi (strutturati in maniera gerarchica) i quali subiscono trasformazioni genetiche per soddisfare i requisiti di saper risolvere un certo problema. Il problema viene definito da una serie di output attesi a fronte di certi input. Ogni individuo della popolazione ha associata una misura del suo adattamento all'ambiente calcolata come (l'inverso della) differenza fra il proprio output e l'output richiesto dall'ambiente. La Neurobiologia La scienza neurobiologica ebbe origine da alcune scoperte del tardo behaviorismo: Camillo Golgi aveva dimostrato nel 1883 che il sistema nervoso, per svolgere le funzioni che svolge, deve essere strutturato come una forma "reticolare"; Charles Sherrington aveva proposto nel 1897 che i neuroni comunichino tramite sinapsi e che pertanto il sistema nervoso altro non sia altro che una rete sinaptica; negli anni Trenta infine Santiago Ramon y Cayal aveva raffinato quel modello spiegando come i neuroni si scambiano segnali elettro-chimici che dall'axone dell'uno fluiscono nella dendrite dell'altro (e mai viceversa) e come la memoria risieda proprio nelle sinapsi che congiungono i neuroni (e non nei neuroni stessi). La teoria "reticolarista" venne definitivamente confermata solo negli anni Cinquanta, quando il microscopio elettronico rese possibile vedere le sinapsi. Nel 1943 Warren McCulloch e Walter Pitts, basandosi su quelle idee, proposero il modello secondo cui il neurone poteva essere immaginato come un'unita' logica a "soglia": quando il segnale di input supera un certo "valore di soglia", il neurone emette il suo segnale di output. I due dimostrarono poi come sia possibile implementare tramite neuroni binari ogni espressione logica finita, ovvero come una rete di tali neuroni sia equivalente a una macchina di Turing universale. Per neurone "binario" si intende un'unita' astratta che si attiva se e soltanto se l'input totale che riceve raggiunge il valore di soglia proprio dell'unita' stessa. Viene detto "binario" perche' si presenta soltanto in due stati: attivo e non attivo (quando e' attivo, emette sempre lo stesso output). Un neurone puo' ricevere input da due tipi di sinapsi: 97 eccitatorie e inibitorie. Se una delle seconde e' attiva, il neurone non puo' diventare attivo. Con questo semplice schema e' possibile costruire "circuiti neuronali" che realizzano le operazioni booleane di AND, OR e NOT. Una rete di tali neuroni costituisce una complessa macchina booleana, in grado di esprimere ed eseguire complicate espressioni logiche. L'intuizione piu' importante era pero' un'altra: McCulloch e Pitts si resero conto che l'"intelligenza" di una tale rete sarebbe stata dovuta al fatto di essere una rete, al fatto di contenere migliaia di collegamenti, e non certo all'intelligenza del singolo neurone, che e' anzi limitato a due soli stati (attivo e inattivo). Anche se i due ricercatori sospettavano gia' che l'ipotesi binaria fosse una grossolana approssimazione della realta' (in effetti gli stati possibili di un neurone sono infiniti e variano con continuita'), le reti di neuroni binarie fornirono il primo strumento matematico per costruire modelli computazionali del cervello. Benche' l'idea del neurone potesse rendere conto di come venisse generato un comportamento casuale dell'organismo, rimaneva del tutto misterioso come quel comportamento potesse essere in relazione con i milioni di input pervenuti alle varie zone del cervello, input che possono talvolta essere persino in contraddizione fra di loro. In altre parole, restava da stabilire come dal caos di miliardi di neuroni potesse nascere l'ordine di un comportamento intelligente a fronte di una data situazione. Nel 1959 McCulloch e Pitts formularono allora il principio della "ridondanza del comando", in base al quale il comando viene trasferito alla zona del cervello che riceve l'informazione piu' significativa. I neuroni di quella zona prendono l'iniziativa e, per attivazione ricorsiva di neuroni ad essi collegati, la rete neurale produce alla fine un comportamento ben definito. Il punto saliente di questo modello e' che in realta' nessun neurone possiede l'informazione globale necessaria a stabilire quale sia l'azione da compiere. Nel 1949 Donald Hebb formulo' la legge secondo cui la connessione fra due neuroni viene "rinforzata" ogni volta che viene usata, ovvero ogni volta che uno dei due neuroni invia lungo quella connessione un segnale all'altra (assai simile alla "legge dell'effetto" di Thorndyke). Hebb ipotizzava pertanto che le connessioni non fossero fisse, ma fossero variabili nel tempo a causa di un qualche tipo di metabolismo non meglio identificato. Non solo: Hebb ipotizzava anche che esse variassero secondo una legge che premiava semplicemente quelle piu' frequentemente usate. In tal modo Hebb forniva una prima spiegazione di come il cervello possa "imparare" nuove nozioni. 98 Lashley apri' la strada al modello distribuito della memoria, secondo il quale l'informazione non e' localizzata in un punto univoco ma in piu' punti. E' un fenomeno assai simile a quello dell'ologramma (inventato in quegli anni da Dennis Gabor), che contiene in ogni suo punto l'informazione dell'immagine, e conservera' quell'immagine, sia pur sbiadita, anche se una parte viene rimossa. Gli studi di Lashley fecero comprendere che per rappresentare un concetto era necessario disporre di una rete di neuroni. Per effetto di queste e altre scoperte si venne consolidando un modello neurale del cervello secondo il quale esiste una rete di cellule nervose (circa cento miliardi) fra di loro connesse (circa 200.000 miliardi di connessioni). Tramite le interconnessioni ciascuna cellula (ciascun neurone) riceve segnali elettrochimici (input) da altre cellule (altri neuroni). Il neurone integra gli input e genera un nuovo segnale elettrochimico (output) che e' funzione di tali input. L'output viene inviato lungo altre interconnessioni ad altri neuroni. Le interconnessioni di input vengono chiamate "dendriti", quelle di output "axoni", ma e' uso comune chiamare entrambe semplicemente "sinapsi". Un neurone si comporta come un'apparecchiatura elettrochimica con un potenziale interno: quando il potenziale (somma "pesata" degli input) supera la soglia del potenziale interno, il neurone propaga un potenziale di attivazione lungo l'axone. Ogni input viene "pesato" secondo la forza della relativa connessione. La forza delle connessioni e' dinamica e varia secondo l'esperienza (legge di Hebb). Pertanto una connessione molto "usata" sara' piu' forte di una poco "usata", e questo avra' degli effetti sugli input che vi passano. Ogni esperienza si realizza tramite un'attivazione a catena dei neuroni del cervello. La percezione sensoriale costituisce una serie di input che scatenano una propagazione di segnali all'interno della rete di neuroni. Alla fine della catena vengono attivati dei neuroni periferici che emettono i segnali di output. Questa e' la risposta del cervello a quella esperienza. Il caso piu' tipico e' quello del riconoscimento. Un cervello viene "addestrato" dall'esperienza (per esempio) a riconoscere che un certo viso appartiene a una certa persona. Il cervello viene cioe' addestrato a produrre un ouput che e' il nome di quella persona a fronte di una varieta' di input: tutte le possibili maniere in cui il suo viso si puo' presentare (di fronte, di profilo, inclinato, variamente ombreggiato, con o senza barba e cosi' via). L'"addestramento" avviene tramite l'esperienza: man mano che il 99 cervello viene esposto al viso di quella persona, si rafforzano le connessioni piu' adatte a far riconoscere quel viso come appartenente a quella persona. Dopo un numero sufficientemente grande di volte che cio' si e' ripetuto, le connessioni dovrebbero aver raggiunto una configurazione di eccellenza, tale che ogni immagine di quel viso, non importa da quale angolazione e in quali condizioni di luminosita', causera' sempre un tipo di attivazione a catena dei neuroni che alla fine fornira' come risultato il nome di quella persona. La misura dell'intelligenza diventa una misura del "traffico" di segnali che i neuroni si scambiano. Il singolo neurone e' invece un'unita' molto semplice che non e' in grado in compiere alcuna operazione complessa. Ha la stessa funzione di una pallina dell'abaco: l'abaco e' in grado di compiere operazioni aritmetiche grazie al modo in cui le sue palline sono connesse, ma ogni pallina e' in se' del tutto insignificante. Sono le configurazioni, non i neuroni, che contano. Al tempo stesso sbiadisce la differenza fra "memoria" e "ragionamento". Il modo stesso in cui vengono memorizzate le informazioni sembra essere parte integrante del modo in cui il cervello ragionera' su di esse, e viceversa. Contrariamente a quanto suggerisce il buon senso, la memoria sembra molto piu' efficace nel "riconoscere" che nel "ricordare": nessuno sa ricordare nei minimi particolari il viso persino del piu' intimo amico, ma ovviamente tutti siamo perfettamente in grado di riconoscerlo quando ne vediamo una fotografia, indipendentemente dagli occhiali, dalla barba, persino dall'eta'. Dallo studio della visione nella rana Maturana pervenne nel 1960 alla conclusione che non esistano rappresentazioni interne della realta', ma semplicemente reazioni provocate da fibre piu' idonee a rispondere a caratteristiche della luce come l'intensita'. In seguito Maturana vedra' questo fenomeno all'interno di un piu' generale principio che accomuna tutti gli organismi viventi: quello dell'"autopoiesi", in base al quale ogni organismo e' composto da una rete di processi che, attraverso la loro interazione, rigenerano di continuo la rete stessa. L'adattamento, per esempio, consiste semplicemente nel rigenerare la struttura dell'organismo in modo che il suo rapporto con l'ambiente rimanga costante. L'apprendimento e' un processo che trasforma continuamente il comportamento in base agli stimoli dell'ambiente. Il ricordare non dipende da una memoria di entita' astratte, ma dal saper generare il comportamento che meglio si accoppia con le situazioni ricorrenti nell'ambiente. Un organismo, pertanto, non fa alcun uso di strutture rappresentazionali, bensi' la sua conoscenza e' dovuta al cambiamento continuo del sistema nervoso indotto dalla percezione: la conoscenza e' azione. Un organismo biologico e' allora una struttura in grado di rispondere all'ambiente, e lo stimolo e' la parte di ambiente che viene 100 assimilata in tale struttura. Maturana fondo' in tal modo la "Neurofisiologia cognitiva", il cui obiettivo e' studiare come i processi biologici diano origine ai fenomeni cognitivi, ovvero come gli stimoli dell'ambiente perturbino il sistema nervoso producendo comportamento. Gerald Edelman scopri' nel 1969 un importante principio del sistema immunitario: ubbidendo a delle elementari leggi di come le molecole si possono "legare" fra di loro, sono i batteri stessi a selezionare chimicamente gli anticorpi che li possono combattere piu' efficacemente, scegliendoli fra i milioni di anti-corpi presenti nel corpo umano. Gli anticorpi selezionati hanno a quel punto maggiori probabilita' di riprodursi, e pertanto vengono "premiati" dal fatto di essere quelli piu' "adatti". E' un fenomeno che ricorda il principio darwiniano di competizione e che introduce il concetto di "population thinking" (ragionare in termini di popolazione, e non solo di individuo) nello studio del sistema nervoso. Negli anni successivi Edelman tento' di applicare questa legge al sistema nervoso, pervenendo (1978) a un modello in base al quale sarebbero gli stimoli a selezionare direttamente i gruppi neuronali piu' adatti a riconoscerli (la cosiddetta teoria della "selezione dei gruppi neuronali", o NGS). Uno stimolo da' luogo ad un processo competitivo fra i gruppi che rispondono ad esso: i gruppi neuronali che rispondono meglio ne escono "rafforzati". Secondo l'NGS le operazioni mentali hanno origine da tre fasi di sviluppo. Nella prima, tipicamente prenatale, le molecole di coesione cellulare (CAM) causano la nascita e la crescita di reti neuronali: le connessioni fra i neuroni si modificheranno durante l'arco dell'intera esistenza in funzione delle esperienze del cervello (da quanto spesso i singoli neuroni verranno selezionati). Nei primi mesi di vita (seconda fase) ha luogo la formazione di mappe neuronali composte da neuroni che rispondono meglio degli altri a certi stimoli. Ogni mappa si specializza nel riconoscere certe caratteristiche (una frequenza, un'ampiezza, una forma). Ciascuna mappa non e' sufficiente da sola a fornire una descrizione completa di un oggetto. Nella terza fase il cervello e' invece in grado di impiegare un processo di "rientro" per mettere in relazione fra di loro diverse mappe e dar cosi' luogo alle operazioni mentali. Dalla nascita in poi i neuroni sono sempre gli stessi (circa mille miliardi): durante la vita variano soltanto le intensita' delle connessioni. Nella teoria dei gruppi neuronali di Edelman selezione, apprendimento e comportamento sono le entita' fondamentali, e si riferiscono allo stesso fenomeno (sono di fatto la stessa cosa). L'apprendimento, in particolare, e' cambiamento acquisito. 101 Un semplice esempio del modello neuronale e' quello del pipistrello, illustrato da Nobuo Suga nel 1990. Il pipistrello impiega impulsi di vario tipo per navigare e per cacciare la preda. Il sonar del pipistrello riesce infatti a catturare tutta una serie di informazioni contenute negli echi degli impulsi che l'animale ha emesso. La corteccia uditoria e' suddivisa in gruppi neuronali, ciascuno specializzato nell'estrarre un certo tipo di informazione dall'eco: i neuroni di una regione rispondono alle frequenze, i neuroni di un'altra rispondono alle differenze di frequenza fra un impulso e il suo eco, i neuroni di un'altra ancora rispondono agli intervalli di tempo fra un impulso e il suo eco, e cosi' via. Tutto cio' ha uno scopo molto pratico: dall'effetto noto in Fisica come spostamento Doppler (una differenza di frequenze) e' possibile calcolare direttamente la velocita' relativa e persino il battito di ali della preda; il ritardo dell'eco e' proporzionale alla distanza della preda; dall'ampiezza dell'eco e' possibile determinare le dimensioni della preda; e cosi' via. L'insieme di questi segnali non viene pero' "elaborato" per derivarne i dati di cui sopra e poi elaborare una rotta. I neuroni specializzati in tali "rilevamenti" emettono istantaneamente l'impulso che meglio guida la navigazione del pipistrello. Questa complessa e sofisticata configurazione di segnali di risposta "e'" il comportamento del pipistrello. Il modello neurobiologico che e' emerso da questi studi e' quello di un cervello evolutivo. I geni determinano quali neuroni sono connessi inizialmente e con quali pesi; ma e' l'esperienza, e non i geni, a determinare lo sviluppo delle sinapsi, favorendo quelle usate piu' spesso. Le connessioni piu' sollecitate dall'esperienza si rafforzano, le altre si indeboliscono. A seconda delle esperienze vissute dall'individuo si avranno configurazioni neuronali diverse, ovvero cervelli diversi. I neuroni si organizzano a loro volta in aree che danno origine alle parti specializzate del cervello. L'interazione dell'ambiente e' pertanto determinante per lo sviluppo del cervello, anzi e' cio' che determina come si sviluppa il cervello. Anche la formazione della struttura cerebrale soggiace pertanto a una forma di competizione darwiniana. Lo studio fisiologico del cervello puo' avvenire a diversi livelli e a diverse dimensioni: al livello chimico delle molecole l'ordine di grandezza e' l'Armstrong; a livello di sinapsi l'ordine di grandezza e' un micrometro (milionesimo di metro); a livello di neurone e' di un decimo di millimetro; si arriva al centimetro parlando di mappe. Il livello piu' alto e' ovviamente quello del sistema nervoso completo. La fortuna del modello connessionista ha fatto si' che gli etologi tentino di spiegare sotto forma di processi neuronali un po' tutti i comportamenti esibiti da una specie. Il canto di un uccello, per esempio, potrebbe comunicare qualcosa ai suoi simili semplicemente perche' nel loro cervello quelle particolari frequenze attivano certi 102 neuroni che fanno loro compiere certe azioni. E cosi' via: e' relativamente semplice proporre modelli analoghi per qualsiasi tipo di comportamento. Il modello neuronale del cervello ha riportato in auge la polemica fra dualisti e riduzionisti, i primi convinti che mente e cervello siano due entita' distinte, i secondi convinti che la mente si possa spiegare in termini della struttura del cervello. Dei progressi della neurofisiologia si e' servito, per esempio, Penfield nel 1975 per affermare che la mente e' frutto dei processi fisici che si svolgono nel cervello. D. Armstrong (1968) ha sostenuto questa teoria dell'identita' psicofisica con le parole "possiamo fornire una spiegazione completa dell'uomo in termini puramente fisicochimici". Ancora non e' stata fornita pero' una spiegazione fisico-chimica di quale processo causi il verificarsi della legge di Hebb. La situazione della neurobiologia ricorda un po' quella della Fisica del Seicento, quando Johannes Kepler aveva scoperto una legge che spiegava il comportamento dei pianeti, ma senza poter spiegare a sua volta quale processo causasse quella legge (la teoria della gravita' di Newton e la teoria generale della relativita' di Einstein sono due possibili teorie di tale processo). Non e' pertanto neppure possibile sapere se la legge di Hebb non sia un caso particolare di una piu' generale proprieta' della materia. Il muscolo esercitato e' piu' forte, il muscolo non esercitato si atrofizza. E' intuitivo che fenomeni di "apprendimento" simili a quello neuronale si possono osservare nella vita quotidiana: un pezzo di carta piegato molte volte tendera' a rimanere piegato, e tendera' ad assumere di nuovo la sua configurazione piatta se invece lasciato stare per un tempo sufficientemente lungo. E' possibile anche (Piero Scaruffi, 1990) notare similitudini con la forza di attrazione gravitazionale (l'attrazione fra due masse aumenta quando si aggiunge materia ad esse) e la fisica delle particelle (il modello della "stringa" proposto da Nambu ha come conseguenza che la forza di coesione fra due quark aumenta quando si aggiunge energia ad essi). Dal punto di vista computazionale il modello neurobiologico diede origine alla disciplina delle reti neurali e piu' in generale al modello computazionale del connessionismo (revisione di quelli di William James e di Edward Thorndike). In questo modello le proprieta' neurobiologiche del cervello sono espresse in modo astratto come "ridondanza" (la perdita di una parte della rete non fa perdere alcun concetto specifico, causa soltanto un degrado uniforme della memoria), "tolleranza" al rumore (un disturbo non degrada la memoria), elaborazione "analogica" (i segnali non sono digitali, ma variano nel continuo), e cosi' via. Ogni processo cognitivo e' dovuto a un insieme di "agenti" che interagiscono scambiandosi messaggi. Ogni agente e' un'unita' elementare in grado di eseguire soltanto un compito molto 103 semplice. Sono i messaggi a determinare la complessita' del sistema. L'intelligenza del sistema e' una misura del "traffico" di messaggi. La cibernetica, e in particolare l'obiettivo di inventare il sistema auto-organizzantesi, forni' di fatto gli strumenti matematici necessari per costruire modelli elettromeccanici delle reti neurali del cervello. A partire dagli anni Cinquanta, con il Perceptron di Rosenblatt, si tento' la costruzione o la simulazione di macchine neurali, ma nel 1969 Marvin Minsky evidenzio' alcuni problemi di fondo della disciplina. Per effetto di quella critica durante gli anni Settanta l'interesse per le reti neurali diminui' considerevolmente, di pari passo con l'emergere dei sistemi esperti. La rinascita di interesse si verifico' nel 1982, quando John Hopfield dimostro' la possibilita' di costruire macchine neurali avvalendosi della stessa tecnologia VLSI impiegata nella costruzione dei comuni computer. Se la programmazione (non-sequenziale) dei sistemi esperti era sostanzialmente diversa da quella (sequenziale) dei programmi convenzionali, la programmazione delle reti neurali e' a sua volta assai diversa da quella dei sistemi esperti. Una volta costruita la rete neurale (ovvero dopo aver definito i nodi che la compongono e tutte le connessioni possibili fra tali nodi) occorre "addestrarla" ad eseguire il compito per cui e' stata costruita. Tale compito puo' essere espresso come "riconoscere una situazione". L'addestramento a riconoscere una situazione di un certo tipo consiste nel presentarle diverse situazioni e le corrispondenti azioni da compiere a fronte di esse. Ad ogni occorrenza della coppia situazione-azione, la macchina neurale modifica le connessioni fra i nodi in modo che gli input corrispondenti a quella situazione generino un output corrispondente a quell'azione. Dopo aver ripetuto molte volte questa operazione con molte coppie diverse di situazione-azione, si suppone che la macchina raggiunga uno stato stabile. La macchina e' a quel punto "addestrata" a riconoscere altre situazioni di quel tipo. A fronte di una nuova situazione di quel tipo, dovrebbe saper generare l'azione che le e' stata insegnata. Se programmare un computer tradizionale significa spiegargli "come" risolvere passo per passo un certo problema, se programmare un sistema esperto significa fornirgli la conoscenza che serve per risolvere un certo problema, programmare una rete neurale significa farle risolvere molti esempi particolari di quel tipo di problema. L'addestramento prende il posto della programmazione, la neuro-computazione prende il posto della computazione programmata. 104 Nel 1986 David Rumelhart e James McClelland hanno definito la neurocomputazione come una forma di "computazione distribuita e parallela" (PDP o "parallel distributed processing"). Anche il modello computazionale delle reti neurali, come i suoi predecessori, e' stato sottoposto a critiche di principio. Ancora una volta ha senso domandarsi se il cervello possa scoprire la propria struttura, o se cio' non costituisca un paradosso, e in tal modo mettere in discussione l'intero programma neurobiologico. Esiste inoltre un problema scientifico: i dati fisiologici sulla struttura del cervello sono ancora molto primitivi. Nessuna struttura del cervello e' stata pienamente compresa. Quella delle reti neurali e' una tecnologia che ha poco a che vedere con la neurologia, eccetto che ne prende in prestito alcune idee molto generali. In pratica si e' verificata una sequenza di transizioni del tutto arbitrarie: il cervello, che non e' compreso, ha ispirato un modello del cervello, che e' compreso, il quale ha a sua volta ispirato la neuro-computazione, che viene addirittura usata. Questo passaggio dall'ignoto al certo e' stato ottenuto astraendo informazioni approssimate e incerte e derivandone una teoria matematica precisa e certa. Ma e' dubbio quale sia la relazione fra quella teoria e la realta'. Infine esiste un problema tecnologico: quella delle reti neurali e' una tecnologia molto "debole", esattamente come quella dei sistemi esperti. Puo' essere usata con successo soltanto in casi molto limitati e senza alcuna garanzia della sua stabilita' nel tempo. Il modello connessionista non e' soprattutto in grado di spiegare come si passi dalle strutture neuronali ai processi mentali superiori. Il modello della mente come elaboratore simbolico esibisce la caratteristica opposta: tratta i processi mentali superiori, ma non e' in grado di spiegare come essi corrispondano con l'attivita' neurale del cervello. Il problema e' come si passi dal livello neurale a quello simbolico, ovvero dal processo fisiologico a quello cognitivo, dalla rete neurale al concetto, dall'anatomia al pensiero, e, in ultima analisi, dalla struttura alla funzione. Un sistema chiuso di simboli e' soltanto un manipolatore di segni: soltanto un osservatore ad esso esterno puo' mettere in relazione quei segni con un significato. Fra il livello fisico e quello mentale deve esistere un livello intermedio che modelli l'attivita' del cervello in modo che i simboli "significhino" qualcosa. George Lakoff 105 (1986) ha trasferito il modello connessionista al livello simbolico affermando che il mondo non e' organizzato in un'ontologia fissa, ma il cervello deve imporre una categorizzazione del mondo prima di poter usare dei simboli per riferirsi a qualcosa. A maggior ragione allora si deve postulare l'esistenza di un livello intermedio che costruisca simboli. Il modello "subsimbolico" di Paul Smolensky (1987) prevede che esista un livello intermedio fra quello neurale e quello simbolico. La descrizione di un processo mentale al livello subsimbolico e' la descrizione di un sistema neurale. Il problema del modello subsimbolico e' che manca di una funzione di interpretazione. Il livello subsimbolico necessita dell'analogo della semantica model-theoretic per il livello simbolico: la funzione di interpretazione che calcoli i valori dei simboli. Tale funzione dovrebbe pero' essere a sua volta calcolata, e non puo' essere calcolata tramite simboli perche' cio' darebbe origine a una regressione infinita. Nonostante i progressi della neurobiologia, permane ancora il sostanziale dualismo fra mente e cervello: quanto piu' riusciamo ad esprimere quantitativamente (e quindi computazionalmente) i processi cognitivi della mente e i processi neurofisiologici del cervello, tanto piu' le due dimensioni della mente e del cervello ci appaiono diverse; tanto piu' ci appare difficile conciliare l'una con l'altro, definire quale "ponte" possa congiungere le strutture elementari dell'una con le strutture elementari dell'altro. Gli stati mentali sono stati cerebrali? Smolensky considera la mente come una descrizione ad alto livello del cervello e tenta di scoprire la procedura finita tramite cui la descrizione di alto livello puo' essere derivata da quello di basso livello. Se la descrizione di livello alto descrive l'attivita' collettiva di un livello inferiore, e' possibile che si verifichi qualcosa di simile alla Fisica: al livello basso di atomi e molecole si osservano certi fenomeni (il moto browniano, per esempio) e si utilizza un certo linguaggio (massa, spin, etc.), mentre al livello superiore si osservano fenomeni collettivi (come l'equilibrio) e si utilizza un linguaggio di variabili diverso (temperatura, energia). Per ora, comunque, gli effetti del darwinismo nel campo della neurofisiologia sono simili a quelli della rivoluzione copernicana nel campo dell'astrofisica: il cervello e' sempre meno al centro dell'universo e sempre piu' asservito al mondo che lo circonda. Le teorie neurologiche hanno anche riportato in auge la frenologia, la disciplina fondata da Franz Gall all'inizio del diciannovesimo secolo che sostiene di poter derivare i caratteri comportamentali dell'individuo dalla forma del suo cervello. La 106 frenologia, per quanto apparentemente piu' vicina alla stregoneria o all'astrologia che alla scienza, ha invece il merito storico di aver per prima reagito al dualismo cartesiano secondo cui mente e cervello sono due entita' distinte. Secondo Gall la mente e' invece strettamente legata alla forma fisica del cervello. Non solo: Gall classifico' diverse aree del cervello sostenendo che ciascuna potesse in qualche modo fornire indicazioni su una specifica caratteristica della personalita'. In tal modo anticipo' l'idea della localizzazione delle funzioni mentali. Nel 1983 Jerry Fodor ha proposto un modello a "moduli" del cervello che rispecchia proprio i principi dei frenologi, pur assegnando ai vari "moduli" funzioni comportamentali diverse da quelle originali e un po' naif di Gall. La Geometria dei Frattali I concetti di algoritmo e di ricorsivita' hanno aperto nuovi orizzonti alla Matematica. La teoria dei "frattali" di Benoit Mandelbrot (1975) ne e' un tipico prodotto. La Geometria di Euclide venne inventata per ragionare sulle forme del mondo, ma il mondo di Euclide era un modo ideale, fatto di sfere e di rette; la sua geometria non si presta per ragionare sulle forme del mondo reale, come la costa frastagliata di una regione marittima o il cratere di un vulcano. Per ridurre le forme del mondo reale alle forme elementari della geometria euclidea occorre decomporle in maniera antiintuitiva in miliardi di minuscoli parallelepipedi. Molte di queste forme del mondo reale esibiscono pero' un singolare tipo di regolarita', detta "auto-somiglianza": osservandole a diversi ordini di grandezza esse ripetono sempre la propria forma. Per esempio, una selce e' composta di rami che sono a loro volta piccole selci e che sono composti a loro volta da rami che sono a loro volta selci ancora piu' piccole, e cosi' via all'infinito. La teoria del "caos", che studia i fenomeni apparentemente "caotici", come le condizioni atmosferiche e l'andamento dell'economia, ha messo in risalto che anche in questi fenomeni, apparentemente del tutto irregolari, si possono identificare delle regolarita' di quel tipo. La geometria dei frattali e' stata cosi' definita la "geometria del caos". La geometria dei frattali e' tipica dell'era degli algoritmi e dei computer: una forma iniziale molto semplice viene moltiplicata dal computer, che poi moltiplica allo stesso modo la forma risultante e cosi' via all'infinito. L'accumularsi di forme da' origine a forme complesse come appunto la selce. Ogni frattale non puo' essere decomposto in forme piu' elementari (a differenza delle forme della geometria euclidea, che possono sempre essere decomposte in elementi piu' primitivi, fino ai singoli punti). Un frattale e' definito nel suo insieme da un algoritmo. Un algoritmo puo' essere "eseguito" da un computer, ma non decomposto in algoritmi piu' primitivi. L'utilita' dei frattali sta proprio nel fatto che possono descrivere forme come la selce. Per descrivere una selce con la geometria euclidea servirebbero milioni di segmenti e 107 curve, mentre per descriverla con la geometria dei frattali e' sufficiente un algoritmo ricorsivo. Anche forme piu' complicate, come appunto una costa o un cratere, possono essere descritte da un frattale, ovvero da un solo algoritmo, invece che da miliardi di enti geometrici. Una proprieta' importante dei frattali e' quella di essere caratterizzati da un numero di dimensioni che non e' un numero intero, ma un numero come 2,1 o 1,9. Nella Geometria euclidea una retta, per esempio, e' un ente a una dimensione, e un cerchio e' un ente a due dimensioni. La teoria dei frattali e' il primo esempio di come i concetti di ricorsivita' e algoritmo possano aumentare le nostre capacita' di rappresentare il mondo. La scienza classica era legata al concetto che una legge di natura fosse esprimibile con una "formula" e che tutti i fenomeni fossero continui. I frattali suggeriscono che alcune leggi di natura siano meglio rappresentabili sotto forma di algoritmi e che alcuni fenomeni siano discreti. La Definizione di Intelligenza Settant'anni non sono stati sufficienti per far luce sull'intelligenza. Non esiste ancora una definizione di intelligenza accettata da tutti (o anche solo da un numero cospicuo di ricercatori). Nel 1979 Neisser aveva suggerito di considerare l'intelligenza come la misura di quanto un individuo si avvicina ad un "ideale" di agente intelligente. In qualche modo tutti noi abbiamo il concetto di quell'ideale, esattamente come tutti abbiamo il concetto di cosa sia una sedia. Un uomo e' tanto piu' o meno intelligente quanto piu' o meno si avvicina a quell'ideale, esattamente come un gruppo di pezzi di legno e' piu' o meno una sedia a seconda di quanto approssima l'ideale di sedia che abbiamo in mente. Robert Sternberg ha pero' obiettato che esistono molteplici "ideali", facendo notare come alcuni gruppi di individui (socialmente, storicamente e culturalmente diversi) adottino "prototipi" di intelligenza assai diversi fra di loro. In tal senso era meglio la definizione "fattoriale" data da Charles Spearman nel 1904: l'intelligenza e' composta da un fattore generale, necessario per risolvere qualunque tipo di problema, e da un certo numero di fattori specifici, ciascuno necessario soltanto quando si deve risolvere un certo tipo di problema. Sottoponendo un individuo a test mentali di diversa natura, Spearman era in grado di scomporre la sua 108 intelligenza in un fattore che rimaneva uguale per tutti i test e in tanti fattori specifici. L'analisi fattoriale dell'intelligenza venne sviluppata negli anni Trenta da Cyril Burt, Godfrey Thompson e da Louis Thurstone, l'uno convinto che il fattore generale fosse innato, l'altro che fosse acquisito e il terzo che fosse un insieme complesso di "abilita' mentali primarie" (linguaggio, memoria, ragionamento, etc.). La teoria fattoriale di Spearman e' stata portata alle estreme conseguenze nel 1967 da Guilford, che nega l'esistenza di un fattore generale e classifica ben centoventi fattori specifici (o abilita' elementari) la cui combinazione darebbe luogo all'intelligenza. Nel 1971 Philip Vernon ha proposto invece il modello gerarchico dei fattori secondo il quale i fattori sono disposti gerarchicamente a seconda del loro livello di generalita'. Il fattore generale di Spearman risulta allora essere quello che sta in cima alla gerarchia. Al secondo livello si situano i fattori di abilita' verbale e manuale (ancora molto generici), e cosi' via fino ai fattori specifici di Guilford. Le definizioni "fattoriali" dell'intelligenza sono le uniche che possano dirsi corroborate da dati sperimentali, anche se tutte sono vulnerabili all'affermazione paradossale di Edwin Boring: "l'intelligenza e' cio' che il test misura". Rifacendosi alla definizione gerarchica di Vernon e ai modelli di informationprocessing di Newell e Simon, nel 1979 Robert Sternberg ha proposto a sua volta un modello a due livelli gerarchici che esprime i concetti "fattoriali" nei termini moderni della scienza cognitiva. Esiste un livello di "meta-processi", che servono a "pianificare" come risolvere i problemi, ed esiste un livello di quattro tipi di "processi": di performance (cioe' quelli che risolvono materialmente il problema), di acquisizione (cioe' quelli che apprendono nuova conoscenza), di retenzione (quelli che ricordano la conoscenza acquisita) e di trasferimento (quelli che generalizzano la conoscenza). Tutti i tentativi di definire cio' che comunemente si intende con "intelligenza" analizzando i comportamenti ritenuti "intelligenti" sono falliti. Si potrebbe forse tentare la strada opposta: tentare di definire l'intelligenza come l'opposto della stupidita' e vedere se per caso definire la stupidita' risulta piu' semplice. E' illuminante, per esempio, il fatto che riesca molto piu' facile stabilire se sia stupida una domanda che non una risposta. Una riposta puo' essere sbagliata, incompleta, fuori luogo, ma non e' chiaro quando sia stupida. Domande come "qual'e' il fiume piu' corto d'Italia?" o "in quale citta' la temperatura e' oggi di mille gradi?" sono certamente stupide. Il loro essere stupide deriva da una combinazione di inutilita' e impossibilita', ovvero, in ultima analisi, dal fatto di non poter servire a nulla. Anche nel valutare l'intelligenza si tende a esaminare soltanto la capacita' di fornire risposte, ma forse sarebbe altrettanto interessante studiare la capacita' di fornire domande. 109 Sono numerose le domande che pochi si pongono, benche' sarebbe piu' che lecito attendersi che tutti se le ponessero: "perche' in montagna fa piu' freddo che in pianura, visto che la montagna e' piu' vicina al sole della pianura?", "perche' gli aerei volano a diecimila metri d'altezza invece che a dieci metri d'altezza?", "perche' lo specchio ruota gli oggetti di 180 gradi in orizzontale e non li ruota per nulla in verticale?". Sono tutte domande relative a fenomeni ben noti a tutti, e che quasi nessuno sa spiegarsi, eppure pochi si domandano quei "perche'". Sono forse piu' numerosi coloro che sanno risolvere un complicato teorema di algebra che non coloro che si sono mai domandati quei "perche'". Porsi domande e' forse un indice di intelligenza maggiore che non quello di saper trovare risposte, mentre i test sul quoziente di intelligenza vertono unicamente sulla capacita' di fornire risposte. Quanto poco sia chiaro il concetto di intelligenza e' dimostrato dal fatto che nessuna misura di essa, con qualsiasi test venga eseguita, ha carattere predittivo. In altre parole, una volta noto il quoziente di intelligenza di una persona non e' possibile predire con certezza praticamente nulla relativamente a quella persona, neppure se sara' o meno in grado di risolvere un certo tipo di problema (fosse anche proprio uno dei tipi di problema che e' stato utilizzato per misurarne il quoziente d'intelligenza!). La Conoscenza La Rappresentazione della Conoscenza Nell'ipotesi di Craik e poi di Newell che la mente umana rappresenti internamente il mondo che percepisce occorre innanzitutto spiegare quale struttura abbia tale rappresentazione. Se poi si aggiunge anche l'ipotesi di Minsky, che un sistema basato sulla conoscenza sia piu' efficace di un sistema auto-organizzantesi nel risolvere i problemi complessi del mondo reale, occorre anche spiegare come essa possa dare origine al comportamento intelligente. Alla base del programma di rappresentazione della conoscenza nell'Intelligenza Artificiale e' un'altra ipotesi, quella "riflessiva" di McCarthy (1968): l'intelligenza dipende essenzialmente dal fatto di essere in grado di rappresentare con il linguaggio i fatti che riguardano situazione, obiettivi e possibili azioni; in altre parole, per essere intelligente un sistema deve poter rappresentare le proprie operazioni e le proprie strutture. A queste ipotesi va aggiunto un principio che Minsky (1985) ha cosi', paradossalmente, riassunto: il modo piu' efficiente di risolvere un problema e' quello di sapere gia' come risolverlo; la conoscenza che si vuole fornire alla macchina e' conoscenza relativa a come risolvere problemi: quanto piu' essa e' specifica per la soluzione di una certa classe di problemi, tanto piu' e' utile. 110 Apparentemente la struttura tramite cui gli esseri umani reperiscono, elaborano e comunicano conoscenza e' il linguaggio. Anche se cio' fosse vero, il linguaggio non potrebbe essere utilizzato da una teoria computazionale della conoscenza per almeno tre ragioni: (1) le frasi del linguaggio presentano delle ambiguita' (per esempio, "l'uccello del bosco che preferisco" ha due significati), e non e' ancora chiaro come la mente risolva tali ambiguita'; (2) ne' la sintassi ne' la semantica di alcun linguaggio umano sono state interamente determinate; (3) occorrono risorse computazionali infinite per riuscire a trattare la varieta' di forme consentita dal linguaggio naturale. E' pertanto necessario definire un nuovo "linguaggio" che non presenti i tre ostacoli di cui sopra, ovvero postulare che le strutture di rappresentazione della conoscenza non coincidano necessariamente con quelle del linguaggio naturale. E' ovviamente infinito il numero di possibili convenzioni per rappresentare la conoscenza che soddisfano il requisito di essere: (1) non ambigue, (2) specificate, (3) finite. Soltanto la plausibilita' psicologica e l'adeguatezza computazionale possono aiutare a selezionare quelle piu' opportune, nonostante Hector Castaneda abbia sostenuto (1964) che nessuna logica della conoscenza puo' essere psicologicamente plausibile. La conoscenza e', innanzitutto, sempre relativa a "qualcosa": la conoscenza di "qualcosa" e' la capacita' di formare un modello mentale di quella "cosa". Questa definizione non identifica pero' in maniera univoca la strutture che devono essere impiegate dalla mente: per "modello mentale" di un oggetto di conoscenza si puo' intendere, per esempio, tanto una struttura che esprima le proprieta' di tale oggetto, quanto uno struttura che determini le azioni che si possono compiere a fronte di tale oggetto, o ancora una struttura che ne sintetizzi la relazione con il resto del mondo; o, infine, una struttura che dichiari tutto cio' che e' "rilevante" (ai fini computazionali) di quell'oggetto. Esistono tuttavia dei punti fermi. In una forma o nell'altra le teorie computazionali su come la mente rappresenti la conoscenza assumono che esistano strutture dinamiche ed adattative che a) hanno origine dalle esperienze passate, b) vengono in qualche modo generalizzate per valere in un numero piu' ampio di casi, c) determinano l'azione da compiere a fronte di una nuova situazione. Finora i programmi che simulano comportamenti intelligenti sono stati dotati di strutture che possono essere ricondotte a due tipi fondamentali: le formule logiche (approccio logistico) e gli schemata (approccio associativo). Lo Schemata 111 Forse il primo tentativo scientifico di definire una struttura simbolica all'interno alla mente fu quello degli "schemata". Il concetto venne introdotto da Otto Selz e da Henry Head negli anni Venti per rendere conto dei fenomeni scoperti durante esperimenti sul rapporto fra percezione e azione. Head postulo' l'esistenza nella memoria di una rappresentazione flessibile delle esperienze passate, una rappresentazione del passato tale per cui la mente potesse facilmente ricondurre una nuova situazione a una situazione nota e pertanto inferire l'azione da compiere nella nuova situazione sulla base dell'azione compiuta nell'occasione precedente. Selz concepi' lo schemata come un elenco di concetti che descrivono la situazione e ipotizzo' che il problema di determinare l'azione da compiere a fronte di una nuova situazione consistesse nel formare un nuovo schemata con i concetti relativi a tale situazione e nel completare i concetti mancanti basandosi sugli schemata gia' noti relativi a situazioni passate. Questa idea venne elaborata da Frederic Bartlett nel 1932 per reagire alla teoria associazionista. Bartlett vide nello schemata l'unita' cognitiva che poteva rendere conto del comportamento adattativo pur conservando la preminenza dei processi mentali. Con l'avvento del modello a schemata sorse l'esigenza di qualificare meglio il processo di "comprensione": se comprendere significa, in ultima analisi, reperire gli schemata piu' idonei ed applicarli alla situazione in corso, allora l'intera intelligenza puo' essere identificata con la comprensione. Reinterpretato nell'ottica di Kant, anche lo schemata di Piaget era la rappresentazione interna di una generalizzazione di situazione che si presta ad inferire per analogia come comportarsi in tutte le situazioni simili, e che determina a sua volta come verra' ricordata una nuova situazione. Claparede, prima di Piaget, aveva notato nel 1911 come il riconoscimento di una scena richieda una "ricostruzione" a partire dagli oggetti familiari. Piaget osservo' (1968) che un bambino riusciva addirittura a ricordare una configurazione di bastoncini con maggiore accuratezza dopo sei mesi che non dopo una settimana, e lo attribui' al fatto che, nel ricostruire il ricordo, il bambino poteva servirsi di un maggior numero di schemata. Neisser (1976) pose l'accento sul carattere "anticipatorio" dell'elaborazione a schemi, gia' sottolineato da Selz: uno schemata utilizzato a fronte di una situazione che si sta formando consente di "prevedere" come la situazione si completera'. Nel confrontare lo schemata alla situazione corrente "ci si aspetta" che alcuni eventi previsti nello schemata si verifichino. Neisser fuse inoltre il modello a schemi con il modello ecologico di James Gibson: lo schemata e' lo strumento tramite cui l'organismo raccoglie nell'ambiente l'informazione disponibile. 112 Le regole di produzione Il metodo logistico di rappresentare la conoscenza sfrutta l'idea di Frege che le leggi del pensiero siano le leggi della logica. Nel far cio' assume che il linguaggio della logica soddisfi i due requisiti di McCarthy: consenta di esprimere tutto cio' che sappiamo esprimere, e consenta di eseguire calcoli su cio' che viene cosi' espresso. Un predicato e' un'entita' che stabilisce se la relazione fra un certo numero di termini e' vera o falsa; per esempio, il predicato "madre (Piero, Rosa)" e' vero se Rosa e' la madre di Piero. Una "funzione" stabilisce il valore che rende vera la relazione fra un certo numero di termini; per esempio, la funzione "madre(X)" e' un'entita' che ad ogni nome proprio X assegna il nome proprio di sua madre, e pertanto "madre(Piero)" vale Rosa. Ogni funzione f(X) puo' essere ricondotta a un predicato p(X,Y) tramite la corrispondenza: p(X,Y) <--> Y = f(X) I termini dei predicati e delle funzioni possono essere: un valore costante nel tempo (come un numero o un nome proprio, per esempio 15 e Piero), una variabile (un nome fittizio che sta ad indicare un valore "variabile" nel tempo, per esempio una variabile "Pres" che abbia come valore il nome dell'attuale presidente degli USA) oppure il valore di una funzione (per es.: "madre(Piero)", che vale Rosa). Un predicato costituisce una "formula atomica" che descrive un qualche fenomeno elementare. Le formule piu' complesse si costruiscono associando tante formule atomiche, e a tal fine si usano gli operatori booleani (o "connettivi") AND, OR, NOT: rispettivamente congiunzione ("e") di due formule, disgiunzione ("o") di due formule e negazione ("non") di una formula. Per esempio, madre(Piero, Rosa) AND padre(Paolo, Mario) OR fratello (Piero, Paolo) e' una formula valida. Nell'ipotesi logistica tramite formule di questo genere e' possibile descrivere lo stato del mondo. 113 Le variabili sono determinanti per poter esprimere i concetti di "tutti" e "qualcuno". A tal fine, in concomitanza con l' uso di variabili fra gli argomenti di un predicato, si fa ricorso ai cosiddetti quantificatori: "per-ogni" e "esiste". Per esempio, "esiste(X) NOT madre(Piero,X)" esprime il fatto: esistono persone che non sono la madre di Piero. Se dividiamo l'universo degli eventi in eventi statici ("Roma e' la capitale dell'Italia", "L'albero e' un vegetale") ed eventi dinamici ("Prendi l'ombrello quando piove", "Combinando due parti di idrogeno e una di ossigeno si ottiene acqua"), per rappresentare i primi con la logica dei predicati e' sufficiente utilizzare le proposizioni capitale (Italia, Roma). .br appartiene (Albero, Vegetali). Questi sono "fatti", e come tali vengono espressi da una formula atomica. Per esprimere invece la conoscenza sugli eventi dinamici e' necessario usare una combinazione di formule atomiche e indicare una relazione causale fra di essi. A tal fine si impiega la "regola di produzione". Una regola di produzione si compone di un "antecedente" (o premessa) e di un conseguente. La sua semantica e' elementare: il conseguente diventa vero quando e' vero l'antecedente. Per esempio: IF tempo (Pioggia) THEN prendere (Ombrello). .br IF idrogeno (2) e ossigeno (1) THEN acqua (1). Una regola di produzione "IF p THEN q" equivale all'espressione "NOT p OR q". Grazie a questa equivalenza e' possibile tradurre le regole di produzione in espressioni della logica dei predicati. Emil Post dimostro' che le regole di produzione esauriscono l'universo di cio' che e' computabile. Pertanto, se anche non esprimessero tutto cio' che puo' essere "conosciuto", esprimerebbero comunque tutto cio' che puo' essere computato di cio' 114 che puo' essere conosciuto. E questo e' l'obiettivo in accordo con il postulato di McCarthy. Nell'approccio logistico pertanto rappresentare la conoscenza di un dominio significa tradurrla in un insieme di regole e fatti. Utilizzando fatti e regole e' possibile rappresentare della conoscenza in maniera del tutto avulsa dal proprio contesto. Soltanto quando il sistema di produzione andra' ad esaminarle per risolvere uno specifico problema in quel dominio, le varie regole verranno messe in relazione fra di loro e con la situazione corrente. Il principio che giustifica questa operazione e' stato definito cosi' da McCarthy: "la conoscenza necessaria ai programmi intelligenti puo' essere espressa in una forma dichiarativa indipendente dall'uso che se ne fara'". In definitiva tramite i predicati (riveduti sotto forma di fatti e di regole) e' pertanto possibile costruire una astrazione dello stato dell'universo in funzione di due grandezze elementari: oggetti e relazioni fra oggetti. Lo stato in un certo istante e' espresso da una formula che elenca tutte le relazioni fra gli oggetti che compongono l'universo; ovvero e' rappresentato da una congiunzione di fatti: per esempio, "l'auto e' ferma, e io sono a bordo, e il cielo e' sereno, e una signora vende fiori sul marciapiede, e due ragazzi stanno parlando, e...". Due stati del mondo in tempi diversi sono rappresentati da due formule che differiscono nelle formule atomiche della propria congiunzione. Tanto il "calcolo delle situazioni" di McCarthy (1958) quanto il "mondo a blocchi" di Terry Winograd (1972) fanno uso di questo accorgimento. Il calcolo delle situazioni descrive ogni situazione con una formula logica e tenta poi di eseguire calcoli logici su tali formule per evidenziarne le relazioni causali. Il mondo a blocchi e' invece una semplificazione del mondo reale in cui tutti gli oggetti sono dei parallelepipedi e le uniche relazioni fra di essi sono quelle di tipo spaziale, espresse tramite predicati. La Rete Semantica La rappresentazione tramite reti semantiche venne introdotta da Ross Quillian nel 1965 per simulare computazionalmente il modello "associativo" in cui la memoria umana organizza le informazioni semantiche. Quillian era alla ricerca della soluzione a uno dei problemi annosi dell'Intelligenza Artificiale: come venga ricordato il significato di una parola. La soluzione che propose e' assai semplice: si ricorda il significato di una parola associando a quella parola tutte le altre parole che in qualche 115 modo servono a definire il suo significato. Il significato non sarebbe pertanto qualcosa di assoluto, ma sempre qualcosa di relativo agli altri significati disponibili. In tal modo Quillian, cosciente degli sviluppi della scuola dello schemata (Bartlett, Piaget, Newell, Miller), non fece che raffinare una tradizione di pensiero associazionista che si era molto evoluta dal rigido dogmatismo di Skinner. Il primo a proporre che le associazioni fossero "etichettate", ovvero che fra due parole potessero esistere associazioni di natura diversa era stato proprio Selz. Al tempo stesso la teoria di Quillian discendeva dai programmi degli anni Cinquanta che erano stati realizzati per tentare la traduzione automatica da una lingua all'altra, alcuni dei quali impiegavano tecniche simili per rappresentare il significato delle parole, per esempio le "reti correlazionali" e le "costellazioni" di Silvio Ceccato e, appunto, le "reti semantiche" di Margaret Masterman, la prima a coniare il termine. Il modello della memoria che Quillian propose era una estensione e generalizzazione di tutti questi concetti. In Informatica per "rete" si intende un grafo, una rappresentazione grafica delle relazioni che sussistono fra gli elementi di un insieme. Ogni elemento viene detto "nodo" della rete e viene connesso tramite un "arco" a nodi che rappresentano altri elementi in relazione con esso. Una rete semantica e' un grafo relazionale, ovvero una rete nella quale ogni arco specifica anche quale "tipo" di relazione sussista fra i due nodi che congiunge. L' arco non si limita pertanto ad affermare che due elementi sono in relazione, ma specifica anche in quale relazione semantica essi siano. Quillian (le cui reti semantiche erano oltretutto assai piu' complesse) ipotizza che la memoria contenga una rete molto intricata di nodi corrispondenti a parole: la parola "padre" puo' essere connessa a quelle "madre", "figlio" e cosi' via da una relazione di tipo "parentela", mentre puo' essere connessa a quella "cane", "albero" e cosi' via dalla relazione di tipo "maschile", e a tante altre parole da tante altre relazioni. Benche' pochi anni dopo i fisiologi dimostrassero che la rapidita' di associazione fra due concetti non dipende dalla loro vicinanza semantica, ma, banalmente, dalla loro familiarita' (la legge di K. Marbe), la rete semantica entro' a far parte del repertorio di base per rappresentare la conoscenza. Ancora una volta prevalse l'efficacia computazionale sulla plausibilita' psicologica. Il "significato" di una parola (o, piu' in generale, di un concetto) e' l'insieme di tutti i nodi che possono essere raggiunti a partire dal nodo che la rappresenta e continuando a "navigare" finche' possibile di arco in arco, piu' l'insieme di tutte le relazioni fra tali nodi. La rete semantica asserisce il fatto intuitivo che la definizione di un oggetto non puo' fare a meno della definizione degli oggetti con cui e' in relazione e, in ultima analisi, del contesto in cui l'oggetto e' situato. In tal senso la rete semantica e' un metodo di rappresentazione della conoscenza coerente con il pensiero fenomenologico di Husserl. Per definizione ogni nodo di una rete semantica contiene 116 soltanto una parte dell'informazione che la rete ha a disposizione riguardo l'oggetto rappresentato da quel nodo: gli archi che "escono" da quel nodo costituiscono estensioni naturali dell'informazione contenuta nel nodo. Di arco in arco tale informazione si sparge per una regione della rete che puo' essere molto ampia. La rete semantica e' anche coerente con l'altro fatto intuitivo che e' sempre difficile stabilire quali siano i confini dell'informazione relativa ad un oggetto. Una relazione particolarmente importante che puo' sussistere fra i nodi di una rete semantica e' quella di "individuo che appartiene ad un insieme", ovvero di un nodo che e' congiunto ad un altro nodo tramite un arco "appartiene" (da un arco "IS A"). In tal modo si genera infatti una tassonomia gerarchica, una classificazione degli oggetti in classi sempre piu' astratte ("gatto" IS A "felino" IS A "mammifero" IS A "animale" IS A ... ). Una delle conseguenze della relazione di appartenenza e' l' ereditarieta' delle proprieta': l' oggetto che appartiene ad una certa classe ne eredita anche le sue proprieta'. Per esempio, se i felini sono mammiferi, la classe dei felini eredita la proprieta' che i mammiferi non fanno le uova: non c'e' bisogno di dire esplicitamente "i felini non fanno le uova". Aggiornato ai tempi, questo non e' altro che il primo sillogismo di Aristotele (il cosiddetto "Barbara"). Una rete di relazioni gerarchiche, grazie proprio a questo principio di ereditarieta', puo' far risparmiare parecchie risorse computazionali, nel senso che molte informazioni possono essere inferite direttamente. Gary Hendrix (1977) dimostro' l'equivalenza della rete semantica alla logica dei predicati, ampliando in tal modo la sua originaria funzione di passiva rappresentatrice di conoscenza. Le reti semantiche di Hendrix possono innanzitutto essere "partizionate": ogni sotto-rete descrive un mondo separato e sta in qualche relazione con le altre reti. Per esempio, e' possibile imporre una relazione gerarchica definendo una rete come nodo di un'altra rete. Alcuni archi svolgono il ruolo di quantificatori, inclusioni e operatori logici. Per esempio, per quantificare universalmente ("perogni") una sotto-rete si impone un arco di tipo "per ogni" collegato dall'esterno al nodo che rappresenta tale sotto-rete. Analogamente per "negare" la sotto-rete si collega la sotto-rete con un arco "NOT". E cosi' via, in modo molto analogo a cio' che aveva fatto Charles Peirce con i suoi "grafi logici" del 1897 e a cio' che avrebbe fatto John Sowa con i suoi "grafi concettuali" del 1984. Una variante di questo approccio e' data dalle "reti proposizionali" inventate da Stuart Shapiro nel 1971, nelle quali ogni nodo era una proposizione (quella di Shapiro fu anche la prima implementazione a reti dell'intera logica dei predicati). L'approccio "partizionato" di Hendrix alle reti semantiche e' indispensabile, per esempio, quando si debbano esprimere dipendenze temporali (un certo contesto capita prima di un altro). 117 Nel 1975 William Woods propose di dotare la rete semantica di una semantica introducendo un formalismo rigoroso analogo a quello della semantica tarskiana per la logica dei predicati. In particolare mosse una critica radicale all'uso degli archi nelle reti: nonostante essi possano rappresentare concetti molto diversi, tutti gli archi vengono trattati indiscriminatamente allo stesso modo. E' intuitiva la differenza fra un arco IS-A che colleghi "uomo" a "mammmifero" e un arco "fratelli" che colleghi "Piero" e "Paolo": il primo e' un arco di tipo "tassonomico", il secondo e' un arco di tipo "asserzionale". Il primo si presta a sua volta ad altri equivoci in quanto puo' essere utilizzato per rappresentare tanto fatti universali ("I felini sono mammiferi") quanto fatti stereotipici ("I gatti mangiano i topi"). Per rispondere alla critica di Woods le "reti di ereditarieta' strutturata" che Ronald Brachmann ha utilizzato nei programmi KL-ONE (1978) e KRYPTON (1983) stabiliscono esplicitamente il ruolo giocato da ciascun arco: le "definizioni" consentono di rappresentare tassonomie indipendenti dal dominio, mentre le "asserzioni" consentono di descrivere il dominio specifico di applicazione. In pratica le definizioni forniscono il vocabolario che verra' usato nelle asserzioni. In tal modo si ottengono anche vantaggi computazionali non indifferenti: servendosi della tassonomia, il programma KRYPTON e' in grado di valutare anche asserzioni che non compaiono esplicitamente, ovvero e' in grado di rispondere a domande a cui un tradizionale sistema basato sulla logica dei predicati non saprebbe rispondere. In altre parole e' diverso cio' viene detto al sistema e cio' che il sistema ricorda. La divergenza fra sistemi asserzionali e sistemi definizionali e' implicita nella storia stessa della logica: Aristotele era un definizionista (un nuovo "tipo" e' definito dal "genus", ovvero dal super-tipo a cui esso appartiene, e dalle "differentiae", ovvero dalle proprieta' che lo distinguono da altri sotto-tipi di quel super-tipo), mentre Frege era un asserzionista (i termini usati nelle espressioni logiche non appartengono ad alcuna tassonomia). A mediare fra i due estremi e' il calcolo Lambda, il quale consente, fra l'altro, di costruire una struttura definizionale sopra un sistema asserzionale in quanto il sistema asserzionale del calcolo Lambda consente, in particolare, di definire nuovi tipi a partire dai tipi esistenti. Il primo ad introdurre il calcolo Lambda nelle reti semantiche fu Len Schubert nel 1975 e alle sue idee si ispiro' Sowa nel 1984, il primo a formulare la semantica auspicata da Woods. I suoi grafi concettuali sono reti semantiche in grado di distinguere modelli estensionali del mondo da proposizioni intensionali sul mondo. Per determinare il valore di verita' di una proposizione si "proietta" il grafo proposizionale ad essa associata sul grafo modello. Cio' e' equivalente ad "interpretare" una proposizione secondo un dato modello nella semantica model118 theoretic di Tarsky, la quale risulta infatti un caso particolare (qualora il modello sia il tradizionale mondo chiuso). Il Frame La rete semantica mette in relazione fra di loro gli oggetti dell'universo, ma non dota il singolo oggetto di una struttura interna. Per ovviare a tale carenza sono stati introdotti diversi metodi che consentono di elencare le proprieta' di un oggetto. Il metodo piu' semplice e' quello delle triple "oggetto- attributo- valore" (abbreviato in "tripla O-A-V"). Per definire le proprieta' dell'oggetto "Italia", per esempio, si possono definire gli attributi "capitale", "popolazione" e "confina con", che hanno valori rispettivamente "Roma", "58 milioni" e "Francia, Svizzera, Austria, Yugoslavia". Un'estensione della tripla O-A-V e' il "frame" inventato da Marvin Minsky nel 1975. L'intenzione di Minsky non era tanto quella di rappresentare le proprieta' degli oggetti, ma piuttosto quella di rappresentare una situazione stereotipica, sulla scia dello "schemata" di Selz e Bartlett, e di farne la struttura portante della modellizzazione del mondo, sulla scia di Craik. Secondo Minsky la rappresentazione della conoscenza sotto forma di logica dei predicati non solo e' poco plausibile dal punto di vista psicologico e fisiologico, ma porta persino a risultati controproducenti. Con un argomento simile a quello gia' usato contro i sistemi auto-organizzantesi Minsky sostenne che i presunti vantaggi computazionali della Logica Matematica si traducono in svantaggi: il cervello utilizza scorciatoie che esulano dalla Logica Matematica, e che anzi spesso ne violano gli stessi principi fondamentali. Cio' non toglie che il cervello riesca a trovare soluzioni perfettamente funzionali in tempi brevissimi a problemi di grande complessita', come possono essere, per esempio, riconoscere che un barboncino e' un cane o decidere quale azione compiere per spedire un telegramma. Per quanto efficaci possano essere i metodi euristici utilizzati, una rappresentazione sotto forma di logica dei predicati di tali situazioni richiederebbe una quantita' molto elevata di calcoli logici per giungere alle stesse conclusioni. Minksy cercava un metodo per rappresentare quella conoscenza che gli umani utilizzano quotidianamente per risolvere i problemi piu' svariati, ovvero quella che viene normalmente indicata con "senso comune" ("commonsense"). In ogni situazione la memoria attiverebbe un "pacchetto" di informazioni tale da consentirle di "comprendere" la situazione. Il "comprendere" significa prima "riconoscere" e poi "strutturare": riconoscerla in quanto affine a una di quelle stereotipiche gia' note e poi 119 strutturarla secondo quello stereotipo per poterne trarre delle inferenze. Questo "pacchetto" dovrebbe consentire di ragionare sulla situazione senza prendere in considerazione l'intero scibile dell' universo, ma soltanto le informazioni rilevanti alla situazione, e senza impiegare complesse tecniche di inferenza, anzi impiegando una banale operazione di confronto fra stereotipo e caso specifico. Per esempio, una persona che entri per la prima volta in una stanza provera' inizialmente un senso di disorientamento, ma presto riuscira' a muoversi con disinvoltura compiendo le azioni che e' naturale compiere in una stanza (entrare, uscire, guardare dalla finestra e cosi' via). La ragione di cio' e' che, a fronte della situazione "stanza", la persona puo' reperire uno stereotipo di "stanza" che fornisce tutte le informazioni rilevanti a quella situazione. Grazie a quelle informazioni la persona potra' ragionare sui dati specifici che le pervengono dalla percezione sensoriale. Dal punto di vista computazionale il frame evita semplicemente di compiere laboriosi ragionamenti logici. A conferma di cio' Bartlett aveva fatto notare quanto piu' facile sia riconoscere un oggetto nel suo contesto tipico che in un contesto anomalo (per esempio, un pallone in un negozio di articoli sportivi piuttosto che un pallone in un negozio di frutta). Un frame descrive tramite il suo "prototipo" una classe di oggetti (una categoria), la quale di volta in volta verra' "istanziata" in un oggetto particolare. Una classe e' un "universale" che e' noto sempre e comunque, mentre gli oggetti concreti della classe vengono "istanziati" di volta in volta. Per esempio, la classe "Nazione", della quale e' possibile definire il prototipo, puo' essere instanziata nell' oggetto "Italia", nell' oggetto "Francia" e cosi' via. L'"istanziazione" consiste nel creare un nuovo frame copiando i valori degli attributi del frame prototipo salvo laddove sia specificato diversamente (ovvero salvo i valori che distinguono l'oggetto dagli altri oggetti della stessa classe). La mente umana sarebbe pertanto composta da un reticolo di frame. Ogni percezione "seleziona" il frame piu' opportuno (ovvero la "categoria" piu' prossima). La mente sarebbe poi in grado di "adattare" quel frame alla percezione specifica, ovvero di "interpretare" la situazione sulla base delle proprieta' associate alla categoria selezionata. Compito della mente e' pertanto quello di ricondurre una situazione ad uno dei frame disponibili: in mancanza di un frame sufficientemente "prossimo" alla situazione, il comportamento non potra' essere intelligente. Secondo Robert Wilensky (1983) principi di coerenza, concrezione, completezza e minimalita' guidano la mente nello stabilire se un frame rappresenta una certa situazione: il singolo frame deve essere coerente con la situazione (ovvero non devono esservi contraddizioni fra i due) e deve essere il piu' "particolare" possibile di quelli che sono coerenti con la 120 situazione, e i frame nel loro insieme devono rendere conto dell'intera situazione e devono massimizzare il numero di connessioni (ovvero minimizzare il numero di frame). Minsky estende di fatto un'idea che ricorre spesso nella storia del pensiero, dalla teoria delle categorie di Aristotele (che tenta di ricondurre ogni concetto a un insieme di concetti primitivi) al principio della "somiglianza" di Wittgenstein (che assegna un oggetto al concetto piu' somigliante), dallo "stereotipo" di Hilary Putnam al "prototipo" di Brant Berlin. Nella teoria di Minsky il processo di classificare un oggetto nella classe appropriata ha delle implicazioni molto piu' dirette, perche' equivale a comprendere una situazione ed equivale ad eseguire un ragionamento su tale siutazione. "Adattarsi", "riconoscere", "comprendere" e "predire" si scoprono in tal modo aspetti diversi dello stesso fenomeno. La mente e' un reticolo di frame, percepire una situazione consiste nel selezionare il frame piu' appropriato per quella situazione e ragionare consiste nell'adattare quel frame a quella situazione. La conoscenza impone coerenza all'esperienza. Piu' in dettaglio un frame consente di esprimere conoscenza su: le proprieta' dell'oggetto (esattamente come una tripla O-A-V); il modo in cui l'oggetto e' correlato ad altri oggetti (il valore di un attributo puo' essere a sua volta un altro frame); e le operazioni possibili su tale oggetto (il valore di un attributo puo' essere una procedura). Di fatto il frame di Minsky dota di una struttura interna il nodo della rete semantica di Quillian. Si puo' ovviare alla perdita di informazione dovuta alla discretizzazione dell'universo (tipica di ogni forma di rappresentazione) grazie alla procedura che specifica le operazioni possibili sull'oggetto. Tale procedura (o, piu' propriamente, "procedural attachment") prescrive una sequenza di operazioni da compiere ogni volta che si accede al frame. In pratica ad ogni informazione presente nella memoria viene associato un ragionamento prestabilito che la tratta. La capacita' inferenziale di cui e' dotato il sistema a frame viene in tal modo distribuito all'interno della conoscenza stessa. La capacita' inferenziale di cui e' dotato il sistema a frame viene in tal modo distribuita all'interno della conoscenza stessa. E' questo, per esempio, il modo in cui opera il programma FRL ("Frame Representation Language") creato da Ira Goldstein nel 1977. 121 Un altro importante concetto introdotto dai frame e' quello di valore di "default". Il valore di un attributo puo' essere un "default", ovvero un valore che va assunto in mancanza di ulteriore informazione: per default tutti gli uccelli volano, le foglie degli alberi cadono in autunno, un giorno d'estate e' caldo e cosi' via. I default non sono pero' delle condizioni necessarie e sufficienti, non sono delle "caratteristiche" che definiscono gli oggetti della classe; il frame di Minsky e' coerente con l'idea di Wittgenstein che un concetto sia definito da una rete di somiglianze piu' che da un insieme di proprieta' comuni a tutti i suoi membri. Minsky ritiene inoltre poco opportuno e non naturale tentare di definire leggi precise: continuare a raffinare una regola in modo che tenga conto di tutti i casi puo' non essere tanto efficiente quanto tenere la regola cosi' com'e' e aggiungere semplicemente l'elenco delle sue eccezioni. Pat Hayes ha dimostrato che anche il linguaggio dei frame (escluso il default) puo' essere ridotto ad una variante notazionale di un dialetto della logica dei predicati. I frame sono pertanto meno potenti dal punto di vista di cio' che consentono di rappresentare e di calcolare. Sono pero' molto piu' efficienti della Logica Matematica in tutte le situazioni in cui essi possono essere utilizzati. Un frame e' infatti una minilogica concepita su misura per una situazione e, relativamente a quella situazione, consente pertanto di compiere inferenze in maniera molto rapida. Il meccanismo dei default non puo' invece essere espresso al primo ordine della logica dei predicati, poiche', quando un default non e' giusto e va cambiato con il valore reale ("ma il pinguino non vola"), tutti i teoremi che erano veri non sono piu' necessariamente tali, contraddicendo la monotonicita' della logica classica. Un problema comune a tutti i metodi di rappresentazione della conoscenza e' quello di rappresentare non solo le regole che valgono in un dominio ma anche le loro eccezioni: come specificare che una certa regola ("tutti gli uccelli volano") ammette delle eccezioni (ma "il pinguino non vola")? I sistemi ereditari e i sistemi di default consentono di specificare una regola ("tutti gli uccelli volano") in maniera computazionalmente efficace (o collegando il concetto di uccello con il concetto di oggetto che vola tramite un arco IS-A oppure specificando fra gli attributi del frame "uccello" anche quello di "modo di locomozione" con valore di default "volo"), ma non consentono di specificare l'eccezione a una tale regola. Un modo semplice per aggirare l' ostacolo e' quello di prevedere la possibilita' di fornire ulteriori precisazioni. In altre parole, il frame "uccello" ha tutte le proprieta' del frame "oggetti che volano" a meno che' qualcuna non venga cancellata. Dopo tutto un frame non e' altro che la definizione di una classe data sotto forma di attributi tipici (per 122 ereditarieta' o per default) che i membri di quella classe esibiscono, e pertanto ogni ragionamento compiuto sui frame puo' fornire soltanto la conclusione che "tipicamente" e' cosi'. Questa prassi non e' molto elegante in quanto, come ha fatto notare Brachman, di "eccetto" in "eccetto", si puo' arrivare a frasi come "il pomodoro e' un uccello, eccetto che non vola, eccetto che non e' un animale, eccetto che ... ". Anche nel caso dei frame vale, piu' in generale, l'obiezione sollevata da Woods a proposito delle reti semantiche: non esiste una semantica formale che consenta di interpretare il significato di un sistema a frame e delle inferenze che se ne possono trarre. Le informazioni contenute in un frame possono in effetti riferirsi a significati diversi: alcune possono esprimere la condizione di appartenenza di un membro alla classe ("gli uccelli volano", ergo se l'oggetto non vola non puo' appartenere alla classe degli uccelli), altre possono descrivere l'esemplare tipico della classe (il default "volano" significa che il membro tipico vola), altre ancora possono elencare le azioni possibili (il procedural attachment). Un frame fornisce di fatto rappresentazioni multiple dell'oggetto che rappresenta: quella tassonomica (una congiunzione di regole universali), quella descrittiva (l'elenco dei valori di default), quella funzionale (l'insieme delle operazioni che consente di compiere). Il programma KRL, realizzato (1977) da Daniel Bobrow e Terry Winograd, consentiva sia di distinguere i due tipi di frame "universale" e "particolare" sia di fornire descrizioni dello stesso oggetto da diverse "prospettive": un utensile, per esempio, puo' essere identificato sulla base della sua forma o sulla base della sua posizione o sulla base della sua funzione. La teoria dei frame non affronta il problema di come si formino le categorie, ma soltanto come esse siano rappresentate nella mente. Rifacendosi agli studi sulle tassonomie "folk" di Brant Berlin (1966), che distingueva le categorie in "forme di vita", "generici" e "specifici" e assegnava agli specifici la responsabilita' di generare la tassonomia, Eleanor Rosch (1975) ha stabilito empiricamente che debbano esistere tre livelli di categorie: base, subordinata e super-ordinata. La prima ad essere imparata, anche perche' e' direttamente correlata all'esperienza sensoriale, e' quella base, per esempio "sedia". Per generalizzazione delle categorie base si formano poi le categorie super-ordinate ("mobili" generalizza "sedia" e "tavolo"), cosi' come per discriminazione fra le categorie base si formano le categorie subordinate ("sedia a dondolo" piuttosto che "sedia sdraio" piuttosto che "poltrona"). Ogni categoria e' definita da uno "spazio di feature", una funzione delle proprieta' tale da massimizzare tanto la somiglianza fra membri della stessa categoria quanto la differenza fra membri di categorie diverse. Il membro della categoria che si situa al centro dello "spazio di feature" e' il prototipo della categoria ed e' quello che viene usato per determinare se un nuovo oggetto e' membro della stessa categoria. 123 Esistono due teorie antitetiche su quale sia la nozione primitiva della mente umana che presiede al riconoscimento degli oggetti all'interno delle categorie, quella degli empiristi e quella dei razionalisti. Secondo i primi la memoria ricorda soltanto alcuni esemplari della categoria e stabilisce l'identita' di un nuovo oggetto per approssimazione. Secondo i secondi la memoria e' invece capace di "indurre" il prototipo di una classe e riconosce un oggetto sulla base della sua somiglianza con il prototipo. Secondo i primi si riconosce un'automobile perche' ricorda la propria auto, secondo i secondi si riconosce un'automobile perche' soddisfa i requisiti della definizione di automobile. La teoria dei frame, in accordo con i dati sperimentali di Rosch, adotta il punto di vista dei razionalisti. Lo Script Lo "script" e' una variante del frame introdotta da Roger Schank nel 1977. Per script si intende una struttura di memoria che rappresenta conoscenza stereotipica relativa a sequenze di azioni. Gli script hanno origine da un fenomeno sociale, quello di condividere la conoscenza di azioni stereotipiche con altri esseri umani. Tale fenomeno sociale e' a sua volta sfruttato dalla mente per semplificare il ragionamento in tutte le situazioni che siano parte di esso. In ognuna di quelle situazioni la mente non ha bisogno di compiere i complessi ragionamenti logici che sarebbero teoricamente necessari, ma si limita semplicemente a eseguire il corrispondente script. Uno script e' una struttura che contiene sostanzialmente due tipi di conoscenza: una sequenza di azioni e un insieme di ruoli. Una volta riconosciuta una situazione e reperito il relativo script, la sequenza di azioni (o "scene") consente di compiere elaborazioni di tipo "anticipatorio" (di "aspettarsi che succedano certe cose"). Grazie a questa elaborazione, a questo mettersi in attesa di certi eventi, risultera' piu' semplice riconoscere quegli eventi. I ruoli consentono a loro volta di determinare gli oggetti presenti nella situazione e la loro funzione. Nella sua teoria della dipendenza concettuale (1973) Schank ipotizza che esistano un certo insieme di azioni e un certo insieme di ruoli primitivi, indipendenti dalla struttura del linguaggio e comuni a tutti i linguaggi. Per esempio, esiste un'azione astratta di trasferimento che contempla: un oggetto, un agente che trasmette l'oggetto, un agente che riceve l'oggetto, un trasferimento fisico dell'oggetto. Influenzato dai lavori di D.Hays (1964), S.Klein (1963) e R.Simmons (1963), Schank tenta in pratica di costruire una teoria dei concetti primitivi mediante i quali sarebbe possibile costruire tutti gli altri. Uno script fa uso di questi concetti primitivi. 124 La teoria di Schank e' una teoria di "astrazioni di situazione". Costruire un'astrazione (come lo puo' essere "muoversi" per "camminare") significa trovare concetti semanticamente ricchi a un livello piu' elevato di generalita' che catturino il significato di concetti a livello piu' basso. Un'astrazione, come ha scritto Quine, e' "tipicamente ambigua". La teoria di Schank fa riferimento al suo modello di memoria, il quale contempla almeno quattro diversi tipi di memoria: la memoria degli eventi, che ricorda in dettaglio avvenimenti specifici, e' una semplice replica di cio' che e' accaduto e tende a perdere informazioni con il passare del tempo; la memoria degli eventi generalizzati, che ricorda i caratteri comuni a situazioni che si sono verificate diverse volte, e' prodotta da un processo di induzione e si raffina progressivamente; la memoria situazionale ricorda le "convenzioni" di ogni situazione; la memoria intenzionale ricorda invece le "intenzioni" da cui le situazioni possono essere causate, costituisce lo stadio terminale della memoria. Quando un evento viene registrato nel primo livello di memoria, si scatena il processo per cui, a partire dai tre livelli superiori, viene prodotto uno script relativo a quell' evento particolare. Tale script viene utilizzato per analizzare ("comprendere") l' evento. Vale anche il processo contrario, quello di acquisizione di uno script. Quando un evento specifico della "memoria degli eventi" puo' essere ricondotto ad un evento generalizzato, l'evento specifico perde informazione che viene sostituita con un riferimento all'evento generalizzato (magari a sua volta perfezionato da questa nuova istanza di se stesso). In tal modo un evento tende a ridursi all'informazione di essere un'istanza di un certo evento generalizzato e all'informazione saliente che lo distingue da altre istanze di quello. Ogni evento "compreso" dalla memoria di livello piu' basso contribuisce di fatto a riorganizzare le informazioni contenute nelle memorie superiori, in modo che gli script da esse prodotte siano sempre piu' efficaci nel riconoscere quel tipo di evento. Questa forma di apprendimento graduale funziona per "somiglianze": cio' che viene ricordato sono le somiglianze fra eventi diversi, le quali, opportunamente classificate, formano eventi generalizzati, situazioni, intenzioni. Nell'accezione di Schank la memoria ha pertanto due funzioni: una passiva, che e' quella di ricordare, e una attiva, che e' quella di predire. La comprensione del mondo e la sua categorizzazione procedono simultaneamente. A differenza del modello classico di memoria semantica e statica, la memoria del modello di Schank e' sintattica (episodica) e dinamica (adattativa). 125 Dal punto di vista computazionale gli script costituiscono una semplificazione importante per rendere conto dei tempi rapidissimi in cui la mente riesce a determinare quale azione compiere dopo una certa altra azione. Dal punto di vista psicologico gli script non sono pero' coerenti con le osservazioni di Gordon Bower che gia' nel 1971 aveva messo in luce l'evidenza empirica di una qualche forma di elaborazione seriale, ma aveva altresi' notato e studiato il fenomeno della "confusione". Secondo Bower le scene di uno script possono essere utilizzate da piu' script: per esempio, la scena di stare in coda alla banca e la scena di stare in coda alla posta sono una stessa scena che appartiene tanto allo script di andare in banca quanto allo script di andare alla posta. Cio' puo' dare origine a fenomeni di confusione: un soggetto puo' confondere uno script con un altro che ammette la stessa scena. Per ovviare all'implausibilita' psicologica degli script Schank ha introdotto i "memory organization packets", o MOP (1982), che assolvono sostanzialmente lo stesso scopo, ma non contengono tutta la conoscenza di cui fanno uso: contengono soltanto il riferimento a tale conoscenza. Siccome piu' MOP possono puntare alla stessa conoscenza, il modello rende effettivamente conto dell'imperfezione della memoria notata da Bower. Per la precisione la struttura di un MOP e' composta da: le motivazioni che danno luogo all'evento rappresentato dal MOP; le condizioni che devono essere presenti affinche' quell'evento possa effettivamente aver luogo; le conseguenze dell'evento; una descrizione dell'evento in termini di "scene". Il modello cognitivo di Schank prevede pertanto che la memoria contenga due tipi di entita': strutture e organizzatori di strutture. Le prime sono "scene" e le seconde sono MOP. Il meccanismo che guida la creazione di nuovi MOP e' il "fallimento" (failure) del ragionamento anticipatorio. Quando un MOP non riesce a rendere conto di una situazione che pure aveva attivato quel MOP come MOP piu' appropriato, si rende necessario generare un nuovo MOP. L'apprendimento e' "failure-driven" (Christopher Riesbeck, 1981), non fa ricorso all'induzione se non per creare generalizzazioni (come nei programmi di Janet Kolodner e di Mike Lebowitz del 1980). In accordo con quanto sostenuto da Minsky, anche per Schank "comprendere", "ricordare" e "ragionare" sono aspetti diversi dello stesso fenomeno: il continuo processo di ri-organizzazione della memoria. 126 L'obiezione comunemente mossa agli script (o ai MOP) e' la carenza di intenzionalita': all'interno di uno script un'azione segue l'altra per la semplice ragione che sono disposte in quell'ordine, non perche' l'una stia in qualche relazione causale con l'altra. Dallo script non e' possibile inferire perche' un'azione segua un'altra azione. Per quanto meccanici siano certi nostri comportamenti, noi siamo invece sempre in grado di rispondere alla domanda "perche' incominci a mangiare DOPO che il cameriere ti ha servito il pasto?". Logica Epistemica La Logica Epistemica e' la disciplina che studia la conoscenza in maniera formale. La nascita di questa disciplina puo' essere fatta risalire al 1962, quando Jaakko Hintikka reinterpreto' il dibattito su conoscenza e credenza alla luce della logica modale: come la comprensione del linguaggio richiede operatori di carattere "modale" per esprimere le condizioni di necessita' e di possibilita', cosi' la rappresentazione della conoscenza richiede operatori di carattere "espistemico" per esprimere le condizioni di "conoscere" ("so che p e' vero") e di "credere" ("credo che p sia vero"). Piu' in generale cio' e' valido per tutti i casi di "attitudine proposizionale", ovvero per tutte le frasi del tipo "io temo che l'autobus arrivi tardi", "Maria spera che l'orologio non si fermi", "Cesare vede che l'armata sta vincendo" ("temere", "sperare", "vedere" sono le attitudini, cosi' come "sapere" o "credere"). Anche la logica della conoscenza di Hintikka, come la logica della modalita', si puo' esprimere nella semantica dei mondi possibili di Kripke: un agente A conosce una proposizione p se p e' vera in tutti i mondi che sono compatibili con tutto cio' che A conosce. "a KNOW p" si legge: "l'agente "a" sa che la proposizione "p" e' vera", 127 e significa che "p" e' vera in tutti i mondi possibili che sono compatibili con cio' che l' agente conosce (ovvero "a conosce p" se e solo se p e' compatibile con tutto cio' che "a conosce"). La logica di Hintikka incorre pero' nel paradosso dell'"onniscienza logica": secondo il suo sesto assioma dal fatto che "a conosce i postulati di Peano" conseguirebbe che egli conosce tutto cio' che deriva da tali postulati, ovvero l' intera teoria dei numeri, compreso per esempio il teorema di Fermat. Anche altri assiomi di Hintikka non sembrano plausibili: per esempio, che l'agente conosca cio' che conosce (il quinto assioma). Hintikka propose inoltre una logica doxastica (cioe' per le credenze) del tutto analoga, semplicemente introducendo l'operatore BELIEVE al posto del KNOW e togliendo uno degli assiomi, il quarto, quello che afferma che la conoscenza e' sempre vera (come dai tempi di Platone si e' sempre fatto). Per ovviare al paradosso del sesto assioma sono state proposte molte alternative. Hector Levesque (1984) ha per esempio introdotto una logica che distingue fra conoscenza esplicita e quella implicita: la conoscenza esplicita di un agente e' quella di cui l' agente e' al corrente; la conoscenza implicita e' tutto cio' che ne consegue. Robert Moore (1977), Kurt Konolige (1982) e James Allen (1984) hanno trasferito varianti della logica di Hintikka in un contesto in cui la conoscenza (o la credenza) e' esplicitamente legata all'agente e all'azione. La credenza e' ovviamente sempre relativa a un agente, e l'uso che l'agente ne fa e' tipicamente quello di determinare l'azione da compiere. La definizione platoniana di conoscenza e' stata rielaborata anche da Fred Dretske (1981), il quale ha coniato una definizione sulla base del concetto di informazione di Shannon: l'agente A conosce p se il fatto di possedere l'informazione che p e' vera gli fa credere che p sia vera. Il fatto che A conosca p implica che A abbia una credenza di p e che tale credenza contenga l'informazione che p e' vera. Ogni programma di costruire una teoria della conoscenza si imbatte nei problemi storici relativi a conoscere e credere. Problemi che erano tradizionalmente oggeto di 128 speculazioni puramente astratte hanno trovato un senso assai pratico nel momento in cui una macchina, il computer, deve essere istruita in merito ad essi. Non e' banale, per esempio definire quello che e' forse uno dei concetti piu' elementari, il concetto di identita', come dimostra il seguente paradosso di Kripke: i Babilonesi pensavano che Hesperus e Phosphorus fossero due corpi celesti distinti, mentre oggi sappiamo che si tratta del pianeta Venere; supponiamo che due babilonesi stiano parlando di Hesperus e Phosphorus; se con quei nomi noi intendiamo l' oggetto che rappresentano, essi sono una sola cosa (Venere); se con quei nomi intendiamo gli oggetti mentali, essi sono quattro cose (due per ciascun babilonese). In quale sistema di rappresentazione sono due, come sarebbe naturale attendersi? Un problema che era gia' stato studiato almeno da Hegel e' quello di rappresentare la differenza fra un concetto e una rappresentazione di quel concetto: ADESSO e' semanticamente equivalente al quadrante di un orologio che indica l'ora? QUI e' semanticamente equivalente a un cartello che indica il nome del paese? Fu Frege il primo a studiare i contesti "referenzialmente opachi", come "p e' conosciuto", "p e' necessario" o "p e' creduto", cosiddetti poiche' non consentono piu' di riconoscere l'identita': se Pat conosce il numero di telefono di Jim, e Mary vive con Jim, non e' necessariamente vero che Pat conosca anche il numero di telefono di Mary (Pat potrebbe non sapere che Mary vive con Jim e pertanto ha il suo stesso numero di telefono). La frase "Pat crede che Mike voglia incontrare la moglie di Jim" ha tre possibili interpretazioni: Pat puo' credere che la persona che Mike vuole incontrare (1) sia sposata a Jim (ma Pat non ne conosce il nome o altro), (2) sia Mary, e Pat sa che Mary e' sposata a Jim, (3) sia Mary, che, guarda caso (ma Pat non lo sa), e' la moglie di Jim. "Pat sa di essere ricco" e "Pat sa che Pat e' ricco" non sono identiche se Pat, per un'amnesia, si e' dimenticato il proprio nome. Gli operatori KNOW e BELIEVE sono opachi nel senso che al loro interno non e' possibile sostituire un'espressione con un'espressione equivalente. Per far riferimento a questi casi si usano le distinzioni fra le conoscenze (o credenze) "de dicto", "de re" e "de se": il fatto che Pat conosca il numero di telefono di Jim implica "de re", ma non "de dicto", che Pat conosca anche il numero di telefono di Mary. Queste considerazioni si possono ricondurre anche al dibattito su intensione ed estensione. L'espressione "il numero di telefono di Mike" viene usata in due modi diversi (rispettivamente come estensione e come intensione) nelle frasi "Pat conosce 129 il numero di telefono di Jim" e "Pat ha fatto il numero di telefono di Jim". Pat potrebbe infatti aver fatto il numero di telefono di Mary, senza sapere che Mary vive con Jim: sarebbe allora vero che ha fatto il numero di telefono di Jim (in quanto e' lo stesso di Mary), ma senza sapere che quello e' il numero di telefono di Jim. La conoscenza e' a sua volta difficile da definire. Russell inizio' e Ryle continuo' una linea di pensiero tesa a differenziare i diversi tipi di conoscenza sulla base della loro funzione: l'acquaitance ("conosco il mio vicino"), il contenuto proposizionale ("so che mi chiamo Piero") e la competenza ("so come si fa ad andare in bicicletta"). Ryle insiste soprattutto sulla differenza fra le ultime due, l'una "dichiarativa" e l'altra "procedurale". Cosi', per esempio, sapere che esiste il martello, sapere che il martello serve a battere i chiodi e sapere come si fa a battere i chiodi con il martello costituiscono tre diversi tipi di conoscenza, utili a tre funzioni diverse. Le strutture rappresentazionali necessarie per catturare questi tre tipi di conoscenza sono assai diverse fra di loro (e soltanto la prima e' banale). Esiste una relazione intuitiva fra di esse, ma e' una relazione che ha a che vedere piu' con il fatto di essere relative alla memoria che non con le loro funzioni. Il riduzionismo che e' alla base del programma di Intelligenza Artificiale si scontra con il classico problema di definire il tutto tramite le sue parti. Quando emerge il tutto? Se prendo la mia auto e la smantello pezzo per pezzo, e' ovvio che alla fine non sara' piu' un auto ma un semplice insieme di pezzi meccanici sparsi per terra: ma "quando" ha smesso di essere un'auto? Se poi prendo i pezzi e comincio a ricostruire fedelmente l'auto, quando quell'insieme di pezzi ridiventa un'auto? Questi sono esperimenti che chiunque puo' compiere utilizzando un banale Meccano. E' intuitivo sostenere che l'auto ridiventa un'auto quando e' in grado di svolgere la funzione di un'auto. Si puo' pero' obiettare che un'auto senza carburatore, ma con tutte le altre parti, verrebbe giudicata un'auto anche se non e' in grado di svolgere quella funzione. Anche se la funzione fosse la proprieta' qualificante, non e' chiaro come le parti contribuiscano alla funzione. Nessuno spiegherebbe il funzionamento di un'auto, o di un orologio o di un qualsiasi meccanismo, sulla base di una descrizione delle sue parti: l'auto e' un mezzo di trasporto a motore e l'orologio e' uno strumento che segna il tempo. Analogamente la vita e' una proprieta' di un organismo, ma nessuna delle sue parti esibisce le sue proprieta'; la mente e' una proprieta' del cervello, ma nessuna delle sue parti esibisce le sue proprieta'. La Fisica moderna e' certamente riduzionista, e i giganteschi progressi della Biologia sono stati ottenuti con un approccio riduzionista: esiste un limite alla comprensione del tutto tramite le sue parti? Il biologo "vitalista" Hans Driesch sosteneva, per 130 esempio, che un organismo non potra' mai essere spiegato tramite le sue parti, perche' esiste un principio "vitale" che ha origine dal tutto. Infine rimane irrisolto il campo della comunicazione della conoscenza. Nella comunicazione si puo' perdere della verita', come succede nel caso del paradosso "p e' vera, ma tu non lo sai". Prima che io pronunci la frase, essa e' vera; ma nel momento in cui il mio interlocutore la sente, lui apprende che "p e' vera" e pertanto la mia proposizione "p e' vera ma tu non lo sai" diventa falsa. La Meta-conoscenza Per "meta-conoscenza" si intende conoscenza relativa alla conoscenza, conoscenza di cio' che si sa. E' convinzione diffusa che la conoscenza da sola non basti a render conto del comportamento intelligente. Un agente intelligente che si trovi di fronte ad una situazione complessa deve innanzitutto decidere quale conoscenza utilizzare per risolvere il problema posto dalla situazione. Se non fosse in grado di conoscere la propria conoscenza (di "sapere cio' che sa") non sarebbe in grado di reagire in tempo utile. La stessa conoscenza puo' essere utilizzata in situazioni diverse e diverse conoscenze possono essere utilizzate nella stessa situazione: in qualche modo l'agente deve poter scegliere quale conoscenza utilizzare per una certa situazione. La scelta e' spesso una scelta "strategica" con implicazioni computazionali non trascurabili: a seconda della conoscenza utilizzata la soluzione puo' essere piu' o meno rapida, piu' o meno precisa, piu' o meno generale e cosi' via. Paul Kolers (1976), Allan Collins (1978) e John Flavell (1979) hanno studiato una serie di fenomeni comuni che provano come la mente sia in grado di stabilire cio' che conosce e cio' che non conosce, e talvolta in maniera piu' rapida ed efficiente di quanto non sia in grado di utilizzare tale conoscenza. Il piu' noto e' quello dell'essere certi di non sapere una certa cosa. Se la mente avesse soltanto conoscenza, per dimostrare di non sapere una certa proposizione dovrebbe provare a inferire tale proposizione dalla conoscenza, e cio' richiederebbe quanto meno del tempo. Un sistema esperto impiega tipicamente piu' tempo a rispondere "non so" a una domanda relativa a conoscenza che non ha che non a rispondere la risposta giusta a una domanda relativa a conoscenza che ha. Il tempo di risposta e' anzi tanto piu' elevato quanto piu' vasta e' la conoscenza. Viceversa io impiego pochi millisecondi a rendermi conto che non so come andare da una citta' dello Zaire a un'altra citta' dello Zaire, che non so i nomi dei primi tre presidenti della Bolivia, che non so cos'abbia fatto ieri un amico e cosi' via. La differenza fra me e il sistema esperto e' che il 131 sistema esperto sa soltanto, mentre in qualche modo io so anche cio' che non so. La conoscenza del sistema esperto elenca soltanto cio' che sa, mentre la mia conoscenza fornisce anche indicazioni su cio' che non so. Il sistema esperto deve pertanto prima consultare tutta la propria conoscenza per stabilire se sa quella cosa, e soltanto dopo aver verificato che nessuna parte della sua conoscenza sa quella cosa potra' rispondere "non so". E' ovviamente cruciale sapere di non sapere. Proprio perche' so di non sapere come andare da una citta' dello Zaire a un'altra citta' dello Zaire mi premunisco di una carta geografica e magari di una guida. Un altro fenomeno comune e' quello opposto, il caso in cui "so di sapere" qualcosa, ma non riesco a ricordarmelo: "ce l'ho sulla punta della lingua". E' (apparentemente) paradossale che io sappia di sapere una cosa ma non riesca ad utilizzare il sapere quella cosa. Infine anche dalla relazione fra meta-conoscenza e credenza si possono trarre informazioni utili. Se non so che il papa e' morto, ne inferisco che il papa non e' morto. Assumo cioe' che, se fosse morto, lo saprei. In certi casi il non sapere e' fonte di conoscenza. Moore ha fondato nel 1980 la logica auto-epistemica, scopo della quale e' appunto rappresentare le convinzioni di un agente che rifletta sulle proprie convinzioni (o, in maniera equivalente, che ragioni sulla propria conoscenza). Konolige ha invece studiato la conoscenza che serve per risolvere problemi come quello del "terzo saggio". Un re, volendo stabilire quale sia il piu' saggio dei suoi tre saggi, dipinge un cerchiolino bianco sulle loro fronti, dice loro che esiste almeno un cerchiolino bianco e chiede poi a ciascuno di loro di indovinare il colore del proprio cerchiolino. Il primo e il secondo rispondono che non sanno. Il terzo puo' allora rispondere, correttamente, che il suo deve essere bianco. La soluzione sta nel modellare le credenze degli altri saggi: il terzo congettura che, se il suo fosse nero, il secondo avrebbe dedotto dalla dichiarazione del primo che il suo e' bianco (altrimenti ci sarebbero stati due neri e pertanto il primo avrebbe dedotto di avere l'unico bianco); siccome il secondo non e' stato in grado di compiere alcuna deduzione, il terzo puo' dedurne che il suo non e' nero. L'indovinello si risolve soltanto se si e' in grado di modellare le convinzioni che il terzo ha delle convinzioni del secondo e le convinzioni che il terzo ha delle convinzioni che il secondo ha del terzo. Nella teoria di Konolige ogni agente e' in grado di costruire un modello degli altri agenti in termini di sue e loro convinzioni, ed e' poi in grado di compiere deduzioni da tale modello. 132 Altri esempi di meta-conoscenza sono le regole su come devono essere usate altre regole: "le regole derivate dalla conoscenza di un esperto sono piu' affidabili di quelle derivate da un apprendista", "in un deserto le regole che spiegano come nutrirsi sono piu' prioritarie di quelle che dicono come abbronzarsi", "le regole precedenti riguardano il modo di trattare le regole". Benche' ancora poco studiato, il problema della meta-conoscenza e' probabilmente determinante per rendere conto di alcuni degli aspetti piu' qualificanti del comportamento intelligente, dalla motivazione alle emozioni, dall'introspezione allo stesso senzo dell'io. Uno dei casi particolari di "sapere di sapere" qualcosa e' quello di sapere di esistere, di essere cosciente di se'. E' forse possibile definire computazionalmente la coscienza come un processo ricorsivo che consiste nel "sapere di sapere", in modo non troppo dissimile da quello di Pierre Janet. Dal punto di vista del computer possono esistere tre livelli di coscienza, identificabili con altrettanti modelli. Al primo livello l'agente cosciente e' dotato di un modello del problema da risolvere, ed e' pertanto cosciente nel senso che conosce il problema. Ad un secondo livello l'agente ha un modello dell'utente, ovvero dell'umano che lo usa, ed e' cosciente nel senso che e' in grado di capire le intenzioni di tale utente. Infine l'agente potrebbe contenere un modello di se stesso, un modello del programma che lo realizza, ed essere cosi' in grado di ragionare sul proprio comportamento. Questa gerarchia di gradi di coscienza puo' essere schematizzata qualificando l'agente sulla base delle entita' su e' in grado di operare. L'agente "tropistico" agisce soltanto in risposta a uno stimolo (che e' rappresentato da un insieme di stati esterni), e la sua azione puo' pertanto essere identificata come Stimolo --> Risposta L'agente "isteretico" agisce invece in funzione di stimolo e memoria. Ammette pertanto anche degli stati interni, che costituiscono appunto la memoria. La sua azione puo' essere identificata come 133 Stimolo X Memoria --> Risposta Stimolo X Memoria --> Memoria L'agente e' anche "sapiente" se la memoria contiene conoscenza e se la risposta e' un ragionamento. Una definizione computazionale di "coscienza" avrebbe delle conseguenze anche sul concetto di identita'. Descartes, Locke e Hume si posero, direttamente o indirettamente, la domanda di come una persona possa ancora essere identificata come la stessa. La materia che la compone cambia nel tempo piuttosto rapidamente, praticamente ogni secondo, eppure io sono lo stesso di quando avevo cinque anni: cos'e' che mi fa sentire "lo stesso"? Semplicemente il fatto che quel corpo si e' evoluto in questo? Secondo Locke e' la coscienza di essere questa persona, e di essere stato quell'altra persona. La memoria sarebbe allora il solo criterio per stabilire l'identita' personale, ma non necessariamente tutta la memoria: la memoria di avere quella memoria, ovvero, in termini computazionali, la conoscenza di avere quella conoscenza. Un'altra delle conseguenze pratiche di costruire un programma dotato di metaconoscenza sarebbe quella di consentire al programma di costruire a sua volta programmi. E' infatti possibile dotare un programma di conoscenza sulla programmazione, sul modo di costruire programmi, quella che ogni programmatore mette in pratica nel progettare i suoi programmi. La comunicazione della conoscenza Il fenomeno della comunicazione della conoscenza prende in esame diversi aspetti della rappresentazione della conoscenza. Supponiamo che un "agente" A conosca qualcosa, per esempio un'automobile, e che l'agente A voglia trasmettere questa conoscenza all'agente B. A tal fine l'agente A manda un messaggio all'agente B, presumibilmente nel linguaggio che entrambi parlano e facendo riferimento a un campo di conoscenze comuni (cosa sia una ruota, una porta e cosi' via). Nel descrivere la realta' in questo linguaggio l'agente A introduce presumibilmente una prima forma di "rumore", poiche' la rappresentazione dell'automobile non sara' esattamente identica all'automobile che lui percepisce. Per rumore si intende la perdita di informazione dovuta al dover tradurre il mondo reale in messaggi. L'agente 134 B riceve il messaggio e deve a sua volta interpretarlo sulla base del linguaggio e del campo di conoscenza. Nel far cio' puo' introdurre un altro tipo di "rumore": l'interpretazione del significato del messaggio, che generalmente presenta lievi differenze fra individuo e individuo. Come notato da Paul Ricoeur, il linguaggio non e' soltanto comunicazione, ma anche interpretazione. Man mano che riceve messaggi l'agente B "ricostruisce" sostanzialmente la conoscenza di quell'automobile. La conoscenza dell'automobile viene pertanto generata in B dai messaggi. Ogni messaggio agisce come un passo di algoritmo: ad ogni passo viene costruita un'immagine parziale. Cio' implica, fra l'altro, che, a seconda di come A decide di impacchettare la conoscenza in messaggi, B percepira' un mondo diverso. I due agenti tendono comunque ad uno stato di equilibrio, poiche' la trasmissione di messaggi continua finche' la conoscenza di B non sara' ritenuta identica alla conoscenza di A. I rumori di cui sopra rendono di fatto improbabile che nella pratica sia possibile giungere alla totale identita'. Esiste pertanto un tacito principio di indeterminatezza: lo stato determinato da un trasferimento di conoscenza e' imprevedibile e puo' soltanto approssimare quello desiderato. E' per tale ragione che uno studente normalmente non impara alla perfezione: nell'esempio precedente B e' uno studente che deve apprendere la conoscenza che A gli trasmette. E' intuitivo che, se B e' intelligente, B non aspettera' la fine della trasmissione di tutti i messaggi per iniziare a verificare di avere "capito" bene tutti quei messaggi, ma tendera' a compiere delle verifiche dopo ogni messaggio. In altre parole B tende a minimizzare la probabilita' di errori attraverso una interazione frequente con A. In pratica e' sottinteso un principio: la probabilita' di errore e' proporzionale alla quantita' di conoscenza trasmessa. A e B possono ridurre la probabilita' di errore frammentando la conoscenza in diversi blocchi e ripetendo dopo ogni blocco l'operazione di trasmettere e verificare. La comunicazione della conoscenza ha delle applicazioni pratiche nel campo dell'insegnamento automatico: il computer-insegnante deve sostanzialmente trasmettere della conoscenza agli studenti. La preistoria dell'"ICAI", l'"Intelligent Computer-Assisted Instruction", e' rappresentata dai programmi "adattativi" in grado di selezionare il materiale didattico piu' appropriato al livello dello studente. La carenza principale di quei programmi era 135 la limitata capacita' di "generare" il materiale didattico in maniera personalizzata per il singolo studente. La necessita' di un approccio "generativo" venne soddisfatta soltanto quando si rese disponibile la tecnologia dei sistemi esperti. I sistemi esperti contribuirono a definire in maniera piu' precisa l'obiettivo dei sistemi di ICAI: insegnare significa trasmettere conoscenza relativa a un certo campo (geografia, lingua spagnola, procedure di banca: conoscenza "di dominio" che e' quella accumulata da un esperto del campo) e trasmetterla sulla base della conoscenza di come si insegna (conoscenza "didattica", che e' quella accumulata da un insegnante esperto). Se un sistema di insegnamento automatico e' sempre un caso particolare di sistema di comunicazione della conoscenza, un sistema di insegnamento automatico basato sulla tecnologia dei sistemi esperti (un cosiddetto "intelligent tutoring system" o ITS) risulta essere un caso particolare di sistema di comunicazione della conoscenza basato sulla conoscenza, dove la conoscenza che viene comunicata e' quella di dominio e la conoscenza su cui e' basato il sistema e' quella didattica. Un sistema di comunicazione della conoscenza coinvolge tre agenti: un agente esperto, un agente insegnante e un agente studente. L'agente insegnante ha come obiettivo quello di trasferire la conoscenza dell'agente esperto all'agente studente. In termini piu' formali l'agente insegnante ha come obiettivo quello di trasformare lo stato di conoscenza dello studente in uno stato uguale allo stato di conoscenza dell'esperto (relativamente al dominio in oggetto). Per ottenere questo risultato, l'agente insegnante pianifica degli atti di trasferimento di conoscenza all'agente studente. Ogni atto di trasferimento ha come effetto di causare un nuovo stato di conoscenza nello studente, che pero' (per il principio di indeterminatezza di cui sopra) non e' detto sia quello desiderato dall'insegnante. L'insegnante deve allora costruire una rappresentazione dello stato di conoscenza dello studente: se tale stato e' quello desiderato, l'insegnante puo' proseguire nel suo piano di trasferimenti; se invece non e' quello desiderato, come generalmente accade, l'insegnante deve costruire un nuovo piano a partire dallo stato di conoscenza effettivo dello studente. 136 L'agente insegnante costituisce lo stato finale di conoscenza, l'agente studente costituisce lo stato iniziale di conoscenza e ogni atto di trasferimento di conoscenza da parte dell'agente insegnante costituisce una transizione di stato per lo studente. L'intero problema della comunicazione della conoscenza sta nel fatto che quella transizione di stato non e', generalmente, quella desiderata, e pertanto l'agente insegnante deve ogni volta rivedere il proprio piano. L'agente insegnante puo' scegliere fra un numero infinito di piani di atti di trasferimento, ma in pratica sceglie sempre quello che minimizza sia il numero di atti di trasferimento necessari sia le probabilita' di errore nella comunicazione. Per minimizzare le probabilita' di errore occorre minimizzare la quantita' di conoscenza trasmessa in ogni singolo atto di trasferimento, ma cio' farebbe aumentare a dismisura il numero di atti di trasferimento necessari per trasmettere l'intera conoscenza; e viceversa: il numero minimo di atti di conoscenza sarebbe uno solo, ma trasmettendo tutta la conoscenza in un blocco unico si introdurrebbe una quantita' molto elevata di errori. L'agente insegnante deve determinare il piano che massimizza questi due criteri contrastanti. Oltre che minimizzare la quantita' di conoscenza trasmessa in un singolo atto di trasferimento, l'agente insegnante puo' limitare le probabilita' di errore facendo uso della conoscenza didattica. Ogni insegnante che si rispetti ha come compito innanzitutto quello di "prevenire" (invece che limitarsi a diagnosticare) gli errori di comunicazione, sforzandosi di spiegare la materia nel modo piu' efficace possibile. Nel far cio' sfrutta la propria conoscenza didattica, conoscenza di come si insegna in modo efficace, conoscenza su come massimizzare l'efficacia della sua comunicazione di conoscenza. Cio' nonostante l'atto di trasferimento di conoscenza porta lo studente in uno stato di conoscenza incognito. Prima di procedere, occorre verificare se questo stato e' quello desiderato, e, se no, riconoscere di quale stato si tratti. Per diagnosticare la conoscenza si utilizza il principio di equivalenza: un agente A ha acquisito la conoscenza di un altro agente B se l'agente A e' totalmente equivalente all'agente B nel risolvere qualsiasi problema che possa essere risolto con quella conoscenza. Se lo studente avesse acquisito correttamente la conoscenza trasmessagli, dovrebbe essere in grado di risolvere la classe di problemi la cui soluzione richiede necessariamente quella conoscenza. Se non e' in grado di risolvere quella classe di problemi, lo studente non ha acquisito correttamente quella conoscenza. 137 Lo stato di conoscenza reale dello studente viene pertanto stabilito sulla base della sua performance. Se tale performance non e' quella attesa, occorre trovare lo stato di conoscenza che generi quella performance. Il problema di valutare lo stato cognitivo di una persona attraverso la sua performance viene detto "diagnosi cognitiva". Per "performance" si intende ovviamente la capacita' di risolvere problemi. Misurare la performance di un agente significa pertanto costruire un insieme di problemi che sia rappresentativo della conoscenza trasmessa e poi valutare le soluzioni e gli errori dello studente. Una volta nota la performance dello studente si esegue un ragionamento "condizionale" nel tentativo di trovare quale conoscenza darebbe luogo a quella performance. Occorre modificare la rappresentazione dello stato di conoscenza dello studente in maniera tale che con quella conoscenza anche l'esperto commetterebbe gli stessi errori appena compiuti dallo studente. Quella conoscenza costituisce l'effettivo stato attuale dello studente. Ad esso l'insegnante applica la propria conoscenza didattica per determinare un nuovo piano d'azione. E cosi' via. La generazione del piano che portera' lo studente ad acquisire la conoscenza dell'esperto avviene pertanto ragionando sul differenziale (stato insegnante meno stato studente attuale) e sulla conoscenza didattica. In ogni istante esiste un "piano di lezioni", che viene pero' riveduto dopo l'esecuzione di ogni "lezione". Data una certa situazione (un certo stato di conoscenza dello studente), la differenza fra l'esperto e lo studente e' la conoscenza di cio' che deve essere ancora imparato. Per determinare come inizia e quando finisce, un ITS puo' essere ricondotto a un dimostratore automatico di teoremi. Il teorema da dimostrare e' "lo studente ha appreso l'intera materia", e cioe' "lo stato di conoscenza dello studente e' pari a quello dell'insegnante". Affinche' questo teorema sia soddisfatto occorre che altri sottoteoremi siano soddisfatti (cioe' che abbia appreso le parti che compongono quella materia), e cosi' via ricorsivamente. Ad un certo punto in questa regressione di teoremi da dimostrare si giunge a un teorema che non dipende da altri teoremi, ma soltanto dal proprio essere vero o falso. Per rendere vero quel teorema occorre pianificare gli atti di trasferimento di conoscenza necessari a far compiere allo studente la corrispondente transizione di stato. Una volta avviato in questo modo il dimostratore di teoremi, esso continuera' a compiere questo ciclo finche' tutti i sotto- 138 teoremi saranno dimostrati e allora anche il primo teorema, che lo studente ha appreso tutta la conoscenza, sara' dimostrabile. Un modo alternativo di comunicare conoscenza, che origina dagli studi di Seymour Papert, e' quello degli ambienti interattivi per l'apprendimento ("Interactive Learning Environments") o piu' popolarmente micromondi ("microworlds"). Il modello socratico di appredimento attraverso la "scoperta" ha avuto un ruolo determinante nei sistemi di questa generazione. Un micromondo e' un ambiente in cui lo studente puo' esercitare la propria creativita', ed apprende pertanto tramite sperimentazioni in cui e' lui stesso la parte attiva. Cio' equivale ad immergere una persona in una situazione reale, e lasciare che la persona si familiarizzi con la situazione. Cio' che viene comunicato e' un intero modello mentale, un modello "qualitativo" dell' ambiente che si sta studiando. Papert si ispiro' alla pedagogia di Piaget e pose l' accento soprattutto sulla necessita' di sviluppare le capacita' creative dello studente. Il principio e' quello secondo cui comprendere un sistema implica costruire un modello mentale causale di quel sistema. I modelli vengono costruiti in maniera incrementale raffinando, estendendo e generalizzando la conoscenza man mano acquisita. Spesso l' "ambiente" virtuale del micromondo rappresenta un ambiente reale, che viene "simulato" tramite il computer. Lo studente ha a disposizione alcuni comandi per far cambiare valori alle variabili del sistema, e il sistema provvede a calcolare automaticamente le conseguenze di questi cambiamenti e a farli vedere allo studente. Lo studente puo' cosi' rendersi conto di persona, e "capire" come funziona l' ambiente, ovvero costruirsi un modello mentale. L'Inferenza Teorie Computazionali del Ragionamento Il ragionamento viene tradizionalmente visto dalle teorie computazionali come la capacita' di risolvere problemi (problem-solving) tramite l'uso di vecchia conoscenza e la produzione di nuova conoscenza. Un problema e' una situazione in cui alcuni elementi sono noti e altri sono incogniti. Risolverlo significa assegnare un valore a quelli incogniti. Cosi' definito, il ragionamento si situa nella tradizione del "pensiero riflessivo" di John Dewey (1933). Il pensiero riflessivo si distingue da quello istintivo (la reazione immediata a una situazione) e da quello di "flusso di coscienza" in quanto consiste nel cercare la soluzione ad un problema. Dewey non specifica pero' le regole normative che consentono al pensiero riflessivo di svolgere il proprio compito. 139 Peirce distingueva tre diversi ruoli della logica: la logica empirica fornisce "leggi descrittive" di cio' che facciamo quando pensiamo; la logica matematica fornisce "leggi formali" che idealizzano il processo di ragionare (e' intuitivo che l'uomo comune non utilizza tali leggi formali quando pensa); la logica normativa fornisce "leggi prescrittive" su come si dovrebbe ragionare. Per il programma dell'Intelligenza Artificiale il ruolo piu' importante e' proprio quello normativo che e' stato tradizionalmente sottovalutato. La logica normativa dipende pero' dai risultati della logica matematica: questa studia infatti perche' certi processi di ragionamento sono validi e altri no. Purtroppo la logica matematica e' del tutto inadeguata a trattare gran parte dei ragionamenti "pratici" che interessano l'Intelligenza Artificiale. Dagli studi di Howard Gardner (1985) sui processi di pensiero utilizzati dalla gente comune nel risolvere alcune classi di problemi emerge chiaramente che l'uomo comune impiega processi di ragionamento molto lontani da quelli della logica matematica, e che, in generale, e' assai piu' efficace nel risolvere quei problemi che hanno implicazioni pratiche che non i problemi di natura astratta. Lo stesso fenomeno era stato fatto notare da Philip Johnson-Laird nel 1970: per qualche ragione e' piu' semplice risolvere un problema del tipo "se compro tre paia di calze da mille lire e pago con una banconota da diecimila, quanto mi spetta di resto?" che non problemi del tipo "quanto fa 10.000 - (1.000 x 3) ?". Bruce MacLennan ha elencato (1988) un numero di prestazioni che mancano alla logica matematica e che la rendono inadeguata per gli scopi dell'Intelligenza Artificiale. Primo, le quantita' matematiche sono "definite", mentre gran parte delle quantita' trattate dalla mente umana, se non tutte, sono "indefinite" su una dimensione continua (e non discreta) e sono quasi sempre affette da errori e "rumore" (in particolare, ogni regola ammette eccezioni). Secondo, ogni idea e ogni azione dipendono dal contesto in cui ci si trova (chi segue sempre le regole alla lettera viene comunemente considerato "stupido", non intelligente). Terzo, vale la critica di Wittgenstein (1958) all'atomismo logico, secondo la quale un fenomeno non puo' essere scomposto in fenomeni elementari ma deve invece essere trattato come un tutto. Quarto, non dimentichiamoci che ogni nostra azione viene compiuta per uno scopo ben preciso, ovvero con un'"intenzione", e che la conseguenza dell' "intenzionalita'" (alla Searle) e' quello di restringere la quantita' di contesto da prendere in considerazione per compiere quell'azione. La ragione di queste carenze della logica matematica e' da ricercarsi nella sua stessa storia e nel cambiamento culturale avvenuto fra il secondo scorso e la nostra era. Per secoli l'uomo ebbe bisogno soprattutto di strumenti che gli consentissero di compiere predizioni esatte. La Logica Matematica segno' il culmine di quel programma di ricerca. Oggi possiamo costruire ponti e garantire che reggeranno il peso degli autocarri, quando nessun essere umano sarebbe in grado di stabilirlo a mente. Tutta la moderna tecnologia esiste precisamente perche' il programma della Matematica ha avuto successo. Non bisogna biasimare i matematici se quel programma e' inadeguato 140 a simulare la mente umana: il loro scopo non era quello di simulare la mente umana, era quello di fornire strumenti esatti agli ingegneri. Il programma dell'Intelligenza Artificiale costituisce invece il culmine di un'altra linea di ricerca, molto piu' recente, per la quale non ha piu' molta importanza scoprire strumenti esatti di calcolo (visto che ormai l'umanita' riesce a costruire tutto cio' che ha bisogno di costruire), mentre riveste un'importanza sempre maggiore il riuscire a simulare la mente umana nei processi non matematici che guidano le nostre azioni quotidiane. I progressi della neuro-biologia hanno inoltre fatto aumentare le attese per una teoria che spieghi il funzionamento della mente umana. Lo scenario culturale in cui si muove l'Intelligenza Artificiale e' ideologicamente agli antipodi di quello in cui si muoveva la Matematica dei secoli scorsi. Non stupisce, pertanto, che quella Matematica finisca per essere piu' d'impaccio che d'utilita' quando si tenta di impiegarla nello studio della mente. La Deduzione Il tipo di ragionamento che meglio si presta ad essere trasformato in un modello computazionale e' quello deduttivo, se non altro perche' la teoria della computazione ebbe origine proprio dall'evoluzione del pensiero deduttivo. Il ragionamento deduttivo e' quello in cui il problema fornisce sufficiente informazione per trovare la soluzione. Un problema deduttivo puo' sempre essere risolto trasformando la situazione di input nella situazione di output desiderata attraverso una serie di operazioni logiche. Nel ragionamento deduttivo non viene pertanto prodotta alcuna conoscenza che non fosse gia' implicita nella conoscenza iniziale del problema. E' questo il caso, per esempio, della Logica classica: tutti i teoremi che e' possibile dimostrare sono impliciti negli assiomi e nelle regole di inferenza. Anche la Logica classica concede pero' ampio spazio all'intuito del matematico che deve dimostrare il teorema nello scegliere quali assiomi e quali regole di inferenza utilizzare e in che ordine. Paradossalmente anche la disciplina dell'esatto deve affidarsi al buon senso per ottenere dei risultati pratici. Dovendo programmare una macchina in modo che tale macchina sia poi in grado di risolvere problemi occorre formalizzare quella forma di "intuito". Cio' viene realizzato fin dai tempi del GPS di Newell tramite un'astrazione detta "ricerca nello spazio di problema". Lo spazio di problemi puo' essere considerato come l'insieme di tutte le situazioni possibili: il problema da risolvere e' la situazione iniziale e la sua soluzione e' la situazione finale. Tali situazioni vengono dette "stati" del problema. Risolvere il problema si traduce allora nel trasformare lo stato iniziale nello stato finale attraverso un numero finito di transizioni di stato. Per esempio la dimostrazione di un teorema con le regole di inferenza della logica classica si traduce nel problema di ricerca seguente: gli assiomi costituiscono lo stato iniziale; le regole di inferenza sono gli operatori che fanno compiere transizioni di stato; il teorema e' lo stato finale. 141 In tal modo viene compiuta anche la saldatura naturale fra "rappresentazione" e "derivazione", che sono le due parti complementari della costruzione di una macchina in grado di risolvere problemi: rappresentare la conoscenza e derivare soluzioni. Gli operatori utilizzati sono quelli della Logica. Nonostante le sue limitazioni la Logica e' infatti uno strumento prezioso poiche' consente di mettere in relazione la competenza inferenziale (cio' che la mente deve calcolare e perche') con la performance inferenziale (come la mente lo calcola). In tal senso va interpretata l'affermazione di Boole che le leggi del pensiero siano le leggi della logica. La logica e' pero' "cieca": e' capace di risolvere il problema (se il sistema formale e' ben definito), ma incapace di determinare quale sia la migliore strategia per risolverlo. Esistono infatti infinite strategie possibili per risolvere un problema. Ad ogni passaggio e' possibile scegliere di procedere in modi diversi, tutti egualmente validi dal punto di vista logico. Questa decisione non e' banale, poiche' puo' avere conseguenze rilevanti sul proseguio del ragionamento e determinare il numero di passaggi che saranno necessari per arrivare alla soluzione. Per esempio, supponiamo di voler stabilire se i miei genitori sono cinesi. Un modo di farlo e' di considerare tutti gli abitanti della Cina e verificare se due di essi sono miei genitori: questa strategia richiede centinaia di milioni di passaggi per trovare la soluzione. Un altro modo di farlo e' di considerare i mie due genitori e verificare se sono cinesi: questa strategia richiede soltanto due passaggi. In entrambi i casi si ottiene la soluzione corretta, ma e' evidente che scegliere la strategia ottimale consente di risparmiare una quantita' enorme di risorse computazionali. I comici fanno spesso ricorso a strategie insensate, per quanto corroborate da una logica ineccepibile. In una scena del film "Horse Feathers" Chico e Harpo Marx, improvvisatisi barbieri, devono accorciare i baffi a un malcapitato che si e' addormentato sulla poltrona. Harpo li accorcia a caso, poi Chico tenta di determinare se le due meta' sono lunghe eguali. Non riuscendoci ad occhio, decide di far ricorso a due metri. Il problema e' ora quello di misurare entrambe le meta' del baffo rispetto a un punto di riferimento comune. Sarebbe intuitivo scegliere il centro del baffo come punto di riferimento per la misurazione, ma Harpo e Chico non hanno esitazioni e scelgono la parete: tirano pertanto i due metri dalla parete alle due punte del baffo. Quindi le confrontano e notano che una delle due e' piu' lunga di un centimetro. Il problema e' ora quello di accorciare l'altra misura di un centimetro. Harpo prende un paio di forbici e taglia il suo metro di un centimetro: confrontando i due metri, che danno ora la stessa misura, Harpo e Chico considerano conclusa l'operazione. E' intuitivo che il ragionamento va controllato con il "buon senso". Il buon senso si traduce quasi sempre nel principio di economia: ridurre al minimo le risorse computazionali richieste per la soluzione del problema. "Ragionare" non e' tanto il "saper applicare le regole della logica" quanto il "saper trovare la strategia che soddisfa il principio di economia". 142 Il Sistema di Produzione Un metodo computazionalmente efficace di operare sullo spazio del problema, e altrettanto coerente con la logica classica, e' quello dei "sistema di produzione", ovvero dei sistemi in grado di compiere inferenze sulle regole di produzione. Una regola di produzione e' infatti una formula del calcolo dei predicati logici del primo ordine, espressa in una sintassi che ne consente una facile elaborazione meccanica. Grazie a cio' un sistema di produzione e' in grado, a partire da un insieme di asserzioni e di regole di produzione, di stabilire tramite regole di inferenza il valore di verita' di una proposizione. Mentre in un programma composto di istruzioni sequenziali e' chiaro come il ragionamento procedera' (secondo la "sequenza" delle istruzioni), nel caso di un insieme di regole di produzione non esistono un inizio e una fine chiaramente identificati dalla loro posizione all'interno dell'insieme. Non esiste un ordinamento delle regole di produzione, ma esiste una chiara relazione causale fra di esse. Ogni regola e' composta da due formule, un antecedente e un conseguente (IF antecedente THEN conseguente): la formula dell'antecedente la pone in relazione con tutte le regole che hanno quella stessa formula come conseguente, e la formula del conseguente la pone in relazione con tutte le regole che hanno quella stessa formula come antecedente. Per esempio, la regola "IF starnuto THEN raffreddore" e' messa dal suo antecedente in relazione con "IF freddo THEN starnuto" e dal suo conseguente in relazione con "IF raffreddore THEN aspirina". Naturalmente possono esistere piu' regole che hanno per antecedente "raffreddore" e piu' regole che hanno per conseguente "starnuto". Quando si mettono in relazione due regole che hanno in comune un antecedente o un conseguente si dice che esse sono state "concatenate". Concatenando due regole si genera della conoscenza. Per esempio, concatenando "IF freddo THEN starnuto" e "IF starnuto THEN raffreddore" si ottiene la regola "IF freddo THEN raffreddore". Questa relazione causale puo' essere sfruttata per procedere in due modi: in avanti (forward) o a ritroso (backward). Il ragionamento forward consiste nel propagare verita' tramite la concatenazione conseguente-antecedente, ovvero cercando la regola che ha un antecedente pari al conseguente della regola attuale, mentre il ragionamento backward consiste nel propagare verita' tramite la concatenazione antecedente-conseguente, ovvero cercando la regola che ha un conseguente pari all'antecedente della regola attuale. Questi due approcci rappresentano strategie di ragionamento radicalmente diverse. Nel caso forward si propaga verita' nota: da qualche sorgente il sistema apprende che "freddo" e' vero e, con una serie di concatenazioni conseguente-antecedente ne deduce che "starnuto", "raffreddore" e "aspirina" devono anche essere veri. Il meccanismo si mette in moto quando viene rivelato che "freddo" e' vero, ossia ogni qualvolta viene fornita nuova verita' al sistema. 143 Il ragionamento forward viene anche detto "data-driven", guidato dai dati, poiche', appunto, il meccanismo viene messo in moto da nuovi dati pervenuti al sistema, e compito del sistema e' dedurre tutti i fatti che si possono affermare in seguito a questi nuovi dati. Nel caso backward invece cio' che viene propagato e' la richiesta di dimostrare una verita': il sistema intende dimostrare che "aspirina" e' vero e, con una serie di concatenazioni antecedente-conseguente ne deduce che "aspirina" e' vero se "raffreddore" e' vero, e "raffreddore" e' vero se "starnuto" e' vero, che e' a sua volta vero se "freddo" e' vero. Se "freddo" e' vero, allora si e' dimostrato che "aspirina" e' vero. Il ragionamento backward viene anche detto "goal-driven", guidato dall'obiettivo (goal), poiche', appunto, il meccanismo viene messo in moto dall'obiettivo di dimostrare che un certo fatto sia vero e il sistema, comportandosi come un classico dimostratore di teoremi, tenta di dimostrare che quel fatto si deduce dai fatti noti. In altre parole il ragionamento forward calcola tutti i fatti che sono veri, mentre il ragionamento backward calcola se un fatto e' vero. In backward il sistema di produzione cerca a ritroso la sequenza di giustificazioni che fanno discendere un certo fatto dai fatti noti; in forward il sistema asserisce tutti i fatti che vengono giustificati dai nuovi fatti. Si ragiona generalmente in forward quando si deve risolvere un cruciverba o un'equazione; si ragiona generalmente in backward quando si deve rispondere di si' o di no ad una domanda o quando si cerca l'uscita di un labirinto. Rappresentando il problema in uno spazio degli stati, si assume che la sua risoluzione consistera' poi nel "cercarne" la soluzione, ovvero che la sua risoluzione potra' sempre essere ricondotta ad una "ricerca" in tale spazio degli stati. Tanto il ragionamento backward quanto quello forward consistono nel compiere una ricerca di regole (quelle con l'antecedente simile al conseguente o viceversa). Il ragionamento all'interno di un sistema di produzione puo' essere rappresentato da un "albero", da una sorta di genealogia degli stati percorsi. L' albero e' un grafo in cui tutti i nodi hanno uno e un solo predecessore, salvo un nodo privilegiato, cosiddetto "radice", che non ha alcun predecessore (la rete semantica e' un grafo, ma non necessariamente un albero). La struttura ad albero si presta meglio di ogni altra per la "ricerca", in quanto in un albero si e' sempre certi di poter raggiungere un nodo (in una rete non e' detto che si arrivi mai ad un particolare nodo, per esempio perche' si entra in un circolo vizioso di nodi che si rimandano l'un l'altro), ovvero di arrivare alla soluzione quando essa e' presente. Al di la' del fatto che il ragionamento sia backward o forward, in un albero sono possibili due tipi di strategie di ricerca. Il primo tipo e' quello delle "ricerche cieche" 144 (blind search), che non hanno informazioni relative allo spazio in cui operano e si limitano pertanto ad applicare un algoritmo indipendente dal contesto. Le seconde, le "ricerche euristiche" (heuristic search), possiedono invece informazioni determinanti per operare in maniera efficiente in quello spazio. Per esempio, dovendo cercare un frisbee che e' finito su un albero, esistono due modi di procedere: il primo e' quello di esplorare ogni ramo dell'albero fino alla cima finche' non si sono provati tutti i rami possibili; il secondo e' quello di esplorare prima ogni ramo fino alla sua prima diramazione, e poi ogni ramo fino alla seconda diramazione e cosi' via sempre piu' in alto finche' non si sono provate tutte le diramazioni. Analogamente si possono definire due principali ricerche di tipo "cieco": secondo il primo, si decide in quale direzione procedere e si continua in quella direzione finche' e' possibile (metodo "depth-first": si esplora l'albero prima in profondita'); con il secondo si procede in parallelo tutte le direzioni, scendendo passo passo le gerarchie dell'albero (metodo "breadth-first": si esplora l'albero prima in ampiezza). Quale delle due si sceglie ha un' importanza notevole tanto per la velocita' della ricerca, quanto per il risultato stesso che verra' trovato. Nel primo caso, se la soluzione si trova al principio dell'ultimo ramo dell'albero, la strategia e' la peggiore, perche' bisogna passare per tutti i rami ed esplorare ciascuno fino in fondo prima di giungere alla soluzione, mentre in breadth-first ci si arriverebbe molto prima. Non solo: se esistono due soluzioni nell' albero, a seconda della strategia scelta si trovera' prima l'una o l'altra. Per esempio, nel sistema di produzione .DS L IF b(X) THEN a(X). IF a(X) THEN b(X). a(1). .DE le cui tre regole asseriscono come dedurre b(X) da a(X) e a(X) da b(X), per qualsiasi X, e asseriscono altresi' che a(1) e' sempre e comunque vero, il ragionamento backward che volesse dimostrare se a(1) sia vero o falso, dovrebbe intuitivamente pervenire alla risposta che e' vero. Ma una ricerca depth-first si infila subito in un dedalo cieco, perche' per dimostrare a(1) cerca (prima frase) di dimostrare b(1), che puo' essere dimostrato (seconda frase) soltanto se e' vero a(1), per dimostrare il quale (prima frase) bisogna dimostrare b(1), e cosi' via all'infinito: la ricerca depth-first non perverra' a nessuna soluzione, perche' continuera' ad esplorare il primo ramo a profondita' sempre maggiori e non potra' mai passare al secondo ramo, quello che contiene la soluzione. Un algoritmo breadth-first esaminerebbe invece prima tutti i primi livelli dell'"albero": a(1) puo' essere dimostrato (alfa) dalla prima frase o (beta) dalla terza; secondo (alfa) per dimostrare a(1) occorre dimostrare b(1); secondo (beta) a(1) e' vero. Non occorre procedere oltre perche' la soluzione e' gia' stata trovata in uno dei rami dell'albero. 145 Tanto il ragionamento backward quanto quello forward prendono in esame l'intero "albero" di stati del problema. Per rendere piu' efficiente la ricerca della soluzione e' indispensabile pero' poter "potare" (prune) tale albero, in modo da ridurre considerevolmente il numero di possibili percorsi. Il "pruning" consiste nell'adottare una strategia ben precisa di ricerca basata su una qualche forma, piu' o meno generale, di euristica. Esistono numerose ricerche euristiche che suggeriscono strategie caratterizzate in qualche modo da "buon senso". Per ricerca euristica si intende una tecnica che rende piu' veloce il processo di ricerca anche al prezzo di renderlo meno preciso. Una ricerca euristica non garantisce di trovare "sempre" la soluzione "migliore", ma garantisce di trovarne "quasi sempre" almeno una "molto buona". Nel risolvere un integrale, per esempio, si decide spesso di applicare prima le regole che intuitivamente appaiono piu' promettenti. La ricerca euristica e' particolarmente indicata nei casi in cui si desidera trovare una soluzione, non necessariamente la migliore. In molti casi reali l'euristica e' vitale per evitare le cosiddette "esplosioni combinatoriali", ovvero la crescita esponenziale e senza fine dei percorsi possibili all'interno dello spazio di ricerca. D'altronde nel mondo reale raramente abbiamo bisogno della "migliore" soluzione possibile, il piu' delle volte ci e' sufficiente trovare una buona soluzione. Non ci si attende, per esempio, che il modo in cui si e' investito il proprio denaro sia in assoluto il piu' remunerativo possibile, ma certamente si spera che sia remunerativo. In altre parole le ricerche euristiche sono metodi approssimati per risolvere problemi con un costo ragionevole di risorse computazionali: il tempo di computazione viene ridotto a scapito della qualita' della soluzione. Le classi di problemi piu' indicate per le ricerche euristiche sono quelle per le quali l'algoritmo non esiste (gli integrali) o l'algoritmo e' troppo complesso (gli scacchi). Le ricerche euristiche si dividono a loro volta in metodi "deboli" e metodi "forti". Un metodo debole e' un metodo che e' indipendente dal dominio specifico di applicazione, ovvero che puo' essere utilizzato in diversi dominii. I metodi forti sono quelli che dipendono strettamente dallo specifico dominio in cui vengono usati, e che pertanto non e' possibile definire in modo generale. Uno dei primi metodi deboli ad essere usato in un programma di Intelligenza Artificiale fu quello della "means-end analysis": rappresentato il problema nello spazio di problema, si scelga come passo successivo sempre quello che riduce maggiormente la differenza fra lo stato attuale e lo stato obiettivo (goal). Se, per esempio, occorre dimostrare che un teorema e' vero, il problema viene rappresentato da uno stato iniziale che e' l'insieme degli assiomi e da uno stato finale che e' il teorema: nel metodo di means-end analysis si sceglie di applicare ogni volta la regola di produzione che minimizza le differenze fra questi due stati. Oppure se si deve 146 organizzare un viaggio da Torino a Bari e gli stati intermedi possibili sono i varii capiluogo di provincia, si sceglie di passare da Alessandria piuttosto che da Novara sulla base del fatto che Alessandria fa minimizzare la distanza da Bari. Naturalmente la strategia potrebbe rivelarsi sbagliata: potrebbe non esistere un'autostrada che da Alessandria porti a Bari, e pertanto il ragionamento dovrebbe poi retrocedere a Torino e provare un'altra citta'. Un metodo debole comunemente utilizzato tanto in matematica quanto nella vita quotidiana e' quello di decomporre il problema in sotto-problemi (metodo di "problem reduction") ogni volta che la sua soluzione puo' essere espressa come funzione lineare delle loro soluzioni. Una categoria di metodi deboli ha a che vedere con il paradigma del "generate and test": invece che cercare la soluzione perfetta, tentare una soluzione plausibile, verificare se funziona, e, se non funziona, trasformarla in un'altra, e cosi' via finche' non se ne costruisca una che funziona. Il risultato della verifica puo' a sua volta influenzare il tentativo successivo, e allora il metodo viene detto "hill climbing". La Risoluzione La deduzione e' l'"inferenza logicamente corretta". La deduzione e' l'unico tipo di inferenza in grado di garantire che, se le premesse sono vere, la conclusione e' anche vera. Esistono numerosi altri tipi di inferenza. Per esempio, non essendo mai stato informato dai miei genitori di avere una sorella, io ne inferisco di non avere sorelle; la diagnosi di un medico non e' mai certa, ma semplicemente coerente con i sintomi del paziente; se ogni volta che si e' presentata una certa situazione, si e' verificato un certo evento, ne possiamo inferire che a fronte di quella situazione si verifichera' sempre quell'evento. Sono tutti casi in cui in realta' non esiste una prova che dimostri in maniera inconfutabile le conclusioni, anche se esistono forti indizi che inducono comunemente a credere nelle conclusioni di queste inferenze. Al contrario concludere da "tutti gli uomini sono mortali" e "Socrate e' un uomo" che "Socrate e' mortale" e' un tipo di inferenza "logicamente corretta", ovvero una deduzione, e non sussitono margini di dubbio su tale conclusione. Lo strumento linguistico inventato da Frege per eseguire inferenze logicamente corrette e' il calcolo dei predicati, in particolare quello del primo ordine, con il quale e' possibile esprimere gran parte delle affermazioni utili. L'intera logica si basa sull'idea che, noti alcuni fatti, si vuole dimostrare se un certo altro fatto e' vero. Nella logica dei predicati il fatto da dimostrare viene detto "teorema" e i fatti noti vengono detti "assiomi", e tutti vengono espressi come "formule". Le regole di inferenza specificano quali siano le condizioni sotto le quali un insieme di fatti convalida un altro fatto. Applicando le regole di inferenza in maniera ricorsiva si perviene a dimostrare se gli assiomi convalidano il teorema o no. Sia i fatti sia le regole dei sistemi di produzione sono traducibili in formule della logica dei predicati. Il fatto che "non ho sorelle" si traduce nel fatto "NOT sorella(Piero)". La regola "IF X e' sorella di Piero THEN X e' figlia di Rosa" si 147 traduce nel fatto "NOT sorella(X, Piero) OR figlia(X, Rosa)". E cosi' via. Le regole di inferenza sono le stesse della logica dei predicati. Per semplificare il lavoro alla macchina che dovra' applicare le regole di inferenza a un sistema di produzione e' indispensabile ridurre al minimo i connettivi. Per costruire formule basterebbero soltanto due connettivi: AND e NOT oppure OR e NOT. Con opportune combinazioni di "e" e "non" si puo' infatti esprimere qualsiasi "o" (e, simmetricamente, con opportune combinazioni di "o" e "non" si puo' esprimere qualsiasi "e"). Per esempio, la frase "Milano non e' una capitale e Pisa non e' una capitale" si puo' riscrivere come "non e' vero che o Milano o Pisa sono capitali", eliminando la congiunzione "e". Analogamente e' possibile ridurre il numero di quantificatori: dire che "esiste una donna che e' sorella di Piero" equivale a dire "non tutte le donne sono non sorelle di Piero". Per quantificazioni piu' complesse bisogna ricorrere al metodo inventato dal matematico Thoraf Skolem, oggi noto come "skolemizzazione", che consente di eliminare i quantificatori indesiderati sostituendoli con funzioni. E' pertanto possibile limitarsi ai quantificatori "esistenziali", eliminando del tutto quelli "universali" (per-ogni). Trovare una soluzione nello spazio di problema si riduce cosi' a dimostrare un teorema usando un formalismo che e' un sotto-insieme di quello possibile. La dimostrazione per assurdo e' particolarmente semplice da meccanizzare grazie a un processo, detto di "risoluzione", inventato da Alan Robinson nel 1963, che costituisce in un certo senso il culmine delle ricerche sui dimostratori automatici (sui computer in grado di dimostrare teoremi) iniziate con il Logic Theorist di Newell e Simon. La dimostrazione per assurdo parte dal presupposto che, per dimostrare che io non ho sorelle, basta cercare di dimostrare che io ho sorelle: se cio' porta ad una contraddizione, allora il teorema e' vero. Il metodo per assurdo si rivela molto piu' semplice per una macchina. L'algoritmo di risoluzione impone innanzitutto che ogni formula sia espressa in "forma congiuntiva", ovvero come una serie di AND di termini (i quali possono essere predicati, oppure espressioni fra parentesi di predicati). Inoltre non devono comparire quantificatori esistenziali, ma solo quelli universali. Una volta tradotta la formula in forma congiuntiva, i singoli termini della congiunzione costituiscono le "clausole" che devono essere vere affinche' sia vera la formula nel suo insieme. In altre parole, la complessa situazione originale e' ora spiegata in termini di sottosituazioni che devono essere tutte vere simultaneamente. Ogni clausola e' una disgiunzione di termini non quantificati, ovvero ogni sottosituazione e' una alternativa fra diverse possibili sotto-sotto-situazioni. Il programma di questa sera e': "ceno e mi diverto", dove "ceno" e' una scelta fra i miei ristoranti preferiti e "mi diverto" puo' essere "cinema", "teatro", "musica". Il metodo di risoluzione consiste nell'esprimere in un'unica espressione congiuntiva sia gli assiomi sia la negazione del teorema (e qui fa ricorso al ragionamento per 148 assurdo). Se il teorema e' vero, questa espressione si potra' semplificare fino ad ottenere una contraddizione. Se l'obiettivo fosse di dimostrare che da "ceno e mi diverto" si deduce che "mi diverto", l'espressione congiuntiva sarebbe "ceno e mi diverto e non mi diverto", nella quale e' evidente la contraddizione. Il metodo della risoluzione va poi integrato con quello dell'"unificazione" per tener conto delle variabili. Un predicato puo' infatti essere vero quando le sue variabili assumono certi valori, ma essere falso per altri valori: sorella(Gisella, Emilia) e' vero ma sorella(Gisella, Piero) e' falso. La dimostrazione del teorema puo' procedere soltanto se si riduce il campo di possibili valori delle variabili ai valori che rendono veri tutte le clausole. Dati due predicati che hanno in comune una variabile, bisogna limitare i possibili valori di quella variabile all'intersezione fra i valori che rendono vero il primo e i valori che rendono vero il secondo, cioe' a quelli che rendono vero tanto il primo quanto il secondo. Da quel momento in poi si devono prendere in considerazione soltanto quei valori anche per tutti gli altri predicati. Di questo passo il dominio della dimostrazione tende a restringersi, e generalmente alla fine il teorema risulta vero soltanto per alcuni valori ben precisi delle variabili in gioco. Per esempio, chiedere quali donne siano sorelle di Emilia equivale a dimostrare il teorema che "Le donne sono sorelle di Emilia". Il teorema risultera' vero soltanto per alcuni valori: quelli che sono donne e che sono al tempo stesso sorelle di Emilia. Arthur Nevins ha riformulato l'unificazione come una variazione del modus ponens: noto che "se p allora q" .br e noto che "p'" .br allora "q'", dove "p'" unifica con "p", e la stessa sostituzione viene applicata a "q" per ottenere "q'". Oppure equivalentemente noto che "se p(x) allora q(x)" .br e noto che "p(a)" .br allora "q(a)". Per quanto psicologicamente poco plausibile (la mente umana non compie certamente tutti questi passaggi algebrici per prendere una decisione), questa tecnica e' oggi la piu' utilizzata dai programmi di Intelligenza Artificiale. Il maggior problema che i matematici non sono ancora riusciti a risolvere e' quello della "non decidibilita'". Il metodo di risoluzione giunge certamente alla conclusione se il teorema e' vero e dimostrabile, oppure se e' falso. Ma il teorema, pur essendo 149 vero, potrebbe non essere dimostrabile (per esempio perche' manca qualche elemento) e il processo di risoluzione in questo caso continuerebbe all' infinito. Quel che e' peggio, nessuno, osservando l' algoritmo al lavoro, e' in grado di capire se la soluzione verra' trovata nel giro di 5 passaggi, nel giro di 5.000 passaggi, o mai. Ovviamente questi problemi, che non si presentano alla mente umana, sono legati alla mancanza di informazioni euristiche. La mente umana non si limita a calcolare espressioni logiche, pianifica anche di volta in volta la mossa successiva nel modo piu' sensato. Il Sistema di Pianificazione La ricerca all'interno di uno spazio di problemi puo' essere anche vista sotto un'altra luce, come pianificazione di mosse per raggiungere lo stato obiettivo. In tal senso risolvere un problema consiste nel trasformare lo stato del mondo in un nuovo stato mediante l'applicazione di una sequenza di operatori. Il primo sistema di pianificazione fu proprio il GPS di Newell. Dato uno stato del mondo e uno stato obiettivo, GPS calcola la "differenza" fra questi due stati e applica allo stato attuale un operatore che sia in grado di operare su tale differenza; GPS ripete ricorsivamente questa procedura sul nuovo stato del mondo e sugli stati via via cosi' prodotti finche' la differenza fra uno di tali stati e lo stato obiettivo si annulla. La strategia di GPS e' pertanto depth-first secondo un metodo di "means-end analysis". La pianificazione di GPS viene detta "lineare" in quanto il piano risultante e' un insieme totalmente ordinato di operatori. Il concetto di pianificare e' particolarmente importante nel progettare robot, macchine non solo intelligenti ma anche mobili. Un robot deve essere in grado di coordinare i propri movimenti in maniera tale da compiere il movimento desiderato. Afferrare un oggetto, per esempio, implica spostare il braccio meccanico dalla posizione attuale a quella che chiude nelle dita l'oggetto: questo evento puo' essere rappresentato come un problema da risolvere in uno spazio di problemi i cui stati sono le varie posizioni del braccio. Per un robot la risoluzione di un problema consiste nella definizione del piano di azioni da compiere. La differenza fra un sistema di produzione e un sistema di pianificazione consiste nella diversa prospettiva da cui viene inquadrato il problema. Il sistema di produzione (production system) rappresenta esplicitamente gli operatori che fanno compiere transizioni di stato, e cioe' le regole di produzione. Un sistema di pianificazione (planning system) rappresenta esplicitamente gli stati del problema. Invece di frasi del tipo IF espressione THEN espressione il sistema di pianificazione contiene frasi del tipo HOLDS (situazione, stato), 150 che descrivono uno stato (quello stato e' vero in quella situazione), oppure del tipo OCCURS (situazione, stato1, stato2) che descrivono una transizione di stato (in quella situazione avviene una transizione dallo stato "stato1" allo stato "stato2"). Il compito di un sistema di pianificazione e' quello di ridurre la propria azione a una sequenza di azioni primitive, basandosi sulla sua conoscenza delle varie azioni possibili e dei loro effetti. In un certo senso il suo compito e' quello di costruire un algoritmo, mettendo insieme un certo numero di queste azioni. STRIPS, sviluppato nel 1971 da Nils Nilsson, anch'esso improntato ad una strategia di "means-end analysis", fu il sistema in cui vennero formalizzati i fondamenti della pianificazione: il piano come insieme ordinato di operatori; l'operatore come la rappresentazione di un'azione sotto forma di regole di inferenza; l'azione come una regola che definisce in che modo il modello del mondo venga cambiato dalla sua esecuzione; lo stato come modello del mondo rappresentato da formule della logica dei predicati del primo ordine; la soluzione del problema come un particolare stato. I concetti fondamentali della pianificazione sono pertanto l'"operatore" (cioe' l'azione) e lo "stato" (cioe' il mondo). Un operatore fa passare da uno stato ad un altro ed e' definito da: un insieme di pre-condizioni o "condition list" (condizioni sotto le quali e' in grado di operare) e un insieme di effetti. Gli effetti sono a loro volta suddivisi in fatti che vengono aggiunti allo stato del mondo (la "add list") e fatti che vengono rimossi dallo stato del mondo (la "delete list"). Se con "W" si indica lo stato del mondo in un certo istante, e con "W'" il suo stato in seguito all'applicazione dell'operatore "i", la "regola di transizione" si puo' scrivere come IF Ci THEN W' = Ai + (W - Di) dove "Ci" e' la condition list, "Ai" la add list e "Di" la delete list: lo stato del mondo "W'" puo' essere ottenuto, quando siano vere tutte le condizioni espresse da "Ci", togliendo da "W" i fatti espressi da "Di" e aggiungendogli i fatti espressi da "Ai". Queste operazioni sono possibili perche' STRIPS rappresenta tutto sotto forma di formule della logica dei predicati. La strategia di means-end analysis, per esempio, si puo' realizzare cosi': data la differenza fra lo stato attuale "W" e lo stato obiettivo "G", gli "operatori piu' rilevanti" sono quelli che prevedono nella loro "Ai" la negazione di uno dei predicati della differenza "G-W" o nella loro "Di" l'asserzione di uno di tali predicati, in modo che i due si elidano e la differenza si riduca. L'applicazione dell'operatore piu' rilevante produrra' uno stato "W'" che sara' piu' simile a "G" di quanto lo fosse "W". 151 Ogni volta che viene prodotto un nuovo stato "W'", STRIPS tenta di dimostrare che lo stato obiettivo "G" consegue da "W'", ovvero che, assunte le formule di "W'" ad assiomi, le formule di "G" costituiscono un teorema dimostrabile sulla base di tali assiomi. Se ci riesce, vuol dire che ha risolto il problema. L'obiettivo della pianificazione e' quello di trovare una sequenza di operatori che trasformi il mondo dallo stato attuale allo stato obiettivo nel minor numero possibile di transizioni. Lo stesso risultato si puo' ottenere utilizzando il metodo di Cordell Green (1969) per la sintesi automatica di programmi: la dimostrazione del problema si rivela essere composta da una successione di operatori e tale successione costituisce appunto il piano cercato. Un modo alternativo di costruire il piano e' quello "gerarchico" introdotto nel 1973 da Earl Sacerdoti. Un problema viene rappresentato tramite una gerarchia di spazi di astrazione a un livello di dettaglio via via maggiore. La descrizione del problema e' pertanto molto semplificata ai livelli superiori. In tal modo il piano "generale" puo' essere costruito relativamente in fretta. Successivamente si passa ai livelli inferiori per espandere tale piano in modo che tenga conto anche dei dettagli. Il suo programma NOAH comincia a ragionare su uno "spazio di astrazioni" che e' una grossolana approssimazione del problema da risolvere, nella quale tutti i dettagli minori vengono ignorati; trovato il piano che porta alla soluzione in quello spazio, NOAH passa ad esaminare i dettagli del secondo livello di astrazione, spiegando in tal modo il piano in termini di azioni piu' primitive. Per esempio, un passatempo molto comune dell'infanzia e' quello di ritagliare un foglio di carta in modo che alla fine si vedano otto figure umane disposte simmetricamente. Cio' viene ottenuto piegando il foglio quattro volte su se stesso e ritagliando una volta sola la figura con le forbici. Aprendo poi il foglio, si vedono le otto figure. Questo e' un tipico caso di pianificazione gerarchica: al livello di astrazione piu' elevato si e' deciso che per produrre otto volte la stessa figura basta piegare il foglio in otto parti, mentre a un livello di pianificazione piu' basso si sono compiuti i movimenti di taglio che danno origine alla figura umana. Nulla proibisce di ritagliare otto volte la figura, ma e' intuitivo che cio' richiederebbe piu' tempo. Il modo in cui NOAH costruisce il piano e' "non lineare". Il suo spazio di problema non contiene stati, ma piani parzialmente ordinati; e i suoi operatori non sono azioni sugli stati, ma trasformazioni sui piani. Una trasformazione, per esempio, puo' far si' che un piano venga trasformato in un piano maggiormente dettagliato; un'altra trasformazione puo' fissare una volta per tutte l'ordine delle azioni. La trasformazione piu' appropriata per un certo piano parziale viene identificata sulla base del principio di "least commitment": "non fare oggi cio' che puoi fare domani", cioe' prendi una decisione soltanto quando non puoi farne a meno. Questa strategia e' spesso conveniente perche' in un certo istante puo' essere disponibile meno informazione di 152 quanta ve ne sara' piu' avanti. Al tempo stesso e' necessaria se si vuole poter procedere in maniera gerarchica, ovvero ridurre il problema a un certo numero di sotto-problemi, ciascuno piu' o meno interagente con gli altri: la strategia di least commitment dice che essi devono essere fatti interagire il piu' tardi possibile. E' per questa ragione che i piani dello spazio di ricerca sono "parzialmente ordinati", ovvero rappresentano di fatto piu' piani possibili. Il piano e' completo quando risulta composto unicamente di azioni primitive ed esse sono totalmente ordinate. Per Sacerdoti la costruzione del piano consiste pertanto in una sequenza di trasformazioni di piani parziali. Il Ragionamento Opportunistico La pianificazione dinamica e' invece quella in cui il piano non puo' essere progettato nella sua totalita', ma deve essere "improvvisato" di continuo sulla base delle informazioni che si rendono man mano disponibili. Per esempio, ogni simulazione realistica del movimento di un robot deve tener conto del fatto che esistono gli imprevisiti, e consentire pertanto di rivedere il piano di quel movimento sulla base di cio' che capita durante il movimento stesso. Un caso particolarmente importante di pianificazione dinamica e' quello in cui le informazioni che si rendono disponibili dinamicamente a un sistema di pianificazione (ovvero a un agente pianificatore) sono quelle prodotte da un altro sistema di pianificazione (ovvero da un altro agente). Appartengono a questa classe di sistemi di pianificazione i sistemi di intelligenza distribuita, dove numerosi agenti indipendenti cooperano per giungere alla soluzione. Un sistema distribuito ragiona in modo simile a quello di un "consulto" di medici specialisti: a turno ciascuno specialista esamina sia la diagnosi parziale elaborata dagli altri specialisti sia il caso da curare, e raffina a sua volta la diagnosi parziale. Dal contributo di tutti gli specialisti si perviene alla diagnosi completa, ovvero alla soluzione del problema. Come sempre quando si tratta di collaborare, il problema principale e' quello della comunicazione: durante il loro lavoro i vari agenti "specialisti" devono essere in grado di scambiarsi informazioni. Esistono un modo sintattico e un modo semantico in cui due agenti pianificatori possono scambiarsi informazioni. Quello sintattico consiste semplicemente nello "scrivere" su una "lavagna" le conclusioni a cui si perviene man mano. Entrambi gli agenti possono leggere l'insieme delle conclusioni parziali finora raccolte e scrivere a loro volta nuove conclusioni. Il metodo e' sintattico poiche' la comunicazione avviene tramite un ente neutro come la lavagna. Il modo semantico consiste invece nel rappresentare internamente a ciascun agente l'altro agente. Ciascun agente ha in tal caso un modello delle convinzioni dell'altro agente. La pianificazione dell'altro agente diventa una variabile della propria pianificazione. Ogni agente comprende di fatto un sistema di "credenze" (belief system). La teoria di Kurt Konolidge (1980), per esempio, prescrive che un agente 153 "deduttivo" sia composto da: un linguaggio logico del primo ordine, un insieme di fatti circa gli altri agenti, un insieme di fatti circa i propri obiettivi, un sistema deduttivo in grado di ragionare sui fatti degli altri agenti e un sistema di pianificazione in grado di ragionare sui propri obiettivi. Il ragionamento di tipo sintattico da' luogo invece al ragionamento "opportunistico" rappresentato dal modello della "lavagna" (blackboard) che e' stato introdotto da Fredrick Hayes-Roth nel 1976 e raffinato da Barbara Hayes-Roth. La blackboard e' la struttura di memoria mediante la quale molteplici agenti pianificatori reperiscono le informazioni di cui hanno bisogno e rendono disponibili quelle che producono. Ogni agente (o "sorgente di conoscenza") opera in un dominio ben preciso con una sua particolare tecnica di inferenza. La blackboard e' pertanto un modello di pianificazione "dinamica" (in quanto ogni agente ri-pianifica di volta in volta le proprie mosse a seconda di cosa legge sulla blackboard), "incrementale" (il piano si viene formando poco alla volta) e "opportunistico" (gli agenti sfruttano di volta in volta le opportunita' che si presentano). Un sistema a blackboard opera confrontando di continuo due agende di "azioni" (intendendo per "azione" un qualche tipo di ragionamento che uno degli agenti puo' compiere): le azioni che il sistema desidera compiere (le azioni "necessarie") e le azioni che il sistema e' in grado di compiere (le azioni "possibili"). La prima agenda viene riempita da tutti gli agenti che hanno pianificato di compiere certe azioni ma non le possono compiere finche' non si verificano le condizioni appropriate; la seconda viene riempita da tutti gli agenti che hanno raggiunto delle conclusioni parziali e in tal modo hanno realizzato le condizioni in cui altre azioni possono verificarsi. La tecnica di inferenza impiegata per supervisionare il consulto degli specialisti e' pertanto una forma di "action matching": dal confronto delle due agende si determina quali azioni sono al tempo stesso necessarie e possibili, e quindi gli agenti relativi le eseguono. Il risultato dell'action matching e' pertanto la selezione e l'esecuzione di un'azione. Tipicamente l'azione (ovvero il ragionamento) da' origine ad altre azioni dello stesso agente finche' l'informazione disponibile sulla lavagna non e' piu' sufficiente per eseguire l'azione corrente. L'agente e' pero' a sua volta pervenuto a nuove conclusioni, le quali vengono di nuovo interpretate come condizioni per abilitare nuove azioni nell'agenda delle azioni possibili. Al tempo stesso l'agente puo' registrare nell'agenda delle azioni necessarie l'azione che non ha potuto compiere per mancanza di ulteriore informazione, specificando tale informazione come condizione per riprendere tale azione. Il ragionamento opportunistico della blackboard consente al sistema di adattarsi dinamicamente ad una situazione in continua evoluzione e di focalizzarsi sulla soluzione poco alla volta. Dal punto di vista computazionale il vantaggio del ragionamento opportunistico e' che prende in considerazione soltanto le azioni che sono possibili e necessarie, ovvero le uniche che sono rilevanti ai fini della risoluzione del problema. Inoltre il 154 ragionamento e' "multi-direzionale", contemporaneamente. ovvero puo' esplorare piu' strade Hayes-Roth introdusse il modello della blackboard per risolvere il problema della comprensione del parlato, un problema per il quale e' necessario esaminare al tempo stesso almeno suono, fonetica, sintassi e semantica. Il Ragionamento Distribuito La struttura di un sistema esperto dipende sia dal tipo di inferenza sia dal tipo di rappresentazione della conoscenza che utilizza per operare nel proprio dominio. I sistemi esperti vengono in pratica utilizzati per risolvere uno spettro di problemi di natura assai diversa fra di loro. Alcuni problemi sono problemi di classificazione (diagnosticare una malattia significa classificare i sintomi del paziente nella categoria medica piu' appropriata), altri sono problemi di configurazione (la soluzione non deve essere trovata fra quelle possibili, ma deve essere costruita pezzo per pezzo) e cosi' via. Esistono diversi tipi di risoluzione di problemi, diversi tipi di "problem-solving". Secondo B. Chandrasekaran (1983) e' possibile costruire una tassonomia di tipi di problem-solving, ciascuno dei quali e' fondamentalmente diverso dagli altri e puo' essere pertanto trattato adeguatamente soltanto con un modello specifico di ragionamento. Innanzitutto ad ogni problema generico si puo' associare un insieme di metodi per risolverlo. Ciascun metodo e' definito da una conoscenza, da un'inferenza e dall'insieme di obiettivi che deve conseguire. L'insieme di problema e metodi costituisce un "compito generico" (generic task). Ogni tipo di problem-solving deve essere trattato con il corrispondente generic task. Alcuni "task generici" sono particolarmente diffusi fra i sistemi esperti: il task "WWHI" (What will happen if ... ?), cioe' la simulazione degli effetti sul sistema di una certa azione; il task di classificazione, tipico tanto della diagnosi medica quanto dei riconoscimenti di immagine; il task di sintesi della pianificazione; e cosi' via. Ciascuno di questi task rappresenta un tipo peculiare di problem-solving e necessita di una specifica conoscenza e di una specifica inferenza. Una volta rappresentato il problema come un albero di sotto-problemi, tale albero puo' essere associato a un analogo albero delle "intelligenze" specialistiche piu' appropriate per risolvere quei tipi di sotto-problemi. Un problema complesso puo' cioe' essere rappresentato come un "albero" di task generici, ciascuno specialista nella soluzione di uno dei sotto-problemi che compongono il problema completo. La conoscenza globale del dominio viene cosi' distribuita tra i task generici che la utilizzano, e viene in tal modo soppressa la differenza fra la conoscenza e l'"intelligenza" che ne fa uso: le due entita' si compenetrano e formano l'unita' fondamentale di problem-solving. Il processo di risolvere un problema si traduce pertanto in un'analisi epistemica del problema stesso per identificarne le componenti di problem-solving e poi i corrispondendi task generici. La soluzione si otterra' poi dalla collaborazione dei tanti task generici attivati per risolvere tutti i sotto-problemi dell'albero. 155 E' un modello che ricorda tanto la "societa' delle menti" di Minsky quanto il modello connessionista (e in particolare i meccanismi di auto-selezione del gruppo neuronale piu' appropriato). Rispetto al modello cognitivo di Newell il livello dei task generici e' un livello intermedio fra quello dei simboli e quello della conoscenza. O, meglio, il livello della conoscenza non e' il livello dell'intelligenza, ma soltanto quello a cui vengono assemblate le strutture cognitive. Il Ragionamento del Senso Comune In linea con la tradizione che discende da Russell, e in contrasto con la filosofia del linguaggio ordinario di Wittgenstein e Austin, l'approccio logicistico all'Intelligenza Artificiale, proposto da McCarthy nel 1960, tenta di ridurre per quanto possibile tutta l'inferenza alla deduzione, se necessario anche estendendo il repertorio di metodi della deduzione. Pat Hayes ha definito la posizione logicista nel suo "Naive Physics Manifesto" (1978): formalizzare il buon senso usando la logica dei predicati del primo ordine. Cio' costituisce apparentemente un paradosso storico. La scienza moderna e' nata essenzialmente da una critica dei metodi di ragionamento informali, quelli che vengono impiegati quotidianamente per prendere decisioni ma che al tempo stesso sono inaffidabili e spesso basati su una visione del mondo errata. La scienza del senso comune di Aristotele, nella quale la Terra era al centro dell'universo e gli oggetti si fermavano quando nessuna forza li spingeva, era in perfetto accordo con le esperienze sensoriali di tutti i giorni. L'ambizione di rifondare la scienza su basi "esatte", ovvero di scoprire la reale struttura dell'universo e di derivarne leggi affidabili, ha dato origine al programma della scienza moderna, impersonato da Galileo Galilei e dalla sua idea di utilizzare un modello matematico per descrivere le leggi della natura. Da allora ad oggi la scienza non ha fatto altro che correggere il punto di vista naif del senso comune: e' la Terra a girare attorno al Sole, e non viceversa come pensava Aristotele, e un oggetto continuerebbe a muoversi all'infinito se non ci fosse l'attrito. All'inizio del secolo ventesimo la Teoria Generale della Relativita' di Einstein (con l'ipotesi che l'universo sia costituito da uno spazio-tempo curvato dalla materia) e la Meccanica Quantistica (con l'ipotesi che leggi probabilistiche presiedano ai fenomeni dei costituenti elementari della materia), nonche' la legge di Hubble (che l'universo si stia espandendo) e il modello "inflazionario" di Alan Guth (che l'universo abbia avuto origine da una dilatazione dello spazio-tempo), hanno portato questa prassi alle estreme conseguenze, proponendo una visione del mondo che ha ben poco in comune con quella dell'uomo della strada. D'altronde la tecnologia moderna, e cosi' la societa' da essa indotta, e' il risultato diretto di questo programma di scienza obiettiva. La scienza e' diventata un archivio di conoscenze esatte, dimostrabili e riproducibili. Fino all'avvento dei sistemi esperti l'ingegneria aveva trascurato il comportamento umano: per costruire chiese, ponti, automobili e lavatrici non era necessario poter disporre di formule che spiegassero il comportamento umano, ma formule che 156 spiegassero i fenomeni meccanici, chimici, elettrici. Il sistema esperto, dando vita all'ingegneria della conoscenza, ha reso d'attualita' anche il programma logistico di formalizzare il comportamento umano, ovvero di rendere esatto il senso comune. Tanto le regole di produzione di Newell e Simon quanto i frame di Minsky si situano proprio in quest'ottica: tentare di formalizzare il modo in cui gli umani compiono i loro ragionamenti "naturali" piuttosto che inventare nuove teorie di come il ragionamento "logico" potrebbe essere automatizzato. Un sistema esperto e' composto da conoscenza del problema e da capacita' logica. Se il problema e' "il mondo degli umani", la conoscenza deve essere quella del buon senso; ma qual'e' la logica? Il mondo degli umani appare controllato da leggi irrazionali, come la legge di Murphy: la probabilita' che una tartina cada sul tappeto nuovo dalla parte della crema e' direttamente proporzionale al valore del tappeto... Una teoria inferenziale del senso comune deve soddisfare tre requisiti fondamentali che McCarthy ha espresso cosi': (1) adeguatezza ontologica, ovvero consentire di descrivere i fatti rilevanti; (2) adeguatezza epistemologica, ovvero consentire di esprimere la conoscenza rilevante; (3) adeguatezza euristica, ovvero consentire di compiere le inferenze rilevanti. Il nucleo delle ricerche di McCarthy sul ragionamento del senso comune e' costituito dall'analisi delle "situazioni". Il calcolo delle situazioni (1958) assume come concetti elementari quelli di stato, la cui proprieta' e' la permanenza, e quello di azione, la cui proprieta' e' il cambiamento. Il mondo viene pertanto visto come una successione parzialmente ordinata di stati e azioni. Uno stato e' vero in certe situazioni e falso in altre, un'azione puo' essere compiuta in certe situazioni e non in altre. Per esempio, lo stato Presidente (USA, Bush) e' vero nella situazione del 1990, ma non lo era in quella del 1980. Uno stato e' rappresentato da un insieme di relazioni del tipo On (S, A, B) dette "fluenti", che mettono in relazione alcuni oggetti (per esempio A e B) in quello stato (S), mentre un'azione e' rappresentata da una funzione che ad ogni stato fa corrispondere un altro stato. Per esempio: Move (S1) --> S2 dove S1 e' definito da un certo numero di relazioni e S2 da un certo altro numero di relazioni. Il calcolo delle situazioni fa uso delle stesse tecniche dei sistemi di pianificazione. Questi si prestano pero' a tre diverse critiche, corrispondenti alle tre "liste" associate ad ogni operatore. 157 La prima e' riassunta dal "frame problem" illustrato da McCarthy nel 1969: se e' possibile specificare tutti i fatti che cambiano per effetto diretto di un operatore, non e'invece possibile specificare tutti i fatti che "non" cambiano per effetto di quell'operatore. I secondi sono generalmente molti di piu' dei primi. Se il sistema di pianificazione e' "chiuso", ovvero ammette un numero noto e finito di oggetti ed azioni, il frame problem e' risolubile. Se il sistema e' "aperto", come lo e' il mondo reale, il frame problem non e' risolubile. E' impossibile specificare a un robot tutti i fatti che rimangono invariati nell'universo, o anche soltanto nell'officina in cui deve operare, dopo un suo movimento. D'altro canto e' probabile che prima o poi il robot avra' bisogno di sapere cosa ne e' stato di un certo oggetto: e' ancora com'era l'ultima volta che e' stato parte di un'azione o e' in qualche modo stato interessato dai cambiamenti del mondo intervenuti in seguito alle azioni successive? Il secondo, complementare, problema e' quello detto di "ramification": e' impossibile registrare tutti i fatti che cambiano per effetto di un'azione. Per esempio, se un televisore viene spostato, vengono spostati anche il suo schermo, il tubo catodico, la spina, l'antenna e cosi' via all'infinito. Infine il "qualification problem" e' quello reso dal paradosso "della patata" di McCarthy: la condizione affinche' un'auto parta e' che si giri la chiavetta di avviamento, ammesso che ci sia benzina, il carburatore funzioni, etc etc, e non ci sia una patata nella marmitta. In altre parole e' altrettanto impossibile specificare tutte le pre-condizioni di un'azione. Per risolvere questi paradossi nel 1977 McCarthy introdusse il meccanismo della "circoscrizione" (circumscription), una sorta di rasoio di Occam che consiste nell'interpretare il problema come una teoria, e nell'aggiungere a tale teoria un assioma del secondo ordine che e' funzione della teoria stessa. Il problema e' quello di stabilire quali degli infiniti oggetti dell'universo godano di una data proprieta' P. In parole povere la circoscrizione prescrive quanto segue: gli unici a godere di quella proprieta' sono gli oggetti che, in base ai fatti noti, si puo' dimostrare che godono di essa. E' una sorta di rasoio di Occam poiche' richiede anche che l'insieme sia il piu' piccolo possibile: l'assioma del secondo ordine che viene aggiunto esprime il fatto che le formule desiderate abbiano l'estensione piu' piccola che sia ancora coerente con gli altri assiomi (ovvero con tutti i fatti noti e i fatti da essi implicati). Nel 1984 Vladimir Lifschitz ha dimostrato che in molti casi l'assioma del secondo ordine puo' essere ricondotto a una formula del primo ordine, rendendo computazionalmente accettabile l'intuizione di McCarthy (imporre un assioma del secondo ordine equivaleva a imporre un insieme infinito di assiomi). Camilla Schmidt nel 1978 e Matthew Ginsberg nel 1986 hanno proposto altre soluzioni al "frame problem" che sono di fatto equivalenti ma formalmente sono basate l'una sulla logica modale e l'altra sulla logica dei mondi possibili: il mondo e' descritto da un modello che viene aggiornato dopo l'esecuzione di ogni azione per 158 costruire il mondo possibile piu' simile nel quale valgano le conseguenze dell'azione. Una volta determinato tale mondo, si e' anche indirettamente determinato tutto cio' che e' cambiato e tutto cio' che non e' cambiato. La Logica del Tempo Tutti i sistemi di rappresentazione della conoscenza e i sistemi di inferenza riducono il tempo a una successione discreta di momenti e, per quanto possibile, tendono a considerare il mondo "statico", ovvero a sopprimere del tutto la variabile temporale. Il concetto di tempo contiene infatti a sua volta due concetti che sono tradizionalmente difficili da manipolare con gli strumenti della logica: quello di continuita' e quello di cambiamento. La continuita' puo' essere resa in due modi. Nel primo essa viene considerata come una successione di punti discreti: una scena in movimento viene approssimata con una successione di scene statiche (e' il principio dei fotogrammi della pellicola). Nel secondo modo essa viene "riassunta" con un'equazione differenziale, la quale in se' non assomiglia per nulla al sistema che rappresenta, ma consente di calcolare lo stato del sistema in un istante specifico. Il cambiamento ha effetti devastanti su ogni sistema formale. I sistemi formali della logica sono stati concepiti per un mondo statico, un mondo di affermazioni assolute dalle quali possono essere derivate altre affermazioni assolute. E' stato concepito per derivare che, se Socrate e' un uomo, allora Socrate e' mortale (lo stato del mondo e' sempre lo stesso), ma non che, quando Socrate ha sete e ha un bicchiere pieno d'acqua, allora Socrate si disseta e il bicchiere rimane vuoto (lo stato del mondo viene alterato ed esiste una relazione causale fra i due stati del mondo). Il primo tentativo di formalizzare il ragionamento temporale fu quello di Arthur Prior (1957), che utilizzava quattro operatori modali, due per il passato ("p e' vera in qualche punto del passato" e "p e' vera in tutti i punti del passato") e due per il futuro ("p e' vera in qualche punto del futuro" e "p e' vera in tutti i punti del futuro"). La semantica della sua logica temporale e' la stessa semantica dei mondi possibili utilizzata da Hintikka. Ogni teoria di rappresentazione del tempo deve rappresentare tre tipi di relazioni: l'ordine degli intervalli temporali, la struttura del mondo durante un intervallo di tempo, e le leggi causali che modificano il mondo fra un intervallo e il successivo. Le teorie temporali si differenziano nell'ontologia adottata per esprimere tali relazioni. Il calcolo delle situazioni di McCarthy utilizza il metodo sintattico: ogni istante viene associato ad una situazione, ovvero a uno stato del mondo composto di un insieme di stati elementari che sono veri in quella situazione. Uno stato e' una proposizione che e' vera in un certo intervallo di tempo. Una situazione rappresenta un intervallo di tempo durante il quale nessuno stato cambia il proprio valore di verita' (vero o falso che sia). Un evento e' una transizione di stato. Un periodo di tempo e' allora rappresentato da una successione di situazioni, ovvero da una successione di eventi, 159 in accordo con l'affermazione di Leibniz che "spazio e tempo non sono cose, ma ordini di cose". Implicito nel calcolo delle situazioni e' pero' il fatto che in un certo istante non puo' succedere piu' di un evento: non e' consentito che due eventi si verifichino contemporaneamente. La "naive physics" (1979) di Pat Hayes costitui' una svolta rivoluzionaria nel programma di ragionare sul tempo. Invece degli stati discreti di McCarthy, Hayes propose di rappresentare la continuita' del tempo (e dello spazio) tramite il concetto di "storia" spazio-temporale, ovvero di fatto che dura nel tempo e occupa un certo spazio. Ogni oggetto o evento puo' essere rappresentato da questa sua estensione nello spazio-tempo. Due oggetti possono interagire soltanto se le loro storie si intersecano. E' un concetto assai simile a quello di "cono di luce" introdotto da Einstein in Relativita', ed e' un concetto che consente di liberarsi in maniera elegante del "frame problem". E' possibile in tal modo specificare leggi causali sotto forma di possibili configurazioni di storie e di possibili regole per combinare le storie fra di loro. Per esempio, una storia riguardante un liquido che entra in un contenitore gia' pieno puo' esistere soltanto nella configurazione in cui un'altra storia riguarda un liquido che esce dallo stesso contenitore (principio di conservazione della materia). La teoria di Hayes e' pero' puramente estensiva, ovvero definisce una storia unicamente sulla base della sua estensione spazio-temporale, mentre e' necessaria una teoria intensiva per distinguere fra storie diverse che hanno la stessa estensione (per esempio, mentre nello stadio si svolge una partita di calcio nello stesso stadio piove). Drew McDermott ha sviluppato nel 1982 una logica temporale basata sulla continuita' del tempo e sull'indeterminatezza del futuro. Nella sua teoria le situazioni formano una serie continua, infinita e parzialmente ordinata. In altre parole il suo e' un modello di molti futuri possibili: ogni evento che puo' verificarsi nel futuro causa una ramificazione di situazioni (ogni possibile conseguenza dell'evento da' origine a una serie diversa). L'insieme delle situazioni costituisce cosi' un "albero delle cronache" ogni ramo del quale e' un continuum. Ogni cronaca e' una delle possibili storie complete dell'universo, ovvero un insieme ordinato ed infinito di stati, a differenza della "storia" di Hayes che rappresentava soltanto il futuro di uno specifico oggetto. McDermott si avvicina a Prior perche' ogni cronaca puo' anche essere vista come un diverso "mondo possibile" nell'accezione di Kripke. La teoria cognitiva del tempo di James Allen (1983) e' una generalizzazione di questa idea e ha origine da considerazioni sul modo in cui l'uomo della strada tratta il tempo. Gran parte della nostra conoscenza temporale non e' in realta' collegata ad alcuna data precisa, ma piuttosto a un ordine temporale ("mi sono trasferito negli USA tre anni dopo la laurea"); ogni evento definito in un certo tempo puo' essere suddiviso in sotto-eventi definiti in sotto-tempi ("nel 1987 andai in vacanza in Peru'" e' ovviamente composto da molti sotto-eventi); normalmente non ha senso decomporre un evento nelle sue unita' elementari (per esempio ridurre l'evento "ho mangiato una 160 mela" in tutti i sotto-eventi che compongono l'atto di mangiare una mela); il tempo e' organizzato gerarchicamente. Il tempo dell'uomo della strada (diverso da quello della fisica e da quello dei filosofi) e' pertanto soggetto ai principi di relativita', decomponibilita', unita' e gerarchicita', i quali in ultima analisi ripudiano l'"istante" di tempo a favore dell'"intervallo" di tempo e l'ordinamento totale degli istanti a favore dell'ordinamento parziale degli intervalli. Allen descrive il mondo come un insieme di asserzioni che stabiliscono cio' che e' noto circa il passato, il presente e il futuro. Gli aspetti statici del mondo sono descritti da "proprieta'", simili agli stati di McCarthy, che valgono per periodi di tempo ("il mio nome e' Piero"). Gli aspetti dinamici, anch'essi definiti su intervalli di tempo, sono descritti da "avvenimenti", che possono essere "eventi" o "processi" a seconda che siano scomponibili ("sto mangiando") o meno ("sono andato a fare la spesa"), ovvero a seconda che si verifichino anche nei loro sotto-intervalli. ("sto mangiando" si verifica anche in ogni suo sotto-intervallo). Gli intervalli sono misurati rispetto ad intervalli di riferimento, possono essere messi in relazione fra di loro in tredici modi diversi (identita', ordine, contiguita', inclusione, sovrapposizione e cosi' via) e formano una gerarchia. In tal modo vengono superate la rigida successione e l'arbitraria discretizzazione degli stati implicite nel calcolo delle situazioni. Il Ragionamento Qualitativo Un tipo di ragionamento del senso comune che necessita della variabile "tempo" e' quello che ha come oggetto i sistemi fisici. Lo schema di questo ragionamento e': dato lo stato del sistema ad un istante iniziale, determinare il comportamento del sistema negli istanti successivi. L'uomo della strada intende per "comportamento del sistema" non una serie di numeri in uno spazio cartesiano, ma una descrizione qualitativa. Per esempio, fornire le coordinate x,y,z del moto della Terra attorno al Sole e' certamente una descrizione molto precisa del comportamento della Terra, ma meno utile, per gli scopi pratici dell'uomo della strada, di affermare semplicemente che "la Terra ruota attorno al Sole descrivendo un'ellisse". Dalla prima informazione, analitica, sarebbe difficile derivare qualsiasi inferenza utile sul giorno e la notte. Il ragionamento "qualitativo" ha come obiettivo quello di costruire modelli causali qualitativi dei sistemi fisici. Un modello qualitativo rappresenta la struttura di un sistema fisico e deriva da tale struttura una descrizione qualitativa del suo comportamento; deriva cioe' il comportamento del tutto dal comportamento delle sue parti e dalle relazioni fra tali parti secondo un approccio "composizionale". Tipicamente la struttura viene rappresentata come un insieme di dispositivi connessi fra di loro da leggi di causalita'. Lo stato di un dispositivo in un certo istante e' rappresentato dall'insieme dei valori che hanno in quell'istante le quantita' fisiche (massa, temperatura, tensione, pressione, etc.). Dalle relazioni fra le quantita' che vengono in tal modo stabilite e' possibile allora inferire come il sistema si evolvera'. Per esempio, se la caldaia e' accesa, la stanza si riscaldera'; dopo qualche tempo il termostato spegnera' la caldaia. La quantita' "temperatura" e' funzione della relazione 161 fra due dispositivi: la caldaia e il termostato. Di conseguenza il comportamento del sistema nel suo insieme e' funzione della sua struttura (caldaia piu' termostato). Esistono tre livelli a cui si puo' studiare un sistema fisico. Al primo livello esiste il sistema, del quale e' possibile osservare il comportamento pratico. Ad un livello di astrazione superiore il sistema e' descritto in maniera "quantitativa" da un insieme di equazioni differenziali, la cui soluzione analitica ne descrive il comportamento nel tempo all'interno dello spazio cartesiano: e' questo il livello della Fisica. Il pregio di questo livello e' di saper descrivere lo stato del sistema in ogni istante della sua storia, passata e futura (ovvero di saperne anche prevedere gli stati futuri). Il suo difetto e' di perdere informazione sul "perche'" il suo comportamento e' descritto da quella funzione. Ad un livello di astrazione ancora maggiore il sistema fisico e' descritto in maniera "qualitativa" (inter-dipendenze fra variabili, tipi di proporzionalita', etc) da un modello strutturale. In esso e' importante stabilire la "funzione" di una parte, piuttosto che il suo comportamento (il comportamento della lancetta dell' orologio e' di girare a velocita' costante, la sua funzione e' di indicare che ora e'). Come nella teoria di McDermott, il modello produce un albero dei possibili stati futuri del sistema. Un tale modello puo' rendere conto in maniera intuitiva della "causalita'": mentre il metodo analitico si limita a dedurre una equazione temporale composta di simboli matematici, il modello qualitativo esplicita le cause, gli effetti e il loro propagarsi "localmente". Gli anticipatori della "naive physics" furono Gary Hendrix, che nel 1973 estese STRIPS agli stati continui, e Pat Hayes, che nel 1979 scrisse il manifesto della disciplina. La naive physics e' cio' che consente all'uomo della strada di capire il comportamento di un sistema fisico (al livello piu' alto di astrazione) anche senza avere alcuna conoscenza delle formule fisiche che ne governano il movimento: e' ovvio a tutti che, se lo si lascia andare, un piatto cade a terra e si rompe, ma non e' ovvio a tutti quale sia l'equazione che descrive il banale fenomeno di "cadere" in assenza di sostegno. A partire dal sistema fisico il modello quantitativo della Fisica deriva le equazioni differenziali, da queste una soluzione analitica, da queste una interpretazione (non banale) e da questa una descrizione del comportamento. A partire dal sistema fisico il modello qualitativo della naive physics deriva le equazioni qualitative e da esse (direttamente e banalmente) la descrizione del comportamento. A partire dai fenomeni della natura i metodi formali della scienza galileana derivano un modello matematico. A partire dai fenomeni della natura i metodi cognitivi del buon senso derivano un modello intuitivo. Il ragionamento qualitativo si situa al confine fra fisica e psicologia. 162 Per esempio, utilizzando i concetti della simulazione qualitativa e' possibile definire il guasto di un macchinario in maniera molto piu' utile per inferire la riparazione piu' appropriata: un sistema e' malfunzionante se il suo comportamento ideale (derivato dalla sua struttura) non e' in accordo con quello osservato. "Ripararlo" significa allora determinare quale parte deve essere cambiata per ottenere il comportamento ideale. Dal punto di vista computazionale il ragionamento qualitativo descrive cambiamenti in uno spazio delle quantita'. In tale spazio le quantita' (energia, velocita', pressione, etc.) possono assumere soltanto valori discreti (generalmente corrispondenti a variazioni di stato o a valori critici) e, oltre che dall'ordinamento di tali valori, sono descritte da una direzione di cambiamento (crescente, stabile, decrescente). Descrivere una quantita' fisica con il suo valore critico e la sua direzione di cambiamento e' analogo a quanto si fa in fisica descrivendo la stessa quantita' con un valore e una derivata. La differenza sta nell'aver rimosso l'ingombrante concetto del continuo: in fisica tanto il valore quanto la derivata hanno valori continui, mentre nella naive physics essi possono assumere soltanto, rispettivamente, i valori "critici" e il "segno" (crescente, stabile o decrescente). Per compiere inferenze sulla rappresentazione del sistema tutte le teorie utilizzano una qualche forma di "propagazione dei vincoli": le quantita' possono essere viste come variabili fra le quali sono stati espressi dei vincoli di vario genere; cambiando il valore di una variabile i vincoli determinano meccanicamente che i valori di altre variabili devono variare secondo qualche legge di proporzionalita'. Il comportamento del sistema nel suo insieme e' determinato da una sequenza di stati qualitativi delle variabili. Anche nel caso del ragionamento qualitativo le diverse teorie differiscono soprattutto nell'ontologia, ovvero negli enti che vengono assunti come primitivi per costruire la descrizione strutturale del sistema: variabili di stato, componenti del sistema o processi. Le primitive della teoria di Benjamin Kuipers (1982) sono le variabili di stato, connesse fra di loro da vincoli. Per Kuipers la causalita' e' la propagazione di quei vincoli nella rete delle variabili di stato. Il ragionamento utilizza tre tipi di regole: le regole di propagazione, le regole di predizione e le regole di riconoscimento. Le prime propagano i fatti iniziali per derivare lo stato attuale del sistema. Le seconde predicono le caratteristiche del prossimo stato. Le terze riconoscono stati significativi (come l'equilibrio, il ciclo, etc.). Johan DeKleer (1984) adotta invece come primitivi i dispositivi (tubi, valvole, molle, transistor, etc.) connessi fra di loro da leggi di rete (come le leggi di Ohm), e deriva la funzione del sistema dalla sua struttura descritta sulla base di tali enti primitivi. La struttura viene descritta in modo anatomico e topologico. Il suo approccio e' rigidamente riduzionista: il mondo vi e' visto come una macchina complessa di 163 componenti interagenti. La sua struttura viene descritta sulla base di materiali (acqua, elettroni, aria: tutto cio' che e' passivo nel funzionamento del sistema), parti (molla, pistone, valvola: tutto cio' che e' attivo, ovvero che induce cambiamenti nei materiali) e condotti (fili, tubi, cavi: tutto cio' che trasporta materiale da una parte a un'altra). La struttura cosi' rappresentata da' luogo ad equazioni differenziali qualitative dette "confluenze". Le confluenze si possono risolvere mediante un processo analogo all'integrazione che genera combinatoriamente tutti i possibili stati qualitativi del sistema e li organizza poi casualmente in un "diagramma di stato" che e' sostanzialmente una rete di transizione. Nella teoria di DeKleer ricompare il problema della causalita', ben noto ai fisici: un sistema fisico si trova sempre in uno stato di equilibrio, ma, per rendere conto del cambiamento da uno stato di equilibrio a un altro, occorre ammettere che esistano stati intermedi di disequilibrio. La Fisica, che ammette soltanto stati di equilibrio, non riesce a spiegare la causalita'. Nella naive physics di DeKleer la causalita' viene invece spiegata perche' il tempo e' discretizzato e le confluenze (a differenza delle leggi fisiche) possono essere violate durante un frammento di tempo: la causalita' e' proprio la violazione delle confluenze. DeKleer ha soprattutto esposto alcuni principi fondamentali della naive physics: il principio teleologico, secondo il quale le parti di un sistema fisico hanno uno scopo; il principio "no-function-in-structure", secondo il quale le leggi che descrivono una parte non possono far riferimento al comportamento del tutto (per esempio, "un interruttore aperto lascia passare corrente" assume implicitamente che sia applicato un potenziale, ovvero che sia noto il comportamento del tutto); il principio di localita', secondo il quale la causalita' si trasmette solo alle parti adiacenti. La teoria di Ken Forbus (1981) e' duale di quella di DeKleer: invece di concentrarsi sulle parti del sistema, si concentra sulle loro possibili interazioni. Forbus assume infatti come primitive i "processi" del sistema. Un processo e' un fenomeno che durante il suo svolgersi causa dei cambiamenti nelle parti del sistema (per esempio, bollire, comprimere, etc.). Di fatto un processo e' un trasferimento di causalita' da un oggetto a un altro. E' definito da: gli oggetti su cui opera, le precondizioni per operare, le relazioni fra gli oggetti e i cambiamenti che provoca; e si svolge in un tempo che e' sostanzialmente quello di Allen. Un oggetto e' descritto in modo simile alle "storie" di Hayes. L'algoritmo tramite cui Forbus determina il comportamento del sistema e' quello dell'"envisionment": nello stato corrente identifica le variabili che stanno per raggiungere i loro valori critici; utilizzando regole di inferenza (come: "ogni quantita' non nulla puo' diventare nulla soltanto se e' decrescente") costruisce tutti i possibili stati che possono seguire a quello corrente; riduce il numero di stati possibili tramite altre regole di inferenza (per esempio quella di continuita': "una quantita' puo' passare da decrescente a nulla o da nulla a crescente o viceversa, ma non da crescente a decrescente o viceversa"); assume tutti gli stati rimasti come stati correnti e ripete lo stesso ragionamento. Ad ogni processo e' automaticamente associato un campo di 164 "influenze" che determina quali variabili vengono direttamente influenzate dal processo (dette variabili "indipendenti") e quali vengono invece influenzate soltanto indirettamente, per effetto del cambiamento delle variabili indipendenti. In tal modo Forbus definisce in maniera intuitiva anche il concetto di causalita'. La tecnica degli "envisionment" genera tutti i possibili comportamenti di un sistema. Ogni percorso in questo "envisionment" e' appunto una possibile "storia" del sistema. Per l'esattezza la funzione di "registrazione" e' cio' che fa corrispondere episodi di una storia (per esempio, le misure di alcune variabili) a stati dell' "envisionment". Questa funzione e' cio' che consente di "interpretare" le misure ottenute da un esperimento. La teoria che spiega come costruire questa funzione e' detta "logica dell'occorrenza" (1987). Il ragionamento qualitativo puo' prestarsi per costruire sistemi esperti che abbiano un tipo di conoscenza piu' "profonda" del dominio in cui operano. I sistemi esperti esibiscono, in realta', la stessa intelligenza di un database: si limitano a cercare l'informazione loro richiesta all'interno di un contenitore di informazioni. L'unica complicazione e' che l'informazione potrebbe non essere esplicita, ma implicita nelle regole di produzione. Ma cio' non significa che il sistema stia effettivamente esibendo un comportamento intelligente. I sistemi esperti sono dotati unicamente della conoscenza "shallow", di "superficie", dell'esperto. L'esperto umano ha pero' ricavato tale conoscenza di superficie da una conoscenza "profonda" del campo in cui opera. La conoscenza "shallow" dell'esperto e' stata "compilata" nella base di conoscenza del sistema esperto, ovvero e' stata trasferita dalla mente dell'esperto alla base di conoscenza senza tenere in alcun conto i processi mentali che avevano portato al formarsi di quella conoscenza nella mente dell'esperto. La conoscenza profonda dell'esperto e' costituita dai cosiddetti "primi principi", le nozioni fondamentali che aiutano ad acquisire nuova conoscenza sul mondo. I primi principi sono in pratica l'equivalente in psicologia delle leggi di natura. I "primi principi" fanno si', per esempio, che il medico sappia che certi sintomi sono indizio di una certa malattia; ma un sistema esperto che lo "cloni" saprebbe soltanto impiegare quella regola a fronte di quei sintomi, non saprebbe i primi principi che hanno portato al formarsi di tale regola. Il medico, infatti, e' in grado di affrontare situazioni che non si erano mai presentate prima, poiche' ad esse puo' applicare gli stessi primi principi e derivare pertanto nuove regole, mentre un sistema esperto non sa affrontare nessuna situazione per la quale non sia stata compilata la corrispondente regola. Per costruire sistemi esperti che "capiscono" (piu' che "conoscono") il dominio in cui operano e' necessario esprimere quei primi principi. Il sistema esperto prescinde dal fatto che il comportamento del sistema fisico sia dovuto alla sua struttura e deriva il modello del comportamento direttamente dal 165 comportamento osservato. Un analogo sistema esperto dotato di conoscenza profonda deriverebbe il modello del comportamento dalla struttura del sistema fisico. La differenza fra conoscenza di superficie e conoscenza profonda e' anche una differenza fra conoscenza associativa e conoscenza causale. Il comportamento ideale sarebbe quello che utilizza la conoscenza di superficie, computazionalmente molto efficace, per reagire alle situazioni quotidiane di carattere meccanico e utilizza invece la conoscenza profonda, computazionalmente molto piu' costosa, per ragionare sulle situazioni insolite. Al tempo stesso ogni uso di conoscenza profonda dovrebbe "compilare" conoscenza di superficie in modo che una futura occorrenza di quella situazione possa essere trattata da regole meccaniche. L'Abduzione Fu Peirce a distinguere l'abduzione (o formazione di ipotesi) dalla deduzione (inferenza analitica) e dall'induzione (inferenza sintetica). La deduzione e' uno strumento preciso per compiere dei ragionamenti, ma del tutto inutile quando manca informazione e limitato ai problemi la cui soluzione e' implicitamente gia' nota. La deduzione non e' in grado di inferire nuove verita', ma soltanto di trovare le verita' nascoste. L'abduzione non e' un'inferenza precisa, ma e' in grado di giungere a una conclusione anche in mancanza di informazione, e la conclusione a cui giunge non e', generalmente, nella chiusura deduttiva dei fatti gia' noti, cioe' costituisce davvero una nuova conoscenza. Per esempio, quando un medico, dopo aver esaminato i sintomi, conclude che il paziente ha una certa malattia, non sta compiendo un ragionamento esatto, ed infatti puo' sbagliare, ne' ha a disposizione tutte le informazioni necessarie per ragionare, ma l'inferenza che ne trae (la malattia) e' coerente con l'ipotesi (i sintomi) e tanto gli basta per pronunciarsi. La regola di inferenza della deduzione e' "se p implica q, e p, allora deduci che q". La regola di inferenza dell'abduzione e' invece "se p implica q, e q, abduci p". L'abduzione e' coerente, perche' una volta abdotto p posso verificare che da esso consegue che deve essere vera anche q e in effetti (per ipotesi) cosi' e'; ma non e' necessariamente esatta, perche' q potrebbe essere stata causata da un'altra proposizione. In altri termini l'abduzione si propone di risalire alla causa di un fenomeno e consiste nel formulare una ipotesi che sia coerente con l'esistenza di tale fenomeno; possono pero' esistere piu' cause dello stesso fenomeno. L'abduzione e' lo strumento principale che viene utilizzato per costruire teorie scientifiche. La conoscenza della scienza moderna e' gerarchica a tre livelli. Al livello piu' basso esistono i dati empirici; essi vengono organizzati a un livello di astrazione 166 superiore in generalizzazioni; e queste vengono a loro volta organizzate in teorie di spiegazione. Normalmente il modo in cui si passa dai dati alla generalizzazione e' l'induzione, e il modo in cui si passa dalle generalizzazioni alla teoria e' l'abduzione. La teoria viene infatti costruita prendendo in esame le ipotesi plausibili e una libreria di astrazioni di ipotesi. Astrazioni di ipotesi sono, per esempio, la selezione darwiniana e l'inverso del quadrato: sono astrazioni di ipotesi ricavate dal passato della scienza, sono tipi ricorrenti di teorie. La storia della scienza serve cioe' come sorgente di "senno di poi" compilato in forma procedurale (di "compiled hindsight") per costruire astrazioni che possano dare origine ad altre teorie. L'abduzione e' affine al ragionamento ipotetico-deduttivo: dati un insieme di categorie, le proprieta' di ciascuna categoria e un insieme di regole di classificazione, si tratta di classificare un insieme di dati nella categoria piu' opportuna. L'inferenza della diagnosi medica, per esempio, puo' essere re-interpretata cosi': date le malattie note al medico, la fenomenologia di ogni malattia e la conoscenza medica, si tratta di stabilire a quale malattia corrispondono i sintomi del paziente. Il ragionamento ipotetico-deduttivo si svolge generalmente secondo un processo di raffinamento incrementale: man mano che vengono presi in considerazione nuovi dati l'insieme delle ipotesi attive si restringe. In altre parole il ragionamento converge all'interno dello spazio delle categorie. Per rendere piu' rapida la convergenza le categorie sono spesso organizzate in una gerarchia. Il Ragionamento Analogico Il tipo di ragionamento che Charles Spearman (1923) riteneva fondamentale era quello analogico, ovvero la capacita' di risolvere un problema essendo noto come si risolve un problema simile. Anche gli studi di Piaget e quelli di Papert avevano suffragato l'ipotesi che la capacita' di ragionare sul mondo derivi da un processo di raffinamento progressivo delle capacita' di ragionamento man mano acquisite. Nel 1945 George Polya presento' la prima teoria formale di come si potesse trasformare "per analogia" la soluzione di un problema nella soluzione di un altro problema. Il primo modello computazionale del ragionamento analogico fu quello di Patrick Winston (1978), che realizzo' l'analogia come un trasferimento di proprieta' da un frame ad un altro: dati due concetti, rappresentati da due frame, apprendere una analogia del secondo con il primo significherebbe trasferire anche al primo le proprieta' del primo interessate dall'analogia. Il concetto trasferito per analogia puo' essere una tecnica di problem-solving. Cosi' l'analogia "trasformazionale" di Jaime Carbonell (1981) consiste nel costruire una nuova serie di stati in uno spazio di problema partendo da una data serie di stati in un altro spazio di problema. Tale trasformazione analogica e' a sua volta un problema che viene risolto tramite una serie di stati in un terzo spazio di problema, detto appunto "spazio trasformazionale". In esso gli stati sono tutte le soluzioni di tutti i problemi dello spazio originale; lo stato iniziale e' una di tali soluzioni, quella che si decide essere l'"analoga" da trasferire; e lo stato obiettivo e' una soluzione per il nuovo problema. Siccome i due spazi coinvolti nella trasformazione hanno 167 metriche diverse, il primo compito della trasformazione e' di calcolare le equazioni di conversione. La funzione di conversione misura la differenza fra le due metriche ed esprime di fatto una variante del principio di "means-end analysis", ovvero di minimizzare tale differenza. Tramite la funzione di conversione e' possibile poi trasformare tutti gli operatori dello spazio sorgente in operatori "analoghi" dello spazio destinazione, ovvero e' possibile costruire il piano dello spazio di trasformazione che porta dallo stato iniziale (la soluzione del vecchio problema) all'obiettivo (la soluzione del nuovo problema). L'analogia viene pertanto identificata con un'operazione di "replay" di un piano e scomposta in una serie di operazioni elementari: reperimento del piano "piu' analogo", adattamento del piano e uso del piano. L'analogia derivazionale (1983) consiste invece nel trasferire tutta la conoscenza relativa a come venne risolto un problema al caso di un nuovo problema, replicando cioe' non solo la soluzione, ma anche le linee di ragionamento che portarono a trovare tale soluzione. Mentre l'approccio trasformazionale si limita a duplicare la sequenza di operatori, quello derivazionale ricorda i motivi che spinsero a scegliere certe azioni piuttosto che altre, in modo che il trasferimento sia un vero e proprio trasferimento di conoscenza, e non soltanto una copia di istruzioni. Ad ogni problema risolto viene pertanto associata la sua "storia derivazionale" (la storia di come e' stata derivata la sua soluzione). Il concetto di storia derivazionale introdotto da Carbonell assomiglia a quello minskyano di K-Line poiche' il meccanismo fondamentale e' quello di ricostruire gli aspetti rilevanti di un'esperienza passata. Il modello cognitivo a cui fa riferimento la teoria dell'analogia di Carbonell e' quello della memoria episodica di Schank (1979), un'estensione del concetto di script. La memoria episodica incorpora conoscenza su tutti i "casi" incontrati sotto forma di loro "generalizzazioni". Ogni nuovo "caso" provoca innanzitutto una ricerca in memoria di un caso "simile"; e questo caso simile ha due effetti: da un lato serve a guidare il ragionamento sul nuovo caso (ragionamento "expectation-driven", guidato dall'aspettarsi che succedano certi fatti che successero nel vecchio caso) e dall'altro serve a produrre (compilare) nuove generalizzazioni di casi. Il processo di risolvere problemi sulla base di analogie nei confronti di casi precedenti e' stato battezzato "case-based reasoning" da Janet Kolodner (1985). Rispetto allo spazio di problema dei sistemi deduttivi (come i sistemi di produzione) la memoria episodica contiene non "soluzioni" ma "esempi di soluzione". Sia il ragionamento a regole di produzione sia quello a casi appartengono alla categoria dei ragionamenti "template-based", dove il template e' un'espressione logica nel primo caso e un MOP nel secondo. Il primo seleziona regole i cui antecedenti concordano con la situazione corrente: non puo' trattare situazioni nuove e non puo' incrementare la memoria. Il secondo seleziona invece MOP che corrispondono alla situazione corrente: tratta situazioni nuove "per analogia" e incrementa la memoria "per validazione". In generale la seconda scuola di pensiero, che assegna alla memoria 168 gran parte dell'iniziativa nel risolvere problemi, viene comunemente associata alla nozione di ragionamento guidato dalla memoria ("memory-based reasoning"). Il Ragionamento Non-monotono I ragionamenti del senso comune, l'abduzione e l'analogia hanno tutti bisogno in qualche modo di poter ritrattare le conclusioni a cui sono pervenuti poiche' qualche nuova informazione ha reso implausibile la linea di ragionamento fin li' seguita. Con la logica classica questo "ritrattare" qualcosa che e' gia' stato dimostrato costituisce un problema insormontabile. La logica classica e' infatti "monotona", consente cioe' soltanto di aggiungere proposizioni vere, non di toglierne. Tali proposizioni non sono ritrattabili per la semplice ragione che esse sono implicite negli assiomi e ritrattarle significherebbe di fatto mettere in discussione l'intero sistema formale. In termini piu' precisi i teoremi di una teoria devono essere un sottoinsieme dei teoremi di ogni estensione della teoria. Una logica e' non-monotona se la verita' di una proposizione cambia invece a seconda degli assiomi che vengono introdotti. Una logica non-monotona consente in pratica di rivedere le proprie convinzioni sul mondo. Consente inoltre di "interpretare" un fatto, piuttosto che limitarsi ad asserirne la verita' o falsita'. Un fatto e' infatti rappresentato da un predicato; se un insieme di formule costituisce una teoria, l'interpretazione di un fatto in quella teoria e' un insieme di conseguenze logiche del predicato. I fatti hanno pertanto interpretazioni diverse in teorie (situazioni) diverse. La logica classica impiega regole di inferenza del tipo P e' un teorema se Qi sono teoremi Una logica e' non-monotona se impiega regole d'inferenza del tipo P e' un teorema se Qi non sono teoremi La revisione delle convinzioni e' un fenomeno determinante per poter ragionare sul mondo reale. Ogni situazione si presta a formare convinzioni che devono poi essere ritrattate sulla base di nuove informazioni. Non solo cio' contribuisce a raffinare continuamente la nostra conoscenza del mondo, ma consente soprattutto di compiere inferenze vitali in assenza di informazione. Un mondo che rispetti la logica classica sarebbe un mondo in cui, una volta deciso di attraversare la strada, non sarebbe piu' possibile tornare indietro, neanche se da dietro l'angolo sbucasse un'auto in piena velocita'. Il mondo di una logica non-monotona e' invece un mondo in cui l'agente razionale e' sempre in grado di rivedere le proprie decisioni. Un esempio di logica non-monotona e' quella che scaturisce dal default dei frame (o, equivalentemente, dalle gerarchie di ereditarieta'), dalla necessita' cioe' di affermare qualcosa in mancanza di tutta l'informazione necessaria per affermarlo e dalla possibilita' di precisare che "e' cosi' a meno che...". Il termine "logica non-monotona" venne appunto coniato da Minsky nel 1975 a proposito della logica dei default. Nel 169 ragionamento per default ad ogni premessa e' associata una conclusione di default (cioe' standard), che viene assunta per vera se non esiste prova che sia falsa (letteralmente: in difetto di una dimostrazione di falsita'). Il caso opposto e' quello del "postulato del mondo chiuso" (closed-world assumption) enunciato da Richard Reiter nel 1978: cio' che non e' vero e' falso. Tecnicamente cio' si esprime aggiungendo al sistema formale le negazioni di tutte le proposizioni che non derivano da un insieme di assiomi: gli assiomi rappresentano cio' che si "crede" essere vero nel mondo. Se non so che il papa sia morto, vuol dire che il papa non e' morto: siccome la proposizione "morto(Papa)" non puo' essere derivata dall'insieme delle mie convinzioni, aggiungo al mio sistema formale la proposizione "NOT morto(Papa)". Per quanto riguarda i predicati p(X) il "completamento" di un sistema formale in cui e' noto che p(A) si compie notando che affermare p(A) e' equivalente ad affermare "per-ogni X tale che X=A vale p(X)" e che cio' ha come duale l'espressione "se per-ogni X vale p(X) cio' implica che X=A" (se p e' soddisfatta da A,B,C,... il suo completamento sara' che "...X=A OR X=B OR X=C OR..."). Una delle conseguenze del postulato e' che la negazione (l'essere falso) viene trattata come una "incapacita' di dimostrare", com'e' tradizione nella programmazione dei computer fin dai tempi di Carl Hewitt (1972): se sull'orario dei voli non compare nessun volo fra due citta', l'agente di viaggio ne deduce che non e' possibile volare fra quelle due citta'. Il vantaggio di lavorare in un "mondo chiuso" e' che il sistema puo' contenere soltanto le informazioni positive su tale mondo, e lasciare che le informazioni negative vengano dedotte "per default". Naturalmente cio' si presta ad errori grossolani, poiche' una persona puo' non sapere che Charlie Chaplin e' morto, ma cio' non vuol dire che egli sia vivo. Un sistema di logica non-monotona puo' pertanto contenere delle contraddizioni, ovvero dei fatti nuovi possono contraddire i fatti precedenti. Compito di un sistema formale di logica non-monotona e' quello di a) definire sotto quali condizioni e in che modo e' possibile trarre inferenze; b) definire come viene ristabilita' la noncontradittorieta'. Esistono due principali formalizzazioni della logica non-monotone, una di Drew McDermott e una di Reiter, entrambe del 1980. Entrambe riconducono l'inferenza alla coerenza deduttiva, ovvero al principio che una certa proposizione puo' essere inferita se e solo se discende dalle premesse (come nella logica classica) ed e' inoltre coerente con gli assiomi attuali. Seguendo un'idea di Erik Sandewall (1972), McDermott rappresenta la condizione di coerenza esplicitamente tramite l'operatore modale di coerenza: l'espressione "Mp" significa che "p" e' coerente con gli assiomi correnti. L'esempio di Minsky che tutti gli uccelli volano, Tweety e' un uccello, ergo Tweety vola (ma potrebbe essere uno struzzo o un pinguino, e pertanto non volare) si scrive: [uccello(X) AND M (vola(X))] --> vola(X) Dalla premessa 170 uccello(Tweety)] si inferira' che vola(Tweety) se e solo se cio' non contraddice nessuno degli assiomi in vigore (ovvero se non e' stato asserito il contrario). In altre parole: se e' noto che p e' vera e non ci sono ragioni per ritenere che q non lo sia, allora e' ragionevole inferire q. Reiter introduce invece la coerenza direttamente nelle regole di inferenza, che si presentano cosi': uccello(X) : vola(X) ------------------------ vola(X) che si legge: "se la premessa uccello(X) e' vera si puo' inferire che il conseguente vola(X) e' vero a meno che la condizione vola(X) non sia in contraddizione con i fatti gia' noti". La differenza fra le due logiche e' che quella di Reiter introduce una meta-regola per ogni default in modo da rimanere sempre nell'ambito del primo ordine, mentre quella di McDermott esprime i default come formule di logica modale. A loro volta queste logiche differiscono dalla circoscrizione di McCarthy in quanto questa e' minimale: le due logiche non-monotone consentono di derivare qualunque affermazione che sia coerente con la conoscenza del sistema, mentre la circoscrizione limita l'insieme delle derivazioni possibili all'insieme piu' piccolo che sia possibile costruire e che soddisfi ancora la teoria. Mentre McDermott e Reiter accettano tutto cio' che "non da' fastidio", McCarthy accetta soltanto cio' che e' "indispensabile" per far funzionare il sistema. Nel 1987 David Etherington ha dimostrato che la logica non-monotona e la circoscrizione sono equivalenti e Yoav Shoham ha fondato la "logica della preferenza" alla quale si possono ricondurre tutte. All'interno della logica dei predicati Shoham prende in considerazione un ordinamento parziale sulla classe di tutte le sue interpretazioni, e poi definisce che un'interpretazione "I1" e' preferita a un'interpretazione "I2" se I1 < I2 in tale ordinamento. L'idea e' simile a quella della "logica condizionale" di David Lewis (1973), che introduceva una misura di "similarita'" fra mondi possibili (invece dell'ordinamento parziale delle interpretazioni) e, basata su di essa, la nozione di "controfattuale" (invece che quella di "preferenza"). Martin Davis e David Israel hanno criticato l'approccio non-monotono mettendone in luce il primo le carenze tecniche e il secondo l'implausibilita' epistemologica. Da un lato le logiche di McDermott e Reiter non garantiscono la dimostrabilita' (sono "nonsemidecidibili"). Ogni logica deve poter contare su un "teorema di dimostrabilita'", un teorema cioe' che specifichi cosa constituisca la prova di un teorema e cosa sia dimostrabile. Non e' possibile, cioe', rispondere alla domanda: "dato p, posso credere 171 in p ?". Per le logiche monotoniche non esiste un tale teorema. Questo fatto ha implicazioni pratiche assai gravi, poiche' un programma che faccia uso di una logica non dimostrabile non puo' garantire il proprio funzionamento. Dall'altro queste teorie originano da una confusione sul significato stesso di nonmonotono. La logica auto-epistemica di Robert Moore, per esempio, puo' trattare lo stesso fenomeno rappresentandolo sotto forma di "convinzioni" di un agente razionale (Konolige ha dimostrato nel 1987 che la logica auto-epistemica e' identica alla logica di Reiter). Per evitare gli inconvenienti della non-monotonia, Jane Nutter (1983) ha proposto una soluzione monotona al problema del frame estendendo semplicemente la logica standard per distinguere le "presunzioni" dovute a un default ("presumibilmente Tweety vola") e le tradizionali "asserzioni" della logica ("Tweety vola"). D. Gabbay (1982) ritiene giustificato l'impiego di una logica non-monotona soltanto quando la conoscenza disponibile sul mondo e' "parziale" e re-interpreta in termini intuizionisti, invece che di logica classica, le teorie di McDermott e Reiter. Un'influente scuola di pensiero aveva nel frattempo avuto origine dal fronte computazionale, precisamente da un programma del 1977 di Gerald Sussman che conservava una registrazione ("dependency record") del proprio ragionamento. A fronte di una contraddizione, il programma ritornava sui propri passi per scoprire quali proposizioni fossero alla base della contraddizione e decidere quale cancellare. Il ragionamento "dependency-directed" di Sussman venne sfruttato da John Doyle (1978) nel suo Truth Maintenance System, la cui funzione era prima di compiere deduzioni in un sistema di produzione anche in assenza di informazione e poi di conservare la coerenza del sistema di produzione a fronte di nuove asserzioni che contraddicessero quanto precedentemente dedotto. In maniera analoga a Sussman, ad ogni asserzione dedotta (detta "proposizione") Doyle associo' la sua dipendenza (detta "giustificazione"): una proposizione risulta vera quando sono vere tutte le proposizioni da cui dipende la sua verita' mentre non e' vera nessuna di quelle da cui dipende la sua falsita'. Il sistema "justification-based" di Doyle era pertanto in grado di costruire spiegazioni (la risposta alla domanda "perche' si deduce che ... ?" e' il ramo dell'albero di ricerca), di scoprire cause (la risposta alla domanda "da quali ipotesi si deduce che ... ?" e' l'insieme delle foglie dell'albero) e infine di simulare situazioni ipotetiche (la risposta alla domanda "cosa succederebbe se ... ?" e' una ricostruzione dell'albero di ricerca). Basandosi su queste idee anche Paul Cohen (1983) propose una soluzione al problema del default che non richiedeva l'introduzione di logiche non-monotone. Cohen estendeva la logica standard con l'idea di associare ad ogni asserzione molteplici giustificazioni ("endorsement") del perche' tale asserzione e' stata ritenuta vera. Analogamente a dipendenze, registrazioni e giustificazioni, un "endorsement" ricorda le asserzioni che hanno portato a credere in quell'ipotesi. A differenza delle precedenti, l'endorsement ricorda pero' anche il livello di tali asserzioni. Esattamente come in una burocrazia esistono diversi livelli di autorizzazione, cosi' in un sistema di produzione possono esistere diversi livelli di "affidabilita'": a seconda del caso 172 un'asserzione puo' avere o meno il livello di endorsement necessario per essere presa in considerazione; quando due asserzioni sono in conflitto, e' possibile esaminare i rispettivi endorsement con metodi euristici per stabilire quale dei due gode degli endorsement piu' forti; e cosi' via. Nella "logica della rilevanza" di Stuart Shapiro (1976) viene definito il "contesto" di uno "spazio di credenze" come l'insieme delle ipotesi che generano deduttivamente l'insieme di proposizioni che forma quello spazio. Ogni proposizione derivata viene associata a un "insieme originale", che ricorda tutte le ipotesi utilizzate per dimostrare la verita' di tale proposizione, e un "insieme di restrizione", che contiene invece tutti gli insiemi di ipotesi incoerenti con l'insieme originale (ovvero generano contraddizioni se uniti ad esso). In ogni istante esiste un contesto attivo, cioe' un insieme di ipotesi che sono coerenti fra di loro, e tale contesto definisce indirettamente anche lo spazio di credenze attuale. Il sistema formale prende in considerazione soltanto le proposizioni di questo spazio di credenze quando deve compiere una qualsiasi inferenza. Da questo modello hanno avuto origine i sistemi di revisione delle convinzioni "assumption-based, come quello di Johan DeKleer (1986), nel quale una proposizione e' appunto giustificata dall'insieme delle proposizioni primitive, non derivate, da cui e' iniziato il ragionamento che l'ha dimostrata vera. Nei sistemi "assumption-based" non e' necessario che l'intero sistema formale sia coerente, ma soltanto che sia coerente il "contesto" attuale. Un altro caso in cui e' possibile utilizzare un simbolismo del tipo "se A allora B ameno-che' C" e' quello della "logica della precisione variabile", ideata nel 1986 da Ryszard Michalsky e Patrick Winston per rendere conto delle regole di produzione che devono esprimere condizioni "frequentemente" vere (l'operatore "a-meno-che'" viene ricondotto a un'operazione di OR fra gli operandi B e C). Nel 1986 Matthew Ginsberg ha teorizzato che tanto le logiche non-monotone quanto i "truth maintenance systems" di Doyle e DeKleer non siano altro che versioni mascherate di una logica a molti valori: entrambi assegnano valori intermedi a vero e falso, e persino valori intermedi fra il vero/falso e l'incognito. Basandosi sulla teoria di D. Scott (1970), secondo cui l'insieme delle proposizioni ordinate parzialmente in base al loro valore di verita' costituisce un lattice, e utilizzando la relazione di ordinamento di Sandewall del 1985 (p e' minore di q se "il valore di verita' di p dipende dal valore di verita' di q", ovvero se l'insieme di proposizioni che giustifica p e' incluso nel corrispondente insieme di q), Ginsberg ricostruisce le teorie nonmonotone identificando le proposizioni con i punti di un lattice bi-dimensionale definito dai valori di verita': vero, falso, incognito (un valore che non puo' essere dimostrato ne' vero ne' falso), contraddittorio (un valore che puo' essere dimostrato vero da certe proposizioni e falso da certe altre), vero per default, falso per default e contraddittorio per default. E' un'estensione della logica a quattro valori di Nuel 173 Belnap del 1977, che era a sua volta un'estensione della logica a tre valori di Stephen Kleene del 1952. Un altro tipo di ragionamento, affine a quelli non-monotoni, che esamina la mancanza di informazione e' quello dei "controfattuali". Un condizionale controfattuale ("counterfactual") e' una frase del tipo: se p allora q, dove "p" e' falso. Per esempio, "se avessi cento milioni, mi comprerei una Ferrari". Nel 1973 David Lewis fece notare alcune singolari proprieta' rispetto alla comune relazione logica di "p implica q", in particolare la violazione di simmetria, transitivita' e monotonia. Da "se p allora q" non e' lecito inferire "se la negazione di q allora la negazione di p"; per esempio: non e' lecito inferire "se non mi comprassi una Ferrari non avrei cento milioni". I controfattuali non sono necessariamente transitivi, cioe' "se p allora q" e "se q allora r" non implicano necessariamente "se p allora r"; per esempio: "se avessi una Ferrari viaggerei a duecento allora" non implica necessariamente "se avessi cento milioni viaggerei a duecento allora". Infine i controfattuali sono non-monotoni, cioe' "se p allora q" non implica necessariamente "se p ed r allora q"; per esempio: "se avessi cento milioni, mi comprerei una Ferrari" non implica "se avessi cento milioni e fossi invalido, mi comprerei una Ferrari"). I controfattuali sono stati letti da Ginsberg (1985) come affermazioni del tipo "se questo fosse vero, allora saprei risolvere il problema" e come affermazioni del tipo "cosa succederebbe se questo fosse vero?". Nel primo caso essi spiegano come risolvere un problema che la logica si limiterebbe a denunciare come irrisolvibile. Nel secondo caso consentono di compiere simulazioni. Ginsberg li interpreta nella semantica dei mondi possibili. Il Ragionamento Inesatto Uno dei limiti piu' evidenti della logica classica e' quello di non saper trarre conclusioni, oltre che nelle situazioni in cui manca informazione, anche nelle situazioni in cui l'informazione e' imprecisa. Se la deduzione e' l'inferenza esatta, gran parte del ragionamento comune degli umani e' composto di inferenze inesatte. La matematica ha edificato un universo ideale, retto da leggi semplici, precise e senza eccezioni. Quell'universo e' in realta' una grossolana approssimazione dell'universo reale, che e' invece complesso, imperfetto e pieno di eccezioni. La mente umana, dotata della capacita' di compiere inferenze inesatte, e' in grado di elaborare con disinvoltura la quantita' sterminata di informazioni imprecise, di cui il mondo reale e' saturo. Le sorgenti dell'inesattezza sono molteplici: l'inaffidabilita' di un'informazione (dovuta, per esempio, al margine di tolleranza di un apparecchio di misura); l'imprecisione del linguaggio di rappresentazione (la frase "alle 10 i ministri hanno discusso la situazione economica" e' probabilmente falsa perche' il loro incontro sara' iniziato qualche secondo prima o dopo le 10, e pertanto non alle 10); l'incompletezza 174 dell'informazione (se mi trovo in un ingorgo stradale sull'autostrada che normalmente a quell'ora e' libera, suppongo che sia accaduto un incidente); e cosi' via. All'inesattezza contribuiscono sia l'incertezza sia l'imprecisione. La certezza di una proposizione riguarda la possibilita' di verificare il valore quantitativo che asserisce, la sua imprecisione riguarda tale valore quantitativo. Per esempio: "Bruxelles e' la capitale del Belgio" e' una proposizione certa e precisa; "Bruxelles sara' la capitale d'Europa" e' incerta ma precisa; "Bruxelles e' la capitale del Portogallo" e' certa ma imprecisa; "Bruxelles sara' la capitale del Portogallo" e' incerta e imprecisa. Le teorie "soggettive" dell'incertezza (come quelle di Leonard Savage del 1964 e di B. de Finetti del 1974) assumono che l'incertezza sia un fatto prettamente psicologico, e pertanto che l'incertezza consista in un "grado di convinzione". E' ammissibile qualsiasi valore per tale grado di convinzione, ma l'insieme dei gradi di convinzione assegnati in una certa situazione deve soddisfare certi vincoli. Le teorie "oggettive" dell'incertezza comprendono sia quelle di natura statistica (nelle quali l'incertezza si identifica semplicemente con l'imprecisione, per esempio gli errori di misura) e in quelle di natura logica (come quella dei "gradi di conferma" di Rudolf Carnap del 1950, che sono una misura della conferma empirica di una proposizione, e quella delle "credenze razionali" di Maynard Keynes). Queste seconde teorie misurano l'incertezza di una proposizione relativamente a un corpo di conoscenza, non alla persona che fa uso di tale conoscenza. Implicitamente esse fanno ricorso a un principio di evidenza totale, che, cioe', il corpo di conoscenza preso in esame sia effettivamente il corpo totale di conoscenza. Le teorie sull'incertezza si possono poi dividere in descrittive e normative, a seconda che vengano utilizzate per rappresentare quali siano le convinzioni parziali (e' il caso, per esempio, dell'incertezza soggettiva) o per legislare quali dovrebbero essere le convinzioni parziali (Carnap e Keynes). Per gli scopi pratici e' spesso sufficiente che l'inferenza sia "approssimata", ma non e' sempre chiaro quali siano le regole di inferenza su cui si basa. Per esempio, dalla proposizione "le fragole sono buone quando sono molli" e dalla proposizione "questa fragola e' molto molle" non e' in generale lecito dedurre che "quella fragola e' molto buona", e cosi' dalle proposizioni "mi piace andare al parco quando c'e' folla" e "oggi al parco c'e' molta folla" non discende necessariamente che "oggi mi piace molto andare al parco". Esistono almeno tre ragioni per studiare il ragionamento inesatto. Dal punto di vista euristico e' necessario poter simulare il processo decisionale (e cio' da' origine alla "decision theory"); dal punto di vista epistemologico e' necessario stabilire a fronte di quale grado di convinzione una conoscenza e' accettabile (e cio' da' luogo alla "acceptance theory"); dal punto di vista doxastico e' necessario descrivere e prescrivere le credenze degli agenti razionali (e cio' viene fatto nella "belief theory"). 175 Una teoria dell'incertezza va pertanto giudicata sulla base di tre criteri: l'efficacia computazionale ("consente di compiere dei calcoli in tempi ragionevoli?") la plausibilita' psicologica (rappresenta cio' che gli umani intendono con "incertezza"?) e l'adeguatezza transduzionale ("e' facile tradurre il linguaggio umano dell'incertezza?"). Il Ragionamento Plausibile E' entrato nell'uso comune di misurare la certezza di un'affermazione assegnandole una "probabilita'": "John verra' promosso con 90 probabilita' su 100". Nel far cio' si commette in realta' una scorrettezza per diverse ragioni. La teoria delle probabilita' inventata da Pierre-Simon de Laplace nel 1812 e' una teoria statistica: parte dal presupposto che il suo universo sia casuale (cioe' che tutti gli eventi abbiano la stessa probabilita' di verificarsi, se non intervengono altri fattori) e assegna ad un evento un probabilita' che e' una misura del numero di volte che esso si e' verificato. Affermare che nel lancio di una moneta la probabilita' di ottenere "testa" e' del 50%" vuol dire che su 100 lanci si e' ottenuto "testa" per 50 volte. Analogamente assegnare una probabilita' 0,9 (o 90%) alla proposizione "promosso(John)" dovrebbe in realta' significare che John e' stato promosso 9 volte su 10 in tutte le promozioni precedenti. Una delle conseguenze di questo equivoco e' quello di non riuscire poi a compiere calcoli affidabili sulle "probabilita'". Nel linguaggio comune se assegno 90% di probabilita' all'evento che venga annunciata una promozione e 90% di probabilita' all'evento che John sia la persona promossa, intendo dire che ritengo molto probabile che nell'immediato futuro John sia promosso. Il calcolo delle probabilita', che e' stato inventato per altri scopi, fornisce invece una probabilita' composta che e' data dal prodotto delle due, prodotto che fornisce come risultato una probabilita' piu' bassa (81%). Tale probabilita' tende a diminuire man mano che aggiungo altri eventi con altre probabilita', indipendentemente da quanto "grandi" siano tali probabilita', per la semplice ragione che una probabilita' e' sempre un numero reale minore di uno, e il prodotto di numeri reali minori di uno tende a zero. Il primo caso di rappresentazione dell'incertezza della conoscenza si ebbe nel sistema esperto MYCIN, che "aumentava" la potenza espressiva delle regole di produzione associando a ciascuna un "fattore di confidenza". Tale fattore di confidenza non era una probabilita' appunto per evitare che tutte le diagnosi risultassero avere probabilita' bassissima o, peggio, che la probabilita' di una diagnosi dipendesse banalmente dal numero di regole di produzione utilizzate durante il ragionamento. In un sistema di produzione aumentato con le probabilita' le regole fungono infatti da "propagatori" di probabilita': ogni produzione (ogni concatenamento di due regole) produce una probabilita' che, per definizione, e' minore di quelle delle due regole. Quante piu' regole bisogna concatenare per ottenere la soluzione, tanto piu' bassa sara' la probabilita'. La diagnosi che richiede di esaminare soltanto due regole, ciascuna "pesata" con un 50%, verra' valutata dal sistema di produzione piu' affidabile di una diagnosi ottenuta esaminando quattordici regole ciascuna pesata con un 90% (rispettivamente cio' dara' luogo a probabilita' 25% e 22,8%). Per questa e 176 altre ragioni MYCIN calcolava le probabilita' composte utilizzando una variante della teoria della probabilita', derivata dalla "teoria della conferma": il fattore di certezza associato ad ogni regola di produzione e' dato dalla differenza fra una misura della convinzione nei confronti dell'evento favorevole e una misura dello scetticismo nei confronti dell'evento sfavorevole. Nella teoria classica la funzione di probabilita' vale uno per l'intero insieme di eventi possibili e zero per l'insieme vuoto; per l'unione di due sotto-insiemi disgiunti di eventi vale la somma dei rispettivi valori, ovvero la probabilita' di un evento e' uguale alla probabilita' del suo opposto. Il fascino della teoria classica e' dovuto al teorema di Thomas Bayes (1761) che prescrive un metodo assai semplice per calcolare la probabilita' che un certo evento A si verifichi quando se ne verifica un altro B: p(A/B) = p(A e B)/p(B) = costante * p(B/A) p(A). ovvero: la probabilita' relativa all'ipotesi A nel caso in cui si verifichi l'evento B e' pari alla probabilita' che B si verifichi se A fosse vera, moltiplicata per la probabilita' attuale di A. Per esempio, la probabilita' che un certo sintomo sia indice di una certa malattia e' proporzionale alla probabilita' che abbia quella malattia (a prescindere dai suoi sintomi) e alla probabilita' che quel sintomo si presenti nel caso si tratti di quella malattia. La ragione per cui la formula e' considerata efficace e' che normalmente e' nota, o facilmente calcolabile, la probabilita' p(B/A), per esempio quella che un certo sintomo si presenti nel caso di una certa malattia, mentre e' assai piu' difficile assegnare un valore alla probabilita' p(A/B), per esempio quella che una certa malattia si presenti a fronte di un certo sintomo. Altrimenti la professione del medico sarebbe assai piu' facile. Il teorema di Bayes puo' essere esteso in maniera intuitiva a calcolare la probabilita' A di un evento a rispetto a un numero di eventi Bi: p(A/B1,B2,...) = costante * p(B1/A) * p(B2/A) * ... * p(A). Questa formula di "inversione" consente pertanto di aggiornare la probabilita' di un'ipotesi (A) sulla base dei dati man mano disponibili (Bi). Sfruttando questo teorema e' possibile compiere ragionamenti assai complessi, che vengono normalmente espressi tramite "reti causali". Una rete causale e' un grafo in cui ogni arco trasporta della probabilita'. Per esempio, un tale grafo potrebbe definire le probabilita' che un gatto causi reazioni allergiche o causi impronte di zampe, le probabilita' che il freddo o le reazioni allergiche causino uno starnuto, la probabilita' che le reazioni allergiche causino prurito e cosi' via. Una rete causale risulta essere "isotropa", nel senso che consente inferenze in entrambe le direzioni. "Scorrendo" il grafo dall'alto verso il basso si compie un'inferenza di tipo "predittivo", nel senso che 177 si puo' inferire con quante probabilita' la presenza di un gatto causera' uno starnuto (piuttosto che un prurito). "Scorrendo" invece il grafo dal basso verso l'alto si compie un'inferenza di tipo "diagnostico", nel senso che si puo' inferire con quanta probabilita' uno starnuto e' dovuto alla presenza di un gatto (piuttosto che ad uno starnuto). Il ragionamento bayesiano ha la funzione prettamente doxastica di descrivere e spiegare convinzioni parziali. Lo stato doxastico viene caratterizzato da una funzione di probabilita' definita sull'intero universo di possibilita'. La critica piu' comune a questo approccio e' quella mossa da Savage: le mie convinzioni parziali non sono coerenti e per renderle coerenti devo rinunciare ad alcune di esse. E' cio' che capita comunemente quando si chiede a qualcuno di assegnare delle probabilita' a un certo numero di eventi che esauriscono completamente l'universo degli eventi possibili: la somma di quelle probabilita' non fa quasi mai uno. Chiedere alla stessa persona di rivedere le proprie probabilita' in maniera che la somma faccia uno significa di fatto chiedergli di rivedere le proprie convinzioni. La teoria di Bayes e' pertanto una teoria doxastica che, pero', dal punto di vista doxastico tratta soltanto agenti ideali. Le reti causali di Bayes sono comunque alla base della disciplina dell'analisi delle decisioni. La transizione del computer da strumento che fornisce informazioni a strumento che prende decisioni dipende infatti in prima istanza dalla disponibilita' di strumenti che consentano di prevedere il risultato di un'azione. I sistemi esperti sono un prodotto della tradizione scientifica di tipo "descrittivo", secondo la quale basta studiare un campo di fenomeni per saper rispondere a tutte le domande su quel campo. L'idea di fondo che giustifica un sistema esperto e' che esista un esperto che sa come comportarsi. L'ingegnere della conoscenza assume che un esperto umano conosca tutte le risposte, e tenta poi di costruire il programma che si comportera' come quell'esperto. Nel caso delle decisioni che riguardano fenomeni complessi come l'economia lo sbaglio sta nell'assumere che esista l' esperto umano. Nessun esperto di economia e' in grado di predire come si evolvera' il mercato. Per quanto ogni esperto di economia possegga un proprio repertorio di "regole" euristiche, quella conoscenza non consente a nessuno di compiere con certezza neppure le previsioni piu' elementari (per esempio, se domani il dollaro salira' o scendera'). In campi di questo genere l'esperto ha l'esperienza per prendere decisioni, ma non ha la conoscenza per prendere decisioni esatte. E' lui l'esperto, ma non ha le risposte che servirebbero per costruire il sistema esperto. La differenza sta proprio nell'elevato grado di incertezza insito nel campo di fenomeni dell'economia. La professione di questi esperti e' in realta' il risultato della scuola di pensiero "ingegneristica": come un ingegnere deve "inventare" un prodotto che non esiste basandosi sull'obiettivo di soddisfare una certa necessita' e su un certo numero di criteri di cosa sia un "buon" prodotto, cosi' l'esperto di un campo di incertezze deve "inventare" di volta in volta la decisione sulla base dell'obiettivo (per esempio, 178 rendere piu' remunerativi i propri affari) e su un certo numero di criteri di cosa sia una decisione "buona". L'ingegneria che e' rappresentata dall'analisi delle decisioni deve pertanto definire innanzitutto cosa sia una decisione "giusta". Questo significato varia da persona a persona, poiche' ogni persona ha un diverso "sistema di valori" (una diversa attitudine al rischio, per esempio). Un aspetto fondamentale del problema e' la possibilita' di separare la "decisione" dal suo "risultato". Ogni volta che si prende una decisione a fronte di un margine di incertezza, esiste, per definizione, la possibilita' di ottenere un risultato negativo, anche quando la decisione in se' era giusta. In altre parole, prendere la decisione "migliore" non garantisce automaticamente il risultato "migliore". Supponiamo di poter scegliere fra due scommesse: in una abbiamo una probabilita' 50-50 di vincere 10.000 dollari, nell' altra abbiamo una probabilita' 80-20 di vincere la stessa cifra. E' intuitivo che la decisione "giusta" sia quella di scegliere la seconda scommessa. Ma, siccome esisteva anche un 20% di probabilita' contraria, puo' succedere (succedera' nel 20% dei casi) di perdere la scommessa. In tal caso il risultato e' "negativo", ma la decisione rimane "giusta": se la scommessa si dovesse ripetere, sarebbe logico ripetere la stessa decisione, pur avendo perso la prima volta, mentre sarebbe illogico basarsi sul risultato sfavorevole della prima volta e cambiare decisione. Al tempo stesso e' necessario separare le probabilita' di un risultato negativo dalla propria disponibilita' al rischio. Per esempio, se nella seconda scommessa (caso 8020) la posta in palio fosse soltanto di 6.000 dollari, e nel caso 50-50 rimanesse di 10.000 dollari, non sarebbe piu' cosi' intuitivo quale sia la decisione giusta: la scommessa piu' favorevole e' anche la piu' rischiosa, e viceversa. E' facile immaginare un limite in cui chiunque (non sia molto ricco) sceglierebbe la scommessa piu' sfavorevole per la semplice ragione che l'altra e' rischiosa oltre le sue possibilita' economiche. La formulazione della decisione giusta dipende anche dalla capacita' di rappresentare tutto il problema nella rete causale. Dimenticare un fattore che influenza la decisione puo' risultare fatale. Questa e' anzi la causa di gran parte dell'apparente imprevedibilita' del mondo, il quale sarebbe molto piu' prevedibile se gli umani sapessero sempre prendere in considerazione tutti i fattori rilevanti nel ragionare su di esso. Un esempio tipico e' quello del "backcasting", del prevedere a ritroso. Tutti sono capaci di spiegare le notizie che leggono sul giornale, ma nessuno le aveva previste il giorno prima. Una recrudescenza del crimine, un crollo della Borsa, un incidente militare fra due nazioni, il successo di uno spettacolo vengono subito spiegati con un certo numero di fatti, e quasi sempre quei fatti non erano segreti, ma noti a tutti. Nessuno aveva pero' compiuto il ragionamento opposto, quello di derivare delle possibili conseguenza da quei fatti. Il "backcasting" e' in pratica il "senno di poi", che e' naturalmente sempre corretto. Il vantaggio del backcasting e' che, nel risalire la rete causale all'indietro, si esplora una regione della rete che e' 179 (tipicamente) molto piu' piccola della regione che si sarebbe dovuta esplorare il giorno prima se si fosse voluto discendere da tutti i fatti noti a tutte le conseguenze possibili. Un diagramma di influenze relativo ad un certo problema e' una rete causale che rappresenta il ragionamento di un esperto del problema in termini di fattori che influenzano la decisione finale (o che influenzano altri fattori) e distribuzioni di probabilita' associate a tali fattori. L'analisi delle decisioni fa pertanto uso delle probabilita' nell'accezione corretta della teoria bayesiana. Benche' implicita negli studi di Jakob Bernoulli di due secoli fa, l'analisi delle decisioni e' diventata una disciplina formale soltanto dopo la nascita della statistica. La "teoria dell'evidenza" di Arthur Dempster (1968) cerca di porre rimedio ai problemi di plausibilita' psicologica della teoria di Bayes prendendo in considerazione non tutti gli eventi, ma tutti i possibili sotto-insiemi di eventi, ovvero tutte le possibili proposizioni su tali eventi. Le proposizioni che posso essere formulate circa le sei facce di un dado, per esempio, sono esattamente 2 alla sesta, cioe' 64. Una possibile proposizione, per esempio, e' "e' venuto pari", equivalente al sotto-insieme composto dalle facce 2, 4 e 6. La "funzione di confidenza" vale zero per l' insieme vuoto e la somma delle sue applicazioni a tutti i possibili sotto-insiemi vale 1 (la funzione di probabilita' vale invece 1 per la somma delle sue applicazioni a tutti i possibili elementi). La confidenza e' in effetti una generalizzazione della probabilita'. La differenza e' che la probabilita' e' relativa ad un singolo elemento (a un singolo evento), mentre la confidenza e' relativa a un sotto-insieme di elementi (a un gruppo di eventi). Mentre Bayes obbliga sempre ad assegnare una probabilita' al singolo evento, anche quando questa non e' nota, Dempster consente di definire la confidenza di un gruppo di eventi nel suo insieme, senza assumere che sia nota anche la confidenza dei singoli eventi. La densita' di confidenza di Dempster non puo' essere ulteriormente suddivisa fra i singoli eventi, ne' e' influenzata dalla confidenza di questi. Se il dado avesse tutte le facce asimmetriche, sarebbe possibile stimare l'evento "pari" senza sapere la stima delle singole facce. La teoria di Dempster consente in tal modo di distinguere "incertezza" da "ignoranza". Posso saper stimare quale sia la confidenza che le donne conquisteranno un crescente numero di posizioni dirigenziali nell'industria, ma senza saper assegnare una confidenza a una specifica donna. Al tempo stesso se fossi in grado di assegnare una confidenza a una specifica donna, cio' non determinerebbe automaticamente la confidenza che io assegno a tutti gli altri esseri umani (a differenza delle probabilita', non si puo' ragionare che e' automaticamente uno meno ...). 180 Il teorema di Bayes risulta allora essere un caso particolare di un teorema piu' generale, che si scrive: p(A/B) = ( p(A v -B) - p(-B) ) / (1 - p(-B)). Questa formula mette appunto in evidenza come la confidenza che una certa ipotesi sia vera non equivalga alla convinzione che tutte le altre ipotesi siano false. Una rete causale basata sulle confidenze di Dempster presenta inoltre la proprieta' di restringere il campo delle ipotesi man mano che si accumula evidenza, un fenomeno che rispecchia correttamente l'andamento di ogni attivita' diagnostica. Anche la teoria dell'evidenza, pero', assume che gli eventi siano indipendenti, e questa e' proprio la critica maggiore che viene portata contro ogni teoria dell'incertezza. Il Ragionamento Approssimato Per il ragionamento del senso comune vale un principio che e' un po' l'analogo del principio di indeterminatezza di Heisenberg in Meccanica Quantistica: precisione e certezza sono inversamente proporzionali, al crescere dell'una, diminuisce l'altra. E' il principio "di incompatibilita'" enunciato nel 1906 da Pierre Duhem: la convinzione che una asserzione vaga sia vera discende dal suo essere vaga, all'aumentare della sua precisione diminuisce la certezza della sua verita'. Ogni ricerca di certezza conduce a una perdita di precisione. In tal modo Duhem sosteneva anche l'impossibilita' del programma logistico: i fatti pratici espressi nella forma vaga e approssimata del linguaggio naturale e i fatti teorici espressi nella forma esatta e precisa delle formule matematiche operano in due mondi diversi che non sono riconducibili l'uno all'altro. Lofti Zadeh interpreto' il principio di incompatibilita' alla luce del dualismo fra "qualita'" e "quantita'": in termini qualitativi si puo' essere molto precisi ("oggi il tempo e' bello") ma non certi, mentre in termini quantitativi si puo' essere certi ("tempo(oggi) = 1") ma non precisi. A seguito di queste riflessioni Zadeh ideo' nel 1965 una logica a molti valori, la "fuzzy logic", per trattare formalmente i fatti vaghi e in particolare le variabili linguistiche. Un insieme "fuzzy" (per esempio, l'insieme delle persone alte) e' definito dal suo dominio di possibili valori (i numeri reali da m.1,70 fino a m.2,10) e dai loro gradi di appartenenza (una persona alta m.1,70 appartiene all'insieme delle persone alte con grado 0,1 mentre una persona alta m.2,10 appartiene all'insieme delle persone alte con grado 0,9). I valori di una variabile linguistica (come "altezza") sono allora rappresentati da insiemi fuzzy (per esempio: "alto", "basso", "medio") e possono essere generati anche da modificatori (come "molto" e "poco"). Parole come "molti" vengono invece trattati come quantificatori. Il significato di una proposizione lessicalmente ambigua viene allora rappresentato come un vincolo elastico su una variabile e la risposta ad una domanda si traduce in una propagazione di vincoli elastici. 181 La fuzzy logic si differenzia sia rispetto alla logica classica, poiche' al posto dei comuni valori di verita' (vero o falso, 0 o 1) un insieme fuzzy e' una funzione con piu' di due valori, anzi con un continuum di valori nell'intervallo reale [0,1], sia rispetto alla teoria delle probabilita', poiche', invece che stabilire "gradi di fiducia" tramite numeri compresi fra 0 e 1, esprime "gradi di "esistenza" con distribuzioni di numeri compresi fra 0 e 1. Tutto cio' e' stato confermato da esperimenti condotti nel 1973 da Eleanor Rosch sul modo in cui gli individui classificano oggetti in categorie. Le categorie non sono necessariamente esclusive, anzi spesso uno stesso oggetto puo' appartenere parzialmente a piu' categorie, e appartenere a ciascuna con un certo punteggio (e'appunto il caso di un'altezza m.1,70 che puo' appartenere tanto alla classe "alto" quanto alla classe "basso"). Cio' contrasta con la teoria aristotelica che le categorie siano definite in maniera univoca ed esclusiva da condizioni necessarie e sufficienti. La Percezione La Linguistica Generativa Le origini della linguistica computazionale si perdono nella preistoria dei programmi di traduzione automatica. Costruire macchine in grado di tradurre automaticamente un testo di una lingua in un'altra lingua e' un'ambizione che data perlomeno da Descartes, che propose un dizionario "meccanico" nel quale ogni termine della lingua venisse fatto corrispondere a un codice numerico. Dizionari di questo genere vennero effettivamente pubblicati da Cave Becker nel 1657, da Johann Becher nel 1661 e da Athanasius Kircher nel 1663. Nel 1668 John Wilkins estese queste idee alla definizione di una vera e propria "interlingua" basata sull'enumerazione di tutti i concetti elementari. Fu pero' soltanto nel 1933 che divenne possibile progettare la macchina capace di elaborare codici di questo genere: il "Cervello Meccanico" di Georges Artsrouni, propulso da un motore elettrico, era in grado di reperire su un nastro la stringa di caratteri corrispondente alla stringa di caratteri introdotta su una tastiera. Un memorandum di Warren Weaver, che si basava sulla teoria dell'informazione di Shannon e sui primi usi del computer per l'analisi criptografica, apri' ufficialmente nel 1949 l'era della traduzione automatica. Negli anni seguenti Andrew Booth tento' la costruzione di un programma che traducesse parola per parola, Abraham Kaplan mise in luce il problema delle parole e frasi ambigue e Yehoshua Bar-Hillel ne dedusse l'impossibilita' di analizzare il linguaggio con un computer. Nel 1961 Mortimer Taube riassumeva il diffuso scetticismo sulle capacita' della macchina dichiarando fallimentari tutte le ricerche in corso. 182 L'avvento dell'Intelligenza Artificiale diede invece nuovo impulso al campo, spostando l'attenzione verso il fenomeno primario: la comprensione del linguaggio naturale da parte di una macchina. Nacquero cosi' i primi programmi: SIR, di Bertram Raphael (1964), capace di comprendere frasi che esprimono relazioni logiche; STUDENT (1965) di Daniel Bobrow, che risolveva problemi di algebra elementare formulati in inglese; ELIZA di Joseph Weizenbaum (1966), in grado di tenere una vera e propria conversazione con l'interlocutore umano. La teoria standard di Chomsky e l'ipotesi di Katz e Fodor (che il significato di una frase sia dato da una combinazione del significato delle sue parole, ovvero che la comprensione di una frase consista nella decomposizione lessicale della stessa) causarono una rivoluzione scientifica di portata incommensurabile. Nello scenario della grammatica generativa il linguaggio e' un insieme di frasi, una frase e' una stringa finita di parole e una grammatica e' l'insieme di regole per stabilire se una frase appartiene a un linguaggio. Il formalismo utilizzato per esprimere le regole di una grammatica e' quello delle "regole di riscrittura" (rewrite rule). Per esempio, la grammatica: FRASE --> SOGGETTO + PREDICATO SOGGETTO --> ARTICOLO + NOME PREDICATO --> VERBO VERBO + COMPLEMENTO --> AUSILIARIO + FORMA VERBALE COMPLEMENTO --> ARTICOLO + NOME ARTICOLO --> la ARTICOLO --> il NOME --> ragazza NOME --> libro AUSILIARIO --> ha FORMA VERBALE--> venduto 183 genera la frase "la ragazza ha venduto il libro" tramite una sequenza finita di applicazioni delle regole di riscrittura precedenti che da' luogo progressivamente a: FRASE SOGGETTO + PREDICATO ARTICOLO + NOME + PREDICATO la + NOME + PREDICATO la + ragazza + PREDICATO la + ragazza + VERBO + COMPLEMENTO la + ragazza + AUSILIARE + FORMA VERBALE + COMPLEMENTO la + ragazza + ha + FORMA VERBALE + COMPLEMENTO la + ragazza + ha + venduto + COMPLEMENTO la + ragazza + ha + venduto + ARTICOLO + NOME la + ragazza + ha + venduto + il + NOME la + ragazza + ha + venduto + il + libro Il linguaggio e' l'insieme di tutte le frasi che possono essere generate da una combinazione e ripetizione qualsiasi delle regole di riscrittura della sua grammatica. La sequenza di riscritture (o "produzioni") che si deve utilizzare per generare la frase e' detta "albero di parse" (parse tree). Le stringhe di simboli che compongono le regole di riscrittura possono far parte o del vocabolario "terminale" (le parole del linguaggio) o del vocabolario "non-terminale" ("sostantivo", "aggettivo", "avverbio", etc.) Una grammatica e' pertanto definita da questi due vocabolari, dall'insieme delle sue regole di riscrittura, e, convenzionalmente, da un simbolo iniziale (nell'esempio precedente: FRASE) che serve unicamente come inizio del processo. Una grammatica cosi' definita viene detta 184 "di tipo 0", o "phrase-structure", e' equivalente ad una macchina di Turing, e descrive un linguaggio che e' "ricorsivamente enumerabile", ovvero un linguaggio per il quale e' possibile generare tutte le frasi che lo compongono. Dal punto di vista computazionale questo tipo di grammatica non e' efficiente. Per tale ragione si ricorre piu' comunemente alle grammatiche di tipo 1, le cosiddette grammatiche "contestuali" (context-sensitive), nelle quali le regole prescrivono riscritture dipendenti dal "contesto" in cui avvengono, cioe' dai termini contigui; riscritture del tipo "cambia axc con ayc". Le grammatiche "non-contestuali" (o di tipo 2) non tengono invece in alcun conto il contesto e quelle "a stati finiti" (o di tipo 3) tengono invece conto degli "stati" precedenti. Un linguaggio e' di tipo "n" se puo' essere generato da una grammatica di tipo "n". Le quattro grammatiche corrispondono rispettivamente anche a quattro tipi di automi: macchine di Turing, automi lineari finiti (cioe' macchine di Turing la cui memoria e' limitata e proporzionale alla lunghezza dell'input), automi "pushdown" (la memoria e' illimitata ma il metodo di accesso e' "last-in first-out", ovvero la prima informazione reperibile e' l'ultima memorizzata) e automi a stati finiti (nessuna memoria). Non esiste ancora consenso su quale tipo di grammatica generi le lingue umane, ma esiste un diffuso scetticismo che le grammatiche di tipo 0,1,2 o 3 possano essere utilizzate efficientemente. Per tale ragione, ancora una volta di carattere computazionale piu' che concettuale, la preferenza cadde sulle grammatiche di tipo trasformazionale. Le grammatiche trasformazionali generano le frasi del linguaggio specificando come si deve trasformare una struttura grammaticale per ottenerne un'altra. Una grammatica non contestuale viene usata per generare quella che e' chiamata la "struttura profonda", ma una frase della struttura profonda non e' necessariamente una frase valida della lingua: a produrre la "struttura di superficie", ovvero le frasi valide della lingua, e' un insieme di "trasformazioni" che operano sulla struttura profonda. Per esempio, le trasformazioni controllano la morfologia: un insieme di trasformazioni controlla la coerenza dei plurali e dei generi (se "il radio" e' la frase "profonda", deve esistere una trasformazione che trasforma "il" in "la") e un insieme di trasformazioni che controlla la coerenza fra una frase nominale e il suo verbo (se "io andare" e' la frase profonda, deve esistere una trasformazione che deve trasforma "andare" in "vado"). 185 Anche le grammatiche trasformazionali sono equivalenti a macchine di Turing (come dimostrato da Stanley Peters nel 1973). La loro potenza venne pero' vista come un male piuttosto che un bene: per i fini computazionali e' sempre preferibile che la teoria sia limitata dal maggior numero di vincoli possibili. Per i fini cognitivi d'altro canto la teoria del linguaggio era ancorata all'innatismo chomskyano, che postulava l'esistenza di caratteri comuni fra le varie lingue, caratteri che dovevano derivare dalla struttura stessa della mente umana e che pertanto costituivano dei limiti invalicabili delle capacita' umane di generare linguaggi. Entrambi i tipi di considerazioni stimolavano pertanto a cercare gli "universali linguistici", le caratteristiche comuni a tutti i linguaggi ed intrinseche alle limitazioni della mente umana. Nel 1973 Chomsky stesso (riprendendo le idee enunciate nel 1967 da John Ross) propose una teoria (detta di "government-binding") che riduceva le differenze fra i vari linguaggi a un insieme di "vincoli", ciascuno dei quali limiterebbe le possibili varianti. La grammatica si svilupperebbe in maniera analoga a come si sviluppa un qualsiasi organo del corpo: secondo un programma innato che puo' essere condizionato dalle esperienze dell'individuo, ma non puo' comunque dare origine a variazioni eccessive rispetto alla norma. Cio' che va definito e' l'insieme delle limitazioni, o vincoli, a cui e' soggetta tale crescita. In contrapposizione ai trasformazionalisti i "relazionalisti", fautori delle grammatiche "relazionali", criticavano l'idea di assumere come primitive delle stringhe di simboli (tale e' una parola nella teoria di Chomsky), quando il linguaggio e' composto di parole che hanno una funzione ben precisa, come il soggetto, il complemento oggetto e cosi' via. Relazionisti come D. Perlmutter scoprirono diversi fenomeni linguistici (a partire dal passivo della lingua russa) che potevano essere spiegati soltanto considerando il ruolo della parola, ovvero le "relazioni" grammaticali, e scoprirono altresi' numerose leggi generali che accomunano tutte le lingue. Confermarono cosi' l'ipotesi innatista, ma mettendone in dubbio la specifica implementazione proposta da Chomsky. Nel 1978 Joan Bresnan e Ron Kaplan definirono un altro tipo di grammatica, quella "lessico-funzionale". In essa il livello "profondo" delle grammatiche trasformazionali diventa un livello "funzionale", che tratta come primitive le relazioni grammaticali (in accordo cioe' con i relazionisti) e il livello "superficiale" e' un livello "costituente", che utilizza ancora le strutture astratte della grammatica generativa. Entrambi i livelli sono sintattici e non fanno uso di trasformazioni. 186 Un altro tipo ancora di grammatica e' quella "phrase-structure generalizzata" di Gerald Gazdar (1982), un'estensione della grammatica non contestuale che non fa uso ne' di trasformazioni ne' di struttura profonda. Questa grammatica introduce un nuovo, piu' potente formalismo. Le regole di riscrittura separano l'informazione sui costituenti dall'informazione sul loro ordine: alcune regole definiscono il linguaggio secondo il solito approccio composizionale, mentre altre regole definiscono quale sia l'ordine consentito (per esempio, in inglese l'aggettivo viene sempre prima del sostantivo). Il formalismo di Gazdar fa inoltre uso di meta-regole, ovvero di regole che possono generare nuove regole. Il concetto fondamentale e' quello di categoria sintattica: una categoria sintattica e' definita da un insieme di coppie "attributo:valore" (per esempio, "CASO:ACCUSATIVO"), dove il valore puo' anche essere a sua volta una categoria. Alcuni principi universali presiedono poi alla propagazione di questi valori nell'albero di parse. Se il lessico non si limita a dichiarare le proprieta' di una parola, ma stabilisce anche come essa debba legarsi ad altre per formare delle frasi compiute, la grammatica e' categoriale nell'accezione di K. Ajdukiewicz (1935). In tal modo le regole di riscrittura, molto semplificate, fungono da regole di inferenza generali che prescrivono unicamente quali tipi di enti possono combinarsi con quali altri tipi di enti, mentre a quale tipo appartenga un ente e' determinato dal lessico. Particolarmente utile per scopi computazionali e' la sotto-classe delle grammatiche "a clausola definita", o clausola di Horn, che esprimono le regole di riscrittura sotto forma di formule logiche in modo tale che il processo di parse si riduca a un processo di unificazione. L'idea data almeno dal parser di Martin Kay del 1977, ma venne formalizzata da Fernando Pereira nel 1980. L'idea che esistesse una struttura profonda del linguaggio e che tale struttura fosse piu' vicina all'"essenza" dei concetti che il linguaggio e' in grado di esprimere spinse Charlie Fillmore (1967) a ideare la grammatica a "casi" (case frame). I casi tradizionali (nominativo, dativo, accusativo, vocativo) sono del tutto artificiali: basta volgere una frase attiva al passivo perche' nominativo e accusativo si scambino fra di loro. Esistono invece dei "casi" che sono invarianti rispetto alla forma della frase: colui che compie l'azione, colui che la subisce e cosi' via. Per ogni verbo e' possibile definire un insieme di casi tali che all'interno di una frase il caso di ciascuna parola sia sempre lo stesso, indipendentemente da come la frase possa essere trasformata. Per esempio, "Il gatto mangia il topo" avra' sempre come "mangiante" il gatto e come "mangiato" il topo, anche se la trasformiamo in "il topo e' mangiato dal gatto". Il significato della frase e' determinato in modo univoco proprio da questi casi: detta "case frame" la struttura che associa ad ogni verbo i suoi casi, ogni frase e' rappresentata dal "case frame" del suo verbo. 187 Nel 1973 Schank estese la rappresentazione a "case frame" di Fillmore in una teoria della "dipendenza concettuale" fondata sul principio che: date due frasi il cui significato e' equivalente, deve esistere una e una sola rappresentazione di tale significato anche se le frasi usano parole diverse. Per soddisfare questo principio Schank dovette ipotizzare l'esistenza di un certo numero di primitive semantiche, corrispondenti ai concetti elementari che e' possibile esprimere con il linguaggio. Per esempio, la primitiva che rappresenta il concetto astratto di "trasferimento" di un oggetto fra due agenti viene utilizzata nella definizione di verbi come "dare", "portare" e "comprare". Per specificare completamente il significato di una frase dovette introdurre un altro importante principio: ogni informazione implicita nella frase originale deve diventare esplicita nella rappresentazione del significato della frase originale. Per esempio, Per esempio, "Mary vende il libro a John" implica anche che il libro apparteneva a Mary e adesso appartiene a John. La Semantica La semantica e' la disciplina che studia il "significato". Nel nuovo panorama culturale inaugurato dalla teoria standard divenne d'attualita' tentare di replicare per il linguaggio naturale il programma portato a compimento da Tarski per i linguaggi formali. Nell'accezione piu' diffusa il significato di una proposizione e' l'insieme delle situazioni in cui essa e' vera. Anche l'interpretazione viene cosi' ricondotta a un calcolo di valori di verita'. La semantica dei mondi possibili di Kripke ha consentito di utilizzare i principi logici che erano alla base della teoria del significato di Frege per costruire una teoria tarskiana del linguaggio naturale. Nella semantica dei mondi possibili l'"intensione" gioca, grosso modo, il ruolo che nella teoria di Frege era stato del "senso". Mentre Frege non sviluppo' mai una teoria del senso, limitandosi ai valori di verita' (e confondendo in tal modo l'interpretazione con la valutazione), Hector-Neri Castaneda e David Kaplan negli anni Settanta hanno tentato proprio una tale teoria, impiegando lo strumento di Kripke. E' cosi' emerso in tutta la sua ampiezza il problema dell'incapacita' della teoria di Frege a trattare indexicali ("io") e dimostrativi ("questo"), e in generale tutte le proposizioni che non sono "eterne" (nell'accezione di Quine, ovvero che non sono vere a prescindere dalla situazione): per esempio, due frasi identiche "io ho ragione, tu hai torto" pronunciate da due persone che stanno discutendo fra di loro hanno due significati diametralmente opposti. 188 Richard Montague ha sviluppato nel 1974 una teoria del significato per il linguaggio naturale e quindi una teoria formale della lingua inglese. La grammatica "intensionale" di Montague si basa sulla nozione kripkiana di mondo possibile. Mentre le semantiche convenzionali, che si affidano tutt'al piu' al calcolo dei predicati del primo ordine, possono descrivere soltanto l' estensione delle parole, una semantica intensionale puo' specificare anche la loro intensione. L'intensione di una parola e' definita, al solito, come una funzione che ne dia l'estensione in ogni mondo possibile. Per esempio, di fronte a espressioni come "l'elefante vola" e "Piero Scaruffi e' russo" una semantica convenzionale si limiterebbe a stabilire che si tratta di oggetti impossibili; una semantica intensionale stabilisce invece che la loro estensione nel mondo reale e' la stessa (nulla), ma la loro estensione non e' nulla in altri mondi, e in questi mondi i due termini hanno estensioni diverse. La semantica intensionale puo' riuscire pertanto a catturare la differenza di significato di espressioni che hanno lo stesso significato per una semantica estensionale. Anche la semantica intensionale fallisce, pero', quando si tratta di distinguere contraddizioni, perche' ogni contraddizione ha estensione nulla in tutti i mondi possibili e pertanto, dal suo punto di vista, tutte le contraddizioni hanno lo stesso significato ("ruota quadrata", "luce buia" e cosi' via). In generale un'espressione di logica intensionale e' una funzione di funzioni, ciascuna delle quali e' a sua volta funzione di funzioni, e non esistono limiti ai livelli di annidamento che e' possibile raggiungere. Per esempio, il verbo "essere" risulta definito da: "un funzionale che porta una funzione dei mondi e dei tempi possibili in entita' e in una funzione dei mondi e dei tempi possibili in funzionali di funzioni di possibili mondi e tempi in funzionali di funzioni di possibili mondi e tempi in entita' in valori di verita' in valori di verita' in valori di verita'". La grammatica di Montague e' pertanto uno dei primi esempi pratici di applicazione del calcolo dei predicati di ordine superiore al primo. Il suo effetto e' di mantenere costante l'estensione della descrizione ma di aumentare a volonta' l'intensione di tale descrizione. L'ordine del calcolo dei predicati a cui ci si appoggia stabilisce infatti il grado di comprensione che puo' essere raggiunto. Ogni ordine superiore permette di affermare qualcosa circa i predicati stessi (i quali a loro volta affermano qualcosa circa l'universo). Per esempio, il predicato "non esiste" descrive qualcosa, ma un predicato di questo predicato potrebbe precisare che "potrebbe esistere", e un ulteriore predicato di questo predicato potrebbe precisare in quale circostanza. Ogni ordine raffina quindi il livello di conoscenza. Negli anni Settanta si contrappongono la tradizione di Austin (atti di discorso, o "speech acts") e quella di Tarski (semantica a condizioni di verita', "truth-conditional semantics"), l'una anti-razionalista, che riconosce al linguaggio una funzione e una origine preminentemente sociali, e l'altra razionalista, legata agli sviluppi della logica. 189 La teoria degli atti di discorso di Austin e' stata proseguita da Henry Grice (1968) e da John Searle (1969). Grice assume che un "principio di cooperazione" sia alla base di qualsiasi conversazione fra due agenti, e che quattro "massime conversazionali" (di massima verita', massima informazione, massima rilevanza e massima chiarezza) presiedano all'impostazione del discorso da parte di chi parla e che l'ascoltatore si serva tanto di cio' che e' esplicitamente detto nel discorso quanto di cio' che e' implicito in esso (le sue "implicature"). Per esempio, l'ascoltatore da' per scontato che chi parla ometta cio' che e' ovvio, e che chi parla non gli stia confondendo le idee. In tal modo, noto un insieme di ipotesi su cio' che il parlante sta tentando di comunicare, e note le massime conversazionali seguite dal parlante per costruire il suo discorso, l'ascoltatore puo' dedurre tutte le implicature e selezionare l'ipotesi che meglio soddisfa quelle massime (le quali si possono riassumere nella meta-regola "dire sempre quel che e' piu' rilevante"). La teoria di Grice rende cosi' conto di fenomeni osservati comunemente: talvolta chi ascolta riesce a capire il discorso di chi parla prima che questi abbia terminato; talvolta chi ascolta riesce a capire piu' di cio' che e' stato detto; e cosi' via. Searle ha costruito invece una logica degli atti illocutori che separa il punto illocutorio di una utterance (a quale delle categorie di atti illocutori appartiene), la sua forza illocutoria (il modo in cui viene detto) e il suo contenuto proposizionale (le proposizioni che vengono affermate da quell'utterance). Per esempio l'utterance "sei appena arrivato e te ne vai gia'?" e' una domanda (Searle le classifica sotto il punto illocutorio "direttiva", perche' impongono all'ascoltatore di fare qualcosa, ovvero di rispondere) che puo' pero' essere pronunciata con toni diversi (amichevole o minaccioso) e che esibisce contenuto proposizionale "sei appena arrivato". David Lewis e Jonathan Bennett (1976) hanno spostato l'attenzione sul concetto di "convenzione": gli individui si capiscono perche' adottano delle convenzioni e il significato ultimo e' semplicemente dato dal rafforzamento di tali convenzioni. Grice sostiene, coerentemente, che il significato stia nell'intenzione di comunicare qualcosa, ovvero di generare una certa credenza nell'uditorio. George Lakoff ha posto l'accento sulla metafora, facendo notare come la potenza inferenziale della metafora consista nella sua capacita' di trasferire nel reame del nonfisico concetti familiari del reame fisico. 190 Con queste teorie il linguaggio umano diventa un caso particolare di comunicazione, e la disciplina che lo studia viene infatti ricondotta a una branca della teoria della comunicazione, secondo il formalismo di Jakobson. La scuola razionalista segue invece l'approccio di Russell nel cercare di definire matematicamente il significato. In realta' e' sempre piu' dubbio cosa si debba intendere per "significato", ovvero il significato stesso della parola "significato". Willard Quine e Donald Davidson hanno messo in discussione la possibilita' di stabilire a cosa una parola si riferisca e cosa voglia significare chi la pronuncia (perlomeno non sono fatti scientificamente affidabili). Quine (1960) sostiene che nessuna massa di dati potra' mai portare a un'interpretazione univoca e inequivoca (e cio' vale anche per le teorie scientifiche: esistono molteplici teorie che potrebbero spiegare i fenomeni elettrici). Meglio sarebbe limitarsi a calcolare le condizioni di verita' dell'insieme di frasi pronunciate, ovvero limitarsi al concetto di "verita'". Anche gli strutturalisti (come Saussure) approdano a un olismo linguistico assai prossimo a Quine, evitando i concetti di significato e significante, concentrandosi sul "segno" e attribuendo al segno un valore che e' funzione dell'intero linguaggio e che non puo' essere cercato al di fuori di tale linguaggio (al limite il "significato" di un'espressione sarebbe l'insieme di relazioni che la legano ad altre espressioni). Davidson (1967) propone una semantica che assegna alle utterance di un agente delle condizioni di verita' interpretabili come credenze di quell'agente compatibili con la sua situazione, e con cio' aggiorna semplicemente la tradizione di pensiero "riduzionista" iniziata con Russell: una proposizione e' vera se e solo se l'agente ha ragione di ritenere che cio' che essa esprime e' vero. All'estremo opposto si situa Hilary Putnam (1975), secondo il quale non e' possibile costruire una teoria semantica che tratti il significato contemporaneamente come comprensione mentale e come riferimento al mondo esterno; non e' possibile cioe' che la stessa teoria renda conto del doppio significato che il concetto di "senso" aveva per Frege, al tempo stesso cio' che la parola indica e cio' che la mente capisce; non e' possibile che una teoria rappresenti l'oggetto indicato dalle espressioni "la stella del mattino" e "la stella della sera" e al tempo stesso rappresenti le due distinte espressioni che la mente e' in grado di capire. Putnam distingue le due componenti del significato, quella materiale (il "riferimento") e quella mentale (o "stereotipo"). 191 In tal modo si possono trattare facilmente tutte le espressioni che possono avere piu' di un valore di verita', per esempio l'espressione "Tu hai torto" detta da due persone diverse: l'espressione e' la stessa, poiche' le due frasi usano le stesse parole, ma vogliono dire due cose diverse (basta sostituire a "tu" il nome della persona per rendersene conto), anzi i loro verita' sono addirittura l'uno l'opposto dell'altro. Invece le frasi "Io ho torto" e "Tu hai torto", pronunciate dalle stesse due persone, vogliono dire la stessa cosa, anche se la dicono con parole diverse. D'altro canto esiste un livello ovvio di interpretazione nel quale la frase "Tu hai torto" vuol dire la stessa cosa chiunque sia colui che la dice. David Kaplan (1986), per esempio, distingue il significato "di contenuto" (il primo) da quello "di carattere" (il secondo). Secondo la "teoria causale della referenza" di Kripke e Putnam l'estensione di una parola viene trasmessa da una catena causale che parte dalle proprieta' del primo oggetto che e' stato riferito con quella parola: una volta stabilito che una certa sostanza si chiama "acqua", si e' indirettamente stabilito (coscientemente o meno) che una sostanza con due parti di ossigeno e una di idrogeno si chiama "acqua". Il riferimento della parola "acqua" si propaga nella comunita' linguistica secondo un certo insieme di convenzioni. Il "significato" di una parola viene generalmente dato in termini di uno stereotipo (tutti sanno cosa sia l'oro), mentre la sua estensione non e' indispensabile (soltanto un esperto e' in grado di stabilire se un certo oggetto sia oro o meno); l'estensione di una parola e' definita in realta' unicamente dalle proprieta' del primo oggetto a cui e' stata associata quella parola (anche se chi l'ha fatto non aveva nozione delle proprieta' dell'oggetto). Da queste considerazioni Putnam deduce anche un'altra importante conclusione: se possiamo definire una parola unicamente sulla base del suo stereotipo, ne consegue che, qualunque cosa esso sia, il significato di quella parola non e' nella nostra mente: i significati non sono nella mente, ma nel mondo. Il tentativo principale di far coesistere tradizione razionalista e anti-razionalista si avra' con la semantica situazionista di John Barwise (1983), che, ispirandosi al realismo ecologico di Gibson e Putnam, sostituisce ai mondi possibili della logica intensionale di Montague le "situazioni". La Linguistica Computazionale L'analisi del linguaggio utilizza generalmente un approccio composizionale: la comprensione di un discorso e' funzione della comprensione delle sue frasi la quale e' funzione della comprensione delle loro parole. 192 L'elemento primitivo e' in realta' la frase, la cui sintassi puo' essere analizzata da un processo di "parsing" per "riconoscere" i suoi costituenti. Il risultato del parsing e' una struttura dati, il "phrase marker", rappresentato sotto forma di un albero di parse che descrive graficamente come la frase e' stata decomposta nei suoi costituenti. Esistono numerosi algoritmi di riconoscimento, ovvero di parser. Le strutture portanti del processo di parse sono le reti di transizioni (transition network) che possono essere ricorsive (RTN) e aumentate (ATN). Furono infatti le ATN, inventate nel 1970 da William Woods, a rendere computazionalmente trattabile la grammatica trasformazionale di Chomsky. Una rete di transizione e' un grafo in cui ogni nodo rappresenta un possibile stato di una macchina a stati finiti e ogni arco rappresenta la transizione da uno stato a un altro stato: ogni frase del linguaggio corrisponde a un possibile percorso del grafo, ovvero al passaggio da uno stato iniziale a uno stato finale attraverso un numero finito di stati intermedi. Ogni stato equivale a compiere un'operazione sull'albero di parse. Alla fine del percorso l'albero risulta costruito. Una rete di transizione deve ammettere ricorsivita', poiche' i linguaggi sono ricorsivi: in una RTN un nodo puo' allora rimandare a se stesso in maniera iterativa. Una RTN e' equivalente a una grammatica non-contestuale. Una ATN e' una RTN "aumentata" con dei registri per contenere risultati parziali e con delle "trasformazioni" che specificano le procedure da compiere durante il passaggio da un nodo ad un altro. Con il programma LUNAR (1972) di Woods, che rispondeva a domande sulle rocce lunari prelevate dalla missione Apollo, ebbe origine l'era moderna dei programmi di elaborazione del linguaggio naturale. Ogni domanda viene tradotta in un linguaggio formale intermedio che e' un'estensione della logica dei predicati del primo ordine. Le espressioni logiche cosi' costruite vengono poi interpretate secondo una "semantica procedurale" che associa a ciascuna espressione una procedura. La procedura consiste nella consultazione del database e quindi nella formulazione della risposta. Anche il programma SHRDLU (1972) di Terry Winograd, che era in grado di comprendere domande e comandi su come disporre sul tavolo un gruppo di solidi geometrici, si serviva di una ATN, di un linguaggio intermedio e di una semantica procedurale. Con i programmi di Schank, che tentano di ricondurre il testo in esame a qualche script noto, ebbe invece origine un altro paradigma, in cui sintassi e semantica sono strettamente accoppiate. Comprendere il testo significa identificare lo script corretto e poi trovare nel testo i parametri che servono a riempire tutte le variabili di tale script. Il programma deve prima capire di trovarsi in una certa "situazione" e poi stabilire cosa puo' succedere in quella situazione. Il processo di parse di un simile programma viene detto "expectation-driven" (Chris Riesbeck, 1974). Per esempio, capito che si 193 tratta di "mangiare", ci si aspetta che vengano citati il mangiante e il mangiato. Il processo di parse guidato dalla semantica conferisce preminenza alla comprensione della frase nella sua globalita'. In questo senso un parser semantico e' in grado di comprendere la frase anche in presensa di errori sintattici o in mancanza di informazione. Gia' Frege metteva in guardia che il significato di una parola non puo' prescindere dal contesto dell'intera frase: la semantica esamina pertanto (almeno) l'intera frase e non le singole parole. L'analisi semantica tratta i fenomeni linguistici che costituiscono delle "ambiguita'", come le anafore (per esempio i pronomi) e le ellissi (per esempio i frammneti di frase), parti del discorso cioe' che fanno riferimento a entita' definite in una parte precedente del discorso. Per esempio, Winograd (1972) stilo' alcune regole euristiche per trovare gli antecedenti dell'anafora; Rieger (1974) defini' classi di inferenza per trovare tali antecedenti; Rachel Reichman (1978) introdusse il concetto di "spazio di contesto" e di gerarchia di "fuochi" al suo interno per limitare il numero di frasi che possono essere pronominalizzate; Bonnie Webber (1978) defini' classi di vincoli che limitano il numero di frasi possibili in un discorso coerente; Candace Sidner (1982) elaboro' una teoria delle regole sintattiche, semantiche, euristiche e di coerenza che possono consentire di calcolare il "fuoco" della frase e pertanto limitare il numero di parole candidate per la risoluzione di un'anafora; infine la stessa Webber nel 1982 esamino' il problema dalla prospettiva opposta: data una frase, quali possibilita' essa offre per anafore nelle frasi future? Il programma della semantica e' in gran parte ancora incompleto. Esistono numerose forme del linguaggio comune, comprensibili facilmente dall'uomo della strada, che ancora eludono un trattamento formale. L'insieme di queste espressioni, delle quali non si come rendere conto, costituisce in un certo senso il dominio empirico della semantica: le interpretazioni multiple ("l'amico dello scrittore CHE si chiama Piero", "tre ragazzi hanno mangiato una pizza"), i dimostrativi ("Quando i milanesi vanno in vacanza LA citta' e' deserta"), gli "entailment", le presupposizioni. L'entailment occorre quando una proposizione e' la conseguenza logica di un'altra proposizione. Una presupposizione e' una proposizione che e' implicita in certe altre frasi: "Questo e' il terzo libro di Piero Scaruffi", vera o falsa che sia, presuppone la proposizione "Piero Scaruffi scrive libri"; e anche la sua negazione "Questo non e' il terzo libro di Piero Scaruffi" presupporrebbe quella stessa proposizione. "Questo e' un libro" e' invece un entailment. 194 Dal punto di vista computazionale i parse guidati dalla semantica consentono di ridurre in maniera sostanziale il numero di possibili percorsi. La sintassi di un linguaggio naturale consente infatti molte piu' cose di quante ne consenta la sua semantica. La semantica restringe il discorso a un sotto-insieme di tutte le frasi possibili, sia perche' esclude alcune frasi che non hanno significato sia perche' limita ulteriormente le frasi possibili in base al contesto in cui sono situate. Fra i programmi di parse (o "parser") piu' influenti realizzati dalla linguistica computazionale vanno citati almeno quello di Mitchell Marcus (1977), che e' il piu' famoso parser trasformazionale, il "Word Expert Parser" di Steven Small e Chuck Rieger (1977), il DIAGRAM di Jane Robinson (1982). Il modello del "word expert" e' un modello distribuito che assomiglia a quelli connessionisti: ogni parola del lessico funge da agente di parse che partecipa con tanti altri agenti di parse ad analizzare la frase, e il significato della parola e' il risultato di questa interazione con le altre parole. La Pragmatica Secondo la "Teoria dei Segni" di Morris esistono tre livelli di comprensione del linguaggio naturale: la sintassi, la semantica, la pragmatica. La pragmatica ha lo scopo di capire l'"intenzione" di un discorso. Se la semantica si limita alla comprensione della singola frase, o di un gruppo di frasi, la pragmatica deve comprendere anche "perche'" il parlante ha usato quella frase o quel gruppo di frasi, qual'e' il suo movente e quale il suo fine. Per esempio, la domanda "sai che ore sono?" ha un'interpretazione semantica molto elementare, ma quell'interpretazione semantica non aiuterebbe a fornire una risposta sensata se la pragmatica non interpretasse anche il fine che quella domanda si pone. Barbara Grosz (1977) ha isolato due concetti fondamentali che sono necessari ad un'analisi pragmatica del discorso: il "fuoco" (il punto su cui il discorso sta tentando di concentrarsi) e il "goal" (l'obiettivo che il discorso di prefigge). Questi due fattori renderebbero conto delle capacita' dialettiche di un agente razionale. Per l'esattezza Grosz ha distinto la struttura intenzionale del discorso, che descrive le relazioni fra il goal del discorso e il goal delle singole frasi, i quali sono messi in relazione fra di loro da opportune gerarchie, la struttura attenzionale del discorso, che descrive la dinamica del fuoco. Il compito dell'agente e' di costruire un discorso sotto forma di un piano di un numero finito di utterance che porti a raggiungere il suo obiettivo. L'agente ragiona sulla base di alcune convenzioni per costruire piani (per esempio, le massime di Grice) e sulle 195 sue convinzioni. La convinzione e' l'insieme di fatti di cui e' a conoscenza e sulla base dei quali interpreta o genera il discorso. (Per esempio, la convinzione e' cio' che stabilisce la differenza fra una bugia e uno sbaglio: se una mia affermazione e' falsa, ma io la credo, ho soltanto commesso uno sbaglio). La pragmatica si occupa in pratica di fenomeni come le espressioni "indexicali" ("qui", "allora", "ieri") e alcune espressioni anaforiche ("lui", "il giorno dopo"); in generale tutte le espressioni per "riferire" le quali e' indispensabile la conoscenza del contesto. Nel suo celebre saggio del 1954 che costitui' uno dei manifesti della linguistica moderna Bar-Hillel asseriva che l'indexicalita' e' una proprieta' intrinseca del linguaggio e che il 90% delle espressioni comunemente utilizzate sono indexicali, ovvero fanno riferimento implicito al parlante, all'ascoltatore, al luogo, al tempo. E' grazie ad esse che e' possibile costruire discorsi in cui una frase segue l'altra con uh fine ben preciso, ed e' grazie ad esse che cio' puo' avvenire con un dispendio minimo di energie. Il primo passo nell'analisi del discorso consiste nel segmentare il testo in sottoinsiemi di frasi, detti "segmenti". Un segmento e' un insieme di frasi che esibisce "coerenza locale": e' possibile riferire anafore ed ellissi di una frase a frasi precedenti del segmento; esiste una continuita' di luogo e di tempo all' interno del segmento; i soggetti e gli oggetti si conservano nel segmento; le ipotesi su cui si basano le frasi sono le stesse (la "modalita'" del testo non muta). Queste relazioni di coerenza vengono riconosciute da appositi "filtri". Per esempio, il filtro di "referenza" esamina se tutte le referenze di una frase (es: i pronomi) sono riconoscibili all' interno del segmento; oppure il filtro di "tempo" verifica che il tempo di una frase sia congruente con quello della frase precedente ("sono uscito; pioveva" va bene, "sono uscito; piovera'" non va bene); etc. Dati dei vincoli di questo tipo e' possibile impacchettare le frasi in segmenti. Una volta limitata l' analisi al segmento, e' piu' semplice scoprire le relazioni causali fra le frasi del segmento. Una delle relazioni causali piu' importanti, e piu' studiate, e' quella di "pianificazione": spesso le varie frasi di un segmento costituiscono un piano di azione per raggiungere un certo obiettivo. Si noti che, dal momento in cui viene riconosciuto un piano, esiste anche un filtro di "piano", per stabilire se la frase successiva e' coerente con il piano attuale. In tal modo il piano che e' appena stato identificato dall' analisi delle frasi diventa a sua volta un ausilio all' analisi delle frasi successive. 196 L' altra relazione cruciale e' quella di fuoco. L' analisi delle frasi genera uno spazio dei fuochi di attenzione (fuoco), e si tratta di far convergere questo spazio. E' l' equivalente di prendere in considerazione diverse ipotesi di interpretazione e man mano porre maggiore o minore enfasi su questa o quella. L' analisi dei segmenti assegna ad ogni segmento una lista di proprieta' strutturali. Per esempio, ne riconosce il "tipo": descrizione, storia, etc. I segmenti vanno poi a loro volta collegati tramite relazioni di coerenza fra le loro proprieta' strutturali. Per esempio, una relazione alquanto comune e' quella di "inclusione": il contesto e l' informazione di un segmento sono un sopra-insieme del contesto e dell' informazione di un segmento precedente (il secondo segmento aggiunge dei "dettagli"). Oppure la relazione di "ordinamento", in cui un primo segmento definisce il contesto che e' necessario per il verificarsi del secondo segmento. E cosi' via. Si tratta, naturalmente, di decidere quali sono le relazioni che possono sussistere fra segmenti. Se il loro numero e' finito, e ragionevole dal punto di vista computazionale, questo approccio potra' portare a un riconoscimento accurato dello svolgimento del discorso. Jerry Hobbs nel 1979 ha tentato di definire una "grammatica di discorso" per i segmenti analoga a quella che si utilizza per riconoscere le frasi. La scuola piu' importante nel campo dell' analisi del discorso e' quella che si ispira alla pianificazione, ovvero che si rifa' alla teoria di Austin e Searle. In questo caso si definisce il discorso come una forma di comunicazione fra due agenti: speaker e listener. Il primo vuole riprodurre un proprio stato mentale nell' altro. Per far cio' si costruisce un "modello" dello stato mentale dell' altro, e poi pianifica una sequenza di frasi. Ogni frase ha il compito di far compiere al listener una transizione di stato mentale. La sequenza e' studiata in maniera tale che il suo effetto sia quello di far compiere al listener una serie di transizioni dal suo stato mentale originario a quello desiderato. Comunemente si dice che il listener deve "ricostruire" lo stato mentale. Da presupposti analoghi, ma da una prospettiva speculare, muovono anche le teorie sulla costruzione del discorso di David McDonald (1980), che considera il discorso come un messaggio codificato secondo un piano di azioni, e di Katherine McKeown, secondo cui la strategia del discorso viene generata da una combinazione di regole, quelle che comunemente si chiamano "tecniche di retorica". 197 Purtroppo questo tipo di pianificazione non si riduce a un semplice "calcolo" della sequenza di frasi. Il listener deve collaborare. Il listener deve "interpretare" queste frasi, e deve interpretarle proprio in termini di "transizioni di stato" per riuscire a capire cosa lo speaker voglia conseguire. La comprensione del discorso diventa pertanto una forma di inferenza: inferire quale piano lo speaker stia seguendo. Da questo si potra' inferire poi quale sia lo stato mentale che e' oggetto del discorso. Il problema e' l' esatto opposto di quello del pianificazione: invece che costruire un piano, occorre capire quale e' il piano in corso di esecuzione. Si noti che in questo modo il listener puo' anche rispondere correttamente agli "indirect speech act", a quelle domande, per esempio, che vogliono dire piu' di quanto sia scritto nelle parole che le compongono. A fronte della domanda "Sai che ore sono ?" il listener deve inferire che il piano consiste nello scoprire che ore sono (e non nello scoprire se il listener sa che ore sono!) e pertanto la risposta corretta e' "le 5 e 30" (e non un semplice "si'"!). Philip Cohen (1978), Raymond Perrault (1978) e James Allen (1979) hanno elaborato tecniche per "inferire" piani che sono basate sul ribaltamento delle tecniche dei sistemi di pianificazione. Particolare attenzione e' stata prestata alle espressioni come "comunque", "cioe'", "poiche'" e cosi' via, che fungono da indizi su cio' che verra' dopo. Il fatto cruciale non e' tanto l'algoritmo di inferenza, quanto riuscire a capire quale sia l'unita' elementare del discorso che puo' essere associata ad un operatore di transizione. La singola frase contiene spesso troppa poca informazione per supporre che il listener passi da uno stato mentale ad un altro soltanto grazie ad essa. Si assume che una unita' di discorso debba esibire perlomeno la proprieta' di coerenza: se un insieme di frasi e' coerente, allora e' possibile interpretarla come l' operatore di un piano. Altre teorie (Rachel Reichman, 1987) prevedono di definire un "contesto" nel quale le frasi possono essere interpretate come mosse "conversazionali", oppure, come quella di Lidia Polanyi (1984), di costruire un "parser di discorso" che partiziona il 198 discorso nelle sue componenti linguistiche e sociali (scherzi, storie, domande, risposte, etc.). Nel 1975 Chuck Rieger propose un'inferenza sul testo basata sulla ricerca di intersezioni fra "catene causali". Riprendendo idee della dipendenza concettuale, una frase viene rappresentata sotto forma di un albero che si sviluppa in tutte le direzioni in cui e' possibile propagare dell'informazione. La catena causale viene generata tramite una classe di inferenze, che vengono applicate ricorsivamente. Se gli alberi di due frasi si intersecano, quell'intersezione rappresenta un percorso che porta dal vertice dell'una al vertice dell'altra. Quel percorso mette in relazione "causale" le azioni descritte dalle due frasi. La Visione Da quando, nel 1960, il primo robot, "The Hopkins' Beast", inizio' a scorazzare per i corridoi dell'universita' alla disperata ricerca di prese della corrente con cui ricaricare le proprie batterie, fedele al principio che l'istinto fondamentale e' quello della sopravvivenza, le ricerche dell'Intelligenza Artificiale relative alla percezione si sono concentrate soprattutto sulla vista. Per convogliare al computer i segnali relativi alla vista (cosi' come quelli relativi al tatto e all'udito) occorre che la macchina sia dotata di un sistema di "sensori" e che tali sensori traducano ogni percezione in una stringa binaria. Se e' piu' o meno chiaro come possano essere costruiti tali sensori (una banale telecamera costituisce un sistema visivo), non e' chiaro come la percezione bidimensionale del mondo venga poi rappresentata internamente e come da tale rappresentazione sia possibile capire che quell'insieme di punti colorati (o di "pixel") rappresenta una scena con certi oggetti, e come poi da un insieme di percezioni sia possibile capire che si tratta di una scena in movimento. Il problema centrale della visione e' pertanto quello di "riconoscere" cio' che si vede. Il sistema visivo umano riesce in qualche modo a capire che un piano di punti colorati e' un insieme di oggetti tri-dimensionali, li separa, li identifica uno per uno, di ognuno comprende il ruolo, la posizione relativa, i dati salienti (per esempio, la distanza approssimativa a cui si trova). Non e' neppure chiaro cosa si intenda per "oggetto", poiche' l'immagine nel suo complesso e' un oggetto, e ogni sua parte puo' essere decomposta in dettagli sempre piu' minuti che sono a loro volta oggetti. Si pensi all' immagine di un' automobile: a quale grado di dettaglio bisogna arrivare per poter dire di aver "inferito gli oggetti che compongono l' immagine" ? Basta aver capito che si tratta di un'automobile? O 199 bisogna anche capire che ci sono ruote, cofano, sedili, volante? Bisogna addirittura riconoscere il clacson e i cerchioni delle ruote? Bisogna giungere ai bulloni? La teoria computazionale del sistema visivo viene detta "visione". A fondarla scientificamente e' stato David Marr nel 1982. Se un'immagine viene percepita come una "matrice" di pixel, e' da tale matrice che occorre estrarre le sue "feature": l'illuminazione, il colore, la profondita' e l'orientazione. E' dalla distribuzione di queste feature che e' possibile distinguere le varie regioni dell'immagine: il confine fra due regioni e' dato dal luogo geometrico in cui le feature cambiano bruscamente valore. Una volta estratte le feature e segmentata l'immagine, occorre riconoscere ogni regione come uno specifico oggetto. Naturalmente a questo punto e' necessario non solo assegnare una sintassi e una semantica alle regioni dell'immagine, ma anche trasformare la proiezione bidimensionale del mondo tri-dimensionale. Nel 1958 Broadbent espresse uno dei principi fondamentali della visione, simile a quello di focus nel linguaggio naturale: in ogni istante esistono dei focus anche per la vista, esiste cioe' un'"attenzione" (attention) particolare per un qualche componente dell'immagine. L'attenzione ha un preciso scopo biologico: serve a ridurre la quantita' di informazioni necessaria per comprendere l'immagine e, in ultima analisi, a proteggere la capienza limitata del cervello. Un'immagine porta infatti potenzialmente un numero infinito di informazioni. In questo caso la plausibilita' fisiologica e l'efficienza computazionale coincidono. Helmholz fu il primo, nel 1866, a proporre un modello di come la mente possa estrarre significato dalla percezione visiva. Helmholz suppone che la mente sia un insieme di ipotesi e che la percezione consista nel selezionare quella giusta. Il modo in cui si forma il significato delle immagini e' del tutto analogo a quello in cui si apprende il significato di una parola: come associando ripetutamente una parola e un certo tipo di oggetti si finisce per associare a quella parola il "significato" di riguardare quel tipo di oggetti, cosi' recependo frequentemente una certa caratteristica (una forma, per esempio) si viene formando in maniera induttiva il concetto di quella caratteristica (di quella forma). A tutti gli effetti sia il linguaggio sia le immagini costituiscono un codice di segni. E' l'esperienza, a sua volta, a guidare la comprensione delle percezioni: una percezione viene compresa sulla base delle percezioni del passato. 200 Estendendo le idee di Helmholz si possono applicare alla visione tanto i concetti schankiani di elaborazione "expectation-driven" quanto i concetti bartlettiani di schemata. Una scena viene compresa sulla base dello schemata relativo esattamente come nel caso del linguaggio, e lo schemata aiuta a "prevedere" le scene successive. Esiste pertanto una libreria di "modelli" di oggetti, dalla quale si tenta di reperire quelli utili per comprendere la scena attuale. La teoria di Helmholz e' anche la piu' vicina alla semiotica. Puo', per esempio, essere utilizzata per spiegare tanto la psicologia della musica quanto la comprensione dei film. Entrambe queste arti utilizzano un sistema di comunicazione assai sofisticato, che il consumatore riesce a capire meglio quanto piu' le conosce. Molti "segni" del cinema sono diventati del tutto intuitivi per lo spettatore medio (uno sperone viene subito associato a un film western, una dissolvenza viene associata a un cambiamento di tempo, e cosi' via), anche se ovviamente non lo erano quando l'arte venne inventata. L'obiettivo finale della visione e' di rispondere al quesito posto da Gibson nel 1966: se il mondo cambia continuamente e cosi' le sensazioni visive che esso suscita in noi, com'e' possibile che la nostra percezione del mondo quotidiano sia invece costante? Il problema e' cioe' come sia possibile estrarre dall'informazione sensoriale quelle proprieta' del mondo che si conservano indipendentemente dal cambiamento continuo del mondo. Devono esistere delle invarianti che rappresentano l'informazione su quelle caratteristiche del mondo che permangono. Il cervello riesce a individuare le invarianti dal cambiamento delle sensazioni. La funzione del cervello sembra essere allora non quella di decodificare messaggi, ma quella di estrarre informazione sull'ambiente dal flusso continuo di sensazioni. In qualche modo il cervello entra in uno stato di "risonanza" con quelle invarianti. Le invarianti a loro volta sono frutto dell'evoluzione darwiniana e riflettono quali aspetti dell'ambiente l'organismo necessiti percepire per sopravvivere: cosi' le rane di Maturana vedono soltanto gli insetti di cui si cibano. Gibson battezzo' questo fenomeno "ottica ecologica". La teoria di Gibson si situa pertanto all'estremo opposto di quella di Helmholz, supponendo una acquisizione passiva di stimoli da parte del sistema visivo laddove Helmholz supponeva una ricerca attiva di ipotesi coerenti. L'Apprendimento Teorie Computazionali dell'Apprendimento 201 Esistono almeno tre diverse scuole di pensiero sulle origini della conoscenza. Secondo la scuola dell'innatismo certa conoscenza e' innata, per esempio quelle sulla struttura causale del mondo e sull'ordine temporale degli eventi. Chomsky assume che sia innata anche la conoscenza necessaria a comprendere il linguaggio. Gli empiristi ritengono invece che la conoscenza derivi dall'esperienza. Per esempio, il significato di una parola viene appreso dall'esperienza di sentire indicare con quella parola un qualche oggetto. Il razionalismo, infine, assume che la conoscenza abbia origine dai processi inferenziali, e un esempio tipico e' la conoscenza di tipo matematico. Le teorie computazionali dell'apprendimento studiano il fenomeno dalla prospettiva degli empiristi. Il tema e' pertanto quello di spiegare in che modo l'esperienza generi conoscenza. Esistono innanzitutto diversi livelli di apprendimento. Il livello piu' banale e piu' passivo e' il cosiddetto "rote learning", l'apprendimento di tipo mnemonico: apprendere consiste nell'"essere istruiti" (per esempio, studiare una poesia a memoria). Un qualsiasi programma puo' essere considerato come una forma di apprendimento da parte del computer: il computer ha appreso come eseguire l'algoritmo corrispondente essendo stato stato istruito dal programmatore. I livelli superiori di apprendimento possono essere meglio definiti sulla base di "cosa" consentono di apprendere che non sulla base di "come" lo apprendono. L'Apprendimento di Procedure Un tipo di apprendimento piu' complesso e' quello "procedurale", che e' relativo alla conoscenza di tipo "competenza" (nella classificazione di Ryle). E' noto che (parafrasando la legge di G. Snoddy del 1926) la performance migliora con la pratica, ovvero che: il tempo necessario per eseguire un'azione motoria decresce esponenzialmente all'aumentare del numero di volte che la si esegue. Allen Newell ha esteso (1981) la legge di Snoddy anche ai processi cognitivi. In questo caso l'apprendimento consiste in un processo di raffinamento progressivo della propria conoscenza, ovvero in una continua approssimazione della propria performance alla performance ideale, in un perfezionamento della propria conoscenza iniziale per adattamento al proprio ambiente. Per esempio, non e' banale imparare ad andare in bicicletta e la destrezza nel pedalare aumenta con l'esperienza. Questo tipo di 202 approssimazione progressiva puo' essere espresso progressivamente come un'equazione in cui i vari termini sono sommati con un peso opportuno: i pesi sono proprio i "parametri" su cui si agisce per migliorare il risultato dell'equazione. Il primo programma ad esibire una qualche forma di apprendimento fu il giocatore di scacchi realizzato da Arthur Samuel nel 1959, il cui apprendimento veniva appunto ricondotto a imparare i coefficienti di una "funzione di valutazione" polinomiale. Estendendo l'idea di Clayton Lewis (1978) della "composizione di produzioni" (riassumere piu' regole in una regola sola), SOAR di Paul Rosenbloom apprende procedure (o meglio "skill") grazie al meccanismo di "chunking" (originariamente proposto da Miller nel 1956): la conoscenza viene acquisita in chunk che sono insiemi strutturati di informazioni presenti nel momento in cui la conoscenza e' stata acquisita. Cosi' a fronte di una nuova situazione SOAR costruisce il relativo "chunk" di informazioni: il chunk descrive quella situazione e la risposta prodotta per tale situazione. Il chunk viene costruito (ovvero "imparato") la prima volta che la situazione si presenta. Le situazioni (espresse come regole di produzione) che il programma e' in grado di risolvere sono organizzate in una gerarchia: all'inizio SOAR "impara" soltanto quelle terminali, poi poco alla volta anche quelle dei livelli superiori. Ogni nuovo livello comporta un aumento esponenziale nella velocita' di risposta. In tal modo si simula il modo in cui vengono apprese le competenze e il modo in cui l'apprendere competenze via via piu' complesse migliora progressivamente anche la performance: la curva di apprendimento di SOAR e' esattamente quella prevista dalla legge empirica di Snoddy. L'Apprendimento di Concetti L'apprendimento di concetti e' relativo al problema di organizzare una grande moltitudine di esperienze sensoriali in un numero limitato di simboli. Teoricamente esistono infiniti modi di partizionare l'universo delle esperienze in categorie. Rosch (1978) ha postulato che un principio di "economia cognitiva" presieda a questo processo e determini l'unico modo realmente possibile: minimizzare il numero di categorie massimizzando al tempo stesso l'informazione contenuta in ciascuna di esse. Una categoria che, per assurdo, contenesse tutto lo scibile soddisferebbe il primo requisito, ma non il secondo, poiche' non potrebbe fornire alcuna informazione utile. All'estremo opposto una suddivisione dello scibile in tante categorie quante sono le esperienze soddisferebbe il secondo requisito poiche' ogni categoria fornirebbe un'informazione estremamente precisa sui propri membri, ma non il primo. L'ideale e' a meta' strada. La differenza fra l'apprendimento mnemonico e l'apprendimento di un concetto comporta generalmente un notevole salto di qualita' per le capacita' di ragionamento. Esiste un'ovvia differenza di efficienza fra l'avere imparato a memoria tutte le possibili soluzioni di teoremi matematici e l'aver imparato cosa significa in generale dimostrare un teorema. 203 Una possibile definizione di tipo operativo e' la seguente: un concetto e' una regola di classificazione (detta "funzione di valutazione") in base alla quale un dominio di istanze viene partizionato in istanze che soddisfano la regola e istanze che non la soddisfano. Questa definizione ha il vantaggio di identificare il concetto tanto con la regola che serve a selezionare le sue istanze, quanto con l'insieme di tali istanze, quanto infine con la "categoria" che viene cosi' creata. Un concetto puo' essere appreso in tre modi fondamentali, corrispondenti a induzione, deduzione e abduzione: generando una regola da un insieme di esempi pratici del concetto (Patrick Winston, 1970); costruendo la regola sulla base di una descrizione del concetto (Gerlad DeJong, 1981); trasferendo alla regola le proprieta' di un concetto analogo (Patrick Winston, 1979). I sistemi di apprendimento deduttivo "imparano" un concetto nel senso che trasformano la descrizione di un concetto in una regola di classificazione utilizzando un esempio pratico come riferimento. L'apprendimento deduttivo rende cioe' un concetto in una forma che possa essere utilizzata praticamente per classificare istanze: il suo scopo e' di rendere "operazionale" un concetto gia' noto. E' deduttivo in quanto non aggiunge nuova conoscenza, ma "trasforma" soltanto quella gia' disponibile. Mentre le analisi compiute dai metodi empirici sono semplicemente analisi di tipo sintattico su grandi insiemi di istanze, l'apprendimento deduttivo consiste nello studio approfondito di una singola istanza: il sistema costruisce una "spiegazione" di perche' quell'istanza sia un esempio del concetto, e tale spiegazione, debitamente generalizzata, costituisce allora una regola per riconoscere anche future istanze dello stesso concetto. Tom Mitchell (1986) identifica tale spiegazione con una dimostrazione logica del perche' quell'istanza appartenga a quel concetto e identifica la sua generalizzazione con le condizioni generali sotto cui tale dimostrazione vale. Piu' comune e' l'apprendimento induttivo, che e' stato studiato nei secoli da diversi pensatori. Propedeutico a ogni forma di induzione e' l'essere in grado di costruire "generalizzazioni" delle istanze note. Nei sistemi di produzione cio' e' possibile tramite accorgimenti come quelli adottati da John Anderson nel 1978: una regola puo' essere generalizzata eliminando qualche condizione nella sua premessa e sostituendo costanti con variabili. 204 L'intera scienza umana e' fondata in gran parte su un meccanismo di tipo induttivo: da un certo numero di dati empirici ricavare una legge generale che li spieghi. Il processo mentale che consente di pervenire alla legge generale e' quello appunto della "generalizzazione", per cui si estraggono le proprieta' (le "feature") comuni a tutte le istanze. Costruire una regola di classificazione significa allora, secondo il punto di vista tradizionale di Jerome Bruner (1956), identificare per ogni categoria un insieme di features che consentano di discriminare fra le istanze che appartengono a tale categoria e istanze che non le appartengono. Nel contesto dei sistemi di produzione John Anderson propone banalmente di identificare l'insieme di features con la premessa della regola di classificazione cercata e la categoria con il suo conseguente. Lo "spazio delle istanze", che contiene tutte le possibili istanze positive e negative (tutti gli esempi e i contro-esempi) di tutti i possibili concetti, corrisponde a uno "spazio delle descrizioni", che contiene tutte le possibili descrizioni di istanze e insiemi di istanze a tutti i possibili livelli di astrazione. Ogni concetto copre un sottoinsieme dello spazio delle istanze e un sotto-insieme dello spazio delle descrizioni. Un'altra astrazione equivalente e' quella dello spazio delle feature: ad ogni istanza sono associate le sue proprieta', ovvero i valori di un certo numero di attributi; lo spazio delle feature e' lo spazio multi-dimensionale in cui ogni attributo corrisponde a una dimensione, ogni valore a un valore sull'asse di quella dimensione, e ogni istanza a un punto nello spazio. Apprendere un concetto a partire da un insieme di sue istanze equivale allora a costruire il relativo sotto-insieme nello spazio delle istanze (o nello spazio delle feature) e ad identificare il corrispondente sotto-insieme dello spazio delle descrizioni. Esistono in generale infiniti insiemi di descrizioni che coprono tutte le istanze positive e nessuna delle istanze negative. Se le istanze positive sono, per esempio, 1, 2 e 3, e le istanze negative sono 4,5 e 6,9, una possibile descrizione e' "l'insieme dei numeri interi"; ma un'altra possibile descrizione e' "l'insieme dei numeri che contengono le cifre 1,2 e 3", e un'altra ancora e' "l'insieme dei numeri che sono minori di 4", e cosi' via. Ogni descrizione coerente con le istanze e' un'"ipotesi candidata". L'insieme di tutte le possibili ipotesi candidate costituisce un altro spazio, detto "spazio delle versioni". Uno spazio delle versioni e' cioe' l'insieme di tutte le generalizzazioni coerenti con l'insieme attuale delle istanze. Le ipotesi candidate di uno spazio delle versioni possono essere parzialmente ordinate dalla relazione di generalita', ovvero dalla relazione di inclusione dei corrispondenti sotto-insiemi nello spazio delle istanze: l'estremo limite inferiore e' dato dall'ipotesi che non generalizza per nulla le istanze esaminate, l'estremo limite superiore e' dato dall'ipotesi che copre 205 tutte le possibili istanze dell'universo. In tal modo lo spazio delle versioni assume la struttura di un tipo particolare di grafo diretto, detto "aciclico" (ogni arco e' diretto da un nodo a un altro nodo in maniera tale che non possano esserci ricicli all'indietro). Per definizione tutti gli elementi dello spazio delle versioni sono coerenti con le istanze, ma naturalmente l'obiettivo e' quello di selezionare l'elemento "migliore" dal punto di vista sia computazionale sia psicologico. Gli algoritmi di apprendimento induttivo si possono dividere sulla base di come procedono per selezionare tale elemento. Negli algoritmi "model-driven" ogni nuova istanza specializza ulteriormente la descrizione attuale, negli algoritmi "data-driven" ogni nuova istanza generalizza ulteriormente la descrizione attuale. I primi partono con la descrizione piu' generale possibile, i secondi partono con la descrizione meno generale che copra le prime istanze. Per esempio, l'algoritmo data-driven di Winston (1970) assume come descrizione iniziale del concetto una qualsiasa istanza positiva; se l'istanza successiva e' positiva, e non soddisfa la descrizione attuale, rende la descrizione piu' generale in modo da comprenderla; se invece e' negativa, e soddisfa la descrizione attuale, rende la descrizione meno generale in modo da non comprenderla; poi ripete questi passi per tutte le istanze finche' l'algoritmo converge a una descrizione stabile. L'algoritmo di Winston e' un tipico algoritmo "incrementale", fedele al principio psicologico che l'apprendimento di un nuovo concetto avvenga per gradi. L'algoritmo di Ryszard Michalsky (1978) non e' invece incrementale, pur avendo un obiettivo simile: costruire l'insieme minimo di tutte le descrizioni piu' generali che generano tutti gli eventi positivi e non generano nessuno degli eventi negativi. Michalsky produce una descrizione del concetto sotto forma di una disgiunzione di congiunzioni, il che' e' equivalente a un sistema di produzione (un insieme di regole e' una disgiunzione di congiunzioni). L'algoritmo di Tom Mitchell (1978) formalizza sia il rendere "piu' generale" sia il rendere "meno generale" attraverso l'astrazione dello spazio delle versioni. Le descrizioni meno generali che sono ancora coerenti con l'insieme di istanze positive analizzato sono gli elementi "minimali" di tale spazio; viceversa le descrizioni piu' generali che sono ancora coerenti con l'insieme di istanze negative analizzato sono gli elementi "massimali". Il modo ottimale di convergere a una descrizione e' quello di rendere sempre meno generali gli elementi massimali e sempre piu' generali gli elementi minimali: ogni istanza positiva sposta il limite inferiore verso la minima 206 generalizzazione dei casi positivi finora presi in esame, e ogni istanza negativa sposta invece il limite superiore verso la massima generalizzazione che non comprende i casi negativi considerati finora. Ogni nuova istanza provoca pertanto una revisione sia dell'uno sia dell'altro finche' i due limiti non diventino identici. La tecnica dello spazio di versioni riflette l'incertezza dell' apprendimento. Raramente un concetto viene appreso subito in maniera precisa. E' piu' normale che per un lungo periodo il concetto resti piu' o meno vago. Lo spazio di versione di Mitchell rappresenta la conoscenza imparata in maniera ancora incompleta. James Fetzer (1981) ha cosi' riassunto le proprieta' della deduzione: una deduzione e' valida se a) la sue conclusioni non potrebbero essere false se tutte le sue premesse fossero vere; b) la conclusione non contiene piu' informazione di quanta ne contenessero le sue premesse; c) l'aggiunta di premesse non puo' ne' rafforzare ne' indebolire questa conclusione, che e' pertanto "massimamente forte". In altre parole la deduzione e': dimostrativa, non-ampliativa e additiva. Lo scopo della deduzione, infine, e' quello di conservare la verita'. Al contrario Fetzer definisce "propria" un'induzione se a) la sua conclusione potrebbe essere falsa anche se tutte le sue premesse fossero vere; b) la sua conclusione contiene piu' informazione di quanta ne contenessero le sue premesse; c) l'aggiunta di premesse puo' sia rafforzare sia indebolire questa conclusione. In altre parole l'induzione e': non-dimostrativa, ampliativa e non-additiva. Naturalmente anche una banalissima deduzione sbagliata potrebbe soddisfare queste condizioni, pur non essendo un'induzione. Queste sono pertanto soltanto condizioni necessarie, mentre non e' ancora stato raggiunto un accordo su quale possa essere una condizione sufficiente che consenta di definire in maniera univoca l'induzione. La critica portata all'induzione fin dai tempi di Hume e' che risulta impossibile "convalidare" la conoscenza acquisita. Non esiste cioe' un metodo esatto per accertarne la verita': ogni ipotesi induttiva ha potenzialmente un numero infinito di consequenze, mentre si conosce soltanto un numero finito di casi confermati. In altre parole il computer puo' ricavare un insieme infinito di generalizzazioni, e poi deve "indovinare" quella giusta, senza avere altra informazione che quei casi. Winston ha fatto notare che un buon insegnante non fornisce ai suoi allievi un insieme casuale di esempi, ma un insieme di esempi accuratamente preparato affinche' gli studenti apprendano il concetto giusto. 207 Un'altra conseguenza del suo "non essere esatto" e' che l'apprendimento induttivo conserva la falsita', non la verita'. Per esempio, dalla nozione che "l'Italia confina con la Svizzera" si puo' indurre che "ogni stato Europeo confina con la Svizzera", ovvero da una verita' e' possibile indurre una falsita': l'induzione non conserva pertanto la verita'. Dalla nozione invece che "l' Italia confina con la Cina" non e' possibile indurre alcuna affermazione vera, cioe' da una falsita' si possono indurre soltanto altre falsita' e pertanto l'induzione conserva la falsita'. Purtroppo la conservazione della falsita' e' di scarso interesse pratico. Pur non esistendo un metodo per validare un'inferenza induttiva, esistono dei requisiti affinche' essa sia completa e coerente. Gli algoritmi di induzione pervengono alla fine a una descrizione che e' una combinazione logica di altre descrizioni, in parte "caratteristiche", cioe' descrizioni degli elementi comuni a tutti gli oggetti della classe esaminata, e in parte "discriminanti", cioe' descrizioni degli elementi che non sono comuni a nessun'altra classe: le prime esprimono la condizione di completezza dell'inferenza induttiva, le seconde esprimono la sua condizione di coerenza. Un'inferenza induttiva e' accettabile soltanto se e' completa e coerente, ovvero se e' una congiunzione di caratteristiche e discriminanti. Seguendo un'idea di Putnam del 1963, nel 1967 Gold ha definito formalmente il paradigma per accettare un'inferenza induttiva, la cosiddetta "identificabilita' nel limite": un'inferenza induttiva e' accettabile se dopo un certo numero di istanze positive produce l'ipotesi corretta e, per tutte le successive istanze positive, non cambia piu' ipotesi. Un altro problema dell'apprendimento di concetti e' che si rifa' a una visione classica del "concetto" definito come insieme di proprieta', una visione che risale agli studi di Hull (1920). In generale cio' non e' pero' possibile: quali proprieta' caratterizzano e quali discriminano un uccello? Anche gli insetti e persino qualche mammifero (il pipistrello) hanno le ali; alcuni uccelli non hanno il becco, altri non volano. Se anche fosse possibile elencare le proprieta' che consentono di classificare senza dubbio un uccello come tale, e' probabile che un uccello a cui sia stata amputata un'ala verrebbe ancora riconosciuto come tale, benche' non soddisfi piu' quelle proprieta'. E' psicologicamente piu' plausibile l'ipotesi di Eleanor Rosch (1975) che una categoria sia definita non da un insieme di proprieta' ma da un "prototipo" e che la classificazione di un'istanza consista non in una regola che esamina le proprieta' dell'istanza ma in una funzione che calcola la somiglianza di questa nuova istanza con il prototipo. 208 Al tempo stesso L. Rips (1989) ha dimostrato che il prototipo non e' sufficiente a determinare una classificazione. Supponiamo di aver imparato i concetti di "fede" (l'anello di matrimonio) e "pneumatico" dopo aver visto centinaia di esempi di fedi e di pneumatici, e che quindi il prototipo di fede sia un anello di circa un centimetro di diametro e il prototipo di pneumatico sia un anello di circa mezzo metro di diametro; se dobbiamo classificare in una delle due classi "fede" o "pneumatico" un anello del diametro di cinque centimetri, sceglieremo probabilmente "pneumatico", benche', in termini strettamente di "somiglianza", cinque centimetri siano molto piu' prossimi a un centimetro che non a mezzo metro. La ragione e' semplice: oltre al prototipo abbiamo chiaro anche il grado di "flessibilita'" di quel concetto. Benche' non ci sia mai stato presentato un pneumetico di cinque centimetri, sappiamo che i pneumatici possono essere di dimensioni assai variabili, mentre le fedi sono delle dimensioni di un dito e le dimensioni di un dito non possono variare piu' di tanto. In altre parole oltre a confrontare l'istanza con il prototipo, siamo anche in grado di compiere inferenze, e tali inferenze hanno priorita'. L'Apprendimento di Teorie All'induzione "per esempi", ovvero tramite un "istruttore" che specifica quali esempi costituiscono istanze positive e quali costituiscono istanze negative, si contrappone l'induzione "per scoperta", in cui le istanze vanno raggruppate senza avere alcuna informazione. Il primo caso e' un processo di "discrimination": scoprire le regole di classificazione che consentono di riconoscere gli esempi di un concetto. Nel secondo caso si tratta invece di scoprire le regolarita' presenti nelle feature delle istanze e usare tali regolarita' per partizionare lo spazio delle istanze. Questo processo di "clustering" (di formazione di tassonomie) da' cosi' luogo alle stesse regole di classificazione dell'induzione per esempi, ma senza sapere a priori quali istanze rappresentano il concetto. E' possibile partizionare un insieme di istanze anche su basi puramente statistiche (ovvero sulla base di una misura di similarita'), ma un concetto risultera' definito soltanto in maniera estensionale, ovvero dall'insieme delle istanze che gli appartengono. Le definizioni estensionali non hanno potere predittivo, non consentono cioe' di stabilire se una nuova istanza appartiene o meno allo stesso concetto (occorre calcolare la "distanza" di tale nuova istanza da tutti i concetti per rispondere a quella domanda). Se so che il gatto, il cane e il cavallo sono mammiferi, mentre l'aquila e il canarino sono uccelli e la trota e' un pesce, non ho elementi per classificare l'elefante, a meno di stabilire a quale dei tre gruppi esso sia piu' simile. 209 Michalsky (1980), utilizzando una variante del calcolo dei predicati del primo ordine, ha fondato le basi del clustering moderno che produce concetti definiti dalle loro intensioni: non solo la definizione del concetto risulta molto piu' "breve", e quindi computazionalmente utile, ma puo' servire a discriminare immediatamente se una nuova istanza appartiene o meno allo stesso concetto. Se so che i mammiferi non fanno le uova, so subito classificare l'elefante come mammifero. Michalsky da' un senso alle partizioni dello spazio delle istanze. Analogamente il programma di Michael Lebowitz (1984) riconosce regolarita' fra le istanze e costruisce quindi (in maniera incrementale) una gerarchia di generalizzazioni. Il clustering di concetti e' fondamentale per poter studiare come gli umani formino teorie a partire dalle osservazioni di fenomeni. La scoperta scientifica consiste appunto nel formulare leggi che spieghino le regolarita' di un certo numero di istanze. Il primo a studiare l'euristica che gli scienziati utilizzano per scoprire nuove teorie, ovvero per indurre nuove funzioni da un insieme di dati sperimentali, fu D. Gerwin nel 1974. Il programma AM (1977) di Douglas Lenat simula, per esempio, come si comporta un matematico guidato dall'intuito nello scoprire una nuova teoria scientifica. I concetti vengono pertanto formati non sulla base di semplici similarita', ma sulla base di quell'euristica che e' comune a tutti gli scienziati: per esempio, i casi estremi di una funzione sono sempre interessanti; i punti di discontinuita' anche; e cosi' via. L'euristica svolge di fatto la funzione dell'"intuito" che focalizza l'attenzione della ricerca in una certa direzione. Il programma BACON (1977) di Pat Langley scopre le leggi della fisica inducendo ipotesi dai dati empirici e raffinandole con ulteriori esperimenti. La sua euristica si focalizza ovviamente sulla ricerca di "regolarita'". Sono programmi che incorporano il buon senso di un qualsiasi ricercatore scientifico e che producono modelli qualitativi del mondo. L'Apprendimento di Euristica L'ingegneria della conoscenza tratta prevalentemente la conoscenza delle "rules of thumb", del "buon senso", che e' assai diversa da quella formale ed esatta delle scienze. L'acquisizione di tale conoscenza avviene prevalentemente in modo manuale attraverso un'"intervista" all'esperto che e' un deposito vivente di essa. Un primo modo di automatizzare l'apprendimento della conoscenza "esperta" e' stato quello di costruire programmi in grado di imparare "osservando" l'esperto al lavoro, i cosiddetti "sistemi apprendisti" (learning apprentice systems). Questa strada e' stata tentata da Mitchell (1986), da Dietterich (1987) e da Michalsky (1987). Il sistema apprendista chiede consiglio all'esperto su come risolvere un problema, verifica che il 210 consiglio funziona e acquisisce poi una regola di produzione che incorpora tale consiglio. Il buon senso e' pero' qualcosa che dovrebbe valere in assoluto, e non essere specifico ad un particolare dominio. Un'altra possibilita' e' proprio quella di studiare la natura e le origini del buon senso in maniera astratta e di costruire poi programmi che siano in grado di apprendere buon senso in maniera autonoma. Il buon senso puo' essere definito come: cio' che e' implicito negli atti di comunicazione fra umani. Come tale, avrebbe origine da un principio di economia delle comunicazioni: gli umani tendono sempre a minimizzare gli atti di comunicazione e a massimizzare l'informazione trasmessa. Si acquisirebbe pertanto tramite il processo che Minsky ha chiamato "sedimentazione cognitiva": durante ogni conversazione ciascun agente acquisisce conoscenza sulle conoscenze dell'altro agente. Un fenomeno piu' generale e' quello della scoperta attraverso la soluzione di problemi. Negli anni Quaranta George Polya fondo' l'Euretica, la scienza che studia come l'Euristica viene creata, da dove trae il suo potere di convinzione, come si modifica, etc. E' evidente che un individuo ricorre alle sue capacita' inferenziali solo in casi molto rari, solo quando non riesce a trovare alcuna "euristica" che gli consenta di arrivare alla soluzione in maniera spontanea. Quando manca l'euristica, la velocita' computazionale della mente umana si riduce di ordini di grandezza. Un essere umano che non possedesse alcuna euristica dovrebbe risolvere ogni singolo problema della sua giornata (dal mangiare la colazione al prendere l'autobus) compiendo complicate inferenze su situazioni estremamente intricate. E probabilmente non riuscirebbe a sopravvivere. In ultima analisi scopo dell'Euretica e' studiare non l'Intelligenza, ma la Saggezza. L'Euretica tenta di trovare una risposta a due principali domande: come si genera una regola euristica, ovvero da cosa ha origine il buon senso? da cosa deriva il potere di convinzione di questo tipo di regole, ovvero la fiducia che riponiamo nel buon senso? E' impressionante la priorita' che esse hanno sulla nostra capacita' di ragionamento: non appena ci rendiamo conto di poter applicare una delle nostre regole euristiche, 211 abbandoniamo istantaneamente ogni linea di ragionamento e ci affidiamo totalmente a tale regola. Il maggiore "euretico" dell' Intelligenza Artificiale e' Lenat, il cui programma EURISKO (1977) dovrebbe scoprire nuove regole euristiche da se', utilizzando a sua volta la sua euristica di partenza: fonti di euristica sarebbero, per esempio, l'analogia con altra euristica, la specializzazione di altra euristica e la generalizzazione di altra euristica. Indirettamente Lenat suggerisce che la regolarita' del mondo sia una delle ragioni per fidarsi delle regole euristiche. Il programma SAGE (1983) di Langley studia invece come avviene la transizione dallo stadio di inesperienza a quello di esperienza: se l'esperienza viene definita come "la capacita' di dirigere verso direzioni ottimali la ricerca della soluzione", tale transizione consiste nel trasformare strategie di ricerca generali, ma "deboli" (come means-end analysis), in strategie potenti ma specifiche del dominio di applicazione. LEX (1981) di Tom Mitchell impara l'euristica necessaria per risolvere problemi di calcolo integrale in maniera efficiente basandosi su un principio analogo: un sistema apprende nel senso che usa informazioni ottenute durante un'interazione con il proprio ambiente per migliorare la propria performance durante future interazioni. Il programma impara risolvendo esercizi: al principio conosce soltanto le regole piu' semplici del calcolo degli integrali, applicando le quali prima o poi arriva alla soluzione. Dopo ogni esercizio LEX rivede pero' criticamente il percorso seguito per giungere alla conclusione, e ne ricava nuova euristica per il futuro. Nel 1986 Lenat ha iniziato il progetto CYC, il cui obiettivo e' di costruire un'enciclopedia del senso comune. In un certo senso CYC sara' l'esatto complementare di una normale enciclopedia: conterra' cioe' tutte le informazioni che non sono contenute in un'enciclopedia, le quali sono a loro volta proprio le informazioni che servono per poter capire le informazioni fornite da un'enciclopedia. Nessun essere umano conosce tutte le informazioni contenute in un'enciclopedia, ma tutti gli esseri umani condividono le informazioni che sono necessarie per interpretare le informazioni di un'enciclopedia, infatti tutti gli esseri umani sono in grado di consultare l'enciclopedia. 212 Paul Feyerabend e Wilfrid Sellars (1963) hanno studiato la psicologia "folk" (o "intuitiva") che guida le inferenze dell'uomo della strada circa le azioni delle persone: se voglio una cosa e so che comprando una cosa ottengo quella cosa, allora e' probabile che comprero' quella cosa; se una persona che odiava la vittima viene trovata sul luogo del delitto con una pistola fumante in mano, allora e' lecito credere che quella persona sia l'assassino; e cosi' via. E' l'analogo per la mente della fisica "folk" di McCloskey. Secondo Feyerabend e Sellars la psicologia folk costituisce a tutti gli effetti una teoria completa e coerente e ogni singolo concetto della psicologia folk, ovvero ogni singola istanza di buon senso riferita al comportamento umano, e' spiegabile come conseguenza di tale teoria. E' naturale domandarsi di nuovo da cosa abbia avuto origine la psicologia folk, soprattutto visto che si configura come una vera e propria teoria e non soltanto come un insieme piu' o meno casuale di convinzioni. Il Connessionismo Le teorie computazionali che fanno riferimento a processi mentali (ovvero quelle cognitive) non sono ovviamente compatibili con il modello behaviorista del condizionamento, secondo il quale l'unica forma di apprendimento e' invece quella dovuta all'acquisizione di coppie stimolo-risposta. Il modello connessionista ha origine invece da una prospettiva behaviorista. Nel modello connessionista un sistema intelligente e' una rete di piccole unita' indipendenti, detta "rete neurale". Ogni unita' (corrispondente a un neurone) esegue task molto semplici che richiedono capacita' molto specifiche e comunica con altre unita'. La quantita' di intelligenza e' una misura dei messaggi scambiati sulla rete. Una rete neurale e' pertanto una struttura di elaborazione parallela e distribuita, in forma di grafo diretto (non lineare), che rappresenta un agente tropistico (capace cioe' di reagire a ogni stimolo con una risposta senza stati cognitivi intermedi). Ogni elemento di elaborazione (ogni nodo) riceve numerosi segnali di input da altri nodi ed emette a sua volta un solo segnale di output, che si propaga lungo le interconnessioni con altri nodi. Le interconnessioni (le "sinapsi") hanno un "peso sinattico", e questi pesi possono fluttuare in maniera continua. Un sistema "dinamico" e' un sistema in grado di modificare nel tempo la sua risposta. Affiche' sia dinamico un sistema deve essere regolato da due funzioni: una "di trasferimento", che stabilisce come l'input viene trasformato nell'output, e una "di apprendimento", che stabilisce come la funzione di trasferimento viene trasformata nel tempo sulla base dei suoi output. 213 Un sistema "adattativo" e' un sistema dinamico in grado di modificare la propria risposta sulla base della sua esperienza. Il primo a sviluppare una teoria formale del cervello che lo concepisse come un sistema adattativo, ovvero come un campo di variabili nel tempo, fu Ross Ashby nel 1960. In questo caso la funzione di apprendimento sfrutta cioe' il concetto di feedback, di restituire in input al sistema i suoi stessi output. L'obiettivo, come in tutti i sistemi dotati di feedback, e' di raffinare la funzione di apprendimento sulla base della performance del sistema. La funzione di apprendimento e' determinata in generale da un sistema di equazioni differenziali del primo ordine. La funzione di trasferimento descrive invece soltanto il comportamento del neurone in un certo istante, ed e' in generale un'equazione lineare che somma i singoli input moltiplicandoli ciascuno per uno specifico coefficiente. Cio' che evolve nel tempo per effetto della funzione di apprendimento sono proprio tali coefficienti. La funzione di trasferimento e' del tipo .ce output = F( C1 x input1 + C2 x input2 + ...) mentre quella di apprendimento e' del tipo .ce Feedback1 (C1, C2, C3, ...) = 0 .ce Feedback2 (C1, C2, C3, ...) = 0 .ce .......etc........ Un sistema "auto-organizzantesi" e' un sistema adattativo che puo' essere addestrato per esibire un certo comportamento. In questo caso la funzione di trasferimento deve convergere verso un output stabile nel tempo. La rete neurale viene "addestrata" presentandole diverse istanze del corretto comportamento. Ogni istanza (o, meglio, ogni feedback a seguito di un'istanza) provoca una riconfigurazione dei pesi delle sinapsi (ovvero dei coefficienti della funzione di trasferimento). Se, man mano che si sottopongono istanze, tali pesi convergono verso una configurazione stabile, allora la rete neurale sta "imparando" correttamente. Tramite il feedback fra i varii nodi l'informazione continua a propagarsi finche' il sistema raggiunge un nuovo stato di equilibrio. 214 Infine una "memoria associativa" e' una memoria che emette come output il segnale piu' fortemente associato all'input. Una rete neurale puo' ora essere definita formalmente come un sistema auto-organizzantesi che sia anche una memoria associativa. Per facilita' di calcolo i nodi di una rete neurale vengono generalmente disposti a "strati". Il primo strato e' quello che riceve la configurazione dell'input (l'input e' solitamente un insieme di segnali piuttosto che un segnale unico) e l'ultimo strato e' quello che emette la configurazione di output. Gli strati intermedi, i cosiddetti strati "nascosti", non hanno un significato preciso benche' la loro funzione sia spesso quella di costruire i concetti da cui gli output possono essere derivati. Sono importanti dal punto di vista computazionale poiche' possono facilitare la costruzione di generalizzazioni: quanto piu' grande e' uno strato tanto piu' rapida, ma limitata, e' la generalizzazione; quanto piu' piccolo e' uno strato tanto piu' lenta, ma precisa, e' la generalizzazione. Un input alla rete neurale puo', per esempio, essere l'immagine di un viso, che consiste di migliaia di punti. Queste migliaia di punti vengono fatti corrispondere a migliaia di nodi del primo strato. Se, per esempio, l'immagine e' in bianco e nero, ogni punto e' definito da un valore di intensita' (dallo zero del bianco totale all'uno del nero totale). Il valore di ogni punto costituisce il valore di input del rispettivo nodo. Ogni nodo esegue la sua funzione di trasferimento e, se viene superato il valore di soglia, trasmette il valore di output cosi' calcolato agli altri nodi con cui e' connesso. I nodi del primo strato intermedio ricevono pertanto combinazioni di valori di input che sono combinazioni dei valori di output calcolati dalle funzioni di trasferimento dei nodi dello strato di input. A loro volta eseguono la stessa funzione e propagano i loro valori di output verso i nodi del secondo strato intermedio con cui sono connessi. Quando, dopo "n" strati nascosti, si giunge all'ultimo strato, gli output dei suoi nodi costituiscono la risposta del sistema. E tale risposta puo', per esempio, essere costituita dalle lettere che compongono il nome della persona a cui appartiene tale viso. Affinche' la rete possa fornire i corretti output deve essere stata prima addestrata. Durante l'addestramento gli input daranno origine ad output errati, e la rete, preso atto di quale avrebbe dovuto essere l'output corretto, dovra' di volta in volta riconfigurare i pesi delle sinapsi. Questa operazione di riconfigurazione avviene sulla base della legge di Hebb, di rafforzare cioe' le interconnessioni in proporzione al loro uso. Una variazione e', per esempio, la "regola Delta" di Bernard Widrow e Marcian Hoff (1960), a sua volta una generalizzazione della regola di apprendimento del Perceptron (Frank Rosenblatt, 1957), secondo la quale il peso di una sinapsi va rafforzato di una 215 quantita' che e' proporzionale alla differenza fra l'output fornito e l'output atteso (e cosi' via ricorsivamente per gli strati intermedi). Quando l'apprendimento della rete e' "supervisionato", la rete viene di fatto addestrata a riconoscere gli elementi di alcune categorie pre-definite. Per esempio, una rete neurale puo' essere addestrata a riconoscere il volto di una persona presentandole in input diverse prospettive (istanze) di quel volto e richiedendo che l'output generato sia il nome di quella persona (ovvero che quelle istanze vengano classificate nella categoria identificata dal nome di quella persona); dopo aver ripetuto l'operazione un grande numero di volte, la rete dovrebbe essere in grado di associare a una nuova, diversa fotografia di quel volto ancora il nome di quella persona. La rete neurale puo' anche essere utilizzata per costruire categorie, nel qual caso non viene addestrata, ma e' la rete stessa a decidere come partizionare l'insieme delle istanze. In questo secondo caso, non supervisionato, il ruolo dei nodi nascosti e' determinante. Le differenze fra reti neurali e computer alla Von Neumann sono numerose: In un computer la conoscenza e' contenuta in un luogo ben preciso, la memoria, mentre in una rete neurale la conoscenza non e' localizzabile, e' distribuita nella rete, e precisamente nelle sue connessioni; le unita' di elaborazione di un computer sono sistemi statici (forniscono sempre lo stesso output a fronte di un dato input), mentre quelle di una rete neurale sono sistemi dinamici (l'output dipende anche dal peso delle sinapsi); i computer elaborano dati digitali, mentre le reti neurali elaborano segnali analogici che fluttuano in maniera continua; i computer sono in grado di compiere operazioni solo su quantita' esatte, mentre le reti neurali rispondono anche a configurazioni di input approssimate o incomplete o disturbate; il flusso "sequenziale" di operazioni di un computer e' prevedibile, mentre quello "parallelo" delle reti neurali e' praticamente impossibile da ricostruire a mano; il computer ha difficolta' a memorizzare schemi complessi (come l'immagine di un viso, che e' composta da migliaia di punti), ed e' lento poi nel reperirli, mentre la rete neurale memorizza facilmente schemi complessi ed e' rapida nel reperirli; il computer non e' "fault tolerant", ovvero non e' trasparente alla perdita di informazione, mentre l'output di una rete neurale non si degrada necessariamente se parte dell'informazione si perde (un viso viene riconosciuto anche se parte dell'immagine e' sbiadita); un computer, infine, non e' in grado di imparare dalle proprie esperienze, una rete neurale si' (il processo di addestramento puo' continuare all'infinito). L'architettura del computer neurale e' in palese antitesi a quella del computer di von Neumann. Il secondo e' certamente piu' preciso e piu' veloce dell'uomo, eppure non viene considerato intelligente. La ragione e' che non e' in grado di compiere quelle funzioni che sono comuni a tutti gli umani e naturali per tutti, come riconoscere il 216 volto di un amico o comprendere una situazione complessa. Una possibile obiezione a questa critica e' che si tratta soltanto di raffinare il software: costruendo software sufficientemente complesso, tutto diventera' possibile. Il computer neurale nasce invece dalla convinzione opposta: il computer di von Neumann non puo' compiere certe funzioni in quanto e' intrinsecamente inadeguato a compierle; soltanto un'architettura di elaborazione massicciamente parallela e distribuita puo' riuscire a competere con le prestazioni di un essere umano, per la semplice ragione che il paradigma che la mente usa non e' quello dell'elaborazione sequenziale di von Neumann ma quello, appunto, dell'elaborazione parallela e distribuita. Sono state semmai notate analogie fra le reti neurali e l'olografia (inventata da Dennis Gabor nel 1954): tanto le une quanto l'altra sono trasparenti a una deformazione dell'informazione, tanto nelle une quanto nell'altra l'informazione non e' localizzata in un luogo unico, ma distribuita sull'intero sistema. Le reti neurali vengono costruite collegando fra di loro migliaia di circuiti elettrici: un neurone e' rappresentato da un amplificatore e una sinapsi da una resistenza. Le applicazioni tipiche delle reti neurali sono complementari a quelle dei sistemi esperti. Analogamente a cio' che accade nel cervello umano, nel cui emisfero sinistro vengono svolte mansioni analitiche e nel cui emisfero destro vengono svolte mansioni di riconoscimento, i sistemi esperti sono piu' utili in contesti analitici, mentre le reti neurali sono piu' utili in fasi di riconoscimento. Il modello delle reti neurali si venne formando in maniera incrementale fra la fine degli anni Cinquanta e l'inizio dei Sessanta. Dopo la rete di McCulloch e Pitts, i cui neuroni potevano emettere soltanto uno o zero come output e le cui sinapsi avevano pesi fissi, il progresso piu' significativo fu rappresentato dalla rete di Wilfrid Taylor (1956), che esibiva un comportamento "associativo" coerente con il condizionamento pavloviano. Il Perceptron di Frank Rosenblatt (1957), che era sostanzialmente una rete adattativa (cioe' con sinapsi modificabili) di neuroni binari alla McCulloch-Pitts, fu la macchina che dimostro' come le reti neurali potevano essere addestrate a classificare un insieme di istanze in base alle loro caratteristiche comuni (o simili). Simile al Perceptron era anche l'Adaline (neurone lineare adattativo) di Widrow e Hoff (1960), che usava la regola Delta di apprendimento. 217 In parallelo si stava consolidando una visione "parallela" e "distribuita" del cervello che aveva avuto origine dagli studi di Luria e Lashley. La nuova nozione, dovuta principalmente a Hebb, era che le connessioni del cervello si potessero modificare nel tempo e che tale modifica avvenisse in funzione dell'esperienza. Nel 1969 Marvin Minsky e Seymour Papert dimostrarono che percettroni e adaline non sono in grado di distinguere una T da una C e che esiste una limitazione intrinseca dovuta al modo in cui viene eseguita l'operazione booleana di OR esclusivo (l'OR esclusivo, o, meglio, la sua negazione, e' computazionalmente universale poiche' qualsiasi altra funzione puo' essere espressa come una combinazione di negazioni di OR esclusivi). Dimostrarono inoltre (o credettero di dimostrare) che gli strati nascosti non possono essere addestrati con certezza matematica. Nel 1972 James Anderson propose il modello lineare del neurone analogico, il cosiddetto "associatore lineare" (linear associator). Le limitazioni del percettrone venivano evitate associando alle connessioni un insieme di pesi che potevano assumere valori continui: mentre il neurone binario trattava input e output che potevano valere soltanto uno o zero, il neurone di Anderson e' un neurone reale, che riceve in input dei valori qualsiasi, combina quei valori in un'espressione lineare ed emette un output che puo', di nuovo, avere un valore qualsiasi. Alcuni algoritmi cercano di mettere in "competizione" fra di loro i vari neuroni in modo che essi gareggino per essere attivati. Questo fenomeno viene ottenuto consentendo le "inibizioni" e le "eccitazioni" di neuroni da parte di altri neuroni. Un'inibizione (o eccitazione) di tipo "forward" e' quella in cui il nodo dello strato "n", quando viene eccitato, inibisce (o eccita) un nodo dello strato "n+1". Un'inibizione (o eccitazione) di tipo "backward" e' quella in cui il nodo dello strato "n", quando viene eccitato, inibisce (o eccita) un nodo dello strato "n-1". Un'inibizione (o eccitazione) di tipo "laterale" e' quella in cui il nodo di un certo strato, quando viene eccitato, inibisce (o eccita) un nodo dello stesso strato. I meccanismi di eccitazione e inibizione possono accelerare in maniera determinante il riconoscimento di un input. Per esempio, supponiamo che una rete neurale debba riconoscere caratteri maiuscoli e sia composta da tre strati: il secondo riconosce caratteristiche come la barra verticale (comune alle lettere B,D,E,F,H,I, etc.), la barra orizzontale (comune alle lettere A, E, F, H, etc.), la barra diagonale (comune a A, M, N, V, etc.), il semicerchio (C, D, G, etc.) e cosi' via; il terzo strato e' quello di output che riconosce le lettere. Il riconoscimento viene allora facilitato da eccitazioni e 218 inibizioni di tipo "forward": il nodo relativo alla barra orizzontale puo' inibire i nodi relativi a C, N, V, etc, cosi' come il nodo relativo alla barra verticale puo' inibire i nodi relativi a A, V, etc. Il modello di Teuvo Kohonen (1973) utilizza l'inibizione laterale per apprendere in maniera non supervisionata. Dato un certo input, un solo neurone del primo strato puo' essere attivato, quello che meglio risponde a tale input; quel neurone eccita i suoi "vicini", generando una forma di competizione moderata. Ne risulta un comportamento molto utile per classificare: la rete di Kohonen tende ad organizzare gli input in gruppi, ovvero tende a scoprire le proprieta' salienti dell'input. Parti della rete si specializzano di fatto nel riconoscere certe caratteristiche, e assumono pertanto il ruolo di "feature detector". La teoria della "risonanza adattativa" e' stata proposta da Stephen Grossberg nel 1976 per rendere conto di come si formano le rappresentazioni interne di Craik a partire dall'esperienza. Grossberg riprende la teoria delle inferenze inconsce di Helmholtz, secondo cui le nostre percezioni sono influenzate dalle "vorstellung", dalle nostre "aspettative" di cosa debba essere percepito in una certa situazione. Grossberg riformula la teoria di Helmholtz supponendo l'esistenza di tre processi: (1) un processo evolutivo tramite cui viene appresa la vorstellung, ovvero una "learned feedback expectancy"; (2) un processo di feedback tramite cui a fronte di una percezione viene reperita la vorstellung piu' appropriata; (3) un processo competitivo tramite cui vorstellung e percezioni vengono conciliate. La percezione consiste cioe' nel conciliare i dati sensoriali con cio' che ci aspettiamo che essi siano. Grossberg esamina poi il fenomeno per cui la mente e' in grado di correggere un errore di percezione, anche se nessuna cellula del sistema nervoso sa che un errore e' stato commesso. Grossberg ipotizza che esistano connessioni reciproche fra due insiemi di cellule. Il suo algoritmo di correzione dell'errore (il processo competitivo di cui sopra) e' allora un algoritmo che, invece di prendere la differenza fra il segnale desiderato e il segnale attuale (come fanno gli algoritmi supervisionati), prende la somma fra il segnale "atteso" e quello attuale. La somma ha l'effetto di sopprimere i segnali deboli e di esaltare i segnali forti: se il segnale attuale e quello atteso sono coerenti, la loro somma e' maggiore del segnale attuale e ha la stessa forma; ovvero il segnale viene esaltato (viceversa, se i due segnali non sono coerenti, la loro somma da' luogo a un segnale ridimensionato). Se i segnali di feedback e di input continuano a rinforzarsi a vicenda, cio' da' origine a uno stato dinamico di "risonanza adattativa" che si estende nel tempo: questo e' per Grossberg il funzionamento degli stati cognitivi. Quest'algoritmo di risonanza e' non lineare, non locale e non stabile. 219 A Grossberg (1987) si deve anche una formulazione matematica del condizionamento pavloviano. La formula di Grossberg viene costruita sommando i contributi di tre termini: un termine che esprime la crescente dipendenza nel tempo dell'attivazione del neurone dallo stimolo (la derivata nel tempo dell'attivazione dev'essere costante); un termine che esprime la dipendenza decrescente nel tempo dell'attivazione del neurone una volta che lo stimolo venga rimosso (la derivata nel tempo dell'attivazione dev'essere pari all'attivazione stessa moltiplicata per una costante negativa, in modo da generare una curva tendente a zero); e un termine che esprime la dipendenza dell'attivazione del neurone dagli stimoli generati dall'attivazione di altri neuroni (la derivata dev'essere pari alla somma delle attivazioni degli altri neuroni moltiplicate ciascuna per il peso della propria sinapsi). Si ottiene cosi' un'equazione differenziale del primo ordine che esprime l'andamento dell'attivazione del neurone in funzione dello stimolo e degli altri neuroni: .DS L d -- attiv(t) = -A x attiv(t) + S(t) + W1 x attiv1(t) + W2 x attiv2(t) +.... dt .DE Al tempo stesso si puo' scrivere anche un'altra equazione differenziale che esprima l'andamento nel tempo dei pesi delle connessioni come somma di due fenomeni elementari: il "dimenticare" (espresso come sopra) e la legge di Hebb (espressa come prodotto delle attivazioni dei due neuroni): .DS L d -- Wij(t) = -A x Yj(t) + B x Yi(t) x Yj(t). dt .DE Per ottenere un apprendimento rapido si possono combinare diversi modelli. La "counter propagation" consiste per esempio nel configurare la rete con tre strati: uno strato di input, uno strato di Kohonen e uno strato di Grossberg. Lo strato di Kohonen esegue un apprendimento non supervisionato, ovvero costruisce una classificazione degli input. Lo strato di Grossberg esegue invece un apprendimento supervisionato, ovvero fa corrispondere quelle classi empiriche con gli output desiderati. In altre parole lo strato di Kohonen rinforza le connessioni nascoste e lo strato di Grossberg rinforza le connessioni di output. Nel 1954 Brian Cragg e Nevill Temperley notarono una singolare similitudine fra gli spin degli atomi e gli stati dei neuroni e postularono che le reti di neuroni esibissero proprieta' simili ai lattici di cristallo, nei quali ogni atomo interagisce via il suo spin con gli atomi vicini e alla fine si genera un equilibrio stabile. Nel 1975 David 220 Sherrington e Scott Kirkpatrick scoprirono un nuovo materiale magnetico e lo denominarono "spin glass". La proprieta' piu' significativa dello spin glass e' quella di assomigliare a una rete neurale in cui i pesi siano distribuiti simmetricamente. Fu da questa similitudine che John Hopfield (1982) trasse l'idea per il suo modello di appredimento non supervisionato. Nelle reti di Hopfield esiste un solo strato di neuroni ma ciascun neurone e' connesso con tutti gli altri neuroni; ogni neurone e' binario e le connessioni sono simmetriche (cioe' quella fra il neurone X e il neurone Y ha peso uguale a quella fra Y e X). Le reti di Hopfield memorizzano l'informazione che apprendono in configurazioni che risultano "stabili dinamicamente" (o "ultrastabili") nel modo in cui Ross Ashby (1950) aveva previsto che cio' avvenisse. Ogni ricordo e' un "minimo locale" per una "funzione energia" (calcolata in maniera assai simile all'energia potenziale della Fisica) che puo' soltanto decrescere, in perfetta analogia con gli stati di equilibrio di un particolare sistema fisico, come appunto lo spin glass, la cui dinamica sia dominata dall'attrazione verso un numero molto elevato di stati localmente stabili. La struttura a minimi locali consente anche di rendere conto della capacita' di gestire informazioni incomplete o incorrette: ogni deviazione dai minimi locali tende naturalmente a scomparire poiche' viene appunto "attratta" verso tali minimi fino a cadervi dentro. Prove sperimentali hanno stabilito che una rete neurale di Hopfield puo' contenere un numero di ricordi pari a circa il 15% della sua capacita'. La macchina di Boltzman ideata da Geoffrey Hinton e Terrence Sejnowsky (1985) migliora le reti di Hopfield utilizzando una procedura di Monte Carlo per evitare i "minimi locali" dell'algoritmo di Hopfield. La macchina di Boltzman si rifa' ad un'altra analogia con un fenomeno fisico, quello della tempratura dei metalli: per temprare un metallo lo si riscalda a temperature molto elevate (in tal modo si "liberano" gli atomi del metallo) e poi si riduce gradualmente la temperatura (in tal modo gli atomi hanno tempo di sistemarsi nella configurazione di energia minima). Analogamente all'inizio tutte le sinapsi della rete di Boltzman hanno pesi casuali. Man mano che l'apprendimento procede la probabilita' che uno di essi cambi valore e' espressa dalla funzione di Boltzman, la quale fa in modo che l'energia della rete (espressa come la somma di tutti i pesi delle connessioni fra neuroni attivi) tenda a diminuire. Il problema di determinare le connessioni nascoste viene risolto pertanto con un algoritmo legato alle probabilita' di attivazione, invece che alle attivazioni. Una costante di questa formula svolge il ruolo che in termodinamica viene svolto dalla temperatura. Facendo diminuire progressivamente tale costante si ottiene l'effetto analogo a quello della tempratura dei metalli: le connessioni si stabilizzano in un minimo globale. Una variante e' la macchina di Cauchy, ideata da Harold Szu, che utilizza un algoritmo piu' efficiente e rappresenta probabilmente il vertice tecnologico per le reti non supervisionate. 221 Come Anderson aveva insegnato, i neuroni reali devono essere trattati in maniera analogica, ovvero simulando output che possono valere qualsiasi numero reale. Estendendo la regola di Adaline al caso analogico secondo un'idea di Rosenblatt, David Parker (1981) e David Rumelhart (1986) pervennero all'algoritmo standard dell'apprendimento supervisionato, quello di "back propagation", che, dato un percettrone a molti strati, calcola l'errore in ogni nodo e lo propaga all'indietro aggiustando i pesi degli strati intermedi per minimizzarlo. In tal modo vennero definitivamente risolti i problemi di come assegnare valori agli strati nascosti, di calcolare l'OR esclusivo e di riconoscere una T da una C. La regola di back propagation sembra avere anche plausibilita' neurobiologica: Richard Anderson e David Zipser sono riusciti nel 1987 a costruire un percettrone a tre strati che simula parte del sistema visivo del cervello delle scimmie. Ma altri sostengono che ogni modello che preveda elaborazione "non locale" (ovvero che preveda di prendere in considerazione piu' dei semplici neuroni pre-sinaptici e post-sinaptici) non puo' essere valido dal punto di vista fisiologico. La tecnologia attuale e' ancora assai lontana dal realizzare una rete neurale delle dimensioni e della complessita' del cervello umano. I computer neurali piu' capienti contengono ventimila neuroni, ma possono realizzare poche interconnessioni per neurone. Il cervello del verme, per esempio, contiene soltanto mille neuroni, ma, grazie a una complessita' di connessioni infinitamente maggiore, e' in grado di compiere operazioni che nessun computer neurale saprebbe compiere. Il cervello umano contiene circa cento miliardi di neuroni e circa duecentomila miliardi di sinapsi. Conclusione Esiste ormai una quantita' sterminata di dati e di teorie che tentano di conciliare la computazione e la mente. La ricerca dei prossimi decenni sara' prevalentemente un lavoro di sistemazione di questa mole di conoscenza che si e' andata accumulando nei secoli. Al tempo stesso ciascuna disciplina contribuira' a raffinare i propri modelli, rendendoli sempre piu' facili da simulare e da verificare con il computer. Da queste due linee evolutive e' destinata ad emergere una "scienza della mente" unitaria che integrera' in maniera naturale i principi del darwinismo, del connessionismo, del cognitivismo e cosi' via. Tutto cio' che sopravvivera' al test della simulazione via computer diverra' parte integrante di questa scienza. 222 Rimarra' materia di discussione se l'obiettivo di tale scienza sara' quello di costruire macchine pensanti o quello di comprendere il funzionamento della mente umana, e se prevarra' pertanto la plausibilita' psicologica o l'efficienza computazionale. L'ambiguita' di fondo dell'Intelligenza Artificiale attuale non e' destinata a risolversi, ed e' forse utile che sia cosi': il requisito di essere computazionalmente efficiente appare sempre piu' coerente con la visione moderna degli organismi, modellati dall'evoluzione per essere ottimali nel compiere le proprie funzioni. Quell'apparente ambiguita', insomma, potrebbe rivelarsi semplicemente una prospettiva diversa dello stesso fenomeno. Il punto debole dell'Intelligenza Artificiale e' semmai il suo stesso titolo: l'"intelligenza" appare sempre piu' un concetto difficile da definire in maniera rigorosa e sempre meno un concetto reale. Nulla nella struttura del cervello puo' essere associato direttamente all'intelligenza. Il test di Turing non definisce un essere pensante, ma un essere intelligente, benche' nella vita quotidiana sia molto piu' definito cosa si intenda per "pensare" che non per "essere intelligente". Bisognera' forse proporre anche un titolo diverso, per esempio quello di Pensiero Artificiale, o, semplicemente, Mente Artificiale, e abbandonare la linea di ricerca piuttosto sterile che ha tentato di definire e misurare l'intelligenza. Piu' che discutere se il test di Turing sia giusto o sbagliato, bisognerebbe discutere se esso sia ancora adeguato alla visione moderna della mente, e, se no, introdurre un paradigma meglio attinente all'obiettivo finale di questa nuova scienza. I progressi compiuti da Descartes ad oggi non hanno ancora gettato alcuna luce sui misteri piu' suggestivi dell'io. 223