Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

La straordinaria storia di Alan Turing, il padre dell’informatica: dalla sua infanzia tumultuosa ai contributi rivoluzionari

Carlo Denza : 15 Luglio 2023 08:49

Madras, inizi del Novecento. L’Impero britannico domina l’India. Julius, laureato in Storia all’università di Oxford presta servizio come impiegato amministrativo coloniale nel Servizio civile indiano. Insieme con la moglie Sara, nata a Madras e figlia di un ingegnere, sono in attesa del loro secondogenito.

Considerata l’instabilità politica del periodo, decidono di fare ritorno in Inghilterra e far nascere il loro bambino a Londra. Il 23 giugno del 1912 nel quartiere di  Maida Vale, nel nord di Londra, il neonato fa sentire il suo primo vagito.

Julius Turing e Ethel Sara battezzano il loro bambino con il nome di: Alan Mathison Turing. Successivamente dopo essersi trasferiti nel Sud dell’Inghilterra, sulle coste meridionali dell’East Sussex, a distanza di pochi mesi l’uno dall’altro, Julius e Sara, fanno ritorno in India, ma considerate le precarie condizioni di salute del piccolo Alan i genitori decidono di lasciare i due fratellini, John e Alan, a Londra, in affidamento.  

Affidamento

Alan soffre di rachitismo una malattia scheletrica ad esordio infantile. Cosicché i genitori preferiscono evitargli un lungo e stressante viaggio verso l’India, lasciandolo alle cure di una coppia di anziani di Hastings nell’East Sussex.

Ma non solo, successivamente, di ritorno in Inghilterra, la madre scopre che Alan soffre anche di disturbi psichici. Riuscendo a passare repentinamente da pianto a rabbia e viceversa. Ma nonostante questi disturbi della personalità lo descrive come un bambino socievole, intelligente e di una certa simpatia.

Personalità di Alan

Fin da piccolo, ancora prima di imparare a leggere, manifestò l’interesse per i numeri e una mente vivace. La sua passione per la scienza, ma anche per la geografia, lo spingono a sperimentare e ad inventare. Ma non amava solo studiare, Alan prediligeva anche andare in bicicletta e la corsa.

Passione questa, per l’attività fisica, che gli resterà per tutta la vita. Alan ebbe una personalità infantile anche da adulto. Non era vanitoso e non curava molto il suo aspetto quasi fino a sembrare trasandato. A ventidue anni si fece regalare un peluche a forma di orsacchiotto e curiosamente conosceva a memoria l’incantesimo della strega malvagia di Biancaneve.

Tra i tanti atteggiamenti, stravaganti, c’era quello di nascondere la sua tazza da tè o di incatenarla con un lucchetto per evitare che gli fosse rubata.

Studi

Dopo essere ritornato a vivere con la madre, all’età di tredici anni si iscrisse alla Sherborne School (Scuola che successivamente ebbe come allievi anche l’attore Jeremy Irons e lo scrittore John le Carré). Durante gli studi dimostrerà subito una propensione per la matematica ed anche una grande capacità di eseguire calcoli a mente.

Ed è proprio qui, negli ultimi anni di corso che Turing s’innamora di un altro collegiale, il quale morì prematuramente di tubercolosi. Grazie ad una borsa di studio nel 1931 si iscrive al  King’s College di Cambridge per studiare matematica e dove nel 1934 si laurea con lode. Nell’aprile 1936 pubblica l’articolo “Sui numeri computabili”, in cui introduce l’algoritmo e Concetto di macchina di Turing.

Questo articolo dimostra che esiste una classe di problemi senza soluzione algoritmica che assume un ruolo fondamentale nella teoria della computazione. Nel 1936 Turing entra alla Princeton University (USA) dove nel 1938 consegue un dottorato in matematica. Il suo articolo fu notato di uno dei principali scienziati dell’epoca, John von Neumann. 

La Macchina di Turing

Questo modello matematico è utilizzato per studiare i fondamenti  dell’informatica teorica. Una macchina di Turing è un esecutore astratto capace di eseguire solo operazioni elementari, ed è detta astratta perché la si immagina con memoria infinita e senza tempi di esecuzione e tempi di calcolo. Questo fa in modo che ci si possa astrarre dall’esecutore fisico(computer). Questo esecutore ideale è quello che tecnicamente viene chiamato un modello computazionale. Questa astrazione dal calcolatore, permette di spostarsi da un ambiente fisico ad un ambiente matematico. Questa macchina è un classico modello computazionale ma non il solo, forse il più noto.

E’ intuitivo pensare che questa astrazione non possiede le stesse caratteristiche che ci si potrebbe aspettare da un computer moderno. Ma nonostante possa sembrare una eccessiva semplificazione questo modello classico dell’informatica teorica viene utilizzato per descrivere concetti e proprietà della Teoria della Complessità e della Teoria della Calcolabilità.

Un esempio di macchina di Turing (Fonte Wikipedia)

Teorie che studiano quali problemi si possono risolvere automaticamente e quali no. In sintesi, mentre la Teoria della Calcolabilità ci dice quali problemi vale la pena cercare di risolvere e quali no perché irrisolvibili e se ci sono algoritmi risolutivi.

La Teoria della Complessità ci è utile per conoscere la complessità intrinseca dei problemi. Cioè dato un problema quanto è complicato risolverlo? E quante risorse computazionali sono necessarie ad una specifica soluzione di un problema?

