viernes, 22 de octubre de 2010

Aproximacion Integrales: Método Montecarlo

Los métodos de montecarlo son un conjunto de métodos de aproximación y optimización basado en la computación de escenarios aleatorios para la obtención de los resultados más óptimos. Este tipo de métodos, que llevan el nombre en honor al casino de Montecarlo, son muy usados en múltiples campos de la ciencia como la física, ingeniería, finanzas, inteligencia artificial, etc.

En este post nos vamos a centrar en el método Montecarlo para la aproximación de funciones integrales definidas en un intervalo dado. El algoritmo se centra, básicamente en la generación de un número N de datos aleatorios* dentro de una superficie (coincidente con el intervalo a calcular la integral).



Una vez generados dichos N datos aleatorios, se dibuja la función a integrar en dicho intervalo. Una vez dibujada dicha gráfica, nos disponemos a calcular cada uno de los puntos aleatorios de por debajo de la función a calcular. Como último paso calculamos el área aproximada que queda por debajo de la curva (definición de integral en un intervalo dado) en relación con el área total de la superficie en donde se han dibujado los N puntos.

Es fácil de imaginarse que a mayor número de elementos generados aleatoriamente sobre la superficie mayor es la aproximación de la integral debido a que el porcentaje de puntos por debajo de la curva se acerca con mayor precisión a la superficie a aproximar.

En las imágenes mostradas a continuación se ha representado la función integral definida entre los puntos 0 y 1 de la función x^2. EL valor real de dicha integran es de 1/3. El valor calculado por el algoritmo para 500.000 puntos aleatorios es de 0.333320.


* La generación de los números aleatorios debe ser realizada uniformemente por toda la superficie S.

NOTA: Si el lector necesita o quiere el código en OCTAVE/MATLAB que escriba un comentario con su mail.