Posts contrassegnato dai tag ‘Alan Turing’

La musica di Turing

Pubblicato: 27 settembre 2016 in archeogeek, File
Tag:, ,

Alcuni ricercatori dell’università di Canterbury hanno recuperato e “restaurato” la traccia dei primi brani musicali mai generati da un computer. Era il 1951  quando il maestro di scuola Christopher Strachey utilizzò  il calcolatore Mark I della Ferranti,  per generare alcuni brani musicali: God Save the King, Baa, Baa Black Sheep, e In the Mood di Glenn Miller. All’università Manchester, Strachey mise assieme le note, ma fu Alan Turing a programmare il Mark I in modo che divenisse anche uno strumento musicale; fu lui che ci mise dentro le note, anche se non pare fosse particolarmente interessato alla produzione di musica computerizzata.

Quando Strachey gli fece ascoltare cosa aveva prodotto, Turing rispose: bello spettacolo

Qui sotto le traccia: buon ascolto


 

[adriano parracciani aka CyberParra]

[End Of File - 1000000]

Non ci chiedevano di essere delle super-scienziate, ma ci chiedevano di essere accurate al 125%. Si lavorava in coppia, una controllava il lavoro dell’altra, dovevamo curare le complicatissime connessioni nella parte posteriore della macchina. Bisognava innanzitutto spazzolare bene i fili sui tamburi per evitare il rischio di corto circuiti, e poi accertarsi che i cavi di connessione fossero inseriti bene e nel posto giusto. In piedi a far questo per tutto il tuo turno di otto ore

Con queste parole, Ruth Bourne spiega il prezioso lavoro svolto dalle ragazze del  WRENS , Women’s Royal Naval Service, durante la Seconda Guerra mondiale. L’impresa era quella di sconfiggere Enigma, la macchina con cui i nazisti codificavano i loro messaggi (ne ho parlato varie volte, soprattutto qui:  L’utero che concepì il computer)

Ruth Bourne

Sappiamo che l’impresa riuscì, grazie al lavoro svolto a Bletchley Park da un eterogeneo gruppo di menti brillanti, soprattutto quella del grande Alan Turing. Whinston Churchill li chiamò “le galline che facevano le uova d’oro senza mai schiamazzare”. Ma alla sconfitta di Enigma lavorò uno staff di oltre diecimila persone di cui quasi il 70% donne, spesso giovanissime, come Ruth che all’epoca aveva appena diciotto anni.

Per sconfiggere Enigma, ossia per decrittare il suo codice e decodificare l’immane numero di messaggi intercettati, Alan Turing ideò le bombe, giganti elettromeccanici che simulavano il lavoro di 36 macchine Enigma. Le loro ruote dentate scattavano una dopo l’altra, un ticchettio continuo, come quello di mille ferri da calza che si muovessero tutti insieme e che diede origine al nome di bombe.

BombediTuring

Il lavoro di Ruth era appunto aver cura di una bomba. Ogni giorno i nazisti cambiavano il codice ed ogni giorno si doveva scoprire quale fosse: a questo servivano le bombe. Per 24 ore al giorno, le ragazze del Wrens dovevano continuamente settare i rotori sul davanti, controllare e modificare le connessioni dei cavi nel retro, a seconda delle indicazioni che davano i cripto analisti. Quando un messaggio criptato dato in pasto ad una bomba usciva più o meno in chiaro, le ragazze del Wrens urlavano “job up”; significava che il codice Enigma del giorno era stato probabilmente scoperto.

Il lavoro di Ruth era la primordiale forma di programmazione di quello che ancora non poteva essere chiamato computer per come lo concepiamo oggi.


C’era una lunga serie di radio ricevitori disposti uno di seguito all’altro. Ci sedevamo sulla panca davanti alla nostra radio, ed iniziavamo a girare la manopola, su e giù per le frequenze della marina tedesca

Patricia Davies ha trascorso la seconda guerra mondiale ascoltando l’etere in cerca di voci, voci di operatori tedeschi che inviavano via radio ordini ai sottomarini di stanza sulla costa francese o sul Baltico.

PatriciaDavies

All’ascolto di voci, ma non di parole di senso compiuto. Già, perché ovviamente gli ordini non erano trasmessi in chiaro; gli operatori pronunciavano quattro lettere alla volta, lettere di messaggi codificati da Enigma.

La mano sulla manopola scansionando le frequenze dell’etere in attesa di sentire in cuffia un tedesco che pronunciasse lettere:

V Q U W – C F U D – U Q G L

