Bài 3:Phương pháp Monte Carlo Under construction... Giới thiệumẫu sampling trong một tập hợp thống kê được sử dụng lần đầu bởi Metropolis Los Alamos, 1947 tính số Pi 1901, hoặc tính tích
Trang 1Bài 3:
Phương pháp Monte Carlo
Under construction.
Trang 2Giới thiệu
mẫu (sampling) trong một tập hợp thống kê
được sử dụng lần đầu bởi Metropolis (Los Alamos, 1947)
tính số Pi (1901), hoặc tính tích phân, bằng cách lấy mẫu
theo phân bố đều
một phân bố bất kỳ cho trước
Trang 3Tính số p bằng Monte Carlo
bố đều
p ≈ 4 n
N
1
√ N sai số ~
Trang 4Tính tích phân bằng Monte Carlo
● Nếu x là số ngẫu nhiên trong khoảng (x1,x2) với phân bố r(x) cho trước, ta có:
F = ∫
x1
x2
f x dx
F = ∫
x1
x2
f x
x x dx
F =⟨ f (x)
r(x) ⟩
f (x)
F
Trang 5● Với r(x) là phân bố đều, và lấy mẫu N lần ta có:
phân bố đều không hiệu quả Ví dụ đối với tích phân cấu hình trong tập hợp chính tắc, những trạng thái có năng lượng lớn đóng góp rất ít vào tích phân
x= 1
x2− x1 x1≤ x≤x2
F = ( x2− x1)
i=1
N
f ( xi)
Z NVT= ∫ d Γ e−E (Γ)/k B T
Trang 6Lấy mẫu quan trọng
miền có đóng góp đáng kể trong tích phân
● Nếu ta lấy mẫu theo phân bố thì:
rNVT (Γ)= Z−1NVT e−E (Γ)/ k B T
〈 A〉NVT= ∫ d A NVT
=NVT
〈 A〉NVT=〈 A〉trails
Trang 7“Instead of choosing configurations randomly, then weighting them with exp(−E/kT), we choose configurations with a
probability exp(−E/kT) and weight them evenly.”
— Metropolis et al.
Metropolis, N.; Rosenbluth, A.W.; Rosenbluth, M.N.; Teller, A.H.; Teller, E (1953)
"Equations of State Calculations by Fast Computing Machines" Journal of Chemical Physics 21 (6): 1087–1092.
Trang 8● Vấn đề là làm sao để lấy mẫu theo một phân
bố khác với phân bố đều?
● Metropolis đã đưa ra thuật toán ngẫu nhiên cho phép lấy mẫu theo một phân bố bất kỳ cho trước.
Trang 9Chuỗi Markov
thái vi mô ngẫu nhiên:
chỉ phụ thuộc vào trạng thái ngay trước nó, mà không phụ thuộc vào các trạng thái trước đây
(stochastic process with no memory)
trạng thái của một hệ vật lý thì gọi là mô phỏng Monte Carlo
1, 2, , n−1 , n ,
Trang 10Phương trình chủ
equation):
là xác suất tìm thấy hệ ở trạng thái a
là xác suất chuyển trạng thái từ a sang b
d pa
dt = ∑
b≠a
( k ab pb− kba pa)
p
kb a
∑ b
kb a=1 k a a=1− ∑
b≠a
kb a
Trang 11Điều kiện cân bằng chi tiết
(detailed balance condition):
d peq
dt = 0
t ∞ : p= peq
kab pbeq= kb a paeq
Trang 12● Thông thường trong Monte Carlo
là xác suất thử chuyển đổi (attempt probability)
là xác suất chấp nhận chuyển đổi (acceptance
probability)
bằng nhau theo 2 chiều thuận và nghịch (không ưu tiên bất cứ chiều chuyển đổi nào):
kb a= kb as kb aa
kb aa
kb as
kb as = kabs
Trang 13Phương pháp Metropolis
mãn điều kiện cân bằng chi tiết:
● nếu ta chọn:
● nếu ta chọn:
kb aa =1
kb aa = pbeq
paeq
peq≥ peq
peq peq
ka ba = paeq
pbeq
ka ba =1
kb aa = min ( 1 , pb
eq
paeq )
Trang 14● Trường hợp tập hợp chính tắc, ta có phân bố Boltzmann:
thái a sang trạng thái b bằng:
peq= e−E/k B T
eq
= e−E/k B T
Z NVT
peq
peq= e
−E−E/k B T
suy ra
E≤ E kb aa =1
kb aa = e−(Eb−Ea)/k B T
E E
Nếu Nếu
ka = min ( 1, e−(Eb−Ea)/k B T
)
Trang 15● Thuật toán Metropolis:
Giả sử năng lượng trạng thái hiện tại là E, năng lượng trạng thái mới là E'
● nếu : chấp nhận trạng thái mới
● nếu : xác suất chấp nhận
– gieo một số ngẫu nhiên x trong khoảng [0,1)
● nếu : chấp nhận trạng thái mới
● nếu : quay lại trạng thái cũ
k =e−(E ' −E)/ k B T
E ' ≤ E
E ' > E
x⩾k
x<k
Δ E
luôn
chấp
nhận
không chấp nhận
chấp nhận e−ΔE / k B T
x
1
0
Trang 16Phương pháp lấy mẫu Barker
bảo điều kiện cân bằng chi tiết
kb aa = pbeq
( paeq+ pbeq)
Trang 17Thực hành
● Dùng phương pháp Monte Carlo, tính tích
phân:
● Dùng phương pháp Metropolis tạo tập hợp số ngẫu nhiên theo phân bố:
● Làm tương tự sử dụng phương pháp lấy mẫu Barker.
A= ∫
0
p
sin( x)dx
p( x)= 1
2 sin ( x) x∈[0,p]
Trang 18Thực hành
nằm trong trọng trường
p( z)∼e−
mgz kT
Xét hộp khí kích thước LxLxL
Chọn L=100, m=1, g=1, k=1.
Tạo các trạng thái vi mô cho N hạt:
● Phân bố tọa độ:
p(z) ~ exp(-mgz/kT)
● Phân bố xung lượng:
Maxwell-Boltzmann
z