Método de Montecarlo .

                        El método Montecarlo es un método numérico que permite resolver problemas físicos y matemáticos mediante la simulación de variables aleatorias. Lo vamos a considerar aquí desde un punto de vista didáctico para resolver un problema del que conocemos tanto su solución analítica como numérica. El método Montecarlo fue bautizado así por su clara analogía con los juegos de ruleta de los casinos, el más célebre de los cuales es el de Montecarlo, casino cuya construcción fue propuesta en 1856 por el príncipe Carlos III de Mónaco, siendo inaugurado en 1861.

                        La importancia actual del método Montecarlo 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ística artificial (resolución de integrales de muchas variables, minimización de funciones, etc.). Gracias al avance en diseño de los ordenadores, cálculos Montecarlo que en otro tiempo hubieran sido inconcebibles, hoy en día se presentan como asequibles para la resolución de ciertos problemas. En estos métodos el error ~ 1/√N, donde N es el número de pruebas y, por tanto, ganar una cifra decimal en la precisión implica aumentar N en 100 veces. La base es la generación de números aleatorios de los que nos serviremos para calcular probabilidades. Conseguir un buen generador de estos números así como un conjunto estadístico adecuado sobre el que trabajar son las primeras dificultades con la nos vamos a encontrar a la hora de utilizar este método. En el caso que presentamos hemos hecho uso de la función random() incluida en la clase Math que la máquina virtual Java trae por defecto como generador. Las pruebas realizadas, algunas de las cuales se propondrán como ejercicio, verifican su calidad a la hora de calcular números aleatorios sin tendencia aparente a la repetición ordenada.

                        Para resolver la ecuación elíptica de nuestro problema usando el método 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 partícula situada en uno de los puntos y que tiene la posibilidad de moverse libremente por todos los que constituyen la malla. La única condición 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 partícula viajar por toda la red sin más restricciones contamos el número 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 número elevado de pruebas podemos calcular la probabilidad de que, partiendo de un mismo punto, salga por cada uno de los puntos del contorno después 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 número 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 partícula 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 pequeña de 10x10  (salvo consideraciones de simetría) hay que calcular probabilidades para 102 puntos. Una precisión razonable requerimos que para cada uno de ellos hay que calcular ~106 trayectorias aleatorias. Con sólo estas estimaciones podemos aventurar que el tiempo de computación requerido para solucionar la ecuación de Laplace en una malla pequeña va a ser superior al necesario en cualquiera de los otros métodos propuestos.

                        Ejecutando nuestra aplicación veremos como este tiempo crece rápidamente con el número de puntos de la malla siendo éste el factor limitante de la eficacia del método. Sin embargo, el método Montecarlo es sencillo y fácil de programar.