Patricia, allora diciannovenne, annotava ed inviata tutto per telescrivente agli analisti di Bletchley Park, chiamata anche Stazione X. Era il suo lavoro, il suo e quello di altre ragazze impiegate in decine di stazioni di ascolto sparse sulla costa inglese, chiamate Stazioni Y.

Un lavoro non facile; le frequenze erano spesso disturbate e serviva un ottimo orecchio. Capitava che non si riuscisse a comprendere una lettera oppure che si perdesse il segnale, e questo era molto frustrante per le ragazze del Wrens, perché sapevano che avrebbero mandato alla Stazione X dei codici incompleti, ancor più difficili da decifrare.

Senza il lavoro delle Wrens alle Stazioni Y, gli analisti alla Stazione X non avrebbero avuto nulla da decifrare.


 Era una macchina enorme, quella con cui lavorammo; e nessuno ci spiegò che era appena stata inventata. Ho lavorato al primo computer del mondo e poi niente più da allora. Mio marito ha comprato un iPad ed adesso sto imparando un po’ 

La macchina enorme di cui parla Irene Dixon era Colossus, il primo calcolatore programmabile elettronico della storia, che contava ben 1500 valvole. L’elettronica sostituì la meno efficiente elettromeccanica.

IreneDixon

Il primo Colossus arrivò a Bletchley Park nel 1944; se le bombe di Turing sconfissero Enigma, Colossus sconfisse le codificatrici Lorenz SZ4. Queste erano utilizzate dall’alto comando tedesco e da Hitler per le sue comunicazioni private, in quanto notevolmente più potenti di Enigma e quindi ritenute più sicure, anzi, impenetrabili.

Irene fu una delle Wrens addette al Colossus, e per questo si trovò spesso seduta a fianco di coloro che faranno la storia dei calcolatori, come il matematico Max Newman e l’igegnere Tommy Flowers.

prendevamo istruzioni dai cripto analisti, che erano persone incredibilmente intelligenti. Si sedevano vicino a noi, facevano calcoli con i loro regoli basandosi sulla teoria della probabilità, e ci dettavano i settaggi  da impostare nella macchina

Il lavoro di Irene era quindi quello che ascoltare le istruzioni dei cripto analisti, girare commutatori e caricare rotoli di nastro perforato nel Colossus, e senza saperlo stava hackerando le comunicazioni di Hitler


[adriano parracciani aka CyberParra]

[End Of File - 111100]

Leggi Anche

L’utero che concepì il computer

Pixel per Colossus

Tutto ciò che è calcolabile può essere calcolato da una Macchina di Turing quindi nessuna macchina, ne un semplice pc ne un supercalcolatore, può calcolare di più: potrà farlo solo più velocemente ma niente altro.

Ho parlato più volte di Alan Turing, del suo famoso Test; ed in questa occasione riparlo del suo lavoro fondante ossia la Macchina Universale di Turing; e lo faccio per una ragione che è contenuta nel titolo: ci arrivo.

LTM_Writing

Nel 1936, Alan Turing immaginò la sua Macchina Universale come un semplice nastro con infinite celle nelle quali una testina capace di andare avanti e dietro può leggere, scrivere e cancellare simboli in funzione di una serie di regole definite ossia di istruzioni. Questa fu la grande intuizione di Turing, una macchina in grado di gestire simboli; o come disse  lo storico della scienza George Dyson “il nastro contiene sia numeri che significano cose, sia numeri che fanno cose”

Numeri che significano dati e numeri che significano istruzioni.

Ogni calcolo può essere fatto in questo modo, inserendo i giusti dati e scrivendo le necessarie regole / istruzioni:

leggi la cella 1 > spostati a sinistra > cancella > scrivi 1 > spostati a destra > ecc
 

I moderni computer si basano sull’architettura hardware concepita da John von Neumann e che di fatto realizza una Macchina di Turing:

un processore preleva istruzioni e dati dalla memoria (numeri che significano dati e altri numeri che significano istruzioni), esegue le istruzioni ossia operazioni matematiche, e memorizza i risultati.

Tra le varie simulazioni della Macchina di Turing che potete trovare in rete la mia preferita è quella costruita da Jeroen van den Bos e Davy Landman del  Centrum Wiskunde & Informatica (CWI) di Amsterdam. In occasione del centenario (quest’anno) della nascita di Alan Turing, hanno costruito una Lego Turing Machine con le componenti del Lego Mindstorm NXT il robot assemblabile e programmabile della lego.

