[mupin] relazione su babbage, ada lovelace e le loro idee

51
Charles Babbage e le sue macchine: i Difference Engine e l'Analytical Engine Carlo Randone [email protected] - Carlo Randone / MUPIN - 1 Friend of Torino, 15 ottobre 201

Upload: elia-bellussi

Post on 24-Jun-2015

667 views

Category:

Education


0 download

DESCRIPTION

Relazione su Charles Babbage, Ada Lovelace, le loro intuizioni e i loro progetti. Storia dell'Informatica - Storie di Uomini e di Macchine.

TRANSCRIPT

Page 1: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

1

Charles Babbage e le sue macchine:i Difference Engine e l'Analytical Engine

Carlo [email protected]

- Carlo Randone / MUPIN -

Friend of

Torino, 15 ottobre 2013

Page 2: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 2

• Charles Babbage nacque a Londra nel 1791• Fin dagli studi giovanili dimostrò una propensione all'algebra ed

agli studi matematici, tanto da distinguersi al Trinity College di Cambridge, dove entrò nel 1811.

• E' stato un matematico e filosofo, scienziato e "proto-informatico" che per primo ebbe l'idea di un calcolatore programmabile.

• Dal 1828 al 1839 occupò la cattedra lucasiana di matematica a Cambridge.

• Nel mondo dell'informatica è conosciuto grazie alle sue macchine: la Macchina alle differenze ("Difference Engine"), di cui realizzò un prototipo (parziale) e la Macchina analitica ("Analytical Engine").

Charles Babbage

Ritratto di C. Babbage, pubblicato nel 1871 e ricavato da

una fotografia del 1860

• Nel 1833 incontrò Ada Lovelace, che negli anni successivi studiò le macchine di Babbage e scrisse nel 1842-43 le famose "note" sulla macchina analitica.

• Alcune parti dei meccanismi incompleti di Babbage sono in mostra al Museo della Scienza di Londra. Nel 1991, lavorando a partire dai suoi progetti originali, fu completata una macchina alle differenze perfettamente funzionante, assemblata seguendo gli standard disponibili nel XIX secolo, il che sta a indicare che la macchina di Babbage avrebbe potuto funzionare.

• Babbage morì a Londra, il 18 ottobre 1871, all'età di 79 anni.

Page 3: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 3

Una sintesi delle attività di Charles Babbage sulle macchine da calcolo

"A timeline of Babbage’s life", da "The Evolution of Babbage’s Calculating Engines", di Allan Bromley (1947–2002), IEEE Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136

(1822 - 1833)

(1834 - 1846)

(1847 - 1849)

(1856 - 1871)

Questa alternanza di attività, unita al fatto che furono progettati due diversi "Difference Engine", ha contribuito a creare non poca confusione circa le cosiddette Macchine di C. Babbage.

In questa presentazione, per semplicità, si parlerà prima dei due Difference Engine, e poi dell'Analytical Engine.

Page 4: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 4

• Nel 1822 Charles Babbage propose lo sviluppo della macchina alle differenze in un articolo inviato il 14 giugno alla Royal Astronomical Society e dal titolo "Note on the application of machinery to the computation of very big mathematical tables". La macchina avrebbe utilizzato il sistema decimale e sarebbe stata alimentata in modo meccanico tramite il movimento di una maniglia che avrebbe fatto girare gli ingranaggi.

Macchina alle Differenze (Difference Engine) – La "Tables Crisis"

Von Vega – Tavola dei logaritmi (1794)

La produzione manuale di una tavola dei logaritmi prevedeva:• Calcolo manuali• Trascrizione dei risultati• Composizione tipografica• Verifica

Con la macchina alle differenze Babbage si proponeva di risolvere contemporaneamente tutte queste possibili fonti di errore.

Page 5: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 5

• Il principio di funzionamento: metodo delle differenze finite

Consideriamo ad esempio il polinomio p(x) = 2x2 – 3x + 2

Supponendo di voler tabulati i valori p(0), p(1), p(2), p(3), p(4) ecc., la tabella viene costruita nel seguente modo: la seconda colonna contiene il valore del polinomio, la terza colonna contiene la differenza dei valori contenuti nella seconda colonna, la quarta colonna contiene la differenza dei valori contenuti nella terza colonna:

Macchina alle Differenze (Difference Engine) – Metodo delle differenze finite

x p(x) = 2x2 − 3x + 2 diff1(x) = ( p(x+1) - p(x) ) diff2(x) = ( diff1(x+1) - diff1(x) )0 2 -1 41 1 3 42 4 7 43 11 114 22

