martedì 12 marzo 2019

Charles Babbage, la Macchina Analitica e Ada Lovelace


Nel 1864, Charles Babbage (1791–1871) che abbiamo già incontrato tra i membri della Analytical Society, dal 1828 al 1839 professore a Cambridge, pubblicò a Londra un’autobiografia, Passages From The Life of a Philosopher, dedicata al Re d’Italia Vittorio Emanuele II, in memoria di suo padre. Ciò perché: 
“Nel 1840, il re, Carlo Alberto, invitò i sapienti d'Italia a riunirsi nella sua capitale [allora era Torino]. Su richiesta del suo Analista più dotato, ho portato con me i disegni e le spiegazioni del Macchina Analitica. Questi sono stati accuratamente esaminati e la loro verità è stata riconosciuta dai migliori figli d’Italia. Al re, Vostro padre, sono debitore per il primo riconoscimento pubblico e ufficiale di questa invenzione”. 
Più oltre, ci informa che: 
“Nel 1840 ricevetti dal mio amico Signor Plana una lettera che mi invitava con insistenza a raggiungere Torino per l'allora prossimo incontro dei filosofi italiani. In quella lettera, Plana dichiarò di aver chiesto con ansia a molti miei compatrioti le funzioni e il meccanismo della Macchina Analitica”. 

Plana era il vogherese Giovanni Plana (1781-1864) matematico e astronomo, allievo del grande Joseph-Louis Lagrange e amico di gioventù di Henry Beyle, il futuro Stendhal, con il quale aveva studiato a Grenoble. Dopo aver dimostrato le sue qualità all’École Polytechnique di Parigi, nel 1811 Lagrange lo raccomandò per la cattedra di Astronomia a Torino, dove fu anche insegnante di matematica alla scuola di artiglieria. Nello stesso anno diventò socio dell’Accademia delle Scienze di Torino. Sarebbe rimasto nel capoluogo piemontese per il resto della vita. I suoi interessi furono molteplici, e comprendevano l’analisi matematica, la fisica matematica la geodesia, oltre alla meccanica celeste. Plana fu famoso soprattutto per aver pubblicato nel 1832 a Torino i tre massicci volumi della Théorie du mouvement de la lune, opera per la quale ebbe numerosi riconoscimenti internazionali. 

L'incontro a cui aveva invitato Babbage ebbe luogo all'Accademia delle Scienze di Torino. Si trattava del secondo congresso degli scienziati italiani. L'invito a Babbage nel 1840 fu quindi il riconoscimento del suo lavoro ai più alti livelli internazionali all'interno della comunità scientifica. Babbage non ebbe bisogno che glielo chiedessero due volte: imballati i suoi progetti, i disegni e le descrizioni della Macchina Analitica, si recò a Torino. 

Quella dell’Accademia torinese non era l’oggi consueta conferenza di sessanta minuti, compreso il tempo per le domande. Babbage trascorse diversi giorni a Torino con l'élite della comunità scientifica e tecnica italiana. La presentazione appassionò gli scienziati italiani e proseguì in seminari ristretti. Particolarmente interessato a questi seminari, nei quali per la prima volta si discusse di concatenamento delle operazioni di calcolo, ci fu l'ingegnere e matematico Luigi Federico Menabrea (1809-1896), il quale in seguito descrisse il progetto di Babbage in un'opera che pubblicò in francese a Ginevra nel 1842, Notions sur la machine analytique de Charles Babbage. Essa può essere considerata la prima nella disciplina dell'informatica. 


Alla carriera scientifica, Menabrea affiancò quella di militare, che gli valse onori e gloria. Diventato generale e poi senatore del Regno e nobile, fu posto nel 1867 da Vittorio Emanuele II a capo del governo. Menabrea, monarchico convinto e appartenente alla Destra Storica, per ottenere il pareggio di bilancio dopo le costosissime spese militari della Seconda Guerra d'Indipendenza, introdusse la famigerata tassa sul macinato, che andava a colpire soprattutto le classi popolari. Ci furono numerose proteste e dimostrazioni in Emilia-Romagna, sedate dall'esercito con un bilancio di 250 morti e 1000 feriti. Menabrea insomma contribuì in modo significativo alla nascita dell'informatica e fu contemporaneamente il propugnatore del più odioso balzello della storia italiana. Così gira il mondo.

