La fórmula de Bailey-Borwein-Plouffe (o fórmula BBP) permite calcular el enésimo dígito de π en base 2 (o 16) sin necesidad de hallar los precedentes, de una manera rápida y utilizando muy poco espacio de memoria en la computadora. Simon Plouffe junto con David Bailey y Peter Borwein hallaron esta fórmula el 19 de septiembre de 1995 usando un programa informático llamado PSLQ que busca relaciones entre números enteros.
La demostración de esta fórmula se encuentra más abajo.
A continuación se muestra el cálculo del enésimo dígito hexadecimal de π.
Primero se debe observar que el dígito ubicado en la posición N+1 de π en base 16 es el mismo que el primer dígito hexadecimal de 16Nπ. En efecto, como en la base 10, multiplicar un número en base 16 por 16 equivale a desplazar la coma decimal un lugar hacia la derecha. De esta manera, multiplicando por 16N, la coma se desplaza N lugares hacia la derecha. El problema original se reduce al cálculo del primer dígito de 16Nπ. Usando la fórmula BBP:
El cálculo de los primeros dígitos hexadecimales a la derecha de la coma de este número no es sencillo por dos razones: el número es muy grande y la suma es infinita.
Supongamos que . El cálculo de los primeros dígitos hexadecimales de SN(a) permitirá obtener los de 16Nπ, a través de la relación:
Descomponiendo la suma SN(a) en dos:
se pueden calcular AN(a) y BN(a) en forma independiente.
Aunque se trata de una suma infinita, es muy fácil de calcular, porque sus términos son pequeños y decrecen rápidamente.
Finalmente, la suma BN(a) es de la forma (en el peor caso):
Por lo tanto, para obtener BN(a) con una precisión de P cifras detrás de la coma, es suficiente calcular los P primeros términos de la suma, agregándose algunos términos más para evitar errores que aparecen al realizar cálculos con valores aproximados.
Así, se calcula:
Como esta suma solo posee una pequeña cantidad de términos, el tiempo que insume esta operación es insignificante para una computadora.
El problema para el cálculo de AN(a) es que los primeros términos son muy grandes (N cifras de base 16 antes de la coma). Sin embargo, al igual que las primeras cifras detrás de la coma, no importa la parte entera, que también es grande. Por lo tanto, puede "eliminarse" usando aritmética modular.
Toda la dificultad se reduce a hallar la parte fraccionaria de . Para ello realizamos la división entera de 16N-k por 8k+a:
Así
es menor que 1, por lo tanto, es la parte fraccional de .
Y
Así, se calcula: .
Utilizando el método de la exponenciación binaria, se calcula rápidamente (con un tiempo de ejecución de O(log2(N-k)).
Al fin y al cabo, para obtener los primeros dígitos de π base 16 (o 2), se deben calcular los primeros dígitos de:
con .
Para calcular el enésimo dígito de π en base 16 (o el 4n-ésimo dígito en base 2):
Así Sn'(a) se calcula en O(1)+O(n*log2(n))=O(n*log2(n)). Finalmente, πn se calcula en 4*O(n*log2(n))=O(n*log2(n)).
Por lo tanto el tiempo de cálculo es proporcional a n*log2(n), es decir, casi lineal.
La complejidad en el uso de memoria es constante, ya que solo se realizan sumas sucesivas de pequeños números (con una precisión de unos diez decimales es suficiente).
Fórmula original :
La última fórmula permite hallar dígitos aislados de en base 3 o 9.
Para poder comparar, hasta el año 2008 se habían obtenido los primeros 1,241 billones de decimales de π (aproximadamente 4,123 billones de bits).
Actualmente, no existe ninguna fórmula eficaz para hallar el enésimo decimal de π en base 10. Simon Plouffe ha desarrollado en diciembre de 1996, a partir de una serie muy antigua que calcula π basado en los coeficientes de binomio de Newton, un método para calcular cifras aisladas base 10, pero debido a su complejidad O(n3*log2(n)) pierde su utilidad en la práctica. Fabrice Bellard ha mejorado el algoritmo para alcanzar un nivel de complejidad en O(n2), pero no es suficiente para competir con los métodos convencionales que calculan todos los decimales.
Se demuestra primero el siguiente resultado general:
Aplicando este resultado a la fórmula BBP:
Sustituyendo :
Descomponiendo en fracciones simples:
Escribe un comentario o lo que quieras sobre Fórmula de Bailey-Borwein-Plouffe (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)