Si noti che il valore dell'ultima colonna è costante. Questo non è un caso: per ogni polinomio di grado n la colonna n+1 contiene un valore che è costante; questo è cruciale per il funzionamento della Macchina alle differenze.

5

4

15

37

Page 6: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 6

• Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842 ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre, l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George Biddell Airy.

Macchina alle Differenze (Difference Engine) n. 1

• Il dispositivo, secondo il progetto, avrebbe dovuto essere di una notevole complessità e di grandi dimensioni strutturali: basti pensare che richiedeva l'assemblaggio di 25.000 parti (di cui circa 12.000 per la "stampante") e la macchina completa sarebbe stata alta circa due metri e mezzo, larga due metri e profonda uno, con un peso di varie tonnellate.

Disegno per il Difference Engine n.1, 1830

Page 7: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 7

Macchina alle Differenze (Difference Engine) n. 1

Disegno per il Difference Engine n.1, 1830

Page 8: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN -

Macchina alle Differenze (Difference Engine) n. 1 – Science Museum, London

8

Parte del Difference Engine (n. 1), assemblata nel 1832 (dall'ingegnere Joseph Clement, che lavorava con Babbage per la costruzione dei componenti delle macchine).

Costituisce circa un settimo della macchina completa.

La realizzazione di questo prototipo rappresenta comunque un passo importante, in quanto la facoltà umana e mentale del "calcolare" viene portata a livello meccanico, e l'operatore non deve necessariamente conoscere il comportamento interno della macchina ed i principi matematici su cui è basata, per ottenerne facilmente dei risultati utilizzabili ed affidabili.

Parte del Difference Engine n.1 (Science Museum, Londra)

Page 9: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN -

Macchina alle Differenze (Difference Engine) n. 1 – Science Museum, London

9

"The marvelous pulp and fibre of the brain had been substituted by brass and iron, he [Babbage] had taught wheelwork to think, or at least

to do the office of thought."

[La meravigliosa polpa e le fibre del cervello erano state sostituite da ottone e ferro, egli [Babbage] aveva insegnato a pensare agli ingranaggi, o almeno a svolgere l'ufficio del

pensiero]

Harry Wilmot Buxton (1843-1911), nella biografia di C. Babbage intitolata"Memoir of the Life and Labours of the Late Charles Babbage", del 1870

(pubblicata solo nel 1988 da MIT Press)

Page 10: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 10

Macchina alle Differenze (Difference Engine) n. 1 – IBM, Milano

Una replica in scala 3/4 della sezione del Difference Engine del 1832 è esposta all'IBM Forum di Segrate (MI). Fa parte di una serie di repliche costruite nel 1980 per la mostra IBM "A Calculator Chronicle: 300 Years of Counting and Reckoning Tools", tenutasi a New York nel 1981, ed è stato uno dei pochi esemplari poi inviati a vari uffici IBM in quel periodo. Repliche simili sono esposte in alcuni musei nel mondo.

Page 11: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 11

• Babbage, durante e dopo la progettazione della prima macchina alle differenze, aveva lavorato alla più complessa Macchina analitica (descritta nel seguito). L'esperienza dello sviluppo di quest'ultima gli aveva permesso di migliorare il progetto della Macchina alle differenze e di svilupparne una seconda versione ("Second Difference Engine" o "D.E. no. 2") tra il 1847 e il 1849.

• Questa versione prevedeva circa 8.000 parti (di cui 4.000 per la sola "stampante").

Macchina alle Differenze (Difference Engine) n. 2

Difference Engine n.2Progetto del meccanismo di stampa

(Science Museum Library Babbage Papers, drawing BAB [A] 173, “Plan of Inking Printing &

Stereotype Apparatus,” undated)

Page 12: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 12

Macchina alle Differenze (Difference Engine) n. 2

Design drawing: Difference Engine No. 2 (1847). Main elevation showing crank handle (right), calculating section (center), and output apparatus (left). Science Museum Library Babbage Papers, drawing BAB [A] 163, “Elevation for Difference Engine No. 2.” (Science Museum, London)

~ 3,4 m

~ 2,1 m

Page 13: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 13

• Ispirandosi al progetto di Babbage, Per Georg Scheutz (1785-1873) costruì diverse Macchine alle differenze a partire dal 1855; una di queste venne venduta al governo Britannico nel 1859. Martin Wiberg (1826-1905) migliorò le macchine di Scheutz e le utilizzò per produrre delle tavole logaritmiche che poi pubblicò.

• Basandosi sui progetti originali di Babbage lo Science Museum di Londra costruì una copia funzionante della seconda versione della Macchina alle differenze. Questa venne realizzata sotto la supervisione di Doron Swade che seguì il progetto tra il 1989 e il 1991.

• Nel 2000 venne realizzata anche la stampante che, ricevuti i dati dalla Macchina alle differenze, ne permette la riproduzione su carta.

• La trascrizione dei disegni originali in disegni utilizzabili per la realizzazione dei componenti mostrò che Babbage aveva commesso alcuni errori minori di progettazione, ma nulla che potesse inficiare dal punto di vista logico il funzionamento della macchina.

• La Macchina alle differenze e la stampante vennero costruite con i materiali e le tolleranze disponibili nel XIX secolo e questo permise di dimostrare che il progetto di Babbage, se fosse stato finanziato e gestito adeguatamente, avrebbe potuto realmente portare alla realizzazione di una macchina funzionare.

Macchina alle Differenze (Difference Engine) n. 2 – Gli sviluppi successivi …

Page 14: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

14

Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991)

