Symulacje MC modelu Isinga jako narzedzie do testowania

Transkrypt

Symulacje MC modelu Isinga jako narzedzie do testowania
Symulacje MC modelu Isinga jako narzędzie
do testowania generatorów liczb losowych
Rafał Topolnicki
KNF ”Migacz” Uniwersytet Wrocławski
Abstrakt:
Plakat przedstawia wyniki uzyskane przy symulowaniu modelu Isinga metodami MC a dokładniej algorytmem Metropolisa i Wolffa z użyciem 7 popularnych generatorów
liczb pseudolosowych. Okazuje się, że używanie słabych generatorów, takich jak R250 czy minstd, prowadzi do systematycznych błędów przy symulacjach w temperaturze krytycznej.
Mimo, że zalecane obecnie do użytku generatory takie jak Mersenne-Twister, ranlux czy gfsr4 przechodzą te testy bez problemu w wielu miejscach można spotkać się jeszcze z
używaniem generatorów niskiej jakości (np. pakiet Office).
Model Isinga
Cel i metoda
Model Isinga jest prostym sieciowym modelem magnetyka, w którym
spiny rozmieszczone są w węzłach sieci. Każdy z spinów może przyjmować dwie wartości si = ±1. Energia dowolnego stanu jest dana
poprzez Hamiltonian układu:
X
X
H = −J
si sj − B
si
i
hi,ji
Ważnymi parametrami układu jest energia wewnętrzna
X
E=−
s i sj
Celem pracy było pokazanie, że model Isinga, a w szczególności używany do jego badania algorytm Wolffa, jest cennym narzędziem do
badania jakości generatorów liczb losowych. W ramach pracy przeprowadzono symulację modelu Isinga na kwadratowej sieci o boku 16 w
temperaturze krytycznej.
2
Tc =
√ ≈ 2, 269185314
ln(1 + 2)
Dla takiego układu znaleziono teoretycznie dokładne wartości energii
i ciepła właściwego na spin:
hi,ji
oraz ciepło właściwe na spin:
kβ 2
2
2
c=
hE i − hEi
N
Energię wewnętrzną na spin uzyskujemy dzieląc E przez ilość węzłów
sieci N czyli ε = E/N
Algorytmy Metropolisa i Wolffa
Podstawowym modelem używanym w symulacjach MC jest algorytm
Metropolisa. Jest on realizacją błądzenia przypadkowego po przestrzeni stanów, w taki sposób, że prawdopodobieństwa przebywania układu
w różnych stanach są zgodne z wzorem Boltzmanna:
1. Wybierz losowy węzeł i,
2. Oblicz zmianę energii ∆E jaka powstałaby po obróceniu si,
3. Jeżeli ∆E < 0 lub r < exp(−∆E/kT ) to akceptuj zmianę,
r to liczba losowa przedziału (0, 1),
4. Wróć do 1,
Słabą stroną algorytmu Metropolisa jest efekt krytycznego spowolnienie. Jako, że przeprowadzamy symulację dokładnie w temperaturze
krytycznej efekt ten jest niezwykle istotny. Dla temperatur T ≈ Tc
układ ma tendencję do tworzenia dużych domen składających się z
spinów o tej samej orientacji. Algorytmowi Metropolisa jest niezwykle
trudno przewrócić taką domenę - musi bowiem to robić spin po spinie.
Koszt przewrócenia spinu wewnątrz domeny wynosi 8J i Tc zachodzi z prawdopodobieństwem Pf lip = exp(−8/Tc) ≈ 0, 0294.
Rozwiązanie tego problemu zostało zaproponowane przez U. Wolffa i
stanowi uproszczenie tzw. algorytmu Swendsena-Wanga. Metoda polega na szukaniu całego klastra identycznie zorientowanych spinów a
następnie obracaniu całości.
Algorytm przebiega więc w następujący sposób:
1. Wybierz losowy węzeł sieci,
2. Przeglądaj wszystkich najbliższych sąsiadów o takim samym spinie.
Dodaj ich do klastra z Padd = 1 − e−2β ,
3. Krok 2 powtarzaj dla wszystkich nowo dodanych węzłów aż do
wyczerpania wszystkich możliwości,
4. Obróć klaster i wróć do 1.
http://www.knf.ifd.uni.wroc.pl
εex = −1, 453064,
cex = 1, 49872
Przeprowadzono symulację dla generatorów r250, minstd, mt19937,
gfsr4, ranlxs0, ranlux, taus z biblioteki GSL oraz algorytmów Metropolisa i Wolffa. Za każdym razem uśredniano 10 wyników powstałych
poprzez wykonanie 107 pomiarów. Szczegółowe parametry symulacji:
Metropolis: czas termalizacji 500MCS tzn. 500L2 prób obrotu
spinu, czas relaksacji 20MCS
Wolff: czas termalizacji 1500L2 obrotów klastra, czas relaksacji
150 obrotów klastra
Wyniki
Rysunek: Porównanie rozbieżności między dokładną wartością cex i
εex a wynikami symulacji. Linią ciągłą zaznaczono schematycznie
poziom błędów statystycznych
Błędy systematyczne uzyskane z użyciem algorytmu Metropolisa
mieściły się w granicach błędu statystycznego,
Algorytm Wolffa:
Algorytm jest znacznie bardziej czuły na jakość generatora liczb
losowych,
Wyniki uzyskiwane generatorem R250 są obarczone błędem
systematycznym - rozbieżność w energii na spin wynosi ponad 82
odchylenia standardowe w wypadku ciepła jest aż 247
(prawdopodobieństwo takiego błędu 10−316)
Wyniki ε otrzymywane z R250 są systematycznie zaniżone,
Ciekawy wynik dla ranlux - bardzo mały błąd c i spory ε,
Literatura
1. A.M Ferrenberg et al., Phys. Rev. Lett. 69, 3382 (1992),
2. M. E. J. Newman, G. T. Barkema, Monte Carlo Methods in Statistical Physics,
3. Cz. Oleksy, Notatki do wykładu z Metod Symulacji
http://www.wfa.uni.wroc.pl

Podobne dokumenty