Matematica e strumenti di calcolo
Quella che ha portato ai moderni calcolatori è una strada lunga, anche se percorsa negli ultimi decenni con un passo sempre più spedito. Ha preso inizialmente il nome di abaco, l’antenato del nostro pallottoliere. L’abaco era costituito da una serie di guide o scanalature che indicavano (nel sistema decimale) le unità, le decine, le centinaia ecc.; lungo queste scanalature venivano, via via, spostati dei sassolini che rappresentavano i numeri. Il loro valore era dato dalla scanalatura in cui si trovava il sassolino e dalla particolare posizione occupata all’interno della scanalatura. Con l’abaco si riuscivano a fare addizioni e sottrazioni e anche moltiplicazioni e divisioni, considerate come addizioni e sottrazioni iterate. L’abaco è solo l’inizio della strada che porta ai computer e ricorda effettivamente epoche antiche: i cinesi lo usavano molti secoli prima dell’inizio dell’era cristiana, si diffuse poi fra gli egizi (come riferisce Erodoto), tra i greci e i romani. Il suo nome ci porta alla mente Leonardo Fibonacci che proprio con il Liber abaci del 1202 – nel frattempo il termine aveva assunto un significato più generale e stava a indicare il complesso di un’educazione tecnica – fa conoscere in Europa la matematica araba e la scrittura posizionale. Ugualmente, in alcuni paesi orientali l’abaco è sopravvissuto fino al xx secolo come strumento pratico usato nel commercio per semplici conti.
In epoca moderna la strada cambia denominazione e prende piuttosto i nomi di Pascal, Leibniz e Babbage. B. Pascal fu matematico, fisico e filosofo. In campo più propriamente matematico è ricordato per i contributi alla nascente analisi infinitesimale, al calcolo combinatorio e a una teoria della probabilità le cui prime teorizzazioni vengono tradizionalmente identificate proprio nella corrispondenza tra Pascal e Fermat che da Tolosa convalida e generalizza i suoi risultati (la verità «era la stessa a Tolosa come a Parigi»). Pascal in particolare risolve il problema della divisione della posta in un gioco: tale problema consiste nello stabilire come si debba dividere la posta tra due o più giocatori, considerando il punteggio da loro ottenuto nel momento in cui il gioco viene interrotto prima ancora che qualche giocatore abbia raggiunto i punti necessari per vincere.
Pascal dà anche un significativo contributo allo sviluppo di macchine per il calcolo. Quella che verrà chiamata pascalina è, infatti, ideata dal giovane Pascal – il modello definitivo risale al 1645 – per aiutare nei suoi conti il padre incaricato della ripartizione delle tasse in Normandia. È la prima addizionatrice meccanica (che ispirerà persino il modello di addizionatrici tascabili ancora diffuse all’inizio del Novecento) il cui grande merito storico è stato di riuscire a tenere conto del riporto. Costruita effettivamente in una cinquantina di esemplari, era costituita da una serie di ruote dentate (una per le unità, una per le decine ecc.) ciascuna delle quali era divisa, per le scritture decimali, in dieci settori corrispondenti alle cifre da 0 a 9.
G.W. Leibniz, nel 1672, viene a conoscenza della macchina calcolatrice ideata da Pascal. Vuole migliorarla, generalizzandone il meccanismo di funzionamento a tutte le quattro operazioni elementari, e l’anno dopo presenta un primo modello della nuova macchina alla Royal Society di Londra. Il prototipo, costruito nel decennio successivo, effettivamente consentiva di eseguire addizioni, sottrazioni, moltiplicazioni e divisioni anche con numeri di otto e sedici cifre. La macchina di Leibniz, basata su un meccanismo cilindrico chiamato tamburo differenziale da cui sporgevano nove creste di lunghezza crescente (e per questo chiamata anche ruota di Leibniz), risulta decisamente innovativa. Non cancella subito un numero, appena questo è stato usato per effettuare una determinata operazione, ma lo memorizza fino a quando non viene eliminato volutamente. In questo modo si possono eseguire con quel numero ripetute addizioni e sottrazioni, senza doverlo reimpostare in continuazione, e anche moltiplicazioni e divisioni spostando il cilindro. Per esempio, per moltiplicare 789 per 564 non bisogna sommare 564 volte il numero 789; basta sommarlo quattro volte, poi spostare il cilindro di una posizione (in questo modo 789 diventa 7890 e sommarlo sei volte, infine spostare il cilindro di un’altra posizione (così 789 diventa 78900) e sommarlo cinque volte. Alcuni difetti nel meccanismo del riporto suggeriranno a Leibniz l’idea di un secondo modello, basato sull’aritmetica binaria e in cui le cifre 1 e 0 vengono rappresentate dalla presenza o assenza di una pallina in una determinata posizione. Era un’idea che del resto si inquadrava nella prospettiva leibniziana di cercare di ridurre a calcolo le forme del ragionamento umano, che doveva comunque essere preliminarmente “sminuzzato” in ragionamenti semplici ed elementari (esprimibili per esempio con le cifre 0 e 1).
Con l’inglese Ch. Babbage siamo ormai nell’Ottocento. Babbage è inizialmente uno dei giovani matematici dell’Analytical Society di Cambridge che polemizzano contro la sterile difesa a oltranza della tradizione newtoniana e auspicano invece lo sviluppo di una matematica che, come quella continentale, proceda in modo più algebrico e in un regime di maggiore autonomia del linguaggio simbolico rispetto alle interpretazioni fisiche. Babbage si dedica poi alla realizzazione di una macchina da calcolo. Anche lui – come Leibniz – presenta alla Royal Society l’ambizioso progetto di una macchina che, alimentata in modo meccanico tramite il movimento di una maniglia che a sua volta fa girare gli ingranaggi, avrebbe costituito un ulteriore passo verso l’automazione. Il governo britannico inizialmente finanzia il progetto ma poi la continua richiesta da parte di Babbage di nuovi fondi necessari per sviluppare una macchina ancora più ambiziosa e che aveva sostanzialmente la struttura di un computer (non si limitava a effettuare calcoli aritmetici, ma poteva elaborare vere e proprie catene deduttive) interrompe la collaborazione con le istituzioni britanniche.
La storia della macchina analitica si intreccia anche con quella di Ada Lovelace, assidua collaboratrice di Babbage. Nata Augusta Ada Byron e unica figlia legittima del poeta, fu educata dalla madre nel timore che si appassionasse alla letteratura e per questo costretta a seguire le lezioni tenute da alcune delle più importanti scienziate del tempo. Nel 1843 Ada traduce in inglese l’articolo dell’italiano Luigi Menabrea Breve presentazione della macchina analitica, comparso sotto forma di appunti con il titolo Sketch of the analytical engine invented by Charles Babbage, e vi apporta anche degli ampliamenti. In questi scritti si trova un algoritmo per calcolare i primi numeri di Bernoulli. E tale algoritmo è considerato il primo programma per computer: pertanto, in onore di Ada Lovelace è stato dato il nome di Ada a un linguaggio di programmazione.
Pascal, Leibniz e appunto Babbage possono essere considerati a vario titolo dei precursori. La storia moderna del computer inizia però con A. Turing, noto anche per la sua attività di decrittatore della macchina elettromeccanica Enigma usata dai tedeschi durante la seconda guerra mondiale e per il suicidio sicuramente indotto dallo stress e dalle cure psichiatriche cui dovette sottoporsi dopo il processo e la condanna per omosessualità (trattata in quegli anni in Gran Bretagna come un crimine per il reato di gravi e ripetuti atti osceni tra adulti, in pubblico o privato che fossero). Prima della guerra, nel ’37, Turing aveva pubblicato l’articolo On computable numbers, with an application to the Entscheidungsproblem (Sui numeri calcolabili, con un’applicazione al problema della decisione) in cui si trova la descrizione di una macchina ideale, oggi universalmente nota come macchina di Turing, che segna un passo decisivo verso il consolidamento di una mentalità algoritmica e l’avvicinamento all’era dei computer. La macchina riesce a replicare gran parte dei processi di cui è capace il cervello umano convertendoli in procedure algoritmiche.
Il viaggio che nel 1942 Turing compie negli Stati Uniti segna emblematicamente l’ingresso degli usa nella storia dei moderni strumenti di calcolo. In realtà l’ibm era stata già fondata nel 1924, raccogliendo l’eredità del lavoro sviluppato da H. Hollerith; negli stessi anni vede la luce l’analizzatore differenziale dell’ingegnere e inventore statunitense Vannevar Bush (1890-1974) per l’integrazione delle equazioni differenziali e una decina di anni dopo due statunitensi, il fisico John Vincent Atanasoff (1900-1995) e l’ingegnere Clifford Edward Berry (1918-1963), sviluppano un calcolatore, che viene chiamato ABC, per la soluzione dei sistemi di equazioni lineari. Il secondo conflitto mondiale accelera tutti i ritmi. Nel gennaio 1943, nei laboratori ibm comincia a funzionare Harvard Mark 1, un calcolatore elettromeccanico di grandi dimensioni concepito dal fisico statunitense Howard Hathaway Aiken (1900-1973): lungo più di 15 metri, alto circa due metri e mezzo per un metro di profondità e del peso di 35 tonnellate! Un anno dopo, Mark 1 comincia a lavorare per la Marina statunitense. Sempre nello stesso anno inizia la costruzione di eniac che diventerà operativo nel 1946. Nel 1949 diventa invece operativo edvac realizzato secondo l’architettura progettata da J. von Neumann.
I matematici italiani vengono a sapere dei nuovi “supercervelli” – come allora venivano chiamati – nell’agosto 1944 da un trafiletto comparso sul giornale delle forze armate statunitensi che riportava la notizia della cerimonia con la quale I’ibm regalava alla Harvard University il Mark 1. È in particolare M. Picone, direttore dell’istituto nazionale per le applicazioni del calcolo, che coglie la portata dell’avvenimento. Comincia così la rincorsa italiana per dotare di un calcolatore gli istituti di ricerca nazionali. È una rincorsa che termina a metà degli anni Cinquanta quando a Milano, Pisa e Roma germogliano i primi semi dell’informatica italiana (il termine, in verità, sarà coniato come contrazione delle parole information automatique solo nel 1962 dal francese Philippe Dreyfus della Compagnie des machines Bull). Il primo calcolatore del Politecnico di Milano, acquistato negli usa, viene messo in funzione nell’ottobre 1954; quello romano, acquistato a Manchester appunto dall’istituto di Picone, è inaugurato alla presenza del presidente della repubblica nel dicembre dell’anno successivo. Poco dopo, con la cosiddetta “macchina ridotta” e poi con la cep, si conclude a Pisa la storia iniziata da un suggerimento di Enrico Fermi (1901-1954) nell’agosto 1954 e sviluppatasi con un’interessante collaborazione tra università e Olivetti.
Da molti anni a questa parte, i passi di cui si parlava all’inizio si sono fatti sempre più rapidi e ravvicinati. I nuovi strumenti di calcolo, i programmi di manipolazione simbolica, le calcolatrici che presentano una sempre maggiore versatilità in dimensioni via via più ridotte hanno contribuito in modo decisivo a un ripensamento su forme e contenuti della matematica e del suo insegnamento. Hanno persino cambiato i concetti di dimostrazione e di rigore necessari per considerare risolto un problema. La questione è stata posta all’attenzione della comunità internazionale, in particolare nel 1976, quando K.I. Appel e W. Haken hanno risolto il problema dei → quattro colori, problema formulato più di un secolo prima, dimostrando che quattro colori sono effettivamente sufficienti per colorare una qualsiasi carta geografica in modo che due stati confinanti siano colorati con colori differenti. Il fatto è che la loro dimostrazione fa uso in modo massiccio del calcolo automatico, ponendo così un nuovo problema: una dimostrazione è qualcosa che si fa con carta e penna e che in linea di principio ogni matematico può controllare oppure ci si può fidare del calcolatore e avere certezza che effettivamente faccia quanto il programma gli dice di fare?