Cos’è e come è fatta

Una Macchina di Turing è costituita da un nastro illimitato diviso in celle che può essere sostanzialmente definito la sua memoria. In ogni singola cella è possibile scrivere dei simboli appartenenti ad un alfabeto di quella macchina.

L’informazione contenuta in ogni cella deve essere finita, un solo simbolo, lettera o numero che sia, ma non una stringa di lunghezza arbitraria. Il nastro magnetico è quindi il luogo dove il nostro esecutore riceve i dati in ingresso e scrive i dati dei calcoli intermedi. Una testina mobile, la quale ha come compito quello di leggere, scrivere o cancellare un simbolo della cella sulla quale è posizionata.

Questa testina può essere considerata il processore ed è governata da un programma(una serie di istruzioni) il quale dice alla macchina che cosa fare a seconda della configurazione in cui si trova e del simbolo che trova, ovvero può: leggere, scrivere, cancellare oppure spostarsi di una posizione alla volta verso destra o verso sinistra.

Ricapitolando una macchina di Turing è formata da un nastro illimitato, una testina e una sequenza di istruzioni. Forse sorprenderà sapere che un così semplice modello concettuale è, in teoria, capace di effettuare qualsiasi tipo di operazione matematica.

Questo semplice ma potente strumento riesce da definire la nozione di computazione. Più semplicemente ogni problema è decidibile, risolvibile, se e soltanto se è possibile definire una macchina di Turing che risolve quel problema. In altre parole quello che si riesce a fare con questa macchina astratta con istruzioni adeguate è quello che qualsiasi calcolatore riesce a fare.

Riduciamo ancora più ai minimi termini dicendo che: Il computer più recente o il più veloce, in teoria, non riesce a fare nulla in più di questo semplice oggetto concettuale. Riesce solo a farlo più velocemente.

Il Test di Turing

Una macchina può pensare? Ecco quello che si domandò Turing. Formulò pubblicamente questa domanda sulla rivista inglese Mind. Nell’articolo venne proposto un test, che diventerà poi punto di riferimento, per discriminare un comportamento intelligente da parte dei Computer.

Il test coinvolge tre attori. Un arbitro(persona fisica) la quale da un terminale lancia delle domande, rispettivamente ad una persona e ad un computer. Se l’arbitro non riesce a distinguere le risposte formulate e ricevute dalla persona da quelle ricevute dalla macchina, allora quest’ultima ha un comportamento intelligente.

Turing e CAPTCHA

Per superare questo test si è dovuto aspettare il 2014, anno in cui il chatbot  Eugene Goostman. Software che è riuscito a superare brillantemente il Test di Turing, ingannando una grossa parte degli arbitri partecipanti al test. Ma non solo, chiunque navighi nel web si imbatte frequentemente in un Test di Turing al rovescio.

Quello che viene chiamato ” Completely Automated Public Turing test to tell Computers and Humans Apart” in italiano “Test di Turing pubblico e completamente automatico per distinguere computer e umani” meglio conosciuto come CAPTCHA. In questo caso è il computer, nella veste di arbitro, a voler riconoscere un comportamento umano da uno automatizzato. I software capaci di compiere azioni automatizzate nel web si chiamano robot o più semplicemente bot.

La Guerra 

1939, inizio della seconda guerra mondiale, Turing è reclutato dall’esercito britannico a Bletchley Park come crittoanalista per decifrare i codici tedeschi.  Con l’ausilio del primo computer elettronico, a cui fu dato il nome di “Colosso”, costruito sotto la supervisione di Turing, e che entra in servizio nel 1943.

Nel 1944, Turing fu incaricato di sviluppare un computer, l’Automatic Computing Engine (ACE), in grado di competere con il progetto americano EDVAC di von Neumann. Nel 1947, Turing concepì l’idea delle reti di computer, il concetto di subroutine software e ha anche descritto le idee di base delle reti neurali. 

La fine

Turing continuò a progettare computer secondo l’architettura di von Neumann. Il Mark I fu terminato nel 1948 prima dell’EDVAC. Progettando anche un linguaggio di programmazione per questo .Un altro dei campi di ricerca di Turing è stato l’intelligenza artificiale, disciplina nata dall’articolo intitolato “Computing Machinery and Intelligence” pubblicato da Turing nel 1950.

La prima frase di questo articolo è molto famosa: “Propongo di considerare la seguente domanda: le macchine possono pensare? Successivamente Turing propose un metodo chiamato test di Turing per determinare se una macchina può avere un comportamento intelligente.

La carriera di Turing subì un improvviso stop dopo essere stato incriminato e condannato per comportamenti contro la morale di quei tempi. Due anni dopo la condanna Turing si suicida mangiando una mela su cui era stato versato del cianuro. Mela ritrovata accanto al suo cadavere e che caso vuole incroci la strada di quella strofa che da ragazzo conosceva a memoria: l’incantesimo della strega malvagia di Biancaneve.

Carlo Denza
Diplomato in informatica, e come perito elettronico. Ha frequentato il Corso di Studio in Informatica presso la facoltà di Scienze MM.FF.NN. alla Federico II di Napoli. Dopo un corso in Java, collabora allo sviluppo di un applicazione web per servizi nell’ambito sanitario. Pubblica un pamphlet, una raccolta di articoli a carattere divulgativo.