Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Laboratorio 3
Algoritmos Estocásticos usando Cadenas de Markov
Resumen
A veces se busca simular una v.a. con cierta ley π sobre un espacio E, pero esto puede ser muy
costoso computacionalmente. Un ejemplo de esto es cuando E es finito pero muy grande, y se conoce
π salvo por constante multiplicativa: ni siquiera es posible calcular la constante que normaliza.
El modelo de ferromagnetismo que se trabaja en la primera sección presenta este problema. El
problema se aborda con Markov Chain Monte Carlo, que consiste básicamente en simular un cadena
de Markov cuya probabilidad invariante sea π.
Índice de Contenidos
1. Modelo de Ising en Z2 1
1.1. Limitaciones prácticas y motivación para usar MCMC . . . . . . . . . . . . . . . . 1
1.2. Elección de G y R usando Metrópolis . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Algoritmo MCMC para el modelo Ising . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Comportamiento de MCMC para distintos parámetros . . . . . . . . . . . . . . . . 5
1.5. Una aproximación del βC de transición de fase . . . . . . . . . . . . . . . . . . . . . 6
1.6. Aproximación más precisa de βC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Índice de Figuras
1. Cantidad de 1s y −1s en la cadena, para distintos valores de N y β, con nf= 50 000. . 5
2. Spin medio para distintos valores de β, tomando N = 50, nf = 1 000 000 . . . . . . . . 6
3. Spin medio para distintos valores de β, tomando N = 50, nf = 1 000 000 . . . . . . . . 7
4. Mínimos locales obtenidos con el algoritmo de simulated annealing . . . . . . . . . . . 10
5. Caminos mínimos encontrados por el algoritmo para distintas sucesiones βn . . . . . . 10
Índice de Tablas
1. Mínimos encontrados por el algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Modelo de Ising en Z2
Queremos modelar el ferromagnetismo en una placa metálica plana idealizada. Más especí-
ficamente, para N ∈ N grande, las moléculas de la placa se ubican en la grilla 2-dimensional
Λ = ΛN = {−N, . . . , N }2 ⊆ Z2 , y cada molécula posee un momento magnético o spin, el cual pue-
de estar orientado hacia arriba o hacia abajo. Por lo tanto, el conjunto de posibles configuraciones
es EN = {−1, 1}Λ . Dado x ∈ EN , y m ∈ Λ, denotamos x(m) ∈ {−1, 1} el spin del sitio m en la
configuración x. Trabajaremos en el espacio E de configuraciones con spin fijo hacia arriba en el
borde:
donde m ∼ m0 denota que m y m0 son vecinos en la grilla, es decir, que están a distancia 1
(cada para m, m0 ∈ Λ aparece una sola vez en la sumatoria). Supondremos que la probabiliad de
que el sistema se encuentre en la configuración x ∈ E está dada por:
e−βH(x)
πx = ,
Z(β)
para β > 0 dado (1/β es la temperatura), y Z(β) = y∈E e−βH(y) es la constante de normalización.
P
Para el caso N = 10, vemos que |E| ≈ 2400 ≈ 10120 . Esto nos permite ver que, en la práctica,
calcular Z(β) de forma explícita no es posible. Debido a esto, usaremos un algoritmo tipo Markov
Chain Monte Carlo (MCMC) para realizar simulaciones aproximadas de π.
2. Definir: (
|{z : xz ∈ G}|−1 si xy ∈ G
Rxy =
0 si xy ∈
/G
6 n←n+1
Es fácil ver que G es conexo. Para definir R usaremos Metropolis. Para x, y ∈ E tal que xy ∈ G:
Notamos que, dado un x ∈ E, sus vecinos z en G son los estados que difieren exactamente en un
sitio. Podrían diferir en cualquiera de los |Λ\∂Λ| sitios libres, y una vez elegida la posición, solo hay
una posible configuración. Luego, la cantidad de vecinos de x ∈ G es |Λ\∂Λ| = (2(N − 1) + 1)2 =
(2N − 1)2 . Con esto:
(
1
(2N −1)2
xy ∈ G
Rxy =
0 xy ∈
/G
En particular, notamos que R es una matriz simétrica. Calculamos también:
πy Ryx
= e−β(H(y)−H(x))
πx Rxy
!
X
0 2 0 2
= exp −β [y(m) − y(m )] − [x(m) − x(m )]
m∼m0
Por ser vecinos difieren únicamente en un sitio m0 . Eso implica que x(m) = y(m) ∀m 6= m0 y
que x(m0 ) = −y(m0 ).
!
πy Ryx X
= exp −β x(m)2 + 2x(m)x(m0 ) + x(m0 )2 − x(m)2 + 2x(m)x(m0 ) − x(m0 )2
πx Rxy m:m∼m0
!
X
= exp −β 4x(m)x(m0 )
m:m∼m0
Concluimos que !
πy Ryx X
= exp −4βx(m0 ) x(m)
πx Rxy m:m∼m0
5 n←n+1
6 until n > nf;
7 return Xn
Cantidad de 1s y −1s
6000 6000
4000 4000
2000 2000
0 0
0 1 2 3 4 5 0 1 2 3 4 5
Tiempo ×104 Tiempo ×104
35000 1 35000
Cantidad de 1s y −1s
30000 30000
Cantidad de 1s y −1s
25000 25000
20000 20000
15000 15000
10000 10000
5000 5000
0 0
Cantidad de 1s y −1s
120000 120000
100000 100000
80000 80000
60000 60000
40000 40000
20000 20000
0 0
0 1 2 3 4 5 0 1 2 3 4 5
Tiempo ×104 Tiempo ×104
Observamos que para β pequeño el sistema alcanza un equilibrio donde ambos spines pueden
coexistir, pero para β grande, todo converge a tener spin 1. Nos interesa encontrar el βC donde
ocurre la transición de fase.
0.8
0.6
Spin medio
0.4
0.2
0.0
0.0 0.2 0.4 0.6 0.8 1.0
β
Los resulados obtenidos pueden verse en la Figura 2. Deducimos que βC ∈ [0.1, 0.4].
0.8
0.4
0.2
donde d : {1, .., N }2 → R2 es la distancia euclidiana usual entre dos ciudades y se usa la convención
σ(N + 1) = 1 para σ ∈ E. Definimos el grafo G dado por la siguiente relación de adyacencia:
σ(i) = τ (j)
σ(j) = τ (i)
σ(k) = τ (k) ∀k 6= i, j
Este cálculo esta hecho en el peor de los casos, es decir, cuando i − 1 ni i + 1 coincide con j, en
dicho caso, muchos de esos términos se anulan. Dado que en cualquier otro caso, se tiene que las
distancias son las mismas, notemos que i, j > 1 por lo tanto siempre tiene sentido de hablar de
τ (i − 1) ó τ (j − 1) cuando τ ∈ E. Luego podemos acotar cada sumando por 1, así
w(τ ) − w(σ) ≤ 4
Se simuló, para N = 20 la cadena que corresponde al algoritmo y se dejó correr por un tiempo
T = 105 , donde en cada iteración se guardaba el valor mínimo encontrado hasta dicho instante,
para que al término de la simulación de la cadena, entrege el mínimo encontrado hasta el instante
T y no el último valor de la cadena. En la Figura 4 a se muestra el camino obtenido con dicho
método donde se obtuvo un peso de
w1∗ = 6.2375
Dicho resultado no fue gratificante, dado la cantidad de cruces en el camino y el alto peso. Esto
fue debido a que los valores
w2∗ = 3.9617
y dicho camino se muestra en la Figura 4b el cual no presenta nigún cruce.
(a) Resultado obtenido, con el algoritmo (b) Resultado modificando la función de coste
Hecho esto se procede a comparar cómo cambia el resultado cuando modificamos las sucesiones
βn del algoritmo, se consideraron 4 sucesiones distintas y se comparó su desempeño en la Tabla 1
y en la Figura 5 se pueden apreciar el resultado de las cuatro realizaciones del algoritmo, donde el
mejor resultado se lo lleva la sucesión considerada originalmente. En cátedra se habló sobre que la
elección del hiperparémtro βn se toma, por lo general, de manera creciente pero lenta, de manea
que el algoritmo se .enfríe".
Conclusiones
Haciendo uso del método de Markov Chain Monte Carlo se logró simular una distribución
de probabilidad que sería imposible computar en cualquier computador en un tiempo razonable.
Dado esto, se pudo simular el modelo de Ising, y se pudo observar un comportamiendo crítico del
sistema, y compararlo con el valor teórico. Por otra parte, mediante simulated annealing se logró
dar soluciones a un problema difícil como lo es el problema del vendedor viajero. Se comprobó en
este caso, la heurística de tomar una sucesión βn de manera creciente, pero con un crecimiento
lento. También se pudo practicar con el ajuste del hiperparpámetro C, el cual, resulta importante
para al menos tener convergencia del método.