Está en la página 1de 3

MTODO DE MONTECARLO

El mtodo Montecarlo es un mtodo numrico que permite resolver problemas fsicos y matemticos mediante la simulacin de variables aleatorias. Lo vamos a considerar aqu desde un punto de vista didctico para resolver un problema del que conocemos tanto su solucin analtica como numrica. El mtodo Montecarlo fue bautizado as por su clara analoga con los juegos de ruleta de los casinos, el ms clebre de los cuales es el de Montecarlo, casino cuya construccin fue propuesta en 1856 por el prncipe Carlos III de Mnaco, siendo inaugurado en 1861.

La importancia actual del mtodo Montecarlo se basa en la existencia de problemas que tienen difcil solucin por mtodos exclusivamente analticos o numricos, pero que dependen de factores aleatorios o se pueden asociar a un modelo probabilstica artificial (resolucin de integrales de muchas variables, minimizacin de funciones, etc.). Gracias al avance en diseo de los ordenadores, clculos Montecarlo que en otro tiempo hubieran sido inconcebibles, hoy en da se presentan como asequibles para la resolucin de ciertos problemas. En estos mtodos el error ~ 1/N, donde N es el nmero de pruebas y, por tanto, ganar una cifra decimal en la precisin implica aumentar N en 100 veces. La base es la generacin de nmeros aleatorios de los que nos serviremos para calcular probabilidades. Conseguir un buen generador de estos nmeros as como un conjunto estadstico adecuado sobre el que trabajar son las primeras dificultades con la nos vamos a encontrar a la hora de utilizar este mtodo. En el caso que presentamos hemos hecho uso de la funcin random() incluida en la clase Math que la mquina virtual Java trae por defecto como generador. Las pruebas realizadas, algunas de las cuales se propondrn como ejercicio, verifican su calidad a la hora de calcular nmeros aleatorios sin tendencia aparente a la repeticin ordenada.

Para resolver la ecuacin elptica de nuestro problema usando el mtodo de Montecarlo, se ha dividido el recinto bidimensional en una malla cuadrada de puntos. Todos los situados en su frontera se consideran inicializados a un valor de temperatura conocido. Suponemos en principio una partcula situada en uno de los puntos y que tiene la posibilidad de moverse libremente por todos los que constituyen la malla. La nica condicin que imponemos es que en un solo salto, su movimiento se limite a los 4 nodos vecinos, los situados su izquierda, derecha, arriba o abajo. La probabilidad de elegir una cualquiera de las 4 direcciones posibles es la misma. Dejando a la partcula viajar por toda la red sin ms restricciones contamos el nmero de veces que, partiendo de un mismo punto de coordenadas (i,j) sale por cada uno de los que constituyen la frontera, momento en el cual suponemos que ha terminado su viaje. Considerando un nmero elevado de pruebas podemos calcular la probabilidad de que, partiendo de un mismo punto, salga por cada uno de los puntos del contorno despus de recorrer una trayectoria

aleatoria. Los detalles de camino seguido desde el inicio hasta el final del viaje no nos importan, tan solo nos vamos a fijar en el nmero de veces que sale del recinto por cada uno de los puntos posibles.

La temperatura a la que se encuentra el punto desde donde ha partido la partcula es la suma, extendida a todos los puntos frontera (if,jf), de la temperatura de dichos puntos (determinada por las condiciones de contorno) y por la probabilidad de que estando en (i,j) salga por (if,jf). Ver ec.(6).

Si tomamos una malla pequea de 10x10 (salvo consideraciones de simetra) hay que calcular probabilidades para 102 puntos. Una precisin razonable requerimos que para cada uno de ellos hay que calcular ~106 trayectorias aleatorias. Con slo estas estimaciones podemos aventurar que el tiempo de computacin requerido para solucionar la ecuacin de Laplace en una malla pequea va a ser superior al necesario en cualquiera de los otros mtodos propuestos.

Ejecutando nuestra aplicacin veremos como este tiempo crece rpidamente con el nmero de puntos de la malla siendo ste el factor limitante de la eficacia del mtodo. Sin embargo, el mtodo Montecarlo es sencillo y fcil de programar.

También podría gustarte