Tải bản đầy đủ (.pdf) (55 trang)

Luận văn Thạc sĩ Khoa học: Nghiên cứu một số mô hình vật lý thống kê bằng phương pháp Monte - Carlo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 55 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

VŨ NGỌC HÀ

NGHIÊN CỨU MỘT SỐ MƠ HÌNH VẬT LÝ THỐNG KÊ
BẰNG PHƯƠNG PHÁP MONTE-CARLO

LUẬN VĂN THẠC SĨ KHOA HỌC

Hà Nội, 2014


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

VŨ NGỌC HÀ

NGHIÊN CỨU MỘT SỐ MƠ HÌNH VẬT LÝ THỐNG KÊ
BẰNG PHƯƠNG PHÁP MONTE-CARLO

Chuyên ngành: Vật lý lý thuyết và vật lý toán
Mã số: 60 44 01 03

LUẬN VĂN THẠC SĨ KHOA HỌC

Người hướng dẫn khoa học:
TS. Nguyễn Hoàng Oanh

Hà Nội, 2014



LỜI CẢM ƠN
Trước hết, em xin được gửi lời cảm ơn chân thành sâu sắc đến thầy giáo
TS. Nguyễn Hoàng Oanh. Cảm ơn thầy đã truyền đạt cho em những kiến thức
chuyên ngành hết sức cần thiết, đã chỉ bảo em nhiệt tình trong q trình học tập
mơn học và quá trình thực hiện luận văn này.
Em xin được gửi lời cảm ơn chân thành đến Ban chủ nhiệm khoa Vật lý,
các thầy cô trong khoa Vật lý, các thầy cô trong tổ Vật lý trường Đại học Khoa
học tự nhiên đã quan tâm tạo điều kiện giúp đỡ em trong suốt thời gian làm luận
văn cũng như trong suốt quá trình học tập, rèn luyện tại trường.
Em xin được gửi lời cảm ơn đến các anh chị nghiên cứu sinh, các bạn học
viên cao học khóa 2011-2013 đang học tập và nghiên cứu tại bộ môn Vật lý lý
thuyết và Vật lý toán- Khoa Vật lý - Trường ĐH KHTN - ĐHQGHN đã nhiệt tình
giúp đỡ và hướng dẫn em trong quá trình học tập.
Cuối cùng em xin bày tỏ lịng biết ơn tới gia đình, bạn bè đã luôn quan tâm
động viên, giúp đỡ em trong suốt quá trình thực hiện luận văn này.
Em xin chân thành cảm ơn.
Hà Nội, ngày 8 tháng 01 năm 2015
Học viên

Vũ Ngọc Hà


MỤ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 tố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


DANH 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 tố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


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 tố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 tốn, như việc tính tố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 :
 

Xây dựng các chương trình mơ phỏng mơ hình Ising 2D trong Vật lý thống
kê sử dụng thuật toán Heat bath và Metropolis bằng ngơn ngữ Scilab.


 

Sử dụng các chương trình để mơ phỏng hệ spin Ising 2D và tính tốn điểm
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 tốn giải tích của Lars Onsager trong tài liệu trích dẫn.

 

Mơ phỏng hiện tượng sự cố hữu (persistence) của mơ hình Ising 2D, so
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.

 

Dựa trên các kết quả thu được, xây dựng chương trình mơ phỏng cho mơ
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

1


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ê
Các bài toán Vật lý thống kê


[1, 2]

chủ yếu tính tốn tính chất Vật lý của các

hệ mơi trường đậm đặc. Điểm khó khăn nhất khi thực hiện các tính tố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
số lượng phân tử nhưng chúng là một hỗn hợp của Oxy, Nitơ, CO2 và một số thứ
khác. Bầu khí quyển của Trái đất bao gồm 4x1021 lít khơng khí hay khoảng 1x1044
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ó q 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 đố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 đố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 tố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


2


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 tố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
ngồi. Sự ảnh hưởng của mơi trường bên ngồ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ệ ln
ln 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 tố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

3


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
suất khác nhau. Chúng ta cũng định nghĩa một tập hợp các trọng số wu(t) biểu diễn
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
tố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
tiến hóa của wu(t) theo các xác suất chuyển trạng thái R(u  v)dt:
dwu
  wv t Rv  u   wu t Ru  v  .
dt
v

(1.1)

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ừ trạng thái u đến các trạng thái khác. Các xác suất wu(t) sẽ phải tuân theo quy luật:

 w t   1
u

(1.2)

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 đó.
Nghiệm của phương trình (1.1) với điều kiện (1.2) cho chúng ta sự biến đổi của wu
theo thời gian.
Nếu chúng ta nghiên cứu đại lượng Q nào đó có giá trị Qu trong trạng thái u,
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à
Q   Qu wu t 

