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.

29 commenti:

  1. "ogni sistema formale"... sufficientemente potente da rappresentare l'aritmetica dei numeri naturali...

    o almeno così mi pare di ricordare...

    il prossimo commento sarà meno saccente: il tema mi interessa molto!

    RispondiElimina
  2. Uh, sì... meglio aggiungere anche quella parte.

    RispondiElimina
  3. Oddio, Eliza... vado indietro all'esame di informatica al mio primo anno di ingegneria, 14 anni fa. Il prof ci fece usare un programma scritto in linguaggio POP11 che simulava Eliza. La cosa più divertente era fare domande insulse per vedere la risposta dell'IA... Il POP11 non mi è mai servito, ma Eliza mi era simpatica :-)
    gian

    RispondiElimina
  4. Sarà che c'ho fretta, ma delle millemila falle del ragionamento del tizio non me ne viene in mente manco una :)
    Se ho ben compreso l'ultima tua osservazione, tempo fa ho letto di un robot programmato per apprendere dal mondo esterno (o almeno questo doveva essere lo scopo) in modo tale da venire in contatto con "tavoli e libri".

    RispondiElimina
  5. Sarà che c'ho fretta, ma delle millemila falle del ragionamento del tizio non me ne viene in mente manco una :) .

    Un aiuto: l'uomo nella stanza è il corrispettivo del calcolatore, nell'esperimento, o al massimo ne è un singolo elemento?

    RispondiElimina
  6. "l'uomo nella stanza è il corrispettivo del calcolatore, nell'esperimento, o al massimo ne è un singolo elemento?"

    anch'io ci avevo pensato, però lo stesso mi viene difficile pensare che il "sistema" stanza libri uomo regole-di-traduzione-simbolica sia un entità pensante capace di intendere veramente i messaggi che le vengono passati!

    ***

    a proposito: la "definizione" di intelligenza non pone problemi vero? potrebbe andare bene quella del de mauro ad esempio?

    http://old.demauroparavia.it/58209

    RispondiElimina
  7. anch'io ci avevo pensato, però lo stesso mi viene difficile pensare che il "sistema" stanza libri uomo regole-di-traduzione-simbolica sia un entità pensante capace di intendere veramente i messaggi che le vengono passati!

    Capisco la difficoltà. D'altronde l'esperimento è progettato apposta in modo tale da rendere difficile una tale immaginazione (e non a caso è irrealizzabile in pratica), solo che io delle intuizioni del professor Searle me ne faccio poco (anche perché mi risulta altrettanto dfficile pensare a un ammasso molle di materia grigia come "pensante").

    La definizione di intelligenza pone una miriade di prolemi, ma sono proprio quelli che Turing intendeva aggirare.

    RispondiElimina
  8. Da ignorante che non googla:

    Io vedo due problemi con il paragone di Searle: il primo che mi è venuto spontaneo è che c'è qualcuno che spiega all'omino cosa fare. E quello l'omino DEVE capirlo. E una volta che ha capito quello, rischia di capire anche il resto. O almeno, non riesco a immaginarmi un teorema che glielo neghi. Controesempio: chi si ritrova in un Paese di cui non conosce manco una parola: dagli uno, dagli dieci, dagli quarant'anni, ma alla fine la lingua la impara anche senza insegnanti.

    Poi c'è stato il tuo discorso del libro sul tavolo. Quell'omino è intrappolato, il suo output non può influenzare il successivo input. Intelligenza è (anche) potersi cercare le informazioni che si vogliono.

    Alla fine invece mi par di capire che tu punti, con l'aiutino, a dire che dobbiamo considerare l'omino INSIEME CON la biblioteca. Mumble.

    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é-

    Sbaglio o siamo di nuovo allo scontro razionalità/fede? Alla fin fine, dirimere questo dilemma equivale a dimostrare l'esistenza dell'"anima"?

    RispondiElimina
  9. Alla fine invece mi par di capire che tu punti, con l'aiutino, a dire che dobbiamo considerare l'omino INSIEME CON la biblioteca.

    sì perché è l'obiezione che viene rivolta più frequentemente a Searle, ma questo non vuol dire che le altre tue osservazioni siano sbagliate.

    A me comunque quello che da più fastidio è il fatto che si cerchi di forzare l'immaginazione in una certa direzione, facendo ricorso ad una situazione palesemente irreale. Un tale sistema è praticamente inconcepibile: i libri dovrebbero essere milioni, e l'omino impiegherebbe migliaia di anni per rispondere.

    RispondiElimina
  10. Sul paradosso di Penrose mi sembra un'ottima riflessione sia presente nel divertente "Goede, Escher, Bach".

    Assumiamo che il nostro cervello sia rappresentabile da un sistema formale. A un qualche livello lo è, poniamo al livello della fisica elementare che fa funzionare le macromolecole che fan funzionare i neuroni... Ma assumiamo di essere effettivamente, contro ogni evidenza, dei ragionatori logici.

    Bene, il teorema di Goedel dice che è possibile costruire un'affermazione che è vera, ma che noi non riusciamo a dimostrare tale. Non ci dice qual'e', ci dice come costruirla, ma non è detto che IN PRATICA ne siamo capaci.
    Inoltre è sempre possibile costruire un sistema assiomatico in cui uno aggiunge come assioma (e quindi vera) l'affermazione vera non dimostrabile. Ottieni un altro sistema formale in cui un'altra affermazione vera non è dimostrabile. Ma è già un rompicapo riformularla .....

    RispondiElimina
  11. Assumiamo che il nostro cervello sia rappresentabile da un sistema formale. A un qualche livello lo è, poniamo al livello della fisica elementare che fa funzionare le macromolecole che fan funzionare i neuroni...

    Credo che tu abbia toccato un punto molto sensibile. Se è quasi scontato, da un punto di vista materialista, che il cervello sia rappresentabile a qualche livello da un sistema formale, non è affatto scontato capire a quele livello lo sia. E qui è probabilmente l'errore dell'IA forte dei primi tempi, che intendeva tradurre direttamente tramite il simbolismo logico le più alte capacità di elaborazione del cervello, che invece emergono probabilmente da livelli più bassi.

    RispondiElimina
  12. Molto bene, mi complimento. Hai fatto un ottimo lavoro, Thomas.

    Non c'è rimasto molto da aggiungere, se non qualche pedanteria professionale sparsa:

    1) Per cascare in piedi, si dica sempre che i teoremi limitativi del buon vecchio zio Gödel riguardano tutti e soli i sistemi formali che includano una teoria assiomatica sugli interi: tipicamente quella di Peano, e al minimo quella di Robinson.
    Questo implica immediatamente (con buona pace delle farneticazioni del circense carrozzone relativista-continentale, e perfino di molti individui con generica preparazione tecnico-scientifica) che esistono un sacco di sistemi formali interessanti che sono del tutto immuni a tali limitazioni, per i quali sono stati provati decidibilità, completezza e non contraddittorietà (sintattica e semantica) - e non solo i più astrusi e incomprensibili dei circa settecento sistemi assiomatici in voga nelle cripte dei logici. Alcuni esempi che tutti hanno sotto il naso quotidianamente sono la geometria euclidea (in special modo nell'assiomatizzazione data dal geniale Tarski) e, udite udite, la logica proposizionale. Ovvero quella sulla quale sono basati molti metodi formali di specifica e verifica per i sistemi nei quali l'errore è escluso per design, ad esempio.

    2) La letteratura tecnica e introduttiva sui teoremi limitativi è sterminata: ci sono dei veri classici come Shanker ("Il teorema di Gödel", Muzzio), Lolli ("Da Euclide a Gödel", Il Mulino) o Nagel & Newman ("La prova di Gödel", Bollati Boringhieri).
    A questo florilegio si è da poco aggiunto un simpatico librino di Francesco Berto, nel quale il giovanissimo e brillante filosofo introduce correttamente l'argomento a chi ne sa poco o nulla, e riesce a coinvolgere il lettore medio nell'eleganza della dimostrazione di quelle "curiosità", così le definì all'epoca il geniale Kurt (meglio noto in famiglia come Herr Warum, "il signor Perché").

    3) Purtroppo la "confutazione" di Höfstadter è ancora più disastrosa delle asserzioni di Penrose, da un punto di vista logico. Cerco di spiegarlo in termini elementari.
    La non costruttività dei teoremi limitativi è strettamente connessa all'impossibilità di dimostrare l'impossibilità di una dimostrazione (!) e alle enormi difficoltà di quel gioco di minimo che è la definizione delle teorie assiomatiche e della indipendenza degli assiomi. Non vi dico della fatica bestiale per dimostrare qualcosa attorno alla ipotesi del continuo o all'assioma di scelta, per esempio: chi si è incuriosito cerchi qualcosa sul forcing di Cohen.
    Tuttavia, ciò non è certo sufficiente a sancire a quale livello il riduzionismo può o deve arrestarsi nel modellare la meccanica del cervello-mente. In altri termini, per applicare questa obiezione, occorrerebbe un meta-algoritmo per scegliere a ritroso il migliore modello formale del cervello, sulla base della "pulizia" di ciò che ne consegue a livello assiomatico. Una follia, sebbene vagamente simile in principio al meta-algoritmo di Hutter (che però lavora unicamente su algoritmi rapidamente computabili, ed entro un unico modello noto).

    4) Homework: ripensare alla Stanza Cinese sostituendo ai libri un calcolatore (a capacità finita, quindi un macchina fisicamente realizzabile) dotato di un idoneo software e una adeguata memoria di massa. ;)

    RispondiElimina
  13. Leibniz:

    riguardo al punto 1 (ma forse anche al punto 3), ricollegandomi al mio precedente commento, in effetti non è detto che al livello in cui il cervello può essere modellato tramite un sistema formale, tale SF debba per forza essere incompleto, e nemmeno che le sue "formule" debbano avere un valore di verità, se è per questo (visto che la semantica non è autogenerata dal SF).

    Per quanto riguarda Hofstadter, devo ammettere che ce l'ho un po' su con lui da quando ho comprato, senza nemmeno riuscire a cominciarlo, "Concetti fluidi e analogie creative" (maledetta Adelphi). Per cui mi piacerebbe sapere in quali termini ha rinnegato le sue precedenti posizioni.

    RispondiElimina
  14. Stringendo, Douglas Höfstadter (che peraltro parla italiano assai meglio di troppi italofoni) ha recentemente affermato in varie interviste che la IA "forte" era un incubo da indigestione.

    Probabilmente lo ha anche scritto nei suoi ultimi lavori: tuttavia non posso saperlo, trovandomi nella tua stessa condizione, seppure per motivi leggermente diversi. Mi pareva, e tuttora mi pare, il meno indicato per prendere il posto di Martin Gardner nella divulgazione: una decisione che non ho mai accettato.

    Inoltre l'ho sempre digerito poco: all'epoca io facevo il tifo per Penrose, per l'architettura Harvard e per il C64 con le sue periferiche intelligenti e specializzate.
    Mi piace pensare che le ho azzeccate tutte, con larghissimo anticipo. ;)

    RispondiElimina
  15. Caro Thomas,
    tocchi uno dei miei argomenti preferiti, così ho preferito ruminarci qualche settimana prima di postare.
    Facendo l’avvocato del diavolo, credo ci siano due obiezioni all’IA che non hai menzionato e che offrono qualche spunto interessante:

    1) Non so dare un nome alla teoria, ma diciamo che deriva da alcune riflessioni personali sulla scia del “Mondo-3” di Popper ed Eccles [per inciso: perché non posti su quando Popper consolò Eccles per il suo errore sulle sinapsi elettriche, uno dei migliori episodi della storia della scienza?].
    In sostanza: tu nelle ultime righe del post ti concentravi sull’indispensabilità dell’interazione fra una (candidata)mente e un mondo che possa conoscere e sul quale essa apprenda a formarsi predicati.
    Condivido in pieno, ma credo che sia altrettanto indispensabile l’interazione con *altre* menti: o meglio, con le teorie prodotte da altre menti, così che esse possano entrare in competizione con le teorie appena abbozzate dalla nostra IA.
    In sostanza, a mio parere una IA per chiamarsi tale deve necessariamente seguire il processo che compiamo noi fin da neonati: “scontro” col mondo fisico, abbozzo di una o più congettura, competizione fra esse (trial-and-error), reputazione, selezione, e così via da capo.

    2) Il secondo argomento lo lascio completamente abbozzato, perché si tratta non di un mare ma di un oceano di argomentazioni. Si tratta infatti di un punto di vista che non hai nominato ma che occupa un grosso spazio tanto in filosofia quanto in discipline applicative come la psicoterapia: la fenomenologia.
    E’ forse l’obiezione più profonda (e forse anche la più confusa, senza offesa per nessuno): il dubbio se una ipotetica IA possa percepire se stessa come noi percepiamo noi stessi. Rimanda da un lato all’argomento del linguaggio privato di Wittgenstein, dall’altro al famoso/famigerato pipistrello di Nagel cui anche Hofstadter e Dennet concedevano terreno.
    In sostanza, avere i comportamenti propri di una mente nell’interazione col mondo non basta, se la nostra IA non è in grado di percepire se stessa così come noi ci percepiamo.

    G.M.
    JorgeDaBurgos@yahoo.it

    RispondiElimina
  16. Mi rendo conto che, scrivendo frettolosamente letteralmente fra un paziente e l’altro, sono stato terribilmente involuto.
    Sinteticamente, e lasciando la parte la questione della fenomenologia che è più complicata, volevo dire questo:
    1) il primo passo di un “agente intelligente” è costruirsi una rappresentazione interna del mondo; questo è un processo iterattivo di azione, feedback, aggiornamento della rappresentazione.
    2) Il secondo passo è la capacità di essere consapevoli almeno parzialmente della rappresentazione che ci facciamo del mondo (“sapere di sapere”: per esempio non solo aver notato che quando piove ci si bagna, ma essere consapevoli di saperlo). Di questo precisamente volevo parlare. Sono convinto ci siano delle buone ragioni per ritenere che se un agente è consapevole della propria rappresentazione della realtà esterna, questa rappresentazione DEBBA essere “esternalizzabile”: ovvero innanzitutto criticabile dall’agente stesso (l’agente può “cambiare idea”, può cioè provare sorpresa quando il mondo inaspettatamente si comporta in modo incongruo rispetto a come se lo era rappresentato); e secondo comunicabile ad altri agenti. Le ragioni per sostenerlo? Innanzitutto l’argomento del linguaggio privato di Wittgenstein, in secondo l’esperienza di Helen Keller, che sembra dargli ragione in pieno.
    3) La conseguenza pratica è che il nostro agente adesso può non solo comunicare quel che ha capito della realtà esterna, ma soprattutto “ascoltare” altri agenti: può quindi compiere il salto al livello meta-linguistico, cioè banalmente ragionare su ciò che altri “dicono”.
    4) Banalmente questo volevo dire: se il ragionamento tiene, un’IA “che si rispetti” non necessita solo come giustamente dici di un “mondo esterno” con cui interagire, ma anche di altri agenti con cui “discutere” per rivalutare costantemente la propria rappresentazione della realtà esterna.
    5) E ciò ricorda in effetti il discorso di Popper-Eccles sul “mondo-3”: un agente propriamente intelligente (“mondo-2” nella loro definizione) interagisce costantemente con un modno esterno (“mondo-1”) ma attinge e contribuisce al patrimonio di rappresentazioni che i vari agenti condividono (“mondo-3”).

    Scusa davvero per la lungaggine, ma spero di aver detto la mia in maniera più chiara. Grazie!

    G.M.

    RispondiElimina
  17. Mi pareva di dimenticare qualcosa... scusa se non ho risposto prima.

    Popper ed Eccles mi risulta siano dualisti e mi è difficile prenderli sul serio, ma mettendo da parte ciò sono completamente d'accordo. Davidson parlerebbe di una "triangolazione" necessaria fra i propri pensieri, il mondo esterno, e i pensieri di un'altra persona. È questa triangolazione che rende possibile il pensiero vero e proprio, oggettivo. Senza accesso ai contenuti mentali altrui non potremmo tracciare una distinzione fra i nostri pensieri e il mondo, ma si confonderebbero.

    Riguardo la fenomenologia (o questione dei qualia) la questione invece è assai intricata. Io sono fra quelli che non ci credono molto e sostengono un'approccio rigorosamente in terza persona, non fenomenologico, ma mi rendo conto che è difficile argomentare contro i vissuti soggettivi, che in fondo sono la cosa per cui vale la pena vivere.

    RispondiElimina
  18. Cari tutti, da informatico provo a trascinare la questione su livelli molto più concreti. Non perché ciò che dite è superfluo, solo perché tutto ciò che dite dovrebbe reggersi sulle "esili" gambe di una riduzione della macchina di Turing.

    I moderni calcolatori, infatti, altro non sono che una approssimazione concretamente realizzabile di una mdT. Il punto della questione è che oggi un elaboratore è semplicemente un aggeggio che sa fare incremento, azzeramento e copia di un valore.

    Quindi la domanda è: pensiamo davvero che questo basti a far evolvere l'attuale IA al livello che voi proponete? Siamo sicuri che non manchi dell'altro? Io ne sono certo.

    Quello che ho percepito studiando Intelligenza Artificiale è che si tratta di una disciplina, morta sul nascere: 1) le incredibili aspettative l'hanno sotterrata in principio 2) c'è troppa puzza di filosofia europea e solo quella (qui non sappiamo cosa sia la logica fuzzy, in giappone è la regola).

    Nuova linfa scorre attraverso le sue mille branche (Information Retrieval, Data Mining, Machine Learning, Semantic Web). Ma siamo davvero molto lontani da quanto scritto finora tra i commenti.

    Io credo che la scienza abbia preso una strada precisa molti secoli fa. Proverò a spiegarmi ma non garantisco affatto il buon esito.

    Tutta la scienza moderna, tutto il calcolo si basano sull'assunzione che per risolvere un problema utilizzo una serie di strumenti attendibili (con dimostrazione di teoremi formali) per approdare ad un risultato partendo da dati.

    Il punto è che di solito conosciamo le caratteristiche del risultato atteso ed usiamo questa conoscenza per orientarci nell'ipotetico spazio delle soluzioni. Faccio un'esempio: se sto risolvendo un'espressione numerica, minimalmente mi aspetto un numero... se, non si sa come, ottenessi una lettera sarei certo di essere in errore ed abbandonerei il calcolo, magari ricominciando da zero.

    Tutto questo è perfetto se ammettiamo di avere informazioni circa la morfologia "semantica" del risultato atteso. Questa assunzione non funziona più nel momento in cui il problema diventa complesso (tanto da superare la complessità gestibile dalla nostra mente), tanto da non riuscire ad intravedere nemmeno la forma della soluzione.

    A quel punto sovente si abbandonano strade perché pensiamo di essere giunti a risultati anomali. Passano anni e ritornando sui calcoli riusciamo a capire che erano perfettamente in linea. Ma ciò non accade sempre.

    Bisognerebbe entrare in un'ottica più ampia. E' come se di tutto il computabile avessimo scelto una sola fettina di soluzioni perché troppo ottusi per comprenderle tutte. Cosa succederebbe se iniziassimo a costruire algoritmi progettati per non terminare mai? Perché non proviamo ad interpretare i loro risultati?

    La soluzione non è svelata dalla asettica descrizione dei passi che portano alla soluzione ma c'è sempre dell'altro anche dietro quei passi. Noi lo omettiamo perché non lo vediamo, non ci serve. In fondo quello che vogliamo è che le macchine facciano somme.

    Forse sarò deviato da una lettura che mi sta appassionando in questo periodo (A new kind of science di Wolfram), mi auguro di aver acceso qualche punto interrogativo in qualcuno.

    Scusate per la lunghezza spropositata.
    Saluti.

    RispondiElimina
  19. Negli ultimi commenti il discorso era scivolato più sulla filosofia della mente che sull'intelligenza artificiale, della quale non sono certo un esperto se si vuole entrare nel dettaglio delle sue realizzazioni.
    Comunque calcola che la riduzione, in scienza, è sempre la strada maestra: non tutte le riduzioni riescono col buco, diciamo, ma una buona spiegazione scientifica è quasi sempre un esempio di riduzione.
    Calcola che i neuroni non fanno altro che attivarsi o spegnersi, tramite lo scambio di sostanze chimiche e impulsi elettrici, eppure da questa attività nasce la complessità del comportamento umano (ok, non sappiamo ancora esattamente come).
    Poi è vero che a livello di algoritmi c'è ancora molta strada da fare, perché l'intelligenza non si risolve nel saper giocare a scacchi, e allora ben vengano approci alternativi, ma qualunque algoritmo dovrà pur sempre reggersi sulle esili gambe di una macchina di Turing (pure quelli che implementano la logica fuzzy).

    RispondiElimina
  20. Ecco. Il mio dubbio è che tutto ciò non basti, che serva qualcos'altro.

    Il mio dubbio è che non ci siamo ancora spinti a studiare il cervello a tal punto da prendere atto dell'esistenza di quel qualcosa che ancora non abbiamo.

    RispondiElimina
  21. Il dibattito mi appassiona e non posso trattenermi dal postare ancora!

    Dunque, mi permetto di fare qualche obiezione; vi prego, non scambiate il fervore per polemica!

    1) Sul fatto che la computabilità abbia il proprio fondamento nella macchina di Turing, mi permetto di dissentire; si tratta fra l’altro non solo di una questione teorica, ma anche della “rivoluzione silenziosa” che sta attraversando il mondo della programmazione negli ultimissimi anni.
    La macchina di Turing è un POSSIBILE fondamento; l’altro, forse ancora più minimale e meglio fondato, è il lambda-calcolo. La sua applicazione alla computazione risale almeno agli anni ’60, tramite il mitico articolo “Recursive functions of symbolic expressions and their computation by machines” di McCarthy. E’ il lavoro fondamentale (non ho detto “mitico” solo per enfasi!) che ha consentito la nascita del LISP. E badate che dico “nascita”, perché moltissimi programmatori LISP sono in fondo al cuore dei platonici: credono che il LISP sia stato scoperto, piuttosto che inventato.
    Dal punto di vista pratico: una LISP-machine è ovviamente equipotente a una macchina di Turino; ciò che cambia è l’efficienza, che è certo inferiore per algoritmi basati su macchina di VonNeumann (in pratica: C/C++ e compagnia cantante…), mentre è decisamente più efficiente per algoritmi inerentemente funzionali (no-side-effects, massivo parallelismo, etc. Dimostrazione pratica: l’algoritmo MAP-REDUCE alla base di Google, azienda che non a caso ha investito su programmatori legati al paradigma funzionale piuttosto che il classico imperativo/object-oriented).
    I vantaggi dell’applicazione concreta del lambda-calcolo e della programmazione funzionale stanno entrando di forza in tutti i nuovi linguaggi di programmazione proprio per gli indubbi vantaggi in termini di espressività.

    2)Fuzzy-logic. Io sono molto prevenuto nei suoi confronti. Il primo motivo, profondamente irrazionale, risale all’antipatia per gli scritti di Kosko, allievo di Zadeh e principale divulgatore della fuzzy-logic, piuttosto impregnato di “new age” e abile nei voli pindarici.
    Su un piano più serio, l’obiezione classica alla fuzzy-logic è sempre valida: è vero che esprime una visione diversa dalla probabilità, ma di fatto ne utilizza esattamente la stessa matematica… ergo, è davvero una rivoluzione? Io credo invece che sia molto più interessante il calcolo bayesiano, che fra l’altro mi pare assai più “vicino” al nostro vero sistema di ragionamento.

    3) Se c’è un ambito in cui matematica, informatica, linguistica e neurologia convergono, è proprio l’analisi sintattica del linguaggio: il parsing. Disponiamo di un’ottima teoria delle grammatiche, di conoscenze solide sugli algoritmi di parsing, e infine di alcuni dati neurologici di conferma. Un esempio (ripesco dalla mia tesi di laurea) è la “P600” (onda positiva con latenza 600ms), elicitabile somministrando una semplice frase contenente un errore sintattico; la P600 esprime una richiesta di maggiori risorse per effettuare il parsing di una frase dalla sintassi “problematica”. In “informatichese”: fondamentalmente è una GlobalAlloc() per evitare uno stack overflow :)

    RispondiElimina
  22. Ci vorrebbe Leibniz Reloaded, ma a me risulta che il calcolo di Turing e il lambda-calcolo siano matematicamente equivalenti, poi che uno possa essere in pratica più funzionale è un altro paio di maniche. Che io sappia finora l'unica contro-prova alla tesi di Church-Turing (proprio Church è l'inventore del lamda-calcolo, fra l'altro) è arrivato dalla computazione quantistica, con algoritmi che possono ottenere prestazioni superiori (ma sempre solo in termini di velocità) a quelli di qualsiasi macchina di Turing.

    Sulla fuzzy logic sono piuttosto prevenuto anch'io: sono abbastanza conservatore su queste cose, e rigorosamente bayesiano.

    RispondiElimina
  23. @Anonimo

    Prima di tutto uno sfogo personale: che bello poter parlare di queste cose su Internet con persone aperte e disponibili al confronto!!! Sono felicissimo.

    Di seguito le mie risposte ai 3 punti:

    1) E' dimostrabile formalmente l'equivalenza tra MdT, Lambda Calcolo, Funzione ricorsive parziali, MdT Non Deterministiche e molte altre. Si tratta di macchine che utilizzano convenzioni diverse ma che a livello di espressività sono equivalenti.

    http://www.economicexpert.com/a/Computability:theory.htm

    2) Un conto è dire che si è titubanti, un altro conto è dire che la matematica sottesa alla teoria fuzzy è la stessa di quella della probabilità. Nulla di più falso. Il calcolo della probabilità si basa su una logica di natura bivalente. Attribuiamo una valore reale compreso tra 0 ed 1 alla possibilità che un evento di interesse di verifichi. Il verificarsi dell'evento è bivalente: si verifica o non si verifica. Punto. In logica fuzzy si attribuisce ad elementi un valore di appartenenza ad insiemi fuzzy. I gradi di appartenenza sono infiniti.

    Faccio un'esempio: Ho due bicchieri d'acqua: uno tossico al 5% e l'altro con probabilità 5% che sia tossico. Quale scegliereste? Occhio che "acqua" viene utilizzato come concetto atomico, quindi nessuno sa che l'acqua è composta da molecole e così via.

    3) Non conosco l'argomento P600. Ho individuato in rete un po' di documentazione e mi riservo di approfondire il tema. Tuttavia, a priori, manifesto un personale ed immotivato sentore circa l'impossibilità di un attuale calcolatore di "comprendere un linguaggio". Mi ripeto: "sento che serve ancora qualcos'altro". MdT, Lambda Calcolo & C. non sono abbastanza "attrezzate". E' una mia sensazione, nulla di più.

    Grazie a tutti per la discussione.

    RispondiElimina
  24. @ Michele Filannino Thomas e chiunque altro... :)

    Sono costretto a postare come anonimo, ma mi sembra giusto fornire almeno un'email:
    JorgeDaBurgos@yahoo.it


    Sulla fuzzy logic: sì, il concetto è diverso (outcome finale dell'evento discreto versus appartenenza parziale a una classe), ma gli operatori sono pressocché gli stessi (uhm, qui potrei sbagliare: "molto" e "poco" non so se abbiano una definizione standard per le probabilità); in ogni caso: in quali situazioni concrete un sistema di controllo fuzzy si comporta diversamente da un sistema modellato con la probabilità?

    G.M.

    RispondiElimina
  25. A causa del tempo tiranno, sono ancora costretto ad intervenire in modo telegrafico. Mi limiterò all'officium notarile e poco più, chiedo venia in anticipo se l'eccessiva stringatezza causerà ambiguità, d'altro canto gli argomenti sono tanti e ci vogliono un paio di volumi per trattarli, altro che un commento o due.

    Le MdT e il lambda calcolo rappresentano due tentativi pressoché contemporanei di risolvere l'Entscheidungsproblem (problema decisionale) nella logica dei predicati, da parte di Turing e Church rispettivamente.

    Il lambda calcolo sfocia nell'informatica teorica con un percorso che origina (tagliando corto, ché ad arrivare a Leibniz ci si mette un attimo e io in particolare ci metto anche meno) dalla logica combinatoria di Schönfinkel e s'ingrossa col filone del costruttivismo logico, prosegue col lavoro di Alonso Church, Haskell Curry e soprattutto di Dana Scott, che ne ha formalizzato la semantica, dando la stura a quella che oggi si studia come semantica denotazionale assieme ad un arsenale di rappresentazioni collaterali nel mondo dell'interpretazione astratta, dalla semantica operazionale a quelle algebriche.
    Il tutto culmina con la splendida dimostrazione dell'isomorfismo di Curry-Howard, negli anni Novanta, che sancisce l'isomorfismo tra gli oggetti e i metodi della teoria della dimostrazione (i.e. proposizioni e dimostrazioni) e quelli del lambda calcolo tipato (tipi, coppie, funzioni etc.).

    Il ruolo di McCarthy in questo grandioso affresco è però secondario, in tutti i manuali storici come nella cultura orale della comunità dei practitioners. A proposito dei quali, ricorderei solo che occupandomi per mestiere di paradigmi "strani" e quindi anche di linguaggi puramente funzionali negli ultimi quindici anni o poco più, da Miranda a ML e Haskell, di LISP ho sentito parlare solo come Lost In Stupid Parentheses... :-)

    L'equivalenza tra i numerosi modelli di calcolo sopra ricordata è stata provata in modo indipendente e quasi contemporaneo da una dozzina di grandissimi nomi, oltre a Church e Turing: dallo stesso Gödel a Herbrand, Kleene, Post, e di sicuro ne dimentico altri, fino al buon ultimo Markov.

    Tutto ciò in seno al grande filone scaturito dalla tesi che oggi chiamiamo di Church-Turing inerente la nozione informale e generale di funzione intuitivamente calcolabile, e la sua effettiva computabilità.

    RispondiElimina
  26. Ancora... sui quantum computers, attenzione: sono "le" macchine non deterministiche par excellance, ha senso confrontarli unicamente con le MdT non deterministiche, e in ogni caso alcuni algoritmi mostrano complessità teorica peggiore rispetto alle MdT ed ai calcolatori convenzionali.

    Altro appunto: Von Neumann, inarrivabile genio la cui sola menzione causa travasi di bile in molti radical chic de noantri, ha dato il nome ad una architettura di calcolatori praticamente implementabili, non ad un modello di calcolo.
    La "macchina Von Neumann" non è altro che il banalissimo PC dotato di un singolo spazio di indirizzamento fisicamente condiviso (e spesso anche logicamente, ma non è rilevante) tra dati e istruzioni.
    L'altra architettura proposta ai primordi dell'ingegneria dei calcolatori è nata ad Harvard e ne porta il nome, e prevedeva (abbastanza ovviamente) memorie e bus fisicamente separati per dati ed istruzioni, con immediati vantaggi come la possibilità di fetch contemporaeo e l'ampiezza di parola potenzialmente diversa per dati e istruzioni.
    Il gruppo di Von Neumann a Princeton vinse la commessa negli anni Cinquanta, quando le memorie avevano costi stratosferici. Oggi quei motivi sono del tutto decaduti: di fatto, il 99% delle architetture per core, system on chip e microcontroller utilizza uno schema Harvard puro o leggermente modificato (riguardo alla possibilità di modifica e automodifica della memoria di programma a runtime, in particolare).

    La logica fuzzy è un balocco, e certo non risolve il problema della vaghezza, come altre logiche non monotone. Essa comunque nasce dal geniale e grandioso lavoro di Lukasiewicz, padre della logica "a tre valori" e sue generalizzazioni.
    Come la maggioranza dei circa settecento sistemi logici con i quali ci si balocca oggigiorno, anche la logica fuzzy è comunque sempre una teoria dei reticoli parzialmente ordinati, e i suoi insiemi supporto sono comunque i nostri cari vecchi insiemi convenzionali (crisp, me li chiamano !) sebbene esistano varianti fuzzy su universi più che numerabili, quindi con cardinalità di valori Aleph-1 (vulgo, l'intervallo reale tra zero e uno).

    E' comunque immediato verificare che non esiste un isomorfismo tra i gradi di appartenenza e gli approcci probabilistici, continui o discreti che siano: manca del tutto il vincolo fondamentale in probabilità, ossia la sommatoria unitaria delle probabilità in un universo finito.

    Non ho finito, ma mi fermerei qui, come disse (pare) Andy Wiles.

    RispondiElimina