- Carlo Randone / MUPIN -

Doron Swade

Page 15: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 15

Macchina alle Differenze (Difference Engine) n. 2 – Computer History Museum (CA)

Dopo quella costruita nel 1991 allo Science Museum di Londra (con il meccanismo di stampa terminato nel 2001), è stata realizzata nel 2008 una seconda copia del Difference Engine n. 2, per Nathan Myhrvold , ex Chief Technology Officer in Microsoft.

Questa copia è esposta ("in prestito") al Computer History Museum di Mountain View, in California, dal 2008.

Quello che segue è un video di questa installazione.

http://www.youtube.com/watch?v=tmmh7E8n0FY

Page 16: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 16

• Babbage, già durante lo sviluppo del suo primo progetto, la macchina alle differenze, si era reso conto di poter ideare una macchina generica molto più potente e interessante dal punto di vista pratico. Una macchina, cioè, che non si limitasse solo a sviluppare dei calcoli matematici, ma che potesse elaborare complessi "ragionamenti". Chiamò quest'ultimo sistema, appunto, Macchina analitica. Inizio a lavorarci dal 1834-35.

• La prima descrizione abbastanza dettagliata del progetto fu pubblicata il 26 dicembre del 1837, nell'articolo On the Mathematical Powers of the Calculating Engine; in esso Babbage chiariva l'organizzazione di una macchina capace di effettuare calcoli generali sotto il pieno controllo automatico.

• La Macchina analitica doveva essere alimentata da un motore a vapore e doveva essere lunga più di 30 metri per 10 metri di profondità. I dati d'ingresso e il programma sarebbero stati inseriti tramite schede perforate, un metodo già utilizzato per programmare i telai meccanici dell'epoca e che sarà utilizzato in seguito anche nei primi computer. I dati di uscita sarebbero stati prodotti da una stampante e da una sorta di "plotter". La macchina sarebbe stata in grado di perforare delle schede per memorizzare dei dati da utilizzare successivamente, e utilizzava un'aritmetica in base 10 a virgola fissa. La memoria interna ("store") sarebbe stata in grado di contenere da 100 a 1000 numeri di 40 cifre. La componente "Mill", che costituiva l'idea di base dell'unità aritmetica e logica (ALU) presente nelle moderne CPU, sarebbe stata in grado di svolgere le quattro operazioni aritmetiche.

Macchina Analitica (Analytical Engine)

Page 17: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 17

Charles Babbage a Torino (1/3)

Page 18: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 18

• Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche:http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle_scienze_3585)

• Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo, autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere la macchina matematica ad un suo giovane e brillante collaboratore, Luigi Federico Menabrea (1809-1896).

• Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la famosa nota "Notions sur la Machine Analytique de M. Charles Babbage".

• Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione "Sketch of the Analytical Engine invented by Charles Babbage".

• In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il primo programma informatico della storia, un algoritmo per il calcolo dei numeri di Bernoulli.

Charles Babbage a Torino (1/3)

Page 19: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 19

Charles Babbage a Torino (2/3)

Luigi Federico Menabrea(1809 - 1896)

• In segno di apprezzamento e di riconoscenza per l’attenzione ricevuta da parte di Menabrea e degli altri amici torinesi, Babbage offrì loro tutto il corredo di disegni progettuali che aveva portato con sé da Londra; questo prezioso lascito è tuttora conservato presso l’Archivio dell’Accademia delle Scienze di Torino.

