Está en la página 1de 13

Universidad

de El Salvador

Facultad de Ingeniera y Arquitectura


Tcnicas de Simulacin TDS 115
Trabajo Ex Aula Clculo de rea de un Polgono Irregular por Mtodo Monte Carlo
Catedrtico: Ingeniero y Master en Ciencias de Computacin Carlos Ernesto Garca

Alumno: Alexander Enrique Escobar Ortiz


Carnet: EO97003

Abril de 2013

Contenido
Introduccin ............................................................................................................................................ 3
Mtodo Monte Carlo ............................................................................................................................... 4
Definicin del Problema .......................................................................................................................... 4
Implementacin de la Solucin utilizando Scilab ...................................................................................... 6
El Ejercicio: .......................................................................................................................................... 6
Ejecucin del Programa ....................................................................................................................... 8
Calculo de Error Absoluto y Relativo .................................................................................................. 10
Error Absoluto ................................................................................................................................... 10
Error Relativo .................................................................................................................................... 10
Resolviendo los Otros problemas de rea .......................................................................................... 11
Conclusiones ......................................................................................................................................... 12
Bibliografa ............................................................................................................................................ 13

Introduccin
El presente documento pretende ilustrar claramente el Mtodo Monte Carlo resolviendo el problema de
Calcular el rea de un Polgono irregular, haciendo uso de un lenguaje de programacin especfico, con
el fin de demostrar su aplicabilidad prctica, sin profundizar en el concepto o teora.
Debido a que el Autor del documento se encuentra cursando la Materia Anlisis Numrico (ANS115),
dicho curso se pretende proveer al estudiante de los conocimientos necesarios para permitirle tomar
decisiones adecuadas en cuanto a la aplicacin de algoritmos para la solucin numrica de problemas
cuya solucin matemtica es complicada o imposible.1
Se encontr conveniente implementarlo en el Software oficial de dicha materia (anlisis numrico) que
es Scilab un Software de cdigo abierto para el Clculo Numrico.

Programa de la Asignatura Anlisis Numrico ANS 115 UES 2013, objetivos generales

Mtodo Monte Carlo


El mtodo de Monte Carlo2 es un mtodo no determinstico o estadstico numrico, usado para
aproximar expresiones matemticas complejas y costosas de evaluar con exactitud. El mtodo se llam
as en referencia al Casino de Monte Carlo (Principado de Mnaco) por ser la capital del juego de azar,
al ser la ruleta un generador simple de nmeros aleatorios. El nombre y el desarrollo sistemtico de los
mtodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el
desarrollo de la computadora.
El uso de los mtodos de Monte Carlo como herramienta de investigacin, proviene del trabajo
realizado en el desarrollo de la bomba atmica durante la Segunda Guerra Mundial en el Laboratorio
Nacional de Los lamos en EE. UU. Este trabajo conllevaba la simulacin de problemas probabilsticos de
hidrodinmica concernientes a la difusin de neutrones en el material de fisin. Esta difusin posee un
comportamiento eminentemente aleatorio. En la actualidad es parte fundamental de los algoritmos de
Raytracing para la generacin de imgenes 3D.

Definicin del Problema


El Mtodo Estadstico Monte Carlo por aproximacin, para clculo de reas, inicia definiendo un
Conjunto de A de rea conocida a que contiene dentro un sub-conjunto B de rea b (b es
desconocida, Ilustracin 1. Conjunto A y Sub Conjunto B, con puntos al azar). El objetivo es aproximar el
cociente b/a. El mtodo consiste en tirar puntos al azar dentro del conjunto A. as algunos puntos
caern dentro del sub-conjunto B. Lo que se espera es que a medida que aumenta la cantidad de puntos
ploteados el cociente de
de Area.

nos acerque al valor esperado

Pea Snchez de Rivera, Daniel (2001). Deduccin de distribuciones: el mtodo de Monte Carlo, en
Fundamentos de Estadstica. Madrid: Alianza Editorial. ISBN 84-206-8696-4.

Ilustracin 1. Conjunto A y Sub Conjunto B, con puntos al azar

