MONTE CARLO

36  Download (0)

Pełen tekst

(1)

Ilustracja metody

MONTE CARLO

obliczania

całek podwójnych

(2)

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.

(3)

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:

Przybliżenie całki dla całek podwójnych wygląda następująco:

Gdzie xk i yk to odpowiednie losowe liczby

 →

=

b

a n n

k

k

f x dx

X n f

a

b ( ) ( )

1

∫∫ ∑

=

≈ −

D

n k

k k

y x

n f a dxdy b

y x f

1 2

) ,

) ( ) (

, (

k

k

a b a u

x = + ( − ) y

k

= a + ( ba ) v

k

(4)

Przykłady

całek

(5)

dxdy y

x

∫∫

D 3

+

3

(6)

} 4

0 , 2 2

: ) ,

{( x y x y x

2

D = ≥ ≥ − ≤ ≤ −

dxdy y

x

∫∫

D 3

+

3

(7)

dxdy y

x

∫∫

D 3

+

3

(8)

Obliczenia analityczne

15 128 5

1 3

16 8 4

1

) 8

16 4 (

) 1 4

4 ( 1

4 ) 1

(

2

2 5

3

2

2

4 2

2

2

2 2

4

0 2

2

4

0

2

2

4 3

3

2 2

 =

 

 − +

= +

=

 =

 

=  +

∫ ∫ ∫

x x

x

dx x

x dx

x

dx y

dy y

x dx

x x

(9)

Metoda Monte Carlo

~obszar D zawarty jest w kwadracie

~n liczb ui i vi losujemy z rozkładu jednostajnego I przekształcamy według wzorów.

~wykorzystując wylosowane liczby możemy przybliżyć całkę:

∫∫ +

kn= k

+

k

D

y n x

dxdy y

x

1

3 2 3

3

3

4 ( )

) (

] 2

; 2 [ ] 2

; 2 [

' = − × − D

) 1

;

0

(

U

(10)

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

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.

y = 8,53333

6 7 8 9 10

10 100 1000 10000 100000 1000000

Ilosc prób Monte Carlo n

Wartosci uzyskane

Wyniki prób Monte Carlo Wartość całki

(11)

y dxdy y

∫∫

D

sin( )

(12)

y dxdy y

∫∫

D

sin( )

} ,

0 : ) ,

{( ≤ ≤ π ≤ ≤ π

= x y x x y

D

(13)

y dxdy y

∫∫

D

sin( )

(14)

Obliczenia analityczne

∫ ∫ ∫

∫∫ = =   =

=

= π

0

y

0

y x

0 x π

0 D

y dy sin(y) x

y dx sin(y) dy

y dxdy sin(y)

= =

=

π

π

0

2 )]

0 cos(

) [cos(

)

sin( dy y

(15)

Metoda Monte Carlo

~obszar D zawarty jest w kwadracie

~n liczb ui i vi losujemy z rozkładu jednostajnego I przekształcamy według wzorów na xi i yi

~wykorzystując wylosowane liczby możemy przybliżyć całkę:

]

; 0 [ ]

; 0 [

' = π × π

D

) 1

; 0 ( U

∫∫

kn=

k k

D

y

y dxdy n

y y

1

2

sin( )

4 )

sin( π

(16)

y = 2

1 1,5 2 2,5 3 3,5 4

10 100 1000 10000 100000 1000000

Ilosc prób Monte Carlo n

Wartosci uzyskane

Wyniki prób Monte Carlo Wartość całki

Wykres przedstawiający rozkład wyników dla wykonanych 100 prób dla każdego n. Wartość obliczona metodami standardowymi to 2 . Metodą Monte Carlo, dla 100 prób przy n=1000000 uzyskujemy wartość średnią 1,99978.

(17)

∫∫ +

D

dxdy y

x )

(

2 2

(18)

∫∫ +

D

dxdy y

x )

( 2 2

{ ( ) x y y y x y x }

D = , : ≥ 0 , ≤

2

+

2

(19)

∫∫ +

D

dxdy y

x )

(

2 2

(20)

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

ϕ ρ

ϕ

ϕ ρ

ρ ϕ

ρ

cos sin

cos sin 2

2 2

≤ +

x y x

y

we współrzędnych biegunowych odpowiada on:

( )





 ≤ ≤ ≤ ≤

=

ρ ϕ ϕ π

,sin

ϕ ρ

cos

ϕ

0 4 : ,

(21)

(

cos sin

)

14 (cos sin

)

81

4 1

4 ) 1

(

4 0 4

0

4 4

cos

sin 4 4

0 4

0

cos

sin 2 2

2 2

=

=

=



=

=

= +

=

=

=

=

∫ ∫

∫∫

∫∫

ϕ π

ϕ π

ϕ ρ

ϕ ρ π

π ϕ

ϕ

ϕ ϕ

ϕ ϕ ϕ

ρ ϕ

ρ ρ ρ ϕ

ϕ ρ ρ ρ

d

d d

d d

d dxdy

y x

D

( )

( )

(

ϕ ϕ

)

ϕ ϕ ϕ ϕ ϕ

ϕ ϕ

ϕ ϕ

ϕ

ϕ ϕ

ϕ ϕ

ϕ

cos sin

) 2 sin(

16 32* sin 1

cos

) 4 sin(

) 2 sin(

8 32 12

sin 1

) 4 sin(

) 2 sin(

8 32 12

cos 1

: calki zostaly ane

wykorzyst obliczenia

w

4 4

4 4

=

=

+

=

+ +

=

d d

d

(22)

Metoda Monte Carlo

~obszar D zawarty jest w kwadracie

~n liczb xi i yi losujemy bezpośrednio z rozkładu jednostajnego

~wykorzystując wylosowane liczby możemy przybliżyć całkę:

∫∫ +

kn= k

+

k

D

y n x

dxdy y

x

1

2 2 2

2

1 ( )

) (

] 1

; 0 [ ] 1

; 0 [

' = ×

D )

1

;

0

(

U

(23)

y = 0,125

0 0,05 0,1 0,15 0,2 0,25

10 100 1000 10000 100000 1000000

Ilosc prób Monte Carlo n

Wartosci uzyskane

Wyniki prób Monte Carlo Wartość całki

(24)

dxdy e

D

y

∫∫

(x2 + 2 )

(25)

dxdy e

D

y

∫∫

(x2 + 2 )

} 3 ln ,

, 0 :

) ,

