Grupo - Modelo de Potts: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(34 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 2: Linha 2:


=Descrição do modelo=
=Descrição do modelo=
No modelo de Potts a <math>q</math> estados são considerados <math>N</math> spins <math>s_i</math> dispostos em uma rede, geralmente bidimesnsional retangular, cada spin podendo estar em um dos <math>q</math> estados possíveis.
 
No modelo de Potts a <math>q</math> estados são considerados <math>N</math> spins <math>s_i</math> dispostos em uma rede, geralmente bidimensional retangular, cada spin podendo estar em um dos <math>q</math> estados possíveis.


O Hamiltoniano desse sistema é
O Hamiltoniano desse sistema é
Linha 10: Linha 11:
onde <math>J</math> é a constante de acoplamento que determina a intensidade da interação, <math>\delta(s_i,s_j)</math> é a função delta de Kronecker que retorna <math>1</math> se <math>s_i=s_j</math> e retorna <math>0</math> para todos os outros casos, e o somatório considera somente os pares <math>(i,j)</math> de spins vizinhos.
onde <math>J</math> é a constante de acoplamento que determina a intensidade da interação, <math>\delta(s_i,s_j)</math> é a função delta de Kronecker que retorna <math>1</math> se <math>s_i=s_j</math> e retorna <math>0</math> para todos os outros casos, e o somatório considera somente os pares <math>(i,j)</math> de spins vizinhos.


No caso ferromagnético, <math>J>0</math>, o nível fundamental de energia possui uma degenerescência igual à <math>q</math>, correspondendo aos valores possíveis para todos os spins alinhados.
No caso ferromagnético, <math>J>0</math>, o nível fundamental de energia possui uma degenerescência igual a <math>q</math>, correspondendo aos valores possíveis para todos os spins alinhados.


==Relação com o modelo de Ising==
==Relação com o modelo de Ising==


É importante remarcar que para <math>q=2</math> o modelo de Potts é equivalente ao modelo de Ising com constante de acoplamento <math>\frac{J}{2}</math> a menos de uma constante aditiva <math>\sum_{(i,j)}\frac{J}{2}</math> no Hamiltoniano.
É importante notar que para <math>q=2</math> o modelo de Potts é equivalente ao modelo de Ising com constante de acoplamento <math>\frac{J}{2}</math> a menos de uma constante aditiva <math>\sum_{(i,j)}\frac{J}{2}</math> no Hamiltoniano.


  <math>H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -J\sum_{(i,j)} \delta(s_i,s_j) + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} (2\delta(s_i,s_j) - 1) </math>
  <math>H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -J\sum_{(i,j)} \delta(s_i,s_j) + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} (2\delta(s_i,s_j) - 1) </math>


nesse caso os spins <math>s_i</math> e <math>s_j</math> tem apenas dois valores possíveis e
nesse caso os spins <math>s_i</math> e <math>s_j</math> têm apenas dois valores possíveis e


  <math> 2\delta(s_i,s_j) - 1 = \begin{cases}
  <math> 2\delta(s_i,s_j) - 1 = \begin{cases}
Linha 25: Linha 26:
  \end{cases}</math>
  \end{cases}</math>


logo considerando como valores possíveis para os spin como <math>-1</math> e <math>1</math> encontramos
logo considerando como valores possíveis para os spins <math>\{s_i,s_j\}</math> como <math>-1</math> ou <math>1</math> encontramos


  <math>H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} s_i s_j </math>
  <math>H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} s_i s_j </math>
Linha 31: Linha 32:
=Simulação Monte Carlo=
=Simulação Monte Carlo=


A abordagem utilizada para simular por Monte Carlo um sistema seguindo o modelo de Potts com <math>q</math> pequeno é naturalmente similar àquela utilizada para o modelo de Ising, seguindo o algoritmo de Metropolis. Entretanto para valores mais elevados de <math>q</math> esse algoritmo se torna ineficiente e o sistema demora um tempo muito longo para entrar em equilíbrio térmico.
[[Arquivo:AnimationHB-Q10-L256-T0.5.gif|thumb|right|500px|Simulação Monte Carlo com algoritmo do banho térmico para uma rede retangular <math>256\times 256</math> com <math>q=10</math> e <math>T=0.5\text{J}</math> utilizando uma temperatura inicial infinita: podemos notar a formação de clusters de spins em baixa temperatura.]]
[[Arquivo:AnimationHB-Q10-L256-T1.0.gif|thumb|right|500px|Simulação Monte Carlo com algoritmo do banho térmico para uma rede retangular <math>256\times 256</math> com <math>q=10</math> e <math>T=1.0\text{J}</math>: em alta temperatura, a formação de clusters não é observada.]]
 
