1816

MACCHINA ALLE DIFFERENZE DI BABBAGE

 

babbage.jpg (5213 byte) 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:

Macchina differenziale

BABBAGE E I NUMERI TRIANGOLARI

Immaginiamo di disporre delle biglie in fila:

sferetta.gif (215 byte) sferetta.gif (215 byte) sferetta.gif (215 byte) sferetta.gif (215 byte) sferetta.gif (215 byte)

Collochiamo poi altre due biglie sotto ad ogni biglia partendo dalla seconda

sferetta.gif (215 byte) sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)

Poi  tre biglie sotto ad ogni mucchietto partendo dal terzo ...... e così via

1 2 3 4 5
sferetta.gif (215 byte) sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
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:

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
mucchietti
DIFFERENZE PRIME

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 Fammi clik

CALCOLATRICE
TASTI VISORE
1
+
2
+
3
+
4
+
5
+
6
+
1
1
2
3
3
6
4
10
5
15
6
21

BASIC

10 N = 0 : X = 0
20 X = X + 1
30 N = N + X
40 PRINT  N
50 GOTO 20

LOGO

PER TRIANG
AS "N 0
AS "X 0
RIPETI
PER RIPETI
AS "X  :X + 1
AS "N  :X + :N
STAMPA :N
RIPETI


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
sferetta.gif (215 byte)
 

+

3
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
 

+

6
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
 

+

10
sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
|| || ||
1
sferetta.gif (215 byte)
4
sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)
9
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
16
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)
sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)sferetta.gif (215 byte)

I numeri quadrati si ottengono dalla somma dei numeri triangolari

 

POSSIAMO RAPPRESENTARE I NUMERI QUADRATI ANCHE COSI'

1

tri_1.gif (248 byte)

4

tri_2.gif (552 byte)

9

tri_3.gif (935 byte)

16

tri_4.gif (1422 byte)

Dove si nota che ogni numero quadrato è formato da due numeri triangolari adiacenti (Rosso + Giallo)

 

Dalle immagini risulta facile dedurre la seguente regola:

tri_5.gif (1782 byte) I quadrati si possono ottenere dalla successione
dei numeri dispari.

 

Possiamo calcolare i numeri quadrati (sfruttando questa regola) con una normale calcolatrice tascabile e con un programma in BASIC o in LOGO:
ANCHE QUI VIENE UTILIZZATO IL METODO DI BABBAGE... SAPRESTI RICOSTRUIRLO INDICANDO QUALI SONO LE DIFFERENZE PRIME E QUELLE SECONDE ?

Se non hai una calcolatrice a portata di mano usa questa Fammi clik

CALCOLATRICE
TASTI VISORE
1
+
3
+
5
+
7
+
9
+
11
+
1
1
4
4
5
9
7
16
9
25
11
36

BASIC

10 N = 0 : X = 1
20 GOTO 40
30 X = X + 2
40 N = N + X
50 PRINT  N
60 GOTO 30

LOGO

PER DISPARI
AS "N 0
AS "X 1
RIPETI
PER RIPETI
AS "N  :N + :X
STAMPA :N
AS "X  :X + 2
RIPETI

 

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

LOGO

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 ?


Indietro Storia Home Avanti