Wyklad 6 (PowerPoint)

advertisement
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  PB  PC   ...
Całkowite prawdopodobieństwo danego
zdarzenia
PB    P Ai PB | 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:
dPx 
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 Px  x i 
E{x}  x̂ 
i 1

 xf x dx

n

i 1

EH ( x )   H x i Px  x i  EHx    Hx 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
Fx q    f x dx  q
0.5

0.2
x0.2
x0.5
mediana
x
Rozkład dwóch zmiennych i
kowariancja
10  Ex   x̂
 01  Ey   ŷ


 E y  ŷ     y 
m 20  E x  x̂    2 x 
2
m 02
2
2
m11  Ex  x̂ y  ŷ   covx , y 
covx , 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  
Fx; 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.3810-23 J/K
NAkB = R (uniwersalna stała gazowa) = 8.3143 J/(molK)
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)
Download