MERAVIGLIE      DELLA        LOGICA
                                 ED   IL   CODICE   ENIGMA
        I PRIMORDI DELL'INFORMATICA  SULLA BASE DELLA LOGICA APPLICATA





 

 

Il prof. Dave Cliff, informatico, ci accompagna in un viaggio attraverso filosofia, matematica, scienza e tecnologia per aiutarci a comprendere il funzionamento del ragionamento umano.

Incontreremo grandi pensatori del passato, da Aristotele a Bertrand Russel, a Kurt Godel, fino a Alan Turing.

Scopriremo che George Boole fu il grande matematico che adattò la Logica al concetto di calcolo al fine di gettare le basi per un calcolo logico-matematico da cui deriverà il Computer.

Ma anche i promettenti cervelli del futuro, ovvero i ragazzini che gareggiano  alle Olimpiadi internazionali di informatica a Brisbane, in Australia.

Con l'obiettivo di rispondere ad una domanda: gli umani possono tenere il passo,

o siamo destinati ad essere superati dall'intelligenza artificiale? -

------------------------------------------

codice ENIGMA


E’ il 1923 e un ingegnere berlinese, Scherbius, inventa una macchina in grado di creare codici segreti: con la fine della prima guerra mondiale, cresce lo spionaggio industriale e la Germania per garantirsi la ripresa economica necessita di sistemi antispionaggio.

Il nome della macchina è “Enigma” e la prima fu esposta al Congresso Internazionale dell’Unione Postale e in seguito commercializzata. I primi acquirenti furono le principali potenze militari del tempo: Germania, Giappone, Stati Uniti, Polonia.

 

Ma cos’è Enigma?


Si trattava di una macchina capace di creare e decrittare messaggi cifrati. L’aspetto era quello di una comune macchina da scrivere con due tastiere: una tastiera inferiore ed una seconda tastiera fatta di lettere luminose che si illuminavano ad ogni tasto premuto sulla tastiera. La sequenza delle lettere che si illuminavano componevano il testo del messaggio cifrato (o viceversa, il messaggio in chiaro se si batteva il testo cifrato). La prima versione era composta da tre rotori (o dischi cablati) che nei vari abbinamenti componevano 150 trillioni di combinazioni diverse.

L’ultimo modello utilizzato durante la Seconda Guerra Mondiale dalla Germania, aveva 5 rotori. Il suo funzionamento si basa sull’incastro dei rotori: ogni disco cablato possiede 26 contatti per lato, uno per ogni lettera dell’alfabeto tedesco; i cablaggi dei dischi mettono in comunicazione ciascuna lettera su un lato con una lettera a caso sull’altro lato; ad ogni pressione del tasto il primo disco ruota di una lettera, il secondo ruota di una lettera ogni volta che il primo disco compie un giro e il terzo disco ruota quando il secondo finisce il giro e così via. Enigma poteva essere regolata con spinotti per scambiare fino a dieci lettere con altre dieci a scelta e i contatti per ogni rotore o disco per lato poteva essere sfalsato a piacere. Il codice Enigma resta uno dei sistemi di crittografia più efficaci e avvincenti che se non fosse stato “svelato” avrebbe permesso alla Germania di vincere la guerra. La possibilità di modificare i rotori a piacimento permetteva di cambiare anche più volte al giorno la combinazione. Il punto di forza di Enigma era l’universalità del linguaggio.

Il “segreto” del codice Enigma cominciò ad essere svelato quando Hans Thilo Schmidt un ex-agente tedesco vendette ai francesi i manuali operativi di Enigma in uso alle forze armate tedesche. Ma anche così, non si riusciva a decrittare in tempo i messaggi, perché i tedeschi avevano già apportato modifiche ed evoluzioni all’Enigma originale. Nel 1943, scoperto dalla polizia nazista, Schmidt si suicidò in carcere per timore delle torture.

L’infallibilità del codice Enigma cessò quando una squadra di crittografi inglesi nel covo segreto di Bletchley Park e guidati dal genio di Alan Turing, un ventottenne eccentrico, elaborò una macchina (The Bombe) in tutto simile ad un computer in grado di imitare i rotori di Enigma e farli girare ad alta velocità calcolando velocemente tutte le combinazioni possibili. La messa a punto delle “bombe” permise di intercettare in tempo reale tutti i messaggi tedeschi, prevedendo e anticipando le mosse del nemico… cambiando “letteralmente” il volto della storia.

Alan Turing


Alan Mathison Turing è passato alla storia come uno dei pionieri dello studio della logica dei computer e come uno dei primo ad interessarsi all’argomento dell’intelligenza artificiale. Nato il 23 giugno 1912 a Londra ha ispirato i termini ormai d’uso comune nel campo dell’informatica come quelli di “Macchina di Turing” e di “Test di Turing”.

Più nello specifico, si può dire che come matematico ha applicato il concetto di algoritmo ai computer digitali e la sua ricerca nelle relazioni tra macchine e natura ha creato il campo dell’intelligenza artificiale.

Interessato soltanto alla matematica e alla scienza iniziò la sua carriera come matematico al King’s College alla Cambridge University nel 1931.

A scuola non aveva un gran successo, data la sua tendenza ad approfondire esclusivamente cose che lo interessassero sul serio. Solo la grandissima amicizia con Christopher Morcom, apparentemente molto più promettente di lui e molto più sistematico gli permise di iniziare la sua carriera universitaria: l’amico, però, morì purtroppo di tubercolosi due anni dopo il loro incontro. Ma il segno che lasciò sull’animo dell’amico fu profondo e significativo, inducendo Turing a trovare dentro di sé la determinazione necessaria per continuare gli studi e la ricerca.

