Vous êtes sur la page 1sur 15

Universidad Tecnológica Metropolitana

Facultad de Ingeniería
Departamento de Informática
Vi

Laboratorio 2
Simulación
De Sistemas
SIMULAR EL VALOR DEL NÚMERO Pi

Nombre: Yessenia Allende.

Profesor: Santiago Zapata

Fecha: 03/12/201
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Introducción

La simulación es recrear un sistema o imitar una realidad que se parezca tanto a ella sin
necesidad de serla con el fin de estimar cual sería su desempeño real, ésta implica engaño,
trampa y en la naturaleza un caso de engaño se ve en el camaleón puesto que es un animal
que se caracteriza por adoptar diferentes colores.

La simulación es una de las herramientas más importante y además es multidisciplinaria, ya


que una simulación es parecida a la realidad, pero no llega a ser realidad o si no dejaría de
ser simulación.

La simulación parece tener una cantidad infinita de aplicaciones, ya que se pueden simular
desde pequeñas piezas de un reloj hasta la evolución del universo, en este taller nos
enfocaremos en la simulación del número PI el cual lo realizaremos por dos métodos
distintos.

Historia del Número Pi

El número pi es la constante que relaciona el perímetro de una circunferencia con la


amplitud de su diámetro: Π = L/D.
Este no es un número exacto sino que es de ​los llamados irracionales​, ya que tiene infinitas
cifras decimales.
Ya en la antigüedad, se insinuó que todos los círculos conservaban una estrecha
dependencia entre el contorno y su radio pero tan sólo desde el siglo XVII la correlación se
convirtió en un dígito y fue identificado con el nombre "Pi" (deperiphereia, denominación
que los griegos daban al perímetro de un círculo).
Esta notación fue usada por primera vez en 1706 por el matemático galés William Jones y
popularizada por el ​matemático Leonard Euler ​en su obra "Introducción al cálculo
infinitesimal" de 1748. Fue conocida anteriormente como constante de Ludoph (en honor al
matemático Ludolph van Ceulen) o como constante de Arquímedes (No se debe confundir
con el número de Arquímedes).
El valor computado de esta constante ha sido conocido con diferentes precisiones en el
curso de la historia, de esta forma en una de las referencias documentadas más antiguas
como la Biblia aparece de forma indirecta asociada con el número natural 3 y en
Mesopotamia los matemáticos la empleaban como 3 y una fracción añadida de 1/8.
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Pi (π) es una de las constantes matemáticas que más aparece en las ecuaciones de la física,
junto con el número e, y es, tal vez por ello la constante que más pasiones desata entre los
matemáticos profesionales y aficionados.
Un coetáneo de Sócrates, Antiphon, inscribió en el círculo un cuadrado, luego un octógono
e ideó multiplicar la cantidad de lados hasta el momento en que el polígono obtenido
ajustara casi con el anillo.
Euclides precisa en sus Elementos los pasos al límite necesarios e investiga un sistema
consistente en doblar, al igual que Antiphon, el número de lados de los polígonos regulares
y en demostrar la convergencia del procedimiento.
Arquímedes reúne y amplía estos resultados. Prueba que el área de un círculo es la mitad
del producto de su radio por la circunferencia y que la relación del perímetro al diámetro
está comprendida entre 3,14084 y 3,14285.
En el siglo II d. de C., Ptolomeo utiliza polígonos de hasta 720 lados y una circunferencia
de 60 unidades de radio para aproximarse un poco más, y da el valor 3 + 8/60 + 30/3600 =
377/120 =3'14166...
Conforme se han desarrollado las matemáticas, en sus diversas ramas, álgebra, cálculo, etc.,
se han ido construyendo distintos artificios que permiten afinar cada vez más su valor.
Uno de los casos más curiosos de la historia fue el del matemático inglés William Shanks,
quien luego de un trabajo que le demandó casi veinte años, obtuvo 707 decimales en 1853.
Desgraciadamente, Shanks incurrió en un error en el 528º decimal, y a partir de éste están
todos mal.
Desde esa fecha hacia delante, se han consignado los siguientes resultados en la búsqueda
de un valor para Pi:
-Ferguson, en 1947, obtuvo un valor con 808 decimales.

-Usando el computador Pegasus, en 1597, se logró una cifra con 7.840 decimales.