La funzione della testina è svolta dal sensore di colore che viene alzato/abbassato sul nastro dal movimento di un motore; il nastro costruito con i vari moduli di costruzione è mosso da un secondo motore con ingranaggi; i simboli intesi come 0 ed 1 sono rappresentati da pioli neri che in posizione retta vengono letti dal sensore (nero=1) mentre nell’altra posizione il sensore legge il colore bianco e quindi 0.

Gustatevi il video

LEGO Turing Machine from ecalpemos on Vimeo.

APPROFONDIMENTI

http://www.legoturingmachine.org/

[adriano parracciani aka cyberparra]

[End Of File - 101100]

Autunno 1953; alcune strani fogli di carta battuti a macchina iniziano ad apparire sulla bacheca del Computer Department all’Università di Manchester. Strani perché si tratta di brevi e misteriose lettere d’amore:

DARLING SWEETHEART
YOU ARE MY AVID FELLOW FEELING. MY AFFECTION CURIOUSLY CLINGS TO YOUR PASSIONATE WISH. MY LIKING YEARNS FOR YOUR HEART. YOU ARE MY WISTFUL SYMPATHY: MY TENDER LIKING.
YOURS BEAUTIFULLY
M. U. C.

Le lettere sono sempre firmate MUC, e al dipartimento si interrogano su chi si celi dietro quella sigla e a chi sono dedicate quelle parole.

Se state pensando ad una romantica storia d’amore all’interno del dipartimento siete sulla strada sbagliata. L’appassionato MUC altri non è che  l’acronimo di Manchester University Computer,  ossia il Ferranti Mark I installato al dipearimento, prima versione commerciale di un calcolatore elettronico general purpose.

Una piccola digressione: il Ferranti Mark I è stato prodotto dalla Ferranti Limited azienda britannica fondata nel 1901 da Sebastian Ziani de Ferranti ingegnere elettronico di origini italiane. La Ferranti diverrà uno dei grandi marchi nel settore dei sistemi elettronici e dei semiconduttori e sarà operativa sino al 1993. Il Ferranti Mark I, che si basava sul precedente Manchester “Baby” sviluppato all’interno dell’università, fu consegnato al dipartimento nel febbraio del 1951; solo un mese prima del lancio del colosso americano UNIVAC. La competizione UK-USA nel settore dell’industria dei computer era incominciata

Torniamo però alle lettere d’amore: quindi l’autore era un computer.

O meglio, era il programma che girava al suo interno, LoveLetter; o meglio ancora: era colui che scrisse quel programma ossia Christopher Strachey.

Negli anni precedenti Strachey, che era un brillante professore di matematica ed aveva acquisito esperienza con le prime macchine computerizzate, venne ingaggiato al  National Physical Laboratory (NPL) per lavorare allo sviluppo di PilotACE, una versione ridotta dell’Automatic Computing Engine (ACE) ideato da Alan Turing, il concept del primo calcolatore elettronico in grado salvare/caricare un programma nella propria memoria.

In quel periodo Christopher scrisse un programma per giocare a dama, tra i primi programmi giochi scritti per computer, ma non riusci a farlo funzionare perché consumava tutte le risorse di memoria del PilotACE.

Quando seppe che il Ferranti Mark I aveva molta più memoria a disposizione, Chistopher chiese ad Alan Turing di procurargli il manuale di programmazione per trascrivere il suo gioco; a lavoro finito il Mark I poteva fare una completa partita a dama.

Immagino che stiate pensando: “va bene, ma le lettere d’amore?”

Eccole.

Christopher Strachey fu tra i primissimi programmatori inglesi a lavorare sul Mark I assieme ad Alan Turing; non certo per sviluppare giochi ma per gestire complesse operazioni matematiche.

Nel 1953 Alan Turing sviluppò un generatore di numeri casuali e si trattava di testarlo e dimostrarne l’utilizzo. I non informatici tra di voi provino a pensare a questo esempio: come si fa a dire ad un computer di estrarre parole a caso da una lista? L’essere umano si mette una benda negli occhi, infila la mano in un cesto e prende un foglietto a caso. Ma un computer come fa?  Ha bisogno di un generatore di numeri casuali che sia il più possibile” casuale” e che gli dica quale ennesima parola della lista andare a pescare (tralascio qui il problema della pseudo-causualità degli algoritmi software).

Ed eccoci arrivati: per testare l’algoritmo di Alan Turing, Christopher Strachey scrisse LoveLetter. Il programma pescava parole a caso da un ridotto dizionario di parole romantiche, e con esse costruiva delle frasi sulla base delle regole grammaticali codificate.

Le lettere che apparivano sulla bacheca del dipartimento non erano altro che il risultato del lavoro svolto sul Ferranti Mark I da Turing e Strachey.

