Monte Carlo
Metodi stocastici o metodi Monte Carlo Qualunque metodo che usa numeri casuali. Dal greco stochasticos: aleatorio, dovuto al caso. Il carattere stocastico deriva dall’uso di numeri casuali.
Metropolis, Rosenbluth, Ulam, Fermi, Von Neumann (~1945) Origine del nome Metropolis coniò il nome “Monte Carlo” dal casinò Monte Carlo is the capital of city of Monaco. It is tiny (only three kilometers long) and sits on a large rock named Mont Des Mules overlooking the sea. A road separates Monaco from France, and you hardly realize it when you are moving between the two countries. There are about 30,000 residents of Monaco. Picture from: http://www.twilightbridge.com/op/gallery/albums/monaco/vew028.jpg Los Vegas was too late to catch the fame. Monte Carlo, Monaco Metropolis, Rosenbluth, Ulam, Fermi, Von Neumann (~1945)
Nicholas Metropolis (1915-1999) L’algoritmo di Metropolis (e A Rosenbluth, M Rosenbluth, A Teller e E Teller, 1953) è stato citato tra i primi 10 algoritmi che hanno avuto “la più grande influenza sullo sviluppo e la pratica della scienza e dell’ingegneria nel ventesimo secolo." “The code that was to become the famous Monte Carlo method of calculation originated from a synthesis of insights that Metropolis brought to more general applications in collaboration with Stanislaw Ulam in 1949. A team headed by Metropolis, which included Anthony Turkevich from Chicago, carried out the first actual Monte Carlo calculations on the ENIAC in 1948. Metropolis attributes the germ of this statistical method to Enrico Fermi, who had used such ideas some 15 years earlier. The Monte Carlo method, with its seemingly limitless potential for development to all areas of science and economic activities, continues to find new applications.” From “Physics Today” Oct 2000, Vol 53, No. 10., see also http://www.aip.org/pt/vol-53/iss-10/p100.html.
Ago di Buffon Georges-Louis Leclerc Conte di Buffon (1707-1788) Ago di lunghezza =1 Distanza linee = 1 Lancio casuale pincrocio = 2/ Stima di dalla proporzione di aghi che incrociano una linea.
Si ha incrocio se la distanza dal centro dell’ago ad una linea è < 0.5 sin
I metodi Monte Carlo forniscono soluzioni approssimate ad una gamma di problemi chimici, fisici e matematici mediante esperimenti di campionamento statistico su un calcolatore. I metodi si applicano a problemi con intrinseca struttura probabilistica (diffusione di neutroni all’interno di un materiale) a problemi intrinsecamente deterministici, ma che si possono formulare in termini di distribuzioni di probabilità. Fra tutti i metodi numerici che dipendono dalla valutazione di N-punti in uno spazio M-dimensionale per produrre una soluzione approssimata, il metodo Monte Carlo ha un errore assoluto della stima che decresce come N-1/2, mentre tutti gli altri hanno errori che decrescono al più come N-1/M.
Scienza Studio della conformazione di molecole complesse Simulazione dei liquidi Simulazione dell’equazione di Schrödinger Disegno di reattori nucleari Applicazioni mediche: trasporto di elettroni, neutroni, fotoni attraverso il corpo Evoluzione delle stelle Prospezioni petrolifere Flusso del traffico Economia Previsioni Dow-Jones Sociologia
Numeri casuali Un singolo numero non è casuale, solo una sequenza infinita può essere descritta come casuale. Casuale significa assenza di ordine. Numeri veramente casuali: risultati di un processo fisico. Numeri pseudo-casuali: sequenza deterministica, appaiono casuali se non si conosce l’algoritmo con cui sono generati. Anyone who consider arithmetical methods of producing random digits is, of course, in a state of sin. John Von Neumann
Generatori di numeri casuali Matematicamente, la sequenza di numeri casuali dovrebbe possedere le seguenti proprietà: Sequenze non correlate - Le sequenze di numeri casuali non dovrebbero essere correlate serialmente. Qualsiasi sequenza parziale di numeri casuali non dovrebbe essere correlata con qualsiasi altra sequenza parziale. Per esempio, se stiamo usando un generatore di numeri casuali per generare traiettorie di uscita di molecole da un foro per riempire lo spazio emisferico sovrastante, non dovremmo generare uno schema ordinato (anche solo parzialmente).
Efficienza – Il generatore dovrebbe essere efficiente. Periodo lungo – Il generatore dovrebbe avere un periodo lungo (in teoria non dovrebbe ripetersi; in pratica, la ripetizione dovrebbe avvenire solo dopo la generazione di un numero molto grande di numeri casuali). Uniformità - La sequenza di numeri casuali dovrebbe essere uniforme. Cioè frazioni uguali di numeri casuali dovrebbero cadere in ”aree" uguali dello spazio. Per esempio volendo generare numeri casuali nell’intervallo [0, 1], non vorremmo trovarne più di metà in [0, 0.5], preso un campione sufficientemente grande. Efficienza – Il generatore dovrebbe essere efficiente.
Generatori moltiplicativi, lineari, congruenziali I più comunemente usati per generare interi casuali
Esempio: calcolo di un integrale Ad ogni coppia di numeri casuali 1 2 con distribuzione uniforme nell’intervallo 0-1 associamo un punto. Se 1 > 2 punto entro il triangolo. Punti dentro / punti totali = 1/2
Esempio: calcolo di r = 1 r = 1 Area settore circolare = 1/4 r2 Area quadrato = r2 Rapporto aree = /4 Ad ogni coppia di numeri casuali 1 2 con distribuzione uniforme nell’intervallo 0-1 associamo un punto. Se 12 +22 1 punto entro il cerchio. Punti dentro / punti totali = /4
Esempio: calcolo di un integrale Vogliamo integrare una funzione con un picco pronunciato usando numeri casuali con distribuzione uniforme. I punti nella coda della funzione danno contributi piccoli. Convergenza scarsa
Campionamento per importanza Possiamo riscrivere l’integrale come integrale “pesato” dove p(x) è una funzione peso. Il campionamento uniforme usa una p(x) costante. Data una generica p(x), campioniamo di più le regioni in cui p(x) è grande. Se siamo in grado di campionare secondo la distribuzione p(x)
DUE ALTERNATIVE efficienza molto scarsa. Integrando originale e punti distribuiti uniformemente efficienza molto scarsa. Integrando modificato, ma punti distribuiti secondo una funzione densità di probabilità opportuna, legata al problema.
La chiave dei metodi MC è la nozione di CAMPIONAMENTO CASUALE di una distribuzione Data una densità di probabilità, f(x), produrre una sequenza casuale di x che siano distribuiti come f(x). x L’uso del campionamento casuale distingue Monte Carlo da tutti gli altri metodi. Come si produce una sequenza casuale di x distribuiti come f(x) ?
Catene di Markov Una catena di Markov consiste di stati e di probabilità di transizione. Le catene di Markov (cammini casuali) permettono di campionare qualsiasi distribuzione basandosi sul bilancio dettagliato e sulle regole di transizione. Markov
Proprietà Una sequenza di stati scelti casualmente. La probabilità di transizione tra xt e xt-1 dipende solo da xt-1 (è indipendente dalla storia, non c’è memoria). Le probabilità di transizione sono le stesse per qualunque t. L’intera catena rappresenta una distribuzione di probabilità stazionaria.
Scelta una probabilità di transizione P, la probabilità che il sistema sia nello stato 1 è data da p(1) = P p(0) p(2) = P p(1) = P P p(0) …………… p(m) = Pm p(0) Dopo un numero elevato di passi p(m+1) – p(m) 0 cioè si raggiunge una distribuzione di probabilità di equilibrio p* tale che p* = P p* p* è una conseguenza di P
Bilancio dettagliato Che tipo di catena di Markov genera distribuzioni stazionarie? I processi all’equilibrio hanno distribuzioni stazionarie Quando siamo in equilibrio ? Reversibilità Il bilancio dettagliato collega probabilità stazionarie alle transizioni: p(x) probabilità che il sistema si trovi nello stato x (xy) probabilità di transizione dallo stato x allo stato y
Metropolis Monte Carlo Come si realizza la condizione di bilancio dettagliato? La probabilità di transizione viene decomposta in una probabilità di campionare la transizione per la probabilità di accettare la transizione
Non si definisce la probabilità di accettazione, ma solo un rapporto libertà di scelta. Metropolis propose: Verifichiamo che questa scelta soddisfa la condizione di reversibilità microscopica Se
Se
L’algoritmo di Metropolis muovi ? rifiuto accetto Ri Rprova Calcola le medie Ri+1=Ri Ri+1=Rprova
? Calcolato p (la sua espressione dipende dal problema in esame) Se p > 1 accetta Se 0 < p < 1 accetta con probabilità p preso un numero casuale se p > accetta se p < rifiuta
L’algoritmo di Metropolis 3 concetti chiave Campionare mediante un cammino casuale Determinare lo stato di equilibrio mediante il bilancio dettagliato Ottenere il bilancio dettagliato mediante il meccanismo di accettazione/rifiuto
Il metodo MC fornisce un metodo robusto e versatile di integrazione su uno spazio a d dimensioni. Campionamento stocastico Errore 1 / N½ Il campionamento per importanza riduce la varianza Il metodo di Metropolis è un metodo molto utilizzato di campionamento per importanza Soddisfa il criterio di bilancio dettagliato Si adatta facilmente a tanti problemi diversi
Analisi statistica dei risultati Accuratezza Precisione
DEFINIZIONI Media vera stimata Varianza della popolazione stimata della popolazione La varianza è una misura della dispersione statistica. Deviazione standard:
Spazio delle fasi Valore medio - Xn Risultati delle simulazioni Accuratezza: misura di quanto il valore medio è vicino al VALORE VERO (alla quantità fisica) che si vuole stimare. Valore Vero Accuratezza : talora chiamata “errore sistematico”. Monte Carlo non può stimare direttamente l’accuratezza.
Spazio delle fasi Valore medio - Xn Risultati delle simulazioni Precisione : l’incertezza in Xn dovuta alle fluttuazioni statistiche dei valori xj campionati Valore Vero
alta accuratezza bassa accuratezza bassa precisione alta precisione Valore di riferimento accuratezza Precisione
Problemi con il campionamento Metropolis La varianza non correlata è: La probabilità che una mossa sia accettata è legata alla probabilità di transizione T(AB) Le energie di punti successivi sono serialmente correlate. Mossa rifiutata Mossa accettata Le energie di questi punti sono correlate!
Algoritmo di Decorrelazione Medie su blocchi dei dati originali elementi dei nuovi dati. x1 x2 x4 x3 x5 x6 x7 x9 x8 xn-3 xn-1 xn-2 xn Dati Originali Dati a blocchi ••••••••••••• Se i blocchi di dati sono sufficientemente grandi, i punti dei dati a blocchi sono non correlati e si può usare l’equazione standard:
Teorema del Limite Centrale PRINCIPI Teorema del Limite Centrale La distribuzione della somma di n variabili casuali indipendenti, identicamente distribuite, è gaussiana.
Distribuzione uniforme R1 + R2 R1 + R2 + R3 R1 + R2 + R3 + R4
Intervalli di confidenza ~2/3 del tempo la risposta corretta è entro una dalla media
Funzioni distribuzioni di probabilità P(x) dx probabilità di osservare un valore nell’intervallo (x, x+dx)
........ x può essere una variabile discreta o continua Funzione densità di probabilità discreta n eventi discreti ........ 1 2 n p2 p1 pn pi = probabilità per evento Funzione densità di probabilità continua p(x) x p(x) = probabilità per unità di x
Esempio: dimensioni multiple Quale è la media di una variabile per una distribuzione di probabilità Ndimensionale? Integrazione numerica Discretizzare ciascuna dimensione con un insieme di n punti Per una funzione ragionevolmente liscia, l’errore decresce come n-N/2 Monte Carlo Campionare m punti dello spazio Se possibile pesare i punti campionati basandosi sulla funzione di riferimento L’errore decresce come m-1/2
Parafrasando Churchill (1947) e la sua affermazione sulla democrazia. Il metodo Monte Carlo è il peggior metodo, eccetto tutti quegli altri che sono stati provati di tanto in tanto.
VMC: Monte Carlo Variazionale Riformuliamo il Principio Variazionale nel linguaggio Monte Carlo
E è la media statistica dell’energia locale EL P(R) è la probabilità associata alla configurazione R Se scegliamo i punti distribuiti secondo P(R) Ricetta: scelta una funzione d’onda di prova distribuire N punti secondo P(R) calcolare la media dell’energia locale
Come campionare ? Il calcolo dei pesi assoluti P(R) richiede il calcolo dell’integrale di normalizzazione. L’algoritmo di Metropolis (M(RT)2 1953) implica il calcolo del rapporto P(R)/P(R’) e permette di evitare questo problema. Algorithm of the century
VMC: Monte Carlo Variazionale Non è necessario calcolare analiticamente integrali: completa libertà nella scelta della funzione d’onda di prova Non occorre fare l’approssimazione orbitale Si possono usare funzioni d’onda esplicitamente correlate Si possono soddisfare le condizioni di cuspide r1 r2 r12 He E19 termini = -2.9037245(2) a.u. Eesatta = -2.90372437 a.u.
Vantaggi del metodo VMC Si possono calcolare limiti inferiori Si può andare al di là dell’approssimazione di Born-Oppenheimer, con qualsiasi potenziale, in qualsiasi numero di dimensioni. molecola Ps2 (e+e+e-e-) in 2D e 3D M+m+M-m- in funzione di M/m
Ottimizzazione di parametri non lineari Stabile numericamente Il minimo è noto (0)
Primi calcoli VMC Calcolo VMC dello stato fondamentale di 4He liquido (McMillan, 1964) Generalizzzato a sistemi di fermioni da Ceperley, Chester e Kalos, PRB 16, 3081 (1977).
Problemi del metodo VMC La barra dell’errore decresce come N-1/2. Il costo computazionale è elevato. L’ottimizzazione di diventa difficile al crescere del numero di parametri non lineari. Dipende criticamente dalla qualità di . Esiste un altro metodo per ottenere migliori funzioni d’onda, al limite esatte.
Monte Carlo diffusivo Equazione di Schrödinger dipendente dal tempo La soluzione è Cambio di variabile i t Nel tempo immaginario l’equazione diventa La soluzione ora è
Se il potenziale è nullo equazione analoga alla seconda legge della diffusione di Fick Se il termine diffusivo è nullo equazione analoga all’eq. cinetica del primo ordine Complessivamente l’eq. di Schrödinger dipendente dal tempo nel tempo immaginario è analoga all’eq. generalizzata della diffusione in presenza di pozzi e sorgenti
Evoluzione Diffusione Ramificazione temporale L’equazione di Schrödinger dipendente dal tempo nel tempo immaginario è analoga all’equazione generalizzata della diffusione.
Equazione della diffusione CASO CLASSICO Dinamica di Newton Langevin Equazione della diffusione F = m a Molecole che diffondono + molecole del mezzo: forze reali Fluttuazioni Molecole che diffondono: forze casuali Mezzo continuo Comportamento medio delle molecole Nessuna fluttuazione CASO QUANTISTICO Monte Carlo diffusivo Equazione di Schrödinger Particelle fittizie che diffondono Modello continuo
Spazio dei camminatori X La popolazione dei camminatori è proporzionale alla soluzione (X).
come concentrazione è interpretata come una concentrazione di particelle fittizie, dette camminatori. L’ equazione di Schrödinger è simulata mediante un processo di diffusione, crescita e scomparsa di camminatori.
L’analogia è solo formale. è una quantità complessa, mentre C è reale e positiva. Se il tempo t è immaginario, allora è reale Soluzione a t Stato fondamentale Stati eccitati Al passare del tempo la funzione d’onda decade allo stato fondamentale
c1 c0 c2 I coefficienti degli stati eccitati decadono esponenzialmente rispetto al coefficiente dello stat fondamentale.
Approssimazione a tempi brevi Dividiamo il tempo in n intervalli = /n In un piccolo il potenziale è ~ costante. Processo diffusivo Processo cinetico (ramificazione)
Separiamo il processo in un processo puramente diffusivo seguito da un processo cinetico ed alterniamo i due processi. Il processo diffusivo può essere simulato R' = R + dove è un numero casuale a distribuzione gaussiana. Il processo cinetico può essere simulato interpretando l’esponenziale come un peso da assegnare al camminatore.
Si preferisce considerare l'esponenziale come la molteplicità da assegnare al camminatore ed utilizzare un meccanismo di copie, cioè camminatori che muovono verso zone a potenziale favorevole si moltiplicano, altrimenti vengono eliminati.
The DMC algorithm Vecchie Generazione Molteplicità Nuove configurazioni di nuove configurazioni configurazioni
Algoritmo DMC Inizializzare una popolazione di camminatori {Xi} Diffondere X’ = X + Duplicare X’ in M copie M = int[ξ + exp(V(R)-Erif)] Calcolare le statistiche Modificare Erif per rendere la popolazione media constante η is a Gaussian random number with zero mean and unit variance, ξ is a uniformly distributed random number between 0 and 1. A rejection step may be introduce after 3, see Foulkes et al. int( ) is the same of the floor function, i.e., integer part of a number. The theoretical basis of the method is from Green-function solution of the Schrodinger equation.
CALCOLO DELL'ENERGIA stimatore misto 0(R) = funzione d'onda esatta T(R) = funzione d'onda di prova stimatore misto dove E è l'Energia esatta del sistema. (H è un operatore Hermitiano, operando a sinistra sulla funzione d'onda esatta dà l'Energia esatta) Se i camminatori sono distribuiti secondo 0(R):
Problema con questo semplice algoritmo Il potenziale Coulombiano ha grandi variazioni e può andare a -. Si hanno ampie fluttuazioni della popolazione di camminatori. Algoritmo inefficiente ed instabile.
CAMPIONAMENTO PER IMPORTANZA Per aumentare l’efficienza, si introduce una nuova funzione f(R,) è soluzione dell'equazione diffusione deriva moltiplicazione Il termine di deriva muove i camminatori verso le zone in cui la T è grande. La propagazione viene simulata mediante l’equazione di Langevin: R = R’ + DFQ(R) + è un numero casuale estratto da una distribuzione gaussiana.
Forza quantica muove i camminatori verso le zone con grande. Nel termine cinetico il potenziale è sostituito dall'Energia locale. Se la funzione di prova fosse esatta, l'Energia locale sarebbe costante ed il termine cinetico scomparirebbe. In generale comunque le variazioni dell'Energia locale sono ridotte rispetto alle variazioni del potenziale e quindi le fluttuazioni della popolazione di camminatori sono più ridotte.
CALCOLO DELL'ENERGIA Distribuendo i camminatori secondo f(R), E viene stimata mediante Se T(R) = (R) EL(Ri) = E varianza nulla. Tanto più accurata è la funzione di prova, tanto minore è la varianza.
CALCOLO DELLE PROPRIETA’ Il calcolo delle proprietà richiede il campionamento di (R)2 Non abbiamo campionato (R)2, ma f(R) = (R) T(R)
Il problema del segno Problema del segno L’analogia con l’equazione della diffusione è valida se la funzione d’onda è positiva, cioè per lo stato fondamentale di un insieme di bosoni. Per esempio un cluster di atomi di 4He. Per gli stati eccitati di un insieme di bosoni e per sistemi di fermioni la funzione è in parte positiva ed in parte negativa. L’analogia con l’equazione della diffusione è persa. Problema del segno
Le funzioni d’onda hanno nodi. Possiamo recuperare l’analogia con l’equazione generalizzata della diffusione se vincoliamo il cammino casuale entro una regione positiva limitata dai nodi. Sfortunatamente i nodi esatti non sono noti. In uno spazio a 3N dimensioni i nodi sono una superficie a 3N-1 dimensioni. La condizione di antisimmetria (1,2) = -(2,1) non definisce completamente il nodo, perché scambiamo simultaneamente x, y, z delle 2 particelle: definiamo un iperpunto di dimensione 3N-3.
Approssimazione a nodi fissi Usiamo i nodi approssimati di una di prova. Eliminiamo i camminatori che attraversano un nodo. + - Otteniamo la soluzione esatta entro il volume nodale. Il metodo diventa variazionale, al tendere dei nodi della funzione di prova verso i nodi esatti l’Energia tende all’Energia esatta. Enodi fissi Eesatta
Funzione di prova ed errore nodale
COSTO COMPUTAZIONALE Teoria del funzionale della densità ~ N3 Metodi ab initio > N6 Monte Carlo quantistico ~ N3 N4