Tích phân Monte-Carlo

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Tích phân Monte Carlo là một phương pháp tìm giá trị số của tích phân, đặc biệt là các tích phân đa chiều có dạng:

I = \int_{V} f(\vec x)\, d\vec x

trên một miền không gian đa chiều V sử dụng một số hữu hạn các lần gọi hàm f.

Các phương pháp tích phân Monte-Carlo bao gồm phương pháp cơ bản, phương pháp lấy mẫu có trọng tâm,... Các phương pháp này cũng cho biết ước lượng sai số thống kê của phép tính, tuy rằng ước lượng này có thể không chính xác do việc khảo sát ngẫu nhiên hàm số trên miền không gian đa chiều có thể không cho thấy hết mọi biểu hiện của hàm.

Tích phân Monte Carlo cơ bản[sửa | sửa mã nguồn]

Tích phân một chiều[sửa | sửa mã nguồn]

Ở dạng cơ bản nhất, giá trị của tích phân một chiều:

I = \int_{a}^{b} f(x)\, dx

được dự đoán là tổng:

E(I) = V <f> = \frac{V}{N} \sum_{i=1}^N f(x_i)

trong đó

Vthể tích mở rộng của miền tích phân
V = \int_{a}^{b}\, dx
xi là các giá trị lấy ngẫu nhiên đều trong khoảng [a, b].
N là tổng số lần lấy mẫu xi

Sai số của dự đoán được tính bằng căn của phương sai của giá trị trung bình:

\sigma^2 (E(I)) = \frac{V}{N} \sum_{i=1}^N (f(x_i) - <f>)^2

Khi số lần lấy mẫu, N, tăng, phương sai giảm theo 1/N, tức là sai số của phép tính giảm theo \frac{1}{\sqrt{N}}.

Tích phân đa chiều[sửa | sửa mã nguồn]

Phương pháp trên được mở rộng cho tích phân đa chiều:

\int_V f\, dV \approx V<f> \pm \sqrt{\frac{<f^2>-<f>^2}{N}}

với:_{i=1}^N f^2(x_i)</math>

N.

Lấy mẫu có trọng tâm[sửa | sửa mã nguồn]

Tích phân một chiều[sửa | sửa mã nguồn]

Nếu biết hàm cần tích phân f(x) cư xử như nào, ta có thể chọn được một hàm g(x) có giá trị biến đổi gần giống |f(x)| trên miền cần tích phân, ta có thể biến đổi tích phân thành:

I = \int_{a}^{b} f(x)\, dx = \int_{a}^{b} \frac{f(x)}{g(x)} g(x)\, dx = \int_{a}^{b} \frac{f(x)}{g(x)} \, dG(x)

với:

g(x) =\frac{dG(x)}{dx}

g(x) thỏa mãn điều kiện chuẩn hóa:

\int_{a}^{b} g(x)\, dx = 1

Lúc này có thể lấy các điểm xi ngẫu nhiên trong khoảng [a, b] theo phân bố xác suất g(x') để tìm giá trị tích phân:

I \approx \frac{1}{N} \sum_{i=1}^N \frac{f(x_i)}{g(x_i)}

Hàm g(x) càng giống f(x) thì phương sai của f(x)/g(x) càng nhỏ và sai số của phép tính càng nhỏ.

Một bất lợi của phương pháp này là sai số có thể lớn nếu hàm g(x) được chọn gần bằng 0 tại những điểm mà f(x) khác 0. Lúc đó, phương sai của f(x)/g(x) có thể lớn đến vô cùng. Lỗi này có thể khó phát hiện khi miền giá trị tại đó g(x) bằng 0 là rất nhỏ.

Xem thêm[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  • W.H. Press, G.R. Farrar, Recursive Stratified Sampling for Multidimensional Monte Carlo Integration, Computers in Physics, v4 (1990), pp190–195.
  • Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; and Vetterling, W. T. "Simple Monte Carlo Integration" and "Adaptive and Recursive Monte Carlo Methods." §7.6 and 7.8 in Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. Cambridge, England: Cambridge University Press, pp. 295–299 and 306-319, 1992.
  • G.P. Lepage, A New Algorithm for Adaptive Multidimensional Integration, Journal of Computational Physics 27, 192-203, (1978)
  • G.P. Lepage, VEGAS: An Adaptive Multi-dimensional Integration Program, Cornell preprint CLNS 80-447, March 1980
  • Ueberhuber, C. W. "Monte Carlo Techniques." §12.4.4 in Numerical Computation 2: Methods, Software, and Analysis. Berlin: Springer-Verlag, pp. 124–125 and 132-138, 1997.
  • York Acad. Sci. 86, 844-874, 1960.
  • Weinzierl, S. "Introduction to Monte Carlo Methods." 23 Jun 2000. http://arxiv.org/abs/hep-ph/0006269/.