Un’altra breve digressione: oltre a scrivere uno dei primi programmi gioco, Christopher Strachey scrisse anche uno dei primi programmi musicali; se oggi ascoltiamo ore di brani MP3 tramite uno smarphone di qualche etto è anche grazie a lui che fece andare la canzoncina Baa Baa Black Sheep su una macchina di una decina di tonnellate, 60 anni fa.

Turing e Strachey davanti alla console del Mark I

La storia delle LoveLetters però non finisce nel 1953; anzi: arriva in modo stupefacente fino al 2012 grazie a Tony Sale e a David Link: il primo ha riportato in vita il calcolatore, il secondo ha riportato in vita il programma di Strachey.

1) Tony Sale è stato un brillante ingegnere elettronico, Direttore Tecnico della British Computer Society e leader della computer conservation; a lui dobbiamo la ricostruzione di  Colossus il computer Mark I utilizzato nella seconda guerra mondiale dai crittoanalisti di Bletchley Park; ed è proprio lì al  National Museum of Computing che troverete la replica di Colossus, il compimento del progetto di Tony Sale. Un lavoro immenso: grazie Tony

2) David Link è un computer artist tedesco, un programmatore che produce installazioni artistiche multimediali. Nel 2004 si è laureato in filosofia con una tesi sugli algoritmi generatori di testi sviluppati nei primi calculatori: “Poetry Machines / Machine Poetry”.  Questi studi lo portarono dritto al programma scritto da Strachey nel 1953, e così gli venne l’idea di creare l’installazione LoveLetters 1.0: una replica funzionante del Mark I in grado di far funzionare una replica del programma LoveLetter 

Oggi i visitatori dell’installazione “LoveLetters_1.0” possono vedere in azione un Ferranti Mark I che genera in continuazione lettere d’amore mostrate su un grande monitor. No solo: possono provare ad interagire con il Mark I sedendosi alla console e tramite le levette provare ad inserire il proprio nome in modo che appaia come firma al posto di MUC. Solo che devono riuscire a farlo usando il codice a 5 bit Baudot. Comunque se riescono possono scaricarsi la lettera su chiavetta USB e portarsela a casa.

David Link è riuscito a ricostruire, in parte riscrivendolo ed emulandolo, il programma originale scritto da Christopher Strachey; e non dev’essere stato per niente facile visto il modo in cui si programmava negli anni ’50. Provate ad immaginarvi di fronte a fogli come quello qui sotto e dover comprendere il funzionamento del programma.

[adriano parracciani aka cyberparra]

Approfondimenti

http://alpha60.de/loveletters/2009_zkm/

Pixel per Colossus

[End Of File - 101001]

Il prossimo sabato sarà l’apice dell’Alan Turing Year: infatti il  23 giugno di cento anni fa Alan Mathison Turing nasceva a Londra.

Ho già parlato del suo contributo alla sconfitta della codificatrice nazista Enigma; delle sue “bombe” primo vagito di calcolatore elettrico, e del suo lavoro a Bletchley Park (leggi qui e poi qui e qui)

È il caso di dedicare qualche riga al suo genio, alla suo contributo nella nascita della computer science, al punto da farlo ritenere il “padre dei computer”

Partiamo da qui: Il computer da cui sto scrivendo questo post (e quelli da cui lo state leggendo) è una Macchina di Turing, così come il server su cui lo sto caricando, e così come i tablet o gli smartphone che si usano quotidianamente.

Nel 1936 Alan concepì il modello di una macchina ideale in grado di eseguire qualsiasi calcolo (calcolabile) e qualsiasi algoritmo che mente umana possa concepire.

Partì dal modo in cui gli essere umani eseguono i calcoli, ne simulò il processo con l’idea di meccanizzarlo, in maniera semplice, ed ideò una macchina ideale teorica basata su un nastro di diviso in celle, una testina di lettura/scrittura/cancellazione, dei simboli e delle regole precise. Ci si sposta da una cella all’altra (memoria) seguendo le regole (il programma) e leggendo, scrivendo, o cancellando un simbolo (dato).

L’idea di meccanizzare il calcolo umano è ovviamente molto precedente ed è stata uno degli obiettivi dell’essere umano per secoli con tutta una serie di tentativi ed esperimenti. Alan Turing però fu il primo che dette a questa idea la necessaria infrastruttura logico-matematica. Tutto ebbe inizio nel 1928 quando il matematico David Hilbert pose il seguente quesito:

