Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Comparación de
diferentes métodos
para el cálculo de π
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
ÍNDICE
INTRODUCCIÓN ................................................................................................................ 3
MÉTODO DE ARQUÍMEDES PARA EL CÁLCULO DE PI ........................................ 4
MÉTODO PARA OBTENER PI ........................................................................................ 5
FUNDAMENTO DEL PROGRAMA Y RESULTADOS ................................................. 6
CÁLCULO DE PI POR MEDIO DE SERIES INFINITAS ............................................. 8
DEMOSTRACIÓN ............................................................................................................. 9
RESULTADOS EN PYTHON ......................................................................................... 10
MÉTODO PROBABILÍSTICO (EXPLICACIÓN) ........................................................ 13
NÚMEROS PSEUDOALEATORIOS .............................................................................. 13
AGUJA DE BUFFON ......................................................................................................... 14
ANTECEDENTES............................................................................................................ 14
RESULTADO EN PYTHON ........................................................................................... 18
CAPTURAS DE RESULTADOS .................................................................................... 19
CONFIABILIDAD DE RESULTADOS .......................................................................... 22
MÉTODO DE MONTECARLO ....................................................................................... 23
ANTECEDENTES .............................................................................................................. 23
EXPLICACIÓN ................................................................................................................ 23
RESULTADOS ................................................................................................................. 24
CONFIABILIDAD DE RESULTADOS .......................................................................... 25
CONCLUSIÓN.................................................................................................................... 26
BIBLIOGRAFÍA ................................................................................................................. 27
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
INTRODUCCIÓN
El número Pi es un enigma por sí mismo. Lo usamos en prácticamente todo, y lo podemos
observar en todos los lugares de la naturaleza; el sol, la luna, los planetas, y prácticamente en
dónde se observe un círculo estará presente el número Pi.
Pi forma parte de un subconjunto de los números reales denominado como números irracionales.
Por definición, los números irracionales corresponden a aquellos números que poseen decimales
infinitos y aperiódicos, por lo que es imposible representarlos como el cociente de dos números
(saliendo así de la clasificación de números racionales, pero permaneciendo aún en la de los
números reales). A este conjunto pertenecen otros números relevantes en matemáticas como el
número áureo y el número de Euler, que, junto con Pi, aparecen en distintas ramas de las
matemáticas.
Ya desde la época de la antigua Grecia se intentó dar con el valor exacto de Pi, y con el pasar
de los años, se desarrollaron distintos métodos de todo tipo con el objetivo de hallar dicho
número, algunos más ingeniosos que otros. En este estudio sólo se hará mención de cuatro, y se
ejecutará un programa que realice el cálculo que proponen estos métodos, con el objetivo de
comparar, en un mismo equipo, el tiempo que le toma a la máquina obtener un cierto número
de cifras significativas de Pi usando los distintos métodos.
Añadido a lo anterior, utilizaremos animaciones que nos ayuden a ejemplificar de manera visual
el concepto general de éstos métodos, para no dejarlo como un simple cálculo que realizará la
computadora, si no para buscar la interacción entre máquina y usuario. Una vez realizado lo
anterior, y con los datos obtenidos, compararemos y seleccionaremos el método que haya
arrojado más cifras significativas correctas de Pi en una cantidad menor de tiempo.
Pi es una constante matemática, originalmente fue definida como la relación que existe entre la
circunferencia de un círculo y su diámetro, actualmente existen definiciones más sofisticadas
del número Pi que no implican círculos y que son utilizadas para estudiar distintas propiedades
de los números.
π = Cd
Pi es un número con propiedades muy interesantes, en 1761 Johann Heinrich Lambert demostró
la irracionalidad de Pi, y en 1882 Ferdinand von Lindemann demostró que π es un número
trascendental.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
A lo largo de la historia, desde los antiguos egipcios hasta la actualidad se han desarrollado
métodos para calcular pi, de los más conocidos es la cuadratura del círculo, desarrollado por
Arquímedes en la antigua Grecia, el cálculo de Pi ha presentado un gran reto a lo largo de la
historia siendo que hasta 1874 solamente se habían logrado calcular 527 cifras de Pi, después
de esto se comenzó a calcular Pi utilizando computadoras, actualmente Alexander J. Yee y
Shigeru Kondo han logrado calcular 10 billones de cifras de Pi. Actualmente es muy sencillo
calcular miles de cifras de Pi utilizando una computadora común o incluso un celular.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
MÉTODO PARA OBTENER PI
Para visualizar lo anterior, tomemos una circunferencia unitaria, es decir, de radio igual a 1
(Independientemente de la unidad que se utilice). Si a este círculo le inscribimos una figura
poligonal regular, por ejemplo, un cuadrado, notaremos que el valor de la medida del lado l del
cuadrado estará expresado como:
𝑙 = √12 + 12 = √2
La expresión anterior dista bastante del valor real de Pi. Sin embargo, el método es eficaz
cuando aumentamos considerablemente el número de lados de la figura. Por ejemplo,
supongamos un polígono de n lados. Siguiendo el desarrollo anterior, obtendremos que la
medida del lado de este polígono debería estar expresada como:
360
𝑙 = 2 sin
2𝑛
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Y su perímetro como:
360
𝑃 = 𝑛[2 (sin )]
2𝑛
360 1
𝑛 (2 sin )
2𝑛 2
La cual sería finalmente la expresión que define a Pi. Sin embargo, debemos notar que a medida
que n aumenta, la expresión se acerca más a el valor real de Pi, por lo que debemos realizar
una última modificación:
360
𝜋 = lim [𝑛 (sin )]
𝑛→∞ 2𝑛
Este método es capaz de acercarse a el valor real de Pi a medida que el número de lados en los
polígonos tienden al infinito.
El programa que fue escrito para calcular pi usando el método de Arquímedes consta de dos
partes esenciales y diferenciables. En primer lugar, se realizó un pseudo código en Python que
en el cual se definieron las variables y la función que se necesitaba, con el objetivo de correr el
programa en múltiples ocasiones, y observar de forma preliminar los resultados obtenidos. A
continuación, se adjunta una captura que muestra el código escrito en el programa:
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Una vez escrito, decidimos correrlo y detenerlo en veinte ocasiones (entre cada una, el
programa era reiniciado) justo cuando se cumplieran diez minutos desde el inicio del programa.
Se obtuvo los siguientes datos:
Cifra de Pi Frecuencia Donde podemos observar que las cifras varían apenas
en el último decimal. La moda de los datos fue
3.141592653589791 1 3.141592653589793.
Ahora ya con el añadido visual, el programa era considerablemente más lento, al punto de
calcular casi diez veces menos iteraciones por segundo, que su contraparte sin animación. Esto
puede verse ejemplificado con el error de memoria que arrojó el equipo justo cuando el número
de lados de la figura llegaba a 2800, después de 390 segundos de iniciado el programa. Debido
a esto, la parte estadística de los resultados, y por ende, la comparación final decidimos
realizarla únicamente con el fragmento del programa que calcula el valor de Pi, sin
animaciones, dejando a éstas únicamente como una representación visual de lo que ocurría en
un contexto general.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Los datos gráficos fueron los siguientes. Se ejecutó el programa hasta el máximo de tiempo que
la memoria permitiera en dos ocasiones.
Donde en amarillo se puede observar el valor que el programa arroja de Pi, acercándose
asintóticamente al valor real de Pi, conforme el numero n de lados del polígono inscrito
aumenta, mismo que puede verse en la animación aledaña.
En conclusión, el programa era considerablmenete más lento con los añadidos visuales, aunque
si eliminabamos éstos, el equipo era muchisimo más capaz de realizar más cálculos por unidad
de tiempo. El valor aprócimado de Pi tras 600 segundos fue de 3.141592653589793
∞
1 1 1 1
∑ 2
= 2 + 2 + 2 +. ..
𝑛 1 2 3
𝑛=1
Tiene convergencia a algún valor y si lo hacía, a qué valor converge.
En 1689 Jakob Bernoulli logró demostrar que la suma es convergente pero no logró determinar
a qué valor convergía. No fue sino hasta 1734 cuando Leonard Euler logró demostrar que la
suma era convergente a π2/6.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Este problema ha sido demostrado en diversas áreas de las matemáticas como lo son el cálculo,
el análisis complejo, la teoría de los espacios de Hilbert o la probabilidad.
El resultado y la manera de demostrar este tipo de convergencias han tenido una gran
importancia, el resultado de la suma ha sido generalizado en la función Zeta de Riemann. ∞
Se ha probado que esta función es convergente que para cualquier valor de s con una parte real
mayor a 1. Actualmente esta función es muy estudiada en a teoría de números y en el análisis
complejo en donde se busca encontrar diversas propiedades de los números como el orden de
los números primos.
∞
1
𝜁(𝑠) = ∑
2𝑠
1
DEMOSTRACIÓN
𝑥3 𝑥5 𝑥7
𝑠𝑖𝑛(𝑥) = 𝑥 − + − +. . . = 𝐶𝑥(𝑥 − 𝜋)(𝑥 + 𝜋)(𝑥 − 𝜋 2 )(𝑥 + 𝜋 2 ). ..
3! 5! 7!
donde Cx es una constante. Podemos notar que los productos son diferencias de cuadrados, por
lo tanto, tenemos que
𝑥3 𝑥5 𝑥7
𝑠𝑖𝑛(𝑥) = 𝑥 − + − +. . . = 𝐶𝑥(𝑥 2 − 𝜋 2 )(𝑥 2 − 4𝜋 2 )(𝑥 2 − 9𝜋 2 ). ..
3! 5! 7!
Esto es igual a
𝑥2 𝑥4 𝑥6 𝑥2 𝑥2 𝑥2
1− + − +. . . = (1 − )(1 − )(1 − ). ..
3! 5! 7! −𝜋 2 −4𝜋 2 −9𝜋 2
Dado que tenemos una igualdad entre polinomios, los coeficientes tienen que ser los mismos,
por lo tanto, podemos comparar los coeficientes de 𝑥 2
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
𝑥2 𝑥2 𝑥2 𝑥2
− = (− )(− )(− )−. ..
3! −𝜋 2 −4𝜋 2 −9𝜋 2
Eliminando las 𝑥 tenemos
1 1 1 1
− =− 2
− 2
− −. ..
3! −𝜋 −4𝜋 −9𝜋 2
Finalmente, multiplicando por −𝜋 2 tenemos que
𝜋2 1 1 1
= 1 + + + +. ..
6 4 9 16
Qué es lo mismo que:
∞
1
𝜁(2) = ∑
𝑛2
1
RESULTADOS EN PYTHON
La lista contiene el valor aproximado de pi, el número de iteración del programa y el tiempo
transcurrido desde el inicio del mismo.
El programa fue corrido varias veces por 10 minutos tomando en cuenta que el programa puede
tener pequeñas variaciones entre una ejecución y otra.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
MÉTODO PROBABILÍSTICO (EXPLICACIÓN)
El muestreo probabilístico es una técnica de muestreo en virtud de la cual las muestras son
recogidas en un proceso que brinda a todos los individuos de la población las mismas
oportunidades de ser seleccionados.
En esta técnica de muestreo, el investigador debe garantizar que cada individuo tenga las
mismas oportunidades de ser seleccionado y esto se puede lograr si el investigador utiliza la
aleatorización.
El efecto de esto es un sesgo sistemático ausente o mínimo que es la diferencia entre los
resultados de la muestra y los resultados de la población. El sesgo de muestreo también se
elimina ya que los sujetos son elegidos al azar.
NÚMEROS PSEUDOALEATORIOS
Los números pseudoaleatorios son números generados por medio de una función (determinista,
no aleatoria) y que aparentan ser aleatorios. Estos se generan a partir de un valor inicial
aplicando iterativamente la función. La sucesión de números pseudoaleatorios es sometida a
diversas pruebas para medir hasta qué punto se asemeja a una sucesión aleatoria.
Fundamentalmente se recurren a estos números porque las sucesiones de números
pseudoaleatorios son más rápidas de generar que las de números aleatorios. Si las personas
tenemos dificultad en generar números aleatorios, mucho más la tiene un ordenador, la
dificultad está en que un ordenador es tan "torpe" que no sabe generarlos. Por eso usan números
pseudoaleatorios, que para nuestro fin es lo mismo, pues nadie los puede predecir.
Los ordenadores necesitan números aleatorios para realizar todo tipo de tareas: simulaciones,
juegos, criptografía, entre otros. Pero la forma de generarlos es puramente matemática, lo cual
es un problema más que una ventaja: al cabo de un tiempo lo que parece aleatorio no es tan
aleatorio. Se puede utilizar una combinación con procesos físicos más o menos aleatorios
(desde los movimientos del ratón sobre la mesa a la radioactividad), pero en base a matemáticas
puras lo mejor que se puede ofrecer son números pseudoaleatorios. Son algo bastante cercano
al puro azar, pero en cierto modo también limitados en cuanto a su aleatoriedad.
El número que se utiliza como entrada de la función se llama semilla y el proceso es básicamente
repetitivo. Si la función es buena el resultado producirá un valor que al usar de nuevo como
semilla dará otro distinto, luego otro y así sucesivamente hasta que se hayan cubierto tantos
como sea posible (no necesariamente todos). Es lo que se conoce como generador lineal
congruente y cuanto más grande sea su periodo y la distribución de los bits que se eligen como
resultado, mejor.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
AGUJA DE BUFFON
ANTECEDENTES
El origen de las leyes de la teoría de la probabilidad se remonta a mucho tiempo atrás, y si bien
en la actualidad éstas son científicamente aceptadas, hasta hace sólo cincuenta años eran
invocadas casi que de manera apologética. La probabilidad empieza a involucrarse en el terreno
de las matemáticas desde el siglo XVI, gracias a la coincidencia de diversos factores de tipo
social y económico que motivaron un incremento considerable en los juegos de oportunidad y
actividades de apuestas, principalmente en el área del Mediterráneo. El arranque definitivo en
general se sitúa con el trabajo conjunto de Blas PascaI y Pierre de Fermat a mediados del Siglo
XVII, posteriormente al cual diversas personalidades como los hermanos Bernoulli, De
Moivre, Euler, D'Alembert, Laplace, Condorcet, Gauss, entre muchos otros, inscribieron su
nombre en el desarrollo de la moderna teoría de probabilidad.
Contemporánea con algunos de los personajes mencionados, está la figura del francés George
Luis Leclerc, posteriormente conocido como Conde de Buffon. Ignorado por muchos autores
en textos de probabilidad, tal vez por su multidisciplinariedad (es ampliamente reconocido por
su brillante trabajo de naturalista, además de otras no menos destacadas incursiones en terrenos
de la astronomía y la filosofía), Buffon hizo algunas contribuciones en términos de
planteamiento y solución de diversos juegos de azar, uno de los cuales, el célebre problema de
las agujas, sirvió para ilustrar su teoría de la estricta relación entre la probabilidad y la
geometría, y para que posteriormente Laplace diera la primera luz sobre el actualmente llamado
Método de Montecarlo de amplia utilización en aplicaciones que van desde la economía hasta
la física nuclear.
En el año 1733 Buffon comunicó a la Academia de Ciencias en París las soluciones de algunos
problemas relacionados con diversos juegos de azar. Estas fueron posteriormente publicadas
en 1777 en su "Essai d"Arithmétique Morale", en cuya sección 23, "Memoire sur le jeu de franc
carreau", se encuentra el famoso problema de la aguja.
Al inicio de la mencionada sección, Buffon se refiere a que hasta el momento en que él escribe
su trabajo, la aritmética ha sido el único instrumento utilizado para la estimación de
probabilidades, y se propone mostrar a través de una serie de ejemplos cómo se hace también
necesaria la ayuda de la geometría en el estudio y análisis de la ciencia del azar. En efecto,
inicialmente él supone una gran área plana dividida en figuras
regulares iguales, tales como cuadrados, triángulos equiláteros o
hexágonos; entonces se arroja una moneda redonda al azar y se
requiere estimar la probabilidad de que ella caiga sin tocar
ninguna de las líneas límite de la figura, o caiga en una de ellas,
o tocando dos de ellas y así sucesivamente. En seguida Buffon
menciona que, si la moneda es reemplazada por una pieza no
redonda, la solución requerirá de más geometría y es aquí donde
aparece el problema de las agujas. (Figura 1)
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
A continuación, se presentará el planteamiento y solución original del problema, tal como fue
establecido por Buffon. Si bien es evidente hay complicaciones para interpretar el texto, debido
probablemente al estilo de redacción de la época y a la confusa nomenclatura utilizada, la cita
resulta apropiada e interesante porque permite ilustrar sobre la técnica particular de análisis del
autor, diferente de la actual. El texto, respetando en su totalidad las abreviaturas y la simbología
original, es el siguiente:
"Supongo que, en un cuarto, en el cual el piso está simplemente dividido por unas líneas rectas
paralelas, uno lanza al aire una varilla y que uno de los jugadores apuesta a que la varilla no
cruzará ninguna de las paralelas del piso y que el otro por el contrario apuesta que la varilla
si cruzará alguna de estas paralelas; se pregunta la suerte de estos dos jugadores. Uno puede
jugar este juego sobre un tablero con una aguja de coser o un alfiler sin cabeza.
Pero cuando el centro de la varilla cae fuera del espacio abdc, comprendido entre las segundas
paralelas, ella puede, según su situación, cruzar o no cruzar la línea; de suerte que el centro
de la varilla estando, por ejemplo, en ε, el arco φG representará todas las situaciones en donde
ella cruzará la línea, y el arco GH todas aquellas en donde no lo hará, y como así mismo se
tendrá para todos los puntos de la línea εφ, yo llamo dx a las pequeñas partes de esta línea y
y a los arcos del círculo φG, tengo f(sydx) para la expresión de todos los casos en los cuales
̅̅̅̅̅̅̅̅̅̅) para aquellos casos en los cuales no cruzará; yo añado esta
la varilla cruzará y f(bc-sydx
última expresión a aquella hallada aquí arriba f(a-b̅̅̅̅)C, a fin de tener la totalidad de los casos
en los cuales la varilla no cruzará, y desde entonces veo que la suerte del primer jugador es a
la del segundo, como ac-sydx: sydx.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Si uno quiere ver que el juego sea parejo, éste se tendrá si:
sydx
aC=2sydx o a=(1/2)C
es decir con el área de una parte del cicloide cuyo círculo generador tenga por diámetro 2b,
la longitud de la varilla; ahora bien, uno sabe que esta área del cicloide es igual al cuadrado
del radio, luego:
𝒃𝒃
a=(1/2)C
es decir que la longitud de la varilla debe ser un poco más de tres cuartos de la distancia entre
las líneas del piso".
La conclusión de Buffon en términos actuales indica que para que la probabilidad de que la
varilla (o aguja) se intercepte con una de las líneas sea exactamente de 1/2, o en otras palabras
para que ambos apostadores tengan igual oportunidad, el juego debe diseñarse de tal manera
que la distancia entre las líneas dibujadas sea 4/π veces mayor que la longitud del elemento de
lanzamiento. Dado que π no presenta un valor exacto, por sus características particulares de
número irracional y trascendental, la probabilidad de 1/2 no puede conseguirse de manera
absoluta.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
DEMOSTRACIÓN DEL MÉTODO
Haciendo un análisis general del problema. La probabilidad de intersección de la aguja con una
de las líneas paralelas puede ser determinada de manera más sencilla e inmediata que la
sugerida por Buffon, al considerar la herramienta del cálculo analítico.
Si se desea averiguar si la aguja toca una de las paralelas, es preciso "localizarla" en el plano,
en términos de fijar en él su posición. Se designa entonces a Y como la distancia entre el punto
medio de la aguja y la paralela más próxima, y θ como el ángulo agudo formado entre la aguja,
o su prolongación dicha paralela. Estos nuevos parámetros están obviamente acotados así:
0 ≤ 𝑌 ≤ 𝐷/2 0 ≤ θ ≤ 𝛑
𝐿
𝑌 < sin 𝜃
2
𝜋𝐿
∫0 2 sin 𝜃 𝑑𝜃 2𝐿
𝑝= =
𝐷 𝜋𝐷
( 2 ) (𝜋)
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
RESULTADO EN PYTHON
A continuación, se pondrá una captura del código del programa y se explicará cómo es que
funciona:
El programa tiene tres modalidades, las cuales se intercambian editando el código a fin de que
no haga unas acciones, pero siga haciendo otras. La primera modalidad es la de valor, la cual
no imprime ningún valor dentro del proceso excepto el valor estimado final, la segunda
modalidad es lista la cual registra el valor estimado dentro de cada iteración y la tercera
modalidad es la gráfica la cual ejecuta otra ventana con un plano cartesiano trazando dos
curvas, una que es la constante π y otra que registra los valores estimados de todo el proceso.
Ahora, con mero fin ilustrativo, se adjuntarán una tabla con los límites del programa, cuanto
tarda en correr el programa y el intervalo de error junto con capturas de los resultados de los
programas en las tres modalidades.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
CAPTURAS DE RESULTADOS
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
CONFIABILIDAD DE RESULTADOS
Aguja de Buffon
100.000%
90.000%
80.000%
70.000%
60.000%
50.000%
40.000%
30.000%
20.000%
10.000%
0.000%
3.1408 3.141 3.1412 3.1414 3.1416 3.1418 3.142 3.1422 3.1424
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
MÉTODO DE MONTECARLO
ANTECEDENTES
“Enrico Fermi, en los años 30, realizaba una investigación sobre neutrones y sus noches de
insomnio las dedicaba a intentar predecir el resultado de los próximos experimentos para
sorprender a sus colegas. Para ello utilizaba dos herramientas: muestreo estadístico y un
pequeño dispositivo mecánico para realizar sumas. En esa época, el muestreo estadístico era
una técnica poco usada por el incordio que suponía la multitud de cálculos a realizar, pero
Enrico tenía poco sueño y mucha curiosidad. No sabía que estaba usando lo que en un futuro
se denominaría un método Monte Carlo.”
El método se llamó así en referencia al Casino de Montecarlo (Mónaco) por ser “la capital del
juego de azar”, al ser la ruleta un generador simple de números aleatorios. El nombre y el
desarrollo sistemático de los métodos de Montecarlo datan aproximadamente de 1944 y se
mejoraron enormemente con el desarrollo de la computadora.
EXPLICACIÓN
𝐴𝑐𝑢𝑎𝑑𝑟𝑎𝑑𝑜 = (2𝑟)2 = 4𝑟 2
𝐴𝑐𝑖𝑟𝑐𝑢𝑙𝑜 = 𝜋𝑟 2
𝐴𝑐𝑖𝑟𝑐𝑢𝑙𝑜 𝜋𝑟 2 𝜋
= 2=
𝐴𝑐𝑢𝑎𝑑𝑟𝑎𝑑𝑜 4𝑟 4
Si realizamos la división del número total de puntos que tenemos dentro del círculo respecto al
número total de puntos que se han señalado en toda la área del cuadrado, tendremos una
aproximación del valor de π
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Para el programa que programamos, se usaron números aleatorios en un rango de 0 a 1, en
coordenadas x y y, y para saber si están dentro de la sección del círculo, usamos la distancia al
origen, calculada con ayuda del teorema de Pitágoras.
Esto, nos da una cuarta parte del círculo antes mencionado, pero el resultado es análogo, ya
que también se trata de una cuarta parte del cuadrado
RESULTADOS
Primero, importamos la librería visual, para generar la parte visual en VPython, además random
de la librería random, para generar números aleatorios en un rango de cero a uno, de la librería
math, la raíz cuadrada, que usaremos más adelante y time para que calcule el tiempo que se
tarda.
Definimos un par de variables iguales a cero, una para el número total de tiros y otra para los
que caen dentro del círculo.
Ahora, ponemos un while hasta que el número de tiros sea el de iteraciones que queremos.
Definimos las coordenadas "x" y "y" a través de random, para generar un punto aleatorio y
una variable más, para la distancia del punto con el centro del gráfico, al ya tener las
coordenadas, podemos usar para esto el teorema de Pitágoras.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Agregamos un if; si la distancia del punto es menor o igual a uno, el punto está dentro del
círculo, por lo que aumentamos en uno el contador de los puntos dentro del círculo y hacemos
que aparezca una esfera de radio 0.01 y color azul en esa posición; en caso contrario, hacemos
que la esfera sea blanca.
Para terminar, paramos el contador del tiempo, definimos que el valor de pi sea igual a los
puntos dentro del círculo entre los totales y esto por cuatro, como ya se explicó, imprimimos
pi y el tiempo transcurrido.
CONFIABILIDAD DE RESULTADOS
120.000%
Método de Montecarlo
100.000%
80.000%
60.000%
40.000%
20.000%
0.000%
3.1413 3.1414 3.1415 3.1416 3.1417 3.1418 3.1419
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
Para la parte gráfica de los programas, estos mismos fueron modificados para ajustarse a las
limitaciones de memoria RAM del equipo donde fueron ejecutados, además de que, la parte
visual no refleja el desempeño que se esperaba calcular.
CONCLUSIÓN
Con este trabajo se logró determinar que de los métodos utilizados, el método de exhaución de
Pitágoras fue el más rápido de todos, siendo que en un tiempo de 10 minutos se logran obtener
en promedio 15 cifras correctas de pi cuando en la mayor parte de las ocasiones, los demás
programas lograban calcular, en promedio 5 cifras correctas de pi.
Aunque ambos métodos probabilísticos dan resultados similares, es destacable mencionar que
el Método de Montecarlo logra aproximarse a pi en un mayor número de ocasiones, siendo que
la desviación estándar es menor que en el método de la aguja de Buffon.
En la siguiente tabla se presenta el número de veces que se obtuvo el mayor número de cifras
correctas. Todos los programas fueron ejecutados en la misma computadora, por 10 minutos
en 20 ocasiones.
Además de esto, se puede observar con los métodos deterministas que inicialmente se creía no
tendrían variación, son afectados por factores externos que afectan el rendimiento de los
programas, siendo que varían, aunque por pocos decimales los valores que se calculan no son
iguales.
Programación Científica
Comparación de diferentes Universidad Veracruzana
métodos para el cálculo de π
BIBLIOGRAFÍA
ACHERMAN, S.; “El Problema de las Agujas de Buffon. Historia de un caso de estudio en
teoría de probabilidad”, Universidad del Valle, Colombia. (2004)
GRIDGEMAN, N. T.; "Geometric probability and the number π”, Scripta Math. (1960).
THUMM, W.; "Buffon's needle: stochastic determinations of π”, Math. Teacher. (1965).
http://mathworld.wolfram.com/Pi.html.
https://en.wikipedia.org/wiki/Pi.
https://www.angio.net/pi/whypi.html
http://math.cmu.edu/~bwsulliv/basel-problem.pdf
http://lucaszanella.com/en/articles/math/basel
https://www.youtube.com/watch?v=yPl64xi_ZZA
https://en.wikipedia.org/wiki/Riemann_zeta_function
https://es.wikipedia.org/wiki/M%C3%A9todo_de_Montecarlo
https://cuantozombi.com/2012/11/17/monte-carlo/
http://www.estadisticaparatodos.es/taller/buffon/buffon.html.
http://www.math.leidenuniv.nl/~hfinkeln/seminarium/stelling_van_Buffon.pdf.
http://www.estadisticaparatodos.es/taller/aleatorios/aleatorios.html#4.
https://explorable.com/es/muestreo-probabilistico.
Programación Científica