Il 0% ha trovato utile questo documento (0 voti)
19 visualizzazioni8 pagine

Montecarlo

Caricato da

eiffelmusic2
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
19 visualizzazioni8 pagine

Montecarlo

Caricato da

eiffelmusic2
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 8

Il metodo Monte Carlo

Analisi dati in Fisica Subnucleare


È una tecnica numerica che si basa su sequenze di numeri casuali
per calcolare le probabilità associate a determinati eventi.

Può essere considerato come un metodo per effettuare esperimenti


Introduzione al metodo virtuali (simulazione) in quanto riproduce le caratteristiche
fluttuazioni statistiche di un esperimento reale.
Monte Carlo
In generale, dal punto di vista strettamente matematico, può essere
(N.B. parte di queste trasparenze sono considerato come una tecnica di integrazione numerica,
“riciclate” da un seminario di L. Lista) particolarmente utile per integrali in molte dimensioni.
“Gli autori minori fanno citazioni. I grandi artisti copiano”
(I. Strawinsky)

F. Ambrosino Analisi Dati in Fisica Subnucleare 1 F. Ambrosino Analisi Dati in Fisica Subnucleare 2
A.A. 2005-2006 A.A. 2005-2006

Numeri (pseudo)casuali Esempio di transizione al caos


Come osservato la base del metodo Monte Carlo è la possibilità di Consideriamo ora la sequenza:
avere a disposizione una sequenza di numeri casuali. Tale sequenza
può essere genuinamente casuale (come nel caso dei tempi di
decadimento di una sostanza radioattiva, o del risultato del lancio di xn "1 ! $xn (1 # xn )
32 monete, per definire i 32 bits che rappresentano un dato numero)
o, molto più spesso, essere un sequenza pseudo casuale (cioè in La successione avrà comportamenti diversi a
realtà perfettamente deterministica !!!) di numeri: seconda del parametro $
Se per certi valori di $%essa risultasse convergente,
xn "1 ! f ( xn ) per n che tende a infinito x varrebbe:

Il valore x0 che “innesca” la sequenza viene detto seme (random seed) $ #1


della sequenza. Ma come può una sequenza perfettamente x' ! $x' (1 # x' ) & x' !
deterministica sembrare “casuale” ? $
F. Ambrosino Analisi Dati in Fisica Subnucleare 3 F. Ambrosino Analisi Dati in Fisica Subnucleare 4
A.A. 2005-2006 A.A. 2005-2006
Comportamento stabile Biforcazione
xn xn

Infatti, per $ sufficiente piccolo, Per $ superiore a 3


la serie non converge, ma
partendo da:
oscilla tra due valori:
x0 = 0.5 xa = $ xb (1 – xb)
la successione converge xb = $ xa (1 – xa)

n > 200 n > 200

$ $
F. Ambrosino Analisi Dati in Fisica Subnucleare 5 F. Ambrosino Analisi Dati in Fisica Subnucleare 6
A.A. 2005-2006 A.A. 2005-2006

Comportamento caotico
Biforcazione II
xn
xn
Per $ ancora più grande, la
•La biforcazione si ripete al sequenza è caotica.
crescere di $
•Ci sono sequenze di 4, 8, 16
etc. valori che si ripetono
Per esempio per $=4 i valori
riempiono densamente
l’intervallo [0, 1]
n > 200 200 < n < 100000

$ $
F. Ambrosino Analisi Dati in Fisica Subnucleare 7 F. Ambrosino Analisi Dati in Fisica Subnucleare 8
A.A. 2005-2006 A.A. 2005-2006
Generatore lineare congruenziale Un esempio
Un semplice ma utile generatore che fornisce numeri distribuiti in Ad esempio la funzione di libreria standard del C, drand48() si basa
modo uniforme è fornito dal seguente algoritmo: su un generatore lineare congruenziale con

xn "1 ! (a ( xn " c) mod m m = 248


I parametri interi a, c vanno scelti in modo da massimizzare il a = 25214903917
periodo, il cui valore massimo possibile è proprio m. I numeri generati c = 11
sono in generale compresi fra 0 ed m-1. Per ottenere numeri reali
uniformi in [0,1) si effettua banalmente la trasformazione: Il generatore lineare congruenziale ha alcuni difetti:
•I bit meno significativi sono “meno casuali” di quelli più significativi
xn •Esistono sequenze correlate: una successione di n numeri pseudo
xn ) casuali è vincolata ad un iperpiano n-1 dimensionale se vista in n
m dimensioni, ed esistono m1/d di questi iperpiani (“effetto Marsaglia”)

F. Ambrosino Analisi Dati in Fisica Subnucleare 9 F. Ambrosino Analisi Dati in Fisica Subnucleare 10
A.A. 2005-2006 A.A. 2005-2006

Generatori “Fibonacci” Generatore Gaussiano