A continuacin Enumeramos 4 Problemas de los cuales resolveremos utilizando el Mtodo Monte Carlo
con la herramienta Scilab.
1. Usando el Mtodo de Monte Carlo aproximar el rea que hay por debajo de la Recta

1, dentro del intervalo [0,1] y tirando 1000 puntos al azar. Adicionalmente Graficar la sucesin

de cocientes.

0.5

2. Usando el Mtodo de Monte Carlo aproximar el rea que hay dentro del crculo

0.5

cocientes.

= 0.25, tirando 1000 puntos al azar. Adicionalmente Graficar la sucesin de

3. Usando el Mtodo de Monte Carlos aproximar el rea que hay debajo de la curva

2 ,

dentro del intervalo [0,1] y tirando 1000 puntos al azar. Adicionalmente Graficar la sucesin de
cocientes.
4. Comprobar el mtodo Monte Carlo calculando el rea de un circulo de 3m de dimetro, la cual
ya se conoce de antemano ( =

= 9.4 " ). Proceder segn el ejemplo anterior; es decir,

encerrando en un rectngulo de dimensiones conocidas (por ejemplo 12x12) y ploteando pares


de nmeros aleatorios.3

Adicionalmente y como parte de lo visto en clases de Anlisis Numrico, se calculara el Error Absoluto y
el Error Relativo.
3

Tcnicas de Simulacin para Ingenieros Informticos, Dcima Edicin, Carlos Ernesto Garca. Pgina 50.

Implementacin de la Solucin utilizando Scilab


Como Scilab es un Software de cdigo abierto para el Clculo Numrico, y las facilidades que ofrece para
este tipo de Problemas procedemos a explicar la resolucin del problema, para un mayor detalle se
incluye en los anexos la descripcin y uso de cada uno de los comando empleados en los ejemplos.

El Ejercicio:
Para el Ejercicio 1, realizaremos un FOR desde 1 hasta 1000, por el nmero de ploteos al azar,
obteniendo valores del primer cuadrante del plano cartesiano. Los puntos que caigan debajo de la Recta
lo llamaremos AcumuladoB y estarn en Rojo, mientras que todos los dems en Azul.
Al visualizar la Ilustracin 3. Cdigo para Calculo del rea debajo de una Lnea Recta o Triangulo
Rectngulo de la Pagina 7, ampliaremos cada una de las lneas, que posiblemente podran dar confusin
para la implementacin de la solucin (la columna de Numeracin a la Izquierda han sido agregadas).
Ntese que se ha definido una Funcin de Acuerdo a la lnea de Cdigo 1, y de acuerdo a la herramienta
no se requiere Dimensin o declaracin de las variables locales, la funcin no recibe parmetros, pero
devuelve result como el valor de aproximacin de rea.
La lnea 17 del Cdigo, nos permite definir una Matriz de 1 fila x 2 columnas de valores aleatorio de
distribucin uniforme, entre [0,1] como se muestra en la Ilustracin 2. Salida del Comando rand en
Scilab, los valores corresponden a la respuesta (ans abreviacin de answer).

Ilustracin 2. Salida del Comando rand en Scilab

La lnea 18 del cdigo, corresponde a la evaluacin del Dominio o Rango de la Ecuacin (funcin),
aplicados a cada punto.

= 1

% 1 &
) 1 &

'
'

