1 MỞ ĐẦU Ngày nay việc sử dụng máy tính để nghiên cứu một số mô hình vật lý thống kê là vô cùng phổ biến, đặc biệt là sử dụng phương pháp Monte Carlo, phương pháp giải toán trên máy tín
Trang 1MỤC LỤC
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC BẢNG – HÌNH
MỞ ĐẦU 1
CHƯƠNG 1 GIỚI THIỆU VỀ CÁC MÔ HÌNH VẬT LÝ THỐNG KÊ 2
1.1 Vật lý thống kê 2
1.2 Các mô hình Vật lý thống kê 4
CHƯƠNG 2 GIỚI THIỆU VỀ PHƯƠNG PHÁP 6
MONTE CARLO 6
2.1.Giới thiệu 6
2.2 Tích phân Monte Carlo 7
2.3 Ước lượng sai số 9
2.4 Số ngẫu nhiên 9
2.4.1 Tạo số giả ngẫu nhiên 9
2.4.2 Phân bố xác suất 11
2.5 Lấy mẫu điển hình 13
2.6 Chuỗi Markov 14
CHƯƠNG 3 NGHIÊN CỨU MỘT SỐ MÔ HÌNH VẬT LÝ THỐNG KÊ BẰNG PHƯƠNG PHÁP MONTE CARLO 15
3.1 Mô hình Ising 15
3.1.1 Xây dựng thuật toán và chương trình 15
3.1.2 Chạy chương trình 17
3.2 Mô hình XY 2D 27
KẾT LUẬN 31
TÀI LIỆU THAM KHẢO 32
PHỤ LỤC 33
Trang 2DANH MỤC BẢNG – HÌNH
Danh mục bảng
Bảng 3.1 Sự phụ thuộc của độ từ hóa theo nhiệt độ β 24
Danh mục hình Hình 2.1 Minh họa thuật toán loại trừ 12
Hình 3.1 Quá trình tiến tới cân bằng 18
Hình 3.2 Độ từ hóa với 12000 lần nâng cấp cấu hình với các giá trị Beta 19
Hình 3.3.a Tìm kiếm điểm chuyển pha 20
Hình 3.3.b Tìm kiếm điểm chuyển pha (chi tiết hơn) 21
Hình 3.4 Mô phỏng tại điểm chuyển pha theo lý thuyết Onsager[7] 22
Hình 3.5.a Sự tự tương quan của số liệu tại Beta = 1,5 (Bin Size ≡ n) 23
Hình 3.5.b Sự tự tương quan của số liệu tại Beta = 0,9 (Bin Size ≡ n) 23
Hình 3.5 Sự phụ thuộc của độ từ hóa theo nhiệt độ 25
Hình 3.6 Kết quả thực nghiệm về sự cố hữu (persistence) của mô hình Ising[8] 26
Hình 3.7 Kết quả mô phỏng sự cố hữu (persistence) của mô hình Ising 26
Hình 3.8 Sự phụ thuộc của mật độ độ từ hóa theo các bước nâng cấp cấu hình 27
Hình 3.9 Sự phụ thuộc của mật độ năng lượng theo các bước nâng cấp cấu hình 28 Hình 3.10 Sự phụ thuộc của độ từ hóa theo nhiệt độ 29
Hình 3.11 Sự phụ thuộc của mật độ năng lượng theo nhiệt độ 29
Trang 31
MỞ ĐẦU
Ngày nay việc sử dụng máy tính để nghiên cứu một số mô hình vật lý thống
kê là vô cùng phổ biến, đặc biệt là sử dụng phương pháp Monte Carlo, phương pháp giải toán trên máy tính bằng cách sử dụng các giả số ngẫu nhiên Phương pháp này
có vị trí hết sức quan trọng trong vật lý tính toán, như việc tính toán trong sắc động lực học lượng tử, mô phỏng spin có tương tác mạnh,…Chính vì vậy, luận văn này chúng tôi nghiên cứu : Một số mô hình vật lý thống kê bằng phương pháp Monte Carlo nhằm tìm hiểu việc sử dụng máy tính để nghiên cứu một số mô hình Vật lý thống kê, cụ thể là các bước của quá trình sử dụng phương pháp Monte Carlo, phương pháp số quan trọng nhất và được sử dụng rộng rãi nhất để nghiên cứu các bài toán Vật lý thống kê
Mục đich của luận văn :
kê sử dụng thuật toán Heat bath và Metropolis bằng ngôn ngữ Scilab
chuyển pha trật tự - hỗn loạn khi nhiệt độ của hệ spin tăng dần So sánh với kết quả tính toán giải tích của Lars Onsager trong tài liệu trích dẫn
sánh với kết quả thực nghiệm của B Yurke et al trong tài liệu trích dẫn
hình XY
Ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo và phụ lục, luận văn gồm 3 chương:
Chương 1:Giới thiệu về các mô hình vật lý thống kê
Chương 2:Giới thiệu về phương pháp Monte Carlo
Chương 3:Nghiên cứu một số mô hình vật lý thống kê bằng phương pháp Monte Carlo
Trang 42
CHƯƠNG 1 GIỚI THIỆU VỀ CÁC MÔ HÌNH VẬT LÝ
THỐNG KÊ
1.1 Vật lý thống kê
hệ môi trường đậm đặc Điểm khó khăn nhất khi thực hiện các tính toán với các hệ Vật lý này là chúng bao gồm rất nhiều phần hợp thành như phân tử và nguyên tử Những hợp phần này thường là giống nhau hoặc khác nhau rất ít và chúng thường tuân theo các quy luật chuyển động đơn giản sao cho biểu hiện của cả hệ được biểu diễn theo một quy luật toán học rõ ràng Tuy nhiên số lượng các phương trình cần phải giải, bằng cỡ của các hợp phần của hệ, là rất lớn nên không thể giải được chúng một cách chính xác Ví dụ xét một khối khí được chứa trong bình Một lít khí Oxy tại nhiệt độ và áp suất chuẩn bao gồm 3x1022 phân tử Oxy Các phân tử này liên tục di chuyển, va chạm với nhau và với thành bình chứa Đây là một ví dụ về hệ nhiều vật hợp phần Ta thậm chí có thể xét một ví dụ hệ có kích thước lớn hơn nữa với bầu khí quyển của trái đât Một lít không khí tại cùng điều kiện chứa cùng một
phân tử Tất cả những phân tử này liên tục chuyển động, va chạm với nhau, với mặt đất, cây cối, nhà cửa, con người, v.v Rõ ràng là không khả thi khi giải hệ các phương trình Hamilton cho mỗi phân tử này bởi vì có quá nhiều phương trình cần phải giải Tuy nhiên nếu chúng ta nghiên cứu các tính chất vĩ mô của khối khí, chúng vẫn có những biểu hiện có thể tiên đoán được Như vậy các nghiệm của các phương trình riêng rẻ có một tính chất đặc biệt là trung bình của chúng có thể cho các tiên đoán về sự vận động của cả hệ Ví dụ áp suất và nhiệt độ của một khối khí tuân theo những quy luật đơn giản mặc dù chúng đều là các đại lượng đo đặc trung bình trên cả khối khí Vật lý thống kê không hướng tới việc giải từng phương trình chuyển động riêng lẻ mà tập trung vào tính toán những tính chất của cả hệ thống kê bằng cách sử dụng các mô hình xác suất Thay vì tìm nghiệm chính xác, chúng ta
Trang 53
tìm các xác suất để cả hệ thống kê nằm ở một trong các trạng thái khả dĩ và vì thế
có các đại lượng Vật lý vĩ mô nhận các giá trị tương ứng với trạng thái đó
Hình thức luận điển hình thường được sử dụng để nghiên cứu Vật lý thống
kê là hình thức luận Hamilton với hệ thống kê được chi phối bởi một Hamiltonian H
cho ta tổng năng lượng của hệ thống kê Khi hệ thống kê là hữu hạn, chúng ta sẽ làm việc với các tập hợp trạng thái rời rạc với mỗi trạng thái có giá trị năng lượng
có giá trị E0, E1, E2, với E0 là trạng thái cơ bản Tuy nhiên Vật lý thống kê nói chung và phương pháp Monte Carlo nói riêng có khả năng giải các bài toán có phổ năng lượng là liên tục Nếu chỉ xét đến đây, bài toán là khá đơn giản khi năng lượng
là bảo toàn Hệ thống kê sẽ có giá trị năng lượng không đổi theo thời gian và vì thế
nó sẽ ở trong một trạng thái hoặc chuyển đổi giữa các trạng thái của một tập hợp các trạng thái suy biến có cùng một giá trị năng lượng mãi mãi Tuy nhiên, thông thường trong các bài toán thực tế sẽ phải xét đến sự tương tác với môi trường bên ngoài Sự ảnh hưởng của môi trường bên ngoài sẽ đóng vài trò như một nguồn thu nhiệt làm thay đổi giá trị năng lượng của hệ thống kê liên tục cho đến khi nhiệt độ của hệ thống kê được xét dần tiến tới giá trị của nhiệt độ của môi trường Khi ảnh hưởng của môi trường là nhỏ so với giá trị năng lượng của hệ, chúng ta có thể coi nó như là một ảnh hưởng nhiễu loạn và có thể bỏ qua khi tính toán các giá trị năng lượng của hệ thống kê Tuy nhiên, ảnh hưởng này sẽ có tác động để hệ luôn luôn có xu hướng thay đổi trạng thái và vì thế có giá trị năng lượng khác Chúng
ta có thể tính toán ảnh hưởng của môi trường bằng cách đưa vào hệ thống kê một
động lực – một quy luật để hệ thống kê thay đổi trạng thái theo thời gian Bản chất
của động lực sẽ được thể hiện qua dạng nhiễu loạn mà môi trường gây ra trong Hamiltonian tổng cộng
Giả sử hệ thống kê hiện đang ở trong trạng thái u Chúng ta định nghĩa R(u
v)dt là xác suất để hệ thống kê ở trạng thái v sau khoảng thời gian dt R(u v)dt
là xác suất chuyển trạng thái từ u sang v Xác suất chuyển trạng thái thường được
coi là không phụ thuộc vào thời gian Chúng ta xác định các giá trị xác suất chuyển
trạng thái này với tất cả trạng thái v khả dĩ mà hệ thống kê có thể chuyển đến Sau
Trang 64
một thời gian dt, hệ thống kê có thể ở một trong các trạng thái khả dĩ với các xác
xác suất để hệ thống kê ở trong trạng thái u tại thời điểm t Vật lý thống kê sẽ tính
toán các giá trị trọng số này và chúng sẽ thể hiện toàn bộ những gì chúng ta biết về
các trạng thái của hệ thống kê Chúng ta có thể viết phương trình cơ bản của việc
dt
dw
Số hạng đầu tiên trong vế phải của phương trình biểu diễn xác suất để hệ
thống kê chuyển đến trạng thái u và số hạng thứ hai biểu diễn xác suất để hệ chuyển
t 1 w u
tại mọi thời điểm t do bất kỳ lúc nào hệ cũng phải ở trong một trạng thái nào đó
theo thời gian
chúng ta định nghĩa giá trị kỳ vọng của Q tại thời điểm t với hệ thống kê đang xét là
u u
Q
Đây chính là một ước lượng (gần đúng) giá trị vĩ mô của Q chúng ta mong
đợi sẽ đo đạc được trong thực nghiệm với hệ thống kê đang xét
1.2 Các mô hình Vật lý thống kê
Để nghiên cứu các bài toán Vật lý thống kê ta phải mô hình hóa[3–6] chúng bằng cách đơn giản hóa hệ Vật lý nhưng vẫn giữ được những đặc tính Vật lý đặc thù
Ví dụ khi nghiên cứu các hệ từ tính, nếu một chất sắt từ có tính bất đẳng
hướng đơn trục mạnh chúng ta có thể mô tả nó bằng mô hình Ising với N spin Sitương tác với nhau
Trang 75
1 S , S H S S J
j ,
i j
i g
hướng của chất sắt từ đang xét Năng lượng trao đổi J trong (1.4) được giới hạn
trong các lân cận gần nhất và H là từ trường (số hạng thứ 2 trong 1.4 biểu diễn năng
lượng Zeeman của hệ)
Các trường hợp khác khi chất sắt từ có tính bất đẳng hướng theo mặt phằng, spin bị giới hạn nằm trong mặt phẳng xy chúng ta mô hình hóa nó theo XY model:
J
j , i
N
1 i
x i x y j y i x j x i
N
1 i
z i z
ta có thể bổ sung thêm các số hạng đơn trục hoặc đơn diện Thay vì năng lượng trao
Từ trường Hi cũng có thể nhận các giá trị năng lượng ngẫu nhiên Như vật 3 mô hình (1.4) đến (1.6) chỉ là 3 mô hình điển hình mà dựa trên chúng ta có thể có được
vô số biến thể phù hợp với bài toán Vật lý ta quan tâm
Trang 86
CHƯƠNG 2 GIỚI THIỆU VỀ PHƯƠNG PHÁP
MONTE CARLO
2.1.Giới thiệu
Các phương pháp Monte Carlo sử dụng việc lấy mẫu thống kê thông qua các
bộ số ngẫu nhiên để tính toán nghiệm xấp xỉ của một lớp rộng các bài toán Các phương pháp Monte Carlo là các phương pháp sử dụng các giải thuật đơn giản, tận dụng sức mạnh của máy tính hiện đại để giải các bài toán phức tạp khó hoặc không thể giải được bằng các phương pháp giải tích Phương pháp này được đặt tên là Monte Carlo, tên một sòng bạc nổi tiếng ở Monaco, do sự tương đồng về việc sử dụng số ngẫu nhiên trong đánh bạc và nghiên cứu khoa học Bàn quay rô – lét chính
là một máy tạo số ngẫu nhiên đơn giản Theo nghĩa rộng nhất, bất cứ phương pháp nào sử dụng số ngẫu nhiên đều có thể được quy vào lớp phương pháp Monte Carlo
Quá trình lấy mẫu thống kê có thể tiến hành trên máy tính bằng việc lặp lại một số lượng rất lớn các bước đơn giản, song song với nhau Các thuật toán Monte Carlo cũng là phương pháp tính bằng số hiệu quả cho nhiều bài toán liên quan đến nhiều biến số mà không dễ dàng giải được bằng các phương pháp tất định khác, chẳng hạn bài toán tính tích phân nhiều lớp Hiệu quả của phương pháp này so với các phương pháp tất định khác tăng lên khi số chiều của bài toán tăng Phương pháp Monte Carlo cũng được ứng dụng trong nhiều bài toán tối ưu hóa như trong các ngành tài chính, bảo hiểm Thông thường phương pháp Monte Carlo được thực hiện với số giả ngẫu nhiên do không thể tạo ra số ngẫu nhiên thực sự trên máy tính mà chỉ có thể thu thập từ các quá trình ngẫu nhiên xảy ra trong thực tế Các số giả ngẫu nhiên có tính tất định, được tạo ra từ các thuật toán có quy luật có thể lặp lại được khi sử dụng trong cùng điều kiện
Để tìm hiểu phương pháp này, trước tiên ta xét bài toán tính số π do nhà toán
học Buffon đưa ra vào thế kỉ XVIII Xét điểm M(x,y) trong đó hai tọa độ x,y được gieo một cách ngẫu nhiên trong khoảng 0<x<1 và 0<y<1 Điểm M nằm trong hình
Trang 97
tìm M nằm trong hình tròn là Bằng cách tính tỉ số giữa tổng điểm nằm trong đường tròn và tổng điểm được gieo ngẫu nhiên ta có thể tính toán xấp xỉ số π
Phương pháp đơn giản này hoạt động theo nguyên tắc thử và sai
2.2 Tích phân Monte Carlo
Trên đây, chúng ta đã nêu ra một ví dụ đơn giản về tính số π bằng phương pháp thử và sai Trong phần này, chúng ta tìm hiểu một phương pháp chính xác và
hệ thống hơn Phương pháp này đưa bài toán tính số π về bài toán tính tích phân rồi tích tích phân đó bằng cách ước lượng giá trị trung bình của hàm trong vùng lấy tính phân
Diện tích của hình tròn có thể tính được bằng tích phân:
với a là bán kính của hình tròn Như vậy diện tích này có thể ước lượng được bằng
phương pháp số truyền thống như phương pháp hình thang, phương pháp Simpson hay các phương pháp tất định khác có độ chính xác cao hơn Ngoài các phương pháp kể trên, tích phân còn có thể lấy bằng tích của giá trị trung bình của hàm số
trong khoảng lấy tích phân và độ lớn (chiều dài) của khoảng lấy tích phân
Giá trị trung bình của hàm số f(x) trong khoảng từ a đến b có thể ước lượng
tập hợp đó chúng ta có thể ước lượng giá trị trung bình:
Trang 108
Giá trị tích phân khi đó ước lượng bằng:
với N là tổng số điểm ngẫu nhiên được sử dụng
Diện tích của đường tròn được ước lượng theo công thức:
Và như vậy ta có thể ước lượng giá trị của số pi là
Phương pháp Monte Carlo có thể dễ dàng mở rộng cho tích phân nhiều lớp Giá trị của tích phân nhiều lớp được ước lượng bằng tích của 2 số hạng:
- Giá trị trung bình của hàm số trong vùng cần tính
- Kích thước của vùng cần tính tích phân (độ dài đoạn thẳng trong tích phân 1 lớp, diện tích trong tích phân 2 lớp, thể tích trong tích phân 3 lớp và tương tự cho tích phân nhiều lớp hơn)
Ví dụ tích phân 3 lớp:
(2.4)
Trang 119
2.3 Ước lượng sai số
Độ lệch chuẩn của ước lượng trung bình một đại lượng trong Monte Carlo:
Từ công thức tính sai số ở trên ta thấy rằng sai số trong tính tích phân ước lượng tỉ
sẽ ưu việt hơn các phương pháp tính tích phân truyền thống khi số lớp tích phân càng lớn
Trên đây là ước lượng độ lệch chuẩn khi N giá trị số liệu là độc lập với nhau, khi N giá trị này phụ thuộc vào nhau, chúng ta phải sử dụng các phương pháp khác
để tính đến sự tương quan của dữ liệu vào ước lượng của độ lệch chuẩn như kết hợp
dữ liệu, Jackknife, Bootstrap
2.4 Số ngẫu nhiên
2.4.1 Tạo số giả ngẫu nhiên
Ta có thể tạo được các tập hợp nhỏ số ngẫu nhiên từ các quá trình ngẫu nhiên trong tự nhiên (như quá trình bức xạ hạt nhân) hay đời sống hàng ngày (như tập hợp kết quả xổ số mở thưởng hàng ngày) Tuy nhiên các tập hợp số ngẫu nhiên này thường quá nhỏ để sử dụng trong một bài toán Monte Carlo điển hình với yêu cầu hàng tỉ số ngẫu nhiên
Có một chương trình tạo số ngẫu nhiên chất lượng cao là việc quan trọng bậc nhất để đảm bảo một chương trình mô phỏng Monte Carlo hoạt động tốt Số ngẫu nhiên được tạo ra từ một thuật toán nào đó không đảm bảo hoàn toàn được tính
Trang 12ngẫu nhiên vì thuật toán là xác định và có thể lặp lại được Vì thế các số ngẫu nhiên tạo ra trên máy tính được gọi là các số giả ngẫu nhiên Một chương trình tạo số giả ngẫu nhiên điển hình thường tạo ra các số ngẫu nhiên nguyên nhận giá trị từ 0 cho đến giá trị lớn nhất có thể được lưu trong máy tính Mỗi chương trình tạo số ngẫu nhiên đều phải được khởi tạo với một hoặc một tập hợp giá trị bắt đầu, với mỗi tập hợp giá trị khởi tạo ta có một tập hợp số ngẫu nhiên riêng biệt Một chương trình tạo
số ngẫu nhiên phải thỏa mãn các tính chất quan trọng sau đây:
- Tính lặp lại: sử dụng cùng một giá trị khởi tạo có thể thu được cùng một chuỗi số ngẫu nhiên với mỗi lần sử dụng chương trình
- Tính ngẫu nhiên: các số ngẫu nhiên trong tập hợp phân bố đồng nhất và không phụ thuộc vào nhau
- Có chu kì dài: các chương trình tạo số ngẫu nhiên phải có chu kì đủ lớn để phục vụ các nghiên cứu sử dụng nhiều số ngẫu nhiên
- Chất lượng chuỗi số ngẫu nhiên không phụ thuộc nhiều vào giá trị khởi tạo
- Đủ nhanh để tạo ra một tập hợp số ngẫu nhiên trong thời gian nhất định Trong các thư viện chuẩn, chúng ta thường dùng thuật toán đồng dư tuyến tính để tạo ra chuỗi số ngẫu nhiên tuân theo phân bố đều Chương trình này sử dụng
các hằng số a, c, m để tạo chuỗi ngẫu nhiên là số nguyên phân bố đều trong khoảng
từ 0 đến m-1:
Một tập hợp số ngẫu nhiên thực có thể tạo được bằng cách chia cả tập hợp số
nguyên trên cho một hằng số phù hợp Ví dụ chia cho m ta được tập số thực nằm trong khoảng [0,1) Chu kỳ lớn nhất của chuỗi ngẫu nhiên là m, vì vậy các hằng số
a, c phải được chọn cẩn thận để đảm bảo chuỗi số có chu kỳ lớn nhất
Thuật toán tuyến tính đồng dư tuyến tính là thuật toán đơn giản nhất để tạo
số ngẫu nhiên với chất lượng vừa phải sử dụng ít tài nguyên máy tính Khi cần có các tập hợp số ngẫu nhiên có chất lượng cao, chúng ta phải sử dụng các phương pháp tốt hơn với nhiều tài nguyên tính toán hơn như thuật toán Fibonacci, thuật toán Mersenne Twister, các thuật toán kết hợp
Trang 132.4.2 Phân bố xác suất
Gọi P(x)dx là xác xuất tìm thấy số ngẫu nhiên nằm trong khoảng (x, x+dx),
P(x) được gọi là hàm mật độ xác suất P(x)=0 tương ứng với không có khả năng tìm
thấy x, và P(x)=1 tương ứng với khả năng chắc chắn tìm thấy x Hàm mật độ xác suất P(x) thỏa mãn điều kiện chuẩn hóa sau:
(2.9)
Cho một tập hợp số ngẫu nhiên tuân theo phân bố đều trong một khoảng nào
đó, có hai cách cơ bản để tạo một tập hợp số ngẫu nhiên tuân theo phân bố bất kỳ là phương pháp đổi biến và phương pháp loại trừ
Phương pháp đổi biến
cách tác dụng hàm y = y(x) lên tập hợp {x} được xác định theo quy tắc bảo toàn xác suất: |p1(x)dx| = |p2(y)dy| => p2(y) = p1(x)| |
định hàm chuyển đổi y(x) bằng cách tích phân phương trình bảo toàn xác suất:
Đối với hàm p1(x) ban đầu là hàm phân bố đều trong khoảng [0,1), p1(x)=1 thì
[0,∞) ta có:
Khi x = 0 thì t = 1 và x = ∞ thì t = 0,do đó ta có thể thu được biến x bằng cách gieo ngẫu nhiên biến t trong khoảng (0,1) và áp dụng công thức:
Trang 14Phương pháp loại trừ Von Neuman là một phương pháp rất đơn giản trong việc tạo ra số ngẫu nhiên tuân theo mọi phân bố mong muốn Xét một hàm mật độ
là một hằng số lớn hơn hoặc bằng giá trị cực đại Fmax của hàm f(x) Phương pháp
và [0,C] và chỉ thu nhận những số nằm dưới đường cong f(x)
có hoành độ nằm trong khoảng (x, x+dx) Khi mà số lần gieo tiến tới vô cùng tỉ số
Hình 2.1 Minh họa thuật toán loại trừ
Thuật toán chi tiết:
Trang 15xmax]
- Với mỗi giá trị x, gieo một số ngẫu nhiên n theo phân bố đều trong khoảng
nó sẽ bị loại bỏ khỏi tập hợp
Thuật toán trên cho thấy rằng phương pháp này cho phép tạo ra một mật độ xác suất
f(x) bất kì, ngay cả khi hàm này chưa được chuẩn hóa
Phương pháp loại trừ đòi hỏi cần nhiều số ngẫu nhiên của máu hơn phương pháp biến đổi bởi vì một phần số ngẫu nhiên đã gieo bị loại bỏ Khi đã tính toán
bỏ cao hay thấp
2.5 Lấy mẫu điển hình
Phương pháp Monte Carlo hoạt động dựa trên việc lấy mẫu không gian nghiệm của bài toán Khi trong không gian nghiệm có các vùng có đóng góp lớn hơn đáng kể so với các vùng khác, quá trình lấy mẫu đều trong toàn bộ không gian nghiệm sẽ không hiệu quả, nhất là khi yêu cầu đạt được kết quả chính xác với một khối lượng tính toán không quá lớn
Ví dụ như khi ước lượng giá trị trung bình của hàm số một biến f(x) nào đó trong khoảng [a, b] với N số ngẫu nhiên phân bố đều trong [a, b], độ chính xác của kết quả thu được sẽ phụ thuộc cả vào hình dạng của hàm số f(x) và giá trị N Trọng
số đóng góp của mỗi giá trị f(xi) trong giá trị trung bình tỉ lệ với độ lớn của f(xi) Với
cùng giá trị N, hàm số f(x) càng ít biến đổi trong [a, b] thì giá trị trung bình ước lượng được sẽ càng chính xác Nếu vẽ một đường thẳng song song với trục x và cắt trục y tại giá trị trung bình chính xác, giao điểm này sẽ nằm gần các vùng có giá trị
f(x) lớn Mục đích của chúng ta là tìm giao điểm một cách chính xác nhất có thể với
N nhỏ nhất Để đạt được điều này ta nên sử dụng tập hợp số ngẫu nhiên tuân theo
Trang 16phân bố có dáng điệu gần với dáng điệu của f(x) nhất thay vì dùng tập hợp số ngẫu
nhiên tuân theo phân bố đều Đây là kỹ thuật lấy mẫu điển hình
2.6 Chuỗi Markov
Trong các phần trên đây chúng ta đã tìm hiểu các tính chất và ứng dụng đơn giản của các tập hợp số ngẫu nhiên Trong các nghiên cứu khoa học, chúng ta sẽ mở rộng nghiên cứu giải các bài toán bằng việc sử dụng các quá trình ngẫu nhiên Chuỗi các quá trình ngẫu nhiên được sử dụng nhiều nhất là các chuỗi có tính chất Markov: sự xuất hiện của một sự kiện nào đó chỉ phụ thuộc trực tiếp vào sự kiện xuất hiện ngay trước nó Ví dụ đơn giản chính là các chuỗi số ngẫu nhiên được tạo
ra bởi thuật toán tuyến tính đồng dư được kể đến trong phần 2.2 Trong chương 3 chúng ta sẽ sử dụng các chuỗi cấu hình Markov được tạo ra bởi thuật toán nâng cấp cấu hình Heat bath (buồng nhiệt) với 2 mô hình Ising và XY 2 chiều để giải quyết bài toán chuyển pha giữa hỗn loạn và trật tự Một số tính chất quan trọng của chuỗi Markov cũng sẽ được đề cập đến khi nghiên cứu các bài toán trên
Trang 17CHƯƠNG 3 NGHIÊN CỨU MỘT SỐ MÔ HÌNH VẬT LÝ THỐNG KÊ BẰNG PHƯƠNG PHÁP MONTE CARLO
3.1 Mô hình Ising
3.1.1 Xây dựng thuật toán và chương trình
Như đã đề cập đến trong chương 1, chúng ta có thể xây dựng các mô hình thống kê để mô tả tương tác của các hệ Vật lý Khi nghiên cứu một màng mỏng từ tính của một chất sắt từ có tính bất đẳng hướng đơn trục mạnh, ta có thể mô tả nó
bằng mô hình Ising 2 chiều với N spin Si tương tác với nhau và có tổng thống kê nhận giá trị
H }
1 S
x y
, x
y x D
2
sin
I
x x
e S
S S 1 2
1 exp
hướng của chất sắt từ đang xét Tính sắt từ biểu hiện khi một tập hợp các spin
nguyên tử sắp xếp sao cho các mô-men từ của chúng đều có cùng hướng, do đó tạo nên mô-men tổng hợp có độ lớn đáng kể Giả sử rằng mỗi nguyên tử đều có spin là
bán nguyên Như vậy Si = +1 (spin hướng lên), hoặc Si = −1 (spin hướng xuống),
trong đó Si là thành phần theo phương z của spin nguyên tử thứ i Các chỉ số i, j trong (3.1) được thay đổi sao cho chỉ tính đến khoảng cách gần nhất β tương ứng với số hạng 1/kT thường gặp trong Vật lý thống kê
Số hạng thứ nhất trong (3.1) cho thấy tổng năng lượng bị giảm xuống khi các spin nguyên tử lân cận được sắp xếp cùng chiều Hiệu ứng này chủ yếu là do nguyên lý ngoại trừ Pauli Các electron không thể chiếm giữ cùng một trạng thái lượng tử, vì vậy hai electron của hai nguyên tử cạnh nhau, có cùng spin song song (nghĩa là chiếm cùng trạng thái orbital), thì không thể tiến sát nhau Sẽ không có sự ngăn cản như vậy nếu các electron có spin phản-song song Những ngăn cách không gian khác nhau ngụ ý rằng tồn tại những năng lượng tương tác tĩnh điện khác nhau
Số hạng thứ hai trong (3.1) đặc trưng cho tương tác với từ trường ngoài Khi H bằng
0 ta không xét tương tác với trường ngoài, trong trường hợp này mô hình Ising sẽ có chuyển pha loại hai ở tất cả các mô hình có số chiều không gian lớn hơn 1 Trong
Trang 18chứng kết quả giải tích này
Bước đầu tiên trong việc sử dụng phương pháp Monte Carlo là xây dựng chương trình mô phỏng Chương này sau đó được chạy trên máy tính để thu được
đủ mẫu thống kê cần thiết Các kết quả sẽ được xử lý thống kê để thu được giá trị ước lượng và sai số tương ứng
Trong bước đầu tiên, chúng ta phải xác định bài toán và thuật toán mô phỏng một cách rõ ràng Bài toán Ising 2D sẽ được mô phỏng trên một lưới vuông có kích thước NxN với điều kiện biên tuần hoàn, điều kiện biên phổ biến nhất để giảm ảnh hưởng do sự hữu hạn của lưới mô phỏng mang lại Như đã đề cập đến trong chương
2, phương pháp Monte Carlo là phương pháp sử dụng các mẫu thống kê để ước lượng giá trị của các đại lượng cần tính toán Do kích thước lưới không gian ở đây
là NxN với mỗi điểm trên lưới được đặt một spin, số lượng cấu hình khả dĩ sẽ là
nếu ta chỉ gieo ngẫu nhiên đơn giản để chọn lựa cấu hình, ta cần phải cần rất nhiều
là bất khả thi, chúng ta bắt buộc phải sử dụng phương pháp lấy mẫu điển hình để tính tích phân dạng:
Z
e S S 1 2
exp Z
1 S p
0
H
y , x
y x
Trang 19đầu từ một cấu hình nào đó được gọi là cấu hình ban đầu Cấu hình này sẽ được nâng cấp với một thuật toán xác định để tạo thành một chuỗi Markov các cấu hình
theo phân bố cân bằng (3.3) Đây là một trong những tính chất quan trọng nhất của chuỗi Markov Các chuỗi cấu hình này cũng thỏa mãn tính chất Ergodic: bắt đầu chuỗi từ một cấu hình khả dĩ bất kỳ, chuỗi có thể tiến hóa đến bất kỳ cấu hình khả
dĩ nào khác (ứng với giá trị năng lượng nào đó)
Thuật toán đơn giản nhất để tạo ra một tập hợp cấu hình điển hình là thuật toán Heat bath với xác suất chuyển cấu hình là
Ce S S
không phụ thuộc vào trạng thái của cấu hình xuất phát Thuật toán này kết hợp với các yếu tố cần thiết khác của phương pháp Monte Carlo được trình bày trong phụ lục A1 Nhìn chung một chương trình Monte Carlo cụ thể sẽ bao gồm các bước sau đây:
i, Khởi tạo chương trình;
- Khởi tạo chuỗi số ngẫu nhiên
- Khởi tạo cấu hình hay đọc cấu hình đã được lưu trữ
- Khởi tạo các quy luật, điều kiện biên,
ii, Nâng cấp cấu hình theo một thuật toán nào đó ví dụ như Heat bath;
iii, Tính toán đại lượng Vật lý cần đo đạc;
iv, Quay lại bước ii cho đến khi lấy đủ thống kê
Để kiểm chứng kết quả với tính toán giải tích của Onsager ta cần phải tính độ
Tính toán độ tự hóa đã được tích hợp trong chương trình được đưa đầy đủ trong phụ
lục (Xem phụ lục A1: Chương trình Ising 2D)
3.1.2 Chạy chương trình
Trang 20Chúng tôi bắt đầu chạy chương trình với cấu hình khởi tạo là cấu hình ứng với nhiệt độ 0 tuyệt đối, tất cả các spin đều hướng về một phía Cách khởi tạo này
còn được gọi là khởi tạo lạnh (cold start) Đầu tiên chúng ta khảo sát quá trình hội
tụ của các cấu hình theo chuỗi Markov đến một tập hợp cấu hình có năng lượng và
độ từ hóa tương ứng với giá trị nhiệt độ (giá trị β) đã chọn
Hình 3.1 Quá trình tiến tới cân bằng
Minh họa cho quá trình này được trình bày trên hình 3.1 với tính toán tại β =
0.5 Tại thời điểm bắt đầu quá trình mô phỏng, nhiệt độ là 0 độ tuyệt đối nên tất cả spin hướng về một phía, độ từ hóa nhận giá trị tối đa Nâng cấp cấu hình theo thuật toán Heat bath, độ từ hóa này sẽ giảm dần thể hiện hệ Ising dần trở nên hỗn loạn Sau khoảng sau 20 bước nâng cấp cấu hình, giá trị độ từ hóa của các cấu hình sẽ dao động xung quanh giá trị 0 bất kể quá trình nâng cấp kéo dài bao nhiêu bước
Như vậy tại giá trị β = 0.5, hệ Ising đang ở trong pha hỗn loạn
Để đảm bảo chắc chắn chuỗi Markov các cấu hình đã hội tụ về phân bố cân bằng ứng với giá trị nhiệt độ xác định, chúng tôi nâng cấp cấu hình khoảng 2000 lần với thuật toán Heat bath và mô hình Ising 64x64 trước khi thực sự tính toán giá trị của các đại lượng Vật lý quan tâm Số lượng cấu hình này là quá nhiều chỉ để đảm
Trang 21bảo sự hội tụ khi điểm tính toán ở xa điểm chuyển pha nhưng khi tiến lại gần điểm chuyển pha, nó là cần thiết
Thực hiện các tính toán như mô tả ở trên với các giá trị β khác nhau với
12000 lần nâng cấp cấu hình, chúng tôi thu được hình 3.2
Hình 3.2 Độ từ hóa với 12000 lần nâng cấp cấu hình với các giá trị Beta
Hình vẽ này cho thấy với các giá trị β < 0.8, độ từ hóa dao động xung quanh giá trị
0 chứng tỏ các giá trị β này thuộc pha hỗn loạn Với các giá trị β > 0.9, độ từ hóa
dao động xung quanh một giá trị xác định lớn khác không rõ rệt (> 3000 trong hệ
đơn vị chưa chuẩn hóa) chứng tỏ ở các giá trị β này hệ Ising thuộc pha trật tự Như vậy rõ ràng là có một sự chuyển pha từ hỗn loạn sang trật tự tại một giá trị β nào đó nằm trong khoảng từ 0.8 đến 0.9 Tiếp tục tiến hành mô phỏng với các giá trị β dầy
hơn trong vùng (0.8, 0.9) ta thu được hình 3.3.a
-2000 -1000 0 1000 2000 3000 4000 5000
Trang 22Hình 3.3.a Tìm kiếm điểm chuyển pha
Trong hình 3.3.a ta thấy khi tăng dần giá trị của β từ 0.85 lên mỗi lần 0.01 đơn vị, sự dao động quanh 0 của độ từ hóa giảm dần và đến giá trị β = 0.88 nó gần
như nhận giá trị dương cho thấy điểm này khá gần điểm chuyên pha Tiếp tục mô
phỏng dầy hơn với các giá trị β xung quanh 0.88 với với nhiều bước nâng cấp cấu
hình hơn (2 trăm nghìn bước) ta thu được hình 5.3.b Trong hình này rõ ràng ta
quan sát thấy sự tồn tại của các giả trạng thái (meta states) ứng β = 0.88 và β =
0.881 Giá trị độ từ hóa nhận giá trị dương khoảng cỡ 3000 trong suốt một thời gian
dài (thời gian máy tính) rồi đột ngột chuyển sang nhận giá trị âm cũng cỡ khoảng
gần 3000 trong một thời gian không ngắn rồi lại tiếp tục đổi sang trạng thái dương, Nếu chỉ lấy thống kê trong một khoảng thời gian máy tính không đủ dài, ta sẽ có khả năng nhận được 1 trong 2 giá trị của độ từ hóa: cỡ khoảng gần +3000, cỡ
khoảng gần -3000 tương ứng với cùng một giá trị của β Đây chính là dấu hiệu rõ
rệt của sự chuyển pha từ hỗn loạn sang trật tự Lưu ý rằng điểm chuyển pha lý thuyết tính được theo Onsager[7] là c ln1 20 88137, kết quả này là phù hợp đến khoảng 2 chữ số thập phân có thể thấy rõ chỉ bằng quan sát
Trang 23Hình 3.3.b Tìm kiếm điểm chuyển pha (chi tiết hơn)
Tuy nhiên để thu được kết quả có độ chính xác cao hơn nữa chúng ta cần xử
lý thống kê và tính toán đến các hiệu ứng nảy sinh khi hạn chế kích thước của lưới không gian, sự tự tương quan của dữ liệu, v.v
Trước khi tiếp tục thảo luận về việc xử lý số liệu thống kê, ta hãy thử kiểm tra sự phù hợp giữa lý thuyết và mô phỏng bằng cách chạy chương trình tại chính điểm chuyển pha được mô tả bởi lý thuyết Kết quả được thể hiện trọng hình 3.4 với
1 triệu bước nâng cấp cấu hình khẳng định sự phù hợp giữa lý thuyết và thực nghiệm khi quan sát được sự tồn tại đồng thời 2 tập con các cấu hình ứng với 2 giá trị độ từ hóa trái dấu nhau tại cùng một giá trị nhiệt đô
Tiếp theo chúng ta xem xét đến một yếu tố quan trọng ảnh hưởng đến quá
trình tạo chuỗi Markov các cấu hình là sự tự tương quan của các cấu hình Các cấu hình thuộc chuỗi Markov có tính chất: cấu hình sau chỉ phụ thuộc trực tiếp vào cấu
hình ngay trước đó Tuy nhiên sự phụ thuộc gián tiếp giữa các cấu hình là vẫn tồn
tại với độ mạnh, yếu khác nhau dẫn đến các dữ liệu sau vài chục hoặc thậm chí hàng nghìn lần nâng cấp cấu hình vẫn không hoàn toàn độc lập với nhau
Trang 24Sự phụ thuộc giữa các cấu hình này liên quan chặt chẽ với thuật toán sử dụng để nâng cấp cấu hình và một số yếu tố khác như sự tự tương quan của chuỗi số ngẫu nhiên
Nó cũng phụ thuộc mạnh vào khoảng cách đến điểm chuyển pha Sự tự tương quan là yếu ở xa điểm chuyển và là rất mạnh ở gần điểm chuyển pha Để khảo sát điểm này
chúng tôi sử dụng thuật toán kết hợp dữ liệu (Binding data) khi tính toán độ lệch chuẩn của giá trị độ từ hóa ước lượng được Chúng tôi coi n cấu hình liên tiếp của chuỗi
Markov là phụ thuộc lẫn nhau và vì vậy lấy trung bình các giá trị Vật lý tính toán trên
mỗi cấu hình thuộc n cấu hình liên tiếp nhau Giá trị trung bình đó được coi là 1 giá trị độc lập Sau khi thu được tổng số N giá trị độc lập ta tính toán độ lệch chuẩn theo công
thức:
1 N
-3000
-2000
-1000
0 1000 2000 3000 4000
Trang 25Hình 3.5.a Sự tự tương quan của số liệu tại Beta = 1,5 (Bin Size ≡ n)
Hình 3.5.b Sự tự tương quan của số liệu tại Beta = 0,9 (Bin Size ≡ n)
Tính toán độ từ hóa thu được tại giá trị β = 0.9 với các giá trị n = 1, 2, 5, 10, 20 cho
cùng một tập hợp 10 nghìn cấu hình, chúng tôi thu được hình 3.5.a Hình con phía trên thể hiên sự thay đổi của độ từ hóa theo số lần nâng cấp cấu hình Hình con phía
dưới thể hiện sự phụ thuộc của độ lệch chuẩn theo n định nghĩa như phần trên Tính
4030 4040 4050 4060 4070 4080 4090 4100
Trang 26Độ lệch chuẩn của giá trị trung bình
1.5 1.4 1.3 1.2 1.1 1.0 0.9 0.85 0.8 0.7 0.6 0.5
4.0707e+03 4.0558e+03 4.0311e+03 3.9884e+03 3.9092e+03 3.7367e+03 3.1151e+03 23.6300 27.4544 -17.0056 -6.9324 -1.0454
0.0939 0.1306 0.1903 0.3105 0.6575 1.9935 27.9901 282.5428 49.4152 13.3977 5.8668 3.0757
Bảng 3.1 Sự phụ thuộc của độ từ hóa theo nhiệt độ β
Với trường hợp β = 1.5 ta nhận thấy giá trị tính toán độ lệch chuẩn tăng dần với giá trị n tăng từ 1 đến 10 rồi giảm khi n = 20 Giá trị n ứng với độ lệch chuẩn
đạt giá lớn nhất là số lượng cấu hình liên tiếp nhau còn có tương quan đến nhau Sai
số sẽ bắt đầu giảm khi các cấu hình độc lập được lấy trung bình, dẫn đến giảm khoảng cách giữa các cấu hình độc lập Như vậy trong 10 nghìn cấu hình được tính
toán tại β = 1.5 có 10000/10 = 1000 cấu hình độc lập Quan sát trên hình 3.5.b ta
thấy 1000 cấu hình liên tiếp nhau vẫn có tương quan với nhau và vì thế trong 10
nghìn cấu hình được tính tại β = 0.9 chỉ có 10000/1000 = 10 cấu hình độc lập Ta
quan sát được rõ ràng độ mạnh của sự tương quan tăng lên rõ rệt khi tiến đến gần điểm chuyển pha Điều này cần được quan tâm đúng mực khi xử lý thống kê số liệu Sau khi tính đến sự tự tương quan kể trên, chúng tôi thu được bảng 3.1 thể hiện sự
phụ thuộc của độ từ hóa vào β