Você está na página 1de 5

25

3
Mtodo de Monte Carlo

3.1
Definio

Em 1946 o matemtico Stanislaw Ulam durante um jogo de pacincia tentou


calcular as probabilidades de sucesso de uma determinada jogada utilizando a
tradicional anlise combinatria.
Aps gastar bastante tempo fazendo clculos percebeu que uma alternativa
mais prtica seria simplesmente realizar inmeras jogadas, por exemplo, cem ou
mil, e contar quantas vezes cada resultado ocorria.
Ulam sabia que tcnicas de amostragem estatstica, como esta, no eram
muito usadas por envolverem clculos extremamente demorados, tediosos e
PUC-Rio - Certificao Digital N 1012652/CA

sujeitos a erros. Entretanto, nessa poca, ficara pronto o primeiro computador


eletrnico, desenvolvido durante a segunda guerra mundial, o ENIAC; antes dele
eram usados dispositivos mecnicos para fazer clculos. A versatilidade e rapidez
do ENIAC, sem precedentes para a poca, impressionaram Ulam, que sugeriu o
uso de mtodos de amostragem estatstica para solucionar o problema da difuso
de nutrons em material sujeito a fisso nuclear, difundindo assim sua aplicao.
Posteriormente, esse mtodo ficou conhecido como Mtodo de Monte
Carlo, nome inspirado em um tio de Ulam, que jogava constantemente no famoso
cassino de Monte Carlo, cujo aspecto aleatrio de suas roletas tambm est
intimamente ligado ao mtodo.
O Mtodo de Monte Carlo foi formalizado em 1949, por meio do artigo
intitulado Monte Carlo Method, publicado por John Von Neumann e Stanislav
Ulam. [8]

Figura 3 Ulam (primeiro) e o Cassino de Monte Carlo em Mnaco


26

Atualmente, o Mtodo de Monte Carlo pode ser descrito como mtodo de


simulao estatstica que utiliza sequencias de nmeros aleatrios para
desenvolver simulaes. Em outras palavras, visto como mtodo numrico
universal para resolver problemas por meio de amostragem aleatria
(aproximao da soluo). [9] [10]
Monte Carlo utilizado rotineiramente em muitos campos de
conhecimentos que vo desde simulao de complexos fenmenos fsicos a
econmicos. Alguns exemplos de aplicao deste mtodo, em diferentes reas,
so:
Aturia: tbua de expectativa de vida, casamento de passivos/ativos, etc.;
Finanas: sries macroeconmicas, opes futuras, hedge, etc.;
Computao grfica: reduo de artefatos, espalhamento, etc.;
Geologia: caracterizao de reservatrios;
PUC-Rio - Certificao Digital N 1012652/CA

Anlise de Projetos: opes reais;


Jogos: gerao de redes (grafos).

3.2
Caractersticas Essenciais

O mtodo torna desnecessrio escrever as equaes diferenciais que


descrevem o comportamento de sistemas complexos. A nica exigncia que o
sistema fsico ou matemtico seja descrito (modelado) em termos de funes de
densidade de distribuio de probabilidade (FDP). Uma vez conhecidas essas
distribuies, a Simulao de Monte Carlo pode proceder fazendo as amostragens
aleatrias a partir das mesmas. Este processo repetido inmeras vezes e o
resultado desejado obtido por meio de tcnicas estatsticas (mdia, desvio
padro, etc.) sobre um determinado nmero de realizaes (amostra) que podem
chegar a milhes.
A figura a seguir ilustra a ideia genrica do mtodo, assumindo que o
comportamento do sistema possa ser descrito por apenas uma FDP. Utilizamos,
tambm, um rpido e efetivo meio de gerar nmeros aleatrios uniformemente
distribudos dentro do intervalo 0 e 1. Ao trmino os resultados desta amostragem
aleatria so acumulados e manipulados para produzir o resultado desejado. [8]
27

Figura 4 Ideia genrica do Mtodo de Monte Carlo


Na prtica, diante de um problema envolvendo incertezas, realizar uma
Simulao com Monte Carlo para aproximar sua soluo consiste em quatro
passos padres:
A) Modelar o problema definindo uma FDP para representar o
comportamento de cada uma das suas incertezas.
B) Gerar valores pseudo-aleatrios aderentes FDP de cada incerteza do
PUC-Rio - Certificao Digital N 1012652/CA

