Liliana Grande Lamela
ICCP. Project Manager en Norvento Enerxia.
Voluntaria del PMI Capítulo de Madrid
La base probabilística del método es la generación de una buena secuencia de números aleatorios
El método Monte Carlo se configura como una herramienta de modelado y simulación del proceso “Realizar el Análisis Cuantitativo de Riesgos”. Este método no determinista o estadístico numérico, que debe su nombre a la capital del juego al azar, se usa para aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud. Su uso como herramienta de investigación, se remonta al desarrollo de la bomba atómica en la Segunda Guerra Mundial (Laboratorio Nacional de los Álamos-EEUU).
En el método Monte Carlo se combinan conceptos estadísticos como es el muestreo aleatorio, con la generación de números aleatorios y la automatización de los cálculos. Es un procedimiento matemático que consiste en la generación numérica de series mediante un muestreo aleatorio de las distribuciones de probabilidad. Es aplicable a cualquier tipo de problema, ya sea estocástico o determinista.
La base probabilística del Método Monte Carlo es la generación de una buena secuencia de números aleatorios. Dos generadores aleatorios independientes deben proporcionar estadísticamente el mismo valor promedio de salida y han de ser independientes entre sí, e independientes del resto de números aleatorios de la secuencia.
En 1927 tuvo lugar el primer intento de dotar a los investigadores con un suministro de dígitos aleatorios, cuando el Cambridge University Press publicó una tabla con 41.600 dígitos desarrollados por Leonard H.C. Tippet. Hasta ese momento, los investigadores que necesitaban secuencias de números aleatorios tenían que generarlos ellos mismos mediante el uso de dados, ruletas,…
En 1947 la RAND Corporation generó una secuencia de números a partir de una simulación electrónica de una rueda de ruleta. Los resultados fueron publicados con el nombre de “A Million Random Digits with 100.000 Normal Deviates” en 1955.
John von Neumann fue pionero en la investigación de los generadores de números aleatorios. Neumann ideó una forma “tosca” de generar números pseudoaleatorios, utilizando el método middle-square. Aunque está demostrado que este método no es del todo fiable, Neumann era consciente de esto y justificó su uso basándose en la rapidez que presentaba en términos de tiempo computacional.
Para llevar a cabo el método desarrollado por Neumann, se parte de una semilla inicial: un número entero de 2n cifras al que llamaremos X0. Se eleva la semilla inicial al cuadrado y se toman los 2n dígitos centrales, que servirán para formar el primer número y para continuar calculando números pseudoaleatorios. A continuación se incluye un ejemplo:
- Partimos de la semilla inicial Xo=3456.
- Calculamos Z=(X0)2 =11943936, obteniendo así un número de hasta 4n cifras. Si fuese necesario se añadirían ceros a la izquierda para que el número resultante tenga exactamente 4n cifras.
- Se toman los 2n dígitos centrales, es decir, X1=9439.
- El primer número pseudoaleatorio es X1/102n, es decir 0,9439.
- La nueva semilla es X1=9439 y comenzará de nuevo el proceso para crear otro número pseudoaleatorio.
Este método describe la forma más sencilla de obtener números pseudoaleatorios que corresponden a una distribución uniforme, aunque presenta dos inconvenientes principales:
- Presenta una fuerte tendencia a degenerar a cero rápidamente (compruébese por ejemplo con X0=1009).
- Tiene un ciclo de repetición muy corto.
Actualmente para obtener una secuencia aleatoria se utilizan los llamados generadores congruenciales lineales, que fueron introducidos por Derrick Henry Lehmer en 1951.
Un método congruencial comienza con un valor inicial (semilla) X0 y los sucesivos Xn (n≥1), se obtienen con la siguiente formulación:
Xn=aXn-1+b módulo m
donde a, m y b son enteros positivos que se denominan respectivamente, el multiplicador, el módulo y el incremento.
Si b=0, el generador se denomina multiplicativo; en caso contrario, se denomina mixto.
La sucesión de números pseudo-aleatorios Un, con n≥1 se obtiene como:
Ui=Xi/m
Los principales inconvenientes que presenta son los siguientes:
- No se trata de una sucesión en absoluto aleatoria. En el caso de que se elijan los parámetros iniciales cuidadosamente, la sucesión {Un} podría ser semejante a una sucesión de números aleatorios.
- Teniendo en cuenta los posibles valores que puede tomar Ui, para que la sucesión se asemeje a una variable continua uniforme en un determinado intervalo, m ha de tomar valores suficientemente grandes (m≥109) como para que el conjunto de posibles valores sea suficientemente denso en dicho intervalo.
Este es el primer artículo de una serie en la que se tratarán diferentes métodos de generación de números aleatorios. En el próximo artículo se analizarán, entre otros, el Método Polar y el Método de Rechazo.