Alan Turing è universalmente riconosciuto come uno dei padri dell’informatica, il primo a formalizzare i concetti di calcolo ed algoritmo grazie ad un modello teorico (la “macchina di Turing”) che costituisce la base dei moderni computer, nonché lo strumento con cui definire ed affrontare problemi affascinanti come la calcolabilità di un algoritmo o la sua complessità. Sua è anche una delle più famose definizioni riguardo all’intelligenza artificiale, il “test di Turing”. Durante la Seconda Guerra Mondiale, la sua attività per l’unità di crittoanalisi dell’esercito inglese fu determinante per la decifrazione dei messaggi in codice del Terzo Reich e quindi per le sorti dell’intero conflitto. Storia interessante ma triste la sua: personaggio eccentrico, geniale matematico, logico e crittografo, una delle menti più grandi del XX secolo, oltre alle pressioni dei servizi segreti ebbe a soffrire anche terribili ed ingiuste persecuzioni per la sua omosessualità, forse addirittura tali da spingerlo al suicidio a neppure 42 anni.
Macchine e algoritmi
Ma andiamo con ordine. Nasce Alan Mathison Turing, il 23 Giugno 1912 a Londra. Il padre è un alto funzionario dell’Indian Civil Service e durante la sua infanzia i genitori si alternano tra la casa ad Hastings, in Sussex, e frequenti e lunghi viaggi nel distretto di Madras, in India, durante i quali Alan ed il fratello maggiore soggiornano nella dimora di campagna di amici di famiglia. Viene iscritto alle Superiori alla Sherborne School in Dorset; il primo giorno di scuola tutta l’Inghilterra è ferma a causa del grande sciopero generale del 1926, ma Alan non ha proprio intenzione di approfittare della cosa per tagliare: inforca la bici, e percorre quasi un centinaio di chilometri da Southampton a Sherborne.
La passione per la bicicletta e la corsa lo accompagneranno per tutta la vita: membro quasi per caso del Walton Athletic Club, correva sulle 3 e sulle 10 miglia, e prese parte alle selezioni per partecipare come maratoneta alle Olimpiadi di Londra del 1948, a cui fu poi costretto a rinunciare a causa di un infortunio. Da notare che ai Giochi la maratona la vinse l’argentino Delfo Cabrera, con un tempo di appena 11 minuti inferiore al suo miglior personale di 2.46:11.
La sua scuola è una Public School indirizzata a formare la classe dirigente, ma lui se ne frega delle materie classiche, è un disastro in latino, religione e perfino in matematica, perché anziché studiarne i fondamenti si appassiona a cose tipo chimica, astronomia, teoria della relatività e non ultimo, al gioco degli scacchi.
Riesce perfino a combinare corsa e scacchi, insieme all’amico David Champernowne inventa la specialità “Turochamp” con regola “giro-della-casa”, una partita a scacchi in cui il giocatore che muove fa un giro di corsa della casa, e se al suo arrivo l’avversario non ha ancora fatto la propria mossa, egli ha diritto di muovere un’altra volta, e così via.
Nel 1931 viene ammesso al King’s College dell’Università di Cambridge dove studia meccanica quantistica, teoria delle probabilità e logica. Si interessa al rapporto tra corpo e mente, e di come quest’ultima possa essere incorporata nella materia inerte e poi di nuovo da essa scorporata. Nel 1934 si laurea con il massimo dei voti, e nel 1936 si trasferisce a Princeton per il Ph.D.
A quell’anno risale anche la prima formulazione della sua famosa “macchina”. Si tratta di un dispositivo che opera su un nastro potenzialmente infinito fatto da tante celle, contenenti ognuna un simbolo (di un qualsiasi alfabeto finito) che possono essere indifferentemente lette o scritte tramite una testina. Il dispositivo ha un’unità di controllo che può assumere una serie di stati finiti, a partire da uno stato iniziale, ed opera secondo un insieme di regole (istruzioni), cioè in pratica esegue un programma predefinito.
Le regole sono molto semplici: consistono in una condizione (simbolo letto e stato corrente) che se verificata scatena una possibile azione (scrittura di un simbolo e/o spostamento della testina di lettura/scrittura e/o cambiamento del valore dello stato). Esempio: se nello stato X sul nastro c’è il carattere ‘A’, allora scrivi il carattere ‘Z’ e sposta la testina avanti di una posizione. Quando non c’è nessuna regola applicabile la macchina si arresta, e quel che si trova registrato sul nastro in quel momento rappresenta il risultato dell’elaborazione.
E’ possibile dimostrare che questa macchina così semplice, con il suo set di istruzioni così limitato, è in grado di effettuare tutte le elaborazioni effettuabili da qualsiasi modello di calcolo noto all’uomo (e ce ne sono tanti, dai nomi astrusi e quasi impronunciabili come: le funzioni ricorsive di Herbrand/Gödel, il lambda calcolo, la logica combinatoria di Schönfinkel/Curry, gli algoritmi di Markov, i sistemi di Post, le macchine di Hao Wang, eccetera, eccetera…). E si ritiene (poiché non è ancora dimostrato, ma nemmeno confutato) che per ogni funzione calcolabile esista una macchina di Turing, con il suo set di istruzioni elementari, che ne è equivalente, cioè che la può calcolare. Da ciò discende anche l’assunto che i linguaggi di programmazione sono tutti equivalenti; ebbene sì! Dal Basic che si considerava roba da bambini, al C che sembrava fosse il più fico di tutti, al C++ che molti faticano ancora a comprendere pienamente e ad usare, al Java che viene regolarmente contestato per le performance, all’Assembler che ha sempre portato dietro un’aura di misticismo, non ne esiste uno più “potente” degli altri, perché alla fine vengono tutti tradotti in linguaggio macchina per essere eseguiti dalla CPU. Un computer infatti altro non è che… una macchina di Turing!
Ma ora, torniamo al nostro Alan.
La guerra dei codici
Dopo il Ph.D. rifiuta un posto a Princeton e torna al King’s College a Cambridge. Poi scoppia la guerra, e fin dall’inizio Turing collabora con il Government Code & Cypher School, l’organizzazione di decrittazione (code-breakers) dell’esercito inglese, di stanza a Bletchley Park, una tranquilla tenuta di campagna a 50 miglia a nord-ovest di Londra. L’obiettivo è decifrare le comunicazioni dell’esercito tedesco, codificate con Enigma (e in seguito con la cifratrice Lorenz), una specie di macchina combinatoria che a seconda di regolazioni cambiate giornalmente dai militari era in grado di produrre un testo cifrato a partire da un testo in chiaro, e viceversa. I matematici polacchi avevano ideato una macchina – la “bomba kryptologiczna” – per decifrare i primi messaggi, e gli inglesi entrarono in possesso di queste informazioni. Ma l’approccio polacco dimostrò limiti insormontabili allorché i tedeschi, mangiata la foglia, cambiarono le procedure operative introducendo altri nuovi rotori combinatori alla macchina: crackare il codice risultava così computazionalmente troppo complesso per essere fattibile in un giorno, al termine del quale la soluzione sarebbe stata inutile perché i tedeschi avrebbero riconfigurato la loro macchina con nuove regolazioni. Il gruppo di Turing, Hut-8 perché evidentemente lavorava nel padiglione numero otto, risolve il problema applicando meccanicamente la deduzione logica: partendo dall’assunto che il messaggio da decifrare contenesse una frase o una parola specifica (in crittografia “crib”), la loro nuova macchina, chiamata semplicemente “bombe”, era in grado di processare l’insieme delle configurazioni possibili di Enigma scartando quelle contraddittorie, in modo che alla fine dell’elaborazione ne rimanessero solo un numero relativamente piccolo da investigare. Ad esempio, supponendo che il messaggio originale contenesse la parola “fuhrer”, la macchina provava una per una le combinazioni di rotori: se usando la prima risultava, poniamo, che “fuhrer” sarebbe stato codificato come “1xkaea”, e quella sequenza di lettere non compariva nel messaggio cifrato, la configurazione veniva scartata e si passava alla successiva. Alla fine potevano essere trovate più configurazioni plausibili, ma solo una di queste applicata all’intero messaggio produceva un testo di senso compiuto (cioè traduceva anche le altre parole, non solo “fuhrer”). Scegliendo messaggi particolari di cui si poteva supporre il contenuto, come bollettini meteo emessi ogni giorno sempre alla stessa ora, o comunicazioni che usavano frasi formali e di circostanza, fu possibile applicare questo sistema e quindi essere in grado di decifrare qualsiasi comunicazione cifrata emessa dai militari tedeschi in quella giornata.
A Bletchley Park, dove nel 1940, a 28 anni, è già direttore del gruppo, non passa certo inosservato per i suoi comportamenti “eccentrici”. Diciamolo, è davvero il prototipo del nerd: arriva al lavoro in bicicletta o di corsa, in cerata gialla quando piove o con la maschera antigas ai primi di giugno, causa allergia al polline; la sua bicicletta ha un problema alla catena, ma piuttosto che perder tempo a ripararla, avendo notato che essa cade ad intervalli regolari, Alan preferisce contare le pedalate e fermarsi prima che si ingrippi, darle una sistemata veloce e ripartire. E’ di aspetto trasandato, non si preoccupa troppo di andare al lavoro senza essersi fatto la barba, è antiaccademico e poco sociale (abbandona all’improvviso conversazioni e compagnie che ritiene noiose o poco interessanti), ed un po’ infantile: è nota la sua predilezione per gli orsacchiotti di pelouche e la fiaba di Biancaneve. Per tutti è “the Prof”, ma sicuramente il suo essere così stravagante lo faceva oggetto di pettegolezzi e scherzi… Perché altrimenti avrebbe dovuto assicurare con un lucchetto la sua tazza del the al termosifone?
Frequenta una ragazza, Joan Clarke, sua collega ad Hut-8, che gli insegnerà tra le altre cose anche a fare a maglia. Nel 1941 le fa una proposta di matrimonio, confessandole tuttavia con onestà e coraggio la propria omosessualità. Sembra che per Joan ciò non fosse un problema insormontabile, era disposta ad accettarlo, ma alla fine il matrimonio non si concretizzò.
Turing elaborò anche una logica (che chiamò “Turingeria”) per decifrare le comunicazioni cifrate con la più complessa cifratrice Lorenz, che poté essere sfruttata grazie al primo calcolatore elettronico digitale programmabile, il Colossus, sempre sviluppato a Bletchley Park da Tommy Flowers (1). Si stima che i contributi dei code-breakers inglesi furono decisivi per la vittoria alleata nella Seconda Guerra mondiale, che altrimenti si sarebbe trascinata per altri due, tre o quattro anni con esito incerto.
Il test di Turing
Dopo la fine della guerra, Turing torna all’università. Collabora prima brevemente con il National Physics Laboratory di Londra e poi nel 1948 ottiene un posto all’Università di Manchester, dove diviene direttore del laboratorio di calcolo del Dipartimento di Matematica, impegnato nella costruzione di un nuovo, potente computer chiamato MADM (Manchester Automatic Digital Machine). Pubblica lavori di matematica astratta, e soprattutto ha modo di lavorare con i primi computer disponibili; scrive programmi per far giocare il computer a scacchi, anche se la potenza di calcolo delle macchine che ha a disposizione è ancora troppo ridotta e per provare una partita, all’inizio, è costretto a simulare il programma su carta lui stesso. E’ affascinato dall’idea che il computer possa simulare la mente umana: se la macchina fosse in grado di apprendere in maniera automatica, basterebbe simulare i processi mentali di un bambino per raggiungere in breve una piena intelligenza artificiale.
In una pubblicazione dà una famosa definizione per stabilire se una macchina può essere considerata intelligente: siccome è difficile definire cos’è l’intelligenza, e di conseguenza rispondere alla domanda se una macchina possa pensare, egli propone di ridurre la questione ad un aspetto più pratico (e meno ambiguo, che faccia cioè a meno di chiamare in causa l’intelligenza): può una macchina fare quello che noi (entità pensanti) facciamo? Può comportarsi come noi, fino al punto ad essere da noi indistinguibile?
Per stabilirlo propone un test (il “test di Turing”), in cui una macchina ed un uomo giocano con un giudice ad un gioco simile all’imitation game, un party game in cui un uomo ed una donna si nascondono in due stanze diverse e gli invitati cercano di indovinare chi sia chi facendo domande a cui essi rispondono tramite foglietti di carta passati sotto l’uscio. Nel test di Turing è un giudice umano a interagire con due interlocutori, un essere umano ed una macchina, con i quali può comunicare solo tramite messaggi di testo; il suo scopo è indovinare, in un tempo limitato, chi tra due è la macchina.
Il test di Turing divise fin dall’inizio la comunità scientifica. Secondo alcuni era un’ottima idea, secondo altri non aveva nulla a che fare con l’intelligenza. Nel 1966 il programma ELIZA fu il primo a sembrare lì lì per passare il test di Turing: l’idea era di simulare un psicoterapista, e di fatto si trattava di un primitivo chatterbot (2), che se trovava certe keyword nelle affermazioni o nelle domande del suo interlocutore rispondeva trasformandole in un’altra proposizione secondo alcune semplici regole; se non ne trovava, rispondeva in modo generico o riproponendo una delle domande o affermazioni passate. Era piuttosto rudimentale, ma un suo successore, PARRY (1972), che si proponeva invece di simulare uno schizofrenico paranoide, riuscì ad ingannare molte persone: ad un gruppo di psichiatri vennero mostrate le trascrizioni dei dialoghi tra psicoterapeuti e pazienti (sia umani sia simulati da PARRY) e fu chiesto loro di determinare quali fossero gli umani e quali no: ci azzeccarono solo il 48% delle volte, praticamente la stessa probabilità che se avessero tirato a caso. Forse ci si può chiedere quanto sia utile simulare un essere umano malato di mente (provare l’esistenza della demenza artificiale?), ma è chiaro che più si restringe il dominio, tanto più diventa facile passare il test: lo stesso Turing citava l’esempio degli scacchi, se il giudice fosse impegnato in due partite a scacchi con utenti remoti, distinguere un giocatore umano da un automa sarebbe stato, già all’epoca, praticamente impossibile. Da allora comunque le implementazioni dei chatterbot sono diventate sempre più sofisticate e sono stati indetti anche famosi premi annuali per i programmi per computer che meglio figurassero al test di Turing, come il Loebner Prize e quello dell’Università di Reading. Addirittura i bot presentati alla giuria arrivavano a simulare errori di battitura tipici degli utenti umani per essere ancora più indistinguibili da loro.
Indegne persecuzioni e una prematura fine
A partire dal 1952, sempre a Manchester, Turing iniziò ad interessarsi alle applicazioni della matematica nella biologia, cioè ad esempio di come la crescita delle piante e altre strutture biologiche seguano schemi matematici, basati ad esempio sui numeri di Fibonacci (3).
Nel gennaio di quell’anno, dei ladri entrarono in casa sua derubandola. Alla polizia si disse convinto che l’autore del furto fosse una sua recente conoscenza, un tale Arnold Murray, 19 anni e disoccupato, con il quale aveva iniziato una breve relazione poi finita con un tentativo di ricatto. Ammettendo nelle sue deposizioni una relazione omosessuale, invece di ottenere giustizia fu processato lui stesso per “oscena indecenza”, cioè per una condotta sessuale non conforme alla morale (reato che verrà abolito in Inghilterra solo nel 1967). Forse lo tradì una certa ingenuità, una condotta morale troppo onesta, o un’inettitudine a mentire. Oppure semplicemente, come ebbe a dire al giudice, non c’era nulla di cui pentirsi visto che non riteneva di aver fatto nulla di male.
Ottima difesa. Il risultato? Murray venne prosciolto e lui condannato alla prigione oppure a sottoporsi ad un trattamento di castrazione chimica con lo scopo di “stroncare le sue devianze sessuali”. Turing scelse la seconda possibilità, non concependo di poter essere privato dei suoi studi e dell’accesso alle enormi macchine calcolatrici che gli servivano per portarli avanti.
Si sottopose quindi, con rassegnata assiduità, ad un anno di iniezioni di estrogeni, che lo resero impotente e gli procurarono la crescita dei seni. La condanna provocò la decadenza di ogni tipo di collaborazione con i servizi di sicurezza nazionale; gli fu negato l’ingresso negli Stati Uniti; secondo alcuni, era perfino da tener d’occhio in quanto reclutabile dai Sovietici come spia. Possibile che, in tempi di guerra fredda, maccartismo e caccia alle streghe i servizi segreti lo tenessero sotto osservazione, ma credo non più di un qualsiasi altro scienziato che avesse lavorato a progetti top secret e fosse ora fuori dai giochi.
Fatto sta che l’8 giugno 1954 viene trovato morto nel suo letto a Manchester. Sul comodino c’è una mela verde con un bel morso. La causa della morte è avvelenamento da cianuro, ed il caso viene sbrigativamente liquidato come suicidio. È una storia perfetta per trasformarlo in una leggenda: a causa delle persecuzioni subite per la sua omosessualità, il grande scienziato decide di suicidarsi ingerendo una mela avvelenata, proprio come Biancaneve nella sua favola preferita. Da leggenda nasce leggenda, e c’è chi dirà che il logo della Apple, la mela col morso, avrebbe rappresentato un omaggio proprio a Turing, teorizzatore dei computer, e quindi indirettamente anche di quella “scatola di legno piena di fili” realizzata da Steve Wozniak che Steve Jobs voleva vendere.
In realtà, a mio parere la tesi del suicidio è davvero poco plausibile e mi meraviglio di come sia stata la versione ufficiale per più di cinquant’anni. Non solo la mela non fu mai analizzata per verificare se fosse avvelenata, ma sembra che fosse abitudine di Turing mangiarne una prima di andare a dormire, e non era inusuale che non la finisse. Poi, la sua morte avviene quando la cura ormonale (a cui peraltro egli si era sottoposto sì forzatamente, ma con una certa “rigorosa determinazione”, quasi come lo considerasse un esperimento su se stesso) è già finita da un anno; è un periodo in cui secondo molti amici egli è di ottimo umore, e poco prima della morte si è appuntato le cose da fare la settimana successiva, proprio come se fosse un giorno come gli altri.
Rileggete queste poche pagine e ditemi se, dall’idea che vi siete fatti del personaggio, è una cosa che vi sembra da lui. A me no, anzi stona proprio. Allo stesso modo liquiderei senza appello anche tesi complottistiche secondo cui sarebbe stato vittima dei servizi segreti. L’ipotesi più realistica mi sembra purtroppo quella meno romantica, cioè che si trattò di un banale incidente, come peraltro sostennero i suoi familiari. Il cianuro di potassio era una sostanza con cui Turing aveva spesso a che fare per esperimenti di chimica che eseguiva in uno sgabuzzino. Può essere che qualcosa sia andato storto, che so, una distrazione, una dimenticanza, un passo eseguito con consumata superficialità… Questo sì che mi sembra molto più plausibile.
Credo che le pur gravi persecuzioni subite per il suo orientamento sessuale non potessero minare lo spirito di uno come Alan, che sapeva fregarsene e concentrarsi invece sulle cose che gli interessavano. Credo che avrebbe volentieri continuato le sue indagini sul nuovo campo bio-matematico che aveva cominciato ad esplorare; e poi appena un anno prima, nel 1953, Watson e Crick avevano proposto il loro modello a doppia elica del DNA… Scommetto che ci si sarebbe divertito a giocarci un po’, con quel nuovo codice fatto di basi azotate, e chissà cosa avrebbe potuto combinare.
NOTE
1) Il Colossus venne costruito a Bletchley Park per decodificare le trasmissioni della telescrivente Lorenz, successore di Enigma. Il prototipo Colossus Mark 1 fu completato nel 1943, mentre una seconda versione, cinque volte più veloce grazie all’utilizzo pionieristico degli shift register, fu ultimata nel 1944. Ne furono completati in tutto dieci esemplari, poi distrutti o smantellati alla fine della guerra. Il progetto fu segretato fino al 1970. Basato su relè elettromeccanici, valvole termoioniche, tiratroni e fotomoltiplicatori, leggeva un nastro perforato alla velocità 5000 caratteri al secondo (più di 40 km/h). Il sistema di lettura poteva funzionare anche a velocità quasi doppie, ma il limite era dato dal nastro perforato che si sarebbe disintegrato. C’è chi si è divertito a calcolare una frequenza di clock rapportata ai computer moderni pari a 5,8 MHz, una velocità di tutto rispetto considerando di che tecnologia, e di che anno, stiamo parlando.
2) Un chatterbot è un programma per computer il cui scopo è sostenere una conversazione (chat) con utenti umani. Lo scopo è solitamente proprio quello di ingannare l’interlocutore facendosi credere umano, con secondi fini che vanno dalla raccolta informazioni, all’aiuto nel supporto clienti, alla diffusione di pubblicità indesiderata (o spam).
3) In matematica, la successione di Fibonacci (da Leonardo Fibonacci, matematico pisano del XIII secolo) è una successione di numeri interi positivi in cui ciascun numero è la somma dei due precedenti e i primi due termini della successione sono per definizione F(1) = 1 e F(2) = 1. Quindi la sequenza è costituita dai numeri 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ecc… Qualcuno ha inventato anche i numeri di Tribonacci o Tetrabonacci (alimortacci!), versioni dove ogni numero anziché essere la somma degli ultimi due è la somma rispettivamente degli ultimi tre o quattro (ma si può andare avanti all’infinito). Nelle scienze sono stati trovati esempi di queste successioni in fisica, biologia, cristallografia, elettrotecnica, informatica ma anche nella musica, nell’economia, nell’arte, ecc.
BIBLIOGRAFIA
[www.storiedisport.it/?p=11709] Alan Turing: Maratona matematica
[matematica.unibocconi.it/articoli/alan-turing-lenigma-di-un-genio] Alan Turing: l’enigma di un genio