( '( '
'( '

A continuacin el Cdigo Empleado en Scilab.

Ilustracin 3. Cdigo para Calculo del rea debajo de una Lnea Recta o Triangulo Rectngulo

La Lnea de 24 del cdigo corresponde al Valor del rea calculada en cada iteracin del lazo, siendo
almacenada en una Matriz para luego ser graficada en la lnea de cdigo 27 y 28, dndonos
grficamente la evolucin del valor aproximado de rea a medida que se obtienen los puntos.

Ntese que el Conjunto efectivo de lneas de cdigo, no exceden de 10, para resolver el problema de
Clculo del rea utilizando Monte Carlo.

Ejecucin del Programa


A continuacin las Pantallas de Ejecucin de la Funcin, desde la Consola de Scilab, por practicidad solo
se muestra lo correspondiente a una sola Ejecucin, tampoco se le ha agregado una interfaz grfica de
ejecucin.

Capturas de Pantalla de la Evolucin del Ploteo de Puntos a medida que estos son suministrados.

Ilustracin 4. Ploteo de Puntos Inicial

Ilustracin 5. Ploteo de Puntos finalizado

Ilustracin 6. Grafica de plot([1:N], a)

La grafica plot([1:N],a) muestra una clara tendencia en el Valor del rea a medida que se grafican ms
puntos.

Calculo de Error Absoluto y Relativo


Despus de Realizar cambios en el cdigo para no mostrar los grficos y evitar tiempos de clculos
innecesarios, Montecarliamos con 1000 Ejecuciones, obteniendo un valor aproximado de
rea=0.499729.

Error Absoluto
Recordando que el rea de un tringulo rectngulo es

,
,

- '
- '

0 '

= |/ ' 0 ' / ' &


"
= |0.5 0.499729| = 0.000271

2 +
2 = 0.5

Error Relativo

0 '

2 =

2 =

|/ '

|0.5

' / ' &


"
|/ ' 0 '|
0.499729|
= 0.000542
|0.5|

Resolviendo los Otros problemas de rea


Para resolver los Restantes ejercicios propuestos, Aplicamos un Razonamiento Similar, a continuacin
los anlisis respectivos:
Ejercicio 2
0.5

Ecuacin

0.5

Ejercicio 3

Como la Grafica en el intervalo


de [0,1] da valores de
negativos, la re-escribimos
para poder graficarla en el
Cuadrante
I
del
plano
cartesiano, y hacemos los
ajustes de clculos respectivos.

N/A

Consideracin

= 0.25

Ejercicio 4

0=2

=
= 9.4 "
"
= 3 "
4 ' = 12" 12"

Recordando:

56789:;<

Haciendo regla de tres para utilizar


la ecuacin de la circunferencia,
ubicarlo el centro en el Cuadrante
I del plano cartesiano y siempre
con valores de entre [0, 1]
Hacemos regla de 3:
12 m --------------- 1
3 m ------- x = 0.25
La ecuacin de la circunferencia
resultante nos queda:
0.25

Condicin

0.5

Evaluar

Valor Real

Valor
Aproximado
Cantidad de
Puntos
Cantidad de
Experimentos
Error
Absoluto
Error Relativo

?@,
$
BC4,

0.5

% 0.25
) 0.25

0.25 = 0.785398

=. >

Al obtener el rea Hay que volver


hacer la conversin con regla de 3.

?@,
D
BC4,
=1

0.25

GH

= 0.25

%0
)0

E
G

2.5

?@,

BC4,

%
)

2.5
.>

.>

La ecuacin
=
= 9.4 " tiene
error tipogrfico, porque con un
dimetro = 3, el valor real debe ser de:
= 3/2 = 7.0685 "

= 0.785197
en 5.226 segundos
1000 pares ordenados (x,y)

= 0.272289
en 4.929 segundos
1000 pares ordenados (x,y)

= 7.0632 "
en 5.429 segundos
1000 pares ordenados (x,y)

1000 promediados

1000 promediados

1000 promediados

0.000201

0.022289

0.0053

0.0002559

0.089156

0.0007498

Conclusiones
Entre Mayor el nmero de iteraciones el Error Absoluto y Relativo tienden a Cero
Es un mtodo de aproximacin confiable, utilizndolo con cantidad de iteraciones bastante
grande.
Gracias a la utilizacin de la Herramienta Scilab el tiempo de programacin para Anlisis
Numrico es bastante corto y reduce el nmero de lneas de cdigo a comparacin de un
lenguaje de programacin de usos generales.

Bibliografa

Scilab y Monte Carlo (herramientas Scilab)


http://difusion.df.uba.ar/ConectarIgualdad/ElcicloFORenScilab.pdf

Mtodo Monte Carlo


http://es.wikipedia.org/wiki/M%C3%A9todo_de_Montecarlo

Figuras Geomtricas, graficas, clculo de reas


http://es.wikipedia.org/wiki/Circunferencia
http://mimosa.pntic.mec.es/clobo/geoweb/area7.htm
http://wolframalpha.com

Scilab
http://www.scilab.org

También podría gustarte