1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu một số mô hình vật lý thống kê bằng phương pháp monte carlo

55 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 1,25 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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

Trang 2

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

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

Trang 3

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 quá 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à

Trang 4

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 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 5

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 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 6

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í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

  Sử dụng các chương trình để mô phỏng hệ spin Ising 2D và tính toá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 toá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

Trang 7

2

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 toá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 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

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 1x1044phâ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 8

3

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 9

4

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

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

u w t R v u w t R u v 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ừ 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:

 t 1 w u

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 wutheo 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à

 

u u

u w t 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 10

5

1 S , S H S S J

j ,

i j

i g

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:

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

đổ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

Trang 11

6

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 trò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

Trang 12

7

kính R=1 là S = R2 = còn hình vuông 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 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 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:

Trang 13

8

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 14

9

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 15

ngẫ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:

i 1 i

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 16

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)

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 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ì

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ó:

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 17

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ó 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 18

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

được giá trị Fmax thì chúng ta có thể làm tăng hiệu suất tính toá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 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 19

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 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 20

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 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

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 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 21

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 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à

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:

Z

e S S 1 2

exp Z

1 S p

0

H

y , x

y x

Trang 22

với H0 là Hamiltonian khi không có trường ngoài Các thuật toá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 toá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 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ừ hóa:

j S j V

1

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 23

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

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 24

bả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

0 2000 4000 6000 8000 10000 12000 -2000

-1000 0 1000 2000 3000 4000 5000

Trang 25

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à cln12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

Trang 26

Hì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 27

Hình 3.4 Mô phỏng tại điểm chuyển pha theo lý thuyết Onsager[7]

Sự 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

A

A 2 2 N

-3000

-2000

-1000

0 1000 2000 3000 4000

Ngày đăng: 16/04/2021, 16:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w