INTEGRACIÓN NUMÉRICA PARTE 2: MÉTODOS NO DETERMINISTAS, INTEGRACIÓN DE MONTECARLO Y NÚMEROS PSEUDOALEATORIOS

in #steemstem5 years ago (edited)

img

Imagen N° 1: Ruleta de Casino, la Integración de Montecarlo debe su nombre al famoso casino, Licencia: CC0 Autor: Stux (2015) Disponible en el siguiente enlace

La integración es uno de los procedimientos matemáticos más utilizados en la actualidad, a pesar de esto, algunas integrales no pueden ser resueltas mediante las técnicas del análisis matemático, es por ello que se han desarrollado procedimientos numéricos para abordar este tipo de problemas, dentro de este tipo de métodos se pueden mencionar los métodos deterministas, en el artículo anterior se aplicó uno de estos métodos, específicamente, la regla de Simpson para aproximar el valor de una integral definida.

Sin embargo, también existen métodos no deterministas, es decir, aquellos métodos que a pesar de aplicarse a la misma integral definida ofrecen diferentes resultados, el lector se preguntara ¿Cómo es esto posible?, en general se trata de métodos basados en la probabilidad, es decir, se ejecutan en un ordenador miles de veces, con lo cual el promedio de resultados tiende al valor exacto de la integral definida.

El presente artículo se enfoca en uno de estos métodos, específicamente en la Integración de Montecarlo, este método toma su denominación del casino de Montecarlo ubicado en el Principado de Mónaco considerado por muchos la capital de los juegos de azar.

Integración de Montecarlo

Para poder aplicar este método se convierte la integral a evaluar en otra integral cuyos límites de integración sean [0,1]
Dada una integral definida

f1.png

Se hace el cambio de variable

f2.png

Despejando x

f3.png

Se calcula dx

f4.png

Se sustituyen x y dx en la función a integrar

f1.png

Se debe tener en cuenta que al cambiar la variable de integración dx por dy los límites de integración también deben cambiar, para el límite superior x=b

f5.png

Para el límite inferior

f6.png

Obteniendo la siguiente integral definida

f7.png

Es decir, se obtiene una integral de la forma

f8.png

Esta es la integral que se desea aproximar, para hacerlo debemos comprender que si tomamos un punto cualquiera en g(y), podemos asumir dicho punto como la altura de la curva y lo multiplicamos por 1 (esto es debido a que la base va de 0 a 1), este producto será una aproximación del área bajo la curva, ahora bien, si lo hacemos miles de veces el promedio obtenido será una aproximación más precisa del área bajo la curva g(y), esta es la base del método, sin embargo, para poder aplicarlo muchas veces necesitamos introducir al algoritmo números aleatorios (en realidad pseudoaleatorios), los cuales se generan mediante el uso de la teoría de las congruencias.

Generador de números PseudoAleatorios

Para poder asignarle valores diferentes a (y) en cada evaluación, se utilizará la siguiente fórmula que genera números Pseudoaleatorios

f9.png

El símbolo ≡ se utiliza para representar congruencia, la cual se define de la siguiente forma:

Un número a es congruente con b (en módulo p), si los residuos de dividir a y b entre p son iguales, por ejemplo

f10.png

Debido a que al dividir 7 entre 3 se obtiene como residuo 1.

Aclarado este concepto volvamos al generador de números pseudoaleatorios, con el fin de obtener números pseudolaetaorios que puedan ser utilizados exitosamente se deben elegir cuidadosamente los valores de a, c y m, el estándar Posix C define los siguientes valores para el generador de números pseudoaleatorios

f11.png

Esta fórmula genera números pseudoaleatorios de 0 a 32767, para generar valores entre 0 y 1 debemos dividir el número obtenido entre m=32768, obteniendo los posibles valores de y

f12.png

Los valores obtenidos se sustituyen en la función g(y) calculándose el promedio de los n valores obtenidos