La Macchina Analitica, che faceva seguito alla Macchina Differenziale progettata negli anni precedenti e mai realizzata per insormontabili problemi tecnici e finanziari, occupava dal 1834 quasi interamente l’interesse del matematico e inventore inglese. Anch’essa non fu mai realizzata concretamente, ma è un parere universalmente condiviso che essa anticipò i moderni computer. 


Ma che cos’era in realtà la Macchina Analitica di Babbage? L’autobiografia ce ne fornisce una descrizione abbastanza completa prima e dopo aver parlato del suo viaggio a Torino. 
“Per descrivere i successivi miglioramenti della Macchina Analitica sarebbero necessari molti volumi. Propongo qui di indicare solo alcune delle sue funzioni più importanti e di dare a coloro le cui menti sono debitamente preparate alcune informazioni che rimuoveranno quelle vaghe nozioni di meraviglia, e persino della sua impossibilità, con le quali è circondata nelle menti di alcuni dei più illuminati. 
A coloro che hanno familiarità con i principi del telaio Jacquard e che hanno familiarità con le formule analitiche, un'idea generale dei mezzi con cui il motore esegue le sue operazioni può essere ottenuta senza troppe difficoltà. Nell'Esposizione del 1862 c'erano molti splendidi esempi di telai simili. 
È noto come il fatto che il telaio Jacquard sia in grado di tessere qualsiasi disegno immaginato dall’uomo. È anche pratica costante per artisti esperti essere impiegati dai produttori nella progettazione di modelli. Questi modelli vengono quindi inviati ad un artista particolare, che, mediante una determinata macchina, esegue dei buchi in una serie di schede di cartoncino in modo tale che, quando quelle carte vengono posizionate in un telaio Jacquard, esso esegue i sui suoi prodotti secondo il modello esatto progettato dall'artista. 
Ora, il produttore può usare, per l'ordito e la trama del suo lavoro, fili che sono tutti dello stesso colore; supponiamo che siano fili bianchi o non sbiancati. In questo caso il tessuto sarà di un solo colore; ma su di esso ci sarà un modello damascato, come l'artista ha progettato. Ma il produttore potrebbe usare le stesse carte e inserire nell’ordito fili di qualsiasi altro colore. Ogni filo potrebbe anche essere di un colore diverso o di una diversa tonalità di colore; ma in tutti questi casi la forma del modello sarà esattamente la stessa, solo i colori saranno diversi. L'analogia della Macchina analitica con questo processo ben noto è quasi perfetta. 
La Macchina analitica è composta da due parti: 
1. L’archivio (store) in cui sono collocate tutte le variabili su cui operare, nonché tutte quelle quantità derivanti dal risultato di altre operazioni. 
2. Il mulino (mill), in cui vengono sempre portate le quantità che devono essere utilizzate per il calcolo. 
Ogni formula che si può richiedere di calcolare alla Macchina Analitica consiste in determinate operazioni algebriche da eseguire su determinate lettere e in alcune altre operazioni a seconda del valore numerico assegnato a tali lettere. 
Vi sono quindi due serie di carte. La prima serve a comandare la natura delle operazioni da eseguire: queste sono chiamate carte operative. L'altra serve a comandare le particolari variabili su cui tali carte sono obbligate a funzionare: queste ultime sono chiamate carte variabili. Ora, il simbolo di ogni variabile o costante è posto in cima a una colonna capace di contenere qualsiasi numero di cifre richiesto. 
In base a questa disposizione, quando si deve calcolare una formula, deve essere messa insieme una stringa di schede operative, che contengono la serie di operazioni nell'ordine in cui si verificano. Un altro gruppo di carte deve quindi essere preparato, per richiamare le variabili nel mulino, secondo l'ordine in cui devono essere eseguite. Ogni carta operazionale richiederà altre tre carte, due per rappresentare le variabili e le costanti e i loro valori numerici su cui deve agire la scheda dopo l’operazione precedente e una per indicare la variabile su cui deve essere posizionato il risultato aritmetico di questa operazione.
Ma ogni variabile ha al di sotto di essa, sullo stesso asse, un certo numero di ruote marcate sui loro denti con le dieci cifre: su queste si può collocare qualsiasi numero che la macchina è in grado di memorizzare. Ogniqualvolta le variabili vengono ordinate nel mulino, queste cifre verranno introdotte e su di esse verrà eseguita l'operazione indicata dalla carta precedente. Il risultato di questa operazione verrà quindi sostituito nell’archivio.
La Macchina Analitica è quindi una macchina di natura più generale. Qualunque sia la formula che è necessario sviluppare, la legge del suo sviluppo deve essere indicata ad essa da due serie di carte. Quando queste sono stati posizionate, la Macchina lavora su quella particolare formula. Il valore numerico delle sue costanti deve quindi essere collocato sulle colonne delle ruote sotto di esse e, quando viene impostata, la Macchina in movimento, calcolerà e stamperà i risultati numerici di quella formula. Ogni insieme di carte realizzato per qualsiasi formula, in qualsiasi momento futuro, ricalcolerà quella formula con qualsiasi costante richiesta.

