Rozdziaª 3 CA KOWANIE METOD MONTE CARLO

advertisement
Janusz Adamowski
METODY OBLICZENIOWE FIZYKI
1
Rozdziaª 3
CAŠKOWANIE METOD
MONTE CARLO
3.1 Caªkowanie funkcji jednej zmiennej
3.1.1 Metoda chybiªtraª
Chcemy policzy¢ caªk¦ z funkcji f (x) w przedziale [a, b], czyli
I=
Z b
a
f (x)dx .
(3.1)
Niech f (x) w tym przedziale speªnia nierówno±ci: c ≤ f (x) ≤ d (Rys. 3.2).
2
Rozdziaª 3. Caªkowanie metod¡ Monte Carlo
G
[ \ I[
K
[ \ F
5\V
[
[ D
[ E
Rys. 3.2. Ilustracja do metody Monte Carlo chybiªtraª. Punkt (x1 , y1 )
speªnia warunek (3.2).
Za pomoc¡ generatora liczb losowych o rozkªadzie jednorodnym wyznaczamy N par niezale»nych od siebie przypadkowych liczb (xi , yi ) takich, »e
speªnione s¡ nast¦puj¡ce nierówno±ci: a ≤ xi ≤ b oraz c ≤ yi ≤ d. Nast¦pnie
wyznaczamy liczb¦ par Np speªniaj¡cych warunek
yi ≤ f (xi )
(3.2)
Oszacowaniem IN Monte Carlo caªki (3.1) jest liczba
IN =
Np
A,
N
(3.3)
gdzie A = (b − a)(d − c).
3.1.2 Podstawowa metoda Monte Carlo
Zgodnie z twierdzeniem o warto±ci ±redniej
I = (b − a)hf i ,
(3.4)
Janusz Adamowski
METODY OBLICZENIOWE FIZYKI
3
gdzie hf i jest warto±ci¡ ±redni¡ funkcji f (x). T¦ warto±¢ ±redni¡ liczymy
zgodnie z metod¡ MC jako
hf i =
N
1 X
f (xi ) ,
N i=1
(3.5)
gdzie xi (i = 1, . . . , N ) jest ci¡giem N liczb przypadkowych jednorodnie
rozªo»onych w przedziale [a, b].
3.1.3 Metoda ±redniej wa»onej
Wprowadzamy funkcj¦ wagow¡ tak¡, »e w(x) ≥ 0 oraz
Z b
a
dxw(x) = 1 .
(3.6)
Przeksztaªcamy caªk¦ (3.1) do postaci
I=
Z b
a
dxw(x)
f (x)
.
w(x)
(3.7)
Oszacowaniem Monte Carlo caªki (3.7) jest
IN =
N
b−aX
f (xi )
,
N i=1 w(xi )
(3.8)
przy czym ci¡g liczb przypadkowych xi podlega rozkªadowi prawdopodobie«stwa w(x) w przedziale [a, b].
3.2 Caªkowanie funkcji wielu zmiennych
Rozwa»my funkcj¦ d zmiennych f (x1 , . . . xd ), przy czym ka»da spo±ród
zmiennych xj przyjmuje warto±ci z przedziaªu [aj , bj ]. Caªka d-wymiarowa
I=
Z b1
a1
dx1 . . .
Z bd
ad
dxd f (x1 , . . . , xd ) .
(3.9)
Oszacowaniem Monte Carlo caªki 3.9 jest
IN =
N
ΩX
f (x1i , . . . , xdi ) ,
N i=1
(3.10)
gdzie Ω = (b1 −a1 )×. . .×(bd −ad ) jest d-wymiarow¡ obj¦to±ci¡, a (x1i , . . . , xdi )
s¡ wybrane losowo wedªug rozkªadu jednorodnego z przedziaªów [an , bn ], przy
czym n = 1, . . . , d.
4
Rozdziaª 3. Caªkowanie metod¡ Monte Carlo
3.3 Analiza bª¦dów caªkowania numerycznego
3.3.1 Metoda prostok¡tów
Oszacowanie bª¦du caªkowania po przestrzeni d-wymiarowej za pomoc¡
metody prostok¡tów
δ ' O(N −1/d )
(3.11)
3.3.2 Bª¦dy caªkowania za pomoc¡ innych metod klasycznych
Szacowany bª¡d po przestrzeni d-wymiarowej
δ ' (N −m/d ) ,
(3.12)
gdzie m opisuje bª¡d caªkowania w jednym wymiarze.
3.3.3 Bª¡d caªkowania metod¡ Monte Carlo
Niezale»nie od liczby wymiarów przestrzeni bª¡d caªkowania za pomoc¡
metody Monte Carlo jest rz¦du
O(N −1/2 ) .
(3.13)
Tabela 3.1. Porównanie bª¦dów caªkowania za pomoc¡ ró»nych metod.
metoda
bª¡d
Monte Carlo
prostok¡tów
trapezów
Simpsona
N −1/2
N −1/d
N −2/d
N −4/d
przewaga metody MC
dla d ≥ d0
3
5
9
Metoda MC staje si¦ dokªadniejsza od ka»dej z metod klasycznych , gdy
wymiar przestrzeni, po której caªkujemy, przekracza d0 .
Download