Alan Turing: Enigma, Calcolatori e Intelligenza Artificiale


Immagine correlata
Il nome di Alan Turing, oggi, è noto a molti. Tale notorietà è dovuta anche al fatto che, in anni recentissimi, la vita del matematico britannico è stata oggetto di sceneggiature cinematografiche piuttosto acclamate (è del 2014 il famosissimo The Imitation Game). Ad una così notevole (perlomeno per una personalità scientifica) 'popolarità' non credo però che corrisponda una profondità circa la conoscenza dei principali contributi dati da Turing alla scienza e alla tecnologia contemporanee. Oggi vorrei presentare un resoconto informativo sulle maggiori innovazioni introdotte da Turing nel campo dell'informatica e della cibernetica.

La vita
Alan Mathison Turing nacque a Londra il 23 giugno del 1912. Studiò a Cambridge, dove si laureò nel 1934. Due anni dopo pubblicò il famosissimo articolo On Computable Numbers, with an Application to the Eintscheidungsproblem, che già conteneva, in nuce, la progettazione di una 'macchina universale' che avrebbe poi preso il nome di Macchina di Turing. Nel 1938 ottenne il dottorato. Negli anni '40, nel pieno del secondo conflitto mondiale, Turing lavorò, insieme ad altri scienziati, alla decrittazione del famoso codice Enigma, progettato dai tedeschi e utilizzato per dirigere le operazioni di attacco navale e aereo ai danni della Gran Bretagna. Conclusa la guerra, Turing riprese a lavorare sui calcolatori. Fu tra i primi a lavorare su quelli che sarebbero diventati i computer e nel campo che oggi è noto come Intelligenza Artificiale. Ma la brillante carriera del matematico dovette subire un forte trauma nel 1952. In quell'anno, infatti, fu accusato di omosessualità (che allora in Gran Bretagna era considerato un crimine molto grave), condannato, e costretto a scegliere tra scontare una lunga pena in carcere o sottoporsi a delle cure ormonali terribilmente invasive e dolorose. Turing scelse la seconda alternativa. Il calvario sarebbe durato due anni. L'8 giugno del 1954 Alan Turing venne trovato morto nella sua casa. L'autopsia rivelò un avvelenamento da cianuro (si trattò molto probabilmente di suicidio). Solo nel 2009 il governo britannico ha espresso le scuse ufficiali per il trattamento riservato allo scienziato. Risale invece al 2013 la grazia postuma concessagli dalla regina Elisabetta.


La sfida di Enigma
L'attività di analisi crittografica in cui operò Turing è sicuramente quella più conosciuta dal grande pubblico. Egli è noto comunemente come colui che decrittò Enigma sventando i piani di invasione della Germania nazista. Questa convinzione piuttosto comune, però, corrisponde solo in parte a verità. In primis, perché Turing non fu il solo che lavorò alla decrittazione di Enigma. Sicuramente il suo fu un contributo importante, ma bisogna anche ricordare che a Bletchley Park egli lavorò insieme ad un gruppo di scienziati piuttosto brillanti. In secundis, perché l'importanza storica di Turing non si limita certamente a questa fase della sua esperienza biografica.
I tedeschi avevano ideato una macchina di codifica elettronica utilizzata per comunicare le coordinate relative agli attacchi aerei e navali contro la Gran Bretagna. Una delle particolarità di Enigma era che la sua configurazione iniziale veniva riconfigurata ogni 24 ore, sicché l'opera di decifrazione risultava ancora più impervia. I matematici di Bletchley Park avevano già progettato delle bombe crittografiche, delle macchine che avrebbero dovuto decifrare il codice. Grazie al contributo di Turing, queste macchine vennero implementate (e denominate bombe di Turing) e, grazie a successivi miglioramenti, divennero in grado di decifrare i messaggi tedeschi praticamente in tempo reale.
Nel complesso, Turing prestò servizio per i servizi segreti britannici per quasi cinque anni (dal 1939 al 1944).


La nascita dei calcolatori
La nascita di quelli che oggi chiamiamo 'computer' non è dovuta, differentemente da quanto si potrebbe pensare, a progettazioni con finalità applicative. L'obiettivo dei primi logici e matematici che lavorarono nell'ambito informatico e cibernetico non era quello di creare macchine in grado di operare una vasta gamma di applicazioni; piuttosto, essi miravano a concepire una piattaforma astratta in grado, attraverso procedimenti algoritmici e computazionali, di svolgere virtualmente qualsiasi operazione. Il fine non era l'applicabilità a fini pratici, ma il raggiungimento di un alto grado di efficienza di calcolo. In questo senso, la tradizione filosofica e scientifica aveva già compiuto alcuni passi significativi. Le 'macchine pensanti' del passato, tuttavia, avevano sempre finito per essere adattate allo svolgimento di operazioni pratiche e concrete. Dagli automi del periodo ellenistico alla pascalina (uno dei primissimi esemplari di calcolatrice nella storia), non era stato ancora concepito, né si era tentato di realizzare, un macchinario in grado di emulare o riprodurre i procedimenti logici di un cervello umano. L'articolo On Computable Numbers, with an Application to the Eintscheidungsproblem, pubblicato da Turing nel 1936, si muoveva in questa direzione. Nella fattispecie, la macchina progettata da Turing era stata concepita per risolvere il 'problema di indecidibilità di Hilbert'. Tuttavia, lo scienziato immaginava che una macchina astratta designata per la risoluzione di problemi matematici potesse trovare una controparte concreta (elettromeccanica) in grado di emulare il funzionamento di un cervello umano. L'intuizione di Turing si sarebbe rivelata fondamentale per il concepimento di quelli che sarebbero diventati i linguaggi di programmazione per computer. Logici e matematici, ma anche psicologi e linguisti avrebbero lavorato, tra la fine degli anni '50 e '60, ad una vera e propria classificazione dei linguaggi formali esprimibili dalle macchine. La Macchina di Turing si collocò come il tipo di macchina più potente in questo senso, in grado di esprimere il massimo grado di capacità di calcolo. Essa sarebbe stato la base per una serie di applicazioni tecnologiche. I calcolatori si mostrarono in grado di svolgere diversi compiti, dall'immagazzinamento di dati alla capacità di sfidare gli umani in giochi strategici come gli scacchi. L'implementazione delle prime, rudimentali e ingombranti macchine avrebbe permesso la realizzazione di quelli che oggi sono i computer.

