Ilustracja metody MONTE CARLO obliczania całek podwójnych
Często jest tak, iż wiemy, że istnieje całka oznaczona z funkcji f jednak nie potrafimy jej analitycznie policzyć. Konieczne jest wtedy zastosowanie jakiejś metody numerycznej. Metody całkowania oparte o użycie liczb losowych pojawiły się w latach czterdziestych XX wieku. W Los Alamos w ramach "Projektu Manhattan" (nad budową bomby jądrowej pracowali wtedy m.in. John von Neumann, Stanisław Ulam, Richard Feynman) potrzebne było obliczenie całek dotyczących rozpraszania i absorpcji neutronów. Wykorzystana została do tego metoda Monte Carlo. Nazwa Monte Carlo, kasyna w Monaco, nawiązuje do losowości gier hazardowych.
Projekt prezentuje zastosowanie metody Monte Carlo do obliczania całek podwójnych. Zgodnie z Mocnym Prawem Wielkich Liczb Kołmogorowa, całka dana jest wzorem: b a n f ( X k ) n k=1 n b f ( x)dx a Przybliżenie całki dla całek podwójnych wygląda następująco: (b a ) f ( x, y )dxdy n n k=1 Gdzie xk i yk to odpowiednie losowe liczby xk = a + (b a )u k f ( xk, y k ) yk = a + (b a )vk
Przykłady całek
x 3 + y dxdy 3
x 3 + y dxdy 3 = {( x, y ) : x,0 y x }
x 3 + y dxdy 3
Obliczenia analityczne x dx 0 x 1 ( x + y )dy = y 3 dx = 3 0 1 1 ( x ) dx = (16 8 x + x )dx = 1 8 3 1 5 16 x x + x 3 5 18 = 15
Metoda Monte Carlo ~obszar zawarty jest w kwadracie ' = [ ;] [ ;] ~n liczb ui i vi losujemy z rozkładu jednostajnego U (0;1) I przekształcamy według wzorów. ~wykorzystując wylosowane liczby możemy przybliżyć całkę: ( x + y )dxdy n 3 3 n k=1 3 3 ( xk + y k )
Stworzony został wykres przedstawiający rozkład wyników dla wykonanych 50 prób dla każdego n, wyskalowany został półlogarytmicznie, pominięto ukazanie rozrzutu wartości dla n=1 i n=10 ze względu na ich duże różnice Wyniki prób Monte Carlo Wartość całki Wartosci uzyskane 10 9 y = 8,53333 8 7 6 10 100 1000 10000 100000 1000000 Ilosc prób Monte Carlo n Wartość obliczona metodami standardowymi to 8,5(3). Metodą Monte Carlo, dla 50 prób przy n=1000000 uzyskujemy wartość średnią 8,535893, co stanowi bardzo dobre przybliżenie rzeczywistej wartości całki.
sin( y ) dxdy y
sin( y ) dxdy y = {( x, y ) : 0 x, x y }
sin( y ) dxdy y
Obliczenia analityczne sin(y) dxdy = y = y sin(y) 0 dy 0 y dx = sin( y)dy = 0 sin(y) 0 x y [cos( ) cos(0)] = x= y dy = x= 0
Metoda Monte Carlo ~obszar zawarty jest w kwadracie ' = [0; ] [0; ] ~n liczb ui i vi losujemy z rozkładu jednostajnego U (0;1) I przekształcamy według wzorów na xi i yi ~wykorzystując wylosowane liczby możemy przybliżyć całkę: sin( y ) dxdy y n n sin( yk ) k = 1 y k
Wyniki prób Monte Carlo Wartość całki Wartosci uzyskane 3,5 3,5 y= 1,5 1 10 100 1000 10000 100000 1000000 Ilosc prób Monte Carlo n Wykres przedstawiający rozkład wyników dla wykonanych 100 prób dla każdego n. Wartość obliczona metodami standardowymi to. Metodą Monte Carlo, dla 100 prób przy n=1000000 uzyskujemy wartość średnią 1,99978.
(x + y )dxdy
( x + y ) dxdy = {( x, y ) : y 0, y } x + y x
(x + y )dxdy
Obliczenia analityczne Aby obliczyć całkę analitycznie, konieczne jest przejście na współrzędne biegunowe. Obszar, po którym całkujemy, jest fragmentem koła y x + y x ρ sin ϕ ρ ρ cos ϕ sin ϕ ρ cos ϕ we współrzędnych biegunowych odpowiada on: = ( ρ, ϕ ) : 0 ϕ, sin ϕ ρ cos ϕ
cosϕ 0 sin ϕ ( x + y ) dxdy = ρ ρ dρ dϕ = dϕ ( ) 1 1 = cos ϕ sin ϕ dϕ = (cos ϕ sin ϕ 0 ρ ρ dρ = ) ϕ= ϕ =0 1 d ϕ 0 ρ 1 = 8 w obliczenia wykorzystane zostaly calki : 1 (1ϕ + 8 sin(ϕ ) + sin(ϕ ) ) cos ϕ d ϕ = 3 1 (1ϕ 8 sin(ϕ ) + sin(ϕ ) ) sin ϕ d ϕ = 3 ( cos ϕ sin ϕ )ϕ dϕ = 31 *16 sin(ϕ ) = sin ϕ cos ϕ ρ = cosϕ ρ = sin ϕ
Metoda Monte Carlo ~obszar zawarty jest w kwadracie ' = [0;1] [0;1] ~n liczb xi i yi losujemy bezpośrednio z rozkładu jednostajnego U (0;1) ~wykorzystując wylosowane liczby możemy przybliżyć całkę: n 1 ( x + y ) dxdy ( x + y ) k k n k=1
Wyniki prób Monte Carlo Wartość całki 0,5 Wartosci uzyskane 0, 0,15 y = 0,15 0,1 0,05 0 10 100 1000 10000 Ilosc prób Monte Carlo n 100000 1000000
e (x + y ) dxdy
e (x + y ) dxdy = {( x, y ) : x 0, y x, x + y ln 3}
e (x + y ) dxdy
Obliczenia analityczne e (x + y ) dxdy = {( x, y ) : x 0, y x, x + y ln 3} we współrzędnych biegunowych odpowiada = {( f, p ) : e (x + y ) dxdy = = 1 p ( e ln 3 0 dfdp = e p df = 1 f 3 f,0 p ln 3 df = pe p ln 3} dp = * 0 z = p p * pe dp = z ' = p = dz = pdp 1 z 1 p e dz = e
Metoda Monte Carlo ~obszar zawarty jest w kwadracie ' = [ ln 3; ln 3] [ ln 3; ln 3] ~n liczb ui i vi losujemy z rozkładu jednostajnego U (0;1) i przekształcamy według wzorów. ~wykorzystując wylosowane liczby możemy przybliżyć całkę: e (x + y n ln 3 ( xk + y k ) ) dxdy e n k=1
Wyniki prób Monte Carlo Przewidywana wartość całki Wartosci uzyskane 1,75 1,5 y = / 0,75 0,5 1 10 100 1000 10000 100000 1000000 Ilosc prób Monte Carlo n Wykres przedstawiający rozkład wyników dla wykonanych 80 prób dla każdego n
x sin( y ) 10 x dxdy
x sin( y ) 10 x dxdy = {( x, y ) : 0 x 1; 0 y x}
x sin( y ) 10 x dxdy
Obliczenia analityczne Całki tej nie da się wyrazić za pomocą funkcji elementarnych. Tutaj z pomocą przychodzi metoda Monte Carlo, dzięki której możemy poznać jej przybliżoną wartość.
Metoda Monte Carlo ~obszar zawarty jest w kwadracie ' = [0;1] [0;1] ~n liczb xi i yi losujemy bezpośrednio z rozkładu jednostajnego U (0;1) ~wykorzystując wylosowane liczby możemy przybliżyć całkę: n 10 xk sin( y k ) x sin( y ) 10 x dxdy n k = 1 xk
Wyniki prób Monte Carlo Przewidywana wartość całki Wartosci uzyskane 3 y = 1.3197 1 0 1 10 100 1000 10000 Ilosc prób Monte Carlo n 100000 1000000
Autorzy projektu: orota Moskal Mateusz Sawicki Mariusz Orda Michał Piórek Mateusz Fuławka Miłosz Karolonek 171695 17160 171665 171677 17163 171595