Blog de Ayoze
...I rather be dead than being so lame...

Búsqueda por etiqueta:

Matemáticas



Lunes, 12-05-2008 ( 14:05 )

Catástrofe

Leo en El País que un terremoto de magnitud 7.8 ha asolado parte de China. Por ahora se han contabilizado unos 100 muertos y 900 estudiantes han quedado sepultados.
El terremoto hizo temblar Asia desde Pekín a Bangkok y Hanoi.

¡HANOI! ¡Las torres!

¿Qué habrá pasado con ellas? ¿Y con los monjes? Tantos y tantos años los pobres ordenando piedras... ¿Se habrán caído? ¿Cuándo llegará el fin del mundo ahora? ¿Necesitaremos un superordenador para resolverlo?

Si no sabes de lo que hablo: WikiPedia: Torres de Hanoi


Jueves, 24-04-2008 ( 00:04 )

Jugando con PI

Hace unos días leí en Gaussianos un artículo sobre técnicas para aproximar el número PI (3.141592...)

La mayoría de ellas consistían en sumas de series de potencias o sucesiones recursivas, pero, mirando entre los comentarios, me topé con una que me llamó la atención. Decía algo así:

Tomando un cuadrado de lado l = 2 unidades, cuya área será l*l = 4 unidades^2 y una circunferencia inscrita en él (por tanto de radio r = 1 unidad) de área, por tanto, pi*r^2 = pi*1 = pi. Si fabricásemos una diana bajo estas condiciones y nos liásemos a tirar dardos de forma aleatoria, la probabilidad de que cayeran dentro del círculo sería PI/4 (por la relación entre las áreas).
Por tanto, tenemos que la relación entre dardos dentro del círculo, y dardos lanzados, tendería a PI/4, de donde podemos despejar PI de la forma:

PI -> (dardos_en_el_circulo / dardos_lanzados) * 4

Por tanto, se puede decir que, para muchos dardos lanzados, esa relación tendería a PI.


Pues bien, como no tengo ni diana, ni miles de dardos, ni ganas de tirarme meses lanzando y apuntando resultados (aparte de que no sería aleatorio), hice un pequeño script de simulación del que dejo unas capturas para diferentes valores de dardos_lanzados ("n" en las capturas). El color verde identifica los dardos que cayeron dentro de la diana, y los rojos los que cayeron fuera:









Como vemos, la relación calculada cada vez se parece más al número PI conocido por todos.

También dejo por aquí la función para calcular el valor de PI aproximado para "$shots" tiradas de dardos:


//Función que devuelve un float aleatorio entre "min" y "max"
//Sacada de php.net
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}

//Función que aproxima el valor de PI por el método antes mencionado.
//Toma como parámetro el número de lanzamientos
function aproxima_pi($shots) {
$in = 0;
for ($i = 1; $i <= $shots; $i++) {
$x = random_float(-1, 1);
$y = random_float(-1, 1);

if (($x*$x + $y*$y) <= 1) {
$in++;
}
}
return (($in/$shots) * 4);
}




Pues esto es todo, sé que es una frikada, pero... ¿No es tremendamente ingenioso y curioso? Será que yo soy raro, pero a mí me lo pareció :P

¿A alguien se le ocurre otra manera de aproximar a nuestro amigo PI?



WebLog by Ayoze | PHP & MySQL | Sección Interna