Algorytm Wolffa
Algorytm Wolffa , nazwany na cześć Ulli Wolffa, jest algorytmem do symulacji Monte Carlo modelu Isinga i modelu Pottsa , w którym jednostką do odwrócenia nie jest pojedynczy spin (jak w algorytmach kąpieli cieplnej lub Metropolis ), ale ich klaster . Ten klaster jest zdefiniowany jako zbiór połączonych spinów dzielących te same stany spinowe, w oparciu o reprezentację Fortuina-Kasteleyna .
Algorytm Wolffa jest podobny do algorytmu Swendsena-Wanga , ale różni się tym, że pierwszy odwraca tylko jeden losowo wybrany klaster z prawdopodobieństwem 1, podczas gdy drugi odwraca każdy klaster niezależnie z prawdopodobieństwem 1/2. Pokazano numerycznie, że odwrócenie tylko jednego klastra zmniejsza autokorelacji statystyk wirowania.
Przewagą algorytmu Wolffa nad innymi algorytmami do symulacji spinów magnetycznych, takimi jak przerzucanie pojedynczego spinu, jest to, że pozwala on na nielokalne ruchy energii. Jedną z ważnych konsekwencji tego jest to, że w pełni sfrustrowany model Isinga) skalowanie symulacji Multicanonic jest lepsze niż , gdzie z jest wykładnikiem związanym ze zjawiskami krytycznego spowolnienia.
- Wolff, Ulli (1989), „Collective Monte Carlo Update for Spin Systems”, Physical Review Letters , 62 (4): 361–364, Bibcode : 1989PhRvL..62..361W , doi : 10.1103/PhysRevLett.62.361 , PMID 10040213
- Bae, S.; Ko, SH; Coddington, PD (1995), „Algorytmy klastrowe Parallel Wolff”, International Journal of Modern Physics C , 6 (2): 197, Bibcode : 1995IJMPC...6..197B , CiteSeerX 10.1.1.138.1448 , doi : 10.1142/ S0129183195000150
- Ferrenberg, Alan M.; Landau, DP; Wong, Y. Joanna (1992), „Symulacje Monte Carlo: ukryte błędy z dobrych generatorów liczb losowych”, Physical Review Letters , 69 (23): 3382–3384, Bibcode : 1992PhRvL..69.3382F , doi : 10.1103/PhysRevLett. 69.3382 , PMID 10046804
Linki zewnętrzne
- Algorytmy klastrowe w Netlib
- Implementacja w Julii: https://github.com/cossio/SquareIsingModel.jl