Page 20: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 20

Charles Babbage a Torino (2/3)

Page 21: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 21

• I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio Emanuele II, ormai Re d'Italia.

• Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande evidenza, è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto:

"Sire,nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti

della memoria di del Vostro illustre Padre. Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito

del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti figli d'Italia.

Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa invenzione.

Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il Paese di Archimede e Galileo".

Charles Babbage a Torino (3/3)

Page 22: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 22

Charles Babbage a Torino (3/3)

Page 23: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 23

Macchina Analitica (Analytical Engine) – "Plan 25", 1840

Plan of the general arrangement of the Analytical Engine ("Plan 25", 1840).

~ 70 cm

Operation Cards Variable Cards

Number Cards

(~ 5 metri di alt.)

Page 24: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 24

Macchina Analitica (Analytical Engine) – I due livelli di controllo

Babbage individuò almeno due diversi "livelli di controllo" per la sua Macchina Analitica:

• Un livello più alto (diremmo "user level") supportato da una "programmazione" con schede perforate

• Un livello più tecnico ed interno alla macchina, supportato da cosiddetti "barrel" con la codifica (diremmo in termini di "microprogramma") delle operazioni fondamentali (es: addizione, sottrazione, moltiplicazione e divisione)

Page 25: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 25

Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate"

Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni complessi .

Page 26: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 26

Nei disegni di Babbage sono raffigurati tre tipi di schede:• le Number Cards, con le quali si immettono nella MA i dati iniziali del calcolo, designati

come Primitive Data; la MA può anche "scrivere" delle card con i risultati• le Operation Cards, ciascuna delle quali comanda l’esecuzione di una operazione

aritmetica; sono previste anche delle Combinatorial Cards per supportare salti e cicli• le Variable Cards, che indicano l’indirizzo dei registri di memoria, chiamati Columns,

ove prelevare gli argomenti e depositare il risultato di ciascuna operation.

L’insieme di una Operation Card e delle Variable Cards ad essa associate corrisponde concettualmente a una “istruzione” degli odierni computer, così come la sequenza delle istruzioni corrisponde al nostro “programma”.

Macchina Analitica (Analytical Engine) – Le "card" (1/2)

Page 27: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 27

Macchina Analitica (Analytical Engine) – Le "card" (2/2)

Delle "card" per l'Analytical Engine

Page 28: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 28

Schede perforate degli anni 1960-1970

Page 29: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 29

Nastri perforati degli anni 1950-1970

Le schede che Babbage aveva in mente per la sua Macchina Analitica erano "legate" l'una all'altra (sullo stile del telaio Jaquard), rendendo questo tipo di supporto di memoria forse più simile ad un nastro perforato ("punched tape") che a delle schede perforate come quelle illustrate nella slide precedente.

Page 30: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 30

Macchina Analitica (Analytical Engine) – I "microprogrammi"

Schema della "microprogrammazione" della Macchina Analitica, tratto da "Charles Babbage’s Analytical Engine, 1838", A. G. Bromley, Annals of the History of Computing, vol. 4, no. 3, July 1982, pp. 196-218.

Page 31: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 31

Macchina Analitica (Analytical Engine) – Schema a blocchi

CPU ("Mill") and Memory ("Store")

Primary Storage1,000 40 – digit numbers

ALU< > = + - x ÷Control Unit

OutputCards

InputCards

Secondary StorageData on Cards

Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del Mark 1, Aiken fu influenzato dai lavori di Babbage.

Page 32: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 32

Macchina Analitica (Analytical Engine) – Schema a blocchi

CPU ("Mill") and Memory ("Store")

Primary Storage1,000 40 – digit numbers

ALU< > = + - x ÷Control Unit

OutputCards

InputCards

Secondary StorageData on Cards

Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del Mark 1, Aiken fu influenzato dai lavori di Babbage.

Page 33: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- MUPIN - 33

Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato)

Page 34: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- MUPIN - 34

Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato)

Crystal Palace, Esposizione Universale del 1851, Londra

Page 35: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 35

Macchina Analitica (Analytical Engine)

Una parte del "mill" della Macchina Analitica, in costruzione nel 1871, alla morte di Babbage. Science Museum, London

Page 36: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 36

Macchina Analitica (Analytical Engine)

