Subscribe:

Blogroll

sábado, 12 de noviembre de 2011

Montecarlo Aplicado a las Computadoras

Hemos estado hablando acerca de que es simulación, que es Montecarlo, cual es el procedimiento de éste, pero ahora nos vamos a conocer acerca de uno de los software utilizados para simular con el método Montecarlo. El software del que hablaremos lleva por nombre SimulAr.
SimulAr fue creado en Argentina por Luciano Machain, el cual fue diseñado para el análisis y toma de decisiones que involucran cierto grado de riesgo. Este software funciona como un complemento para Excel y resulta fácil de usarlo.

La base de este programa es el método de simulación Montecarlo, del cual hemos estado hablando en las distintas entradas de este blog.
Como mencionamos anteriormente, la simulación de sistemas nos permite analizar situaciones que  no serian posibles observar en el sistema real. Por eso este software nos ayuda junto con la simulación Montecarlo a analizar los distintos riesgos que se nos podrían presentar en el sistema pero que no se nos es posible observar en el medio natural del sistema.

Este software se podría decir que es gratuito ya que el desarrollador permite que cualquiera pueda descargarlo, sólo pone una condición, que se le envíe un correo con comentarios acerca del uso del software, el fin con que se va a utilizar, y que si creamos un modelo de simulación Montecarlo, se lo enviemos de manera que así como nosotros comprendimos la simulación Montecarlo y como esta funciona con el software, otros logren comprender la maravillosa técnica de la simulación.

En este link podemos observar varios screenshot de como luce el programa a la hora de utilizarlo, y lo primero que solicita, lo cual es la distribución de la probabilidad deseada.

Variantes del Método de Montecarlo

Como hemos abordado en artículos anteriores el Método de Montecarlo es un método matemático de naturaleza estocástica, es decir, que con una misma entrada ofrece muchos posibles resultados. No se puede saber de antemano cuál será el resultado de su ejecución, por lo tanto es producto del azar.
Este método es utilizado en diferentes áreas de estudio de las matemáticas y hoy nos centraremos en explicar paso a paso como se resuelven estos tipos de problemas:

1. Integración de Montecarlo: Se utiliza para encontrar una evaluación aproximada de una integral definida, normalmente de integrales múltiples. Los casos de Integración de Montecarlo más estudiados son:

a.   Área Bajo una Curva: Consiste en encontrar el valor del área que encierra el límite de la curva y el del plano donde ésta se proyecta. Se desea generar las coordenadas de un punto dentro del espacio mediante números aleatorios tratando de determinar si cada uno de los puntos cae o no dentro del área definida por la integral. Los pasos a seguir son:
i)        Calcular el área de una figura conocida que contenga el área de la función que queremos integrar.  Generalmente se usan rectángulos o cuadrados. Ésta área será considerada como un blanco donde se lanzan dardos, siendo su distribución totalmente uniforme sobre ella.


ii)      Se utilizará la siguiente igualdad para representar el lanzado de los dardos en el área de la función a integrar.
                                                     n= Pa * N
Donde el lanzamiento de los dardos va ser simulado por los números aleatorios, definidos por la variable N, la cantidad de aciertos se representa por la variable n y la probabilidad de que “los dardos” caigan sobre el área como Pa.


iii)  Dado el caso de que la cantidad de dardos lanzados sea igual al área que contiene la curva se puede decir que:
                       Área buscada= Pa * Área que contiene la curva
Despejando la primera ecuación obtendremos: Pa= n/N
De modo que la ecuación real para encontrar el área bajo la curva sería:
         Área buscada= n/N * Área que contiene la curva


b.   Cálculo de la Integral: Se realiza a través de la generación de
números aleatorios.
i)   Se genera un número aleatorio al que llamaremos r1, que va en el  rango entre 0 y 1.

ii)  Dicho número aleatorio se reemplazará en la siguiente ecuación, permitiendo que la abscisa se encuentre dentro de los límites del área que contiene la curva.            
                                               Xi= r1 * (B-A) + A

iii)   Luego la abscisa Xi se evalúa en la función que representa la curva.

iv)  Después se genera un segundo número aleatorio r2, bajo las mismas condiciones de r1.

v)   Dicho número aleatorio se reemplaza en la siguiente ecuación, con  el fin de obtener una ordenada.   Yi= r2 * f(max)
                       
vi)   Se compara la función que representa la curva con Yi Si Yi resulta menor o igual  a la función que representa la curva , se considera como un acierto.  De lo contrario, se toma como fracaso.

vii)  Se repiten N veces los pasos anteriores.

viii) Se divide el número de aciertos contados entre el número el total de de pruebas realizadas para obtener el valor de la probabilidad Pa.
                                               Pa= n/N

ix)   Luego, se multiplica la probabilidad por el área que contiene la curva para obtener el área buscada.

          Área buscada= Pa * Área que contiene la curva


c.   Cálculo π  de por el Método de la Aguja de Bufon: Este método se puede llevar a cabo mediante el proceso de lanzar una aguja de longitud L, un  número N de veces sobre una superficie plana que contiene un conjunto de líneas  paralelas separadas por una distancia D,  tal que D  > L.  Este proceso se repetirá n veces contando cada una de las veces que la aguja intersecte alguna de las líneas.

    i)   Determinar la longitud L de la aguja y el número de lanzamientos   N.

ii)   Obtener de una tabla o generar un número aleatorio.

iii)   Multiplicar este número aleatorio por L/2 para obtener la distancia X del centro de la aguja a la línea.

iv)   Obtener otro número aleatorio.

v)    Multiplicar dicho número aleatorio por p para obtener el ángulo q formado por la aguja y la línea.

vi)   Calcular el valor de  y=L/2 sen q

 vii)  Si el valor de X es menor o igual al de Y se cuenta como acierto.

 viii)  Repetir N veces los pasos 2 a 7.

  ix)  Calcular el valor de p a partir de las siguientes fórmulas:
                      π= N/n                 ó                     π=1/Pa