Mơ hình lõi cứng (hard-core model)

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán metropolis và ứng dụng (Trang 47)

3 ÁP DỤNG THUẬT TOÁN METROPOLIS

3.2 Mơ hình lõi cứng (hard-core model)

Xét một đồ thị vô hướng G = (V, E) với |V| = N. Mỗi đỉnh ở một trong hai trạng thái "0" hoặc "1".

+ ) Hai đỉnh u,v được gọi là kề nhau nếu (u, v) ∈ E.

+ ) Một cấu hình của G là tập tất cả các trạng thái của các đỉnh.

+ ) Các cấu hình ξ là chấp nhận được ("feasible") nếu đối với mỗi đỉnh v ∈ V có thể là "1" chỉ khi các đỉnh kề với nó ở trạng thái "0".

+ ) Mơ hình lõi cứng là xích Markov mà khơng gian trạng thái của nó gồm tất cả các cấu hình chấp nhận được của G. Tại mỗi bước, ta chọn ngẫu nhiên một đỉnh và có thể chuyển trạng thái của đỉnh này từ "0" sang "1" hoặc ngược lại.

Kích thước của khơng gian trạng thái này phụ thuộc vào số cạnh |E|. Đối với đồ thị hồn tồn liên thơng tức là mọi đỉnh đều được nối với nhau (|E| = G2n) thì số các cấu hình chấp nhận được chỉ là N+1 ( một cấu hình gồm tồn trạng thái "0" và N cấu hình có đúng một trạng thái "1"). Tuy nhiên, khi số cạnh giảm thì số các cấu hình chấp nhận được tăng. Trường hợp xấu nhất khi |E|=0 tức là khơng có cạnh nào thì đồ thị G có 2N cấu hình chấp nhận được.

Trên tập các cấu hình chấp nhận được của G ta xây dựng một độ đo theo phân bố đều:

µ(ξ) = 1 ZG.

với ξ là cấu hình chấp nhận được của G và ZG là tổng số cấu hình chấp nhận được của G.

Câu hỏi đặt ra là về trung bình có bao nhiêu điểm có trạng thái "1" trong một cấu hình chấp nhận được của G. Gọi n(X) là số trạng thái "1" của cấu hình chấp nhận được được chọn ngẫu nhiên theo phân bố µ. Khi đó:

E[n(X)] = X ξ-chấp nhận được n(ξ).µG(ξ) = 1 ZG X ξ-chấp nhận được n(ξ).

Việc tính E[n(X)] chỉ khả thi với các đồ thị nhỏ. Với các đồ thị lớn thì số các cấu hình chấp nhận được tăng lên rất nhanh, có thể theo hàm mũ. Ví dụ khi |E|= 0 ta có 2N cấu hình chấp nhận được. Khi đó việc tính E[n(X)] sẽ rất khó khăn.

Dưới đây ta sẽ áp dụng kỹ thuật mơ phỏng được trình bày trong chương 2 để tính xấp xỉ E[n(X)]. 3.3 Thuật tốn và chương trình + ) Đầu vào: - Đồ thị G =(V,E) với |V|= N. - T: số phép lặp. + ) Đầu ra:

Véc tơ B với Bi là số trạng thái "1" của cấu hình chấp nhận được ở bước thứ i. Dùng véc tơ B để có thể vẽ được biểu đồ hình cột và ước lượng được E[n(X)].

+ ) Thuật toán:

- Trước hết ta tạo một véc tơ A cỡ N và đặt Ai = 0 với ∀i tức là tất cả các đỉnh đều ở trạng thái "0". Ở các bước sau giá trị của Ai (0 hoặc 1) chính là trạng thái của đỉnh i.

- Với mỗi t= 1,2, ..., N (bước t) ta làm như sau:

+ ) Sinh một số ngẫu nhiên có phân bố đều trên{1, ..., N} và lưu vào biến v.

+ ) Sinh biến ngẫu nhiên có phân bố đều trên (0,1) và lưu vào biến c. + ) Nếu c > 1

2 và khơng có đỉnh kề nào của v ở trạng thái "1" ta đăt Av = 1. Nếu c ≤ 1

2 đặt Av = 0.

+ ) Đếm số các số "1" trong véc tơ A và lưu vào Bt.