A abordagem utilizada para simular por Monte Carlo um sistema seguindo o modelo de Potts com <math>q</math> pequeno é, naturalmente, similar àquela utilizada para o modelo de Ising: seguindo o algoritmo de Metropolis. Entretanto para valores mais elevados de <math>q</math> esse algoritmo se torna ineficiente e o sistema demora um tempo muito longo para entrar em equilíbrio térmico.


==Eficiência do algoritmo de Metropolis==
==Eficiência do algoritmo de Metropolis==


Para entender porque o algoritmo de Metropolis não é otimo para uma simulação Monte Carlo de um sistema seguindo o modelo de Potts devemos nos lembrar como ele resolve o problema de amostragem por importância.
Para entender porque o algoritmo de Metropolis não é otimo para uma simulação Monte Carlo de um sistema seguindo o modelo de Potts, devemos relembrar como ele resolve o problema de amostragem por importância.


As condições necessárias para a amostragem por importância são:
As condições necessárias para a amostragem por importância são:
Linha 49: Linha 53:
onde <math>Z</math> é a função de partição e <math>\beta = \frac{1}{k_B T}</math> é o inverso da temperatura.
onde <math>Z</math> é a função de partição e <math>\beta = \frac{1}{k_B T}</math> é o inverso da temperatura.


Considerando a probabilidade de transição de estado como o produto de uma probabilidade de seleção de um novo estado <math>g(\mu \rightarrow \nu)</math>, a probabilidade de considerar <math>\nu</math> como o próximo estado na cadeia dado o estado atual <math>\mu</math>, e uma probabilidade de aceitação de transição <math>A(\mu \rightarrow \nu)</math>
Considerando a probabilidade de transição de estado <math>P(\mu \rightarrow \nu)</math> como o produto de uma probabilidade de seleção de um novo estado <math>g(\mu \rightarrow \nu)</math> (a probabilidade de considerar <math>\nu</math> como o próximo estado na cadeia dado o estado atual <math>\mu</math>) e uma probabilidade de aceitação de transição <math>A(\mu \rightarrow \nu)</math>


  <math>P(\mu \rightarrow \nu) = g(\mu \rightarrow \nu)A(\mu \rightarrow \nu)</math>
  <math>P(\mu \rightarrow \nu) = g(\mu \rightarrow \nu)A(\mu \rightarrow \nu)</math>
Linha 55: Linha 59:
o algoritmo de Metropolis atribui um valor fixo e uniforme para a probabilidade de seleção
o algoritmo de Metropolis atribui um valor fixo e uniforme para a probabilidade de seleção


  <math>g(\mu \rightarrow \nu) = \frac{1}{N} \quad \forall \mu, \nu</math>
  <math>g(\mu \rightarrow \nu) = \frac{1}{N}, \quad \forall \mu, \nu</math>


que claramente garante a ergodicidade, restando apenas uma condição sobre os valores das probabilidades de aceitação:
que claramente garante a ergodicidade, restando apenas uma condição sobre os valores das probabilidades de aceitação:
Linha 70: Linha 74:
[[Arquivo:ExemploPottsMetropolis1.png|thumb|upright=1.2|right|Exemplo: rede bidimensional retangular com <math>q=100</math>. Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é <math>4/100=4%</math>, logo teremos que esperar em média <math>25</math> passos para a simulação avançar.]]
[[Arquivo:ExemploPottsMetropolis1.png|thumb|upright=1.2|right|Exemplo: rede bidimensional retangular com <math>q=100</math>. Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é <math>4/100=4%</math>, logo teremos que esperar em média <math>25</math> passos para a simulação avançar.]]


