Está en la página 1de 3

Simulación Monte Carlo

El método Monte Carlo permite encontrar soluciones aproximadas a una variedad de problemas matemáticos
a través de la realización de experimentos de muestreo estadístico en una computadora. De manera un tanto
sorprendente a primera vista, el método es aplicable a problemas que no tienen absolutamente ningún
contenido probabilístico, tanto como a otros cuya estructura es inherentemente estocástica.
El método de Monte Carlo es una técnica numérica para calcular probabilidades y otras cantidades
relacionadas utilizando secuencias de números aleatorios. La importancia actual del método Monte Carlo
se basa en la existencia de problemas que tienen difícil solución por métodos exclusivamente analíticos o
numéricos, pero que dependen de factores aleatorios o se pueden asociar a un modelo probabilístico artificial.
La aparición de los métodos de Monte Carlo está basado en desarrollos matemáticos distintos, pero
relacionados:
1. El desarrollo de las probabilidades a partir del siglo XVII. A partir del estudio de los juegos de azar, el
desarrollo de la noción de variable aleatoria y de secuencia de resultados sucesivos del juego como una
secuencia de eventos aleatorios. Posteriormente (S. XIX y XX) el reconocimiento de que la esperanza de una
función de variables aleatorias continuas se expresa como una integral llevó a entender que es posible sortear
de manera aleatoria números, transformarlos de acuerdo a las reglas prescritas, y de esta forma obtener una
solución aproximada al cálculo de una integral en un problema que no tiene ningún contenido probabilístico
(como por ejemplo el cálculo aproximado de π).
2. A fines del S. XIX, el estudio de caminatas aleatorias (random walks) permitió conectar las mismas con la
solución de ecuaciones diferenciales y ecuaciones integro-diferenciales. En ese momento, la aplicación
discutida fue la solución analítica de dichas ecuaciones como forma de obtener soluciones (exactas o
aproximadas) a los problemas planteados en términos de las caminatas aleatorias.
3. En el S. XX, y particularmente vinculado al desarrollo de la energía atómica en la segunda mitad del siglo,
apareció la necesidad de resolver ecuaciones diferenciales e integrales parciales en espacios de dimensiones
muy altas, que escapaba a las herramientas numéricas existentes. La propuesta que surgió fue el revertir el
razonamiento previo, y en lugar de emplear la solución de las ecuaciones diferenciales como aproximación
de un sistema estocástico, desarrollar modelos de caminatas aleatorias de las ecuaciones a resolver, y emplear
una computadora para realizar muestras repetidas del modelo aleatorio y de esta forma obtener soluciones
aproximadas al problema original. Esta propuesta fue la que recibió el nombre de Método de Monte Carlo, y
está en la base del desarrollo posterior de la temática.
4. Un cuarto elemento, que apareció posteriormente, fue el desarrollo de la teoría de complejidad
(computacional) a partir de los años 1970. Esta teoría dio una base sólida para identificar clases de problemas
donde el cálculo exacto (o aproximado) insumía tiempos que crecían de manera exponencial; en algunos de
estos, la propia teoría ha servido para demostrar que empleando Monte Carlo es posible en tiempos
polinomiales encontrar resultados dentro de los errores de aproximación deseados.
Algoritmo
El algoritmo de Simulación Monte Carlo Crudo o Puro está fundamentado en la generación de números alea
torios por el método de Transformación Inversa, el cual se basa en las distribuciones acumuladas de
frecuencias:
Determinar la/s Variable Aleatoria y sus distribuciones acumuladas (F)
Iterar tantas veces como muestras necesitamos
Generar un número aleatorio Uniforme ( 0,1).
Determinar el valor de la V.A. para el número aleatorio generado de acuerdo a las clases que tengamos.
Calcular media, desviación estándar error y realizar el histograma.
Analizar resultados para distintos tamaños de muestra.
Números pseudoaleatorios
Métodos de generación de números pseudoaleatorios.
Un número pseudoaleatorio es un número generado en un proceso que parece producir números al azar, pero
no lo hace realmente. Las secuencias de números pseudoaleatorios no muestran ningún patrón o regularidad
aparente desde un punto de vista estadístico, a pesar de haber sido generadas por un algoritmo
completamente determinista, en el que las mismas condiciones iníciales producen siempre el mismo
resultado. Los mecanismos de generación de números aleatorios que se utilizan en la mayoría de los sistemas
informáticos son en realidad procesos pseudoaleatorios. Una de las utilidades principales de los números
pseudoaleatorios se lleva a cabo en el llamado método de Monte Carlo, con múltiples utilidades, por ejemplo
para hallar áreas, volúmenes encerradas en una gráfica y cuyas integrales son muy difíciles de hallar o
irresolubles; mediante la generación de puntos basados en estos números, podemos hacer una buena
aproximación de la superficie, volumen total, encerrándolo en un cuadrado, cubo , aunque no lo
suficientemente buena. Asimismo, también destacan en el campo de la Criptografía. Por ello se sigue
investigando en la generación de dichos números, empleando por ejemplo medidores de ruido blanco o
analizadores atmosféricos, ya que experimentalmente se ha comprobado que tienen una aleatoreidad bastante
alta.
MÉTODOS PARA GENERAR NÚMEROS PSEUDOALEATORIOS.
1. Métodos Manuales: son los métodos más simples y lentos, ejemplo de estos métodos son lanzamientos de
monedas, dados, cartas y ruletas. Los números producidos por estos métodos cumplen las condiciones
estadísticas mencionadas anteriormente, pero es imposible reproducir una secuencia generadas por estos
métodos.
2. Tablas de números aleatorios: estos números se pueden generar por medio de una hoja de cálculo o por
cualquier generador de cualquier lenguaje de programación razón por la cual su comportamiento es
totalmente determinístico.
3. Mediante el computador digital: existen tres métodos para producir números aleatorios mediante un
computador:
Provisión externa.
Generación interna a través de un proceso físico aleatorio.
Generación por medio de una regla de recurrencia.

