Integración de Montecarlo

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En matemáticas, y más concretamente en análisis numérico, se conocen como métodos de Montecarlo a una serie de métodos de integración numérica que se basan en la utilización de números pseudoaleatorios.

Es decir, los métodos de integración de Montecarlo son algoritmos para encontrar una evaluación aproximada de una integral definida, normalmente de integrales múltiples. Los algoritmos deterministas de integración numérica, para aproximar la integral, evalúan la función en un conjunto de puntos correspondientes a una parrilla regular o en un conjunto de puntos predefinidos. En cambio, los métodos de Montecarlo eligen de forma aleatoria los puntos en los que se evaluará la función. La integración de Montecarlo forma parte de una familia de algoritmos llamados genéricamente métodos de Montecarlo. Estos algoritmos utilizan números aleatorios para resolver diferentes tipos de problemas matemáticos y reciben su nombre debido al casino de Montecarlo

Algoritmo[editar]

Sea la integral definida en un intervalo [a,b] de \int^b_a\! f(x)dx , siendo f(x) una función de mucha dificultad para integrar; se hace el siguiente cambio de variable y=\frac{x-a}{b-a},  dx=dy(b-a) y se sustituye en la función a integrar definida \int^b_a\! f(x)dx quedando una función a integral definida en un intervalo [0,1] de la forma \int^1_0\! h(y)dy, con h(y)=f(y(b-a)+a)(b-a).

Luego se generan las variables aleatorias u_i, n de veces se quiera por medio de la siguiente fórmula (generador congruencial de números pseudo-aleatorios): x_{n+1}=(px_{n}+q)\bmod m donde x_n es la semilla, q es el incremento, p es el multiplicativo y m es el módulo; con p\neq x_n. Estos valores se toman al azar y se van obteniendo los x_{n+1}, las n veces que se requiera.

Cuando tengamos los x_{n+1} se comienza a generar los u_i por esta fórmula u_i=\frac{x_{i}}{m}, donde inicialmente i=1, es decir u_1=\frac{x_{1}}{m}, u_2=\frac{x_{2}}{m}, así sucesivamente. Los números u_i obtenidos son números aleatorios en un intervalo [0,1], que se van a sustituir en la fórmula siguiente: \frac{b-a}{n}\sum^n_{i=1}\! f(u_i(b-a)+a)\simeq \int^b_a\! f(x)dx

Mientras más grande sea n, más exacta es la aproximación. Es decir:

\lim_{n\to\infty}\frac{b-a}{n}\sum^n_{i=1}\! f(u_i(b-a)+a)=\int^b_a\! f(x)dx

Ejemplo[editar]

A través de un ejemplo se ilustrará el método. El proceso consiste en calcular el área encerrada por una línea cerrada cualquiera que está incluida en un cuadrado de lado unitario (y área unitaria).

Al generar puntos al azar (mediante dos números aleatorios) se calcula la fracción que se establece entre la cantidad de puntos que caen dentro del área asociada a la curva y la cantidad total de puntos (o puntos en el cuadrado).

Supongamos que el área a calcular es un cuarto de círculo, de radio unitario, que está dentro de un cuadrado de lado unitario. La fracción será:


(Área del {}^1/_4 círculo)/(Área del cuadrado unitário [0,1]\times [0,1])=(Puntos en el {}^1/_4 de círculo)/(Puntos en el cuadrado)=\frac{\pi r^2}{4}


Para generar los puntos utilizamos dos sucesiones de números aleatorios R_1 y R_2. Si queremos saber si un punto pertenece al cuarto de círculo, establecemos, a partir de la relación pitagórica, la condición de pertenencia:


\sqrt{R^2_1+R^2_2}\leq 1

Si se verifica la relación anterior, el punto pertenece al cuarto de círculo (y al cuadrado). De lo contrario pertenecerá sólo al cuadrado.

Para el caso de una simulación con 25 pares de números aleatorios, es decir, para 25 puntos generados, nos dará una fracción tal como \frac{21}{25}=0,84, mientras que el área buscada será:


\frac{\pi r^2}{4}=\frac{\pi}{4}\simeq 0,785


La precisión del método se mejora utilizando una gran cantidad de simulaciones, siendo el error del orden del 0,001 cuando se emplean unos 15.000 puntos simulados.

Véase también[editar]