Wykład 6
Metody Monte Carlo
Zmienne losowe i ich rozkłady
Metody Monte Carlo
Najszerzej: są to metody oparte na wykorzystaniu liczb losowych do
rozwiązania określonego problemu obliczeniowego.
Prawdopodobieństwo (definicja Laplace’a)
N A
P A lim
n
N
0 P A 1
A – zdarzenie (np. szóstka w rzucie kostką).
N(A) – liczba prób, w których wystąpiło
zdarzenie A.
N – liczba wszystkich prób.
Prawdopodobieństwo warunkowe i
niezależność zdarzeń
P(A|B)=P(AB)/P(B)
P(AB)=P(A|B)P(B)
Zdarzenia A i B są niezależne jeżeli
P(A|B)=P(A)
czyli
P(AB)=P(A)P(B)
A|B
A
B
Niektóre właściwości prawdopodobieństwa
Zdarzenie przeciwne
P A P A 1
Przestrzeń wszystkich zdarzeń
P E 1
Dla zdarzeń niezależnych
P A B C ... P A PB PC ...
Całkowite prawdopodobieństwo danego
zdarzenia
PB P Ai PB | Ai
i
E A1 A2 ... An
Zmienne losowe i ich rozkłady
Zmienna losowa: liczba przyporządkowana
zdarzeniu. Każda funkcja zmiennej losowej
jest też zmienną losową.
Przykłady:
•Liczba oczek w rzucie kostką
•Wynik odczytu temperatury
Dystrybuanta zmiennej losowej:
F x P y x
Gęstość prawdopodobieństwa zmiennej
losowej:
dPx
f x
dx
dystrybuanta
prawdopodobieństwo
Rozkład prawdopodobieństwa i dystrybuanta rozkładu
prawdopodobieństwa liczby oczek w pojedynczym rzucie kostką
symetryczną
liczba oczek
liczba oczek
Momenty rozkładu
Dla zmiennych ciągłych:
n
E ({x}) x i Px x i
E{x} x̂
i 1
xf x dx
n
i 1
EH ( x ) H x i Px x i EHx Hx f x dx
Jeżeli H(x)=(x-xc)n to E{H(X)} nazywa się n-tym
momentem x względem c; jeżeli c= x̂ to E jest n-tym
momentem centralnym, mn({x}).
Użyteczne momenty centralne
Wariancja
2
x m 2 x x x̂ f x dx
2
Skrzywienie
m 3 x
1
3
x x̂ f x dx
x 3 / 2
3
m 2 x x
Kurtoza
m 4 x
1
4
x x̂ f x dx 3
x 2
3 4
m 2 x
x
Ilustracja momentów rozkładów
Obliczanie momentów centralnych
zbioru punktów
1 n
x̂ x i
n i 1
2
n
n
1
1
2
2
2
x i x̂
n xi xi
n 1 i 1
n 1 i 1
i 1
n
n
x
i 1
i
(n 1)3
n
x̂
3
x
i 1
x̂
4
i
(n 1)
4
3
Przykłady momentów centralnych
paru rozkładów
Mediana i kwantyle
f(x)
1.0
xq
Fx q f x dx q
0.5
0.2
x0.2
x0.5
mediana
x
Rozkład dwóch zmiennych i
kowariancja
10 Ex x̂
01 Ey ŷ
E y ŷ y
m 20 E x x̂ 2 x
2
m 02
2
2
m11 Ex x̂ y ŷ covx , y
covx , y
x , y
x y
Rozkład normalny
f x ; m ,
x m 2
1
exp
2
2
2
x2
1
f u;1,0
exp
2
2
x m
Fx; m, erf
U = zmienna stadardyzowana
Wielowymiarowy rozkład normalny
f ( x1 , x2 ,..., xn ) f ( x )
1 n n
det( A)
exp aij xi mi x j m j
n/2
2
2 i 1 j 1
det( A)
1 T
exp x m A x m
n/2
2
2
Centralne twierdzenie graniczne
Jeżeli x jest zmienną losową o wartości średniej a
i wariancji b2, to zmienna
n
1
lim xi
n n i 1
Ma rozkład normalny o wartości średniej a i
wariancji b2/n.
Rozkład Boltzmanna
Ei
exp
k BT
Pi
Ei
i exp k T
B
kB (stała Boltzmanna) = 1.3810-23 J/K
NAkB = R (uniwersalna stała gazowa) = 8.3143 J/(molK)
q – położenia; p – pędy; w(E) – gęstość stanów o energii E
Początki: prawdopodobnie starożytność
Pierwsze udokumentowane użycie: G. Comte de Buffon (1777)
obliczenia całki przez rzucanie igły na poziomą płaszczyznę
pokrytą równoległymi liniami prostymi.
Pierwsze zastosowanie na wielką skalę: J. von Neumann, S.
Ulam, N. Metropolis, R.P. Feynman i in. (lata 1940-te; projekt
Manhattan) obliczenia rozpraszania i absorpcji neutronów.
Nazwa ,,Monte Carlo” została wymyślona jako kryptonim dla
tego typu rachunków i odpowiednich metod matematycznych.
Zgrubny podział metod Monte Carlo
Metoda von Neumanna
Metoda Metropolisa (łańcuchów Markowa)
Ilustracja różnicy między metodą von Neumanna a metodą
Metropolisa. Pomiar średniej głębokości Nilu
Metoda von Neumanna
Obszar w którym chcemy policzyć wielkość uśrednioną
pokrywamy siatką punktów i dla każdego z nich obliczamy
gęstość prawdopodobieństwa oraz wielkość, którą chcemy
uśrednić:
N
A Ai Pi V
i 1
Np. dla rozkładu Boltzmanna:
Ei
Ai exp
kT
i 1
A N
Ei
exp
kT
i 1
N
Przykład zastosowania podejścia von Neumanna
do obliczania liczby
1
S
S
1 2
N tot
1
4
N
lim
n
2
Metoda Metropolisa (łańcuchy Markowa)
1. Bierzemy startową konfigurację układu daną współrzędnymi
(x10,y10,z10,…,xn0,yn0,zn0); tej konfiguracji odpowiada energia E0.
2. Zaburzamy losowo wybraną współrzędną, np. xi0 or xi (mała wartość).
3. Obliczamy energię nowej konfiguracji i oznaczamy ją jako E1.
4. Jeżeli E1<E0 to nową konfigurację akceptujemy traktując jako nową konfigurację
startową i przechodzimy do punktu 1; w przeciwnym przypadku przechodzimy
do punktu 5.
5. Wykonujemy test Metropolisa:
a) Generujemy liczbę losową y z przedziału (0,1).
b) Jeżeli exp[-(E1-E0)/kT]>y, (k jest stałą Boltzmanna) akceptujemy nową
konfigurację, w przeciwnym przypadku przechodzimy do punktu 2 ze starą
konfiguracją.
Konfiguracja Xo, energia Eo
Zaburz konfigurację Xo: X1 = Xo + X
Oblicz nową energię (E1)
NIE
E1<Eo ?
NIE
Wylosuj Y z U(0,1)
Oblicz W=exp[-(E1-Eo)/kT]
W>Y?
TAK
Xo=X1, Eo=E1
TAK
E1
E0
Akceptacja
z
prawdopodobieństwem
exp[-(E2-E1)/kBT]
Bezwzględna akceptacja
E1
Obliczanie średnich metodą Monte Carlo
Średnia wielkości A
1
A
N
N
A
i 1
i
Indeks i przebiega przez wszystkie kroki Monte Carlo, również
te gdzie nowa konfiguracja nie została zaakceptowana. Tak
więc jeżeli jakaś konfiguracja ma bardzo niską energię i nie
chce przejść w alternatywną, będzie liczona wielokrotnie.
Reprezentacja przestrzeni w
metodach Monte Carlo
• Siatkowa (dyskretna). Centra oddziaływań
mogą być tylko w węzłach sieci o
określonej topologii.
• Ciągła. Centra oddziaływań mogą przyjąć
dowolne położenie w przestrzeni
trójwymiarowej.
Zastosowania metody Metropolisa
w chemii obliczeniowej
• Wyznaczanie wielkości mechanicznych i
termodynamicznych (gęstość, średnia energia,
pojemność cieplna, przewodnictwo,
współczynniki wirialne).
• Symulacje przemian fazowych.
• Symulacje właściwości polimerów.
• Symulacje zwijania białek i innych biopolimerów.
• Symulacje wiązania ligandów z receptorami oraz
szacowanie energii swobodnej tego procesu
(projektowanie leków).
• Symulacje reakcji chemicznych.
Przykład
trajektorii
zwijania
Sample MC trajectory
of a good
folder; Model 1a
prostego siatkowego moselu
polimeru metodą Monte Carlo
Ścieżka zwijania białka G znaleziona metodą Monte Carlo z
wykorzystaniem siatkowego modelu białka
Kmiecik i Koliński, Biophys. J., 94, 726-736 (2008)