Escolar Documentos
Profissional Documentos
Cultura Documentos
Fernando Andrade
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 3 / 34
Introdução Histórico
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 4 / 34
Introdução Histórico
Tal projeto, era responsável pela criação das primeiras bombas nucleares.
O objetivo, diante do processo da criação das armas nucleares em ques-
tão, era simular probabilidades relacionadas com o coeficiente de difusão
do nêutron em certos materiais.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 5 / 34
Introdução Histórico
Tal projeto, era responsável pela criação das primeiras bombas nucleares.
O objetivo, diante do processo da criação das armas nucleares em ques-
tão, era simular probabilidades relacionadas com o coeficiente de difusão
do nêutron em certos materiais.
Após a extinção do projeto Manhattan, Ulam e Neuman, com inspiração
aos cassinos de Monte Carlo em Mônaco, que por sua vez, tinham a
natureza da aleatoriedade e repetitiva, formalizaram, em 1949, o nome
“Método de Monte Carlo”.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 6 / 34
Geração de Números Aleatórios Distribuição Uniforme
Apenas relembrando...
Distribuição Uniforme: Seja X uma variável aleatória. Dizemos que
X possui distribuição uniforme contínua entre a e b e, denotamos por
X ∼ U(a, b), se sua função densidade de probabilidade for
1 , a⩽x ⩽b
f (x, a, b) = b − a
0, caso contrário
e, por consequência, sua função de probabilidade é
0, x ⩽a
x − a
F (x) = P(X ⩽ x) = , a⩽x <b
b−a
1, x ⩾b
E seus momentos são:
a+b (b − a)2
E (X ) = e Var (X ) =
2 12 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 7 / 34
Geração de Números Aleatórios Distribuição Uniforme
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 8 / 34
Geração de Números Aleatórios Observações
EXEMPLO
Lancemos uma moeda honesta três vezes e consideremos f (x) tal que
{
1, ocorrer CARA
f (x) =
0, ocorrer COROA
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 9 / 34
Geração de Números Aleatórios Observações
EXEMPLO
Lancemos uma moeda honesta três vezes e consideremos f (x) tal que
{
1, ocorrer CARA
f (x) =
0, ocorrer COROA
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 9 / 34
Geração de Números Aleatórios Observações
EXEMPLO
Lancemos uma moeda honesta três vezes e consideremos f (x) tal que
{
1, ocorrer CARA
f (x) =
0, ocorrer COROA
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 10 / 34
Geração de Números Aleatórios Observações
1111111111
1010101010
0110111001
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 10 / 34
Geração de Números Aleatórios Observações
1111111111
1010101010
0110111001
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 11 / 34
Geração de Números Aleatórios Observações
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 11 / 34
Alguns Métodos para GNA’s
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 12 / 34
Alguns Métodos para GNA’s
Xi = (aXi−1 + c) (mod m)
i = 1, 2, · · ·;
X0 é denominado por SEMENTE do gerador;
os valores a, c, X0 são convenientemente escolhidos.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 12 / 34
Alguns Métodos para GNA’s
Xi = (aXi−1 + c) (mod m)
i = 1, 2, · · ·;
X0 é denominado por SEMENTE do gerador;
os valores a, c, X0 são convenientemente escolhidos.
Note que, neste método, há geração de m números, donde,
0 ⩽ Xi ⩽ m − 1.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 12 / 34
Alguns Métodos para GNA’s
Xi = (aXi−1 + c) (mod m)
i = 1, 2, · · ·;
X0 é denominado por SEMENTE do gerador;
os valores a, c, X0 são convenientemente escolhidos.
Note que, neste método, há geração de m números, donde,
0 ⩽ Xi ⩽ m − 1.
Observação
Se c = 0, o método é denominado por Congruencial Multiplicativo.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 12 / 34
Alguns Métodos para GNA’s
EXEMPLO
Considerando o Método Congruencial Linear, tome a = 3, c = 0 e
X0 = 4, m = 5. Daí,
Xi = (3 × Xi−1 + 0) (mod 5)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 13 / 34
Alguns Métodos para GNA’s
EXEMPLO
Considerando o Método Congruencial Linear, tome a = 3, c = 0 e
X0 = 4, m = 5. Daí,
Xi = (3 × Xi−1 + 0) (mod 5)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 13 / 34
Alguns Métodos para GNA’s
EXEMPLO
Considerando o Método Congruencial Linear, tome a = 3, c = 0 e
X0 = 4, m = 5. Daí,
Xi = (3 × Xi−1 + 0) (mod 5)
Observação
Para n = 10 resultados, encontraremos a seguinte sequência de
números
4213421342
Daí, observamos que há uma repetição da sequência 4 2 1 3, que por
sua vez, denominaremos de PERÍODO do gerador. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 13 / 34
Alguns Métodos para GNA’s
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 14 / 34
Alguns Métodos para GNA’s
Observação
Em geral, tomamos m como sendo o maior número inteiro positivo do
computador..
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 14 / 34
Alguns Métodos para GNA’s
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 15 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 16 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 16 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 16 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 17 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 18 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 18 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 18 / 34
Método de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 19 / 34
Método de Monte Carlo
∑
n
g(xi )
θ̂ = (b − a)g, onde g =
n
i=1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 20 / 34
Método de Monte Carlo
∑
n
g(xi )
θ̂ = (b − a)g, onde g =
n
i=1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 20 / 34
Método de Monte Carlo
∑
n
g(xi )
θ̂ = (b − a)g, onde g =
n
i=1
i xi g(xi )
1 4,46 8,92
2 5,99 11,98
3 5,01 10,02
4 4,21 8,42
5 4,98 9,96
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 20 / 34
Método de Monte Carlo
θ̂ = (6 − 4)g = 2 × 9, 98 = 19, 72
Observação
Para aumentarmos a precisão do resultado, é necessário aumentar a
quantidade de números aleatórios gerados.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 21 / 34
Um pouco sobre Python
O que é o Python?
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 22 / 34
Um pouco sobre Python
O que é o Python?
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 22 / 34
Um pouco sobre Python
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 24 / 34
Um pouco sobre Python
Congruencial Linear
O Script em Python a seguir é utilizado para gerar números aleatórios.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 25 / 34
Um pouco sobre Python Script do Método Congruencial Linear
Congruencial Linear
O Script em Python a seguir é utilizado para gerar números aleatórios.
1 d e f l c g ( Xo , m, a , c , randomNums , noOfRandomNums ) :
2 randomNums [ 0 ] = Xo # I n i t i a l i z e t h e s e e d s t a t e
3 # Traverse to g e n e r a t e r e q u i r e d
4 # n u m b e r s o f random n u m b e r s
5 f o r i i n r a n g e ( 1 , noOfRandomNums ) :
6 # F o l l o w t h e l i n e a r c o n g r u e n t i a l method
7 randomNums [ i ] = ( ( randomNums [ i − 1 ] ∗ a ) +
8 c) % m
9# D r i v e r Code
10 i f __name__ == ’__main__ ’ :
11 Xo = 4 # S e e d v a l u e
12 m = 5 # Modulus p a r a m e t e r
13 a = 3 # M u l t i p l i e r term
14 c = 0 # I n c r e m e n t term
15 noOfRandomNums = 10 # Number o f Random n u m b e r s
16 # t o be g e n e r a t e d
17 randomNums = [ 0 ] ∗ ( noOfRandomNums ) # To s t o r e
18 # random n u m b e r s
19 # Function Call
20 l c g ( Xo , m, a , c , randomNums , noOfRandomNums )
21 # P r i n t t h e g e n e r a t e d random n u m b e r s
22 f o r i i n randomNums :
23 p r i n t ( i , end = " " )
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 25 / 34
Um pouco sobre Python Script do Método Congruencial Linear
Congruencial Linear
O Script em Python a seguir é utilizado para gerar números aleatórios.
1 d e f l c g ( Xo , m, a , c , randomNums , noOfRandomNums ) :
2 randomNums [ 0 ] = Xo # I n i t i a l i z e t h e s e e d s t a t e
3 # Traverse to g e n e r a t e r e q u i r e d
4 # n u m b e r s o f random n u m b e r s
5 f o r i i n r a n g e ( 1 , noOfRandomNums ) :
6 # F o l l o w t h e l i n e a r c o n g r u e n t i a l method
7 randomNums [ i ] = ( ( randomNums [ i − 1 ] ∗ a ) +
8 c) % m
9# D r i v e r Code
10 i f __name__ == ’__main__ ’ :
11 Xo = 4 # S e e d v a l u e
12 m = 5 # Modulus p a r a m e t e r
13 a = 3 # M u l t i p l i e r term
14 c = 0 # I n c r e m e n t term
15 noOfRandomNums = 10 # Number o f Random n u m b e r s
16 # t o be g e n e r a t e d
17 randomNums = [ 0 ] ∗ ( noOfRandomNums ) # To s t o r e
18 # random n u m b e r s
19 # Function Call
20 l c g ( Xo , m, a , c , randomNums , noOfRandomNums )
21 # P r i n t t h e g e n e r a t e d random n u m b e r s
22 f o r i i n randomNums :
23 p r i n t ( i , end = " " )
Gera os números 4 2 1 3 4 2 1 3 4 2. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 25 / 34
Um pouco sobre Python Script do Método Congruencial Linear
X0 = 5, m = 7, a = 3 e c = 3
5416035416
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 26 / 34
Aplicações do Método de Monte Carlo Simulação através do Python
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 27 / 34
Aplicações do Método de Monte Carlo Simulação através do Python
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 27 / 34
Aplicações do Método de Monte Carlo Simulação através do Python
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 28 / 34
Aplicações do Método de Monte Carlo Simulação através do Python
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 28 / 34
Aplicações do Método de Monte Carlo Simulação através do Python
Computação Gráfica
Dentro da computação gráfica, o método de Monte Carlo é
amplamente utilizado no processo de Ray-Tracing, donde, até
recebe o nome de Método Ray-Tracing de Monte Carlo
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 30 / 34
Outras áreas de aplicação do método Computação Gráfica
Computação Gráfica
Dentro da computação gráfica, o método de Monte Carlo é
amplamente utilizado no processo de Ray-Tracing, donde, até
recebe o nome de Método Ray-Tracing de Monte Carlo
Tal técnica consiste, de maneira simplificada, em traçar raios de
luz para renderizar uma imagem, ou ainda, os algoritmos de
transporte de luz são designados para simular a propagação da luz
em um espaço com interação de objetos.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 30 / 34
Outras áreas de aplicação do método Computação Gráfica
Computação Gráfica
Dentro da computação gráfica, o método de Monte Carlo é
amplamente utilizado no processo de Ray-Tracing, donde, até
recebe o nome de Método Ray-Tracing de Monte Carlo
Tal técnica consiste, de maneira simplificada, em traçar raios de
luz para renderizar uma imagem, ou ainda, os algoritmos de
transporte de luz são designados para simular a propagação da luz
em um espaço com interação de objetos.
EXEMPLO
Vejamos a seguinte comparação com Ray-Tracing ativado e desativado
em uma renderização de imagens.
Imagem: Ray-Tracing on × off .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 30 / 34
Outras áreas de aplicação do método Computação Gráfica
Computação Gráfica
Dentro da computação gráfica, o método de Monte Carlo é
amplamente utilizado no processo de Ray-Tracing, donde, até
recebe o nome de Método Ray-Tracing de Monte Carlo
Tal técnica consiste, de maneira simplificada, em traçar raios de
luz para renderizar uma imagem, ou ainda, os algoritmos de
transporte de luz são designados para simular a propagação da luz
em um espaço com interação de objetos.
EXEMPLO
Vejamos a seguinte comparação com Ray-Tracing ativado e desativado
em uma renderização de imagens.
Imagem: Ray-Tracing on × off .
EXEMPLO
Vejamos um pequeno trecho do vídeo a seguir:
Video: Ray-Tracing on × off . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 30 / 34
Outras áreas de aplicação do método Financias
Financias
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 31 / 34
Outras áreas de aplicação do método Financias
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 32 / 34
Outras áreas de aplicação do método Financias
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 32 / 34
Outras áreas de aplicação do método Financias
Bibliografia I
Bibliografia II
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Fernando Andrade (UNESP) Método de Monte Carlo e Aplicações 34 / 34