Stomachion

venerdì 29 marzo 2024

Breve storia del pi greco / Edizione algoritmica

Arriva la nuova puntata della Breve storia del pi greco, una serie di articoli che "ristampano" i box delle notizie pi greche che tediano allegramente i Carnevali della matematica del pi day che ho l'onore di ospitare, inclusa l'ultima edizione, la #176. Per la puntata di quest'anno, la 12.ma, ho voluto aggiungere un piccolo backstage relativo all'astrografica pi greca uscita su EduINAF proprio nel pi day.
Vi segnalo poi la versione in pdf della Breve storia che spero di riuscire ad aggiornare nei prossimi giorni. In alternativa ecco l'elenco dei link alle puntate precedenti: L'era dei computer nel calcolo delle cifre decimali del \(\pi\) iniziò a metà del XX secolo. Nel 1949, infatti, utilizzando una semplice calcolatrice, John Wrench e Levi Smith calcolarono 1120 cifre decimali.
L'anno dopo George Reitwiesner e John von Neumann raggiunsero le 2037 cifre. Utilizzarono una serie infinita di arcotangenti sul computer ENIAC, che impiegò 70 ore per ottenere questo risultato. Proprio grazie alle serie delle arcotangenti il record venne battuto sempre più spesso negli anni successivi: 3089 cifre nel 1955, 5480 cifre nel 1957, 10000 cifre nel 1958, 100000 nel 1961, 1 milione di cifre nel 1973.
Negli anni Ottanta del XX secolo arrivò un nuovo strumento che permise di calcolare le cifre decimali del pi greco in maniera più veloce ed efficiente: gli algoritmi iterativi.
Questi algoritmi erano basati su metodi matematici che prevedevano la risuoluzione di un problema facendo uso di approssimazioni successive. Il metodo, in effetti, dovremmo averlo incontrato un po' tutti a scuola, visto che il così detto metodo di Newton per determinare gli zeri di una curva è esattamente un metodo o algoritmo iterativo, applicato in generale a una funzione in cui il metodo analitico risultava impossibile (o troppo lungo) da applicare.
Non è un caso, allora, che questo genere di algoritmi venne proposto tra il 1975 e il 1976, dal fisico Eugene Salamin e dal matematico Richard Brent. Nello specifico l'algoritmo di Brent e Salamin era una opportuna modifica all'algoritmo di Gauss o di Gauss-Legendre, sviluppato indipendentemente da Carl Friedrich Gauss e da Adrien-Marie Legendre proprio con lo scopo di calcolare il \(\pi\).
Il metodo è abbastanza semplice, in termini matematici. Si inizializzano le variabili: \[a_0 = 1, \qquad b_0 = \frac{1}{\sqrt{2}}, \qquad t_0 = \frac{1}{4, \qquad p_0 = 1}\] Si definiscono le seguenti iterazioni: \[a_{n+1} = \frac{a_n + b_n}{2}, \qquad b_{n+1} = \sqrt{a_n b_n},\] \[t_{n+1} = t_n - p_n (a_n - a_{n+1})^2, \qquad p_{n+1} = 2 p_n\] L'approssimazione di pi greco sarà quindi data da \[\pi \approx \frac{(a_{n+1}+b_{n+1})^2}{4t_{n+1}}\] In questo modo si riescono a ottenere 45 milioni di cifre corrette del pi dopo appena 25 iterazioni.
Dal quel momento in poi gli algoritmi iterativi vennero utilizzati sempre più spesso proprio in virtù della loro maggiore velocità rispetto alle serie infinite. Il motivo di tale velocità risiede nelle differenze tra i due metodi: le serie infinite procedono aggiungendo una cifra decimale a ogni passaggio, mentre gli algoritmi iterativi raddoppiano, triplicano, qadruplicano, ecc. (il tasso di avanzamento dipende dall'algoritmo) le cifre decimali a ogni passaggio. Per esempio nel 1984 i fratelli John e Peter Borwein realizzarono un algoritmo in grado di quadruplicare le cifre decimali dopo ogni iterazione. E fu proprio grazie agli algoritmi iterativi che Yasumasa Kanada stabilì diversi record nel calcolo di \(\pi\) tra il 1995 e il 2002.
Il problema è che questo genere di algoritmi richiedono una grande quantità di memoria, motivo per cui cedettero il passo alle serie rapidamente convergenti. Questa, però, è un'altra storia. Un metodo moderno di calcolare le cifre del pi greco e alla portata di tutti è utilizzando l'app per smartphone e tablet phyphox. E' un'applicazione che permette di compiere diversi esperimenti grazie ai sensori presenti nei moderni cellulari. Oltre agli esperimenti presenti nell'installazione di default, nel sito ufficiale se ne trovano molti altri, incluso quello relativo al calcolo del \(\pi\): ovviamente l'ho provato per voi.
Il metodo arriva abbastanza in fretta a 3.14, dopo qualcosa come una quarantina di secondi, ma se ne allontana subito dopo. Inizia a restare un po' più stabilmente intorno al 3.14 dopo un paio di minuti. Quindi riprende a crescere, poi diminuisce e intorno al quarto minuto ritorna più o meno stabile oscillando intorno a 3.144 con un errore di all'incirca 0.005 (valutando i punti massimi e minimi raggiunti) fino a che intorno al 4.o minuto e 50 secondi finalmente riesce a restare intorno al 3.141 per due o tre secondi. Quindi aumentano le oscillazioni e perde anche la seconda cifra decimale intorno al quinto minuto.
Di fatto questo andamento oscillante lo prosegue per un po' tutte le due ore che ho catturato e riproduce l'andamento oscillante della funzione \(N(r)/r^2\) dove \(N(r)\) è il numero di punti all'interno della circonferenza di raggio \(r\) legata a un problema connesso con l'esperimento proposto da phyphox: il problema del cerchio di Gauss.
In pratica ci si chiede quanti punti di un reticolo discreto si trovano all'interno di una circonferenza. Ovviamente, visto il legame della circonferenza con il pi greco, il passo per l'uso di questo approccio al calcolo delle cifre del \(\pi\) è breve!
E' interessante, comunque, notare come, con pochi calcoli (basta prendere una circonferenza di raggio unitario per rendersene conto) con un'estrazione casuale dei punti del reticolo quadrato, la probabilità che un punto ricada all'interno della circonferenza (bordo incluso) è di \(\pi / 4\).
20240313-favourite-number
Sfruttando il tema che ho adottato per l'edizione 2024 del pi day, ho voluto proporre su EduINAF una visualizzazione "astronomica" delle prime nove cifre decimali del pi greco, ognuna delle quali rappresentata come un piccolo pianetino. La linea tratteggiata dobbiamo invece immaginarla come una specie di astronave che partendo dal centro di questo "sistema planetario" fa tappa su ciascun pianeta secondo l'ordine con cui ciascuna cifra è presente nello sviluppo del pi greco.
L'idea originale, però, era quella di proporre la mia versione di una specie di cammino casuale in cui ogni passo ha la lunghezza di una differente cifra decimale, mentre la direzione ho cercato di farla generare in maniera casuale. Mi sono, però, scontrato di fronte a una serie di errori probabilmente generati da una difficoltà di gestione da parte di tikzdraw dei calcoli matematici randomici presenti nel codice. A quel punto mi sono "accontetato" della visualizzazione planetaria che ho proposto, ispirata a un video uscito sul canale YouTube dell'Osservatorio Astronomico che in effetti è la versione video della puntata dello scorso anno della Breve storia del pi greco.
20240329-pianeta-pi-greco

Nessun commento:

Posta un commento