Una variante interessante, alla base del diffusissimo generatore
RANMAR, utilizzato in fisica delle particelle per moltissimi anni è il Una volta ottenuto un “buon” generatore uniforme, è possibile
metodo “alla Fibonaccci” in cui ciascun elemento della serie non è generare punti secondo una generica distribuzione di probabilità.
funzione solo del precedente ma di più di un elemento della serie
stessa. Una maniera per ottenere in modo molto semplice eventi distribuiti
secondo una Gaussiana è fare la media di n numeri distribuiti
xn ! ( f ( xn # p ) * f ( xn # q )) mod m uniformemente: il teorema del limite centrale allora garantirà che nel
limite di n infinito la media sarà distribuita normalmente. In pratica
“infinito” può essere un numero abbastanza piccolo…
Risultati migliori in termini di periodo ed “effetto Marsaglia” si
possono ottenere combinando più generatori, ad esempio usando
un generatore per ordinare in modo casuale le sequenze generate
da un altro generatore etc.

F. Ambrosino Analisi Dati in Fisica Subnucleare 11 F. Ambrosino Analisi Dati in Fisica Subnucleare 12
A.A. 2005-2006 A.A. 2005-2006
Confronto con la Gaussiana
Distribuzione di 1/n+i=1,n ri

F. Ambrosino Analisi Dati in Fisica Subnucleare 13 F. Ambrosino Analisi Dati in Fisica Subnucleare 14
A.A. 2005-2006 A.A. 2005-2006

Distribuzione angolare uniforme


Trasformazioni lineari Una maniera estremamente rapida per
generare direzioni uniformemente nello
È interessante notare che, una volta che si dispone di un spazio, senza nessuna chiamata a funzione a
generatore uniforme in [0, 1] o di un generatore che parte quella per generare i numeri casuali
genera secondo la distribuzione normale N(0,1) è facile uniformi è la seguente:
ottenere numeri distribuiti uniformemente in [a,b] o
secondo una Gaussiana arbitraria G(,-.). Basta applicare 1. Genera r1,r2 uniformi in (0,1)
le trasformazioni lineari: 2. Calcola v1=2r1-1 (uniforme in (–1,1))
3. Calcola R2 somma dei quadrati di v1 ed r2
r uniforme in [0,1] & q ! a " (b # a ) ( r unif. in [a, b] 4. Se R2>1 torna al passo 1
r distribuito come N(0,1) & q ! , " . ( r distr. come G( , , . ) 5. Calcola vr v2 # r 2
sin 0 ! 2 1 22 ; cos 0 ! 1 2 2
R R
6. Genera un terzo numero r3 e poni cos/ !%2r3 – 1
7. Il versore è dato da (sin/ cos0 , sin/ sin0, cos/)
F. Ambrosino Analisi Dati in Fisica Subnucleare 15
A.A. 2005-2006
Generare una distribuzione nota (1)
Vogliamo ora generare punti secondo una generica (ma nota!) densità
Generare una distribuzione nota (2)
di probabilità:
Se è nota l’inversa della distribuzione
dP cumulativa, la variabile x definita come:
f ( x) !
dx
Ricordiamo che la distribuzione
cumulativa è data da:
x = F #3( r )
x
F ( x) ! 1 f ( x2)dx2 è distribuita secondo la distribuzione f (x) se r
#' è distribuita uniformemente tra 0 e 1

F. Ambrosino Analisi Dati in Fisica Subnucleare 17 F. Ambrosino Analisi Dati in Fisica Subnucleare 18
A.A. 2005-2006 A.A. 2005-2006

Dimostrazione Distribuzione esponenziale


•Siccome r = F (x ), allora dP
•Distribuzione esponenziale: ! f ( x) ! $e #$x
dx
dr dF
! ! f ( x) x
dx dx 4
F ( x) ! 1 f ( x2) dx2 ! # e #$x2 5
x2 ! x
x2 ! 0 ! 1 # e # $x
0
•Quindi, se consideriamo la densità di probabilità per la variabile
# $x
casuale x (considerata come funzione della variabile casuale r) si 1# e ! r & e #$x ! 1 # r & #$x ! ln(1 # r )
ha: 1
dP dP dr dP x ! F #1 (r ) ! # ln(1 # r )
! ! f ( x) $
dx dr dx dr
1-r e r hanno sempre 1
Se r ha una distribuzione uniforme, allora dP/ dr = 1, e quindi si ha x ! F #1 (r ) ! # ln(r )
distribuzione uniforme
dP/ dx = f (x ) c.v.d
tra 0 e 1 $
F. Ambrosino Analisi Dati in Fisica Subnucleare 19 F. Ambrosino Analisi Dati in Fisica Subnucleare 20
A.A. 2005-2006 A.A. 2005-2006
Distribuzioni discrete Distribuzione di Poisson
La logica è la stessa della generazione secondo una distribuzione Nella pratica per la distribuzione di Poisson, per , molto grandi
continua nota l’inversa della cumulativa: l’esponenziale e#, contenuto in P(k) può essere al di là della
precisione floating point della macchina. Si preferisce allora
1) Estrai r uniformamente in (0,1) sfruttare il fatto che al limite per m che tende a infinito la
Poissoniana tende ad una Gaussiana generando z come N(0,1) ed
2) Detta P(k) la somma delle probabilità della
effettuando poi la trasformazione:
distribuzione cercata per i valori da 0 fino a k
(con P(0) = 0 ) trova il k tale che
P(k) < r 6 P(k+1)
k ! max(0, [ , " z , ])
3) I k così ottenuti saranno distribuiti secondo la
distribuzione cercata.

F. Ambrosino Analisi Dati in Fisica Subnucleare 21 F. Ambrosino Analisi Dati in Fisica Subnucleare 22
A.A. 2005-2006 A.A. 2005-2006

Distribuzione multinormale Distribuzione multinormale (2)


Se si deve generare secondo una distribuzione multinormale con n Risulta utile allora la cosiddetta decomposizione di Cholesky :
variabili e matrice di covarianza V di dimensione n X n, a partire supponiamo di aver costruito una matrice triangolare R (“radice
da n variabili N(0,1) indipendenti z1, …zn si può utilizzare un quadrata”) tale che V = RTR. Allora si ha:
cambio di variabile da z a x in modo che x risulti correlato. In
pratica data:
1 1 xT Wx ! xT ( RT R) #1 x ! xT R #1 ( R T ) #1 x ! z T 1z &
f ( z) ! exp(# z T 1z )
(27 ) n/2
2 z ! ( R T ) #1 x & x ! R T z
il problema (supposto il vettore , dei valori medi Lo jacobiano della trasformazione di variabili fornisce poi il
identicamente nullo) è trovare la trasformazione x(z) tale che fattore det(W)1/2 che completa la trasformazione. In definitiva se i
valori medi , sono diversi da zero la trasformazione è
det(W )1/ 2 1
f ( x) ! exp(# xT Wx) x ! , " RT z
(27 ) n/2
2
F. Ambrosino Analisi Dati in Fisica Subnucleare 23 F. Ambrosino Analisi Dati in Fisica Subnucleare 24
A.A. 2005-2006 A.A. 2005-2006
Decomposizione di Cholesky Decomposizione di Cholesky (2)
La matrice R si ottiene attraverso un procedimento iterativo a Per n = 2 con fattore di correlazione 8 si ha:
partire da V(0) = V. Si costruiscono in successione le matrici:
> .2 8. 1. 2 ;
(k )
!V ( k #1)
# Rki Rkj con i, j ! k " 1,...n V ( 0) ! V ! << 1 9
. 22 9:
V
= 8. 1. 2
ij ij

Rii ! Vii( k #1) > . 8. 2 ;


R ! << 1 9
Vij( k #1) =0 0 9:
Rij !
Rii > 0 0 ;
V (1) ! << 2 9
9
k ! 1,...n # 1 = 8. 1. 2 . 2 (1 # 8 ) :
2

La decomposizione di Cholesky è molto usata quando si devono


effettuare inversioni di matrici di covarianza con errori molto >. 1 8. 2 ;
R ! << 9
2 9
grandi, come nei primi steps di un filtro di Kalman.
= 0 . 2 1# 8 :
F. Ambrosino Analisi Dati in Fisica Subnucleare 25 F. Ambrosino Analisi Dati in Fisica Subnucleare 26
A.A. 2005-2006 A.A. 2005-2006

Distribuzione binormale Hit or miss Monte Carlo


Per quanto appena detto per ottenere una distribuzione binormale
Per riprodurre una distribuzione:
correlata a partire da due numeri z1 e z2 distribuiti secondo N(0,1)
si esegue la trasformazione: m
1. x è estratto unif. Tra a e b
2. Viene calcolato f=f(x)
x1 ! , 1". 1 z1 3. Viene estratto r tra 0 e m, miss

dove m?maxx(f(x))
4. Se r>f ripeto l’estrazione di x,
x2 ! , 2". 2 ( 8z1 " 1 # 8 2 z 2 ) se r<f accetto x
f(x)

hit
In questo modo, la densità
dei valori estratti è prop.
a b
a f(x) x

F. Ambrosino Analisi Dati in Fisica Subnucleare 27 F. Ambrosino Analisi Dati in Fisica Subnucleare 28
A.A. 2005-2006 A.A. 2005-2006
Campionamento per importanza
Il metodo può essere ripetuto per regioni:
1. x è estratto in una delle
regioni (1), (2), o (3) con prob.
proporzionale all’area della regione 2
2. Viene applicato
il metodo hit-or-miss limitatamente
alla regione scelta
In questo modo, la densità
dei valori estratti è prop. 1
3
a f(x), ma si estrae un numero
minore di numeri casuali
(il programma è più veloce!)
a0 a1 a2 x a3

F. Ambrosino Analisi Dati in Fisica Subnucleare 29


A.A. 2005-2006

Potrebbero piacerti anche