Como sou o atual recordista mundial de mais dígitos de pi, adicionarei meus dois centavos :
A menos que você esteja realmente estabelecendo um novo recorde mundial, a prática comum é apenas verificar os dígitos computados em relação aos valores conhecidos. Então, isso é bastante simples.
Na verdade, tenho uma página da Web que lista trechos de dígitos com o objetivo de verificar cálculos em relação a eles: http://www.numberworld.org/digits/Pi/
Mas quando você entra em um território recorde mundial, não há nada para comparar.
Historicamente, a abordagem padrão para verificar se os dígitos computados estão corretos é recalcular os dígitos usando um segundo algoritmo. Portanto, se qualquer cálculo der errado, os dígitos no final não corresponderão.
Isso normalmente mais que o dobro da quantidade de tempo necessária (já que o segundo algoritmo é geralmente mais lento). Mas é a única maneira de verificar os dígitos calculados depois de entrar no território desconhecido de dígitos nunca antes calculados e em um novo recorde mundial.
Nos dias em que os supercomputadores estavam estabelecendo os registros, dois algoritmos AGM diferentes eram comumente usados:
Esses dois O(N log(N)^2)
algoritmos eram bastante fáceis de implementar.
No entanto, hoje em dia as coisas são um pouco diferentes. Nos últimos três recordes mundiais, em vez de realizar dois cálculos, realizamos apenas um cálculo usando a fórmula mais rápida conhecida ( Fórmula de Chudnovsky ):
Esse algoritmo é muito mais difícil de implementar, mas é muito mais rápido que os algoritmos AGM.
Em seguida, verificamos os dígitos binários usando as fórmulas BBP para extração de dígitos .
Essa fórmula permite calcular dígitos binários arbitrários sem calcular todos os dígitos anteriores. Portanto, é usado para verificar os últimos dígitos binários calculados. Portanto, é muito mais rápido que uma computação completa.
A vantagem disso é:
- Apenas um cálculo caro é necessário.
A desvantagem é:
- É necessária uma implementação da fórmula de Bailey – Borwein – Plouffe (BBP).
- Uma etapa adicional é necessária para verificar a conversão de raiz de binário em decimal.
Analisei alguns detalhes de por que verificar os últimos dígitos implica que todos os dígitos estão corretos. Mas é fácil ver isso, pois qualquer erro de computação será propagado para os últimos dígitos.
Agora, este último passo (verificar a conversão) é realmente bastante importante. Um dos recordistas anteriores realmente nos chamou a atenção nisso, porque, inicialmente, eu não dei uma descrição suficiente de como funcionava.
Então, eu peguei esse trecho do meu blog:
N = # of decimal digits desired
p = 64-bit prime number
Calcule A usando aritmética da base 10 e B usando aritmética binária.
Se A = B
, com "probabilidade extremamente alta", a conversão estiver correta.
Para uma leitura mais aprofundada, consulte minha postagem no blog Pi - 5 trilhões de dígitos .