è possibile trovare un algoritmo in grado di decidere se una qualsiasi proposizione matematica sia vera o falsa?

Alan Turing si mise al lavoro e scrisse in On computable numbers la sua risposta: no, no è possibile. 

Il modello di Turing mostrava che c’è una matematica calcolabile ossia risolvibile con algoritmi e quindi con processi meccanizzabili ed una matematica che non lo è. E questo in linea con il grande matematico Kurt Godel che ci ha dimostrato che per quanti sforzi si possa fare alcuni teoremi non potranno mai essere dimostrati e quindi che alcune cose ci rimarranno inconoscibili.

È per rispondere alla complessa domanda di Hilbert che Alan Turing concepì matematicamente la sua macchina teorica; e subito comprese che  la  Macchina di Turing altro non era che il modello di calcolatore universale programmabile; quello intravisto cento anni prima da Charles Babbage con la sua Macchina Analitica.

Di fatto oggi è valida la seguente tesi: nessuna macchina può calcolare più di quello che fa la macchina universale di Turing. Puoi avere batterie di server, supercomputers, macchine sempre più efficienti, sempre più veloci, sempre più user-friendly, ma non potranno calcolare funzioni che non siano calcolabili anche dalla macchina universale di Turing: lo potranno fare solo più velocemente.

Alla fine della guerra, nel 1946, Alan progettò ACE, il primo computer Britannico in grado di caricare programmi in memoria; in precedenza aveva lavorato ad un sistema per la codificazione-decodificazione della voce. Con lo sviluppo di ACE la sua Macchina di Turing prende forma e sostanza, ed Alan entra di diritto e per merito nel nuovo campo della cibernetica. Nel 1949 in una intervista al Times dirà:

..non vedo perché la macchina non possa entrare in ognuno dei campi normalmente dominati dall’intelletto umano, ed alla fine competere con esso ad armi pari

Poco dopo, nel 1950 in un famoso articolo sulla rivista filosofica Mind, Alan Turing scrisse: Le macchine possono pensare? E propose il test che prese il suo nome, aprendo la strada all’Intelligenza Artificiale.

Il Test di Turing descritto nell’articolo (e ancora non superato) si basa sul gioco dell’imitazione; un giudice pone delle domande a due interlocutori anonimi, uno è un umano e l’altro è un computer preventivamente programmato. Se il giudice non è in grado di distinguere chi sia il computer, allora il test è superato e per Alan Turing si dovrebbe concludere che il computer “pensa”.

Chi si volesse divertire a fare una chat con una macchina ecco due siti:

http://cleverbot.com/

http://alice.pandorabots.com/

In quel periodo Alan iniziò ad occuparsi di chimica e biologia ed in particolare era interessato alla morfogenesi. Alan si pose questo problema: come accade che una singola cellula si divide in altre cellule a formare un uomo piuttosto che un cavallo o un albero? Qual è la genesi della forma?

Iniziò a ideare una teoria che si basava su un concetto poi divenuto basilare: la rottura spontanea della simmetria.

Ed ipotizzò che alla base della morfogenesi ci fossero delle precise equazioni; e che molte delle forme che si trovano in natura, dalle macchie di leopardo, alle spirali dei semi di girasole, fossero legate alla serie di Fibonacci

I pattern di Turing, come ad esempio le macchie di leopardo, si formerebbero, secondo quanto teorizzato da Alan, a causa di due sostanze chimiche, i morfogeni, che innescherebbero un fenomeno di auto-organizzazione chimica governato da precise equazioni.

Non ebbe tempo per completare i suoi studi e solo molti anni dopo la sua morte si iniziò e verificare sperimentalmente che queste sue teorie trovavano spesso rispondenza nella realtà.

Il prossimo sabato avrebbe potuto festeggiare i suoi 100 anni, com’è stato per Rita Levi Montalcini, chi può dirlo. Invece a soli 42 anni, nel 1954, è stato trovato nel suo letto, morto avvelenato dal morso di una mela intrisa di cianuro.

Lo avevano accusato di atti osceni e perseguito per omosessualità; per evitare il carcere ed evitare di perdere il lavoro di ricerca fu costretto alla castrazione chimica, una cura di ormoni che lo rese impotente e gli fece crescere il seno.

Solo nel 2009 in governo inglese di Gordon Brown chiese formalmente scusa per l’incommensurabile ingiustizia commessa nei confronti di un genio perso troppo presto

[adriano parracciani]

altri articoli su Alan Turing:

L’utero che concepì il computer Lego Macchina di TuringPixel per ColossusLa vita di Alan Turing: buona visione

[End Of File - 100101]