Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf ·...

30
Lezioni: parte quinta Modelli numerici in Fisica Metodo Monte Carlo per l’integrazione Richiamo dei metodi di integrazione numerica a b = b a dx x f F ) ( Approx. rettangolare = Δ = 1 0 ) ( n k k n x x f F n a b x = Δ

Transcript of Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf ·...

Page 1: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Metodo Monte Carlo per l’integrazione

Richiamo dei metodi di integrazione numerica

a b

∫=b

a

dxxfF )(

Approx. rettangolare

∑−

=

Δ=1

0)(

n

kkn xxfF

nabx −

Page 2: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Regole del trapezio e di Simpson

Regola del trapezio

xxfxfxfFn

knin Δ⎥⎦

⎤⎢⎣

⎡++= ∑

=

1

10 )(

21)()(

21

Regola di Simpson

[ ] xbfxfxfxfafF nn Δ+++++= − )()(4)(2)(4)(31

121 K

Page 3: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Calcolo dell’errore

K+−′′+−′+= 2))((21))(()()( iiiii xxxfxxxfxfxf

K+Δ′′+Δ′+Δ=∫+

32 )(61)(

21)()(

1

xxfxxfxxfdxxf ii

x

xi

i

i

errore su ogni step 2)(21 xxf ii Δ′≈Δ

errore totalenn

abnxnn i1)(

22 ∝⎟

⎠⎞

⎜⎝⎛ −

=Δ=Δ

FFn −

Page 4: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Andamento dell’errore

Regola del trapezio 2

1n

∝Δ

Regola di Simpson 4

1n

∝Δ

La regola di Simpson va meglio delle altre

Verificare i risultati per Simpson

Page 5: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Errore in dimensione d

an1

∝ΔSe per un integrale unidimensionale vale

Per un integrale in d dimensioni valedan /

1∝Δ

4

1 1dn

∝Δ=

Regola di Simpson:

2

1 2dn

∝Δ= 3/4

1 3dn

∝Δ=

Integrazione Monte Carlo

d qualsiasiper 1n

∝Δ

Page 6: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Calcolo di π

M. Lazzarini 1901 (Buffon ‘800)Numero tentativi: Nt

Numero successi: Ns

( ) 42 2

2 ππ==

RR

quadrato Areacerchio Area

t

s

NN

quadrato Areacerchio Area

=R

t

s

NN4=π

Page 7: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Calcolo di π

Lazzarini: con 3407 lanci → 3.1415929 (?)

Versione moderna: si usa il computer

• si estraggono due numeri random in modo da avere un punto a caso –R< x <R –R< y < R

x

y

Con 107 tentativi

π=3.14173

Page 8: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Integrazione Monte Carlo hit and miss

a b

h

habA )( −=

Scelta random di h0 e ≤≤≤≤ ii ybxa

if )( ii xfy ≤ then hit else miss

nnAF S

n =

rabax )( −+=

Integrare e-x fra 0 e 1

Page 9: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Integrazione Monte Carlo basato sul metodo di sampling

Si sceglie un numero random x tale che bxa ≤≤

∑=

−>=<−=n

kkn xf

nabfabF

1)(1)()(

Come si stima l’errore ? FFn −

Usare il programma per l’integrazione M.C. di

Fra [0,1] il risultato è pi greco

214)( xxf −=

Page 10: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Calcolo dell’errore nell’integrazione M.C.

Si può pensare di stimare l’errore usando la varianza

222 ><−>=< ffσ

∑=

>=<n

kkxf

nf

1)(1

∑=

>=<n

kkxf

nf

1

22 )(1

Ma l’errore stimato risulta troppo grande: vedere l’esempio precedente confrontando σ con

π−nF

Page 11: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Stima dell’errore con run diversi

• Si effettuano vari run indipendenti della stessa lunghezza

• per ogni run si calcolano le medie e le varianze

αα run nel ottenuta media )(11∑=

=><n

kkxf

nf

∑=

><>=<m

fm

f1

αSi calcola: ∑

=

><>=<m

fm

f1

22 1α

α

e quindi: 222 ><−>=< ffmσ

Page 12: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Stima dell’errore col metodo dei blocchi

• Si effettua un unico run di n step

• si divide il run in nb blocchi di m=n/nbstep

Valgono le formule di prima ma ora le somme vanno fatte sulle medie ottenute in ogni “blocco”

∑=

><=><bn

bb f

nf

1

α

L’errore risulta essere da 222bbb ff ><−>=<σ

mbσ≈Δ

Page 13: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Importance sampling (1)

Per migliorare la convergenza del metodo M.C. si può cercare di migliorare il campionamento sui punti estratti random. Se dobbiamo calcolare:

∫=b

a

dxxfF )(

1)( =∫b

a

dxxp

[ ]∫=b

a

dxxpxpxfF )()()(

Possiamo introdurre una funzione generica p(x) che soddisfi

Trasformiamo l’integrale

Page 14: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Importance sampling (2)

[ ] ∑∫=

=≈=n

k k

kn

b

a xpxf

nFdxxp

xpxfF

1 )()(1)(

)()(

L’integrale può essere calcolato come

dove ora le xk sono distribuite secondo la funzione p(x) che deve essere scelta in modo opportuno.

La distribuzione che abbiamo usato finora è di tipo uniforme

abxp

−=

1)(

Page 15: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Distribuzioni non uniformi (1)

Generica p(x) tale che p(x)dx è la probabilità che ci sia un evento nell’intervallo x-x+dx, vogliamo che

Abbiamo usato finora una distribuzione uniforme e vogliamo passare ad una distribuzione generica.

∫ ∞−′′=

xxdxpxW )()( 1)( =+∞W

altrimenti10

0

)(<<

⎩⎨⎧

=rdr

drrpu

Distribuzione uniforme di numeri r con 0<r<1

1)(1

0

=∫ drrpu

dxxpdrrpu )()( =

per ottenerla definiamo

Page 16: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Distribuzioni non uniformi (2)

altrimenti10

0

)(<<

⎩⎨⎧

=xdx

dxxpu che dato

∫ ∞−′′=

xxdxpxW )()(

)(xpdxdW

= drrpdxxpdW u )()( ==

10 )()()(0

<<=′′=′′= ∫∫ ∞−rrxdxpxdxprW

r

u

r

u

Page 17: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Distribuzioni non uniformi (3)

rxdxpxWx

=′′= ∫ ∞−)()(

Si ottiene x distribuito secondo p(x) invertendo questa relazione e ricavando

)()1( rWx −=dove

WW di inversal' è (-1)

Page 18: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Distribuzioni non uniformi (riassunto)

A partire dai numeri random r distribuiti in modo uniforme 0<r<1

invertendo la relazione

rxdxpxWx

=′′= ∫ ∞−)()(

si possono ottenere numeri x distribuiti secondo una p(x)

)()1( rWx −=per avere

questa operazione non è sempre facile o possibile.

Page 19: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Esempio 1 (facile!)

Vogliamo x random distribuito uniformemente fra a e b

abxp

−=

1)(

abax

abdxxW

x

a −−

=−

= ∫)( rabax=

−−

rabax )( −+=quindi

Page 20: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Esempio 2 (meno facile)

Vogliamo x random distribuito in modo esponenziale

∞≤≤= − xexp x 0 1)( λ

λ

λλ

λxx x edxexW −− −== ∫ 11)(

0re x =− − λ1

quindi posso ottenere x con

rx logλ−=

Page 21: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Scegliere una p(x) per importance sampling

La p(x) va scelta in modo da minimizzare la varianza dell’integrando

∑=

=n

k k

kn xp

xfn

F1 )(

)(1

∑=

−=

n

kkn xf

nabF

1

)(

dovrebbe avere una varianzainferiore a

Page 22: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Esempio

21)( xxf −=

Provare ad integrarla con

)1()( xAxp −=

Naturalmente A deve essere tale da normalizzare la p(x) a 1

Page 23: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Page 24: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Prova con altra funzione p(x)

21)( xxf −=

usare ora

xAexp −=)(

si vedrà un notevole miglioramento

Page 25: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Page 26: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Ancora un esempio

2

)( xexf −=

842700793.021)1(

211

0

2

ππ ==∫ − erfdxe x

calcolare

Con normale integrazione MC e poi con importancesampling usando:

xAexp −=)(

Page 27: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Page 28: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Integrazione Monte Carlo col rejection methodMetodo proposto da Von Neumann

1. si calcola il massimo della p(x) : p0

2. si estrae un numero random r1

3. si ottiene x = a+r1*(b-a) e quindi p(x)

4. si estrae un secondo numero random r2

5. si calcola p1=p0*r2

Se p1 < p(x) si accetta

si rifiuta e si torna al 2

altrimenti

si calcola f(x)/p(x) e si torna al 2

Page 29: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Rejection method

p0

p(x)

Si riesce a mappare la funzione peso con una procedura di hit and miss

Page 30: Modelli numerici in Fisica - Roma Tre Universitywebusers.fis.uniroma3.it/~gallop/lezioni5.pdf · Lezioni: parte quinta Modelli numerici in Fisica Ancora un esempio ( ) =f x e −x2

Lezioni: parte quinta Modelli numerici in Fisica

Esempio

xAexp −=)(

21)( xxf −=

Integrare la solita funzione

con

ma usando il rejection method