f13.png

Este resultado se corresponde con la aproximación de Montecarlo de la Integral definida

f14.png

Ejemplo:

A continuación aplicaremos el método de Montecarlo a la siguiente integral, la cual se utilizó como ejemplo en el artículo anterior

img1.png

Esta integral se resuelve mediante la descomposición en fracciones parciales

img2.png

Igualando términos semejantes

img3.png

Resolviendo el sistema de ecuaciones lineales

5(i)+ (ii)

img4.png

-6(i)+(iii)

img5.png

Finalmente calculamos 2(j)+(jj)

img6.png

Sustituimos para obtener a, b y c

img7.png

Una vez obtenidas las fracciones parciales, resolvemos la integral

img8.png

Este es el resultado obtenido mediante la integración directa, a continuación resolveremos dicha integral utilizando la integración de Montecarlo.

En primer lugar hacemos el cambio de variable

f15.png

Al sustituir x y dx obtenemos

f16.png

Dada esta integral podemos aplicar la Integración de Montecarlo utilizando el Sistema de Álgebra Computacional WxMaxima y el siguiente código:


/******************************/
/* INTEGRACIÓN DE MONTECARLO */
/* Licdo Ysmael González */
/* STEM-ESPANOL */
/* STEEMIT 2019 */
/******************************/
f(y):=8/(8*y^3+24*y^2+22*y+6)$
8$
n:1000000$
sum:0$
i:0$
exacto: integrate(4/(x^3-6*x^2+11*x-6), x, 4, 6)$
while i<=n do
(
i:i+1,
ui:float((mod(a*ui+c,m))/m),
fyi:float(f(ui)),
sum:sum+fyi
);
result:sum/n$
ep:float(100*abs(result-exacto)/exacto)$
print("Resultado ",result," Error Porcentual: ",ep,"%");

A continuación se presentan los resultados obtenidos para distintos valores semillas del generador de números pseudoaleatorios al realizar 100.000 iteraciones y el error porcentual en cada caso

tabla.png

Conclusiones y Observaciones

  1. Existen diferentes métodos de integración numérica, el Método de Montecarlo es un método no determinista en el cual los resultados pueden variar dependiendo de los números pseudoaleatorios elegidos.

  2. La precisión de la integración de Montecarlo aumenta a medida que se realiza una mayor cantidad de evaluaciones.

  3. En la práctica el método de Montecarlo suele ser aplicado a integrales de gran complejidad, como es el caso de las integrales múltiples.

  4. La Integración de Montecarlo forma parte de una familia de métodos matemáticos llamados métodos de Montecarlo los cuales se basan en el uso de números aleatorios o pseudoaleatorios para aproximar las soluciones a problemas matemáticos.

REFERENCIAS BIBLIOGRÁFICAS Y LECTURAS RECOMENDADAS


  1. Anton, Bivens y Davis (2010), Cálculo de una variable, Trascendentes tempranas. 2da edición Editorial Limusa Willey.

  2. González (2019) INTEGRACIÓN NUMÉRICA PARTE 1: REGLA DE SIMPSON, ANÁLISIS DEL ERROR

  3. Saenz (2009), Cálculo Integral con Funciones Trascendentes Tempranas para Ciencias e Ingeniería. 2da edición Editorial Hipotenusa.

  4. Sauer (2013), Análisis Numérico. 2da edición Editorial Pearson.

Sort:  

Gracias por usar la etiqueta #spanish y publicar en www.spanish-tribe.com. Hemos delegado su cuenta con 1000 Spaco.

Congratulations @ydavgonzalez! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You distributed more than 11000 upvotes. Your next target is to reach 12000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

You can upvote this notification to help all Steem users. Learn how here!

Coin Marketplace

STEEM 0.29
TRX 0.13
JST 0.033
BTC 63133.02
ETH 3043.69
USDT 1.00
SBD 3.63