sabato 12 settembre 2009

stanze cinesi

Questo post nasce in margine ai commenti a un post di Paolo Attivissimo. Da prendersi come il mio omaggio ad Alan Turing

Nel suo celebre articolo Computer Machinery and Intelligence Turing propose di sostituire alla domanda, formulata in modo vago, "può una macchina pensare?", un'altra domanda, basata su più precisi criteri comportamentali (forse non abbastanza precisi, come vedremo), ovvero: può una macchina superare il tipo di test che sto per proporre? e il test consisteva nel dialogare a distanza con un essere umano in modo che costui non sospettasse di stare interagendo con una macchina.

Per come è formulata la questione, vi è un equivoco frequente riguardo il test di Turing, ed è quello di scambiarlo per una sorta di "definizione" dell'intelligenza, piuttosto che un semplice criterio. Turing infatti sapeva benissimo che l'intelligenza di una persona non si riduce alle sue capacità verbali o anche al suo comportamento manifesto, ma attraverso il suo gioco della simulazione intendeva elaborare un test tale che, superato il quale, non avrebbe lasciato dubbi sulle effettive capacità cognitive della macchina.

Turing aveva in mente, infatti, delle vere conversazioni, e non quelle parodie di conversazione che sono diventate popolari grazie ai primi programmi di intelligenza artificiale, come ELIZA, che un tempo venivano pubblicizzati come "programmi che avevano battuto il test di Turing". In realtà ELIZA, che simula uno psicoterapeuta rogeriano, non fa che rielaborare le stesse frasi dei "pazienti" girandole in forma di domanda:

P: oggi mi sento triste
E: perché ti senti triste?
P: mio padre mi odia
E: parlami di tuo padre
P: da piccolo mi picchiava
E: il fatto che da piccolo ti picchiava è importante?

Il fatto che alcune persone, forse suggestionabili, abbiano scambiato ELIZA per un vero psicoterapeuta, e addirittura si siano sentite "comprese", in realtà dovrebbe far riflettere sui limiti della psicoterapia, piuttosto che su quelli dell'IA. In una variante di ELIZA ancora più ridicola, il programma PARRY simulava un paziente paranoico convinto di essere perseguitato dalla mafia. Osservando che PARRY riusciva a infilare la mafia in qualsiasi discorso stesse facendo alcuni psicoterapeuti, non sapendo che si trattava di un programma, lo scambiarono per un vero soggetto con sintomi paranoici.

Il trucco qui diventa evidente: non si sta simulando il comportamento di una persona "normale", "razionale", ma si sta simulando appunto l'assenza di razionalità, che è cosa molto più facile. Seguendo la stessa linea, si potrebbe dire che il mio pupazzo Carletto è perfettamente in grado di superare il test di Turing simulando il comportamento di un catatonico.

L'esempio di conversazione che Turing stesso riporta nel suo articolo, piuttosto, dovrebbe chiarire le idee su cosa è veramente richiesto per superare il test: si tratta di un ipotetico esame di letteratura, il cui scopo, normalmente, è proprio quello di verificare che il candidato non abbia assimilato nozioni in modo "meccanico", "a pappagallo".

D: Nella prima riga del sonetto: "ti paragono a un giorno d'estate", "un giorno di primavera" non andrebbe altrettanto bene?
R: Rovinerebbe la metrica
D: E un "giorno d'inverno"? ci starebbe
R: Sì, ma nessuno vuole essere paragonato a un giorno d'inverno
D: Lei non direbbe che il signor Pickwick le ricorda il Natale?
R: In un certo senso.
D: Ma il Natale è un giorno d'inverno, e credo che Pickwick apprezzerebbe il paragone.
R: Lei non dice sul serio. Con "un giorno d'inverno", si intende una tipica giornata invernale, non un giorno particolare come il Natale.

Forse sono troppo ottimista riguardo ai pregiudizi della gente, ma io sono in effetti convinto che se i computer potessero davvero conversare in questa maniera, pochissime persone avrebbero dubbi riguardo alla loro capacità di comprensione, anche delle poesie di Shakespeare.

Dunque ci sono due questioni da affrontare: la prima è se un computer potrà mai superare il test di Turing (ma davvero, non con i trucchi in stile ELIZA). La mia personale opinione è che sia teoricamente possibile (negare questo significherebbe concepire l'essere umano in maniera diversa da una macchina, ovvero porlo al di fuori della natura, opinione naturalmente legittima ma un po' demodé), ma che siamo ancora molto molto lontani dall'obiettivo (per farsene un'idea basta conversare con l'ultimo software vincitore del Loebner Prize).

Fra gli argomenti contrari, ovvero che vorrebbero dimostrare l'impossibilità per una qualsiasi macchina di Turing (ricordiamo che una macchina di Turing universale è in grado di simulare qualsiasi altra macchina) di riprodurre le abilità cognitive del cervello umano, vi è una linea di pensiero che va da John Lucas per arrivare al fisico Roger Penrose, e che fa un uso abbastanza disinvolto dei teoremi limitativi della matematica (il teorema di incompletezza di Gödel, e lo stesso teorema di Turing riguardo all'esistenza di problemi non decidibili).

