História Do Numero Pi - História Do Número Pi - FDPLEARN
História Do Número Pi - FDPLEARN

O número que ninguém consegue acabar de calcular

Archimedes de Siracusa foi um dos primeiros a tratar pi como algo mensurável, não apenas uma aproximação empírica. Ele usou polígonos inscritos e circunscritos num círculo, chegando à conclusão de que pi estava entre 3 10/71 e 3 1/7. Isso foi por volta de 250 a.C. A técnica era sólida, mas cada vez que você dobrava o número de lados do polígono, o trabalho dobrava também. Para ganhar mais algumas casas decimais, você precisava de aritmética com raízes quadradas sucessivas, o que já era doloroso sem computador. O resultado: durante quase dois milênios, as pessoas continuaram usando esse método, e o recorde mundial de casas decimais calculadas manualmente ficou em 35, obra de Ludolph van Ceulen no final do século XVI.

A história do numero pi e sua relação com a computação

O que mudou tudo foi o cálculo infinitesimal. Séries infinitas permitiram calcular pi de formas completamente diferentes da geometria grega. Madhava de Sangamagrama, no século XIV, já tinha descoberto a série que hoje chamamos de Leibniz para pi: pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... A série funciona. O problema é que ela converge absurdamente devagar. Para obter apenas duas casas decimais corretas, você precisa de cerca de 300 termos. Para cinco casas, precisa de 100 mil termos. Eu já perdi tempo demais tentando isso num projeto pessoal nos anos 2010. Acabei migrando para a fórmula de Machin, que usa identidades trigonométricas para combinar séries arctangentes que convergem muito mais rápido. Com Machin, o cálculo manual de 100 dígitos passa de algo impossível para viável em alguns dias de trabalho focado. Nos anos 1980, a descoberta da fórmula BBP (Bailey–Borwein–Plouffe) foi um marco real. Ela permite calcular dígitos hexadecimais específicos de pi sem precisar calcular todos os anteriores. Isso é contraintuitivo porque a intuição diz que para saber o dígito na posição N você precisa de tudo antes. Com BBP, essa premissa cai por terra. A fórmula é pi = soma de 1/(16^k) * [4/(8k+1) - 2/(8k+4) - 1/(8k+5) - 1/(8k+6)]. Nada elegante à primeira vista, mas eficaz. Ela transformou o problema de "calcular pi" em "extrair um dígito específico", o que abriu portas para testes de integridade de memória em supercomputadores. Se você está validando hardware novo e quer verificar se um bilhão de operações em virgula flutuante estão corretas, calcular um dígito arbitrário de pi via BBP e comparar com uma tabela conhecida é uma solução eficiente.

Hoje, o recorde oficial de cálculo de pi ultrapassa 100 trilhões de dígitos. O último recorde foi estabelecido pela empresa Apple, que usou um cluster de servidores para calcular pi até a 100-trilionésima casa decimal, numa operação que levou 157 dias. Esses cálculos não têm utilidade prática direta fora da teoria dos números. O valor real está nos testes de hardware e na validação de algoritmos de multiplicação de grandes números. O algoritmo de Chudnovsky, que gera 14 dígitos por iteração, é o padrão usado na maioria desses recordes modernos.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Pegadinhas que ninguém conta

A primeira coisa que todo mundo aprende é que pi é irracional. Isso significa que seu desenvolvimento decimal nunca se repete. A segunda coisa, menos óbvia, é que pi também é transcendente, provado por Lindemann em 1882. Transcendente significa que pi não é raiz de nenhuma equação polinomial com coeficientes racionais. Isso mata a possibilidade clássica de "quadratura do círculo" de forma definitiva — você não consegue construir um quadrado com a mesma área de um círculo usando apenas régua e compasso, porque isso exigiria construir um segmento de comprimento sqrt(pi), o que é impossível dado que pi é transcendente. Outra questão que as pessoas confundem constantemente é a diferença entre pi e tau. Tau é definido como 2*pi, ou seja, a razão entre a circunferência e o raio, não o diâmetro. Há um movimento genuíno, liderado por matemáticos como Bob Palais, para substituir pi por tau em diversos contextos pedagógicos e teóricos. A argumentação é que fórmulas como a de Euler se tornam mais limpas com tau. Na prática, isso não mudou nada nas aplicações de engenharia. Pi continua sendo usado em tudo, desde cálculos estruturais até simulações computacionais. O debate existe, mas é mais filosófico do que prático.