O problema desse algoritmo para um modelo como o de Potts que admite um número elevado de estados possíveis para o spin é evidenciado quando consideramos um sistema à baixa temperatura. Para altas temperaturas a probabilidade de aceitação é igual à <math>1</math> ou suficientemente alta por conta de um <math>\beta</math> pequeno tornando algoritmo eficiente, entretanto à baixa temperatura os spins tendem à se alinhar com seus vizinhos constituindo o fenômeno do ferromagnetismo. Se imaginarmos um spin no estado <math>s_i</math> cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor <math>s_i'</math> selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é <math>A(\mu \rightarrow \nu) = 1</math> pois essa troca de spin vai diminuir a enrgia do sistema (quando <math>s_i'</math> for estado de um spin vizinho) ou no máximo manter constante a energia do sistema (<math>s_i'</math> continua sendo diferente de todos os spins vizinhos). Com isso, temos um probabilidade de o sistema trocar para um estado de menor energia de <math>\frac{N_v}{q}</math>, onde <math>N_v</math> é número de vizinhos mais próximos de cada spin, aumentando muito o tempo necessário para o sistema entrar em equilíbrio.
O problema desse algoritmo para um modelo como o de Potts, que admite um número elevado de estados possíveis para o spin, é evidenciado quando consideramos um sistema a baixas temperaturas. Para altas temperaturas, a probabilidade de aceitação é unitária ou suficientemente alta por conta de um <math>\beta</math> pequeno tornando o algoritmo eficiente. Entretanto a baixas temperaturas, os spins tendem a se alinhar com seus vizinhos constituindo o fenômeno do ferromagnetismo. Se imaginarmos um spin no estado <math>s_i</math> cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor <math>s_i'</math> selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é <math>A(\mu \rightarrow \nu) = 1</math> pois essa troca de spin vai diminuir a energia do sistema (quando <math>s_i'</math> for estado de um spin vizinho) ou, no máximo, manter constante a energia do sistema (<math>s_i'</math> continua sendo diferente de todos os spins vizinhos). Com isso, temos uma probabilidade <math>\frac{z}{q}</math> de o sistema trocar para um estado de menor energia, onde <math>z</math> é número de coordenação da rede, aumentando muito o tempo necessário para o sistema entrar em equilíbrio.


De maneira similar, se um spin tem o mesmo estado de um de seus vizinhos teremos <math>N_v</math> novos estados <math>\nu</math> com taxa de aceitação unitária enquanto todos outros <math>q-N_v</math> estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que <math>N_v/q</math> novamente atrasando a simulação.
De maneira similar, se um spin tem o mesmo estado de um de seus vizinhos, teremos <math>z</math> novos estados <math>\nu</math> com taxa de aceitação unitária enquanto todos outros <math>q-z</math> estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que <math>z/q</math>, novamente atrasando a simulação.


==Algoritmo do banho térmico==
==Algoritmo do banho térmico==


Uma solução possível para o problema apresentado é utilizar o algoritmo de banho térmico que também troca o estado de um spin por vez mas utiliza uma técnica diferente para satisfazer a condição do balanço detalhado. Diferentemente do algoritmo de Metropolis onde a probabilidade de seleção <math>g(\mu \rightarrow \nu)</math> é uniforme e a probabilidade de aceitação <math>A(\mu \rightarrow \nu)</math> obedece uma lei que resulta em uma probabilidade de transição <math>P(\mu \rightarrow \nu)</math> que respeita a condição, no algoritmo do banho térmico a taxa de aceitação é unitária
Uma solução possível para o problema apresentado é utilizar o algoritmo de banho térmico, que também troca o estado de um spin por vez mas utiliza uma técnica diferente para satisfazer a condição do balanço detalhado. Diferentemente do algoritmo de Metropolis, onde a probabilidade de seleção <math>g(\mu \rightarrow \nu)</math> é uniforme e a probabilidade de aceitação <math>A(\mu \rightarrow \nu)</math> obedece uma dada lei resultando em uma probabilidade de transição <math>P(\mu \rightarrow \nu)</math> que respeita a condição, no algoritmo do banho térmico a taxa de aceitação é unitária


  <math>A(\mu \rightarrow \nu) = 1 \quad \forall \mu, \nu</math>
  <math>A(\mu \rightarrow \nu) = 1, \quad \forall \mu, \nu</math>


e a taxa de seleção é baseado nos pesos de Boltzmann (peso não nulo inclusive para o estado atual do sistema)
e a taxa de seleção é baseada nos pesos de Boltzmann (peso não nulo inclusive para o estado atual do sistema)


  <math>g(\mu \rightarrow \nu) \propto e^{-\beta E_\nu} \propto p_\nu \quad \forall \mu, \nu</math>
  <math>g(\mu \rightarrow \nu) \propto e^{-\beta E_\nu} \propto p_\nu, \quad \forall \mu, \nu</math>


resultando automaticamente numa probabilidade de transição que respeita o balanço detalhado.
resultando automaticamente numa probabilidade de transição que respeita o balanço detalhado.


Esse algoritmo é muito mais eficiente para sistemas com alto grau de degenerescencia como o modelo de Potts com grau <math>q</math> elevado.
Esse algoritmo é muito mais eficiente para sistemas com alto grau de degenerescência, como o modelo de Potts com grau <math>q</math> elevado.
 
==Testes numéricos==
 
<math>q=2</math>, rede retangular <math>64\times 64</math> com condições de contorno periódicas a uma temperatura <math>T=2.5\text{J}</math> (<math>k_B=1</math>)
 
[[Arquivo:Etime-Q2-T2.5-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=2</math> (Ising) e <math>T=2.5\text{J}</math>: Energia em função do tempo]]
[[Arquivo:Mtime-Q2-T2.5-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=2</math> (Ising) e <math>T=2.5\text{J}</math>: Magnetização em função do tempo]]
 
Para o modelo de Ising a altas temperaturas, o algoritmo de Metropolis tem uma pequena vantagem, mas para ambos os casos o sistema acaba termalizando em aproximadamente <math>20\text{ MCSweeps}</math> (para uma rede com <math>N</math> spins, <math>1\text{ MCSweep}</math> é equivalente a <math>N</math> passos Monte Carlo, isto é, evolução suficiente para dar a todos os spins uma chance de trocar de estado).
 
<math>q=2</math>, rede retangular <math>64\times 64</math> com condições de contorno periódicas a uma temperatura <math>T=0.8\text{J}</math>
 
[[Arquivo:Etime-Q2-T0.8-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=2</math> (Ising) e <math>T=0.8\text{J}</math>: Energia em função do tempo]]
[[Arquivo:Mtime-Q2-T0.8-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=2</math> (Ising) e <math>T=0.8\text{J}</math>: Magnetização em função do tempo]]
 
Para o modelo de Ising a baixas temperaturas, encontramos seu comportamento ferromagnético e ambos os algoritmos são quivalentes.
 
<math>q=10</math>, rede retangular <math>64\times 64</math> com condições de contorno periódicas a uma temperatura <math>T=0.8\text{J}</math>
 
[[Arquivo:Etime-Q10-T0.8-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=10</math> e <math>T=0.8\text{J}</math>: Energia em função do tempo]]
[[Arquivo:Mtime-Q10-T0.8-L64.png|thumb|center|700px|Simulação Monte Carlo com <math>q=10</math> e <math>T=0.8\text{J}</math>: Magnetização em função do tempo]]
 
Quando <math>q=10 > z</math> podemos notar a diferença entre os algoritmos com banho térmico termalizando em <math>50\text{ MCSweeps}</math> enquanto Metropolis leva pouco menos de <math>200\text{ MCSweeps}</math>.


=Códigos utilizados=
=Códigos utilizados=

Edição atual tal como às 12h33min de 29 de janeiro de 2018

Originalmente descrito por Renfrey Potts em 1951 na sua tese de doutorado, esse modelo é uma generalização do modelo de Ising para a interação entre spins em uma rede cristalina.

Descrição do modelo

No modelo de Potts a Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q} estados são considerados Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} spins Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s_i} dispostos em uma rede, geralmente bidimensional retangular, cada spin podendo estar em um dos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q} estados possíveis.