Dobbiamo quindi a Morcom moltissimo, se consideriamo che grazie al suo sostegno morale e al suo incitamento, indusse una grande mente come Turing a sviluppare le sue immense potenzialità. Tanto per fare un esempio, Turing arriverà a scoprire, cinque anni prima Gödel, che gli assiomi della matematica non potevano essere completi, un’intuizione che mise in crisi la convinzione che la matematica, in quanto scienza perfettamente razionale, fosse aliena da qualsiasi tipo di critica.

Si presentava comunque per Turing un compito veramente arduo: riuscire a provare se ci fosse o meno un modo per determinare se un certo teorema fosse esatto oppure no. Se questo fosse stato possibile, allora tutta la matematica si sarebbe potuta ridurre al semplice calcolo. Turing, secondo le sue abitudini, affrontò questo problema in mondo tutt’altro che convenzionale, riducendo le operazioni matematiche ai loro costituenti fondamentali. Operazioni tanto facili che potevano essere di fatto svolte da una macchina.

Trasferitosi alla Princeton University, dunque, il grande matematico iniziò ad esplorare quella che poi verrà definita come la “Macchina di Turing” la quale, in altri termini, non rappresenta altro che un primitivo e primordiale “prototipo” del moderno computer. L’intuizione geniale di Turing fu quella di “spezzare” l’istruzione da fornire alla macchina in una serie di altre semplici istruzioni, nella convinzione che si potesse sviluppare un algoritmo per ogni problema: un processo non dissimile da quello affrontato dai programmatori odierni.

Durante la seconda guerra mondiale Turing mise le sue capacità matematiche al servizio del “Department of Communications” inglese per decifrare i codici usati nelle comunicazioni tedesche, un compito particolarmente difficile in quanto i tedeschi avevano sviluppato un tipo di computer denominato “Enigma” che era capace di generare un codice che mutava costantemente. Durante questo periodo al “Department of Communications”, Turing ed i suoi compagni lavorarono con uno strumento chiamato “Colossus” che decifrava in modo veloce ed efficiente i codici tedeschi creati con “Enigma”. Si trattava, essenzialmente, di un insieme di servomotori e metallo, ma era il primo passo verso il computer digitale.

Dopo questo contributo fondamentale allo sforzo bellico, finita la guerra continuò a lavorare per il “National Physical Laboratory” (NPL), continuando la ricerca nel campo dei computer digitali. Lavorò nello sviluppo all'”Automatic Computing Engine” (ACE), uno dei primi tentativi nel creare un vero computer digitale. Fu in questo periodo che iniziò ad esplorare la relazione tra i computer e la natura. Scrisse un articolo dal titolo “Intelligent Machinery”, pubblicato poi nel 1969. Fu questa una delle prime volte in cui sia stato presentato il concetto di “intelligenza artificiale”. Turing, infatti, era dell’idea che si potessero creare macchine che fossero capaci di simulare i processi del cervello umano, sorretto dalla convinzione che non ci sia nulla, in teoria, che un cervello artificiale non possa fare, esattamente come quello umano (in questo aiutato anche dai progressi che si andavano ottenendo nella riproduzione di “simulacri” umanoidi, con la telecamera o il magnetofono, rispettivamente “protesi” di rinforzo per l’occhio e la voce).

Turing, insomma, era dell’idea che si potesse raggiungere la chimera di un’intelligenza davvero artificiale seguendo gli schemi del cervello umano. A questo proposito, scrisse nel 1950 un articolo in cui descriveva quello che attualmente è conosciuto come il “Test di Turing”. Questo test, una sorta di esperimento mentale (dato che nel periodo in cui Turing scriveva non vi erano ancora i mezzi per attuarlo), prevede che una persona, chiusa in una stanza e senza avere alcuna conoscenza dell’interlocutore con cui sta parlando, dialoghi sia con un altro essere umano che con una macchina intelligente. Se il soggetto in questione non riuscisse a distinguere l’uno dall’altra, allora si potrebbe dire che la macchina, in qualche modo, è intelligente.

Turing lasciò il National Physical Laboratory prima del completamento dell'”Automatic Computing Engine” e si trasferì alla University of Manchester dove lavorò alla realizzazione del Manchester Automatic Digital Machine (MADAM), con il sogno non tanto segreto di poter vedere, a lungo termine, la chimera dell’intelligenza artificiale finalmente realizzata.

Personalità fortemente tormentata (anche a causa di una omosessualità vissuta con estremo disagio), dalle mille contraddizioni e capace di stranezze e bizzarrie inverosimili, Turing morì suicida, appena quarantenne, il 7 giugno 1954.

Ecco come Alan Turing ha potuto decriptare il codice Enigma
La decriptazione del codice Enigma è una delle vicende più interessanti della storia dell’informatica, ma non tutti sanno esattamente come è andata e come Alan Turing riuscì nell’impresa.
Come decifrare enigma? Tutto nasce dal fatto che il codice conteneva una imperfezione nascosta: una lettera non era mai criptata in modo tale da rappresentare se stessa una volta realizzato il codice. Partendo da questo, Turing riuscì a trovare la soluzione.
Naturalmente, il problema era che il codice cambiava ogni notte, quindi Turing realizzò Bombe, una macchina in grado di decriptare il codice, ogni mattina, in soli 20 minuti. Ora, però, lasciamo la parola a James perché, sebbene il video sia in inglese, la sua spiegazione risulta veramente molto chiara ed esaustiva.