Risultati immagini per gerarchia di chomsky
La Gerarchia di Chomsky è una classificazione dei linguaggi processabili dai calcolatori in base alla loro complessità; al livello più alto della gerarchia si trovano i linguaggi processabili dalla Macchina di Turing.


Le macchine pensano?
Il progetto iniziale di Turing era alquanto ambizioso. Egli puntava a realizzare una macchina che potesse riprodurre gli stessi procedimenti messi in atto dal cervello umano. In sostanza, una macchina intelligente. Tuttavia, la definizione di intelligenza ha dei contorni troppo sfumati per essere applicati ad una macchina, seppure altamente sofisticata. Non potendo attribuire alle proprie macchine quel concetto di intelligenza che in genere viene indicato come caratteristica dell'uomo o di altri animali, Turing si accontentò di collocare la nozione di intelligenza ad un livello concettuale diverso, più basso. Egli intendeva per intelligenza la capacità di affrontare un problema, anche complesso, in maniera efficiente. Di qui le applicazioni delle macchine per il gioco degli scacchi.
Turing, però, si spinse anche oltre. Era convinto di poter riuscire a programmare una macchina in grado 'confondersi' con gli esseri umani quanto a capacità di interazione. Da qui nasce il famoso test di Turing. Esso è descrivibile come segue: una parete separa due partecipanti A (macchina di Turing) e B (umano) da un terzo C ('giudice'); il compito di C è quello di stabilire chi sia, tra A e B, l'essere umano e chi la macchina. D'altra parte, A cercherà di ingannare C, mentre B cercherà di aiutare C nella corretta identificazione dei partecipanti. C può comunicare con gli interlocutori attraverso lo scambio di messaggi (dattiloscritti o trasmessi in modo analogo) per cercare di capire (sottoponendo domande, ad esempio) quale dei due sia l'essere umano e quale la macchina. Se la macchina riesce  effettivamente a ingannare il giudice un dato numero di volte, ovvero a convincerlo di non essere una macchina, allora il test si considera superato. 
Questo esperimento mentale ha dato adito a molte discussioni e polemiche; se da una parte Turing stesso aveva rinunciato ad attribuire alla macchina una definizione 'forte' di intelligenza, d'altra parte il test venne criticato in quanto esso non poteva mettere in luce una capacità di interazione simile a quella umana. In particolare, il filosofo del linguaggio John Searle, negli anni '80, concepì un contro-esperimento mentale in risposta a quello di Turing. Supponiamo di trovarci in una situazione analoga a quella descritta da Turing. Stavolta, però, supponiamo che la lingua utilizzata per la comunicazione sia il cinese. Se la macchina è in grado di produrre messaggi in questa lingua, potrà superare ugualmente il test. Mettiamo però che al posto della macchina, stavolta, ci sia un umano, che non conosce il cinese ma che è fornito delle istruzioni per dialogare in maniera consistente con chi si trova al di là della parete. E' chiaro che in questo caso non agisce la comprensione dei messaggi ricevuti da parte del non-parlante-cinese, ma solamente la capacità di seguire delle istruzioni. Searle conclude dunque che la macchina di Turing non può riprodurre, anche superando il test, un tipo di intelligenza che sembra essere prerogativa umana, perché essa, qualunque codice o qualunque lingua utilizzi, si limita a manipolare dei simboli senza comprenderli.
A questo proposito, ci si è domandati se si possa applicare il concetto di 'pensiero' ad una macchina. Secondo il linguista e filosofo Noam Chomsky, che all'inizio della sua carriera lavorò anche nell'ambito dei linguaggi artificiali e dei calcolatori, si tratta di un grande equivoco terminologico. Parafrasando Chomsky, in italiano diciamo che un aereo 'vola', ma sicuramente nessuno di noi direbbe che un aereo vola nel senso in cui gli uccelli volano. In questo caso utilizziamo lo stesso verbo, ma intendiamo cose diverse. In altri casi, invece, utilizziamo due termini differenti. In italiano non diciamo che un sottomarino 'nuota', al più che 'naviga'. In base a quanto avviene in italiano con gli aerei, non possiamo escludere che esistano lingue che applicano il concetto di 'nuotare' ai sottomarini; eppure ciò non ci autorizzerebbe a dire che i sottomarini nuotano così come i pesci nuotano. Il modo in cui intendiamo che un aereo vola è senz'altro più ristretto rispetto a come intendiamo che un uccello vola. Allo stesso modo, potremmo dire che una macchina pensa, ma non potrebbe in alcun modo pensare nel modo in cui intendiamo noi, in quanto esseri umani.

Commenti

Post più popolari