(1.3)

u

Đâ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 Si
tương tác với nhau

4


N

H I sin g   J  S i S j  H  S i ,
i , j 

(1.4)


S i  1

i 1

với spin Si tại nút mạng i có thể hướng lên trên hoặc xuống dưới theo trục dễ định
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:



N



H XY   J  S ix S jx  S iy S jy  H x  S ix ,
i , j 

S   S 
x 2
i

y 2
i

 1.


(1.5)

i 1

Và khi spin là đẳng hướng ta sử dụng mơ hình Heisenberg:
N

H Heisenberg   J  S  S   H z  S iz ,
i , j 

S   S   S 
x 2
i

y 2
i

z 2
i

 1.

(1.6)

i 1

Tất nhiên là với sự đa dạng của các vật liệu thực được tạo ra trong phịng thí
nghiệm, chúng ta phải chọn lựa các biến thể của các mơ hình trên cho phù hợp.
Thay vì chọn lựa số trạng thái khả dĩ của spin là 2 như trong (1.4) hay là vô cùng
như trong (1.5) và (1.6) ta có thể chọn lựa một giá trị xác định khác. Thay vì chỉ

chọn lựa tương tác gần nhất, chúng ta mở rộng tương tác trao đổi cho đến lân cận
gần thứ hai hoặc gần thứ ba,... Thay vì chọn lựa hồn tồn đối xứng như trong (1.6)
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
đổi J nhận giá trị hằng số trên các nút mạng nó có thể nhận các giá trị ngẫu nhiên Jij.
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.

5


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 tố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 tố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.
Q 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 tố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 tố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 tố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 q 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 tố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 tố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 0trịn có tâm tại gốc tọa độ O(0,0) khi và chỉ khi x2+y2<1. Diện tích hình trịn có bán

6


kính R=1 là S = R2 =

cịn hình vng có cạnh a = 2 là a2 = 4, do đó xác xuất để

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 tố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 tốn tính số π về bài tố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. Ngồ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
bằng việc sử dụng một tập số ngẫu nhiên {xi} phân bố đều trong khoảng [a, b]. Từ
tập hợp đó chúng ta có thể ước lượng giá trị trung bình:

7


(2.1)
Giá trị tích phân khi đó ước lượng bằng:

(2.2)
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:

(2.3)
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)

8


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:

(2.5)

(2.6)
Với trường hợp N lần thử độ lệch chuẩn sẽ là:

(2.7)
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ỉ
lệ thuận với

, độc lập với số lớp tích phân, vì thế phương pháp Monte Carlo

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 tốn Monte Carlo điển hình với 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 hồn tồn được tính

9


ngẫu nhiên vì thuật tố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 tố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:
X i 1   aX i  c  mod m


(2.8)

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 tốn tuyến tính đồng dư tuyến tính là thuật tố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 ngun 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.

10


2.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)
Vậy xác suất tìm thấy số ngẫu nhiên nằm trong khoảng [a, b] là

.

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

Nếu ta có một tập hợp số ngẫu nhiên {x} có hàm mật độ xác suất là p1(x) xác
định thì hàm mật độ xác suất p2(y) của tập hợp số ngẫu nghiên {y} được tạo ra bằng
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)| |
Khi cả hai mật độ hàm mật độ p1(x) và p2(x) là đã biết, chúng ta có thể xác
định hàm chuyển đổi y(x) bằng cách tích phân phương trình bảo tồn xác suất:
=

 P1(x)=P2(y)  y=P2-1(y)[P1(x)]

(2.10)

Đố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ì
= P1(x)=x. y được tính ngược từ hàm sau x =

.

Ví dụ: Lấy mẫu biến ngẫu nhiên x có hàm mật độ xác suất f(x)=ae-ax trong khoảng
[0,∞) ta có:
| |=f(x)= ae-ax nên t= e-ax hay x= -

(2.11)

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:

11


x= để thu được một tập hợp số ngẫu nhiên {x} tuân theo phân bố f(x)=ae-ax trong

khoảng [0,∞).
Phương pháp loại trừ
Phương pháp đổi biến ở trên là một phương pháp tính tốn hiệu quả cho phép
thu thập các số ngẫu nhiên ở phân bố không đều, tuy nhiên phương pháp này có một
nhược điểm là khó có thể áp dụng cho những hàm giải tích phức tạp. Khơng phải
hàm nào cũng tính ra được hàm ngược một cách dễ dàng, do đó cần thiết phải có
một phương pháp khác để giải quyết vấn đề này.
Phươ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 độ
xác suất f(x) khác 0 trong khoảng [xmin, xmax] và bằng 0 ở ngoài khoảng này. Gọi C
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
bao gồm gieo N cặp số ngẫu nhiên, tuân theo phân bố đều trong khoảng [xmin, xmax]
và [0,C] và chỉ thu nhận những số nằm dưới đường cong f(x).
Gọi M là tổng số những cặp số được thu nhận và vm(x)dx là số những cặp số
có hồnh độ nằm trong khoảng (x, x+dx). Khi mà số lần gieo tiến tới vô cùng tỉ số
vm(x)