problema.
C) Calcular o resultado determinstico substituindo as incertezas pelos
valores gerados obtendo, assim, uma observao do problema.
Repetir os passos B e C at se obter uma amostra com o tamanho desejado
de realizaes.
D) Agregar e manipular os resultados da amostra de forma a obter uma
estimativa da soluo do problema.
Note que este mtodo apenas proporciona uma aproximao da soluo,
portanto, fundamental analisar o erro de aproximao, que 3/(N), onde
o desvio padro da amostra e N o tamanho da amostra. Logo, evidente que
quanto maior o tamanho da amostra, menor o erro de aproximao.

3.3
Exemplo Prtico

A simulao de Monte Carlo pode ser utilizada para determinar, por


exemplo, a probabilidade de ocorrncia do nmero 7 ao se jogar dois dados
comuns de seis faces. Acompanhe o passo a passo a seguir.
A) As incertezas envolvidas so o resultado que cada dado apresentar ao
ser jogado. Os valores que podem ser assumidos por cada incerteza so os
nmeros inteiros de 1 a 6, com igual probabilidade de ocorrncia de cada nmero,
pois so dados idneos. Portanto, a FDP nos leva a um destes valores.
28

B) A gerao de dois valores pseudo-aleatrios aderentes FDP


representar o resultado obtido ao se jogar os dois dados, ou seja, dois valores
inteiros entre 1 e 6.
C) O resultado determinstico dado pela soma do resultado dos dois dados
que foram obtidos no passo anterior, ou seja, valores entre 2 e 12. Se este valor 7
temos um resultado positivo na observao, se no, um negativo.
Repetindo o passo B e C conseguiremos obter uma amostra suficientemente
grande, com n realizaes.
D) Com base na amostra podemos contar quantas vezes tivemos um
resultado positivo e dividir pelo tamanho da amostra para obter a probabilidade
desta ocorrncia.
Obviamente, esse problema suficientemente simples para ser resolvido por
anlise combinatria, mas serve para exemplificar a simulao e tornar evidente
PUC-Rio - Certificao Digital N 1012652/CA

que o esforo computacional envolvido est diretamente relacionado ao tamanho


da amostra (quantidade de repetio dos passos B e C) que, por sua vez, conforme
demonstrado, est diretamente relacionado ao erro de aproximao. Portanto,
quanto menor o erro de aproximao desejado, maior o esforo computacional
envolvido.

3.4
Novas Perspectivas

A Simulao de Monte Carlo, quando aplicada a problemas reais, requer


robusta infraestrutura computacional para alcanar um erro de aproximao
satisfatrio, o que muitas vezes impede sua utilizao.
Como ocorrido com o lanamento do ENIAC, ambientes de computao na
nuvem abrem novas perspectivas de aplicao da Simulao de Monte Carlo em
situaes que anteriormente apresentariam tempo de resposta inadequado ou
demandariam um investimento proibitivo para alcanar resultados em nveis
confiveis.
Observe que cada repetio dos passos B e C, apresentados na seo
anterior, podem ser executados de forma independente e assncrona e este
processo o centro do esforo computacional envolvido. Portanto,
perfeitamente possvel paralelizar conjuntos de repetio desses passos para
diminuir o tempo total de uma simulao.
29

Como, a priori, queremos obter os resultados no menor tempo possvel,


alocaremos todo o esforo computacional disponvel e necessrio para reduzir o
tempo da simulao ao mximo. Por outro lado, imediatamente aps o
encerramento da simulao no precisaremos mais destes recursos e certamente
no queremos pagar por eles.
Dessa forma, fica evidente que podemos utilizar a elasticidade
(provisionamento e desprovisionamento de recursos computacionais)
proporcionada pelo ambiente de computao na nuvem e o seu modelo de
cobrana de pagamento pelo uso, para buscar uma simulao tima, ou seja, que
idealmente execute na melhor relao de tempo e custo para os requisitos do
negcio.
PUC-Rio - Certificao Digital N 1012652/CA