Title: Diapositiva 1
1Introduzione al metodo Monte Carlo
2Generalità e scopi
Metodo Monte Carlo è una tecnica impiegata per
calcolare probabilità e quantità correlate
impiegando sequenze di numeri casuali.
Non ha senso parlare di singoli numeri casuali,
ma di sequenze Viene utilizzato per
simulazione di fenomeni naturali simulazione di
apparati sperimentali calcolo di integrali
3Generazione di sequenze di numeri casuali
- Procedura generale
- Si estrae una sequenza di m numeri casuali,
aventi distribuzione uniforme nellintervallo
(0,1). - Si usa la sequenza per produrne una seconda
distribuita secondo la
funzione a cui si è interessati - La sequenza costituisce il pool di dati simulati
4Un esempio la stima di p
Estrarre una coppia di numeri (a,b) uniformemente
distribuiti in (0,1) Si calcola c va2b2
Al crescere del numero di eventi simulati, il
rapporto N(eventi con clt1) / N(eventi
totali) tende a Area settore circolare/Area
quadrato p /4 Quindi p può essere il limite
di 4 N(eventi con clt1)/N(eventi totali)
5Un esempio la stima di p
6Come generare sequenze di numeri casuali?
In una sequenza di numeri casuali, oltre
alluniformità della distribuzione
nellintervallo 0,1, si deve avere assenza di
correlazione tra elementi successivi nella
sequenza. Esempi di generatori di numeri
casuali - Lancio di una monetina 32 volte per
avere una parola di 32 bit. - Utilizzo di
processi intrinsecamente casuali (arrivo di raggi
cosmici, white noise di un fototubo, decadimento
radioattivo,) per associare ad essi dei numeri
in un opportuno intervallo Esistevano nel
passato tabelle con sequenze di milioni di numeri
casuali, a disposizione degli utenti Questi
metodi non sono ormai più usati, a favore di
sequenze di numeri pseudo-casuali generati da
calcolatori
7Sequenze di numeri pseudo-casuali
Generatori di numeri pseudocasuali La sequenza
è riproducibile, perché lalgoritmo di
generazione è deterministico Caratteristiche a
cui un generatore deve sottostare indipendenza
statistica Periodo di ripetizione lungo ... la
sequenza sembra casuale
8Un esempio di generatori pseudo-casuali
Middle square (Von Neumann, 1946)
In1
In
9Un esempio di generatori pseudo-casuali
- Vengono generati numeri interi a m cifre. In
generale gli algoritmi producono numeri interi
tra 0 e MAX e restituiscono un valore in virgola
mobile definito da rnIn/(MAX) - Il metodo di Von Neumann presenta dei problemi
- se m è piccolo, la sequenza è breve
-
- Usando 38 bit, si possono avere sequenze fino a
7.5?105 numeri
Si riottiene 6100 !
Esistono tanti altri esempi di algoritmi per la
generazione di sequenze pseudo-casuali
10Distribuzione uniforme in un intervallo (a,b)
In molti problemi fisici è necessario utilizzare
una sequenza di valori r casualmente distribuiti
in un intervallo (a,b) in modo uniforme, partendo
da sequenze di numeri r in (0,1). Trasformazione
lineare r a r (b-a)
r
0
1
r
Esempi - Simulare langolo di emissione di una
particella emessa isotropicamente in un piano,
tra 0 e 360º - Simulare la coordinata x di un
punto sorgente in un collimatore rettangolare
(avente laltra dimensione trascurabile)
a
b
?
11Esempio valutare la distanza relativa tra 2
rivelatori
Caso 2D rivelatori assunti come rettangoli
(dimensioni a x b) Simulare una posizione
(x1,y1) allinterno del primo rettangolo Simulare
una posizione (x2,y2) allinterno del secondo
rettangolo Valutare la distanza relativa tra i 2
punti Ripetere per N eventi ed estrarre la
distribuzione delle distanze relative, con il
valore medio e RMS
Estensione al caso 3D Assumere i rivelatori
cilindrici, estrarre 2 punti di coordinate
(x1,y1,z1) e (x2,y2,z2) allinterno dei 2
cilindri e valutare la distribuzione delle
distanze relative
12Distribuzione uniforme entro un cerchio
- Generare dei punti uniformemente distribuiti
entro un cerchio di raggio R - Estrarre x tra R e R
- Estrarre y tra R e R
- Accettare la coppia (x,y) se vx2y2 lt R
- altrimenti estrarre una nuova coppia (x,y)
y
x
R
Esempio Simulare il punto di emissione di una
particella dallarea di una sorgente radioattiva
di raggio R
13Distribuzioni non uniformi
- In generale non sempre è sufficiente utilizzare
sequenze di numeri casuali distribuiti
uniformemente - In molti problemi è necessario disporre di numeri
casuali estratti con densità di probabilità
diverse, quali la distribuzione normale, oppure
esponenziale, o poissoniana, etc.. - Esempi
- Simulare lenergia depositata da una particella
in un rivelatore, con una distribuzione gaussiana
intorno ad un valore medio e con una data sigma - Simulare la direzione di arrivo di un muone
cosmico su un rivelatore, con distribuzione cos2? - Tre possibilità
- Distribuzione uniforme con eventi pesati
- Metodo dellinversione
- Metodo del rigetto
14Distribuzione uniforme con eventi pesati
Metodo Usare una distribuzione uniforme della
variabile in (a,b), ma assegnando un peso
relativo f(x) ad ogni evento. Vantaggi Molto
semplice da usare Svantaggi Produrre eventi che
non sono tutti equivalenti Non esattamente chiaro
qual è il n. totale di eventi Nelle zone in cui
f(x) ha un valore basso, questi eventi di fatto
non contribuiscono, anche se sono generati
egualmente (perdita di CPU time)
15Metodo dellinversione
Problema Estrarre una sequenza di numeri casuali
distribuiti secondo la funzione f(x) Data la
funzione di probabilità f(x), la funzione
integrale (cumulativa) F(t) è data da F(t)
?f(t)dt Se la funzione integrale è invertibile,
si può generare la sequenza di numeri casuali x,
distribuiti secondo f(x), partendo da un numero
casuale u (distribuito tra 0 e 1) e calcolando x
da x F-1 (u)
Vantaggi molto efficiente, nessun numero viene
sprecato Svantaggi La funzione inversa può
essere difficile o impossibile da valutare
16Metodo dellinversione esempio 1
f(x) vx F(x) x2 Estrarre un numero 0lt u
lt1 Calcolare x u2
f(x)½?x per 0ltx?4
Si ricava x come x4?u2
17Metodo dellinversione esempio 2
f(x) exp(-x/x0) F(x) -(1/x0 )ln x Estrarre un
numero 0lt u lt1 Calcolare x -x0 ln u
18Metodo dellinversione esempio 3 (Breit-Wigner o
Lorentziana)
f(x) (G/2)/ ( x-m0)2 (G/2)2 Descrive la
forma di una risonanza, un livello
energetico, F(u) m0 (G/2) tan u dove u è un
numero uniformemente distribuito in p/2 lt u lt
p/2
19Metodo del rigetto
- Obiettivo Estrarre una sequenza di numeri
casuali secondo la distribuzione f(x),
nellintervallo (x1, x2) - Metodo
- Generare x uniforme in (x1,x2)
- Generare y uniforme in (0,fmax)
- Valutare f(x)
- Confrontare y con f(x)
- Se y lt f(x) accettare x
- Se y gt f(x) ripetere da a) in poi
fmax
x1
x2
Accettato
Rigettato
20Metodo del rigetto pregi e difetti
- Pregi
- - Metodo molto semplice
- - Applicabile comunque sia complicata la funzione
f(x) - Difetti
- Poco efficiente dal punto di vista della potenza
di calcolo (rigetto di molti numeri) - Poco adatto specialmente quando la funzione f(x)
ha dei picchi pronunciati o delle singolarità
21Metodo del rigetto miglioramenti possibili
Si può migliorare lefficienza del metodo
effettuando il campionamento non in un
rettangolo ma in una regione definita da una
funzione g(x) maggiorante di f(x). Se si è in
grado di generare numeri casuali distribuiti
secondo g(x) per esempio con il metodo
dellinversione, la procedura dellinversione
diventa
- Si estrae x secondo g(x)
- Si estrae u con distribuzione uniforme tra 0 e
g(x) - Se ultf(x) si accetta x
22Un esercizio simulare il fenomeno del
decadimento radioattivo
23Un esercizio simulare il fenomeno del
decadimento radioattivo
24Risultati/1
Linea continua curva esponenziale attesa.
Istogramma risultato della simulazione
Risultato per N0100, ?1?10-2 s-1 ?t1 s Le
fluttuazioni statistiche sono importanti
25Risultati/2 Confronto tra 2 diverse sequenze di
numeri casuali
Due diverse simulazioni, con differenti sequenze
di numeri casuali, danno risultati leggermente
diversi. Sono visibili le fluttuazioni
statistiche.
26Risultati/3 Riduzione delle fluttuazioni
statistiche con il n. di eventi
Risultato per N05000, ?3?10-2 s-1 ?t1 s
27Risultati/4 Riduzione delle fluttuazioni
statistiche con il n. di eventi
Risultato per N050000, ?3?10-2 s-1 ?t1 s
28Esempio Come generare una direzione casuale
nello spazio
- Estrarre langolo azimutale f in (0, 2p)
- Estrarre langolo polare ? con distribuzione
sin? in (-p, p) - Angolo solido dO dcos? df sin? d? df
z
?
y
f
x
Isotropia in angolo solido, non in angolo polare
Esempio Emissione di particelle da una sorgente
a forma di disco, con emissione isotropa nello
spazio
29Esempio Il moto molecolare in 2 dimensioni
D diametro molecolare (Angstrom) P Pressione
(atmosfere) T Temperatura assoluta (K) Libero
cammino medio di una molecola in un gas
P( l) exp (-l/ L) T uniforme in (0,2p)
30Uso del teorema del limite centrale per una
distribuzione gaussiana
Per generare una sequenza di numeri con
distribuzione gaussiana, oltre che i metodi
precedenti, si può sfruttare il teorema del
limite centrale Per N molto grande, la somma di
N numeri casuali xi è una variabile g distribuita
secondo una distribuzione normale g S (xi - ½
) Assumendo N12 (già sufficiente) la
distribuzione gaussiana ha media 0 e deviazione
standard 1.
31Applicazioni ulteriori calcoli di accettanza
geometrica
Per una sorgente puntiforme e un rivelatore con
superficie S a forma di calotta sferica di raggio
R, posto a distanza d, langolo solido è dO S
/d2 dove S p R2 La probabilità che una
particella vada dalla sorgente al rivelatore
(accettanza geometrica), nel caso di emissione
isotropa, è eg dO/4p S/4pd2 R2/4d2
Sorgente
Rivelatore
Correzione per laccettanza Se misuriamo N
conteggi nel rivelatore, dovuti a particelle
emesse dalla sorgente, quelle effettivamente
emesse dalla sorgente saranno N/ eg
32Applicazioni ulteriori calcoli di accettanza
geometrica
Per una sorgente estesa e un rivelatore di forma
qualunque, la probabilità che una particella vada
dalla sorgente al rivelatore (accettanza
geometrica), può essere valutata con tecniche
Monte Carlo
Sorgente
Rivelatore
Correzione per laccettanza Estrarre un punto
entro le dimensioni della sorgente Estrarre una
direzione di volo della particella Verificare se
essa intercetta il rivelatore Ripetere N volte e
valutare il rapporto eg Nacc/Ngen
33Utilizzo del metodo Monte Carlo per il calcolo di
integrali multidimensionali
Un metodo numerico semplice per valutare l
integrale definito della funzione f(x) in (a,b) è
calcolare (b-a)/n S f(xi) dove le xi sono
equidistanziate in (a,b). Il corrispondente
metodo Monte Carlo consiste nel valutare la
funzione f(x) in corrispondenza ad una sequenza
di numeri casuali xi uniformemente distribuiti in
(a,b). La precisione del metodo Monte Carlo è in
questo caso proporzionale a 1/vn, mentre per
molti altri metodi numerici è dellordine di
1/n2, cioè molto migliore. Perché allora il
metodo Monte Carlo? Soprattutto negli integrali
multidimensionali (dimensione d) In questo caso,
la precisione di altri metodi numerici è n(-2/d)
, mentre per il metodo Monte Carlo è sempre 1/vn.
Quindi da d4 in poi conviene. Inoltre scegliere
i valori da usare con altri metodi numerici può
essere molto complicato, mentre è semplice con il
metodo Monte Carlo
34Unapplicazione avanzata di tecniche Monte Carlo
simulazioni GEANT
Nella progettazione di un apparato di
rivelazione, dalla fisica nucleare alla fisica
medica, alle applicazioni nello spazio, occorre
simulare linterazione di particelle con i
materiali. Un codice di simulazione generale il
software GEANT, esistente in versione GEANT3
(derivante dal Fortran) e in versione GEANT4
(C) Sviluppato al CERN nellambito della fisica
particellare Liberamente utilizzabile, ma molto
complesso!
35Unapplicazione avanzata di tecniche Monte Carlo
simulazioni GEANT
Valutare linfluenza che un blocco di Pb ha sulla
risposta di uno scintillatore usato per la
spettrometria gamma
Scintillatore
Sorgente gamma
Pb
36Unapplicazione avanzata di tecniche Monte Carlo
simulazioni GEANT
Valutare leffetto schermante delledificio sui
muoni cosmici
Tetto
Solai in cemento
Pareti
37Unapplicazione avanzata di tecniche Monte Carlo
simulazioni GEANT
Valutare la dose assorbita da un tessuto del
corpo umano a seguito di radiazioni indotte da un
fascio di particelle a scopo terapeutico
Fascio di particelle ionizzanti
38Unapplicazione avanzata di tecniche Monte Carlo
simulazioni GEANT
Valutare la dose assorbita da astronauti nello
spazio in viaggi interplanetari
Radiazioni cosmiche
39Struttura di GEANT
Definire la geometria e i materiali del sistema
da simulare, mediante delle forme predefinite
40Struttura di GEANT
Definire la geometria e i materiali del sistema
da simulare, mediante delle forme predefinite
41Struttura di GEANT
Posizionare e orientare nello spazio i volumi che
costituiscono il proprio sistema, allinterno di
un volume madre
Anche decine di migliaia di singoli volumi come
per i rivelatori di LHC
42Struttura di GEANT
Scegliere la/le particelle da generare (vertice)
Ad esempio una singola particella con una certa
distribuzione in energia e angolo, generata in
una data regione dello spazio (una sorgente
radioattiva)
Oppure, tutte le particelle generate da un
modello teorico che descrive una collisione
nucleare
43Struttura di GEANT
Valutare tutte le possibili interazioni della
particella primaria e di quelle secondarie
prodotte nei rivelatori, in base alla conoscenza
dei processi fisici incorporate in GEANT
44Struttura di GEANT
Estrarre le informazioni prodotte nei rivelatori
(energia depositata, tempo di arrivo delle
particelle, posizione,) e costruirne opportuni
istogrammi
45Un esempio di analisi su dati simulati
Diverse particelle (p, p, K in una certa
proporzione, con distribuzione in energia di tipo
esponenziale)
Rivelatore costituito da 3 rivelatori sottili e
da un rivelatore spesso in silicio
Output Un file di Root con 50000 eventi simulati
che contengono N.evento, Tipo di particella,
Impulso, E1, E2, E3, Etot (?)
Esercitazione Costruire gli spettri dellenergia
depositata in ciascuno dei rivelatori
46Un esempio di analisi su dati simulati
Esercitazioni 1 Costruire gli spettri
dellenergia depositata in ciascuno dei
rivelatori 2 Costruire gli spettri selezionando
le particelle incidenti 3 Costruire dei plot
bidimensionali Ej-Etot per j1, 2, 3 (matrici
DeltaE-E) 4 Studiare leffetto dellimpulso delle
particelle incidenti 5 Studiare leffetto
dellinclinazione della traccia