-Más tarde, en 1961, usando un computador IBM 7090, se logró llegar a 100.000

decimales.

-Luego, en 1967, con un CDC 6600, se llegó a 500.000 decimales.

-En 1987, con un Cray-2, se obtuvo una cifra con 100.000.000 decimales para Pi..
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

-Finalmente, en 1995, en la Universidad de Tokio, se llegó a un valor de pi de 3,14… y se

le agregan 4.294.960.000 de decimales

Descripción del problema

Usando el método de simulación de Montecarlo, Buffon y otros (mínimo dos), simular


el valor del número pi.

Algoritmos de simulación

Método de Montecarlo:

Este método es un método no determinístico o estadístico numérico, usado para


aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud. El
método se llama así en referencia al Casino de Montecarlo 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 Monte Carlo datan aproximadamente de 1944 y se
mejoraron enormemente con el desarrollo de la computadora.

El uso de los métodos de Monte Carlo como herramienta de investigación proviene del
trabajo realizado en el desarrollo de la bomba atómica durante la Segunda Guerra
Mundial en el Laboratorio Nacional de Los Álamos en Estados Unidos. Este trabajo
conllevaba la simulación de problemas probabilísticos de hidrodinámica concernientes a
la difusión de neutrones en el material de fisión. Esta difusión posee un comportamiento
eminentemente aleatorio. En la actualidad es parte fundamental de los algoritmos de
Raytracing para la generación de imágenes 3D.

Este método proporciona soluciones aproximadas a una gran variedad de problemas


matemáticos posibilitando la realización de experimentos como muestreos de números
pseudoaleatorios en una computadora. El método es aplicable a cualquier tipo de
problema, ya sea estocástico o determinista. A diferencia de los métodos numéricos que
se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una
solución aproximada, el método de Monte Carlo

tiene un error absoluto de la estimación que crece como en virtud del teorema
del límite central.
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Ejemplo:
Si deseamos reproducir, mediante números aleatorios, la tirada sucesiva de una
moneda, debemos previamente asignarle un intervalo de números aleatorios a CARA y
otro a CRUZ, de manera de poder interpretar el resultado de la simulación. Tales
intervalos se asignan en función de las probabilidades de ocurrencia de cada cara de la
moneda. Tenemos así:

CARA probabilidad: 0,50 Números aleatorios: 0,000 al 0,499

CRUZ probabilidad: 0,50 Números aleatorios: 0,500 al 0,999

Después, al generar un número aleatorio a partir de la función RAN de la calculadora,


por ejemplo, obtenemos el resultado simulado. Así, si obtenemos un número aleatorio
0,385 observamos que está incluido en el intervalo asignado a CARA.
En otras aplicaciones, se asocian intervalos de números aleatorios según las
probabilidades de ocurrencia de los eventos a simular.

​Método de la Aguja de Buffon:

Es un clásico problema de probabilidad geométrica de realización práctica y cuyo interés


radica en que es un método difícil para ir aproximando el valor de un número pi a partir
de sucesivos intentos . Fue planteado por el naturalista francés Buffon en 1733 y
reproducido por él mismo ya resuelto en 1757. Se trata de lanzar una aguja sobre un
papel en el que se han trazado rectas paralelas distanciadas entre sí de manera uniforme.
Se puede demostrar que si la distancia entre las rectas es igual a la longitud de la aguja,
la probabilidad de que la aguja cruce alguna de las línea es 2/ pi

De esta manera pi = 2N / A siendo N el número total de intentos y A el número de


veces que la aguja ha cruzado alguna línea.

Si la aguja es más corta que la distancia entre las rectas la probabilidad disminuye
proporcionalmente al cociente entre la longitud de la aguja y la distancia entre rectas
tomando el valor 2L / (D* pi) donde L es la longitud de la aguja y D la interdistancia
entre las rectas.

En este caso pi = 2NL / AD

La tercera situación, en que la longitud de la aguja es mayor que la distancia entre las
rectas lleva un resultado bastante más complicado.
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Una generalización obvia de este problema es el problema de la Aguja de


Buffon-Laplace, donde la aguja, en vez de lanzarse sobre un papel rayado, se lanza sobre
una cuadrícula. Se llama de

Buffon- Laplace pues aunque Buffon lo resolvió en 1777, su solución contenía un


