Il metodo Monte Carlo è un'ampia classe di metodi computazionali basati sul campionamento casuale per ottenere risultati numerici. Può essere utile per superare i problemi computazionali legati ai test esatti (ad esempio i metodi basati sulla distribuzione binomiale e calcolo combinatorio, che per grandi campioni generano un numero di permutazioni eccessivo).
Il metodo è usato per trarre stime attraverso simulazioni. Si basa su un algoritmo che genera una serie di numeri tra loro non correlati, che seguono la distribuzione di probabilità che si suppone abbia il fenomeno da indagare. La non correlazione tra i numeri è assicurata da un test chi quadrato.
La simulazione Monte Carlo calcola una serie di realizzazioni possibili del fenomeno in esame, con il peso proprio della probabilità di tale evenienza, cercando di esplorare in modo denso tutto lo spazio dei parametri del fenomeno. Una volta calcolato questo campione casuale, la simulazione esegue delle 'misure' delle grandezze di interesse su tale campione. La simulazione Monte Carlo è ben eseguita se il valore medio di queste misure sulle realizzazioni del sistema converge al valore vero.
Le sue origini risalgono alla metà degli anni 40 nell'ambito del Progetto Manhattan. I formalizzatori del metodo sono Enrico Fermi, John von Neumann e Stanisław Marcin Ulam[1]. Il nome Monte Carlo fu inventato in seguito da Nicholas Constantine Metropolis riferendosi al noto casinò. L'uso di tecniche basate sulla selezione di numeri casuali era già citato in un lavoro di Lord Kelvin del 1901 ed in alcuni studi di William Sealy Gosset[1].
L'algoritmo Monte Carlo è un metodo numerico utilizzato per trovare le soluzioni di problemi matematici a molte variabili e che non possono essere risolti facilmente, per esempio il calcolo integrale. L'efficienza di questo metodo aumenta rispetto agli altri metodi quando la dimensione del problema cresce.
Un primo esempio di utilizzo del metodo Monte Carlo è rappresentato dall'esperimento dell'ago di Buffon; il suo più famoso utilizzo fu quello di Enrico Fermi, che nel 1930 usò un metodo casuale per problemi di trasporto neutronico[1].