O Hamiltoniano desse sistema é

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle H_p = -J \sum_{(i,j)} \delta(s_i,s_j) }

onde Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle J} é a constante de acoplamento que determina a intensidade da interação, Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \delta(s_i,s_j)} é a função delta de Kronecker que retorna Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1} se Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s_i=s_j} e retorna Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 0} para todos os outros casos, e o somatório considera somente os pares Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle (i,j)} de spins vizinhos.

No caso ferromagnético, Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle J>0} , o nível fundamental de energia possui uma degenerescência igual a Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q} , correspondendo aos valores possíveis para todos os spins alinhados.

Relação com o modelo de Ising

É importante notar que para Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q=2} o modelo de Potts é equivalente ao modelo de Ising com constante de acoplamento Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{J}{2}} a menos de uma constante aditiva Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{(i,j)}\frac{J}{2}} no Hamiltoniano.

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -J\sum_{(i,j)} \delta(s_i,s_j) + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} (2\delta(s_i,s_j) - 1) }

nesse caso os spins Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s_i} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s_j} têm apenas dois valores possíveis e

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle  2\delta(s_i,s_j) - 1 = \begin{cases}  1, \quad \text{se } s_i = s_j \\  -1, \quad \text{se } s_i \neq s_j  \end{cases}}

logo considerando como valores possíveis para os spins Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{s_i,s_j\}} como Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle -1} ou Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 1} encontramos

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle H_I = H_p + \sum_{(i,j)}\frac{J}{2} = -\frac{J}{2}\sum_{(i,j)} s_i s_j }