error que fue corregido por Laplace en 1812

Planteamiento del problema:

Sea una aguja de longitud L lanzada sobre un plano segmentado por las líneas
paralelas separadas T unidades ¿Cuál es la probabilidad que la aguja cruce
alguna línea?
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Códigos de los métodos usados para los cálculos


Simulación de Buffon:

#include <iostream>

#include <stdlib.h>

#include <math.h>

#define PI

3.14159265 using

namespace std;

int main(){

int contar=0;

float veces_corto=0,hilo,separacion,pruebas,aleatorio_x,aleatorio_y,dptomed,aprox;

double angulo, pi;

cout<<"longitud de hilo";

cin>>hilo;

cout<<"distancias de las lineas";

cin>> separacion;

cout<<"cantidad de pruebas";

cin>>pruebas;

while (contar < pruebas){

aleatorio_x = rand() * 1.0 / RAND_MAX;

aleatorio_y = rand() * 1.0 / RAND_MAX;


Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

dptomed=(separacion/2)*aleatorio_x;

angulo=2.4310*PI*aleatorio_y;

if(dptomed> (hilo/2*sin(angulo))){

veces_corto++;

contar++;

cout<<"la aguja corta"<<ends<<veces_corto<<ends<<"veces"<<endl;

aprox=(2*hilo)/((veces_corto*separacion)/pruebas);

cout<<"el valor aproximado es "<<ends<<aprox<<endl;

system("pause");

}
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Simulación de Monte Carlo:

#include <iostream>

#include <stdlib.h>

#include <math.h>

#define PI
3.14159265 using
namespace std;

int main(){

int contar=0;

float veces_corto=0,hilo,separacion,pruebas,aleatorio_x,aleatorio_y,dptomed,aprox;

double angulo, pi;

cout<<"longitud de hilo";

cin>>hilo;

cout<<"distancias de las lineas";

cin>> separacion;

cout<<"cantidad de pruebas";

cin>>prueba

while (contar < pruebas){

aleatorio_x = rand() * 1.0 / RAND_MAX;

aleatorio_y = rand() * 1.0 / RAND_MAX;

dptomed=(separacion/2)*aleatorio_x;

angulo=2.4310*PI*aleatorio_y;

if(dptomed> (hilo/2*sin(angulo))){

veces_corto++;
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

contar++;

cout<<"la aguja corta"<<ends<<veces_corto<<ends<<"veces"<<endl;

aprox=(2*hilo)/((veces_corto*separacion)/pruebas);

cout<<"el valor aproximado es "<<ends<<aprox<<endl;

system("pause");

Cabe mencionar que en ambos programas la forma de obtener los números aleatorios es
con la función Random del lenguaje C. Su sintaxis es rand () y entrega por si sola
números entre 0 y 2.147.483.647 y si se desea restringir la cantidad de números se puede
hacer por ejemplo:

Rand () % 101 (con esto retornará números entre 0 y 100), pero en estos dos ejemplos
dejamos que retornara libremente los números.
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Resultados:

Método de Montecarlo

Tabla:

Cantidad De Puntos Resultado


1375 2,91491
13756 3,09945
298456 3,14032
3748574 3,14012

Imágenes de los resultados obtenidos en el programa:


Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Método de Buffon

Tabla:

Largo de Hilo Distancia de Líneas Cantidad de Pruebas Resultados


4 3 1000 4.65387
6 4 12345 5,39869
8 5 235634 5,92734
12 12 23167 3,13004

Imágenes de los resultados obtenidos en el programa:


Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática
Universidad Tecnológica Metropolitana
Facultad de Ingeniería
Departamento de Informática

Conclusión

Al finalizar este taller y a la luz de lo expuesto se puede decir que el cálculo del número
pi es bastante complejo y el interés de conocer su valor viene desde la antigüedad hasta
nuestros días y en cada época a tenido una representación distinta pero siempre muy
cercana, y con los algoritmos expuestos en este trabajo (método de Buffon y método de
Montecarlo) se puede llegar a una aproximación cercana a la real, aunque a la luz de los
resultados obtenidos este se obtiene con más exactitud con el método de Montecarlo

Bibliografia

http://www.profesorenlinea.cl/matematica/Numero_Pi.htm

https://es.wikipedia.org/wiki/N%C3%BAmero_%CF%80