crivello - Dipartimento di Matematica

annuncio pubblicitario
Il crivello di Eratostene
Esiste un facile algoritmo, dovuto al matematico greco Eratostene,
che a tutt’oggi è il procedimento più efficiente per stabilire se un dato
numero intero è o no un numero primo.
Si considera la successione dei numeri naturali compresi fra 2 ed il
numero assegnato; supponiamo, per esempio, che il numero sia 23:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Il passo successivo consiste nel cancellare tutti i multipli di 2:
22 3 44 5 66 7 88 9 1100 11 1122 13 1144 15 1166 17 1188 19 2200 21 2222 23
Quindi si cancellano, fra i restanti numeri, tutti i multipli di 3:
2
22 33 44 5 66 7 88 99 1100 11 1122 13 1144 1155 1166 17 1188 19 2200 2211 2222 23
Si procede iterando l’operazione di cancellazione, tenendo presente
che:
- al passo n-esimo il primo dei numeri non cancellati è l’n-esimo
numero primo;
- al passo successivo si cancellano, tra i numeri restanti, tutti quelli
che sono multipli di questo numero primo.
Il crivello di Eratostene fornisce dunque, dopo n passi, i primi n
numeri primi. Dopo il passo n-esimo, tutti i numeri minori o uguali a
n2 che sono rimasti sicuramente saranno primi: infatti, se fossero
composti, essi sarebbero multipli di un numero minore o uguale a n,
e quindi sarebbero stati cancellati. Il numero di passi necessari a
stabilire se un dato numero N è primo è quindi minore o uguale a
N.
Nel nostro esempio N = 23  4,79, e vediamo che dopo il terzo passo
sono stati cancellati tutti i numeri minori o uguali a 4,79 ossia tutti i
numeri minori di 5. Quindi possiamo concludere che 23 è primo dopo
3 passi soltanto.
Il teorema fondamentale dell’aritmetica stabilisce che ogni numero
N può essere decomposto nel prodotto di numeri primi. Il crivello di
Eratostene è il migliore metodo conosciuto per trovarli. Quando N è
molto grande, il numero di passi necessari è anch’esso molto grande.
Per decomporre un numero a 20 cifre con un macchina capace di
effettuare un passo dell’algoritmo ogni secondo, occorrerebbero
alcune migliaia di anni.
La difficoltà di trovare la fattorizzazione di un numero è sfruttata in
crittografia, ossia per la cifratura dei messaggi. Negli anni settanta,
tre ricercatori del Massachussets Institute of Technology hanno
sviluppato un particolare tipo di cifratura numerica, per decrittare la
quale è necessario conoscere la fattorizzazione di numeri interi molto
grandi.
Scarica