Bài 3: Mô phỏng Monte Carlo Under contruction.
Giới thiệu Monte Carlo (MC) là phương pháp dùng ố ngẫu nhiên để lấy mẫu (ampling) trong một tập hợp Thuật ngữ Monte Carlo được ử dụng lần đầu bởi Metropoli (Lo Alamo, 1947) Tính tích phân bằng phương pháp ngẫu nhiên. Tính ố Pi bằng phương pháp ngẫu nhiên (1901). Phương pháp Metropoli (1953): cho phép lấy mẫu theo một tập hợp thống kê bất kỳ cho trước. Hiện nay MC được coi là phương pháp hữu hiệu nhất để nghiên cứu các hệ phức hợp
Tính ố bằng Monte Carlo Gieo ngẫu nhiên với phân bố đều 4 N hit N trail ai ố ~ 1/2 N trail
Tính tích phân bằng Monte Carlo Phương pháp tổng quát tính tích phân bằng cách lấy trung bình từ các lần thử x 2 F= x 1 x 2 F= x 1 f x dx f x x x dx chọn là ố ngẫu nhiên trong khoảng (x1,x2) với phân bố (x) bất kỳ cho trước, ta có: F= f trial f (x) F x 1 x 2
Với (x) là phân bố đều: x = 1 x 2 x 1 x 1 x x 2 F= x 2 x 1 N trial N trail i=1 f i Tuy nhiên, trong một ố trường hợp cách lấy mẫu theo 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: Z NVT = d Γe E (Γ)/k BT
Lấy mẫu quan trọng Là cách lấy mẫu theo một phân bố (khác phân bố đều) ao cho tập trung vào miền có đóng góp đáng kể trong tích phân Trong tập hợp chính tắc: A NVT = d A NVT 1 ρ NVT (Γ)=Z NVT e E (Γ)/ k B T = NVT Nếu ta lấy mẫu theo phân bố thì: A NVT = A trail
Intead of chooing configuration randomly, then weighting them with exp( E/kT), we chooe configuration with a probability exp( E/kT) and weight them evenly. Metropoli et al. Metropoli, N.; Roenbluth, A.W.; Roenbluth, M.N.; Teller, A.H.; Teller, E. (1953). "Equation of State Calculation by Fat Computing Machine". Journal of Chemical Phyic 21 (6): 1087 1092.
Chuỗi Markov Phương pháp lấy mẫu Monte Carlo cho ta một chuỗi các trạng thái vi mô ngẫu nhiên: 1, 2,, n 1, n, Chuỗi Markov: xác uất lựa chọn một trạng thái chỉ phụ thuộc vào trạng thái ngay trước nó (tochatic proce with no memory) Xác uất chuyển trạng thái : Bảo toàn xác uất chuyển: α β k βα β k β α =1 k αα =1 β α k βα
Phương trình chủ Chuỗi Markov tuân theo phương trình chủ (Mater equation): d p α dt = β α (k αβ p β k βα p α ) p k βα là xác uất tìm thấy hệ ở trạng thái là xác uất chuyển trạng thái từ ang Phương trình chủ là dạng rời rạc của phương trình Fokker-Planck (trong lý thuyết các quá trình nhiễu loạn).
Điều kiện cân bằng chi tiết Khi t tiến tới vô cùng, để tồn tại trạng thái cân bằng: eq t : p = p eq d p =0 dt Điều này xảy ra khi có điều kiện cân bằng chi tiết: k αβ p β eq =k β α p α eq Detailed balance condition
Thông thường trong Monte Carlo a k β α =k βα k β α trong đó a k β α k β α là xác uất chuyển tiên nghiệm (a priori) là xác uất chấp nhận chuyển đổi Monte Carlo yêu cầu xác uất chuyển tiên nghiệm phải bằng nhau (không ưu tiên bất cứ chiều chuyển nào): k a a βα =k α β (tương tự như tiên đề về xác uất tiên nghiệm trong Vật lý thống kê: các trạng thái vi mô có xác uất tiên nghiệm bằng nhau)
Phương pháp Metropoli Cho phép chọn xác uất chuyển trạng thái ao cho điều kiện cân bằng chi tiết được thỏa mãn: p eq eq p nếu k βα =1 k αβ = p eq α eq p β nếu p eq p eq k βα = p eq β eq p α k αβ =1
Trường hợp tập hợp chính tắc, ta có phân bố Boltzmann: p eq = e E /k B T Z NVT uy ra p eq p eq =e E E / k BT p eq = e E / k B T Z NVT Nếu Nếu E E E E k βα =1 k βα =e ( E β E α )/k B T k αβ =e ( E α E β )/k B T k αβ =1
Thuật toán Metropoli: Giả ử 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' E ' E nếu : chấp nhận trạng thái mới E '> E nếu : chấp nhận với xác uất gieo một ố ngẫu nhiên trong khoảng [0,1) ξ<k ξ k nếu : chấp nhận trạng thái mới. k=e ( E ' E)/k B T nếu : không chấp nhận trạng mới. 1 luôn chấp nhận ξ không chấp nhận chấp nhận e Δ E / k BT 0 Δ E
Phương pháp lấy mẫu Barker Metropoli không phải là phương pháp duy nhất đảm bảo điều kiện cân bằng chi tiết Phương pháp lấy mẫu Barker (1965): k βα p β eq = ( p eq α + p eq β )
Thực hành Dùng phương pháp Monte Carlo, tính tích phân: π A= 0 in( x)dx Dùng phương pháp Metropoli tạo tập hợp ố ngẫu nhiên theo phân bố: p( x)= 1 in( x) x [0,π] 2 Làm tương tự ử dụng phương pháp lấy mẫu Barker.
Bài tập về nhà Viết chương trình mô phỏng Monte Carlo cho hệ khí 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. z 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