Modelamento e simulação de processos 4. Método de Monte Carlo Prof. Dr. André Carlos Silva
1. INTRODUÇÃO O Método de Monte Carlo (MMC) é um método estatístico utilizado em simulações estocásticas com diversas aplicações em áreas como a física, matemática e biologia. O método de Monte Carlo tem sido utilizado há bastante tempo como forma de obter aproximações numéricas de funções complexas.
1. INTRODUÇÃO Este método tipicamente envolve a geração de observações de alguma distribuição de probabilidades e o uso da amostra obtida para aproximar a função de interesse. As aplicações mais comuns são em computação numérica para avaliar integrais.
1. INTRODUÇÃO
1. INTRODUÇÃO A idéia do método é escrever a integral que se deseja calcular como um valor esperado. De acordo com (HAMMERSELEY,1964) o nome "Monte Carlo" surgiu durante o projeto Manhattan na Segunda Guerra Mundial.
1. INTRODUÇÃO No projeto e de construção da bomba atómica, Ulam, von Neumann e Fermi consideraram a possibilidade de utilizar o método, que envolvia a simulação direta de problemas de natureza probabilística relacionados com o coeficiente de difusão do nêutron em certos materiais.
1. INTRODUÇÃO Apesar de ter despertado a atenção desses cientistas em 1948, a lógica do método já era conhecida há bastante tempo. Por exemplo, existe um registro de um artigo escrito por Lord Kelvin dezenas de anos antes que já utilizava técnicas de Monte Carlo em uma discussão das equações de Boltzmann.
1. INTRODUÇÃO Monte Carlo é uma cidade de Mônaco, a nordeste da capital do Principado (Monaco-Ville). Conhecida estância luxuosa, conhecida pelo seu glamour, celebridades que enxameiam as revistas cor de rosa, praias e cassinos.
1. INTRODUÇÃO É em Monte Carlo que se situa o Circuito de Mônaco, onde ocorre o Grande Prêmio de Mônaco de Fórmula Um. É palco, ainda, de competições de boxe, apresentações de moda e outros eventos de grande repercussão cultural.
1. INTRODUÇÃO
1. INTRODUÇÃO De uma maneira geral o MMC pode ser sumarizado como: O evento irá ocorrer com probabilidade p. 0 2 32-1 0.0 ocorre p não ocorre 1.0 Rp R >p
2. Classes do MME Existem três classes de algoritmos Monte Carlo: Erro-Unilateral; Erro-Bilateral e Erro-Não-Limitado.
2.1. MME de Erro-Unilateral Seja P um problema e A um algoritmo aleatório, A é um algoritmo Monte Carlo de Erro-Unilateral que resolve P se, e somente se: i) para toda configuração x que é solução de P: prob A x SIM ii) para toda configuração x que não é solução de P: 1 2 prob A x NÃO 1
2.1. MME de Erro-Unilateral Ou seja, sempre que a resposta é NÃO, o algoritmo garante a certeza da resposta. Contudo, se a resposta for SIM, o algoritmo não garante que a resposta está correta.
2.2. MME de Erro-Bilateral Um algoritmo aleatório A é um algoritmo de Monte Carlo de Erro-Bilateral que computa o problema F se existe um número real ε, tal que para toda instância x de F: prob 1 A x F x 2
2.3. MME de Erro-Não-Limitado Os algoritmos de Monte Carlo de Erro- Não-Limitado são comumente chamados de Algoritmos Monte Carlo. Um algoritmo aleatório A é um algoritmo de Monte Carlo se para qualquer entrada x do problema F: prob A x F x 1 2
3. Algoritmo de Metropolis O algoritmo de Metropolis, também conhecido por Algoritmo de Metropolis- Hastings, foi apresentado inicialmente em 1953 num artigo de Nicholas Metropolis, Arianna Rosenbluth, Marshall Rosenbluth, Augusta Teller e Edward Teller. Em 1970 este algoritmo foi generalizado por W. K. Hastings.
3. Algoritmo de Metropolis Este é provavelmente o método de Monte Carlo mais utilizado na Física, e tem como objetivo determinar valores esperados de propriedades do sistema simulado, através de uma média sobre uma amostra. O algoritmo é concebido de modo a se obter uma amostra que siga a distribuição de Boltzmann.
3. Algoritmo de Metropolis Para se determinar a probabilidade de uma dada configuração, seria necessário conhecer a chance de ocorrência de todas as outras configurações. No caso de variáveis contínuas, seria necessário uma integração da densidade de probabilidade sobre todo o espaço de configurações, mas esse procedimento fica muito custoso quando se utiliza um número de variáveis da ordem de centenas.
3. Algoritmo de Metropolis A eficiência do algoritmo de Metropolis está diretamente ligada ao fato de não levar em conta a probabilidade das configurações em si, mas sim a razão entre elas, pois a razão entre as probabilidades de duas dadas configurações pode ser determinada independentemente das outras.
3. Algoritmo de Metropolis Dadas duas configurações m e n quaisquer, a razão entre a probabilidade da configuração m, P m, e a probabilidade da configuração n, P n, pode ser escrita como: T k U U T k U T k U P P b n m b n b m n m exp exp exp
3. Algoritmo de Metropolis A partir dessa igualdade, o algoritmo de Metropolis pode ser implementado através do seguinte conjunto de regras: (a) Geração de uma configuração inicial aleatória, ou seja, com valores aleatórios para todos os graus de liberdade do sistema, respeitando as suas restrições. Vamos atribuir o índice m a essa configuração, que é aceita para a amostra.
3. Algoritmo de Metropolis (b) Geração de uma nova configuraçãotentativa de índice n, resultado de pequenas alterações nas coordenadas da configuração m. (c) Se a energia da configuração n for menor que a da configuração m, inclui-se a configuração n na nossa amostra, e se atribui a ela o índice m a partir desse momento. Caso contrário, realizam-se os passos descritos nos subitems (c1) e (c2) abaixo:
3. Algoritmo de Metropolis (c1) Gera-se um número aleatório entre 0 e 1; (c2) Se esse número aleatório for menor que P n /P m, aceita-se na amostra a configuração n, e se atribui a ela o índice m. Caso contrário, o índice m permanece designando a configuração original. (d) Repete-se os passos (b) e (c) até que algum critério de parada seja satisfeito. Cada uma dessas repetições é dita um passo (ou iteração) de Monte Carlo (MC).
Algoritmo Metropolis
4. Exemplo 1 π Neste exemplo um algoritmo de Monte Carlo simples é usado para calcular o valor de π usando uma seqüência de números aleatórios. Considere o quadrado colocado no plano x-y com a extremidade inferior esquerda na origem como mostrado na figura abaixo.
4. Exemplo 1 π y r Área A x
4. Exemplo 1 π A área do quadrado é r 2, onde r é o comprimento do seu lado. Um quarto de um círculo é inscrito no quadrado. Seu raio é r e seu centro está na origem do plano x-y.
4. Exemplo 1 π A área da quarta parte do círculo A é dada por: A 1 r 4 Pelo Método de Monte Carlo: 2 A l 2 P in P total
4. Exemplo 1 π Onde P in é o número de pontos sorteados aleatoriamente que ficaram dentro da área em amarelo, e o P total é o número total de pontos gerados. Considerando que o lado = raio = 1, temos: 4 P P in total
4. Exemplo 1 π O algoritmo de cálculo consiste então em gerar pontos P(x, y), sendo x e y [0, 1] e, de posse deste ponto verificar se este se encontra (ou não) dentro da área do círculo. Lembrando que equação da circunferência é: x 2 y 2 r 2 1
4. Exemplo 1 π
4. Exemplo 1 π
4. Exemplo 2 Decaimento nuclear Os núcleos radioativos possuem uma probabilidade p de decair em cada intervalo de tempo. Desta forma o processo de decaimento nuclear é um processo determinístico dado por:
4. Exemplo 2 Decaimento nuclear N 1 = (1 p) N 0 N 2 = (1 p) 2 N 0 N 3 = (1 p) 3 N 0 N 4 = (1 p) 4 N 0... N i = (1 p) i N 0
4. Exemplo 2 Decaimento nuclear Se agora modelarmos o processo cmo sendo um processo estocástico podemos verificar individualmente quantos núcleos decaem em cada intervalo de tempo, da seguinte forma: 0.0 p decai não decai 1.0
p=0.06 p=0.03
4. Exemplo 3 Partículas em uma caixa Uma caixa é separada em dois compartimentos. Inicialmente todas as partículas estão no compartimento da esquerda, quando uma passagem é aberta.
4. Exemplo 3 Partículas em uma caixa A cada intervalo de tempo uma partícula é escolhida para trocar de compartimento. Todas as partículas tem a mesma probabilidade de serem selecionadas.
4. Exemplo 3 Partículas em uma caixa Sorteia-se uma das N partículas e troca a partícula de compartimento. Como as partículas são idênticas (indistinguíveis), temos: esquerda/n 0.0 esquerda -1 esquerda +1 1.0
4. Exemplo 3 Partículas em uma caixa Para t >> 1 teremos (em média) a mesma quantidade de partículas nos dois compartimentos.
4. Exemplo 4 Caminhada aleatória Uma dada partícula escolherá aleatoriamente para qual direção irá se mover. Tanto o tempo quanto o espaço são discretos.
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 1D A partícula escolherá aleatoriamente para qual direção irá se mover (direita ou esquerda). -5-4 -3-2 -1 0 1 2 3 4 5
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 1D A partícula escolherá aleatoriamente para qual direção irá se mover (direita ou esquerda). -5-4 -3-2 -1 0 1 2 3 4 5
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 1D A partícula escolherá aleatoriamente para qual direção irá se mover (direita ou esquerda). -5-4 -3-2 -1 0 1 2 3 4 5
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 1D A partícula escolherá aleatoriamente para qual direção irá se mover (direita ou esquerda). -5-4 -3-2 -1 0 1 2 3 4 5
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 1D A partícula escolherá aleatoriamente para qual direção irá se mover (direita ou esquerda). -5-4 -3-2 -1 0 1 2 3 4 5
4. Exemplo 4 Caminhada aleatória Caminhada aleatória com tendência Persistente prefere se mover na mesma direção do passo anterior. Probabilidade p de manter a direção. p = ½ caminho aleatório padrão p = 1 movimento uniforme p =0 vai e volta Anti-persistente prefere se mover direção contrária ao passo anterior.
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D A partícula escolherá aleatoriamente para qual direção irá se mover (cima, baixo, direita ou esquerda). R
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D - Self-avoid walker Ele não passa por uma posição que já tenha sido ocupada anteriormente. Desta forma deve-se verificar quais são as direções permitidas antes de dar o passo.
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D - Self-avoid walker A simulação termina quando não existe mais opção de movimentação. Esta técnica é amplamente utilizada para representar crescimento de polímeros.
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D - Self-avoid walker Fim da simulação
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D - Self-avoid walker Existem caminhantes mais inteligentes, com previsão de dois passos, para evitar armadilhas. Simulação ainda continua...
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D - Self-avoid walker Pode-se incluir campos que interferem na direção ou na probabilidade de crescimento do polímero, simulando experimentos reais.
4. Exemplo 4 Caminhada aleatória Caminhada aleatória em 2D - Self-avoid walker
5. Integração pelo MMC A integração deve ocorrer em um intervalo limitado (cálculo de uma área). As coordenadas (x,y) dos pontos são escolhidas aleatoriamente, sorteando-se dois números aleatórios independentes.
5. Integração pelo MMC y f(x) a b x b a f x dx n A N
5. Integração pelo MMC y g(x) f(x) a b x b x f g( x) a dx A n N
5. Integração pelo MMC O gráfico abaixo apresenta o resultado da integral de f(x)=1/(1+x 2 ) no intervalo [0,1] analiticamente e via MMC.
5. Integração pelo MMC Como exemplo seja estimar a área ocupada por cada espécie em um coral. 1. Identificar a região de área A; 2. Escolher aleatoriamente as coordenadas do ponto; 3. Identificar a espécie que ocupa o local e fazer a contagem.
5.1. Integração pelo MMC em n dimensões No caso de n dimensões, devemos escolher n coordenadas aleatórias e verificar se o ponto está no interior da região de interesse, ou não. Tomemos como exemplo uma hiperesfera (S 3 ), sendo esta definida como o lugar geométrico dos pontos (x,y,z,w) do R 4 que satisfazem a relação x 2 + y 2 + z 2 + w 2 = r 2.
6. Modelo de Ising Introdução Construção de uma teoria microscópica da transição ferromagnética; Modelo simples (mas não trivial); Interações de curto alcance numa rede d- dimensional.
6. Modelo de Ising Hamiltoniano de spin: Onde: σ i = ±1; H J N i, j i1 J é a constante de acoplamento entre os spins; H é o campo magnético externo. i j H N i
6. Modelo de Ising Interpretações: Spin aponta para cima ou para baixo; Ocupação de um sítio por uma partícula do tipo A ou B, como numa liga binária do tipo AB (vizinhos iguais contribuem com uma energia J; vizinhos distintos, com uma energia +J);
6. Modelo de Ising Interpretações: Número de ocupação presença ou ausência de uma molécula numa determinada célula de um gás de rede.
6. Modelo de Ising Resolver o modelo de Ising significa escrever a função de partição canônica. Z N Z T, H, N exp H N i Várias técnicas foram desenvolvidas para tentar resolver o modelo de Ising em 2 ou 3 dimensões.
6. Modelo de Ising Podemos estudar fenômenos magnéticos a partir do modelo de Ising, que considera momentos magnéticos (spins) localizados, distribuídos em uma rede. No caso mais simples, consideramos que cada spin interage apenas com os seus primeiros vizinhos.
6. Modelo de Ising Interações entre segundos vizinhos podem ser incluídas no modelo, possibilitando o aparecimento de interações competitivas, dependendo de alguns parâmetros físicos. O modelo de Ising pode ser estudado de diferentes maneiras, entre elas a técnica de Monte Carlo e a aproximação de Campo médio.
6. Modelo de Ising A técnica de Monte Carlo consiste em obter uma seqüência de configurações do sistema de uma maneira estocástica, que depende de números aleatórios gerados durante a simulação.
6. Modelo de Ising Para uma quantidade Q, magnetização ou energia, por exemplo, o seu valor médio é definido por: Q M i1 M i1 Eci e Q c e i E c i
6. Modelo de Ising Onde E(c i ) a energia da n-ésima configuração. Como é praticamente impossível que todas as configurações sejam somadas em um sistema com muitos graus de liberdade, então soma-se as M configurações mais importantes numa dada temperatura.
6. Modelo de Ising Suponhamos que essas configurações mais importantes sejam escolhidas com uma certa probabilidade. Então passa a ser: i M i c E i M i c E i P c e P c e Q c Q i i / / 1 1
6. Modelo de Ising No modelo de Ising com técnica de Monte Carlo, começa-se com uma rede de spins S i = +/- 1 dispostos aleatoriamente. Escolhe-se um spin e faz-se a mudança S i = - S i
6. Modelo de Ising Se a diferença de energia entra a configuração após a mudança e antes dela ΔE = E(-S i ) E(S i ), for negativa aceitamos essa mudança em S i. Se ΔE > 0, aceitamos a nova configuração com a probabilidade exp(δe / kt).
6. Modelo de Ising Na simulação isso é feito sorteando um número aleatório r no intervalo de 0 < r < 1 e se exp(δe / kt) > r também aceitamos a mudança. Só rejeitamos se exp(δe / kt) < r.
6. Modelo de Ising É percorrida toda a rede fazendo essa mudança, após terminado, pega-se a configuração final de spins para calcular a média termodinâmica de acordo com a equação: Q 1 M M i1 Q c i