Io del teorema di Gödel parlerò il meno possibile, perché è un argomento sul quale è facilissimo dire sciocchezze (e ho il privilegio di avere lettori che se ne accorgerebbero subito). Basti dire che Gödel ha dimostrato, con un teorema la cui dimostrazione è uno dei più alti risultati (anche estetici) mai raggiunti dall'umanità, che in ogni sistema formale sufficientemente ricco vi sono proposizioni vere ma non dimostrabili (all'interno del sistema). Il ragionamento di Penrose, nel libro La mente nuova dell'imperatore, è più o meno questo, stringendo: dal momento che vi sono proposizioni che noi possiamo riconoscere come vere ma una macchina non può, allora la mente umana è più potente di una qualsiasi macchina. Si consideri per analogia il seguente argomento: dal momento che voi non siete in grado di guardarvi negli occhi (se non con uno specchio) ma io posso guardarvi negli occhi, allora ho delle capacità che voi non avrete mai.

In effetti l'opinione dei logici riguardo all'uso di Penrose del teorema di Gödel è abbastanza chiara (indipendentemente dai grandi meriti di Penrose come scienziato e anche come divulgatore). Per Odifreddi "In realtà tale argomento, banalmente scorretto, potrebbe essere un buon test per verificare, in sede di esame, la comprensione di uno studente del Teorema di Gödel e della sua dimostrazione. Il problema non è qui che Penrose non passerebbe il test, quanto piuttosto il fatto che egli finisca col traviare lettori sprovveduti in matematica, benché altrimenti avveduti".

Markus Hutter è ancora più tagliente: "L'argomentazione di Penrose, che di fatto ricalca quella di John Lucas e la estende in due volumi, è una delle più interessanti obiezioni al programma della 'IA forte', e tutti dovrebbero leggerla e comprenderla. Ma naturalmente è errata, come ogni altra obiezione alla IA presentata ad oggi". RIP.

La seconda questione è se sia davvero lecito considerare intelligente un programma che superi (con tutti i crismi) il test di Turing. Chi sostiene il contrario si mette in una posizione abbastanza delicata, da un punto di vista metafisico. Se esibire un comportamento intelligente non basta ad essere definiti degli esseri pensanti, allora c'è anche il rischio che nessuno di noi (a parte me, ovviamente) sia davvero un essere pensante. Io so chi sono, per introspezione, ma nessuno può garantirmi che gli altri non siano altro che stupidi automi privi di pensiero e di coscienza.

Comunque John Searle l'ha fatto: nell'articolo Minds, Brains, and Programs, con una delle argomentazioni più balzane della storia della filosofia, ha preteso di dimostrare che non basta superare il test di Turing per essere considerati esseri pensanti. Tale argomento è noto come "l'esperimento mentale della stanza cinese".

Si immagini, dice Searle, di essere rinchiusi in una stanza piena di libri, dove l'unico contatto col mondo esterno è una feritoia. Ogni tanto qualcuno da fuori inserisce un foglio nella feritoia, pieno di strani simboli. Il compito dell'uomo rinchiuso in questa stanza è quello di prendere il foglio e consultare i suoi libri, che sono pieni di istruzioni per trasformare questi simboli in altri simboli, scriverli su un nuovo foglio, e poi infilarlo nella feritoia per trasmetterlo al di fuori (es. "se è presente il simbolo x, sostituirlo con i simboli y e z").

Si dà il caso che quei simboli strani siano ideogrammi cinesi, e che ciò che l'uomo nella stanza sta facendo, senza esserne consapevole, è dialogare in cinese col mondo esterno (magari proprio sul sonetto di Shakespeare). Se l'uomo, pur rispondendo in corretto cinese, non è in grado di comprenderlo (perché agisce come mero automa ed esecutore di istruzioni), allora neanche una qualsiasi macchina di Turing (che anch'essa esegue solo istruzioni) può essere considerata in grado di capire quel che fa. Searle pretende di aver dimostrato, così, che "la sintassi non può mai generare la semantica".

Io lascio al lettore il compito di individuare le varie falle presenti in quest'argomentazione (esiste un'ampia letteratura su questo esperimento mentale, proprio perché è talmente difettoso che ognuno vi individua un errore diverso, e questo del resto ne ha fatto la fortuna). C'è una cosa però su cui Searle ha evidentemente ragione. In effetti la sintassi, da sola, non può generare la semantica, ovvero non è la semplice correttezza formale a far sì che con la frase "il libro è sul tavolo" ci si riferisca proprio a un libro sul tavolo.

La semantica però non è nemmeno garantita da un misterioso "potere causale" del cervello umano (come pensa Searle, e che Roger Penrose crede addirittura di individuare nella fisica quantistica). Essa è semplicemente garantita dall'interazione col mondo esterno. Un programma inerte in effetti non potrà mai essere definito "intelligente", se non in potenza. Pensare, essere intelligenti, significa risolvere problemi, significa fare qualcosa, significa essere influenzati in maniera causale dal mondo, ed influenzarlo in maniera causale.

E se vi è davvero un aspetto che i teorici dell'IA hanno spesso sottovalutato, è questo. Difficile che un software possa superare il test di Turing, nelle attuali circostanze, perché in genere i software testati non sono che assembramenti di byte privi di apprendimento e la cui unica interazione col mondo avviene tramite le domande dei giudici. Essi non hanno a che fare, nella loro esistenza, con libri e tavoli, e quindi non possiamo aspettarci che siano davvero in grado di comprendere una frase come "il libro è sul tavolo". Sic et simpliciter.