Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdziaª 3 CAKOWANIE 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 .