Pertanto, la Macchina Analitica possiede una propria libreria. Ogni insieme di carte, una volta creato, riprodurrà in qualsiasi momento i calcoli per i quali è stato in precedenza organizzato. Può quindi essere inserito Il valore numerico delle sue costanti”.
La spiegazione continua con l’esempio, fatto di persona all’amico fisico e matematico irlandese James MacCullagh (1809–1847), che lo accompagnò a Torino, di come la macchina poteva eseguire calcoli per valutare funzioni trigonometriche e logaritmiche, una volta fornita degli opportuni comandi sotto forma di schede perforate che essa stessa poteva preparare. Babbage era in grado anche di valutare i tempi di esecuzione: 
"Supponendo che la velocità delle parti mobili del meccanismo non sia superiore a quaranta piedi al minuto, non ho dubbi che:
• Sessanta addizioni o sottrazioni possono essere completate e stampate in un minuto.
• Una moltiplicazione di due numeri, ciascuno di cinquanta cifre, in un minuto.
• Una divisione di un numero con 100 cifre per un altro di 50 in un minuto.
(…) 
È impossibile costruire macchine che occupano uno spazio illimitato; ma è possibile costruire macchine finite e usarle in un tempo illimitato. È questa sostituzione dell'infinito del tempo per l'infinito dello spazio di cui ho fatto uso, per limitare le dimensioni della Macchina e tuttavia per mantenere il suo potere illimitato".

Fateci caso: la Macchina Analitica possedeva già tutti gli elementi di un moderno computer come si imparano in un corso di alfabetizzazione informatica. Dal punto di vista dell’hardware, essa possedeva delle unità di ingresso (schede perforate), una memoria (archivio), un’unità centrale di elaborazione (mulino) e l’unità di uscita (stampante). Il software era costituito dall’insieme delle istruzioni e dei dati perforati sulle schede, secondo un determinato algoritmo.

Torniamo alla relazione di Menabrea del 1842 e alle conseguenze del viaggio di Babbage a Torino per parlare del contributo fornito allo sviluppo della Macchina Analitica dalla seconda importante protagonista di questa storia, Augusta Ada Byron, meglio nota come Ada Lovelace (1815-1852). Il suo ruolo come “madre dell’informatica” per aver collaborato con Babbage è stato messo in discussione recentemente, soprattutto dopo che in Gran Bretagna si era proposto di mettere il suo ritratto sulla banconota da 50 sterline come tributo alla scienza al femminile. Si è acceso un rovente dibattito tra denigratori e agiografi, questi ultimi rappresentati soprattutto da femministe. 


Ada Lovelace era la figlia legittima di Lord Byron e di Anne Isabella Milbanke, chiamata Annabella, un'ereditiera colta e appassionata di matematica, con la quale si sposò e andò ad abitare a Londra. Come molte delle relazioni sentimentali del’eccentrico poeta, l’unione (che a Byron interessava per motivi economici e sociali) ben prestò terminò, non prima che i due avessero una figlia, Ada, che non vide mai il padre, Giovane debole e malata, Ada ebbe un’educazione matematica discreta, per volere della madre che era angosciata dalla paura che potesse diventare poetessa come il padre, “pazzo, cattivo e pericoloso da frequentare”

Ada ebbe vari maestri di matematica, tra i quali l'anziano William Frend, suocero di Augustus De Morgan e insegnante di Annabella quando era giovane. Nessuno di questi riuscì davvero a infondere alcun vero entusiasmo o abilità nella ragazza. Più tardi Ada conobbe Mary Somerville, la traduttrice matematica e divulgatrice scientifica e, nel 1833, Charles Babbage e rimase affascinata dalle scienze matematiche. Ricevette alcune lezioni informali dalla Somerville che diventò la sua ispiratrice. Intanto, l'8 luglio 1835 sposò William King-Noel, conte di Lovelace, diventando così Ada Lovelace.

