“Le macchine mi prendono alla sprovvista molto frequentemente”
Alan Turing
Se qualche tempo fa avessimo chiesto in giro: «Sa chi è stato Alan Turing?», in pochi ci avrebbero risposto, dato che è un nome piuttosto ricorrente quasi esclusivamente tra gli studiosi di matematica, di informatica e di filosofia. Ma verso la fine del 2014, improvvisamente, la figura di questo scienziato diventa un caso cinematografico, con l’uscita di una pellicola intitolata «The Imitation Game», dedicata al matematico inglese e alla sua vita (1912-1954). Da allora si è cominciato a parlare di lui, della macchina Enigma, del calcolatore Bombe, di Colossus, della crittografia, etc. A molti tutto ciò è sembrato assomigliare a quanto era accaduto per John Nash, la cui vita e le cui vicende avevano qualche anno fa ispirato il cult movie A Beautiful Mind. Entrambi gli eventi fanno, a volte, sospettare che attorno alla vita travagliata, ma straordinariamente feconda dal punto di vista scientifico, di due studiosi fondamentali per il panorama intellettuale del loro tempo (e anche del nostro), si sia voluta costruire un’operazione di marketing, un’operazione commerciale che ben poco ha a che vedere con il valore dei due personaggi in questione. Sì, è vero, un cinema non è il luogo più adatto per raccontare la teoria dei giochi, le equazioni matematiche, i flip-flop, la logica formale e le noiose considerazioni sulle macchine e sulla riproducibilità del pensiero umano. Ma è anche vero, prendiamo ad esempio Alan Turing, che occorre che tutti sappiano che oltre che essere stato omosessuale, essersi suicidato perché non sopportava né il carcere, né la castrazione chimica cui era stato sottoposto, oltre che, da esperto di crittografia, aver inventato una macchina che decodificando i messaggi cifrati del nemico nella Seconda Guerra Mondiale, consentendo di affondare un cospicuo numero di sommergibili nemici, Alan Turing è considerato da tempo, e unanimemente, il padre del moderno computer e dell’informatica: quindi ognuno dovrebbe sapere qualcosa di più sul suo contributo alla progettazione logico-funzionale di queste straordinarie (anche se a volte infernali) macchine che oggi popolano le nostre case, le nostre scuole, i nostri luoghi di lavoro.
La macchina di Turing
Turing è l’autore di una straordinaria scoperta logico-matematica: l’idea di macchina universale; un celebre articolo del 1936 dal titolo “On Computable Numbers” ne descrive le caratteristiche e il funzionamento.
Ma che cos’era successo prima? Turing non è stato, infatti, il primo a concepire l’idea di una macchina per il calcolo e la programmazione logica. Vediamo rapidamente che cos’era successo un po’ di tempo addietro.
Per una strana coincidenza, sono stati due filosofi a tentare di costruire delle macchine calcolatrici.
Il primo, un giovanissimo Blaise Pascal, riuscì a dimostrare come le operazioni di calcolo potessero essere compiute in modo puramente meccanico, costruendo una macchina che eseguiva addizioni e sottrazioni, rendendo automatica l’operazione di riporto, uno dei principali ostacoli alla rapidità del calcolo mentale.
Qualche anno dopo Gottfried Wilhelm von Leibniz, consapevole del fatto che non fosse degno di uomini ingegnosi perdere ore come schiavi nei lavori di calcolo, che potevano essere affidati a qualcun altro che potesse avvalersi di una macchina, concepisce una macchina calcolatrice in grado di compiere moltiplicazioni e divisioni, sotto forma di addizioni e sottrazioni ripetute. Ma il contributo di Leibniz non si ferma qui: convinto della possibilità di meccanizzare il ragionamento, egli promuove il tentativo di costruire una sorta di linguaggio simbolico basato sulla combinazione di proposizioni elementari, una specie di «alfabeto del pensiero», un linguaggio universale per poter rappresentare tutti i concetti possibili e risolvere qualsiasi disputa intellettuale con il suo celebre calculemus. Nello scritto De scientia universali seu calculo philosophico, Leibniz afferma:
«Quo facto, quando orientur controversiae, non magis disputatione opus erit inter duos philosophos, quam inter duos computistas. Sufficiet enim calamos in manus sumere sedereque ad abacos, et sibi mutuo (accito si placet amico) dicere: calculemus!»
(Quando nasceranno delle controversie, non ci sarà più bisogno di discussione tra due filosofi di quanta ce ne sia fra due abachisti. Infatti, sarà sufficiente che essi prendano in mano la penna e si siedano davanti all’abaco e si dicano reciprocamente (chiamando, se vogliono, un amico come testimone): calcoliamo!)
Naturalmente, ci sono tanti altri avvenimenti e tanti altri personaggi che hanno sviluppato idee inerenti il calcolo automatico, ma sarebbe qui impossibile citarli tutti perché dovremmo ripetere la storia del pensiero scientifico e tecnologico dall’antichità a ieri, ma a due di questi però occorre dare un posto di rilievo.
Il primo è Charles Babbage (1792-1871), un matematico inglese che riprese un’idea dell’inventore francese Joseph-Marie Jacquard che nel 1805 aveva rivoluzionato l’industria tessile inventando un congegno da abbinare al telaio per ottenere disegni su stoffa tramite schede perforate che automatizzavano il processo di orditura dei tessuti (il famoso Telaio Jacquard). Nella macchina analitica, le sequenze di schede consentivano di regolare automaticamente le diverse operazioni, ma l’aspetto più rivoluzionario era il suo schema logico funzionale: la parte centrale, chiamata «magazzino», era formata da varie pile di ruote dentate capaci di rappresentare fino a 1000 numeri e raccoglieva i dati da calcolare; l’«unità intermedia», costituita da un sistema di leve e ingranaggi, trasferiva i dati dal magazzino alla terza unità, chiamata «mulino», dove le quattro operazioni aritmetiche venivano eseguite con un procedimento meccanico. Si intravede qui uno schema che sarà tenuto presente fino ad oggi per la costruzione dei moderni calcolatori.
Il secondo personaggio è Ada Augusta Byron (1815-1851), figlia del poeta, la quale intuì le potenzialità della macchina analitica di Babbage e scrisse i primi programmi per farla funzionare. La nobildonna inglese, particolarmente interessata alle idee del matematico inglese e alla loro divulgazione, introdusse per prima alcuni concetti algoritmici che regolano l’odierna programmazione strutturata dei calcolatori, e più precisamente l’idea di sequenza, ripetizione, salto condizionato e il concetto di sottoprogramma. Anche se tutto ciò rimase a livello di progetto, Ada Byron capì che la macchina avrebbe potuto sfruttare la formalizzazione della logica per costruire un sistema simbolico e un linguaggio in grado di esprimere le leggi che regolano i rapporti tra due cose qualsiasi.
Alan Turing costituisce un ponte tra i fatti sopra descritti e con un filo unisce il desiderio di Pascal di compiere calcoli veloci, l’idea di Leibniz di rendere automatiche le dimostrazioni, il concetto di macchina di Babbage e l’idea di programmazione di Ada Augusta Byron: queste idee confluiscono nella cosiddetta macchina di Turing, che doveva essere dotata, almeno nei propositi del suo autore, di poteri di estensione pari a quelli di un cervello umano.
La macchina di Turing era essenzialmente una formulazione teorica, molto semplice, ma molto potente: essa era costituita da un nastro di lunghezza infinita, suddiviso in caselle, ognuna delle quali poteva contenere un solo simbolo, e da una testina sotto la quale il nastro poteva scorrere in entrambe le direzioni; la macchina era in grado di eseguire soltanto operazioni elementari e, nonostante la semplicità apparente, era fisicamente realizzabile in un numero pressoché infinito di modi diversi ed era in grado di eseguire qualsiasi funzione computabile dal più potente dei calcolatori elettronici. Una macchina così concepita poteva essere considerata del tutto automatica, nel senso che l’intervento umano, nel suo funzionamento, non era previsto, come invece succedeva nei tentativi che lo avevano preceduto: essa poteva lavorare senza interferenze esterne, in modo autonomo; inoltre, era anche una macchina astratta, nel senso che essa prescindeva dalla possibilità di essere realmente costruita, e quindi lasciava da parte problemi e vincoli di natura tecnica, come le caratteristiche dell’hardware, la velocità di calcolo, l’ampiezza della memoria, etc. Con la descrizione estesa di tutte le informazioni volte a definire tale macchina automatica, si otteneva una sorta di «tavola di comportamento» di dimensioni finite, che definiva completamente la macchina: era questa tavola di comportamento la macchina vera e propria, non l’apparato fisico in cui essa era di volta in volta realizzata. Ognuna delle possibili tavole di comportamento definisce una macchina diversa da tutte le altre, con un comportamento diverso, quindi esiste un numero infinito di tavole possibili, e quindi un numero infinito di macchine possibili e realizzabil[1].
Potremmo definire il progetto di Turing come il tentativo di realizzare una macchina ragionante ideale, caratterizzata da onnipotenza logica, proprio perché, attraverso essa, si è giunti a distinguere la forma logica di una macchina dalla sua realizzazione materiale. Se il problema iniziale era semplicemente quello di addizionare, sottrarre, moltiplicare, dividere in tempi rapidi, con Turing l’attenzione si sposta definitivamente sulla meccanizzazione del ragionamento e sulle possibilità di deduzione della macchina. La calcolatrice si trasforma in calcolatore: i due termini si assomigliano, ma fanno riferimento a due modi totalmente diversi di concepire una macchina, la prima è predisposta per trattare esclusivamente numeri, il secondo è programmato per compiere operazioni di tipo logico al verificarsi o meno di determinate condizioni; la prima è una macchina dedicata, il secondo una macchina universale in grado di compiere operazioni molto diverse tra loro senza cambiare, per questo, la sua struttura fisica.
Il test di Turing
Il secondo contributo fondamentale di Turing è costituito dalle sue considerazioni sulle relazioni tra pensiero e macchina. Turing, in un famoso articolo apparso sulla rivista «Mind» nel 1950[2], esordisce con una frase, con la quale egli avvia una riflessione che sarà al centro del dibattito filosofico fino ai nostri giorni e che riguarda da un lato l’intelligenza artificiale, dall’altro il problema mente-corpo. La domanda in questione è la seguente: «Possono pensare le macchine?».
Forte delle sue convinzioni sulla possibilità di paragonare un calcolatore ad un cervello umano, egli prova a riflettere sulle differenze nel comportamento di un uomo e di un computer e propone un test. Il cosiddetto test di Turing si basa su un gioco, detto «gioco dell’imitazione» (è da questo gioco che il film sopra citato prende il nome), nel quale i partecipanti sono tre giocatori che non si conoscono tra loro; i primi due sono i cosiddetti candidati, un uomo e una donna, mentre il terzo giocatore, detto l’interrogante cerca di stabilire l’identità dei due candidati semplicemente sulla base delle loro risposte ottenute alle sue domande. Il candidato uomo, ad esempio, può cercare di confondere l’interrogante, facendo finta di essere la donna, mentre il candidato donna cerca di aiutare l’interrogante. Se l’interrogante indovina l’identità dei candidati, è la donna a vincere il gioco, altrimenti l’uomo vince la partita. Per evitare ogni indizio (es: il registro della voce), i tre giocatori si trovano in tre stanze diverse e dialogano tra loro per mezzo di una telescrivente, senza la presenza di calcolatori. L’idea di Turing è, però, quella di sostituire un calcolatore al candidato maschio e di vedere se, di fronte ad avversarie femminili medie, esso è in grado di confondere l’interrogante medio (essere umano) con altrettanta frequenza quanto un uomo medio. Se così accade, il calcolatore supera il test e può essere considerato «intelligente»[3].
È anche vero che le macchine si trovano a proprio agio soltanto in domini circoscritti, come quello del gioco degli scacchi, dove le possibilità di esaminare una determinata situazione sono un numero finito, anche se altissimo.
Il gioco dell’imitazione serve, naturalmente, per verificare le attitudini della macchina perché, afferma Turing, «se l’uomo dovesse cercare di fingere di essere la macchina farebbe certamente una figura molto brutta perché sarebbe tradito immediatamente dalla sua lentezza e imprecisione nell’aritmetica». A questo proposito, nell’articolo del 1950 Turing riporta il seguente dialogo tra uomo (domanda) e calcolatore (risposta):
Domanda: Mi scriva, per favore, un sonetto sul tema Forth Bridge.
Risposta: Non faccia affidamento su di me per questo. Non ho mai saputo scrivere poesie.
Domanda: Sommi 34957 a 70764.
Risposta: (pausa di circa trenta secondi e poi la risposta): 105721.
Domanda: Giuoca a scacchi?
Risposta: Si.
Domanda: Ho il Re in e1 e nessun altro pezzo. Lei ha solo il Re in c3 ed una Torre in h8. Tocca a lei. Che mossa giuoca?
Risposta: (dopo una pausa di quindici secondi): Torre in h1, matto.
Le convinzioni di Turing circa l’emulazione di un cervello umano da parte di un computer sono state messe a dura prova da una serie di studiosi: uno per tutti John Searle, che con varie dimostrazioni (di cui una è l’esperimento della cosiddetta stanza cinese), ha notato proprio che è da un punto di vista linguistico che non può essere fatto un parallelo tra macchina e uomo: la prima controlla agevolmente la sintassi di un discorso, il secondo, oltre alla sintassi, riesce a collegare dei significati alle parole nell’ambito di un contesto a lui noto; il calcolatore, in questo caso altro non è che un simulatore sofisticato di conversazioni umane.
Qualsiasi tentativo di emulare l’intelligenza umana si scontra con una serie di problemi di natura filosofica, ma forse il dibattito innescato dalla famosa frase di Turing intorno all’intelligenza artificiale è servito e serve, da un lato, per distinguere ciò che possiamo chiedere a una macchina e cosa invece rimane prerogativa umana, dall’altro a definire un concetto migliore e più adeguato di intelligenza, rispetto a quello che abbiamo utilizzato finora.
Le intuizioni di Turing sono comunque riassunte nella frase con cui egli chiude l’articolo del 1950 e che preludono allo straordinario sviluppo tecnologico, verificatosi in pochissimi anni e che, da allora, si protrae fino ai nostri giorni: «Possiamo vedere nel futuro solo per un piccolo tratto, ma possiamo pure vedere che in questo piccolo tratto c’è molto da fare».
[1] Cfr. M. Capponi, Il computer come ambiente di apprendimento, Morlacchi, Perugia 2003.
[2] A.M. Turing, Computing machinery and intelligence, Mind, 59 (1950) 433-460, trad.it. in: V. Somenzi, R. Cordeschi, La filosofia degli automi. Origini dell’intelligenza artificiale, Bollati Boringhieri, Torino 1986, pp. 157-183.
[3] J. Haugeland, Artificial Intelligence. The Very Idea, Mit Press, Cambridge 1985, trad.it. Intelligenza artificiale. Il significato di un’idea, Bollati Boringhieri, Torino 1988.
Massimo Capponi è ricercatore Universitario Confermato all’Università di Perugia, insegna Informatica applicata all’educazione nel corso di laurea in Scienze dell’educazione.