1 / 22 Análise de Dados em Astronomia 4. Simulações de Monte Carlo Laerte Sodré Jr. AGA0505, 1o. semestre 2019
2 / 22 introdução aula de hoje: o método de Monte Carlo 1 introdução 2 variáveis aleatórias 3 integração 4 amostragem de distribuições de probabilidades 5 exemplo: universo newtoniano isotrópico e homogêneo 6 exemplo: transmissão de neutrons em uma placa referência clássica: I. Sobol, The Monte Carlo Method O registro de um mês de roleta em Monte Carlo nos dá material para discutir os fundamentos do conhecimento (Karl Pearson)
3 / 22 introdução o método de Monte Carlo
4 / 22 introdução o método de Monte Carlo método de resolução de problemas baseado em amostragem aleatória de distribuições de probabilidades inventado por Stanislaw Ulam, John von Neuman e Nicholas Metropolis durante o projeto Manhattan Ulam (um dos que desenharam a bomba de hidrogênio) bolou o método em 1946, pensando nas probabilidades de se ganhar um jogo de cartas de paciência Metropolis é o responsável pelo nome Monte Carlo aplicações: integração numérica otimização simulação de sistemas complexos...
introdução variáveis aleatórias variável (contínua ou discreta) cujos valores representam o resultado de fenômenos aleatórios supõe-se que uma variável aleatória obedeça a uma distribuição de probabilidades, que especifica a probabilidade de que seu valor esteja num certo intervalo exemplo simples: cálculo da área de uma figura arbitrária S contida (por conveniência) dentro de um quadrado de lado unitário: sorteamos N pontos uniformemente dentro do quadrado contamos quantos pontos cairam dentro da figura, N dentro área da figura: A N dentro N 5 / 22
integração por Monte Carlo integração por Monte Carlo MC oferece uma forma simples para se integrar uma função positiva f (x): I = b a f (x)dx f (x) > 0 o método da rejeição : vamos supor que a função f (x) possa ser coberta por uma função mais simples g(x) (isto é 0 f (x) g(x)), de área A no intervalo de integração por exemplo, g(x) = f max = const, A = (b a)f max 6 / 22
integração por Monte Carlo integração por Monte Carlo vamos supor que a função f (x) possa ser coberta por uma função mais simples: g(x) = f max = const, A = (b a)f max algoritmo: N ac = 0 repita N vezes os passos: integral: I = N ac N A gere aleatoriamente um x i entre a e b gere um número aleatório γ i uniformemente distribuído entre 0 e g(x i ) se f (x i ) γ i aceita-se x i ; se não, rejeita-se se x i foi aceito: N ac = N ac + 1 7 / 22
8 / 22 integração por Monte Carlo cálculo de π por MC a área de um quarto de círculo unitário é π/4 podemos calcular π com o método da rejeição calculando a área de um quarto de círculo inicialização: N ac = 0, a = 0, b = 0, f max = 1 repita N vezes os passos: gere aleatoriamente um x i e um y i entre 0 e 1 calcule d = x 2 i + y 2 i se d 1 aceita-se o ponto i; se não, rejeita-se se i foi aceito: N ac = N ac + 1 valor estimado de π: ˆπ = 4 N ac N = 3.104 (nesta simulação, com 1000 pontos)
9 / 22 integração por Monte Carlo variância nas estimativas por MC note que a variância nos métodos de MC cai com 1/N como o desvio padrão σ é a raiz quadrada da variância, para reduzir σ por um fator 2 deve-se multiplicar o número de simulações por um fator 4
10 / 22 distribuições de probabilidades amostragem de distribuições de probabilidades objetivo: dada uma distribuição de probabilidades P(x), gerar N valores {x i } distribuídos como P(x) vamos supor que saibamos produzir uma sequência de números aleatórios uniformemente distribuídos entre 0 e 1 isso não é fácil: os números gerados pelos geradores de números aleatórios são pseudo- aleatórios γ: número gerado uniformemente entre 0 e 1
distribuições de probabilidades amostragem de distribuições de probabilidades vamos supor que o número de pontos gerados entre u e u + du seja igual a P(x)dx nesse caso, du = P(x)dx e u = x P(x )dx = CDF(x) assim, dado um u i entre 0 e 1, encontra-se x i resolvendo-se a equação acima para a distribuição cumulativa de probabilidades CDF(x) repete-se este procedimento N vezes para se obter a amostra desejada 11 / 22
12 / 22 distribuições de probabilidades exemplo: distribuição exponencial produção de uma amostra {x i } com P(x) = e x (x > 0) MC: u = x P(x )dx = CDF(x) para a distribuição exponencial: u = x 0 e x dx = 1 e x logo x = ln(1 u) assim, dado um conjunto de N números u i gerados uniformemente entre 0 e 1, calcula-se x i = ln(1 u i ) = ln γ i, onde γ i é também um número aleatório entre 0 e 1 os {x i } resultantes estarão distribuídos com uma pdf exponencial
13 / 22 exemplos de simulações exemplo: um universo homogêneo e uniforme objetivo: simular um universo simples: esférico, cartesiano, raio R, uniformemente povoado parâmetros: N, R - N galáxias dentro de um raio R densidade média: n = 3N/(4πR 3 ) o melhor é fazer a simulação em coordenadas esféricas (r, θ, φ) e daí obter (x, y, z): x = r sen(θ) cos(φ) y = r sen(θ) sen(φ) z = r cos(θ) com 0 r R, 0 θ π e 0 φ 2π regra de ouro: faça um modelo probabilístico que inclua todas as probabilidades relevantes
14 / 22 exemplos de simulações exemplo: um universo homogêneo e uniforme probabilidade de se encontrar uma galáxia entre os raios r e r + dr: P(r)dr n4πr 2 dr P(r) r 2 função cumulativa: e CDF(r) = γ r = r 0 r = Rγ 1/3 r ( r 3 P(r )dr = R) onde γ r é um número aleatório uniformemente distribuído entre 0 e 1
15 / 22 exemplos de simulações exemplo: um universo homogêneo e uniforme elemento de ângulo sólido: dω = senθdθdφ 0 θ π; 0 φ 2π probabilidade conjunta de θ e φ: marginalizando: P(θ) = P(θ, φ)dθdφ = dω/4π P(φ) = 2π 0 π 0 P(θ, φ)dφ = 1 2 senθ P(θ, φ)dθ = 1 2π
16 / 22 exemplos de simulações exemplo: um universo homogêneo e uniforme funções cumulativas: CDF(φ) = γ φ = CDF(θ) = γ θ = φ 0 φ = 2πγ φ θ 0 dφ 2π = φ 2π 1 2 senθdθ = 1 (1 cos θ) 2 θ = cos 1 (1 2γ θ ) simulação de uma galáxia: gero (γ r, γ θ, γ φ ) e calculo: r = Rγr 1/3 θ = cos 1 (1 2γ θ ) φ = 2πγ φ e x = r sen(θ) cos(φ) y = r sen(θ) sen(φ) z = r cos(θ)
17 / 22 exemplos de simulações exemplo: um universo homogêneo e uniforme
18 / 22 exemplos de simulações exemplo: transmissão de neutrons em uma placa I. Sobol, The Monte Carlo Method considere um fluxo de neutrons incidindo perpendicularmente a uma placa de espessura h suponha que, via interação com os átomos, os neutros podem sofrer ou absorção ou espalhamento elástico objetivo: estimar p +, p 0, p a) p + : probabilidade de transmissão b) p 0 : probabilidade de absorção c) p : probabilidade de reflexão
19 / 22 exemplos de simulações exemplo: transmissão de neutrons em uma placa parâmetros físicos: Σ a : seção de choque de absorção Σ e : seção de choque de espalhamento Σ = Σ a + Σ e : seção de choque total significado físico: na colisão com um átomo, a probabilidade de um neutron ser absorvido é Σ a /Σ e de ser espalhado é Σ e /Σ probabilidade de um neutron viajar uma distância x entre duas colisões com átomos: P(x) = Σ e Σx, 0 x < livre caminho médio: L = E(x) = 0 xp(x)dx = 1/Σ
exemplos de simulações exemplo: transmissão de neutrons em uma placa modelo probabilístico: movimentos apenas no plano (x,y) a partir de um certo ponto k na placa, um neutron pode viajar uma distância λ k formando um ângulo θ k com o eixo x: x k+1 = x k + λ k cos(θ k ) simulação de uma etapa da trajetória: λ k = 1 Σ ln γ λ µ k = cos θ k = 1 + 2γ θ (= distribuição uniforme entre -1 e 1) probabilidades: P(λ k ) = Σ e Σλ k P(θ k ) = 1 2 (1 cos θ k) 20 / 22
exemplos de simulações exemplo: transmissão de neutrons em uma placa simulação: condições iniciais: x 0 = 0, θ 0 = 0 N + = N = N 0 = 0 após a k-ésima iteração (k = 1,..., N): depois de N simulações, p + = N+ N, p0 = N0 N, p = N N testa-se se o neutron saiu da placa: x k+1 > h trajetória terminada e N + = N + + 1 testa-se se o neutron foi refletido: x k+1 < 0 trajetória terminada e N = N + 1 testa-se se o neutron foi absorvido: γ a < Σ a/σ trajetória terminada e N 0 = N 0 + 1 se nenhuma das anteriores, faz-se nova iteração, k+1 21 / 22
22 / 22 exemplos de simulações exercícios 1 Estime I = 1 0 x3 dx via MC. Obtenha estimativas usando N = 1, 10, 100, 1000, 10000 simulações. Faça um gráfico log-log da variância nos valores simulados de I versus N para analisar como o erro na estimativa da integral varia com N. 2 Em um observatório verifica-se uma relação entre a qualidade da noite hoje (boa, razoável, ruim) e a de amanhã, de acordo com a tabela. Faça uma simulação para estimar a fração de noites boas no longo prazo. amanhã boa amanhã razoável amanhã ruim hoje boa 0.60 0.30 0.10 hoje razoável 0.50 0.25 0.25 hoje ruim 0.20 0.40 0.40