MÉTODOS ARITMÉTICOS PARA GENERAR NÚMEROS PSEUDOALEATORIOS.


I.-Métodos de Cuadrados Medios.
El procedimiento de obtención de números pseudoaleatorios con este tipo de generador es el siguiente:
Se define una semilla.
Se eleva la semilla al cuadrado.
Dependiendo de la cantidad de dígitos que se desea tenga el número pseudoaleatorio, se toman de la
parte central del número resultante en el paso anterior el número de dígitos requeridos. Si no es posible
determinar la parte central, se completa el número agregando ceros al principio o al final.
Debe tenerse en cuenta que se desean números pseudoaleatorios entre 0 y 1, en consecuencia el resultado
se debe normalizar, es decir, si los números son de dos dígitos se normaliza dividiendo por 100, si es de
tres dígitos por mil y así sucesivamente.

II.- Método de Producto medio


Este método es un poco similar al anterior pero se debe comenzar con dos semillas cada una con k dígitos, el
número resultante se toma como las cifras centrales del producto de los dos números anteriores.
Métodos congruenciales.
III.- Método del producto medio modificado
Consiste en usar una constante multiplicativa en lugar de una variable. Es decir Xn+1 = (K*Xn). Debe notarse
que los métodos anteriores tienen periodos relativamente cortos, los cuales son afectados grandemente por
los valores iniciales que se escojan, además son estadísticamente insatisfactorios. También debe tenerse en
cuenta que un generador con un periodo corto no sirve para hacer un número considerado de ensayos de
simulación.
IV.-Métodos Congruenciales
El generador congruencial lineal (G.C.L.) fue propuesto por D.H. Lehmer en 1949 y consiste en, a partir de
un número inicial llamado semilla (X0), generar la secuencia por recurrencia usando la ecuación:
Xn+1 =(a *Xn +c) mod M que representa la relación fundamental de congruencia.
Se han desarrollado básicamente tres métodos congruenciales para generar números pseudoaleatorios, los
cuales se derivan del empleo de diferentes versiones de la relación fundamental de congruencia. El objetivo
de cada uno de los métodos es la generación en un tiempo mínimo, de sucesiones de números aleatorios con
periodos máximos. Los métodos congruenciales son: el aditivo, el multiplicativo y el mixto.
1. Método Congruencial Aditivo: calcula una sucesión de números pseudoaleatorios mediante la relación
Xn+1= Xn + Xn-k *(mod M). Para usar este método se necesitan k valores iniciales, siendo k entero. Las
propiedades estadísticas de la secuencia tienden a mejorarse a medida que k se incrementa. Este es el único
método que produce periodos mayores que M.
2. Método Congruencial Multiplicativo: calcula una sucesión Xn de enteros no negativos, cada uno de los
cuales es menor que M mediante la relación Xn+1= a*Xn (mod M). Es un caso especial de la relación de
congruencia en que c = 0, este método se comporta de manera satisfactoria estadísticamente, es decir, los
números generados por medio de este método están uniformemente distribuidos, y no están correlacionados.
Este método tiene un periodo máximo menor que M, pero se pueden imponer condiciones en a y X 0 de tal
forma que se obtenga el periodo máximo. Desde el punto de vista computacional es el más rápido de todos.
3. Método Congruencial Mixto o Lineal: los generadores congruenciales lineales generan una secuencia de
números pseudoaleatorios en la cual el próximo número pseudoaleatorio es determinado a partir del último
número generado, es decir, el número pseudoaleatorio Xn+1 es derivado a partir del número pseudoaleatorio
Xn . La relación de recurrencia para el generador congruencial mixto es :
Xn+1 =(a *Xn +c) mod M, en donde:
• X0 = es la semilla
• a = factor multiplicador
• c = constante aditiva
• M = el modulo (M > X0, a, c)
• X0, a, c >0

También podría gustarte