Um erro comum ao trabalhar com pi em programas é usar valores truncados demais. Muitos manuais de escola ainda ensinam a usar 3,14. Em projetos de engenharia civil, isso pode gerar erros de até 0,05% em cálculos de viga curvada. Para uma ponte, esse erro é desprezível. Para o cálculo de órbita de satélites, não é. A NASA usa pelo menos 15 dígitos decimais de pi em suas navegações. Se você for fazer simulações de dinâmica de fluidos ou elementos finitos, 20 dígitos já é mais do que suficiente. Usar a constante M_PI do C++ ou math.pi do Python é o mínimo aceitável. Nunca importe por uma string fixa como "3.14159" em código de produção. Existe ainda um problema mais sutil que as pessoas encontram ao implementar cálculo de pi numericamente. Quando você trabalha com séries infinitas em ponto flutuante, a precisão do tipo float limita o resultado final. Um float de 32 bits tem precisão de aproximadamente 7 dígitos decimais. Um double de 64 bits dá cerca de 15-16 dígitos. Se você somar muitos termos de uma série alternada com double, eventualmente os termos ficam tão pequenos que passam a ser afetados pelo ruído de arredondamento. Nesse ponto, somar mais termos só piora o resultado. A solução prática é usar bibliotecas de precisão arbitrária, como o MPFR, quando você precisa de mais de 15 dígitos. Na minha experiência, tentar fazer isso com double puro nunca funciona além de um certo limite — o erro acumula de forma imprevisível e você acaba gastando horas debugando algo que deveria ser impossível de debuggar.

O que acontece quando o número não termina

Um dos fatos mais contraintuitivos sobre pi é que ele aparece em contextos que não têm nada a ver com círculos. A distribuição normal, aquela curva em sino que todo estatístico conhece, tem pi na sua fórmula. A probabilidade de uma partícula se mover em linha reta em um gás ideal envolve pi. Até o problema da agulha de Buffon, do século XVIII, usa pi para estimar seu valor através de um experimento probabilístico: se você jogar uma agulha de comprimento L sobre um piso com linhas paralelas separadas por distância D, a probabilidade de a agulha cruzar uma linha é 2L/(pi*D). É um método estatístico para aproximar pi, mas na prática a convergência é lenta demais para ser útil. Você precisaria de milhões de lançamentos para obter apenas três casas decimais corretas. Existe também uma propriedade que poucas pessoas conhecem. Pi aparece na constante de Knuth, relacionada ao algoritmo de ordenação QuickSort. A análise de custo médio do QuickSort envolve pi. Isso é irrelevante para quem só implementa ordenações no dia a dia, mas mostra como pi está enfiado em lugares que ninguém esperaria. A mesma coisa acontece com a convergência de certos tipos de integração numérica. Quando você implementa um método de Monte Carlo para integrar funções, o erro converge como 1/sqrt(N), e pi entra naturalmente na derivada das funções circulares que aparecem nos passos intermediários.

O lado negativo de tudo isso é que pi é um número infinito. Nós nunca vamos conhecer todos os seus dígitos. E provavelmente nunca vamos saber se ele é um número normal — ou seja, se cada dígito de 0 a 9 aparece com frequência exatamente igual em seu desenvolvimento decimal. Isso parece plausível, mas ainda não foi provado. Se pi for normal, então qualquer sequência finita de números existe nele em algum lugar. Seu CPF, a data da sua morte, o código genético inteiro de todas as espécies. Tecnicamente está lá. Praticamente, não há como encontrar nenhuma dessas sequências, porque não temos algoritmo eficiente para localizar posições específicas no desenvolvimento decimal de pi. Se você está começando a brincar com cálculo numérico de pi, a recomendação honesta é não começar pela série de Leibniz. Comece com a fórmula de Machin ou, se tiver acesso a uma biblioteca de precisão arbitrária, use diretamente um módulo como mpmath no Python. O tempo que você economiza é enorme. Um cálculo básico com Machin em Python leva segundos. Com Leibniz para o mesmo número de casas, levaria horas. A diferença não é trivial. E se o objetivo é apenas usar pi em algum projeto, nem precisa calcular. Use o valor que já está nas bibliotecas padrão. O que a maioria das pessoas não percebe é que gastar tempo calculando pi do zero raramente vale a pena fora de contextos puramente educacionais ou de benchmark.