Una ulteriore realizzazione di parte della macchina analitica ("mill" e meccanismo di stampa) realizzata nel 1910 dal figlio Henry Prevost Babbage. Science Museum, London

Page 37: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 37

Macchina Analitica (Analytical Engine)

Una ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire se fosse stata costruita nella seconda metà dell'800:

http://scientificillustration.tumblr.com/image/22977242992

Page 38: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 38

• Nel 1878, sette anni dopo la morte di C. Babbage, il comitato della British Association for the Advancement of Science si pronunciò contro la costruzione della macchina analitica (http://www.fourmilab.ch/Babbage/baas.html) e questo vanificò le speranze di Henry Prevost Babbage (figlio di Charles, 1824-1918) di poter accedere a sovvenzioni governative.

• Oggi, l'iniziativa "Plan 28" (http://plan28.org/) del programmatore e scrittore John Graham-Cumming si ripropone di costruire un modello (prima simulato al computer, e poi "fisico") dell'Analytical Engine.

Macchina Analitica (Analytical Engine)

John Graham-Cumming

Page 39: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 39

Macchina Analitica (Analytical Engine) – "Plan 28", 1842

"Plan 28" dell'Analytical Engine (rif. "A.118 Figure 9"), datato 8 Dicembre 1842

Page 40: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 40

Comparazione sintetica tra le caratteristiche della Macchine di Charles Babbage

Caratteristica Difference Engine n. 1 Difference Engine n. 2 Analytical Engine

Periodo di sviluppo 1822-1833 1847-1849 1834-1846 e 1856-1871

Numero totale di parti

25.000(di cui circa 12.000 per la stampante)

8.000 (di cui circa 4.000 per la stampante)

n.d. (nota: la stampante prevista è la stessa del D.E. n. 2)

Sistema numerico Decimale Decimale Decimale

Capacità e Precisione

6 assi da 12 (o 16, o 18) cifre 8 assi da 31 cifre >100 assi (fino a 1000) da 30 o 40 o 50 cifre

Gestione numeri negativi

Complemento a 10 Complemento a 10 Segno-grandezza per l'I/O, con rappresentazione interna in complemento a 10

Gestione riporti Sequenziale Sequenziale (ottimizzata) Anticipating carriage

Programmazione Sequenza delle operazioni (di somma) precodificata su camme

Sequenza delle operazioni (di somma) precodificata su 14 coppie di camme

Microprogrammazione su "barrel" e programmazione tramite schede perforate

Realizzazioni Una parte (funzionante) grande circa un settimo della macchina completa fu assemblata nel 1832. In quella data erano già state costruite (ma non furono mai assemblate) più di 10.000 parti.

Da Babbage furono realizzate solo alcune parti dimostrative. Partendo dai disegni di Babbage, la macchina fu realizzata nel 1991 allo Science Museum di Londra (il meccanismo di stampa nel 2001). Una seconda copia completa fu realizzata per il Computer Museum di Mountain View in California nel 2008.

Una parte (semplificata) del "mill" era in fase di realizzazione nel 1871. Una ulteriore realizzazione parziale del meccanismo di calcolo e stampa fu realizzata nel 1910 da Henry Prevost Babbage, figlio di Charles.Iniziativa http://plan28.org/.

Page 41: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 41

La Macchina Analitica (Analytical Engine) nella fantascienza

William Gibson e Bruce Sterling sono stati coautori (nel 1990) di un romanzo del genere cosiddetto "steampunk " intitolato La macchina della realtà (The Difference Engine). In questo romanzo, ambientato nella Londra del 1855, si esplora un passato alternativo in cui la Macchina analitica è stata già costruita e la sua realtà, unita a quella della Rivoluzione industriale, ormai avviata, influenza notevolmente i personaggi e le scene dell'era vittoriana.

Page 42: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 42

Ada Lovelace (10/12/1815 - 27/11/1852)

Augusta Ada Byron, meglio nota come Ada Lovelace, nome che assunse dopo il matrimonio con William King, Conte di Lovelace, è stata una matematica inglese, nota soprattutto per il suo lavoro alla Macchina analitica ideata da Charles Babbage.

Ada fu la sola figlia legittima del poeta Lord Byron e della matematica Anne Isabella Milbanke, e non ebbe alcuna relazione con il padre, che morì quando lei aveva solo 9 anni.

Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage (che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843 tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato il primo programma di computer che consiste in un algoritmo codificato per il calcolo dei numeri di Bernoulli, tanto che Ada Lovelace è spesso ricordata come la prima programmatrice di computer al mondo.

Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste capacità.

Page 43: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 43

Ada Lovelace (10/12/1815 - 27/11/1852)

Dal calcolo (numerico) …

… alla computazione

e manipolazione di simboli

The "Lovelace Leap"

Page 44: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- MUPIN - 44

• Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843)

Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine)