tiến tới giá trị

.

Hình 2.1. Minh họa thuật tốn loại trừ
Thuật toán chi tiết:

12


-  Tạo một tập hợp số ngẫu nhiên {x} tuân theo phân bố đều trong khoảng [xmin,
xmax]
-  Với mỗi giá trị x, gieo một số ngẫu nhiên n theo phân bố đều trong khoảng

[0,1]. Giá trị x được chấp nhận giữ lại trong tập hợp nếu

> n, nếu khơ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 tốn
được giá trị Fmax thì chúng ta có thể làm tăng hiệu suất tính tốn bằng cách đặt C=
Fmax. Phương pháp này còn một nhược điểm khác là không phải lúc nào ta cũng xác
định được Fmax một cách dễ dàng, việc lựa chọn C theo Fmax sẽ quyết định tỉ lệ loại
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 tố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 tồ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 tố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

13



phâ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 tốn bằng việc sử dụng các q 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 tố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 tố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.

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
3.1. Mơ hình Ising
3.1.1. Xây dựng thuật tố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ị
Z I sin g 2 D 


 1

exp     1  S x S y     S x    e  H
{ S x  1 }
x
 { S x  1 }
  2  x , y 



(3.1)

với spin Si tại nút mạng i có thể hướng lên trên hoặc xuống dưới theo trục dễ định
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 ngồ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

15


trường hợp 2 chiều, mơ hình này đã được giải bằng phương pháp giải tích bởi
Onsager[7], ơng tìm được điểm chuyển pha loại hai giữa mất trật tự - trật tự tại





 c  ln 1  2  0.88137 . Chúng tôi sẽ sử dụng phương pháp Monte Carlo để kiểm

chứ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 tốn mơ phỏng
một cách rõ ràng. Bài tố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 hồ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 tố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à
2NxN. Một cấu hình dạng nhỏ thường được sử dụng trong các nghiên cứu đơn giản
có giá trị N = 64 sẽ có 24096 ≈ 101233 cấu hình khả dĩ, một con số vơ cùng lớn. Vì thế
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
cấu hình so với con số 101233 để có thể có được một kết quả tin cậy được. Việc này

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:
A 

1
Z

 

 dS AS  exp 2  1  S
 x ,y 

x


S y 


(3.2)

ước lượng giá trị trung bình của đại lượng Vật lý A. Phương pháp lấy mẫu điển hình
trong trường hợp này sử dụng các thuật tốn phù hợp để tìm được một tập hợp các
cấu hình tuân theo phân bố:
p S  

 
1
exp 
Z
 2


 e
 1  S S  
x

 x ,y 

y



16

 H 0

Z

,

(3.3)


với H0 là Hamiltonian khi khơng có trường ngồi. Các thuật tốn được xây dựng bắt
đầ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 tốn xác định để tạo thành một chuỗi Markov các cấu hình
{S1} {S2}{S3}... Chuỗi này dần sẽ hội tụ đến một tập hợp các cấu hình tuân
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 tố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
tốn Heat bath với xác suất chuyển cấu hình là
W S  S   Ce  H ( S  ) ,

(3.4)

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 tốn nào đó ví dụ như Heat bath;
iii, Tính tố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 tốn giải tích của Onsager ta cần phải tính độ
từ hóa:
M 

1
j S j .
V

(3.5)

Tính tố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


17


Chú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.
Beta = 0.5
3000

2500

Magnetization

2000

1500

1000

500

0

-500
0

10


20

30

40
50
60
Number of update sweeps

70

80

90

100

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 tốn tại β =
0.5. Tại thời điểm bắt đầu q 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
tố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 tốn Heat bath và mơ hình Ising 64x64 trước khi thực sự tính tố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


18


bảo sự hội tụ khi điểm tính tố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 tố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.
5000

 

Beta=0.5
Beta=0.6
Beta=0.7
Beta=0.8
Beta=0.9
Beta=1.0
Beta=1.1
Beta=1.2
Beta=1.3
Beta=1.4
Beta=1.5

4000

Magnetization

3000


2000

1000

0

-1000

-2000  
0

2000

4000
6000
8000
Number of update sweeps

10000

12000

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.


19


Hì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  ln 1  2  0.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.

20



×