Modelamento e simulação de processos

Preview:

Citation preview

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 232-1

1.0 0.0 p

ocorre

Rp

não ocorre

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:

ii) para toda configuração x que não é solução de P:

2

1 SIMxAprob

1 NÃOxAprob

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:

2

1xFxAprob

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:

2

1 xFxAprob

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, Pm, e a

probabilidade da configuração n, Pn,

pode ser escrita como:

Tk

UU

Tk

U

Tk

U

P

P

b

nm

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ção-

tentativa 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 Pn/Pm, 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 – π

x

y

r

Área A

4. Exemplo 1 – π

A área do quadrado é r2, 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:

Pelo Método de Monte Carlo:

2

4

1rA

total

in

P

PlA 2

4. Exemplo 1 – π

Onde Pin é o número de pontos sorteados

aleatoriamente que ficaram dentro da

área em amarelo, e o Ptotal é o número

total de pontos gerados.

Considerando que o lado = raio = 1,

temos:

total

in

P

P4

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 é:

1222 ryx

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

N1 = (1 – p) N0

N2 = (1 – p)2 N0

N3 = (1 – p)3 N0

N4 = (1 – p)4 N0

.

.

.

Ni = (1 – p)i N0

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:

1.0 0.0 p decai não decai

p=0.03

p=0.06

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:

1.0 0.0

esquerda/N

esquerda -1 esquerda +1

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

a b x

y

f(x)

N

nAdxxf

b

a

5. Integração pelo MMC

a b x

y

f(x)

g(x)

N

nAdxxgxf

b

a

)(

5. Integração pelo MMC

O gráfico abaixo apresenta o resultado

da integral de f(x)=1/(1+x2) 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

(S3), sendo esta definida como o lugar

geométrico dos pontos (x,y,z,w) do R4 que

satisfazem a relação x2 + y2 + z2 + w2 = r2.

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

6. Modelo de Ising Hamiltoniano de spin:

Onde:

σi = ±1;

J é a constante de acoplamento entre os spins;

H é o campo magnético externo.

N

i

i

N

ji

ji HJ1,

H

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

6. Modelo de Ising

Resolver o modelo de Ising significa escrever a função de partição canônica.

Várias técnicas foram desenvolvidas para tentar resolver o modelo de Ising em 2 ou 3 dimensões.

N

N

i

NHTZZ

Hexp,,

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

6. Modelo de Ising

Para uma quantidade Q, magnetização

ou energia, por exemplo, o seu valor

médio é definido por:

M

i

cE

M

i

cE

i

i

i

e

ecQ

Q

1

1

Onde E(ci) 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

6. Modelo de Ising

Suponhamos que essas configurações

mais importantes sejam escolhidas com

uma certa probabilidade.

Então passa a ser:

iM

i

cE

i

M

i

cE

i

cPe

cPecQ

Qi

i

/

/

1

1

No modelo de Ising com técnica de

Monte Carlo, começa-se com uma rede

de spins Si = +/- 1 dispostos

aleatoriamente.

Escolhe-se um spin e faz-se a mudança

Si = - Si

6. Modelo de Ising

Se a diferença de energia entra a

configuração após a mudança e antes

dela ΔE = E(-Si) – E(Si), for negativa

aceitamos essa mudança em Si.

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

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:

M

i

icQM

Q1

1

Recommended