1816 | MACCHINA ALLE DIFFERENZE DI BABBAGE |
Charles Babbage (1791-1871) era
professore di matematica all'università di Cambridge ed esperto di costruzioni
ferroviarie, tanto che venne chiamato anche in Italia per risolvere alcuni problemi della
linea Torino-Genova. Fu inventore di due macchine calcolatrici: La macchina alle differenze, e la macchina analitica. Contrariamente a quanto era avvenuto fino ad allora, Babbage non si proponeva tanto di realizzare delle macchine calcolatrici in grado di eseguire le 4 operazioni, ma dei calcolatori concettualmente simili a quelli moderni: in grado di eseguire sequenze di operazioni in base a un programma. |
La sua prima macchina, quella alle differenze, era nata con l'
esigenza di calcolare tavole astronomiche dove, per la precisione richiesta, Babbage aveva
pensato anche ad un sistema di stampa per evitare errori umani di trascrizione. Per
comprendere i principi del calcolo di tabelle mediante il metodo delle differenze
utilizzato da questa macchina (nella fotografia qui a destra è
rappresentato un modello ricostruito presso il Museo della Scienza di Londra seguendo il
progetto del 1849, di cui si hanno tutti i disegni. Il dispositivo funziona
perfettamente e mette in evidenza la genialità del progetto di Babbage)
possiamo basarci sulla descrizione fatta dallo stesso Babbage che immagina di spiegarlo ad
un ragazzo che sta giocando con delle biglie: |
BABBAGE E I NUMERI TRIANGOLARI
Immaginiamo di disporre delle biglie in fila:
Collochiamo poi altre due biglie sotto ad ogni biglia partendo dalla seconda
Poi tre biglie sotto ad ogni mucchietto partendo dal terzo ...... e così via
1 | 2 | 3 | 4 | 5 |
1 | 3 | 6 | 10 | 15 |
Alla fine si ottengono dei mucchietti triangolari, ciascuno dei quali ha un numero uguale di biglie su ognuno dei tre lati. Si nota anche che, ad ogni triangolo successivo, la lunghezza del lato aumenta di una biglia.
Osserviamo la linea dei numeri per trovarvi la disposizione dei TRIANGOLARI:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|+1 | +2 | +3 | +4 | +5 |
REGOLA: i numeri triangolari sono ottenuti dalla somma dei successivi numeri naturali
A questo punto potremmo chiederci se sia possibile calcolare quante biglie troveremmo ad esempio nel ventesimo mucchietto (senza sommare tutti i numeri da 1 a 20) . Per capirlo possiamo rappresentare la situazione in una tabella:
Ordine dei |
Numero palline nel mucchietto |
DIFFERENZE SECONDE |
1 2 3 4 5 6 |
1 3 6 10 15 21 |
1 1 1 1 1 1 |
La differenza prima si calcola togliendo ad un mucchio il numero delle biglie
del mucchio precedente:
nell' esempio 10 - 6 = 4 (e corrisponde al numero d'
ordine del mucchietto)
La differenza seconda togliendo dalla differenza prima di un mucchietto quella
del mucchietto precedente:
nell' esempio 4 - 3 = 1 (si noti che le differenze
seconde sono tutte uguali ad uno)
Da questo possiamo ricavare la regola generale che permette di calcolare il numero di biglie di un mucchietto qualsiasi:
Per calcolare ad esempio il numero di biglie del quarto mucchietto (quello preso finora ad esempio) basta:
1) prendere il suo numero d' ordine:
4
2) aggiungervi 1
4 + 1 = 5
3) moltiplicarli tra di loro 4 x 5 = 20
4) dividere il risultato per due 20 : 2 = 10 ( che è il numero
cercato)
Se ne ricava la seguente equazione: X= N . (N + 1) : 2
Per vedere se la regola è valida, proviamo a calcolare
quante biglie ci sono nel ventesimo mucchietto: 20 x (20 + 1) : 2 = 210 |
Si comprende come, per il calcolo dei numeri triangolari, il procedimento sia sempre lo stesso e cambino solamente i numeri di partenza.
La risoluzione di questa equazione (parliamo
della equazione per il calcolo dei numeri triangolari, presa come esempio, ma il principio
è valido per tutte le equazioni) necessita di eseguire una moltiplicazione e una
divisione, cosa che Babbage voleva evitare.
Utilizzando il metodo delle differenze è invece possibile calcolare una tabella per
i numeri triangolari (e per qualsiasi altra equazione)
servendosi della sola addizione e ricordando i risultati precedenti (la
sua macchina in effetti eseguiva solo addizioni e ricordava i risultati di ogni operazione
per riutilizzarli nella successiva); ricordiaamo che a Babbage interessava il
calcolo di tabelle e non un singolo risultato.
Ecco come procedeva il calcolo:
numero triangolare: | 1 | 3 | 6 | 10 | 15 | |||||
differenze prime: | 1 | 2 | 3 | 4 | 5 | |||||
differenze seconde: | 1 | 1 | 1 | 1 | 1 |
1) Dalle differenze seconde (che sono costanti) si calcolano le differenze prime:
1+1=2 +1=3 +1=4 +1=5 ....
2) Dalle differenze prime si calcola il valore della funzione:
1+2=3 +3 =6 +4=10 +5=15 ....
Risulta facile calcolare i numeri triangolari, col metodo delle differenze,
usando una normale calcolatrice tascabile e risulta altrettanto facile costruire un
programma in BASIC o in LOGO per
svolgere la stessa funzione: SI NOTI CHE IN TUTTI I CASI VIENE USATA SOLO L' ADDIZIONE. Se
non hai una calcolatrice a portata di mano usa questa
|
Questo principio fu applicato da Babbage alla sua macchina che
per questo motivo fu definita: " DIFFERENZIALE" o ALLE DIFFERENZE.
Eccoti una moderna MACCHINA DIFFERENZIALE che calcola i numeri triangolari
Visto che abbiamo parlato di numeri triangolari ecco alcune digressioni interessanti...
NUMERI TRIANGOLARI E NUMERI QUADRATI
1 |
+ |
3 |
+ |
6 |
+ |
10 |
|| | || | || | ||||
1 |
4 |
9 |
16 |
I numeri quadrati si ottengono dalla somma dei numeri triangolari
POSSIAMO RAPPRESENTARE I NUMERI QUADRATI ANCHE COSI'
1 |
4 |
9 |
16 |
Dove si nota che ogni numero quadrato è formato da due numeri triangolari adiacenti (Rosso + Giallo)
Dalle immagini risulta facile dedurre la seguente regola: |
|
I quadrati si possono ottenere dalla successione dei numeri dispari. |
LA RADICE QUADRATA
DA QUELLO CHE ABBIAMO FINORA DETTO SUI QUADRATI RISULTA CHE:
1 3 ___ 4 |
1 3 5 ___ 9 |
1 3 5 7 ___ 16 |
1 3 5 7 9 ___ 25 |
1) Ogni quadrato risulta formato da tanti numeri dispari quanto è il valore
della sua radice.
2) Il numero mediano è la radice.
3) Il medio è la radice.
Un programma che conta quanti numeri dispari formano un quadrato ne calcola la RADICE QUADRATA
PER RADICE :R AS "N 0 AS "X 1 AS "A 0 RIPETI |
PER RIPETI AS "N :N + :X AS "A :A + 1 STAMPA :N SE :N = :R STAMPA :A STOP AS "X :X + 2 RIPETI |
NB: si noti che questo programma è una trasformazione di
quello precedente che serviva a calcolare i quadrati.
STIAMO ANCORA USANDO IL METODO DELLE DIFFERENZE ?