{( ≥ ≤

2

+

2

= x y x y x x y

D

(26)

dxdy e

D

y

∫∫

(x2 + 2 )

(27)

Obliczenia analityczne

dxdy e

D

y

∫∫

(x2 + 2 ) D = {(x, y) : x 0, y x,x2 + y2 ln3}

D we współrzędnych biegunowych odpowiada

} 3 ln 0

4 , : 2

) ,

{(

=

f p π f π p

4 3

1 2

( 1

*

4

2 3

ln 2

2 2

2 2

4

2 0

4

2

4

2

3 ln

0 )

(

π

π π

π

π π

π

π

π

=

=

=

=

=

=

∫ ∫

∫∫

∫∫

+

f df

e

dp pe

df dfdp

e dxdy

e

p

p p

D

y x

2 2

2 1 2

1

2 2 '

*

2

p z

p

e dz

e

pdp dz

p z

p z

dp pe

=

=

=

=

=

=

(28)

Metoda Monte Carlo

~obszar D zawarty jest w kwadracie

~n liczb ui i vi losujemy z rozkładu jednostajnego i przekształcamy według wzorów.

~wykorzystując wylosowane liczby możemy przybliżyć całkę:

∫∫

+

kn= x + y

D

y

x

e

k k

dxdy n e

1

) 2 (

)

( 2 2

4 ln 3

2 2

] 3 ln

; 3 ln [

] 3 ln

; 3 ln [

' = − × −

D U ( 0 ; 1 )

(29)

y = π/4

0,25 0,75 1,25 1,75

1 10 100 1000 10000 100000 1000000

Ilosc prób Monte Carlo n

Wartosci uzyskane

Wyniki prób Monte Carlo Przewidywana wartość całki

Wykres przedstawiający rozkład wyników dla wykonanych 80 prób dla każdego n

(30)

∫∫

D

)

10 x

xsin(y

dxdy

(31)

∫∫

D

)

10 x

xsin( y

dxdy

} 0

; 1 0

: ) ,

{( x y x y x

D = ≤ ≤ ≤ ≤

(32)

∫∫

D

)

10 x

xsin( y

dxdy

(33)

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ść.

(34)

Metoda Monte Carlo

~obszar D zawarty jest w kwadracie

~n liczb xi i yi losujemy bezpośrednio z rozkładu jednostajnego

~wykorzystując wylosowane liczby możemy przybliżyć całkę:

∫∫

kn= k x y

D

y

x

x

k k

dxdy n x

1

) ) sin(

sin(

10

10

] 1

; 0 [ ] 1

; 0 [

' = ×

D ) 1

;

0

(

U

(35)

y = 1.31947

0 1 2 3 4

1 10 100 1000 10000 100000 1000000

Ilosc prób Monte Carlo n

Wartosci uzyskane

Wyniki prób Monte Carlo Przewidywana wartość całki

(36)

Autorzy projektu:

• Dorota Moskal 171695

• Mateusz Sawicki 171620

• Mariusz Orda 171665

• Michał Piórek 171677

• Mateusz Fuławka 171623

• Miłosz Karolonek 171595

Obraz

Updating...

Cytaty

Powiązane tematy :