Determinata a conoscere finalmente la disciplina, Ada riuscì a persuadere Sophia, moglie di De Morgan, a diventare sua insegnante per corrispondenza. Le lettere superstiti della loro relazione matematica a distanza mostrano chiaramente che, anche se Ada era ovviamente in possesso di una mente brillante e curiosa, non riusciva a far propri molti importanti concetti fondamentali e la sua preparazione non andò mai oltre quella di uno studente del primo anno di università. Definirla una matematica è perciò abbastanza esagerato. Dorothy Stein, che ha analizzato in dettaglio la corrispondenza matematica De Morgan - Ada, scrive nella sua biografia Ada: A Life and a Legacy (1985): 
“A ventotto anni, [...] e dopo dieci anni di studio intermittente ma a volte intensivo, Ada era ancora una promettente "giovane principiante".” 
Non essendo riuscita a penetrare i segreti della matematica, Ada rivolse la sua attenzione all'occupazione principale dell’amica e ispiratrice Mary Somerville: la traduttrice scientifica. Su consiglio del fisico Charles Wheatstone, amico di Babbage, decise di tradurre dal francese la Memoria di Menabrea. Ecco che cosa scrisse Babbage a questo proposito: 
“Qualche tempo dopo l’uscita della Memoria (…), la defunta Contessa di Lovelace mi informò che aveva tradotto il libro di Menabrea. Le chiesi perché non aveva scritto lei stessa un articolo originale su un argomento di cui era così intimamente a conoscenza. A ciò, la signora Lovelace rispose che l’idea non le era mai venuta in mente. Ho quindi suggerito di aggiungere alcuni appunti alla Memoria di Menabrea; un'idea che fu immediatamente adottata. 
Discutemmo assieme i vari chiarimenti che avrebbero potuto essere introdotti: ne ho suggeriti diversi, ma la selezione era interamente sua. Così fu per la trattazione algebrica dei vari problemi, tranne, in effetti, quello relativo ai numeri di Bernoulli, che mi ero offerto di fare per togliere Lady Lovelace dall’incombenza. Su ciò mi segnalò una correzione, avendo rilevato un grave errore che avevo commesso nella trattazione. Le note della Contessa di Lovelace si estendono per circa tre volte la lunghezza della Memoria originale. La loro autrice è entrata pienamente in quasi tutte le difficilissime e astratte questioni connesse all'argomento. (…) 
Queste due memorie prese insieme forniscono, per coloro che sono in grado di comprendere il ragionamento, una dimostrazione completa: che tutti gli sviluppi e le operazioni di analisi sono ora in grado di essere eseguiti da macchine. [evidenziato nell’originale] 
Quando venne a sapere della traduzione di Ada, Babbage si rese conto di avere una grande opportunità per un po’ di pubblicità e suggerì che la Lovelace avrebbe dovuto abbellire il suo lavoro con le proprie note sulla Macchina Analitica, un consiglio che la giovane donna lusingata colse con destrezza. È evidente dall'ampia corrispondenza tra di loro e dall’autobiografia, che Babbage controllava e supervisionava ogni singolo punto delle note di Lovelace ed è difficile dire quanto fossero l'originale contributo di Ada e quanto Babbage esprimesse attraverso di lei. 

Per valutare le note alla traduzione del saggio di Menabrea sulla Macchina Analitica si dovrebbe prendere in considerazione soprattutto questo fatto: tutto ciò che la Lovelace sapeva dell’invenzione lo aveva appreso da Babbage o, indirettamente, da Menabrea. A questa traduzione Ada Lovelace aggiunse una serie di annotazioni che descrivevano i possibili usi della Macchina. Ma il calcolatore era stato concepito, progettato e parzialmente costruito da Babbage ben prima che lei fosse coinvolta nella vicenda. 


Il Memoriale di Menabrea, che Ada aveva tradotto, conteneva già esempi di programmi per la Macchina Analitica che Babbage aveva usato per illustrare le sue lezioni a Torino e aveva sviluppato alcuni anni prima. L'unico nuovo esempio di programma sviluppato nelle note è quello di determinare i cosiddetti numeri di Bernoulli. Nell’autobiografia, Babbage sostiene che Ada suggerì il programma, che poi scrisse. La corrispondenza suggerisce che Ada fu coinvolta attivamente nello sviluppo del programma, ma questa unica circostanza non fa di lei il primo programmatore di computer. La sua luce, per quanto vivida, fu solo riflessa.