Simulação Monte Carlo

Simulação Monte Carlo com algoritmo do banho térmico para uma rede retangular Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 256\times 256} com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q=10} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle T=0.5\text{J}} utilizando uma temperatura inicial infinita: podemos notar a formação de clusters de spins em baixa temperatura.
Simulação Monte Carlo com algoritmo do banho térmico para uma rede retangular Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 256\times 256} com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q=10} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle T=1.0\text{J}} : em alta temperatura, a formação de clusters não é observada.

A abordagem utilizada para simular por Monte Carlo um sistema seguindo o modelo de Potts com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q} pequeno é, naturalmente, similar àquela utilizada para o modelo de Ising: seguindo o algoritmo de Metropolis. Entretanto para valores mais elevados de Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q} esse algoritmo se torna ineficiente e o sistema demora um tempo muito longo para entrar em equilíbrio térmico.

Eficiência do algoritmo de Metropolis

Para entender porque o algoritmo de Metropolis não é otimo para uma simulação Monte Carlo de um sistema seguindo o modelo de Potts, devemos relembrar como ele resolve o problema de amostragem por importância.

As condições necessárias para a amostragem por importância são:

  • Ergodicidade: a garantia de que qualquer estado do sistema é acessível à partir de qualquer outro estado dado um comprimento suficientemente grande da cadeia de Markov.
  • Balanço detalhado: a garantia de que a cadeia de Markov de matriz estocástica Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(\mu \rightarrow \nu)} vai convergir, quando o sistema atingir o equilíbrio térmico, para uma dada distribuição Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle {p_\mu}} .
Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle p_\mu P(\mu \rightarrow \nu) = p_\nu P(\nu \rightarrow \mu)}

No caso do ensemble canônico essa distribuição é a distribuição de Boltzmann

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle p_\mu = \frac{1}{Z}e^{-\beta E_\mu}}

onde Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle Z} é a função de partição e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \beta = \frac{1}{k_B T}} é o inverso da temperatura.

Considerando a probabilidade de transição de estado Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(\mu \rightarrow \nu)} como o produto de uma probabilidade de seleção de um novo estado Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle g(\mu \rightarrow \nu)} (a probabilidade de considerar Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \nu} como o próximo estado na cadeia dado o estado atual Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mu} ) e uma probabilidade de aceitação de transição Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle A(\mu \rightarrow \nu)}

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(\mu \rightarrow \nu) = g(\mu \rightarrow \nu)A(\mu \rightarrow \nu)}

o algoritmo de Metropolis atribui um valor fixo e uniforme para a probabilidade de seleção

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle g(\mu \rightarrow \nu) = \frac{1}{N}, \quad \forall \mu, \nu}

que claramente garante a ergodicidade, restando apenas uma condição sobre os valores das probabilidades de aceitação:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{A(\mu \rightarrow \nu)}{A(\nu \rightarrow \mu)} = \frac{p_\nu}{p_\mu} = e^{\beta (E_\nu - E_\mu)}}

