Samuel M.H. 's technological blog

Saturday, February 20, 2010

Cálculo probabilístico de PI

El cálculo del número PI, la relación entre la longitud de una circunferencia y su diámetro, es algo que ha traído de cabeza a los matemáticos desde hace tiempo. Existen muchos métodos para calcularlo, pero si por algo me gusta éste es por ser aleatorio y extremadamente simple.

La gracia está en que yo tengo una diana (de área A(diana)), un círculo perfecto, puesta sobre una pared rectangular (de área A(pared)). Y tiro dardos ALEATORIAMENTE...

Es SEGURO que voy a dar en la diana o en la pared, en el área A(pared), es decir, la probabilidad es 1 P(pared)=1.
Lo que no es seguro es que dé en la diana, P(diana) es una incógnita.

¿Y dónde está aquí PI?
PI está en cómo se calcula P(diana), obviamente cuanto más grande sea la diana con respecto a la pared, más fácil será será que caiga un dardo en su interior. ¡¡Es un problema de áreas!!

A(diana) = radio^2*PI
A(pared) = lado1*lado2

Matemáticamente queda:
(radio^2*PI) / (lado1*lado2) = P(diana)

De esta ecuación no conocemos ni PI ni P(diana). Entra en juego el ordenador, vamos a simular P(diana) generando coordenadas (x,y) aleatoriamente y viendo si caen dentro de la diana. También se puede hacer a mano tirando dardos, pero el tiempo perdido no compensa el resultado a menos que tengas unos cuantos millones de esclavos y paciencia. La estadística nos dice que cuantas más tiradas hagamos más certero será el valor de P(diana).

P(diana) = número de aciertos en la diana / número de tiradas

Hay que tener en cuenta que los ordenadores manejan números discretos, se llevan mal con los números periódicos, raíz de dos, etc y... PI, así que cuanto más grande sea la diana, más perfecta será su curva y más preciso será el valor calculado. Simplificamos todo el problema reduciéndolo a una pared cuadrada y una diana inscrita en ella. diámetro de la diana = lado del cuadrado.


Despejamos PI
r es el radio de la diana
r*2 es el lado del cuadrado

PI = ( P(diana)*((r*2)^2) ) / (r^2)

PI = P(diana)*4


Tengo un guión en python que simula el proceso pero no sé si merece la pena subirlo.


PRUEBAS:







Y la última, sin simulación gráfica.
Total: 10000000
Aciertos: 7854144
Estimación de PI: 3.1416576


¡Saludos a todos!

No comments:

Post a Comment

Copyright © Samuel M.H. All rights reserved. Powered by Blogger.