Page 45: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- MUPIN - 45

• Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843)

Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine)

Page 46: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 46

Ada Lovelace (10/12/1815 - 27/11/1852)

"We may say most aptly, that the Analytical Engine weaves algebraic patterns, just as the Jacquard loom weaves flowers and leaves."

Ada Lovelace

("Possiamo dire più giustamente che la macchina analitica tesse modelli algebrici, proprio come il telaio Jacquard tesse fiori e foglie.")

Da: "Sketch of The Analytical Engine - Invented by Charles Babbage By L. F. MENABREA, of Turin, Officer of the Military Engineers from the Bibliothèque Universelle de Genève, October, 1842, No. 82 With notes upon the Memoir by the TranslatorADA AUGUSTA, COUNTESS OF LOVELACE"

(http://www.fourmilab.ch/babbage/sketch.html)

Page 47: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 47

Una interessante documentazione…

"Ada Byron e la Macchina Analitica",Giuseppe O. Longo, Corrado BonfantiMondo Digitale n. 2, giugno 2008http://archivio-mondodigitale.aicanet.net/Rivista/08_numero_2/Longo p. 35-45.pdfehttp://nid.dimi.uniud.it/history/papers/longo_bonfanti_08.pdf

Sempre in italiano, si veda anche:M. G. Losano (a cura di), Babbage.La macchina analitica: un secolo di calcoloautomatico, Etas Kompass Libri,Milano, 1973.

Page 48: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 48

Una monografia sulle macchine di C. Babbage

Nel 2010 l'IEEE ha curato una interessante e completa raccolta di articoli sulle macchine di Babbage, che costituisce un ottimo punto di partenza per approfondire l'argomento:

Page 49: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 49

Dove trovare alcune delle "migliori" descrizioni tecniche dell' "Analytical Engine" ?

Oltre alla monografia dell'IEEE di cui alla slide precedente, secondo Maurice Wilkes (1913-2010) nel suo articolo "Babbage's Expectations for his Engines" (Annals of the History of Computing, vol. 13, no.2, 1991, pp. 141-145):<<The most coherent description of the Analytical Engine is contained in a document entitled On the Mathematical Powers of the Calculating Engine dated December 1837, at which time Babbage was 45 years old. This document is preserved among the Buxton papers in the History of Science Museum, Oxford, and is printed by Randell (1973) (*). Babbage obviously intended to publish it and why he did not do so is unclear.>>

(*) Randell, B. (ed.). 1973.The Origins of Digital Computers.Springer-Verlag.

Questa fonte va ad integrazione delle già citate "notes" di Ada Lovelace in "Sketch of the Analytical Engine invented by Charles Babbage", pubblicate ad es. in "Charles Babbage. On the Principles and Development of the Calculator and Other Seminal Writings by Charles Babbage and Others", Edited by P. Morrison and E. Morrison, Dover Publications

Page 50: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 50

Il "Charles Babbage Institute" (CBI)

Il Charles Babbage Institute (CBI, http://www.cbi.umn.edu/) è un istituto di ricerca presso l'Università del Minnesota, specializzato nella storia dell'information technology, in particolare la storia degli elaboratori digitali, dei linguaggi e della programmazione, e delle reti, a partire dal 1935. L'istituto prende il nome da Charles Babbage, ed è situato presso la Elmer L. Andersen Hall alla University of Minnesota Libraries, in Minneapolis, Minnesota.

Gli "IEEE Annals of the History of Computing"

Gli "Annals of the History of Computing" (http://www.computer.org/portal/web/computingnow/annals) dal 1979 sono una pubblicazione specializzata sulla storia delle tecnologie per il trattamento dell'informazione. Dal 1992 rientrano nell'ambito delle pubblicazioni dell'IEEE.

In figura, il numero monografico di ottobre-dicembre 2000 con gli importanti studi di Allan Bromley (1947-2002) sulla macchina analitica.

Page 51: [MuPIn] Relazione su Babbage, Ada Lovelace e le loro idee

- Carlo Randone / MUPIN - 51

Charles Babbage e le sue macchine:i Difference Engine e l'Analytical Engine

Carlo [email protected]

Friend of

Torino, 15 ottobre 2013