que é satisfeita com a seguinte lei de seleção:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle  A(\mu \rightarrow \nu) = \begin{cases}  e^{-\beta(E_\nu - E_\mu)}, \quad \text{se } E_\nu > E_\mu \\  1, \quad \text{caso contrario}  \end{cases}}

Exemplo: rede bidimensional retangular com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle q=100} . Um spin cercado por vizinhos de valores diferentes, a probabilidade de o sistema trocar para um estado de menor energia é Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 4/100=4%} , logo teremos que esperar em média Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 25} passos para a simulação avançar.

O problema desse algoritmo para um modelo como o de Potts, que admite um número elevado de estados possíveis para o spin, é evidenciado quando consideramos um sistema a baixas temperaturas. Para altas temperaturas, a probabilidade de aceitação é unitária ou suficientemente alta por conta de um pequeno tornando o algoritmo eficiente. Entretanto a baixas temperaturas, os spins tendem a se alinhar com seus vizinhos constituindo o fenômeno do ferromagnetismo. Se imaginarmos um spin no estado cercado por vizinhos de valores diferentes, seguindo o algoritmo de Metropolis, seja qual for o valor selecionado uniformemente para o novo estado desse spin a probabilidade de aceitação é pois essa troca de spin vai diminuir a energia do sistema (quando for estado de um spin vizinho) ou, no máximo, manter constante a energia do sistema ( continua sendo diferente de todos os spins vizinhos). Com isso, temos uma probabilidade de o sistema trocar para um estado de menor energia, onde é número de coordenação da rede, aumentando muito o tempo necessário para o sistema entrar em equilíbrio.

De maneira similar, se um spin tem o mesmo estado de um de seus vizinhos, teremos novos estados com taxa de aceitação unitária enquanto todos outros estados terão uma taxa de aceitação muito baixa (dependendo da temperatura) resultando em uma probabilidade de transição pouco maior que , novamente atrasando a simulação.

Algoritmo do banho térmico

Uma solução possível para o problema apresentado é utilizar o algoritmo de banho térmico, que também troca o estado de um spin por vez mas utiliza uma técnica diferente para satisfazer a condição do balanço detalhado. Diferentemente do algoritmo de Metropolis, onde a probabilidade de seleção é uniforme e a probabilidade de aceitação obedece uma dada lei resultando em uma probabilidade de transição que respeita a condição, no algoritmo do banho térmico a taxa de aceitação é unitária


e a taxa de seleção é baseada nos pesos de Boltzmann (peso não nulo inclusive para o estado atual do sistema)


resultando automaticamente numa probabilidade de transição que respeita o balanço detalhado.

Esse algoritmo é muito mais eficiente para sistemas com alto grau de degenerescência, como o modelo de Potts com grau elevado.

Testes numéricos

, rede retangular  com condições de contorno periódicas a uma temperatura  ()
Simulação Monte Carlo com (Ising) e : Energia em função do tempo
Simulação Monte Carlo com (Ising) e : Magnetização em função do tempo

Para o modelo de Ising a altas temperaturas, o algoritmo de Metropolis tem uma pequena vantagem, mas para ambos os casos o sistema acaba termalizando em aproximadamente (para uma rede com spins, é equivalente a passos Monte Carlo, isto é, evolução suficiente para dar a todos os spins uma chance de trocar de estado).

, rede retangular  com condições de contorno periódicas a uma temperatura 
Simulação Monte Carlo com (Ising) e : Energia em função do tempo
Simulação Monte Carlo com (Ising) e : Magnetização em função do tempo

Para o modelo de Ising a baixas temperaturas, encontramos seu comportamento ferromagnético e ambos os algoritmos são quivalentes.

, rede retangular  com condições de contorno periódicas a uma temperatura 
Simulação Monte Carlo com e : Energia em função do tempo
Simulação Monte Carlo com e : Magnetização em função do tempo

Quando podemos notar a diferença entre os algoritmos com banho térmico termalizando em enquanto Metropolis leva pouco menos de .

Códigos utilizados

Modelo de Potts

Referências

Potts, Renfrey B. (1952). "Some Generalized Order-Disorder Transformations". Mathematical Proceedings.

M. E. J. Newman, G. T. Barkema, "Monte Carlo Methods in Statistical Physics". Oxford University Press Inc., New York, 1999.