Xích Markov được xây dựng theo thuật tốn này với trường hợp lưới vng G kích cỡ 10x10 là tối giản và khơng có chu kỳ.

+ ) Tính tối giản: Xích tối giản vì từ cấu hình δ bất kỳ với xác suất dương có thể quay về cấu hình gồm tồn trạng thái "0". Điều này xảy ra khi các đỉnh ở trạng thái "1" đều được chọn và khi sinh giá trị c thìc ≤ 1

2. Từ cấu hình 0 (mọi đỉnh đều ở trạng thái "0") cũng có thể đi đến một cấu hình δ, chấp nhận được bất kỳ. Điều này xảy ra khi các đỉnh có trạng thái "1" trong δ, được chọn và khi sinh c thì c > 1

2.

+ ) Tính khơng có chu kỳ: Xích khơng có chu kỳ vì tại mỗi biến với xác suất dương cấu hình khơng thay đổi.

Trong ví dụ này đồ thị G có kích thước 10x10 như hình vẽ số 3 như vậy ta sẽ có N = 100 đỉnh. Ta dùng ma trận Mij(i, j = 1,2, ...,100) để lưu đồ thị này: Mij = 1 nếu (i,j) kề nhau (có cạnh nối i, j) ngược lại Mij = 0.

Hình 3.1: Hình vẽ cho trường hợp các đỉnh đều ở trạng thái "0" + ) Chương trình:

+ ) Kết quả: - Vẽ ra histogram.

KẾT LUẬN

Như vậy, trong luận văn trên, em đã trình bày những kiến thức cơ bản nhất về các phương pháp mô biến ngẫu nhiên như: phương pháp lấy mẫu ngược, phương pháp lấy mẫu loại trừ. Trong chương I của luận văn đã trình bày về ước lượng bằng mơ phỏng cũng như các kiến thức về xích Markov với các phân bố dừng và phân bố giới hạn, cũng như kiến thức về xích tối giản và khơng có chu kỳ, xích khả nghịch.

Trong chương 2 từ những điều đã nêu về xích Markov ta nâng cấp lên thành thuật toán MCMC-Markov Chain Monte Carlo. Nhờ tính Ergodic của xích Markov đã được nêu trong định lý Ergodic ta có: Giả sử ta muốn biết kỳ vọng của BNN mà có Y là hàm phân phối với hàm mật độ tương ứng là Tuy vậy, ta khơng thể tính được, rất may ta có thể xây dựng một xích Markov có tính Ergodic mà hàm phân phối ban đầu có hàm mật độπ . Sau đó ta cho X tới một số giá trị theo thời gian - các giá trị này rất lớn và ta đặt là N và ước lượng Eh(Y) bởi 1

N

N

X

n=1

h(Xn). Đây là ý tưởng chính của thuật toán MCMC. Và luận văn cũng giới thiệu một vài cơ chế sinh (sampler) xích Markov như vậỵ, đó là thuật tốn Metropolis-Hastings.

Chương III của luận văn nêu áp dụng thuyết Metropolis thơng qua ngơn ngữ R bằng cách nêu bài tốn : Xích Markov được xây dựng theo thuật tốn này là với G là lưới 10x10 là tối giản và khơng có chu kỳ. Chương trình này cho ta kết quả và biểu đồ biểu diễn các phân phối các trạng thái "1". Luận văn kết thúc bởi đoạn chương trình và kết quả ước lượng.

Tài liệu tham khảo

[1] Đặng Hùng Thắng, Xác suất nâng cao, NXB Đại học Quốc gia Hà

nội, 2012.

[2] Nguyễn Duy Tiến, Vũ Viết Yên, Lý thuyết xác suất, NXB Giáo dục,

2009.

[3] Đặng Hùng Thắng, Q trình ngẫu nhiên và tính tốn ngẫu nhiên,

NXB Đại học Quốc gia Hà nội, 2012

[4] Gareth Robert ST911 Fundamentals of Statistical Inference Part III,

University of Warwick.

[5] Jun S.Liu Strategies In Scientific Computing , Department of Statis- tics Harvard University, June 13,2001.

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán metropolis và ứng dụng (Trang 47)

Tải bản đầy đủ (PDF)

(53 trang)