1 / 133

Storia degli Algoritmi Numerici

Storia degli Algoritmi Numerici. UNIVERSITÀ DEGLI STUDI DI NAPOLI “Parthenope” Eseguito da: Nicola De Pasquale Matr. TEC/R003 Relatore: prof. Francesca Perla Anno Accademico 2004/05. Esiste una procedura per trovare tutti i numeri primi?. Al momento non si è trovato alcuna procedura

asher
Download Presentation

Storia degli Algoritmi Numerici

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Storia degli Algoritmi Numerici UNIVERSITÀ DEGLI STUDI DI NAPOLI “Parthenope” Eseguito da: Nicola De Pasquale Matr. TEC/R003 Relatore: prof. Francesca Perla Anno Accademico 2004/05

  2. Esiste una procedura per trovare tutti i numeri primi? • Al momento non si è trovato alcuna procedura • Si sa solo che i numeri primi sono infiniti, siccome MCD(n; n+1)=1

  3. Numeri primi • Ogni numero N>1 o è primo, oppure è prodotto di fattori primi distinti, ciascuno preso col suo esponente; • La scomposizione in fattori primi è unica, a meno dell’ordine dei fattori.

  4. Come trovare il Massimo Comune Divisore tra due numeri • MCD=? • Mediante l’Algoritmo di Euclide, • Eseguendo divisioni successive (tra numeri interi) del tipo: • a=bq+r, ponendo (per comodità) a>b>0.

  5. Algoritmo di Euclide • a=bq+r • Chiamando a=r-1, b=r0, r=r1 e q=q1, si ha: • Al primo passo: r-1=r0q1+r1; • Al secondo passo: r0=r1q2+r2; • Al terzo passo: r1=r2q3+r3; • Al penultimo passo: rn-2=rn-1qn+rn; • All’ultimo passo: rn-1=rnqn+1, • Perché rn+1=0, allora MCD(a;b)=rn.

  6. Algoritmo di Euclide • Riepilogando: • MCD(a;b) è l’ultimo resto non nullo della divisione iterativa tra i numeri a e b. • In generale, si ha: ri-1=riqi+1+ri+1; • Per i=0,…,n e con rn+1=0.

  7. Algoritmo di Euclide • Esempio: • Trovare MCD(30030; 1224); • Mediante l’Algoritmo di Euclide si opera al seguente modo: • 30030=1224.24+654; • 1224=654.1+570; • 654=570.1+84; • 570=84.6+66; • 84=66.1+18; • 66=18.3+12; • 18=12.1+6; • 12=6.2+0, o meglio 12=6.2. • L’ultimo resto non nullo è 6, quindi 6=MCD(30030; 1224).

  8. Crivello di Eratostene • Dato un numero N, per verificare che esso sia primo, basta che nessuno dei numeri primi minori o uguali della parte intera della sua radice quadrata divida N • In simboli: • N primo   p primo N : p/N

  9. Crivello di Eratostene • Eratostene è stato molto geniale, perché mediante il suo algoritmo non è necessario ricercare tra tutti i numeri N se il numero N sia primo, ma solo in una parte più piccola, selezionando così la ricerca dei fattori che potrebbero scomporre il numero o i numeri da noi cercati.

  10. Crivello di Eratostene • Esempio: • Cercare tra i numeri 2 N100 quali sono primi: • 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

  11. Crivello di Eratostene • Dapprima si segnano i numeri divisibili per 2 (escluso il numero 2 stesso): • 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

  12. Crivello di Eratostene • Successivamente si segnano i numeri divisibili per 3 (escluso il numero 3 stesso) che non abbiamo già tolto: • 2 3 4 5 6 7 8910 11 12 13 141516 17 18 19 202122 23 24 25 262728 29 30 31 323334 35 36 37 383940 41 42 43 444546 47 48 49 505152 53 54 55 565758 59 60 61 626364 65 66 67 686970 71 72 73 747576 77 78 79 808182 83 84 85 868788 89 90 91 929394 95 96 97 9899100

  13. Crivello di Eratostene • Dopodiché si segnano i numeri divisibili per 5 (escluso il numero 5 stesso) che non abbiamo già tolto: • 2 3 4 5 6 7 8910 11 12 13 141516 17 18 19 202122 23 2425262728 29 30 31 3233343536 37 383940 41 42 43 444546 47 48 49 505152 53 5455565758 59 60 61 6263646566 67 686970 71 72 73 747576 77 78 79 808182 83 8485868788 89 90 91 9293949596 97 9899100

  14. Crivello di Eratostene • Al passo successivo si segnano i numeri divisibili per 7 (escluso il numero 7 stesso) che non abbiamo già tolto: • 2 3 4 5 6 7 8910 11 12 13 141516 17 18 19 202122 23 2425262728 29 30 31 3233343536 37 383940 41 42 43 444546 47 4849505152 53 5455565758 59 60 61 6263646566 67 686970 71 72 73 7475767778 79 808182 83 8485868788 89 90919293949596 97 9899100

  15. Crivello di Eratostene • Ora potremmo fare la stessa operazione, per il numero 11, ma non ha senso perché 100=10, e quindi 11>10=100, perché tutti i fattori multipli di 11 che avremmo dovuto eliminare (22, 33, 44, 55, 66, 77, 88, 99) sono già stati eliminati ai passi precedenti; • La stessa cosa vale per i numeri 13, 17, ecc.

  16. Crivello di Eratostene • Depennando i numeri multipli di 2, 3, 5 e 7 (esclusi i numeri 2, 3, 5 e 7), si ottengono tutti i numeri primi 100 • Essi sono, quindi: • 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 e 97.

  17. Crivello di Eratostene • Esempio: • Provare se il numero 127 è primo: • 127=11,269427…, e quindi 127=11 • Occorre, perciò, cercare solo tra i numeri primi 11, che sono: 2, 3, 5, 7 e 11; • Dividere 127 per ciascuno di tali numeri; • Se 127 non è multiplo di alcuno di questi numeri, allora 127 è primo.

  18. Crivello di Eratostene • 127=63.2+1, quindi 127 non è divisibile per 2; • 127=42.3+1, quindi 127 non è divisibile per 3; • 127=25.5+2, quindi 127 non è divisibile per 5; • 127=18.7+1, quindi 127 non è divisibile per 7; • 127=11.11+6, quindi 127 non è divisibile per 11. • 127 è quindi un numero primo non essendo multiplo di alcuno di questi numeri primi.

  19. Crivello di Eratostene • In teoria il Crivello di Eratostene ci permette di conoscere tutti i numeri primi, perché operando di quadrato in quadrato si trovano i numeri primi in quell’intervallo: • Nel primo intervallo: 1<N2, si ha che 2 è numero primo; • Nel secondo intervallo: 2<N4, si ha che 3 è numero primo;

  20. Crivello di Eratostene • Nel terzo intervallo: 4<N16, si ha che 5, 7, 11 e 13 sono numeri primi; • Nel quarto intervallo: 16<N256, si ha che 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241 e 251 sono numeri primi;

  21. Crivello di Eratostene • Nel quinto intervallo ne troveremmo altri, così come nel sesto, e così via. • Tuttavia ad un certo punto ci dobbiamo fermare da un lato perché i numeri primi sono infiniti, dall’altro perché i calcoli con un numero elevato di cifre sono difficili, se non umanamente impossibili e, talvolta, noiosi.

  22. Distribuzione dei numeri primi • Prima dell’avvento dei Computer le tavole dei numeri primi impiegavano parecchie pagine, oggi sono immagazzinate in forma compatta. • Si codificano i numeri dispari al seguente modo: • 0 se il numero è composto, • 1 se il numero è primo.

  23. Distribuzione dei numeri primi • Esempio: • Scrivo nella riga di sopra la tavola dei numeri dispari da 1 a 50 e nella riga di sotto sotto indico a seconda dei casi la cifra 0 oppure 1: • 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 • 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0

  24. Distribuzione dei numeri primi • A questo punto ottengo le sequenze: 01110, 11011, 01001, 10010 e 11010 • Per semplicità di rappresentazione posso eliminare da ciascuna delle sequenze ottenute il termine centrale (quello multiplo di 5) • Ottengo così le sequenze: 0110, 1111, 0101, 1010 e 1110.

  25. Distribuzione dei numeri primi • Ciascuno dei numeri 0110, 1111, 0101, 1010 e 1110, può assumere un unico carattere in base 16, ossia 6, F, 5, A, E. • In questo modo sono descritti in forma compatta i numeri primi.

  26. Criteri di divisibilità • Come si fa a sapere se un numero è divisibile per un altro, senza effettuare la divisione?

  27. Criteri di divisibilità • I criteri di divisibilità (in base 10) per alcuni numeri particolari sono facilmente esprimibili, o vedendone l’ultima cifra, o sommando le cifre del numero o contando alternativamente le cifre del numero, ne espongo alcuni semplici criteri. • Criterio di divisibilità per 2: • un numero è divisibile per due, se è pari; ossia se l’ultima cifra è pari; ovvero se l’ultima cifra è 0, 2, 4, 6, 8. • Criterio di divisibilità per 3: • un numero è divisibile per tre, se la somma delle sue cifre è ancora divisibile per tre. • Criterio di divisibilità per 5: • un numero è divisibile per cinque, se l’ultima sua cifra è 0 o 5. • Criterio di divisibilità per 9: • un numero è divisibile per nove, se la somma delle cifre è ancora multiplo di nove. • Criterio di divisibilità per 10: • un numero è divisibile per dieci, se l’ultima cifra è 0. • Criterio di divisibilità per 11: • un numero è divisibile per undici, se la somma delle cifre pari (a partire da destra) coincide con la somma delle cifre dispari, e se ciò non si verifica, se la differenza tra le cifre pari del numero e le cifre dispari è multiplo di undici.

  28. Criteri di divisibilità • Criteri di divisibilità (ricavabili dai criteri precedenti) • Criterio di divisibilità per 4: • un numero è divisibile per quattro, se le ultime due cifre (del numero) sono divisibili per quattro, ossia se la penultima cifra è pari l’ultima cifra deve essere 0, 4 o 8, mentre se la penultima cifra è dispari l’ultima cifra deve essere 2 o 6. • Criterio di divisibilità per 6: • un numero è divisibile per sei, se l’ultima sua cifra è pari e la somma delle sue cifre è multiplo di tre. • Criterio di divisibilità per 8: • un numero è divisibile per otto, se le ultime tre cifre (del numero) sono divisibili per otto. • Criterio di divisibilità per 12: • un numero è divisibile per dodici, se le ultime due sue cifre sono multiple di quattro e la somma delle cifre del numero è multiplo di tre. • Criterio di divisibilità per 25: • un numero è divisibile per venticinque se le ultime due sue cifre sono 00, 25, 50 o 75.

  29. Criteri di divisibilità • Per le potenze di 2, 5 e 10 si hanno dei criteri di divisibilità che valgono in generale: • Criterio di divisibilità per 2k (ossia di una potenza di 2): • un numero è divisibile per 2k, se le ultime k cifre sono multiple di 2k. • Criterio di divisibilità per 5h (ossia di una potenza di 5): • un numero è divisibile per 5h, se le ultime h cifre sono multiple di 5h. • Criterio di divisibilità per 10n (ossia di una potenza di 10): • un numero è divisibile per 10n, se le ultime n cifre sono tutte 0.

  30. Criteri di divisibilità • Talmud affermò che: • Un numero della forma 100a+b è divisibile per 7  un numero della forma 2a+b è divisibile per 7. • Esempio: • 112=100.1+12; • 14=2.1+12; • 14 è divisibile per 7, quindi anche 112 lo è.

  31. Criteri di divisibilità • Secondo la matematica indiana: • Un numero è divisibile per 9, se la somma delle sue cifre è anch’essa divisibile per 9. • Questo criterio di divisibilità è oggi detto “prova del 9”

  32. Criteri di divisibilità • Fibonacci (1202): Criteri di divisibilità per 7 e per 11. • Talkis di Ibn al Banna (circa 1250): Criteri di divisibilità per 7 e per 9. • Nel XV secolo sono trovati criteri di divisibilità per 7 e per 9 per la verifica di operazioni aritmetiche.

  33. Criteri di divisibilità • Pierre Forcadel di Béziers (1556) affermò che: • Scrivo il numero ed opero da sinistra verso destra. • Moltiplico la prima cifra per 3 e sottraggo ad esso il più grande multiplo di 7 ( del prodotto ottenuto). • Allora aggiungo al risultato la successiva cifra. • Moltiplico di nuovo per 3, e così via. • Se l’ultimo numero ottenuto è multiplo di 7, anche il numero preso in considerazione lo è.

  34. Criteri di divisibilità • Esempio: • Proviamo per il numero 5845: • 5.3=15, 15-2.7=1, 1+8=9, (a questo punto otteniamo il numero 945); • 9.3=27, 27-3.7=6, 6+4=10, (a questo punto otteniamo il numero 105); • 10.3=30 30-4.7=2, 2+5=7. • 7 è multiplo di 7, e quindi anche 5845 lo è.

  35. Criteri di divisibilità • Blaise Pascal (1654) raccoglie tutti i Criteri di divisibilità, definendo una regola che vale in generale (ne parlerò in seguito nello specifico); • Per sapere se un numero sia divisibile per p, abbiamo bisogno di conoscere il resto della divisioni delle varie potenze di 10 con p.

  36. Criteri di divisibilità • Fontanelle (1728) affermò che: • Moltiplicando la prima cifra per 3, si aggiunge, poi, ad essa la seconda cifra; • Si sostituisce alle prime due cifre del numero la loro somma; • Continuando in questo modo, se l’ultimo numero ricercato è 7, allora il numero è divisibile per 7.

  37. Criteri di divisibilità • Esempio: • Provo per il numero 16807, la sequenza dei numeri ottenuta dai calcoli è: • 16807, 9807, 3507, 1407, 707, 217, 77, 28, 14, 7. • Essendo l’ultimo numero trovato 7, anche il numero cercato: 16807 è divisibile per 7.

  38. Criteri di divisibilità • Tucker (1889) affermò che: • Separando il numero in due parti, nelle quali: • Nella prima parte c’è tutto il numero, salvo l’ultima cifra; • Nella seconda parte c’è l’ultima cifra del numero. • Sottraggo alla prima parte del numero l’ultima cifra moltiplicata per 2. • Si prosegue nel calcolo, finché non restino solo le ultime due cifre non siano multiple di 7. • Se le ultime due cifre (ottenute nell’ultimo passaggio) sono multiple di 7, anche il numero lo è.

  39. Criteri di divisibilità • Esempio: • Partendo dal numero 2401, si ha: • 240-2.1=238; • 23-2.8=7. • 7 è divisibile per 7, e quindi anche 2401 lo è.

  40. Criteri di divisibilità • Blaise Pascal • Criteri di divisibilità (in generale): • Partendo dal criterio di divisibilità per 9, indica un criterio valido anche per gli altri numeri; • Dandone anche una dimostrazione.

  41. Criteri di divisibilità • Dapprima sostituisce i numeri con le lettere e moltiplica la cifra numerica per la sua posizione, ossia per il resti di una potenza di 10 in quella base. • Dopo aver operato questi prodotti basta sommare le sue cifre e si può verificare in tal modo la divisibilità.

  42. Criteri di divisibilità • Metodo di Pascal: • Si scrive sulla stessa linea e in ordine decrescente la sequenza dei numeri naturali, in questo modo: • 10 9 8 7 6 5 4 3 2 1 • K I H G F E D C B 1.

  43. Criteri di divisibilità • Dapprima scrivo la prima cifra e lo chiamo 1; • Moltiplico questo numero (il numero 1) per 10 e sottraggo il massimo intero multiplo di A (la base della quale vorremmo conoscere la divisibilità) che lo contiene, scrivo il resto, lo chiamo B e lo metto sotto il numero 2; • Moltiplico questo primo risultato (il numero B) per 10 e sottraggo il massimo intero multiplo di A che lo contiene, scrivo il resto, lo chiamo C e lo metto sotto il numero 3;

  44. Criteri di divisibilità • Moltiplico questo primo risultato (il numero C) per 10 e sottraggo il massimo intero multiplo di A che lo contiene, scrivo il resto, lo chiamo D e lo metto sotto il numero 4; • E così via.

  45. Criteri di divisibilità • Esempio • Scrivendo il numero TVNM, si opera così: • M.1 • N.B • V.C • T.D • TVNM è divisibile per AM+NB+VC+TD è divisibile per A

  46. Criteri di divisibilità • Criterio di divisibilità per 7: • Scrivo nella prima riga i primi 10 numeri in ordine decrescente e nella seconda riga i resti delle di 10 in base 7, • 10 9 8 7 6 5 4 3 2 1 • 6 2 3 1 5 4 6 2 3 1.

  47. Criteri di divisibilità • Per maggior chiarezza si ha: • Ad 1=100 corrisponde 1; • A 10 corrisponde 3, perché 10=1.7+3; • A 102 corrisponde 2, perché 100=14.7+2, o anche 30=4.7+2; • Al numero 103 corrisponde 6, perché 20=2.7+6; • Al numero 104 corrisponde 4, perché 60=8.7+4; • Al numero 105 corrisponde 3, perché 40=5.7+5; • Al numero 106 corrisponde 1, perché 50=7.7+1; • E così via, ritornando ai resti 1 3 2 6 4 5.

  48. Criteri di divisibilità • Esempio: • Verifichiamo se il numero S=287542178 è divisibile per 7. • Scrivo le varie moltiplicazioni: • 8.1=8; 7.3=21; 1.2=2; 2.6=12; 4.4=16; 5.5=25; 7.1=7; 8.3=14; 2.2=4. • In seguito effettuo la somma: • 8+21+2+12+16+25+7+24+4=119; • Essendo 119 multiplo di 7, lo è anche il numero S.

  49. Criteri di divisibilità • Esempio: • Verifichiamo se il numero Y=151996 è divisibile per 37: • Scrivo le varie moltiplicazioni: • 6.1=6; 9.10=90; 9.26=234; 1.1=1; 5.10=50; 1.26=26. • In seguito effettuo la somma: • 6+90+234+1+50+26=407.

  50. Criteri di divisibilità • Il numero 407 è multiplo di 37, essendo 407=11.37. • Quindi anche il numero Y è multiplo di 37.

More Related