Jump to content

Monte Carlo method: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
m Linked the curse of dimensionality wiki page to the related part, as many readers might not be familiar with that term.
 
Line 1: Line 1:
{{Short description|Probabilistic problem-solving algorithm}}
'''Monte Carlo methods''' are a widely used class of [[computation]]al [[algorithm]]s for [[simulation|simulating]] the behavior of various [[physics|physical]] and [[mathematics|mathematical]] systems. They are distinguished from other simulation methods (such as [[molecular dynamics]]) by being [[stochastic]], that is [[nondeterministic]] in some manner - usually by using [[random number]]s (or more often [[pseudo-random number]]s) - as opposed to [[deterministic algorithm]]s. Because of the repetition of algorithms and the large number of calculations involved, Monte Carlo is a method suited to calculation using a [[computer]], utilizing many techniques of [[computer simulation]].
{{distinguish|Monte Carlo algorithm}}
{{Use American English|date=February 2024}}
{{Use mdy dates|date=February 2024}}


[[File:Approximation d'une distribution normale.gif|thumb|300px|The approximation of a [[normal distribution]] with a Monte Carlo method]]
A '''Monte Carlo algorithm''' is a numerical Monte Carlo method used to find solutions to mathematical problems (which may have many variables) that cannot easily be solved, for example, by [[integral calculus]], or other numerical methods. For many types of problems, its efficiency relative to other numerical methods increases as the [[dimension]] of the problem increases.


'''Monte Carlo methods''', or '''Monte Carlo experiments''', are a broad class of [[computation]]al [[algorithm]]s that rely on [[Resampling (statistics)|repeated]] [[random sampling]] to obtain numerical results. The underlying concept is to use [[randomness]] to solve problems that might be [[deterministic system|deterministic]] in principle. The name comes from the [[Monte Carlo Casino]] in Monaco, where the primary developer of the method, mathematician [[Stanisław Ulam|Stanisław Ulam]], was inspired by his uncle's gambling habits.
==Applications==
Monte Carlo methods are especially useful in studying systems with a large number of coupled degrees of freedom, such as liquids, disordered materials, and strongly coupled solids. More broadly, Monte Carlo methods are useful for modeling phenomena with significant [[uncertainty]] in inputs, such as the calculation of [[risk]] in business. A classic use is for the evaluation of [[definite integral]]s, particularly multidimensional integrals with complicated boundary conditions.


Monte Carlo methods are mainly used in three distinct problem classes: optimization, numerical integration, and generating draws from a probability distribution. They can also be used to model phenomena with significant uncertainty in inputs, such as calculating the risk of a nuclear power plant failure. Monte Carlo methods are often implemented using computer simulations, and they can provide approximate solutions to problems that are otherwise intractable or too complex to analyze mathematically.
Monte Carlo methods are very important in [[computational physics]] and related applied fields, and have diverse applications from esoteric [[quantum chromodynamics]] calculations to designing [[heat shield]]s and [[aerodynamics|aerodynamic]] forms.


Monte Carlo methods are widely used in various fields of science, engineering, and mathematics, such as physics, chemistry, biology, statistics, artificial intelligence, finance, and cryptography. They have also been applied to social sciences, such as sociology, psychology, and political science. Monte Carlo methods have been recognized as one of the most important and influential ideas of the 20th century, and they have enabled many scientific and technological breakthroughs.
Monte Carlo methods have also proven efficient in solving coupled integral differential equations of radiation fields and energy transport, and thus these methods have been used in [[global illumination]] computations which produce photorealistic images of virtual 3D models, with applications in [[video games]], [[architecture]], [[design]], computer generated [[film]]s, special effects in cinema, business, economics and other fields.


Monte Carlo methods also have some limitations and challenges, such as the trade-off between accuracy and computational cost, the [[curse of dimensionality]], the reliability of random number generators, and the verification and validation of the results.
===Application areas===
Areas of application include:


== Overview ==
* Graphics, particularly for [[ray tracing]]; a version of the [[Metropolis-Hastings algorithm]] is also used for ray tracing where it is known as [[Metropolis light transport]]
Monte Carlo methods vary, but tend to follow a particular pattern:
* Modelling light transport in multi-layered tissues (MCML)
# Define a domain of possible inputs
* [[Monte Carlo methods in finance]]
# Generate inputs randomly from a [[probability distribution]] over the domain
* [[Reliability Engineering]]
# Perform a [[Deterministic algorithm|deterministic]] computation of the outputs
* In simulated annealing for protein structure prediction
# Aggregate the results
* In semiconductor device research, to model the transport of current carriers
* Environmental science, dealing with contaminant behaviour
* [[Monte Carlo molecular modeling]] as an alternative for computational [[molecular dynamics]].
* Search And Rescue and Counter-Pollution. Models used to predict the drift of a liferaft or movement of an oil slick at sea.
*In computer science
** [[Las Vegas algorithm]]
** [[LURCH]]
* Modelling the movement of impurity atoms (or ions) in plasmas in existing and tokamaks (e.g.: DIVIMP).
* In experimental [[particle physics]], for designing [[particle detector|detectors]], understanding their behaviour and comparing experimental data to theory
* Nuclear and particle physics codes using the Monte Carlo method:
** [[GEANT (program)|GEANT]] - [[CERN]]'s Monte Carlo for high-energy particles physics
** [[Monte Carlo N-Particle Transport Code|MCNP(X)]] - LANL's radiation transport codes
** [[EGS (program)|EGS]] - [[SLAC|Stanford]]'s simulation code for coupled transport of electrons and photons
** [[PEREGRINE]] - LLNL's Monte Carlo tool for radiation therapy dose calculations
** [[BEAMnrc]] - Monte Carlo code system for modelling radiotherapy sources ([[Linac]]'s)
** [[MONK]] - Serco Assurance's code for the calculation of [[Neutron multiplication factor|k-effective]] of nuclear systems


[[File:Pi monte carlo all.gif|thumb|upright=1.3| Monte Carlo method applied to approximating the value of {{pi}}]]
=== Other methods employing Monte Carlo===
For example, consider a [[circular sector#Quadrant|quadrant (circular sector)]] inscribed in a [[unit square]]. Given that the ratio of their areas is {{sfrac|{{pi}}|4}}, the value of [[pi|{{pi}}]] can be approximated using a Monte Carlo method:{{sfn|Kalos|Whitlock|2008}}
* Assorted random models, e.g. [[self-organised criticality]]
# Draw a square, then [[inscribed figure|inscribe]] a quadrant within it
* [[Direct simulation Monte Carlo]]
# [[uniform distribution (continuous)|Uniformly]] scatter a given number of points over the square
* [[Dynamic Monte Carlo method]]
# Count the number of points inside the quadrant, i.e. having a distance from the origin of less than 1
* [[Kinetic Monte Carlo]]
# The ratio of the inside-count and the total-sample-count is an estimate of the ratio of the two areas, {{sfrac|{{pi}}|4}}. Multiply the result by 4 to estimate {{pi}}.
* [[Quantum Monte Carlo]]
In this procedure the domain of inputs is the square that circumscribes the quadrant. One can generate random inputs by scattering grains over the square then perform a computation on each input (test whether it falls within the quadrant). Aggregating the results yields our final result, the approximation of {{pi}}.
* [[Quasi-Monte Carlo method]] using [[low-discrepancy sequence]]s and self avoiding walks
* Semiconductor charge transport and the like
* [[Electron microscopy]] beam-sample interactions
* Stochastic Optimization


There are two important considerations:
==Use in mathematics==
# If the points are not uniformly distributed, then the approximation will be poor.
In general, Monte Carlo methods are used in mathematics to solve various problems by generating suitable random numbers and observing that fraction of the numbers obeying some property or properties. The method is useful for obtaining numerical solutions to problems which are too complicated to solve analytically. The most common application of the Monte Carlo method is Monte Carlo integration.
# The approximation is generally poor if only a few points are randomly placed in the whole square. On average, the approximation improves as more points are placed.


Uses of Monte Carlo methods require large amounts of random numbers, and their use benefitted greatly from [[pseudorandom number generators]], which are far quicker to use than the tables of random numbers that had been previously used for statistical sampling.
=== Integration ===
Deterministic methods of [[numerical integration]] operate by taking a number of evenly spaced samples from a function. In general, this works very well for functions of one variable. However, for functions of [[vector space|vector]]s, deterministic quadrature methods can be very inefficient. To numerically integrate a function of a two-dimensional vector, equally spaced grid points over a two-dimensional surface are required. For instance a 10x10 grid requires 100 points. If the vector has 100 dimensions, the same spacing on the grid would require 10<sup>100</sup> points &ndash; that's far too many to be computed. 100 [[dimension]]s is by no means unreasonable, since in many physical problems, a "dimension" is equivalent to a [[degrees of freedom (physics and chemistry)|degree of freedom]].


== Application ==
Monte Carlo methods provide a way out of this exponential time-increase. As long as the function in question is reasonably [[well-behaved]], it can be estimated by randomly selecting points in 100-dimensional space, and taking some kind of average of the function values at these points. By the [[law of large numbers]], this method will display <math>1/\sqrt{N}</math> convergence &ndash; i.e. quadrupling the number of sampled points will halve the error, regardless of the number of dimensions.
Monte Carlo methods are often used in [[physics|physical]] and [[mathematics|mathematical]] problems and are most useful when it is difficult or impossible to use other approaches. Monte Carlo methods are mainly used in three problem classes:<ref>{{cite journal|author-last1=Kroese |author-first1=D. P. |author-last2=Brereton |author-first2=T. |author-last3=Taimre |author-first3=T. |author-last4=Botev |author-first4=Z. I. |year=2014 |title=Why the Monte Carlo method is so important today |journal = WIREs Comput Stat |volume=6 |issue=6 |pages=386–392 |doi=10.1002/wics.1314 |s2cid=18521840 }}</ref> [[optimization]], [[numerical integration]], and generating draws from a [[probability distribution]].


In physics-related problems, Monte Carlo methods are useful for simulating systems with many [[coupling (physics)|coupled]] [[degrees of freedom]], such as fluids, disordered materials, strongly coupled solids, and cellular structures (see [[cellular Potts model]], [[interacting particle systems]], [[McKean–Vlasov process]]es, [[kinetic theory of gases|kinetic models of gases]]).
A refinement of this method is to somehow make the points random, but more likely to come from regions of high contribution to the integral than from regions of low contribution. In other words, the points should be drawn from a distribution similar in form to the integrand. Understandably, doing this precisely is just as difficult as solving the integral in the first place, but there are approximate methods available: from simply making up an integrable function thought to be similar, to one of the adaptive routines discussed in the topics listed below.


Other examples include modeling phenomena with significant [[uncertainty]] in inputs such as the calculation of [[risk]] in business and, in mathematics, evaluation of multidimensional [[Integral|definite integral]]s with complicated [[boundary conditions]]. In application to systems engineering problems (space, [[oil exploration]], aircraft design, etc.), Monte Carlo–based predictions of failure, [[cost overrun]]s and schedule overruns are routinely better than human intuition or alternative "soft" methods.<ref>{{cite journal|author-last1=Hubbard |author-first1=Douglas |author-last2=Samuelson |author-first2=Douglas A. |date=October 2009 |title=Modeling Without Measurements |url=http://viewer.zmags.com/publication/357348e6#/357348e6/28 |journal=OR/MS Today |pages=28–33}}</ref>
A similar approach involves using [[low-discrepancy sequence]]s instead - the [[quasi-Monte Carlo method]]. Quasi-Monte Carlo methods can often be more efficient at numerical integration because the sequence "fills" the area better in a sense and samples more of the most important points that can make the simulation converge to the desired solution more quickly.


In principle, Monte Carlo methods can be used to solve any problem having a probabilistic interpretation. By the [[law of large numbers]], integrals described by the [[expected value]] of some random variable can be approximated by taking the [[Sample mean and sample covariance|empirical mean]] ({{a.k.a.}} the 'sample mean') of independent samples of the variable. When the [[probability distribution]] of the variable is parameterized, mathematicians often use a [[Markov chain Monte Carlo]] (MCMC) sampler.<ref>{{cite journal|title=Equation of State Calculations by Fast Computing Machines |journal=The Journal of Chemical Physics |date=June 1, 1953 |issn=0021-9606 |pages=1087–1092|volume=21|issue=6|doi=10.1063/1.1699114 |author-first1=Nicholas |author-last1=Metropolis |author-first2=Arianna W. |author-last2=Rosenbluth |author-first3=Marshall N. |author-last3=Rosenbluth |author-first4=Augusta H. |author-last4=Teller |author-first5=Edward |author-last5=Teller |bibcode=1953JChPh..21.1087M |osti=4390578 |s2cid=1046577 }}</ref><ref>{{cite journal|title=Monte Carlo sampling methods using Markov chains and their applications |journal=Biometrika |date=April 1, 1970 |issn=0006-3444 |pages=97–109 |volume=57 |issue=1 |doi=10.1093/biomet/57.1.97 |author-first=W. K. |author-last=Hastings |bibcode=1970Bimka..57...97H |s2cid=21204149 }}</ref><ref>{{cite journal|title=The Multiple-Try Method and Local Optimization in Metropolis Sampling |journal=Journal of the American Statistical Association |date=March 1, 2000 |issn=0162-1459 |pages=121–134 |volume=95 |issue=449 |doi=10.1080/01621459.2000.10473908 |author-first1=Jun S. |author-last1=Liu |author-first2=Faming |author-last2=Liang |author-first3=Wing Hung |author-last3=Wong |s2cid=123468109 }}</ref> The central idea is to design a judicious [[Markov chain]] model with a prescribed [[stationary probability distribution]]. That is, in the limit, the samples being generated by the MCMC method will be samples from the desired (target) distribution.<ref>{{cite journal |author-last1=Spall |author-first1=J. C. |year=2003 |title=Estimation via Markov Chain Monte Carlo |doi=10.1109/MCS.2003.1188770 |journal=IEEE Control Systems Magazine |volume=23 |issue=2 |pages=34–45 }}</ref><ref>{{cite journal |doi=10.1109/MCS.2018.2876959 |title=Stationarity and Convergence of the Metropolis-Hastings Algorithm: Insights into Theoretical Aspects |journal=IEEE Control Systems Magazine |volume=39 |pages=56–67 |year=2019 |author-last1=Hill |author-first1=Stacy D. |author-last2=Spall |author-first2=James C. |s2cid=58672766}}</ref> By the [[ergodic theorem]], the stationary distribution is approximated by the [[empirical measure]]s of the random states of the MCMC sampler.
==== Integration methods ====


In other problems, the objective is generating draws from a sequence of probability distributions satisfying a nonlinear evolution equation. These flows of probability distributions can always be interpreted as the distributions of the random states of a [[Markov process]] whose transition probabilities depend on the distributions of the current random states (see [[McKean–Vlasov process]]es, [[particle filter|nonlinear filtering equation]]).<ref name="kol10">{{cite book|author-last=Kolokoltsov |author-first=Vassili |title=Nonlinear Markov processes |year=2010 |publisher=[[Cambridge University Press]] |pages=375}}</ref><ref name="dp13">{{cite book|author-last=Del Moral |author-first=Pierre |title=Mean field simulation for Monte Carlo integration |year=2013 |publisher=Chapman & Hall/[[CRC Press]] |quote=Monographs on Statistics & Applied Probability |url=http://www.crcpress.com/product/isbn/9781466504059 |pages=626}}</ref> In other instances, a flow of probability distributions with an increasing level of sampling complexity arise (path spaces models with an increasing time horizon, Boltzmann–Gibbs measures associated with decreasing temperature parameters, and many others). These models can also be seen as the evolution of the law of the random states of a nonlinear Markov chain.<ref name="dp13" /><ref>{{cite journal|title=Sequential Monte Carlo samplers |author-last1=Del Moral |author-first1=P. |author-last2=Doucet |author-first2=A. |author-last3=Jasra |author-first3=A. |year=2006 |doi=10.1111/j.1467-9868.2006.00553.x |volume=68 |issue=3 |journal=Journal of the Royal Statistical Society, Series B |pages=411–436 |arxiv=cond-mat/0212648 |s2cid=12074789 }}</ref> A natural way to simulate these sophisticated nonlinear Markov processes is to sample multiple copies of the process, replacing in the evolution equation the unknown distributions of the random states by the sampled [[empirical measure]]s. In contrast with traditional Monte Carlo and MCMC methodologies, these [[mean-field particle methods|mean-field particle]] techniques rely on sequential interacting samples. The terminology ''mean field'' reflects the fact that each of the ''samples'' ({{a.k.a.}} particles, individuals, walkers, agents, creatures, or phenotypes) interacts with the empirical measures of the process. When the size of the system tends to infinity, these random empirical measures converge to the deterministic distribution of the random states of the nonlinear Markov chain, so that the statistical interaction between particles vanishes.
* Direct sampling methods
** [[Importance sampling]]
** [[Stratified sampling]]
** [[Recursive stratified sampling]]
** [[VEGAS algorithm]]
* [[Random walk Monte Carlo]] including [[Markov chain]]s
** [[Metropolis-Hastings algorithm]]
* [[Gibbs sampling]]


=== Optimization ===
== Simple Monte Carlo ==
Suppose one wants to know the [[expected value]] ''μ'' of a [[Statistical population|population]] (and knows that ''μ'' exists), but does not have a formula available to compute it. The simple Monte Carlo method gives an estimate for ''μ'' by running ''n'' simulations and averaging the simulations’ results. It has no restrictions on the probability distribution of the inputs to the simulations, requiring only that the inputs are randomly generated and are independent of each other and that ''μ'' exists. A sufficiently large ''n'' will produce a value for ''m'' that is arbitrarily close to ''μ''; more formally, it will be the case that, for any ''ε'' > 0, |''μ'' – ''m''| ≤ ''ε''.<ref name=":1">{{Cite book |last=Owen |first=Art B. |url=https://artowen.su.domains/mc/Ch-intro.pdf |title=Monte Carlo Theory, Methods and Examples |date=2013 |publisher=Work in progress |publication-date=2013 |pages=15–36}}</ref>
Another powerful and very popular application for random numbers in numerical simulation is in [[optimization (mathematics)|numerical optimization]]. These problems use functions of some often large-dimensional vector that are to be minimized (or maximized). Many problems can be phrased in this way: for example a [[computer chess]] program could be seen as trying to find the optimal set of, say, 10 moves which produces the best evaluation function at the end. The [[traveling salesman problem]] is another optimization problem. There are also applications to engineering design, such as [[multidisciplinary design optimization]].


Typically, the algorithm to obtain ''m'' is
Most Monte Carlo optimization methods are based on [[random walk]]s. Essentially, the program will move around a marker in multi-dimensional space, tending to move in directions which lead to a lower function, but sometimes moving against the [[gradient]].
<small>''s'' = 0;
'''for''' ''i'' = 1 to ''n'' '''do'''
run the simulation for the ''i''<sup>th</sup> time, giving result ''r<sub>i</sub>''</small>;
<small>''s'' = ''s'' + ''r<sub>i</sub>'';
'''repeat'''</small>
<small>''m'' = ''s'' / ''n'';</small>


==== Optimization methods ====
=== An example ===
Suppose we want to know how many times we should expect to throw three eight-sided dice for the total of the dice throws to be at least ''T.'' We know the expected value exists. The dice throws are randomly distributed and independent of each other. So simple Monte Carlo is applicable:
* [[Evolution strategy]]
<small>''s'' = 0;
* [[Genetic algorithm]]s
'''for''' ''i'' = 1 to ''n'' '''do'''
* [[Parallel tempering]]
throw the three dice until ''T'' is met or first exceeded</small>; <small>''r<sub>i</sub>'' = the number of throws</small>;
* [[Simulated annealing]]
<small>''s'' = ''s'' + ''r<sub>i</sub>'';</small>
* [[Stochastic tunneling]]
<small>'''repeat'''
''m'' = ''s'' / ''n'';</small>
If ''n'' is large enough, ''m'' will be within ''ε'' of ''μ'' for any ''ε'' > 0.


=== Determining a sufficiently large ''n'' ===
=== Inverse problems===


==== General formula ====
Probabilistic formulation of [[inverse problem]]s leads to the definition of a [[probability distribution]] in the model space. This probability distribution combines [[a priori]] information with new information obtained by measuring some observable parameters (data). As, in the general case, the theory linking data with model parameters is nonlinear, the a posteriori probability in the model space may not be easy to describe (it may be multimodal, some moments may not be defined, etc.).
Let ''ε'' = |''μ'' – ''m''| > 0. Choose the desired [[confidence level]] – the percent chance that, when the Monte Carlo algorithm completes, ''m'' is indeed within ''ε'' of ''μ''. Let z be the [[Z-score|''z''-score]] corresponding to that confidence level.


Let ''s''<sup>2</sup> be the estimated variance, sometimes called the “sample” variance; it is the variance of the results obtained from a relatively small number ''k'' of “sample” simulations. Choose a ''k''; Driels and Shin observe that “even for sample sizes an order of magnitude lower than the number required, the calculation of that number is quite stable."<ref name=":2">{{Cite journal |last1=Driels |first1=Morris R. |last2=Shin |first2=Young S. |date=April 2004 |title=Determining the number of Iterations for Monte Carlo Simulations of Weapon Effectiveness |url=https://apps.dtic.mil/sti/citations/ADA423541 |journal=Naval Postgraduate School Technical Report |issue=March 2003 - March 2004 |pages=10–11}}</ref>
When analyzing an inverse problem, obtaining a maximum likelihood model is usually not sufficient, as we normally also wish to have information on the resolution power of the data. In the general case we may have a large number of model parameters, and an inspection of the marginal probability densities of interest may be impractical, or even useless. But it is possible to pseudorandomly generate a large collection of models according to the posterior probability distribution and to analyze and display the models in such a way that information on the relative likelihoods of model properties is conveyed to the spectator. This can be accomplished by means of an efficient Monte Carlo method, even in cases where no explicit formula for the a priori distribution is available.


The following algorithm computes ''s''<sup>2</sup> in one pass while minimizing the possibility that accumulated numerical error produces erroneous results:<ref name=":1" />
The best-known importance sampling method, the Metropolis algorithm, can be generalized, and this gives a method that allows analysis of (possibly highly nonlinear) inverse problems with complex a priori information and data with an arbitrary noise distribution. For details, see Mosegaard and Tarantola (1995) [http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/Papers_PDF/MonteCarlo_latex.pdf] , or Tarantola (2005) [http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/SIAM/index.html] .
<small>''s<sub>1</sub>'' = 0;
run the simulation for the first time, producing result ''r''<sub>1</sub>;
''m''<sub>1</sub> = ''r''<sub>1</sub></small>; <small>//''m<sub>i</sub>'' is the mean of the first ''i'' simulations</small>
<small>'''for''' i = 2 to ''k'' '''do'''</small>
<small>run the simulation for the ''i''<sup>th</sup> time, producing result ''r<sub>i</sub>'';</small>
<small>''δ<sub>i</sub>'' = ''r<sub>i</sub>'' - ''m<sub>i</sub>''<sub>-1</sub>;</small>
''<small>m<sub>i</sub> = m<sub>i-1</sub></small>'' <small>+ (1/''i'')''δ<sub>i</sub>'';</small>
''<small>s<sub>i</sub> = s<sub>i-1</sub></small>'' <small>+ ((''i'' - 1)/''i'')(''δ<sub>i</sub>'')<sup>2</sup>;</small>
<small>'''repeat'''
''s<sup>2</sup>'' = ''s<sub>k</sub>''/(''k'' - 1);</small>
Note that, when the algorithm completes, ''m<sub>k</sub>'' is the mean of the ''k'' results.


''n'' is sufficiently large when
== Monte Carlo and random numbers==
Interestingly, the Monte Carlo method does not require truly [[random number]]s to be useful. Many of the most useful techniques use deterministic, [[pseudo-random]] sequences, making it easy to test and re-run simulations. The only quality usually necessary to make good [[simulation]]s is for the pseudo-random sequence to appear "random enough" in a certain sense.


<math>n\geq s^2 /(z\epsilon)^2</math><ref name=":1" /><ref name=":2" />
What this means depends on the application, but typically they should pass a series of statistical tests. Testing that the numbers are [[uniform distribution|uniformly distributed]] or follow another desired distribution when a large enough number of elements of the sequence are considered is one of the simplest, and most common ones.

If ''n'' ≤ ''k'', then ''m<sub>k</sub>'' = m'';'' sufficient sample simulations were done to ensure that ''m<sub>k</sub>'' is within ''ε'' of ''μ''. If ''n'' > ''k'', then ''n'' simulations can be run “from scratch,” or, since k simulations have already been done, one can just run ''n'' – ''k'' more simulations and add their results into those from the sample simulations:
<small>''s'' = ''m<sub>k</sub>'' * ''k'';
for i = ''k'' + 1 to ''n'' do</small>
<small>run the simulation for the ''i''<sup>th</sup> time, giving result ''r<sub>i</sub>''</small>;
<small>''s'' = ''s'' + ''r<sub>i</sub>'';
''m'' = ''s'' / ''n'';</small>

==== A formula when simulations' results are bounded ====
An alternate formula can be used in the special case where all simulation results are bounded above and below.

Choose a value for ''ε'' that is twice the maximum allowed difference between ''μ'' and ''m.'' Let 0 < ''δ'' < 100 be the desired confidence level, expressed as a percentage. Let every simulation result ''r''<sub>1</sub>, ''r''<sub>2</sub>, …''r<sub>i</sub>'', … ''r<sub>n</sub>'' be such that ''a'' ≤ ''r<sub>i</sub>'' ≤ ''b'' for finite ''a'' and ''b''. To have confidence of at least ''δ'' that |''μ'' – ''m''| < ''ε''/2, use a value for ''n'' such that

<math>n\geq 2(b-a)^2\ln(2/(1-(\delta/100)))/\epsilon^2</math>

For example, if ''δ'' = 99%, then ''n'' ≥ 2(''b'' – ''a'' )<sup>2</sup>ln(2/0.01)/''ε''<sup>2</sup> ≈ 10.6(''b'' – ''a'' )<sup>2</sup>/''ε''<sup>2</sup>.<ref name=":1" />

== Computational costs ==
Despite its conceptual and algorithmic simplicity, the computational cost associated with a Monte Carlo simulation can be staggeringly high. In general the method requires many samples to get a good approximation, which may incur an arbitrarily large total runtime if the processing time of a single sample is high.<ref name="sw09">{{cite book|author-last1=Shonkwiler |author-first1=R. W. |author-last2=Mendivil |author-first2=F. |title=Explorations in Monte Carlo Methods |year=2009 |publisher=Springer}}</ref> Although this is a severe limitation in very complex problems, the [[embarrassingly parallel]] nature of the algorithm allows this large cost to be reduced (perhaps to a feasible level) through [[parallel computing]] strategies in local processors, clusters, cloud computing, GPU, FPGA, etc.<ref>{{cite journal|author-last1=Atanassova |author-first1=E. |author-last2=Gurov |author-first2=T. |author-last3=Karaivanova |author-first3=A. |author-last4=Ivanovska |author-first4=S. |author-last5=Durchova |author-first5=M. |author-last6=Dimitrov |author-first6=D. |year=2016 |title=On the parallelization approaches for Intel MIC architecture |journal=AIP Conference Proceedings |volume=1773 |issue=1 |pages=070001 |doi=10.1063/1.4964983 |bibcode=2016AIPC.1773g0001A}}</ref><ref>{{cite journal|author-last1=Cunha Jr |author-first1=A. |author-last2=Nasser |author-first2=R. |author-last3=Sampaio |author-first3=R. |author-last4=Lopes |author-first4=H. |author-last5=Breitman |author-first5=K. |year=2014 |title=Uncertainty quantification through the Monte Carlo method in a cloud computing setting |journal=Computer Physics Communications |volume=185 |issue=5 |pages=1355–1363 |doi=10.1016/j.cpc.2014.01.006 |arxiv=2105.09512 |bibcode=2014CoPhC.185.1355C |s2cid=32376269}}</ref><ref>{{cite journal|author-last1=Wei |author-first1=J. |author-last2=Kruis |author-first2=F.E. |year=2013 |title=A GPU-based parallelized Monte-Carlo method for particle coagulation using an acceptance–rejection strategy |journal=Chemical Engineering Science |volume=104 |pages=451–459 |doi=10.1016/j.ces.2013.08.008|bibcode=2013ChEnS.104..451W }}</ref><ref>{{cite journal|author-last1=Lin |author-first1=Y. |author-last2=Wang |author-first2=F. |author-last3=Liu |author-first3=B. |year=2018 |title=Random number generators for large-scale parallel Monte Carlo simulations on FPGA |journal = Journal of Computational Physics |volume=360 |pages=93–103 |doi=10.1016/j.jcp.2018.01.029 |bibcode=2018JCoPh.360...93L}}</ref>


== History ==
== History ==
Before the Monte Carlo method was developed, simulations tested a previously understood deterministic problem, and statistical sampling was used to estimate uncertainties in the simulations. Monte Carlo simulations invert this approach, solving deterministic problems using [[Probability|probabilistic]] [[metaheuristic]]s (see [[simulated annealing]]).
Monte Carlo methods were originally practiced under more generic names such as "statistical sampling". The "[[Monte Carlo]]" designation, popularized by early pioneers in the field (including [[Stanislaw Marcin Ulam]], [[Enrico Fermi]], [[John von Neumann]] and [[Nicholas Metropolis]]), is a reference to the famous [[casino]] in [[Monaco]]. Its use of [[randomness]] and the repetitive nature of the process are analogous to the activities conducted at a casino. [[Stanislaw Marcin Ulam]] tells in his autobiography ''Adventures of a Mathematician'' that the method was named in honor of his uncle, who was a gambler, at the suggestion of Metropolis.


An early variant of the Monte Carlo method was devised to solve the [[Buffon's needle problem]], in which {{pi}} can be estimated by dropping needles on a floor made of parallel equidistant strips. In the 1930s, [[Enrico Fermi]] first experimented with the Monte Carlo method while studying neutron diffusion, but he did not publish this work.{{sfn|Metropolis|1987}}
"Random" methods of computation and experimentation (generally considered forms of [[stochastic simulation]]) can be arguably traced back to the earliest pioneers of probability theory (see, e.g., [[Buffon's needle]], and the work on small samples by [[William Gosset]]), but are more specifically traced to the pre-electronic computing era. The general difference usually described about a Monte Carlo form of simulation is that it systematically "inverts" the typical mode of simulation, treating deterministic problems by ''first'' finding a probabilistic analog. Previous methods of simulation and statistical sampling generally did the opposite: using simulation to test a previously understood deterministic problem. Though examples of an "inverted" approach do exist historically, they were not considered a general method until the popularity of the Monte Carlo method spread.


In the late 1940s, [[Stanisław Ulam]] invented the modern version of the Markov Chain Monte Carlo method while he was working on nuclear weapons projects at the [[Los Alamos National Laboratory]]. In 1946, nuclear weapons physicists at Los Alamos were investigating neutron diffusion in the core of a nuclear weapon.{{sfn|Metropolis|1987}} Despite having most of the necessary data, such as the average distance a neutron would travel in a substance before it collided with an atomic nucleus and how much energy the neutron was likely to give off following a collision, the Los Alamos physicists were unable to solve the problem using conventional, deterministic mathematical methods. Ulam proposed using random experiments. He recounts his inspiration as follows:
Perhaps the most famous early use was by [[Enrico Fermi]] in [[1930]], when he used a random method to calculate the properties of the newly-discovered [[neutron]]. Monte Carlo methods were central to the [[simulation]]s required for the [[Manhattan Project]], though were strongly limited by the computational tools at the time. However, it was only after electronic computers were first built (from [[1945]] on) that Monte Carlo methods began to be studied in depth. In the 1950s they were used at [[Los Alamos National Laboratory|Los Alamos]] for early work relating to the development of the [[hydrogen bomb]], and became popularized in the fields of [[physics]] and [[operations research]]. The [[Rand Corporation]] and the [[U.S. Air Force]] were two of the major organizations responsible for funding and disseminating information on Monte Carlo methods during this time, and they began to find a wide application in many different fields.


{{blockquote|The first thoughts and attempts I made to practice [the Monte Carlo Method] were suggested by a question which occurred to me in 1946 as I was convalescing from an illness and playing solitaires. The question was what are the chances that a Canfield solitaire laid out with 52 cards will come out successfully? After spending a lot of time trying to estimate them by pure combinatorial calculations, I wondered whether a more practical method than "abstract thinking" might not be to lay it out say one hundred times and simply observe and count the number of successful plays. This was already possible to envisage with the beginning of the new era of fast computers, and I immediately thought of problems of neutron diffusion and other questions of mathematical physics, and more generally how to change processes described by certain differential equations into an equivalent form interpretable as a succession of random operations. Later [in 1946], I described the idea to [[John von Neumann]], and we began to plan actual calculations.{{sfn|Eckhardt|1987}}}}
Uses of Monte Carlo methods require large amounts of [[random numbers]], and it was their use that spurred the development of [[pseudorandom number generator]]s, which were far quicker to use than the tables of random numbers which had been previously used for statistical sampling.


Being secret, the work of von Neumann and Ulam required a code name.{{sfn|Mazhdrakov|Benov|Valkanov|2018|p=250}} A colleague of von Neumann and Ulam, [[Nicholas Metropolis]], suggested using the name ''Monte Carlo'', which refers to the [[Monte Carlo Casino]] in [[Monaco]] where Ulam's uncle would borrow money from relatives to gamble.{{sfn|Metropolis|1987}}
== External links and references ==
Monte Carlo methods were central to the [[simulation]]s required for further postwar development of nuclear weapons, including the design of the H-bomb, though severely limited by the computational tools at the time. Von Neumann, [[Nicholas Metropolis]] and others programmed the [[ENIAC]] computer to perform the first fully automated Monte Carlo calculations, of a [[Nuclear weapon design#Pure fission weapons|fission weapon]] core, in the spring of 1948.<ref name="ENIAC">{{cite journal |author-last1=Haigh |author-first1=Thomas |author-last2=Priestley |author-first2=Mark |author-last3=Rope |author-first3=Crispin |title=Los Alamos Bets on ENIAC: Nuclear Monte Carlo Simulations, 1947-1948 |journal=IEEE Annals of the History of Computing |date=2014 |volume=36 |issue=3 |pages=42–63 |doi=10.1109/MAHC.2014.40 |s2cid=17470931 |url=https://ieeexplore.ieee.org/document/6880250}}</ref> In the 1950s Monte Carlo methods were used at [[Los Alamos National Laboratory|Los Alamos]] for the development of the [[hydrogen bomb]], and became popularized in the fields of [[physics]], [[physical chemistry]], and [[operations research]]. The [[Rand Corporation]] and the [[U.S. Air Force]] were two of the major organizations responsible for funding and disseminating information on Monte Carlo methods during this time, and they began to find a wide application in many different fields.
===References===
* Bernd A. Berg, ''Markov Chain Monte Carlo Simulations and Their Statistical Analysis (With Web-Based Fortran Code)'', World Scientific [[2004]], ISBN 981-238-935-0.
* Arnaud Doucet, Nando de Freitas and Neil Gordon, ''Sequential Monte Carlo methods in practice'', [[2001]], ISBN 0-387-95146-6.
* P. Kevin MacKeown, ''Stochastic Simulation in Physics'', [[1997]], ISBN 981-3083-26-3
* Harvey Gould & Jan Tobochnik, ''An Introduction to Computer Simulation Methods, Part 2, Applications to Physical Systems'', [[1988]], ISBN 0-201-16504-X
* C.P. Robert and G. Casella. "Monte Carlo Statistical Methods" (second edition). New York: Springer-Verlag, [[2004]], ISBN 0-387-21239-6
* Mosegaard, Klaus., and Tarantola, Albert, 1995. Monte Carlo sampling of solutions to inverse problems. J. Geophys. Res., 100, B7, 12431-12447.
* Tarantola, Albert, ''Inverse Problem Theory'' ([http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/SIAM/index.html free PDF version]), Society for Industrial and Applied Mathematics, 2005. ISBN 0-89871-572-5
* Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller and Edward Teller, "Equation of State Calculations by Fast Computing Machines", Journal of Chemical Physics, volume 21, p. 1087 (1953) (DOI: 10.1063/1.1699114)
* N. Metropolis and S. Ulam, "The Monte Carlo Method", Journal of the American Statistical Association, volume 44, p. 335 (1949)
* Fishman, G.S., (1995) ''Monte Carlo: Concepts, Algorithms, and Applicatioins'', Springer Verlag, New York.


The theory of more sophisticated mean-field type particle Monte Carlo methods had certainly started by the mid-1960s, with the work of [[Henry McKean|Henry P. McKean Jr.]] on Markov interpretations of a class of nonlinear parabolic partial differential equations arising in fluid mechanics.<ref name="mck67">{{cite journal |author-last=McKean |author-first=Henry P. |title=Propagation of chaos for a class of non-linear parabolic equations |journal=Lecture Series in Differential Equations, Catholic Univ. |year=1967 |volume=7 |pages=41–57 }}</ref><ref>{{cite journal |author-last1=McKean |author-first1=Henry P. |title=A class of Markov processes associated with nonlinear parabolic equations |journal = Proc. Natl. Acad. Sci. USA |year=1966 |volume=56 |issue=6 |pages=1907–1911 |doi=10.1073/pnas.56.6.1907 |pmid=16591437 |pmc=220210 |bibcode=1966PNAS...56.1907M |doi-access=free }}</ref> An earlier pioneering article by [[Ted Harris (mathematician)|Theodore E. Harris]] and Herman Kahn, published in 1951, used mean-field [[genetic algorithm|genetic]]-type Monte Carlo methods for estimating particle transmission energies.<ref>{{cite journal |author-last1=Herman |author-first1=Kahn |author-last2=Theodore |author-first2=Harris E. |title=Estimation of particle transmission by random sampling |journal=Natl. Bur. Stand. Appl. Math. Ser. |year=1951 |volume=12 |pages=27–30 |url=https://dornsifecms.usc.edu/assets/sites/520/docs/kahnharris.pdf }}</ref> Mean-field genetic type Monte Carlo methodologies are also used as heuristic natural search algorithms (a.k.a. [[metaheuristic]]) in evolutionary computing. The origins of these mean-field computational techniques can be traced to 1950 and 1954 with the work of [[Alan Turing]] on genetic type mutation-selection learning machines<ref>{{cite journal |author-last=Turing |author-first=Alan M. |title=Computing machinery and intelligence |journal=Mind |volume=LIX |issue=238 |pages=433–460 |doi=10.1093/mind/LIX.236.433 |year=1950 }}</ref> and the articles by [[Nils Aall Barricelli]] at the [[Institute for Advanced Study]] in [[Princeton, New Jersey]].<ref>{{cite journal |author-last=Barricelli |author-first=Nils Aall |year=1954 |author-link=Nils Aall Barricelli |title=Esempi numerici di processi di evoluzione |journal=Methodos |pages=45–68 }}</ref><ref>{{cite journal |author-last=Barricelli |author-first=Nils Aall |year=1957 |author-link=Nils Aall Barricelli |title=Symbiogenetic evolution processes realized by artificial methods |journal=Methodos |pages=143–182 }}</ref>
===Internet resources===
*[http://mathworld.wolfram.com/MonteCarloMethod.html Overview and reference list], Mathworld
*[http://www.ipp.mpg.de/de/for/bereiche/stellarator/Comp_sci/CompScience/csep/csep1.phy.ornl.gov/mc/mc.html Introduction to Monte Carlo Methods], Computational Science Education Project
*[http://www.riskglossary.com/link/monte_carlo_method.htm Monte Carlo Method], riskglossary.com
*[http://www.chem.unl.edu/zeng/joy/mclab/mcintro.html The Basics of Monte Carlo Simulations], [[University of Nebraska-Lincoln]]
*[http://office.microsoft.com/en-us/assistance/HA011118931033.aspx Introduction to Monte Carlo simulation] (for [[Excel]]), Wayne L. Winston
*[http://www.bus.lsu.edu/academics/finance/faculty/dchance/Instructional/TN96-03.pdf Monte Carlo Simulation], Prof. Don M. Chance
*[http://www.brighton-webs.co.uk/montecarlo/concept.asp Monte Carlo Methods - Overview and Concept], brighton-webs.co.uk
*[http://www.cooper.edu/engineering/chemechem/monte.html Molecular Monte Carlo Intro], [[Cooper Union]]
*[http://homepages.nyu.edu/~sl1544/articles.html Monte Carlo techniques applied to finance], Simon Leger
*[http://www.global-derivatives.com/maths/k-o.php MonteCarlo Simulation in Finance], global-derivatives.com
*[http://twt.mpei.ac.ru/MAS/Worksheets/approxpi.mcd Approximation of π with the Monte Carlo Method]
*[http://papers.ssrn.com/sol3/papers.cfm?abstract_id=265905 Risk Analysis in Investment Appraisal], The Application of Monte Carlo Methodology in Project Appraisal, Savvakis C. Savvides


[[Quantum Monte Carlo]], and more specifically [[Diffusion Monte Carlo|diffusion Monte Carlo methods]] can also be interpreted as a mean-field particle Monte Carlo approximation of [[Richard Feynman|Feynman]]–[[Mark Kac|Kac]] path integrals.<ref name="dp04">{{cite book |author-last=Del Moral |author-first=Pierre |title=Feynman–Kac formulae. Genealogical and interacting particle approximations |year=2004 |publisher=Springer |quote=Series: Probability and Applications |url=https://www.springer.com/mathematics/probability/book/978-0-387-20268-6 |page=575 |isbn=9780387202686 |series=Probability and Its Applications}}</ref><ref name="dmm002">{{cite book |author-last1=Del Moral |author-first1=P. |author-last2=Miclo |author-first2=L. |title=Séminaire de Probabilités XXXIV |contribution=Branching and interacting particle systems approximations of Feynman–Kac formulae with applications to non-linear filtering |contribution-url=http://archive.numdam.org/item/SPS_2000__34__1_0 |doi=10.1007/BFb0103798 |mr=1768060 |pages=1–145 |publisher=Springer |location=Berlin |series=Lecture Notes in Mathematics |volume=1729 |year=2000 |isbn=978-3-540-67314-9 |url=http://www.numdam.org/item/SPS_2000__34__1_0/}}</ref><ref name="dmm00m">{{cite journal|author-last1=Del Moral |author-first1=Pierre |author-last2=Miclo |author-first2=Laurent |title=A Moran particle system approximation of Feynman–Kac formulae. |journal=Stochastic Processes and Their Applications |year=2000 |volume=86 |issue=2 |pages=193–216 |doi=10.1016/S0304-4149(99)00094-0 |doi-access=free}}</ref><ref name="dm-esaim03">{{cite journal|author-last1=Del Moral |author-first1=Pierre |title=Particle approximations of Lyapunov exponents connected to Schrödinger operators and Feynman–Kac semigroups |journal=ESAIM Probability & Statistics |date=2003 |volume=7 |pages=171–208 |url=http://journals.cambridge.org/download.php?file=%2FPSS%2FPSS7%2FS1292810003000016a.pdf&code=a0dbaa7ffca871126dc05fe2f918880a |doi=10.1051/ps:2003001 |doi-access=free}}</ref><ref name="caffarel1">{{cite journal|author-last1=Assaraf |author-first1=Roland |author-last2=Caffarel |author-first2=Michel |author-last3=Khelif |author-first3=Anatole |title=Diffusion Monte Carlo Methods with a fixed number of walkers |journal=Phys. Rev. E |url=http://qmcchem.ups-tlse.fr/files/caffarel/31.pdf |date=2000 |volume=61 |issue=4 |pages=4566–4575 |doi=10.1103/physreve.61.4566 |pmid=11088257 |bibcode=2000PhRvE..61.4566A |url-status=dead |archive-url=https://web.archive.org/web/20141107015724/http://qmcchem.ups-tlse.fr/files/caffarel/31.pdf |archive-date=November 7, 2014 }}</ref><ref name="caffarel2">{{cite journal|author-last1=Caffarel |author-first1=Michel |author-last2=Ceperley |author-first2=David |author-last3=Kalos |author-first3=Malvin |title=Comment on Feynman–Kac Path-Integral Calculation of the Ground-State Energies of Atoms |journal=Phys. Rev. Lett. |date=1993 |volume=71 |issue=13 |doi=10.1103/physrevlett.71.2159 |bibcode=1993PhRvL..71.2159C |pages=2159 |pmid=10054598}}</ref><ref name="h84">{{cite journal |author-last=Hetherington |author-first=Jack H. |title=Observations on the statistical iteration of matrices |journal=Phys. Rev. A |date=1984 |volume=30 |issue=2713 |doi=10.1103/PhysRevA.30.2713 |pages=2713–2719 |bibcode=1984PhRvA..30.2713H}}</ref> The origins of Quantum Monte Carlo methods are often attributed to Enrico Fermi and [[Robert D. Richtmyer|Robert Richtmyer]] who developed in 1948 a mean-field particle interpretation of neutron-chain reactions,<ref>{{cite journal|author-last1=Fermi |author-first1=Enrique |author-last2=Richtmyer |author-first2=Robert D. |title = Note on census-taking in Monte Carlo calculations |journal=LAM |date=1948 |volume=805 |issue=A |url=http://scienze-como.uninsubria.it/bressanini/montecarlo-history/fermi-1948.pdf |quote=Declassified report Los Alamos Archive}}</ref> but the first heuristic-like and genetic type particle algorithm (a.k.a. Resampled or Reconfiguration Monte Carlo methods) for estimating ground state energies of quantum systems (in reduced matrix models) is due to Jack H. Hetherington in 1984.<ref name="h84" /> In molecular chemistry, the use of genetic heuristic-like particle methodologies (a.k.a. pruning and enrichment strategies) can be traced back to 1955 with the seminal work of [[Marshall Rosenbluth|Marshall N. Rosenbluth]] and [[Arianna W. Rosenbluth]].<ref name=":0">{{cite journal |author-last1 = Rosenbluth|author-first1=Marshall N. |author-last2=Rosenbluth |author-first2=Arianna W. |title=Monte-Carlo calculations of the average extension of macromolecular chains |journal=J. Chem. Phys. |date=1955 |volume=23 |issue=2 |pages=356–359 |bibcode=1955JChPh..23..356R |doi=10.1063/1.1741967 |s2cid=89611599 |doi-access=free }}</ref>
===Commercial packages===
Makers of general purpose commercial packages which implement Monte Carlo algorithms include:
*[http://www.riskease.com Master Solutions Ltd. (RiskEase)]
*[http://www.lumina.com Lumina Decision Systems, Inc. (Analytica)]
*[http://www.goldsim.com GoldSim Technology Group ]
*[http://www.palisade.com Palisade Corporation (@Risk)]
*[http://www.lumenaut.com/montecarlo.htm Monte Carlo Analysis Tool for Excel] by Lumenaut


The use of [[Sequential Monte Carlo method|Sequential Monte Carlo]] in advanced [[signal processing]] and [[Bayesian inference]] is more recent. It was in 1993, that Gordon et al., published in their seminal work<ref>{{cite journal|title=Novel approach to nonlinear/non-Gaussian Bayesian state estimation |journal=IEE Proceedings F - Radar and Signal Processing |date=April 1993 |issn=0956-375X |pages=107–113 |volume=140 |issue=2 |author-first1=N.J. |author-last1=Gordon |author-first2=D.J. |author-last2=Salmond |author-first3 = A.F.M. |author-last3=Smith |doi=10.1049/ip-f-2.1993.0015 |s2cid=12644877 }}</ref> the first application of a Monte Carlo [[Resampling (statistics)|resampling]] algorithm in Bayesian statistical inference. The authors named their algorithm 'the bootstrap filter', and demonstrated that compared to other filtering methods, their bootstrap algorithm does not require any assumption about that state-space or the noise of the system. Another pioneering article in this field was Genshiro Kitagawa's, on a related "Monte Carlo filter",<ref>{{cite journal
===Statistical software===
|author-last=Kitagawa |author-first=G. |year=1996 |title=Monte carlo filter and smoother for non-Gaussian nonlinear state space models |volume=5 |issue=1 |journal=Journal of Computational and Graphical Statistics |pages=1–25 |doi=10.2307/1390750 |jstor=1390750}}</ref> and the ones by Pierre Del Moral<ref name="dm9622">{{cite journal |author-last1=Del Moral |author-first1=Pierre |title=Non Linear Filtering: Interacting Particle Solution. |journal=Markov Processes and Related Fields |date=1996 |volume=2 |issue=4 |pages=555–580 |url=http://web.maths.unsw.edu.au/~peterdel-moral/mprfs.pdf |access-date=June 11, 2015 |archive-date=March 4, 2016 |archive-url=https://web.archive.org/web/20160304052857/http://web.maths.unsw.edu.au/~peterdel-moral/mprfs.pdf |url-status=dead }}</ref> and Himilcon Carvalho, Pierre Del Moral, André Monin and Gérard Salut<ref>{{cite journal |author-last1=Carvalho |author-first1=Himilcon |author-last2=Del Moral |author-first2=Pierre |author-last3=Monin |author-first3=André |author-last4=Salut |author-first4=Gérard |title=Optimal Non-linear Filtering in GPS/INS Integration. |journal=IEEE Transactions on Aerospace and Electronic Systems |date=July 1997 |volume=33 |issue=3 |pages=835–850 |url=http://homepages.laas.fr/monin/Version_anglaise/Publications_files/GPS.pdf |bibcode=1997ITAES..33..835C |doi=10.1109/7.599254 |s2cid=27966240 |access-date=June 11, 2015 |archive-date=November 10, 2022 |archive-url=https://web.archive.org/web/20221110053359/https://homepages.laas.fr/monin/Version_anglaise/Publications_files/GPS.pdf |url-status=dead }}</ref> on particle filters published in the mid-1990s. Particle filters were also developed in signal processing in 1989–1992 by P. Del Moral, J. C. Noyer, G. Rigal, and G. Salut in the LAAS-CNRS in a series of restricted and classified research reports with STCAN (Service Technique des Constructions et Armes Navales), the IT company DIGILOG, and the [https://www.laas.fr/public/en LAAS-CNRS] (the Laboratory for Analysis and Architecture of Systems) on radar/sonar and GPS signal processing problems.<ref>P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: An unified framework for particle solutions". LAAS-CNRS, Toulouse, Research Report no. 91137, DRET-DIGILOG- LAAS/CNRS contract, April (1991).</ref><ref>P. Del Moral, G. Rigal, and G. Salut. "Nonlinear and non Gaussian particle filters applied to inertial platform repositioning." LAAS-CNRS, Toulouse, Research Report no. 92207, STCAN/DIGILOG-LAAS/CNRS Convention STCAN no. A.91.77.013, (94p.) September (1991).</ref><ref>P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation: Experimental results". Convention DRET no. 89.34.553.00.470.75.01, Research report no.2 (54p.), January (1992).</ref><ref>P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation: Theoretical results".
* [http://www.biocyb.cs.ucla.edu/biocybmodeling.html w3mcsim] - Online Monte Carlo Simulation
Convention DRET no. 89.34.553.00.470.75.01, Research report no.3 (123p.), October (1992).</ref><ref>P. Del Moral, J.-Ch. Noyer, G. Rigal, and G. Salut. "Particle filters in radar signal processing: detection, estimation and air targets recognition". LAAS-CNRS, Toulouse, Research report no. 92495, December (1992).</ref><ref>P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation". Studies on: Filtering, optimal control, and maximum likelihood estimation. Convention DRET no. 89.34.553.00.470.75.01. Research report no.4 (210p.), January (1993).</ref> These Sequential Monte Carlo methodologies can be interpreted as an acceptance-rejection sampler equipped with an interacting recycling mechanism.
* [http://www.mrc-bsu.cam.ac.uk/bugs/ The BUGS project] (including WinBUGS and OpenBUGS)

From 1950 to 1996, all the publications on Sequential Monte Carlo methodologies, including the pruning and resample Monte Carlo methods introduced in computational physics and molecular chemistry, present natural and heuristic-like algorithms applied to different situations without a single proof of their consistency, nor a discussion on the bias of the estimates and on genealogical and ancestral tree based algorithms. The mathematical foundations and the first rigorous analysis of these particle algorithms were written by Pierre Del Moral in 1996.<ref name="dm9622"/><ref name=":22">{{cite journal|author-last1=Del Moral |author-first1=Pierre |title=Measure Valued Processes and Interacting Particle Systems. Application to Non Linear Filtering Problems |journal=Annals of Applied Probability |date=1998 |edition=Publications du Laboratoire de Statistique et Probabilités, 96-15 (1996) |volume=8 |issue=2 |pages=438–495 |url=http://projecteuclid.org/download/pdf_1/euclid.aoap/1028903535 |doi=10.1214/aoap/1028903535 |citeseerx=10.1.1.55.5257}}</ref>

Branching type particle methodologies with varying population sizes were also developed in the end of the 1990s by Dan Crisan, Jessica Gaines and Terry Lyons,<ref name=":42">{{cite journal|author-last1=Crisan |author-first1=Dan |author-last2=Gaines |author-first2=Jessica |author-last3=Lyons |author-first3=Terry |title=Convergence of a branching particle method to the solution of the Zakai |journal=SIAM Journal on Applied Mathematics |date=1998 |volume=58 |issue=5 |pages=1568–1590 |doi=10.1137/s0036139996307371 |s2cid=39982562 }}</ref><ref>{{cite journal|author-last1=Crisan |author-first1=Dan |author-last2=Lyons |author-first2=Terry |title=Nonlinear filtering and measure-valued processes |journal=Probability Theory and Related Fields |date=1997 |volume=109 |issue=2 |pages=217–244 |doi=10.1007/s004400050131 |s2cid=119809371|doi-access=free }}</ref><ref>{{cite journal|author-last1=Crisan |author-first1=Dan |author-last2=Lyons |author-first2=Terry |title=A particle approximation of the solution of the Kushner–Stratonovitch equation |journal=Probability Theory and Related Fields |date=1999 |volume=115 |issue=4 |pages=549–578 |doi=10.1007/s004400050249 |s2cid=117725141|doi-access=free }}</ref> and by Dan Crisan, Pierre Del Moral and Terry Lyons.<ref name=":52">{{cite journal|author-last1=Crisan |author-first1=Dan |author-last2=Del Moral |author-first2=Pierre |author-last3=Lyons |author-first3=Terry |title=Discrete filtering using branching and interacting particle systems |journal=Markov Processes and Related Fields |date=1999 |volume=5 |issue=3 |pages=293–318 |url=http://web.maths.unsw.edu.au/~peterdel-moral/crisan98discrete.pdf}}</ref> Further developments in this field were described in 1999 to 2001 by P. Del Moral, A. Guionnet and L. Miclo.<ref name="dmm002"/><ref name="dg99">{{cite journal|author-last1=Del Moral |author-first1=Pierre |author-last2=Guionnet |author-first2=Alice |title=On the stability of Measure Valued Processes with Applications to filtering |journal=C. R. Acad. Sci. Paris |date=1999 |volume=39 |issue=1 |pages=429–434}}</ref><ref name="dg01">{{cite journal|author-last1=Del Moral |author-first1=Pierre |author-last2=Guionnet |author-first2=Alice |title=On the stability of interacting processes with applications to filtering and genetic algorithms |journal=Annales de l'Institut Henri Poincaré |date=2001 |volume=37 |issue=2 |pages=155–194 |url=http://web.maths.unsw.edu.au/~peterdel-moral/ihp.ps|doi = 10.1016/s0246-0203(00)01064-5 |bibcode=2001AIHPB..37..155D}}</ref>

==Definitions==
There is no consensus on how ''Monte Carlo'' should be defined. For example, Ripley<ref name=Ripley>{{harvnb|Ripley|1987}}</ref> defines most probabilistic modeling as ''[[stochastic simulation]]'', with ''Monte Carlo'' being reserved for [[Monte Carlo integration]] and Monte Carlo statistical tests. [[Shlomo Sawilowsky|Sawilowsky]]<ref name=Sawilowsky>{{harvnb|Sawilowsky|2003}}</ref> distinguishes between a [[simulation]], a Monte Carlo method, and a Monte Carlo simulation: a simulation is a fictitious representation of reality, a Monte Carlo method is a technique that can be used to solve a mathematical or statistical problem, and a Monte Carlo simulation uses repeated sampling to obtain the statistical properties of some phenomenon (or behavior).

Here are some examples:
* Simulation: Drawing ''one'' pseudo-random uniform variable from the interval [0,1] can be used to simulate the tossing of a coin: If the value is less than or equal to 0.50 designate the outcome as heads, but if the value is greater than 0.50 designate the outcome as tails. This is a simulation, but not a Monte Carlo simulation.
* Monte Carlo method: Pouring out a box of coins on a table, and then computing the ratio of coins that land heads versus tails is a Monte Carlo method of determining the behavior of repeated coin tosses, but it is not a simulation.
* Monte Carlo simulation: Drawing ''a large number'' of pseudo-random uniform variables from the interval [0,1] at one time, or once at many different times, and assigning values less than or equal to 0.50 as heads and greater than 0.50 as tails, is a ''Monte Carlo simulation'' of the behavior of repeatedly tossing a coin.

Kalos and Whitlock<ref name="Kalos">{{harvnb|Kalos|Whitlock|2008}}</ref> point out that such distinctions are not always easy to maintain. For example, the emission of radiation from atoms is a natural stochastic process. It can be simulated directly, or its average behavior can be described by stochastic equations that can themselves be solved using Monte Carlo methods. "Indeed, the same computer code can be viewed simultaneously as a 'natural simulation' or as a solution of the equations by natural sampling."

Convergence of the Monte Carlo simulation can be checked with the [[Gelman-Rubin statistic]].

===Monte Carlo and random numbers===

The main idea behind this method is that the results are computed based on repeated random sampling and statistical analysis. The Monte Carlo simulation is, in fact, random experimentations, in the case that, the results of these experiments are not well known.
Monte Carlo simulations are typically characterized by many unknown parameters, many of which are difficult to obtain experimentally.<ref name="usaus">{{cite journal|author-last1=Shojaeefard |author-first1=M.H. |author-last2=Khalkhali |author-first2=A. |author-last3=Yarmohammadisatri |first3=Sadegh |title=An efficient sensitivity analysis method for modified geometry of Macpherson suspension based on Pearson Correlation Coefficient |journal=Vehicle System Dynamics |volume=55 |issue=6 |pages=827–852 |doi=10.1080/00423114.2017.1283046 |year=2017 |bibcode = 2017VSD....55..827S |s2cid=114260173}}</ref> Monte Carlo simulation methods do not always require [[Random number generation#True vs. pseudo-random numbers|truly random number]]s to be useful (although, for some applications such as [[primality testing]], unpredictability is vital).<ref>{{harvnb|Davenport|1992}}</ref> Many of the most useful techniques use deterministic, [[pseudorandom number generator|pseudorandom]] sequences, making it easy to test and re-run simulations. The only quality usually necessary to make good [[simulation]]s is for the pseudo-random sequence to appear "random enough" in a certain sense.

What this means depends on the application, but typically they should pass a series of statistical tests. Testing that the numbers are [[Uniform distribution (continuous)|uniformly distributed]] or follow another desired distribution when a large enough number of elements of the sequence are considered is one of the simplest and most common ones. Weak correlations between successive samples are also often desirable/necessary.

Sawilowsky lists the characteristics of a high-quality Monte Carlo simulation:<ref name=Sawilowsky/>
* the (pseudo-random) number generator has certain characteristics (e.g. a long "period" before the sequence repeats)
* the (pseudo-random) number generator produces values that pass tests for randomness
* there are enough samples to ensure accurate results
* the proper sampling technique is used
* the algorithm used is valid for what is being modeled
* it simulates the phenomenon in question.

[[Pseudo-random number sampling]] algorithms are used to transform uniformly distributed pseudo-random numbers into numbers that are distributed according to a given [[probability distribution]].

[[Low-discrepancy sequences]] are often used instead of random sampling from a space as they ensure even coverage and normally have a faster order of convergence than Monte Carlo simulations using random or pseudorandom sequences. Methods based on their use are called [[quasi-Monte Carlo method]]s.

In an effort to assess the impact of random number quality on Monte Carlo simulation outcomes, astrophysical researchers tested cryptographically secure pseudorandom numbers generated via Intel's [[RDRAND]] instruction set, as compared to those derived from algorithms, like the [[Mersenne Twister]], in Monte Carlo simulations of radio flares from [[brown dwarfs]]. No statistically significant difference was found between models generated with typical pseudorandom number generators and RDRAND for trials consisting of the generation of 10<sup>7</sup> random numbers.<ref>{{cite journal|author-last1=Route |author-first1=Matthew |title=Radio-flaring Ultracool Dwarf Population Synthesis |journal=The Astrophysical Journal |date=August 10, 2017 |volume=845 |issue=1 |page=66 |doi=10.3847/1538-4357/aa7ede |arxiv=1707.02212 |bibcode=2017ApJ...845...66R |s2cid=118895524 |doi-access=free }}</ref>

=== Monte Carlo simulation versus "what if" scenarios ===
There are ways of using probabilities that are definitely not Monte Carlo simulations – for example, deterministic modeling using single-point estimates. Each uncertain variable within a model is assigned a "best guess" estimate. Scenarios (such as best, worst, or most likely case) for each input variable are chosen and the results recorded.{{sfn|Vose|2008|page=13}}

By contrast, Monte Carlo simulations sample from a [[probability distribution]] for each variable to produce hundreds or thousands of possible outcomes. The results are analyzed to get probabilities of different outcomes occurring.{{sfn|Vose|2008|page=16}} For example, a comparison of a spreadsheet cost construction model run using traditional "what if" scenarios, and then running the comparison again with Monte Carlo simulation and [[triangular distribution|triangular probability distribution]]s shows that the Monte Carlo analysis has a narrower range than the "what if" analysis.{{Example needed|date=May 2012}} This is because the "what if" analysis gives equal weight to all scenarios (see [[Corporate finance#Quantifying uncertainty|quantifying uncertainty in corporate finance]]), while the Monte Carlo method hardly samples in the very low probability regions. The samples in such regions are called "rare events".

==Applications==
Monte Carlo methods are especially useful for simulating phenomena with significant [[uncertainty]] in inputs and systems with many [[coupling (physics)|coupled]] degrees of freedom. Areas of application include:

===Physical sciences===
{{Computational physics}}
{{See also|Monte Carlo method in statistical physics}}
Monte Carlo methods are very important in [[computational physics]], [[physical chemistry]], and related applied fields, and have diverse applications from complicated [[quantum chromodynamics]] calculations to designing [[heat shield]]s and [[aerodynamics|aerodynamic]] forms as well as in modeling radiation transport for radiation dosimetry calculations.<ref>{{cite journal |doi=10.1088/0031-9155/59/4/R151 |pmid=24486639 |volume=59 |issue=4 |title=GPU-based high-performance computing for radiation therapy |journal=Physics in Medicine and Biology |pages=R151–R182 |bibcode=2014PMB....59R.151J |year=2014 |author-last1=Jia |author-first1=Xun |author-last2=Ziegenhein |author-first2=Peter |author-last3=Jiang |author-first3=Steve B |pmc=4003902 }}</ref><ref>{{cite journal |doi=10.1088/0031-9155/59/6/R183 |volume=59 |issue=6 |title=Advances in kilovoltage x-ray beam dosimetry | journal=Physics in Medicine and Biology |pages=R183–R231 |bibcode=2014PMB....59R.183H |pmid=24584183 |date=Mar 2014 |author-last1=Hill |author-first1=R. | last2=Healy |author-first2=B. |author-last3=Holloway |author-first3=L. |author-last4=Kuncic |author-first4=Z. |author-last5=Thwaites |author-first5=D. |author-last6=Baldock |author-first6=C. |s2cid=18082594 }}</ref><ref>{{cite journal |doi=10.1088/0031-9155/51/13/R17 |pmid=16790908 |volume=51 |issue=13 |title=Fifty years of Monte Carlo simulations for medical physics |journal=Physics in Medicine and Biology |pages=R287–R301 |bibcode=2006PMB....51R.287R |year=2006 |author-last1=Rogers |author-first1=D.W.O. |s2cid=12066026 }}</ref> In [[statistical physics]], [[Monte Carlo molecular modeling]] is an alternative to computational [[molecular dynamics]], and Monte Carlo methods are used to compute [[statistical field theory|statistical field theories]] of simple particle and polymer systems.<ref name=":0" /><ref>{{harvnb|Baeurle|2009}}</ref> [[Quantum Monte Carlo]] methods solve the [[many-body problem]] for quantum systems.<ref name="kol10" /><ref name="dp13" /><ref name="dp04" /> In [[Radiation material science|radiation materials science]], the [[binary collision approximation]] for simulating [[ion implantation]] is usually based on a Monte Carlo approach to select the next colliding atom.<ref>{{cite journal|author-last1=Möller |author-first1=W. |author-last2=Eckstein |author-first2=W. |date=March 1, 1984 |title=Tridyn — A TRIM simulation code including dynamic composition changes |journal=Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms |volume=2 |issue=1 |pages=814–818 |doi=10.1016/0168-583X(84)90321-5 |bibcode=1984NIMPB...2..814M}}</ref> In experimental [[particle physics]], Monte Carlo methods are used for designing [[particle detector|detectors]], understanding their behavior and comparing experimental data to theory. In [[astrophysics]], they are used in such diverse manners as to model both [[galaxy]] evolution<ref>{{harvnb|MacGillivray|Dodd|1982}}</ref> and microwave radiation transmission through a rough planetary surface.<ref>{{harvnb|Golden|1979}}</ref> Monte Carlo methods are also used in the [[Ensemble forecasting|ensemble models]] that form the basis of modern [[Numerical weather prediction|weather forecasting]].

===Engineering===
Monte Carlo methods are widely used in engineering for [[sensitivity analysis]] and quantitative [[probabilistic]] analysis in [[Process design (chemical engineering)|process design]]. The need arises from the interactive, co-linear and non-linear behavior of typical process simulations. For example,
* In [[microelectronics|microelectronics engineering]], Monte Carlo methods are applied to analyze correlated and uncorrelated variations in [[Analog signal|analog]] and [[Digital data|digital]] [[integrated circuits]].
* In [[geostatistics]] and [[geometallurgy]], Monte Carlo methods underpin the design of [[mineral processing]] [[process flow diagram|flowsheets]] and contribute to [[quantitative risk analysis]].{{sfn|Mazhdrakov|Benov|Valkanov|2018|p=250}}
* In [[fluid dynamics]], in particular [[gas dynamics|rarefied gas dynamics]], where the Boltzmann equation is solved for finite [[Knudsen number]] fluid flows using the [[direct simulation Monte Carlo]]<ref>G. A. Bird, Molecular Gas Dynamics, Clarendon, Oxford (1976)</ref> method in combination with highly efficient computational algorithms.<ref>{{cite journal |author-last1=Dietrich |author-first1=S. |author-last2=Boyd |author-first2=I. |year=1996 |title=A Scalar optimized parallel implementation of the DSMC technique |journal=Journal of Computational Physics |volume=126 |issue=2 |pages=328–42 |doi=10.1006/jcph.1996.0141 |bibcode=1996JCoPh.126..328D |doi-access=free }}</ref>
* In [[autonomous robotics]], [[Monte Carlo localization]] can determine the position of a robot. It is often applied to stochastic filters such as the [[Kalman filter]] or [[particle filter]] that forms the heart of the [[Simultaneous localization and mapping|SLAM]] (simultaneous localization and mapping) algorithm.
* In [[telecommunications]], when planning a wireless network, the design must be proven to work for a wide variety of scenarios that depend mainly on the number of users, their locations and the services they want to use. Monte Carlo methods are typically used to generate these users and their states. The network performance is then evaluated and, if results are not satisfactory, the network design goes through an optimization process.
* In [[reliability engineering]], Monte Carlo simulation is used to compute system-level response given the component-level response.
* In [[signal processing]] and [[Bayesian inference]], [[particle filter]]s and [[sequential Monte Carlo method|sequential Monte Carlo techniques]] are a class of [[mean-field particle methods]] for sampling and computing the posterior distribution of a signal process given some noisy and partial observations using interacting [[empirical measure]]s.<ref>{{cite journal |author-last1=Chen |author-first1=Shang-Ying |author-last2=Hsu |author-first2=Kuo-Chin |author-last3=Fan |author-first3=Chia-Ming |title=Improvement of generalized finite difference method for stochastic subsurface flow modeling |journal=Journal of Computational Physics |date=March 15, 2021 |volume=429 |pages=110002 |doi=10.1016/J.JCP.2020.110002 |bibcode=2021JCoPh.42910002C |s2cid=228828681 }}</ref>

===Climate change and radiative forcing===
The [[IPCC|Intergovernmental Panel on Climate Change]] relies on Monte Carlo methods in [[probability density function]] analysis of [[radiative forcing]].<ref>{{cite book|title=Climate Change 2013 The Physical Science Basis |date=2013 |publisher=[[Cambridge University Press]] |isbn=978-1-107-66182-0 |page=697 |url=http://www.climatechange2013.org/images/report/WG1AR5_ALL_FINAL.pdf |access-date=July 6, 2023}}</ref>

===Computational biology===
Monte Carlo methods are used in various fields of [[computational biology]], for example for [[Bayesian inference in phylogeny]], or for studying biological systems such as genomes, proteins,{{sfn|Ojeda|Garcia|Londono|Chen|2009}} or membranes.{{sfn|Milik|Skolnick|1993}}
The systems can be studied in the coarse-grained or ''ab initio'' frameworks depending on the desired accuracy.
Computer simulations allow monitoring of the local environment of a particular [[biomolecule|molecule]] to see if some [[chemical reaction]] is happening for instance. In cases where it is not feasible to conduct a physical experiment, [[thought experiment]]s can be conducted (for instance: breaking bonds, introducing impurities at specific sites, changing the local/global structure, or introducing external fields).

===Computer graphics===
[[Path tracing]], occasionally referred to as Monte Carlo ray tracing, renders a 3D scene by randomly tracing samples of possible light paths. Repeated sampling of any given pixel will eventually cause the average of the samples to converge on the correct solution of the [[rendering equation]], making it one of the most physically accurate 3D graphics rendering methods in existence.

===Applied statistics===
The standards for Monte Carlo experiments in statistics were set by Sawilowsky.<ref>{{cite journal |author-last1=Cassey |author-last2=Smith |year=2014 |title=Simulating confidence for the Ellison-Glaeser Index |journal=Journal of Urban Economics |volume=81 |page=93 |doi=10.1016/j.jue.2014.02.005}}</ref> In applied statistics, Monte Carlo methods may be used for at least four purposes:
# To compare competing statistics for small samples under realistic data conditions. Although [[type I error]] and power properties of statistics can be calculated for data drawn from classical theoretical distributions (''e.g.'', [[normal curve]], [[Cauchy distribution]]) for [[asymptotic]] conditions (''i. e'', infinite sample size and infinitesimally small treatment effect), real data often do not have such distributions.<ref>{{harvnb|Sawilowsky|Fahoome|2003}}</ref>
# To provide implementations of [[Statistical hypothesis testing|hypothesis tests]] that are more efficient than exact tests such as [[permutation tests]] (which are often impossible to compute) while being more accurate than critical values for [[asymptotic distribution]]s.
# To provide a random sample from the posterior distribution in [[Bayesian inference]]. This sample then approximates and summarizes all the essential features of the posterior.
# To provide efficient random estimates of the Hessian matrix of the negative log-likelihood function that may be averaged to form an estimate of the [[Fisher information]] matrix.<ref>{{cite journal |doi=10.1198/106186005X78800 |title=Monte Carlo Computation of the Fisher Information Matrix in Nonstandard Settings |journal=Journal of Computational and Graphical Statistics |volume=14 |issue=4 |pages=889–909 |year=2005 |author-last1=Spall |author-first1=James C. |citeseerx=10.1.1.142.738 |s2cid=16090098}}</ref><ref>{{cite journal |doi=10.1016/j.csda.2009.09.018 |title=Efficient Monte Carlo computation of Fisher information matrix using prior information |journal=Computational Statistics & Data Analysis |volume=54 |issue=2 |pages=272–289 |year=2010 |author-last1=Das |author-first1=Sonjoy |author-last2=Spall |author-first2=James C. |author-last3=Ghanem |author-first3=Roger}}</ref>

Monte Carlo methods are also a compromise between approximate randomization and permutation tests. An approximate [[randomization test]] is based on a specified subset of all permutations (which entails potentially enormous housekeeping of which permutations have been considered). The Monte Carlo approach is based on a specified number of randomly drawn permutations (exchanging a minor loss in precision if a permutation is drawn twice—or more frequently—for the efficiency of not having to track which permutations have already been selected).

{{anchor|Monte Carlo tree search}}

===Artificial intelligence for games===
{{Main|Monte Carlo tree search}}
Monte Carlo methods have been developed into a technique called [[Monte-Carlo tree search]] that is useful for searching for the best move in a game. Possible moves are organized in a [[search tree]] and many random simulations are used to estimate the long-term potential of each move. A black box simulator represents the opponent's moves.<ref>{{cite web|url=http://sander.landofsand.com/publications/Monte-Carlo_Tree_Search_-_A_New_Framework_for_Game_AI.pdf |title=Monte-Carlo Tree Search: A New Framework for Game AI |author-first1=Guillaume |author-last1=Chaslot |author-first2=Sander |author-last2=Bakkes |author-first3=Istvan |author-last3=Szita |author-first4=Pieter |author-last4=Spronck |website=Sander.landofsand.com |access-date=October 28, 2017}}</ref>

The Monte Carlo tree search (MCTS) method has four steps:<ref>{{cite web|url=http://mcts.ai/about/index.html |title=Monte Carlo Tree Search - About|access-date=May 15, 2013 |archive-url=https://web.archive.org/web/20151129023043/http://mcts.ai/about/index.html |archive-date=November 29, 2015 |url-status=dead}}</ref>
# Starting at root node of the tree, select optimal child nodes until a leaf node is reached.
# Expand the leaf node and choose one of its children.
# Play a simulated game starting with that node.
# Use the results of that simulated game to update the node and its ancestors.

The net effect, over the course of many simulated games, is that the value of a node representing a move will go up or down, hopefully corresponding to whether or not that node represents a good move.

Monte Carlo Tree Search has been used successfully to play games such as [[Go (game)|Go]],<ref>{{cite book|chapter=Parallel Monte-Carlo Tree Search |doi=10.1007/978-3-540-87608-3_6 |volume=5131 |pages=60–71 |series=Lecture Notes in Computer Science |year=2008 |author-last1=Chaslot |author-first1=Guillaume M. J. -B |author-last2=Winands |author-first2=Mark H. M. |author-last3=Van Den Herik |author-first3=H. Jaap |title=Computers and Games |isbn=978-3-540-87607-6 |citeseerx=10.1.1.159.4373}}</ref> [[Tantrix]],<ref>{{cite report|url=https://www.tantrix.com/Tantrix/TRobot/MCTS%20Final%20Report.pdf |title=Monte-Carlo Tree Search in the game of Tantrix: Cosc490 Final Report |author-last=Bruns |author-first=Pete}}</ref> [[Battleship (game)|Battleship]],<ref>{{cite web |url=http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Publications_files/pomcp.pdf |title=Monte-Carlo Planning in Large POMDPs |author-first1=David |author-last1=Silver |author-first2=Joel |author-last2=Veness |website=0.cs.ucl.ac.uk |access-date=October 28, 2017 |archive-date=July 18, 2016 |archive-url=https://web.archive.org/web/20160718050040/http://www0.cs.ucl.ac.uk/staff/d.silver/web/Publications_files/pomcp.pdf |url-status=dead }}</ref> [[Havannah (board game)|Havannah]],<ref>{{cite book|chapter=Improving Monte–Carlo Tree Search in Havannah |doi=10.1007/978-3-642-17928-0_10 |volume=6515 |pages=105–115|bibcode=2011LNCS.6515..105L |series=Lecture Notes in Computer Science |year=2011 |author-last1=Lorentz |author-first1=Richard J. |title=Computers and Games |isbn=978-3-642-17927-3}}</ref> and [[Arimaa]].<ref>{{cite web|url=http://www.arimaa.com/arimaa/papers/ThomasJakl/bc-thesis.pdf |author-first=Tomas |author-last=Jakl |title=Arimaa challenge – comparison study of MCTS versus alpha-beta methods |website=Arimaa.com |access-date=October 28, 2017}}</ref>

{{See also|Computer Go}}

===Design and visuals===
Monte Carlo methods are also efficient in solving coupled integral differential equations of radiation fields and energy transport, and thus these methods have been used in [[global illumination]] computations that produce photo-realistic images of virtual 3D models, with applications in [[video game]]s, [[architecture]], [[design]], computer generated [[film]]s, and cinematic special effects.{{sfn|Szirmay-Kalos|2008}}

===Search and rescue===
The [[US Coast Guard]] utilizes Monte Carlo methods within its computer modeling software [[SAROPS]] in order to calculate the probable locations of vessels during [[search and rescue]] operations. Each simulation can generate as many as ten thousand data points that are randomly distributed based upon provided variables.<ref>{{cite web|url=http://insights.dice.com/2014/01/03/how-the-coast-guard-uses-analytics-to-search-for-those-lost-at-sea |title=How the Coast Guard Uses Analytics to Search for Those Lost at Sea |work=Dice Insights |date=January 3, 2014}}</ref> Search patterns are then generated based upon extrapolations of these data in order to optimize the probability of containment (POC) and the probability of detection (POD), which together will equal an overall probability of success (POS). Ultimately this serves as a practical application of [[probability distribution]] in order to provide the swiftest and most expedient method of rescue, saving both lives and resources.<ref>{{cite web|url=http://www.ifremer.fr/web-com/sar2011/Presentations/SARWS2011_STONE_L.pdf |title=Search Modeling and Optimization in USCG's Search and Rescue Optimal Planning System (SAROPS) |author-first1=Lawrence D. |author-last1=Stone |author-first2=Thomas M. |author-last2=Kratzke |author-first3=John R. |author-last3=Frost |website=Ifremer.fr |access-date=October 28, 2017}}</ref>

===Finance and business===
{{See also|Monte Carlo methods in finance| Quasi-Monte Carlo methods in finance| Monte Carlo methods for option pricing| Stochastic modelling (insurance) | Stochastic asset model}}
Monte Carlo simulation is commonly used to evaluate the risk and uncertainty that would affect the outcome of different decision options. Monte Carlo simulation allows the business risk analyst to incorporate the total effects of uncertainty in variables like sales volume, commodity and labor prices, interest and exchange rates, as well as the effect of distinct risk events like the cancellation of a contract or the change of a tax law.

[[Monte Carlo methods in finance]] are often used to [[Corporate finance#Quantifying uncertainty|evaluate investments in projects]] at a business unit or corporate level, or other financial valuations. They can be used to model [[project management|project schedules]], where simulations aggregate estimates for worst-case, best-case, and most likely durations for each task to determine outcomes for the overall project.<ref>{{Cite web |title=Project Risk Simulation (BETA) |url=https://risk.octigo.pl/ |access-date=2024-05-21 |website=risk.octigo.pl}}</ref> Monte Carlo methods are also used in option pricing, default risk analysis.<ref>{{cite book|chapter=An Introduction to Particle Methods with Financial Applications |publisher=Springer Berlin Heidelberg |title=Numerical Methods in Finance |date=2012 |isbn=978-3-642-25745-2 |pages=3–49 |series=Springer Proceedings in Mathematics |volume=12 |author-first1=René |author-last1=Carmona |author-first2=Pierre |author-last2=Del Moral |author-first3=Peng |author-last3=Hu |author-first4=Nadia |author-last4=Oudjane |editor-first1=René A. |editor-last1=Carmona |editor-first2= Pierre Del |editor-last2=Moral |editor-first3=Peng |editor-last3=Hu |editor-first4=Nadia |display-editors=3 |editor-last4=Oudjane |doi=10.1007/978-3-642-25746-9_1 |citeseerx=10.1.1.359.7957}}</ref><ref name="kr11">{{cite book|author-last1=Kroese |author-first1=D. P. |author-last2=Taimre |author-first2=T. |author-last3=Botev |author-first3=Z. I. |title=Handbook of Monte Carlo Methods |year=2011 |publisher=John Wiley & Sons}}</ref> Additionally, they can be used to estimate the financial impact of medical interventions.<ref>{{cite journal |doi=10.1371/journal.pone.0189718 |pmid=29284026 |pmc=5746244 |title=A Monte Carlo simulation approach for estimating the health and economic impact of interventions provided at a student-run clinic |journal=[[PLOS ONE]] |volume=12 |issue=12 |pages=e0189718 |year=2017 |author-last1=Arenas |author-first1=Daniel J. |author-last2=Lett |author-first2=Lanair A. |author-last3=Klusaritz |author-first3=Heather |author-last4=Teitelman |author-first4=Anne M. |bibcode=2017PLoSO..1289718A |doi-access=free}}</ref>

===Law===
A Monte Carlo approach was used for evaluating the potential value of a proposed program to help female petitioners in Wisconsin be successful in their applications for [[Harassment Restraining Order|harassment]] and [[Domestic Abuse Restraining Order|domestic abuse restraining orders]]. It was proposed to help women succeed in their petitions by providing them with greater advocacy thereby potentially reducing the risk of [[rape]] and [[physical assault]]. However, there were many variables in play that could not be estimated perfectly, including the effectiveness of restraining orders, the success rate of petitioners both with and without advocacy, and many others. The study ran trials that varied these variables to come up with an overall estimate of the success level of the proposed program as a whole.<ref name="montecarloanalysis">{{cite web|url=http://legalaidresearch.org/wp-content/uploads/Research-Increasing-Access-to-REstraining-Order-for-Low-Income-Victims-of-DV-A-Cost-Benefit-Analysis-of-the-Proposed-Domestic-Abuse-Grant-Program.pdf |title=Increasing Access to Restraining Orders for Low Income Victims of Domestic Violence: A Cost-Benefit Analysis of the Proposed Domestic Abuse Grant Program |publisher=[[State Bar of Wisconsin]] |date=December 2006 |access-date=December 12, 2016 |author-last1=Elwart |author-first1=Liz |author-last2=Emerson |author-first2=Nina |author-last3=Enders |author-first3=Christina |author-last4=Fumia |author-first4=Dani |author-last5=Murphy |author-first5=Kevin |url-status=dead |archive-url=https://web.archive.org/web/20181106220526/https://legalaidresearch.org/wp-content/uploads/Research-Increasing-Access-to-REstraining-Order-for-Low-Income-Victims-of-DV-A-Cost-Benefit-Analysis-of-the-Proposed-Domestic-Abuse-Grant-Program.pdf |archive-date=November 6, 2018}}</ref>

===Library science===
Monte Carlo approach had also been used to simulate the number of book publications based on book [[Literary genre|genre]] in Malaysia. The Monte Carlo simulation utilized previous published National Book publication data and book's price according to book genre in the local market. The Monte Carlo results were used to determine what kind of book genre that Malaysians are fond of and was used to compare book publications between [[Malaysia]] and [[Japan]].<ref>{{Cite journal|author-last=Dahlan |author-first=Hadi Akbar |date=October 29, 2021 |title=Perbandingan Penerbitan dan Harga Buku Mengikut Genre di Malaysia dan Jepun Menggunakan Data Akses Terbuka dan Simulasi Monte Carlo |url=http://web.usm.my/km/39(2)2021/KM39022021_8.pdf |journal=Kajian Malaysia |volume=39 |issue=2 |pages=179–202 |doi=10.21315/km2021.39.2.8|s2cid=240435973 }}</ref>

===Other===
<!--From old version of [[Postmodernism generator]] page-->
[[Nassim Nicholas Taleb]] writes about Monte Carlo generators in his 2001 book ''[[Fooled by Randomness]]'' as a real instance of the [[reverse Turing test]]: a human can be declared unintelligent if their writing cannot be told apart from a generated one.

==Use in mathematics==
In general, the Monte Carlo methods are used in mathematics to solve various problems by generating suitable random numbers (see also [[Random number generation]]) and observing that fraction of the numbers that obeys some property or properties. The method is useful for obtaining numerical solutions to problems too complicated to solve analytically. The most common application of the Monte Carlo method is Monte Carlo integration.

=== Integration ===
{{Main|Monte Carlo integration}}

[[File:Monte-carlo2.gif|thumb|Monte-Carlo integration works by comparing random points with the value of the function.]]
[[File:Monte-Carlo method (errors).png|thumb|Errors reduce by a factor of <math>\scriptstyle 1/\sqrt{N}</math>.]]

Deterministic [[numerical integration]] algorithms work well in a small number of dimensions, but encounter two problems when the functions have many variables. First, the number of function evaluations needed increases rapidly with the number of dimensions. For example, if 10 evaluations provide adequate accuracy in one dimension, then [[googol|10<sup>100</sup>]] points are needed for 100 dimensions—far too many to be computed. This is called the [[curse of dimensionality]]. Second, the boundary of a multidimensional region may be very complicated, so it may not be feasible to reduce the problem to an [[iterated integral]].<ref name=Press>{{harvnb|Press|Teukolsky|Vetterling|Flannery|1996}}</ref> 100 [[dimension]]s is by no means unusual, since in many physical problems, a "dimension" is equivalent to a [[degrees of freedom (physics and chemistry)|degree of freedom]].

Monte Carlo methods provide a way out of this exponential increase in computation time. As long as the function in question is reasonably [[well-behaved]], it can be estimated by randomly selecting points in 100-dimensional space, and taking some kind of average of the function values at these points. By the [[central limit theorem]], this method displays <math>\scriptstyle 1/\sqrt{N}</math> convergence—i.e., quadrupling the number of sampled points halves the error, regardless of the number of dimensions.<ref name=Press/>

A refinement of this method, known as [[importance sampling]] in statistics, involves sampling the points randomly, but more frequently where the integrand is large. To do this precisely one would have to already know the integral, but one can approximate the integral by an integral of a similar function or use adaptive routines such as [[stratified sampling]], [[Monte Carlo integration#Recursive stratified sampling|recursive stratified sampling]], adaptive umbrella sampling<ref>{{cite journal|last=MEZEI|first=M|title=Adaptive umbrella sampling: Self-consistent determination of the non-Boltzmann bias|journal=Journal of Computational Physics|date=December 31, 1986|volume=68|issue=1|pages=237–248|doi=10.1016/0021-9991(87)90054-4|bibcode = 1987JCoPh..68..237M}}</ref><ref>{{cite journal|last1=Bartels|first1=Christian|last2=Karplus|first2=Martin|title=Probability Distributions for Complex Systems: Adaptive Umbrella Sampling of the Potential Energy|journal=The Journal of Physical Chemistry B|date=December 31, 1997|volume=102|issue=5|pages=865–880|doi=10.1021/jp972280j}}</ref> or the [[VEGAS algorithm]].

A similar approach, the [[quasi-Monte Carlo method]], uses [[low-discrepancy sequence]]s. These sequences "fill" the area better and sample the most important points more frequently, so quasi-Monte Carlo methods can often converge on the integral more quickly.

Another class of methods for sampling points in a volume is to simulate random walks over it ([[Markov chain Monte Carlo]]). Such methods include the [[Metropolis–Hastings algorithm]], [[Gibbs sampling]], [[Wang and Landau algorithm]], and interacting type MCMC methodologies such as the [[Particle filter|sequential Monte Carlo]] samplers.<ref>{{Cite journal|title = Sequential Monte Carlo samplers|journal = Journal of the Royal Statistical Society, Series B|doi=10.1111/j.1467-9868.2006.00553.x|volume=68|issue = 3|pages=411–436|year = 2006|last1 = Del Moral|first1 = Pierre|last2 = Doucet|first2 = Arnaud|last3 = Jasra|first3 = Ajay|arxiv = cond-mat/0212648|s2cid = 12074789}}</ref>

=== Simulation and optimization ===
{{Main|Stochastic optimization}}
Another powerful and very popular application for random numbers in numerical simulation is in [[Optimization (mathematics)|numerical optimization]]. The problem is to minimize (or maximize) functions of some vector that often has many dimensions. Many problems can be phrased in this way: for example, a [[computer chess]] program could be seen as trying to find the set of, say, 10 moves that produces the best evaluation function at the end. In the [[traveling salesman problem]] the goal is to minimize distance traveled. There are also applications to engineering design, such as [[multidisciplinary design optimization]]. It has been applied with quasi-one-dimensional models to solve particle dynamics problems by efficiently exploring large configuration space. Reference<ref>Spall, J. C. (2003), ''Introduction to Stochastic Search and Optimization: Estimation, Simulation, and Control'', Wiley, Hoboken, NJ. http://www.jhuapl.edu/ISSO</ref> is a comprehensive review of many issues related to simulation and optimization.

The [[traveling salesman problem]] is what is called a conventional optimization problem. That is, all the facts (distances between each destination point) needed to determine the optimal path to follow are known with certainty and the goal is to run through the possible travel choices to come up with the one with the lowest total distance. If instead of the goal being to minimize the total distance traveled to visit each desired destination but rather to minimize the total time needed to reach each destination, this goes beyond conventional optimization since travel time is inherently uncertain (traffic jams, time of day, etc.). As a result, to determine the optimal path a different simulation is required: optimization to first understand the range of potential times it could take to go from one point to another (represented by a probability distribution in this case rather than a specific distance) and then optimize the travel decisions to identify the best path to follow taking that uncertainty into account.

===Inverse problems===
Probabilistic formulation of [[inverse problem]]s leads to the definition of a [[probability distribution]] in the model space. This probability distribution combines [[prior probability|prior]] information with new information obtained by measuring some observable parameters (data).
As, in the general case, the theory linking data with model parameters is nonlinear, the posterior probability in the model space may not be easy to describe (it may be multimodal, some moments may not be defined, etc.).

When analyzing an inverse problem, obtaining a maximum likelihood model is usually not sufficient, as normally information on the resolution power of the data is desired. In the general case many parameters are modeled, and an inspection of the [[marginal probability]] densities of interest may be impractical, or even useless. But it is possible to pseudorandomly generate a large collection of models according to the [[posterior probability distribution]] and to analyze and display the models in such a way that information on the relative likelihoods of model properties is conveyed to the spectator. This can be accomplished by means of an efficient Monte Carlo method, even in cases where no explicit formula for the ''a priori'' distribution is available.

The best-known importance sampling method, the Metropolis algorithm, can be generalized, and this gives a method that allows analysis of (possibly highly nonlinear) inverse problems with complex ''a priori'' information and data with an arbitrary noise distribution.<ref>{{harvnb|Mosegaard|Tarantola|1995}}</ref><ref>{{harvnb|Tarantola|2005}}</ref>

===Philosophy===
Popular exposition of the Monte Carlo Method was conducted by McCracken.<ref>McCracken, D. D., (1955) The Monte Carlo Method, Scientific American, 192(5), pp. 90-97</ref> The method's general philosophy was discussed by [[Elishakoff]]<ref>Elishakoff, I., (2003) Notes on Philosophy of the Monte Carlo Method, International Applied Mechanics, 39(7), pp.753-762</ref> and Grüne-Yanoff and Weirich.<ref>Grüne-Yanoff, T., & Weirich, P. (2010). The philosophy and epistemology of simulation: A review, Simulation & Gaming, 41(1), pp. 20-50</ref>

== See also ==
{{Portal|Mathematics}}

{{Div col|colwidth=30em}}
* [[Auxiliary-field Monte Carlo]]
* [[Biology Monte Carlo method]]
* [[Direct simulation Monte Carlo]]
* [[Dynamic Monte Carlo method]]
* [[Ergodic theory|Ergodicity]]
* [[Genetic algorithms]]
* [[Kinetic Monte Carlo]]
* [[List of software for Monte Carlo molecular modeling]]
* [[Mean-field particle methods]]
* [[Monte Carlo method for photon transport]]
* [[Monte Carlo methods for electron transport]]
* [[Monte Carlo N-Particle Transport Code]]
* [[Morris method]]
* [[Multilevel Monte Carlo method]]
* [[Quasi-Monte Carlo method]]
* [[Sobol sequence]]
* [[Temporal difference learning]]
{{div col end}}

== References ==
=== Citations ===
{{Reflist}}

=== Sources ===
{{refbegin}}
* {{cite journal |first = Herbert L. |last = Anderson |author-link = Herbert L. Anderson |url = http://library.lanl.gov/cgi-bin/getfile?00326886.pdf |title = Metropolis, Monte Carlo and the MANIAC |journal = [[Los Alamos Science]] |volume = 14 |pages = 96–108 |year = 1986 }}
* {{cite journal |last = Benov |first = Dobriyan M. |title=The Manhattan Project, the first electronic computer and the Monte Carlo method |journal = Monte Carlo Methods and Applications |volume = 22 |issue = 1 |pages = 73–79 |year=2016 |doi=10.1515/mcma-2016-0102 |s2cid = 30198383 }}
* {{cite journal |first=Stephan A. |last=Baeurle |title = Multiscale modeling of polymer materials using field-theoretic methodologies: A survey about recent developments |journal = Journal of Mathematical Chemistry|volume=46 |issue=2 |pages=363–426 |year=2009 |doi = 10.1007/s10910-008-9467-3 |s2cid=117867762 }}
* {{cite book |title = Markov Chain Monte Carlo Simulations and Their Statistical Analysis (With Web-Based Fortran Code) |last=Berg |first=Bernd A. |year=2004 |publisher=World Scientific |location=Hackensack, NJ |isbn=978-981-238-935-0 }}
* {{cite book |title=The Monte Carlo Method in Condensed Matter Physics |last=Binder |first=Kurt |author-link=Kurt Binder |year=1995 |publisher=Springer |location=New York |isbn=978-0-387-54369-7 }}
* {{cite book |title = Monte Carlo and quasi-Monte Carlo methods |last=Caflisch |first=R. E. |author-link=Russel E. Caflisch |year=1998 |series = Acta Numerica |volume=7 |publisher=Cambridge University Press |pages=1–49 }}
* {{cite book |last = Davenport |first=J. H. |title=Papers from the international symposium on Symbolic and algebraic computation - ISSAC '92 |chapter=Primality testing revisited |pages=123–129 |doi = 10.1145/143242.143290 |isbn = 978-0-89791-489-5 |year=1992 |citeseerx=10.1.1.43.9296 |s2cid=17322272 }}
* {{cite book |title=Sequential Monte Carlo methods in practice |last1=Doucet |first1=Arnaud |last2=Freitas |first2=Nando de |last3=Gordon |first3=Neil |year=2001 |publisher=Springer |location=New York |isbn=978-0-387-95146-1 }}
* {{cite journal |last = Eckhardt |first = Roger |year = 1987 |title = Stan Ulam, John von Neumann, and the Monte Carlo method |journal = Los Alamos Science |issue = 15 |pages = 131–137 |url = http://library.lanl.gov/cgi-bin/getfile?15-13.pdf }}
* {{cite book |title=Monte Carlo: Concepts, Algorithms, and Applications |last=Fishman |first=G. S. |year=1995 |publisher=Springer |location=New York |isbn = 978-0-387-94527-9 }}
* {{cite journal |title = A Monte Carlo tool to simulate breast cancer screening programmes | author = C. Forastero and L. Zamora and D. Guirado and A. Lallena |journal = Phys. Med. Biol. |volume = 55 |issue = 17 |pages = 5213–5229 |year = 2010 |doi = 10.1088/0031-9155/55/17/021 |pmid = 20714045 |bibcode = 2010PMB....55.5213F | s2cid = 30021759 }}
* {{cite journal |first = Leslie M. |last = Golden |title = The Effect of Surface Roughness on the Transmission of Microwave Radiation Through a Planetary Surface |journal = [[Icarus (journal)|Icarus]] |volume = 38 |year = 1979 |pages = 451–455 |bibcode = 1979Icar...38..451G |doi = 10.1016/0019-1035(79)90199-4 |issue = 3 }}
* {{cite book |title = An Introduction to Computer Simulation Methods, Part 2, Applications to Physical Systems |last1 = Gould |first1 = Harvey |last2=Tobochnik |first2=Jan |year=1988 |publisher=Addison-Wesley |location = Reading |isbn=978-0-201-16504-3 }}
* {{cite book |first1=Charles |last1=Grinstead |first2=J. Laurie |last2=Snell |title=Introduction to Probability |url=https://archive.org/details/flooved3489 |pages=[https://archive.org/details/flooved3489/page/n19 10]–11 |publisher=[[American Mathematical Society]] |year=1997 }}
* {{cite book |title = Monte Carlo Methods |last1 = Hammersley |first1=J. M. |last2=Handscomb |first2=D. C. |year=1975 |publisher=Methuen |location=London |isbn=978-0-416-52340-9 }}
* {{cite book |last=Hartmann |first=A.K. |year=2009 |title=Practical Guide to Computer Simulations |publisher=World Scientific |isbn=978-981-283-415-7 |url=http://www.worldscibooks.com/physics/6988.html |archive-url=https://web.archive.org/web/20090211113048/http://worldscibooks.com/physics/6988.html |url-status=dead |archive-date=February 11, 2009 }}
* {{cite book |first=Douglas |last=Hubbard |title=How to Measure Anything: Finding the Value of Intangibles in Business |url=https://archive.org/details/howtomeasureanyt00hubb_773 |url-access=limited |page=[https://archive.org/details/howtomeasureanyt00hubb_773/page/n64 46] |publisher=[[John Wiley & Sons]] |year=2007 |isbn=9780470110126 }}
* {{cite book |first=Douglas |last=Hubbard |title=The Failure of Risk Management: Why It's Broken and How to Fix It |publisher= [[John Wiley & Sons]] |year=2009 }}
* {{cite book |title=Judgement under Uncertainty: Heuristics and Biases |last1 = Kahneman |first1 = D. |last2=Tversky |first2 = A. |year=1982 |publisher=Cambridge University Press }}
* {{cite book |first1=Malvin H. |last1=Kalos |first2=Paula A. |last2=Whitlock |title=Monte Carlo Methods |publisher=[[Wiley-VCH]] |year=2008 |isbn=978-3-527-40760-6 }}
* {{cite book |title=Handbook of Monte Carlo Methods |last1=Kroese |first1=D. P. |last2=Taimre |first2=T. |last3=Botev |first3=Z.I. |year=2011 |publisher=[[John Wiley & Sons]] |location=New York |isbn=978-0-470-17793-8 |page=772 |url=http://www.montecarlohandbook.org }}
* {{cite journal |first1 = H. T.|last1 = MacGillivray |first2 = R. J. |last2=Dodd |title=Monte-Carlo simulations of galaxy systems |journal=[[Astrophysics and Space Science]] |volume = 86 |issue= 2 |pages= 419–435 |year= 1982 |doi = 10.1007/BF00683346 |s2cid = 189849365 }}
* {{cite book |title=Stochastic Simulation in Physics |last=MacKeown |first = P. Kevin |year=1997 |publisher=Springer |location=New York |isbn=978-981-3083-26-4 }}
* {{cite journal |last = Metropolis |first = N. |author-link = Nicholas Metropolis |url = http://library.lanl.gov/cgi-bin/getfile?15-12.pdf |title = The beginning of the Monte Carlo method |journal = Los Alamos Science |issue = 1987 Special Issue dedicated to Stanislaw Ulam |pages = 125–130 |year = 1987 }}
* {{cite journal |last1 = Metropolis |first1 = N. |author1-link = Nicholas Metropolis |last2=Rosenbluth |first2=Arianna W.|last3=Rosenbluth |first3=Marshall N. |last4=Teller |first4=Augusta H. |last5=Teller |first5=Edward |year=1953 |title=Equation of State Calculations by Fast Computing Machines |journal=Journal of Chemical Physics |volume=21 |issue=6 |page=1087 |doi = 10.1063/1.1699114 |bibcode = 1953JChPh..21.1087M |title-link = Equation of State Calculations by Fast Computing Machines |osti = 4390578 |s2cid = 1046577 }}
* {{cite journal |last1 = Metropolis |first1 = N. |author1-link = Nicholas Metropolis |last2 = Ulam |first2 = S. |author-link2=Stanislaw Ulam |year=1949 |title = The Monte Carlo Method |journal = Journal of the American Statistical Association |volume=44 |issue=247 |pages=335–341 |doi = 10.1080/01621459.1949.10483310 |pmid=18139350 |jstor=2280232 }}
* {{cite journal |doi = 10.1002/prot.340150104 |title = Insertion of peptide chains into lipid membranes: an off-lattice Monte Carlo dynamics model |first1 = M. |last1 = Milik |first2 = J. |last2 = Skolnick |journal = Proteins |volume = 15 |issue = 1 |pages = 10–25 |date = Jan 1993 |pmid = 8451235 |s2cid = 7450512 }}
* {{cite journal |last1 = Mosegaard |first1 = Klaus |last2 = Tarantola |first2 = Albert |year = 1995 |title = Monte Carlo sampling of solutions to inverse problems |journal = J. Geophys. Res. |volume = 100 |number = B7 |pages = 12431–12447 |doi = 10.1029/94JB03097 |url = http://www.math.pitt.edu/~cbsg/Materials/MonteCarlo_latex.pdf |bibcode = 1995JGR...10012431M |access-date = November 1, 2017 |archive-date = March 10, 2021 |archive-url = https://web.archive.org/web/20210310023658/http://www.math.pitt.edu/~cbsg/Materials/MonteCarlo_latex.pdf |url-status = dead }}
* {{cite journal |title = Monte Carlo Simulations of Proteins in Cages: Influence of Confinement on the Stability of Intermediate States |first1=P. |last1=Ojeda |first2=M. |last2=Garcia |first3=A. |last3=Londono |first4=N.Y. |last4=Chen |journal = Biophys. J. |volume = 96 |issue = 3 |pages = 1076–1082 |date=Feb 2009 |doi = 10.1529/biophysj.107.125369 |pmid = 18849410 |pmc = 2716574 |bibcode = 2009BpJ....96.1076O }}
* {{cite journal |doi=10.1504/IJVD.2001.001963 |last1 = Int Panis |first1 = L. |last2 = De Nocker |first2 = L. |last3 = De Vlieger |first3 = I. |last4= Torfs |first4=R. |year=2001 |title=Trends and uncertainty in air pollution impacts and external costs of Belgian passenger car traffic|journal= International Journal of Vehicle Design |volume=27 |issue=1–4 |pages=183–194 }}
* {{cite journal |last1 = Int Panis |first1 = L. |last2 = Rabl |first2 = A. |last3 = De Nocker |first3 = L. |last4 = Torfs |first4 = R. |year = 2002 |title = Diesel or Petrol ? An environmental comparison hampered by uncertainty |journal = Mitteilungen Institut für Verbrennungskraftmaschinen und Thermodynamik |editor-first = P. |editor-last = Sturm |publisher = Technische Universität Graz Austria |volume = Heft 81 Vol 1 |pages = 48–54 }}
* {{cite book |last1 = Press |first1 = William H. |last2 = Teukolsky |first2 = Saul A. |last3 = Vetterling |first3 = William T. |last4 = Flannery |first4 = Brian P. |title = Numerical Recipes in Fortran 77: The Art of Scientific Computing |edition = 2nd |series = Fortran Numerical Recipes |volume = 1 |year = 1996 |orig-year = 1986 |publisher = [[Cambridge University Press]] |isbn=978-0-521-43064-7 }}
* {{cite book |last = Ripley |first = B. D. |title = Stochastic Simulation |publisher = [[Wiley & Sons]] |year=1987 }}
* {{cite book |title=Monte Carlo Statistical Methods |last1=Robert |first1=C. |last2=Casella |first2=G. |year=2004 |edition=2nd |publisher=Springer |location=New York |isbn=978-0-387-21239-5 |url=https://archive.org/details/springer_10.1007-978-1-4757-4145-2 }}
* {{cite book |title = Simulation and the Monte Carlo Method |last1 = Rubinstein |first1 = R. Y. |last2 = Kroese |first2 = D. P. |year=2007 |edition=2nd |publisher = John Wiley & Sons |location=New York |isbn = 978-0-470-17793-8 }}
* {{cite journal |last = Savvides |first = Savvakis C. |title = Risk Analysis in Investment Appraisal |journal = Project Appraisal Journal |year = 1994 |volume = 9 |issue = 1 |doi = 10.2139/ssrn.265905 |s2cid = 2809643 |url = https://mpra.ub.uni-muenchen.de/10035/1/MPRA_paper_10035.pdf }}
* {{cite book |last1=Sawilowsky |first1=Shlomo S. |last2=Fahoome |first2=Gail C. |year=2003 |title=Statistics via Monte Carlo Simulation with Fortran |location=Rochester Hills, MI |publisher=JMASM |isbn=978-0-9740236-0-1}}
* {{cite journal |last=Sawilowsky |first=Shlomo S. |title=You think you've got trivials? |journal=[[Journal of Modern Applied Statistical Methods]] |volume=2 |issue=1 |pages=218–225 |year=2003 |doi=10.22237/jmasm/1051748460 |doi-access=free |url=https://digitalcommons.wayne.edu/cgi/viewcontent.cgi?article=1744&context=jmasm }}
* {{cite conference |conference=Neural Information Processing Systems 2010 |last1=Silver |first1=David |last2=Veness |first2=Joel |year=2010 |title=Monte-Carlo Planning in Large POMDPs |editor1-last=Lafferty |editor1-first=J. |editor2-last=Williams |editor2-first=C. K. I. |editor3-last=Shawe-Taylor |editor3-first=J. |editor4-last=Zemel |editor4-first=R. S. |editor5-last=Culotta |editor5-first=A. |book-title=Advances in Neural Information Processing Systems 23 |publisher=Neural Information Processing Systems Foundation |url=http://books.nips.cc/papers/files/nips23/NIPS2010_0740.pdf |access-date=March 15, 2011 |archive-date=May 25, 2012 |archive-url=https://web.archive.org/web/20120525143936/http://books.nips.cc/papers/files/nips23/NIPS2010_0740.pdf |url-status=dead }}
* {{cite book |first=László |last=Szirmay-Kalos |title=Monte Carlo Methods in Global Illumination - Photo-realistic Rendering with Randomization |publisher=VDM Verlag Dr. Mueller e.K. |year=2008 |isbn=978-3-8364-7919-6}}
* {{cite book |title = Inverse Problem Theory |last = Tarantola |first = Albert |author-link = Albert Tarantola |year = 2005 |publisher = Society for Industrial and Applied Mathematics |location = Philadelphia |isbn = 978-0-89871-572-9 |url = http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/SIAM/index.html }}
* {{cite book |first=David |last=Vose |title=Risk Analysis, A Quantitative Guide |edition=3rd |publisher=[[John Wiley & Sons]] |year=2008 |isbn=9780470512845}}
* {{cite book |last1 = Mazhdrakov |first1 = Metodi |last2 = Benov |first2 = Dobriyan |last3 = Valkanov |first3 = Nikolai |year = 2018 |title = The Monte Carlo Method. Engineering Applications |publisher = ACMO Academic Press |isbn = 978-619-90684-3-4 |url = https://books.google.com/books?id=t0BqDwAAQBAJ&q=the+monte+carlo+method+engineering+applications+mazhdrakov }}
{{refend}}

== External links ==
* {{Commons category-inline|Monte Carlo method}}
<!--======================== {{No more links}} ============================
| PLEASE BE CAUTIOUS IN ADDING MORE LINKS TO THIS ARTICLE. Wikipedia |
| is not a collection of links nor should it be used for advertising. |
| |
| Excessive or inappropriate links WILL BE DELETED. |
| See [[Wikipedia:External links]] & [[Wikipedia:Spam]] for details. |
| |
| If there are already plentiful links, please propose additions or |
| replacements on this article's discussion page, or submit your link |
| to the relevant category at the Open Directory Project (dmoz.org) |
| and link back to that category using the {{dmoz}} template. |
======================= {{No more links}} =============================-->

{{Clear}}
{{Statistics}}

{{Authority control}}


[[Category:Monte Carlo methods| ]]
[[Category:Monte Carlo methods| ]]
[[Category:Randomness]]
[[Category:Algorithms]]
[[Category:Numerical analysis]]
[[Category:Numerical analysis]]
[[Category:Statistical mechanics]]
[[Category:Statistical mechanics]]
[[Category:Computational physics]]
[[Category:Computational physics]]
[[Category:Sampling techniques]]

[[Category:Statistical approximations]]
[[cs:Metoda Monte Carlo]]
[[Category:Stochastic simulation]]
[[da:Monte Carlo-metoder]]
[[Category:Randomized algorithms]]
[[de:Monte-Carlo-Algorithmus]]
[[Category:Risk analysis methodologies]]
[[es:Método de Monte Carlo]]
[[fr:Méthode de Monte-Carlo]]
[[ko:몬테카를로 방법]]
[[id:Metode Monte Carlo]]
[[it:Metodo Monte Carlo]]
[[he:שיטת מונטה קרלו]]
[[nl:Monte-Carlosimulatie]]
[[ja:モンテカルロ法]]
[[pl:Metoda Monte Carlo]]
[[pt:Método Monte Carlo]]
[[ru:Метод Монте-Карло]]
[[su:Metoda Monte Carlo]]
[[vi:Phương pháp Monte Carlo]]
[[zh:蒙特·卡罗方法]]

Latest revision as of 09:53, 11 December 2024

The approximation of a normal distribution with a Monte Carlo method

Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be deterministic in principle. The name comes from the Monte Carlo Casino in Monaco, where the primary developer of the method, mathematician Stanisław Ulam, was inspired by his uncle's gambling habits.

Monte Carlo methods are mainly used in three distinct problem classes: optimization, numerical integration, and generating draws from a probability distribution. They can also be used to model phenomena with significant uncertainty in inputs, such as calculating the risk of a nuclear power plant failure. Monte Carlo methods are often implemented using computer simulations, and they can provide approximate solutions to problems that are otherwise intractable or too complex to analyze mathematically.

Monte Carlo methods are widely used in various fields of science, engineering, and mathematics, such as physics, chemistry, biology, statistics, artificial intelligence, finance, and cryptography. They have also been applied to social sciences, such as sociology, psychology, and political science. Monte Carlo methods have been recognized as one of the most important and influential ideas of the 20th century, and they have enabled many scientific and technological breakthroughs.

Monte Carlo methods also have some limitations and challenges, such as the trade-off between accuracy and computational cost, the curse of dimensionality, the reliability of random number generators, and the verification and validation of the results.

Overview

[edit]

Monte Carlo methods vary, but tend to follow a particular pattern:

  1. Define a domain of possible inputs
  2. Generate inputs randomly from a probability distribution over the domain
  3. Perform a deterministic computation of the outputs
  4. Aggregate the results
Monte Carlo method applied to approximating the value of π

For example, consider a quadrant (circular sector) inscribed in a unit square. Given that the ratio of their areas is π/4, the value of π can be approximated using a Monte Carlo method:[1]

  1. Draw a square, then inscribe a quadrant within it
  2. Uniformly scatter a given number of points over the square
  3. Count the number of points inside the quadrant, i.e. having a distance from the origin of less than 1
  4. The ratio of the inside-count and the total-sample-count is an estimate of the ratio of the two areas, π/4. Multiply the result by 4 to estimate π.

In this procedure the domain of inputs is the square that circumscribes the quadrant. One can generate random inputs by scattering grains over the square then perform a computation on each input (test whether it falls within the quadrant). Aggregating the results yields our final result, the approximation of π.

There are two important considerations:

  1. If the points are not uniformly distributed, then the approximation will be poor.
  2. The approximation is generally poor if only a few points are randomly placed in the whole square. On average, the approximation improves as more points are placed.

Uses of Monte Carlo methods require large amounts of random numbers, and their use benefitted greatly from pseudorandom number generators, which are far quicker to use than the tables of random numbers that had been previously used for statistical sampling.

Application

[edit]

Monte Carlo methods are often used in physical and mathematical problems and are most useful when it is difficult or impossible to use other approaches. Monte Carlo methods are mainly used in three problem classes:[2] optimization, numerical integration, and generating draws from a probability distribution.

In physics-related problems, Monte Carlo methods are useful for simulating systems with many coupled degrees of freedom, such as fluids, disordered materials, strongly coupled solids, and cellular structures (see cellular Potts model, interacting particle systems, McKean–Vlasov processes, kinetic models of gases).

Other examples include modeling phenomena with significant uncertainty in inputs such as the calculation of risk in business and, in mathematics, evaluation of multidimensional definite integrals with complicated boundary conditions. In application to systems engineering problems (space, oil exploration, aircraft design, etc.), Monte Carlo–based predictions of failure, cost overruns and schedule overruns are routinely better than human intuition or alternative "soft" methods.[3]

In principle, Monte Carlo methods can be used to solve any problem having a probabilistic interpretation. By the law of large numbers, integrals described by the expected value of some random variable can be approximated by taking the empirical mean (a.k.a. the 'sample mean') of independent samples of the variable. When the probability distribution of the variable is parameterized, mathematicians often use a Markov chain Monte Carlo (MCMC) sampler.[4][5][6] The central idea is to design a judicious Markov chain model with a prescribed stationary probability distribution. That is, in the limit, the samples being generated by the MCMC method will be samples from the desired (target) distribution.[7][8] By the ergodic theorem, the stationary distribution is approximated by the empirical measures of the random states of the MCMC sampler.

In other problems, the objective is generating draws from a sequence of probability distributions satisfying a nonlinear evolution equation. These flows of probability distributions can always be interpreted as the distributions of the random states of a Markov process whose transition probabilities depend on the distributions of the current random states (see McKean–Vlasov processes, nonlinear filtering equation).[9][10] In other instances, a flow of probability distributions with an increasing level of sampling complexity arise (path spaces models with an increasing time horizon, Boltzmann–Gibbs measures associated with decreasing temperature parameters, and many others). These models can also be seen as the evolution of the law of the random states of a nonlinear Markov chain.[10][11] A natural way to simulate these sophisticated nonlinear Markov processes is to sample multiple copies of the process, replacing in the evolution equation the unknown distributions of the random states by the sampled empirical measures. In contrast with traditional Monte Carlo and MCMC methodologies, these mean-field particle techniques rely on sequential interacting samples. The terminology mean field reflects the fact that each of the samples (a.k.a. particles, individuals, walkers, agents, creatures, or phenotypes) interacts with the empirical measures of the process. When the size of the system tends to infinity, these random empirical measures converge to the deterministic distribution of the random states of the nonlinear Markov chain, so that the statistical interaction between particles vanishes.

Simple Monte Carlo

[edit]

Suppose one wants to know the expected value μ of a population (and knows that μ exists), but does not have a formula available to compute it. The simple Monte Carlo method gives an estimate for μ by running n simulations and averaging the simulations’ results. It has no restrictions on the probability distribution of the inputs to the simulations, requiring only that the inputs are randomly generated and are independent of each other and that μ exists. A sufficiently large n will produce a value for m that is arbitrarily close to μ; more formally, it will be the case that, for any ε > 0, |μm| ≤ ε.[12]

Typically, the algorithm to obtain m is

s = 0; 
for i = 1 to n do
   run the simulation for the ith time, giving result ri;
   s = s + ri;
repeat
m = s / n;

An example

[edit]

Suppose we want to know how many times we should expect to throw three eight-sided dice for the total of the dice throws to be at least T. We know the expected value exists. The dice throws are randomly distributed and independent of each other. So simple Monte Carlo is applicable:

s = 0; 
for i = 1 to n do
   throw the three dice until T is met or first exceeded; ri = the number of throws;
   s = s + ri;
repeat
m = s / n;

If n is large enough, m will be within ε of μ for any ε > 0.

Determining a sufficiently large n

[edit]

General formula

[edit]

Let ε = |μm| > 0. Choose the desired confidence level – the percent chance that, when the Monte Carlo algorithm completes, m is indeed within ε of μ. Let z be the z-score corresponding to that confidence level.

Let s2 be the estimated variance, sometimes called the “sample” variance; it is the variance of the results obtained from a relatively small number k of “sample” simulations. Choose a k; Driels and Shin observe that “even for sample sizes an order of magnitude lower than the number required, the calculation of that number is quite stable."[13]

The following algorithm computes s2 in one pass while minimizing the possibility that accumulated numerical error produces erroneous results:[12]

s1 = 0; 
run the simulation for the first time, producing result r1;
m1 = r1; //mi is the mean of the first i simulations
for i = 2 to k do
   run the simulation for the ith time, producing result ri;
   δi = ri - mi-1;
   mi = mi-1 + (1/i)δi;
   si = si-1 + ((i - 1)/i)(δi)2;
repeat
s2 = sk/(k - 1);

Note that, when the algorithm completes, mk is the mean of the k results.

n is sufficiently large when

[12][13]

If nk, then mk = m; sufficient sample simulations were done to ensure that mk is within ε of μ. If n > k, then n simulations can be run “from scratch,” or, since k simulations have already been done, one can just run nk more simulations and add their results into those from the sample simulations:

s = mk * k; 
for i = k + 1 to n do
   run the simulation for the ith time, giving result ri;
   s = s + ri;
m = s / n;

A formula when simulations' results are bounded

[edit]

An alternate formula can be used in the special case where all simulation results are bounded above and below.

Choose a value for ε that is twice the maximum allowed difference between μ and m. Let 0 < δ < 100 be the desired confidence level, expressed as a percentage. Let every simulation result r1, r2, …ri, … rn be such that arib for finite a and b. To have confidence of at least δ that |μm| < ε/2, use a value for n such that

For example, if δ = 99%, then n ≥ 2(ba )2ln(2/0.01)/ε2 ≈ 10.6(ba )2/ε2.[12]

Computational costs

[edit]

Despite its conceptual and algorithmic simplicity, the computational cost associated with a Monte Carlo simulation can be staggeringly high. In general the method requires many samples to get a good approximation, which may incur an arbitrarily large total runtime if the processing time of a single sample is high.[14] Although this is a severe limitation in very complex problems, the embarrassingly parallel nature of the algorithm allows this large cost to be reduced (perhaps to a feasible level) through parallel computing strategies in local processors, clusters, cloud computing, GPU, FPGA, etc.[15][16][17][18]

History

[edit]

Before the Monte Carlo method was developed, simulations tested a previously understood deterministic problem, and statistical sampling was used to estimate uncertainties in the simulations. Monte Carlo simulations invert this approach, solving deterministic problems using probabilistic metaheuristics (see simulated annealing).

An early variant of the Monte Carlo method was devised to solve the Buffon's needle problem, in which π can be estimated by dropping needles on a floor made of parallel equidistant strips. In the 1930s, Enrico Fermi first experimented with the Monte Carlo method while studying neutron diffusion, but he did not publish this work.[19]

In the late 1940s, Stanisław Ulam invented the modern version of the Markov Chain Monte Carlo method while he was working on nuclear weapons projects at the Los Alamos National Laboratory. In 1946, nuclear weapons physicists at Los Alamos were investigating neutron diffusion in the core of a nuclear weapon.[19] Despite having most of the necessary data, such as the average distance a neutron would travel in a substance before it collided with an atomic nucleus and how much energy the neutron was likely to give off following a collision, the Los Alamos physicists were unable to solve the problem using conventional, deterministic mathematical methods. Ulam proposed using random experiments. He recounts his inspiration as follows:

The first thoughts and attempts I made to practice [the Monte Carlo Method] were suggested by a question which occurred to me in 1946 as I was convalescing from an illness and playing solitaires. The question was what are the chances that a Canfield solitaire laid out with 52 cards will come out successfully? After spending a lot of time trying to estimate them by pure combinatorial calculations, I wondered whether a more practical method than "abstract thinking" might not be to lay it out say one hundred times and simply observe and count the number of successful plays. This was already possible to envisage with the beginning of the new era of fast computers, and I immediately thought of problems of neutron diffusion and other questions of mathematical physics, and more generally how to change processes described by certain differential equations into an equivalent form interpretable as a succession of random operations. Later [in 1946], I described the idea to John von Neumann, and we began to plan actual calculations.[20]

Being secret, the work of von Neumann and Ulam required a code name.[21] A colleague of von Neumann and Ulam, Nicholas Metropolis, suggested using the name Monte Carlo, which refers to the Monte Carlo Casino in Monaco where Ulam's uncle would borrow money from relatives to gamble.[19] Monte Carlo methods were central to the simulations required for further postwar development of nuclear weapons, including the design of the H-bomb, though severely limited by the computational tools at the time. Von Neumann, Nicholas Metropolis and others programmed the ENIAC computer to perform the first fully automated Monte Carlo calculations, of a fission weapon core, in the spring of 1948.[22] In the 1950s Monte Carlo methods were used at Los Alamos for the development of the hydrogen bomb, and became popularized in the fields of physics, physical chemistry, and operations research. The Rand Corporation and the U.S. Air Force were two of the major organizations responsible for funding and disseminating information on Monte Carlo methods during this time, and they began to find a wide application in many different fields.

The theory of more sophisticated mean-field type particle Monte Carlo methods had certainly started by the mid-1960s, with the work of Henry P. McKean Jr. on Markov interpretations of a class of nonlinear parabolic partial differential equations arising in fluid mechanics.[23][24] An earlier pioneering article by Theodore E. Harris and Herman Kahn, published in 1951, used mean-field genetic-type Monte Carlo methods for estimating particle transmission energies.[25] Mean-field genetic type Monte Carlo methodologies are also used as heuristic natural search algorithms (a.k.a. metaheuristic) in evolutionary computing. The origins of these mean-field computational techniques can be traced to 1950 and 1954 with the work of Alan Turing on genetic type mutation-selection learning machines[26] and the articles by Nils Aall Barricelli at the Institute for Advanced Study in Princeton, New Jersey.[27][28]

Quantum Monte Carlo, and more specifically diffusion Monte Carlo methods can also be interpreted as a mean-field particle Monte Carlo approximation of FeynmanKac path integrals.[29][30][31][32][33][34][35] The origins of Quantum Monte Carlo methods are often attributed to Enrico Fermi and Robert Richtmyer who developed in 1948 a mean-field particle interpretation of neutron-chain reactions,[36] but the first heuristic-like and genetic type particle algorithm (a.k.a. Resampled or Reconfiguration Monte Carlo methods) for estimating ground state energies of quantum systems (in reduced matrix models) is due to Jack H. Hetherington in 1984.[35] In molecular chemistry, the use of genetic heuristic-like particle methodologies (a.k.a. pruning and enrichment strategies) can be traced back to 1955 with the seminal work of Marshall N. Rosenbluth and Arianna W. Rosenbluth.[37]

The use of Sequential Monte Carlo in advanced signal processing and Bayesian inference is more recent. It was in 1993, that Gordon et al., published in their seminal work[38] the first application of a Monte Carlo resampling algorithm in Bayesian statistical inference. The authors named their algorithm 'the bootstrap filter', and demonstrated that compared to other filtering methods, their bootstrap algorithm does not require any assumption about that state-space or the noise of the system. Another pioneering article in this field was Genshiro Kitagawa's, on a related "Monte Carlo filter",[39] and the ones by Pierre Del Moral[40] and Himilcon Carvalho, Pierre Del Moral, André Monin and Gérard Salut[41] on particle filters published in the mid-1990s. Particle filters were also developed in signal processing in 1989–1992 by P. Del Moral, J. C. Noyer, G. Rigal, and G. Salut in the LAAS-CNRS in a series of restricted and classified research reports with STCAN (Service Technique des Constructions et Armes Navales), the IT company DIGILOG, and the LAAS-CNRS (the Laboratory for Analysis and Architecture of Systems) on radar/sonar and GPS signal processing problems.[42][43][44][45][46][47] These Sequential Monte Carlo methodologies can be interpreted as an acceptance-rejection sampler equipped with an interacting recycling mechanism.

From 1950 to 1996, all the publications on Sequential Monte Carlo methodologies, including the pruning and resample Monte Carlo methods introduced in computational physics and molecular chemistry, present natural and heuristic-like algorithms applied to different situations without a single proof of their consistency, nor a discussion on the bias of the estimates and on genealogical and ancestral tree based algorithms. The mathematical foundations and the first rigorous analysis of these particle algorithms were written by Pierre Del Moral in 1996.[40][48]

Branching type particle methodologies with varying population sizes were also developed in the end of the 1990s by Dan Crisan, Jessica Gaines and Terry Lyons,[49][50][51] and by Dan Crisan, Pierre Del Moral and Terry Lyons.[52] Further developments in this field were described in 1999 to 2001 by P. Del Moral, A. Guionnet and L. Miclo.[30][53][54]

Definitions

[edit]

There is no consensus on how Monte Carlo should be defined. For example, Ripley[55] defines most probabilistic modeling as stochastic simulation, with Monte Carlo being reserved for Monte Carlo integration and Monte Carlo statistical tests. Sawilowsky[56] distinguishes between a simulation, a Monte Carlo method, and a Monte Carlo simulation: a simulation is a fictitious representation of reality, a Monte Carlo method is a technique that can be used to solve a mathematical or statistical problem, and a Monte Carlo simulation uses repeated sampling to obtain the statistical properties of some phenomenon (or behavior).

Here are some examples:

  • Simulation: Drawing one pseudo-random uniform variable from the interval [0,1] can be used to simulate the tossing of a coin: If the value is less than or equal to 0.50 designate the outcome as heads, but if the value is greater than 0.50 designate the outcome as tails. This is a simulation, but not a Monte Carlo simulation.
  • Monte Carlo method: Pouring out a box of coins on a table, and then computing the ratio of coins that land heads versus tails is a Monte Carlo method of determining the behavior of repeated coin tosses, but it is not a simulation.
  • Monte Carlo simulation: Drawing a large number of pseudo-random uniform variables from the interval [0,1] at one time, or once at many different times, and assigning values less than or equal to 0.50 as heads and greater than 0.50 as tails, is a Monte Carlo simulation of the behavior of repeatedly tossing a coin.

Kalos and Whitlock[57] point out that such distinctions are not always easy to maintain. For example, the emission of radiation from atoms is a natural stochastic process. It can be simulated directly, or its average behavior can be described by stochastic equations that can themselves be solved using Monte Carlo methods. "Indeed, the same computer code can be viewed simultaneously as a 'natural simulation' or as a solution of the equations by natural sampling."

Convergence of the Monte Carlo simulation can be checked with the Gelman-Rubin statistic.

Monte Carlo and random numbers

[edit]

The main idea behind this method is that the results are computed based on repeated random sampling and statistical analysis. The Monte Carlo simulation is, in fact, random experimentations, in the case that, the results of these experiments are not well known. Monte Carlo simulations are typically characterized by many unknown parameters, many of which are difficult to obtain experimentally.[58] Monte Carlo simulation methods do not always require truly random numbers to be useful (although, for some applications such as primality testing, unpredictability is vital).[59] Many of the most useful techniques use deterministic, pseudorandom sequences, making it easy to test and re-run simulations. The only quality usually necessary to make good simulations is for the pseudo-random sequence to appear "random enough" in a certain sense.

What this means depends on the application, but typically they should pass a series of statistical tests. Testing that the numbers are uniformly distributed or follow another desired distribution when a large enough number of elements of the sequence are considered is one of the simplest and most common ones. Weak correlations between successive samples are also often desirable/necessary.

Sawilowsky lists the characteristics of a high-quality Monte Carlo simulation:[56]

  • the (pseudo-random) number generator has certain characteristics (e.g. a long "period" before the sequence repeats)
  • the (pseudo-random) number generator produces values that pass tests for randomness
  • there are enough samples to ensure accurate results
  • the proper sampling technique is used
  • the algorithm used is valid for what is being modeled
  • it simulates the phenomenon in question.

Pseudo-random number sampling algorithms are used to transform uniformly distributed pseudo-random numbers into numbers that are distributed according to a given probability distribution.

Low-discrepancy sequences are often used instead of random sampling from a space as they ensure even coverage and normally have a faster order of convergence than Monte Carlo simulations using random or pseudorandom sequences. Methods based on their use are called quasi-Monte Carlo methods.

In an effort to assess the impact of random number quality on Monte Carlo simulation outcomes, astrophysical researchers tested cryptographically secure pseudorandom numbers generated via Intel's RDRAND instruction set, as compared to those derived from algorithms, like the Mersenne Twister, in Monte Carlo simulations of radio flares from brown dwarfs. No statistically significant difference was found between models generated with typical pseudorandom number generators and RDRAND for trials consisting of the generation of 107 random numbers.[60]

Monte Carlo simulation versus "what if" scenarios

[edit]

There are ways of using probabilities that are definitely not Monte Carlo simulations – for example, deterministic modeling using single-point estimates. Each uncertain variable within a model is assigned a "best guess" estimate. Scenarios (such as best, worst, or most likely case) for each input variable are chosen and the results recorded.[61]

By contrast, Monte Carlo simulations sample from a probability distribution for each variable to produce hundreds or thousands of possible outcomes. The results are analyzed to get probabilities of different outcomes occurring.[62] For example, a comparison of a spreadsheet cost construction model run using traditional "what if" scenarios, and then running the comparison again with Monte Carlo simulation and triangular probability distributions shows that the Monte Carlo analysis has a narrower range than the "what if" analysis.[example needed] This is because the "what if" analysis gives equal weight to all scenarios (see quantifying uncertainty in corporate finance), while the Monte Carlo method hardly samples in the very low probability regions. The samples in such regions are called "rare events".

Applications

[edit]

Monte Carlo methods are especially useful for simulating phenomena with significant uncertainty in inputs and systems with many coupled degrees of freedom. Areas of application include:

Physical sciences

[edit]

Monte Carlo methods are very important in computational physics, physical chemistry, and related applied fields, and have diverse applications from complicated quantum chromodynamics calculations to designing heat shields and aerodynamic forms as well as in modeling radiation transport for radiation dosimetry calculations.[63][64][65] In statistical physics, Monte Carlo molecular modeling is an alternative to computational molecular dynamics, and Monte Carlo methods are used to compute statistical field theories of simple particle and polymer systems.[37][66] Quantum Monte Carlo methods solve the many-body problem for quantum systems.[9][10][29] In radiation materials science, the binary collision approximation for simulating ion implantation is usually based on a Monte Carlo approach to select the next colliding atom.[67] In experimental particle physics, Monte Carlo methods are used for designing detectors, understanding their behavior and comparing experimental data to theory. In astrophysics, they are used in such diverse manners as to model both galaxy evolution[68] and microwave radiation transmission through a rough planetary surface.[69] Monte Carlo methods are also used in the ensemble models that form the basis of modern weather forecasting.

Engineering

[edit]

Monte Carlo methods are widely used in engineering for sensitivity analysis and quantitative probabilistic analysis in process design. The need arises from the interactive, co-linear and non-linear behavior of typical process simulations. For example,

Climate change and radiative forcing

[edit]

The Intergovernmental Panel on Climate Change relies on Monte Carlo methods in probability density function analysis of radiative forcing.[73]

Computational biology

[edit]

Monte Carlo methods are used in various fields of computational biology, for example for Bayesian inference in phylogeny, or for studying biological systems such as genomes, proteins,[74] or membranes.[75] The systems can be studied in the coarse-grained or ab initio frameworks depending on the desired accuracy. Computer simulations allow monitoring of the local environment of a particular molecule to see if some chemical reaction is happening for instance. In cases where it is not feasible to conduct a physical experiment, thought experiments can be conducted (for instance: breaking bonds, introducing impurities at specific sites, changing the local/global structure, or introducing external fields).

Computer graphics

[edit]

Path tracing, occasionally referred to as Monte Carlo ray tracing, renders a 3D scene by randomly tracing samples of possible light paths. Repeated sampling of any given pixel will eventually cause the average of the samples to converge on the correct solution of the rendering equation, making it one of the most physically accurate 3D graphics rendering methods in existence.

Applied statistics

[edit]

The standards for Monte Carlo experiments in statistics were set by Sawilowsky.[76] In applied statistics, Monte Carlo methods may be used for at least four purposes:

  1. To compare competing statistics for small samples under realistic data conditions. Although type I error and power properties of statistics can be calculated for data drawn from classical theoretical distributions (e.g., normal curve, Cauchy distribution) for asymptotic conditions (i. e, infinite sample size and infinitesimally small treatment effect), real data often do not have such distributions.[77]
  2. To provide implementations of hypothesis tests that are more efficient than exact tests such as permutation tests (which are often impossible to compute) while being more accurate than critical values for asymptotic distributions.
  3. To provide a random sample from the posterior distribution in Bayesian inference. This sample then approximates and summarizes all the essential features of the posterior.
  4. To provide efficient random estimates of the Hessian matrix of the negative log-likelihood function that may be averaged to form an estimate of the Fisher information matrix.[78][79]

Monte Carlo methods are also a compromise between approximate randomization and permutation tests. An approximate randomization test is based on a specified subset of all permutations (which entails potentially enormous housekeeping of which permutations have been considered). The Monte Carlo approach is based on a specified number of randomly drawn permutations (exchanging a minor loss in precision if a permutation is drawn twice—or more frequently—for the efficiency of not having to track which permutations have already been selected).

Artificial intelligence for games

[edit]

Monte Carlo methods have been developed into a technique called Monte-Carlo tree search that is useful for searching for the best move in a game. Possible moves are organized in a search tree and many random simulations are used to estimate the long-term potential of each move. A black box simulator represents the opponent's moves.[80]

The Monte Carlo tree search (MCTS) method has four steps:[81]

  1. Starting at root node of the tree, select optimal child nodes until a leaf node is reached.
  2. Expand the leaf node and choose one of its children.
  3. Play a simulated game starting with that node.
  4. Use the results of that simulated game to update the node and its ancestors.

The net effect, over the course of many simulated games, is that the value of a node representing a move will go up or down, hopefully corresponding to whether or not that node represents a good move.

Monte Carlo Tree Search has been used successfully to play games such as Go,[82] Tantrix,[83] Battleship,[84] Havannah,[85] and Arimaa.[86]

Design and visuals

[edit]

Monte Carlo methods are also efficient in solving coupled integral differential equations of radiation fields and energy transport, and thus these methods have been used in global illumination computations that produce photo-realistic images of virtual 3D models, with applications in video games, architecture, design, computer generated films, and cinematic special effects.[87]

Search and rescue

[edit]

The US Coast Guard utilizes Monte Carlo methods within its computer modeling software SAROPS in order to calculate the probable locations of vessels during search and rescue operations. Each simulation can generate as many as ten thousand data points that are randomly distributed based upon provided variables.[88] Search patterns are then generated based upon extrapolations of these data in order to optimize the probability of containment (POC) and the probability of detection (POD), which together will equal an overall probability of success (POS). Ultimately this serves as a practical application of probability distribution in order to provide the swiftest and most expedient method of rescue, saving both lives and resources.[89]

Finance and business

[edit]

Monte Carlo simulation is commonly used to evaluate the risk and uncertainty that would affect the outcome of different decision options. Monte Carlo simulation allows the business risk analyst to incorporate the total effects of uncertainty in variables like sales volume, commodity and labor prices, interest and exchange rates, as well as the effect of distinct risk events like the cancellation of a contract or the change of a tax law.

Monte Carlo methods in finance are often used to evaluate investments in projects at a business unit or corporate level, or other financial valuations. They can be used to model project schedules, where simulations aggregate estimates for worst-case, best-case, and most likely durations for each task to determine outcomes for the overall project.[90] Monte Carlo methods are also used in option pricing, default risk analysis.[91][92] Additionally, they can be used to estimate the financial impact of medical interventions.[93]

Law

[edit]

A Monte Carlo approach was used for evaluating the potential value of a proposed program to help female petitioners in Wisconsin be successful in their applications for harassment and domestic abuse restraining orders. It was proposed to help women succeed in their petitions by providing them with greater advocacy thereby potentially reducing the risk of rape and physical assault. However, there were many variables in play that could not be estimated perfectly, including the effectiveness of restraining orders, the success rate of petitioners both with and without advocacy, and many others. The study ran trials that varied these variables to come up with an overall estimate of the success level of the proposed program as a whole.[94]

Library science

[edit]

Monte Carlo approach had also been used to simulate the number of book publications based on book genre in Malaysia. The Monte Carlo simulation utilized previous published National Book publication data and book's price according to book genre in the local market. The Monte Carlo results were used to determine what kind of book genre that Malaysians are fond of and was used to compare book publications between Malaysia and Japan.[95]

Other

[edit]

Nassim Nicholas Taleb writes about Monte Carlo generators in his 2001 book Fooled by Randomness as a real instance of the reverse Turing test: a human can be declared unintelligent if their writing cannot be told apart from a generated one.

Use in mathematics

[edit]

In general, the Monte Carlo methods are used in mathematics to solve various problems by generating suitable random numbers (see also Random number generation) and observing that fraction of the numbers that obeys some property or properties. The method is useful for obtaining numerical solutions to problems too complicated to solve analytically. The most common application of the Monte Carlo method is Monte Carlo integration.

Integration

[edit]
Monte-Carlo integration works by comparing random points with the value of the function.
Errors reduce by a factor of .

Deterministic numerical integration algorithms work well in a small number of dimensions, but encounter two problems when the functions have many variables. First, the number of function evaluations needed increases rapidly with the number of dimensions. For example, if 10 evaluations provide adequate accuracy in one dimension, then 10100 points are needed for 100 dimensions—far too many to be computed. This is called the curse of dimensionality. Second, the boundary of a multidimensional region may be very complicated, so it may not be feasible to reduce the problem to an iterated integral.[96] 100 dimensions is by no means unusual, since in many physical problems, a "dimension" is equivalent to a degree of freedom.

Monte Carlo methods provide a way out of this exponential increase in computation time. As long as the function in question is reasonably well-behaved, it can be estimated by randomly selecting points in 100-dimensional space, and taking some kind of average of the function values at these points. By the central limit theorem, this method displays convergence—i.e., quadrupling the number of sampled points halves the error, regardless of the number of dimensions.[96]

A refinement of this method, known as importance sampling in statistics, involves sampling the points randomly, but more frequently where the integrand is large. To do this precisely one would have to already know the integral, but one can approximate the integral by an integral of a similar function or use adaptive routines such as stratified sampling, recursive stratified sampling, adaptive umbrella sampling[97][98] or the VEGAS algorithm.

A similar approach, the quasi-Monte Carlo method, uses low-discrepancy sequences. These sequences "fill" the area better and sample the most important points more frequently, so quasi-Monte Carlo methods can often converge on the integral more quickly.

Another class of methods for sampling points in a volume is to simulate random walks over it (Markov chain Monte Carlo). Such methods include the Metropolis–Hastings algorithm, Gibbs sampling, Wang and Landau algorithm, and interacting type MCMC methodologies such as the sequential Monte Carlo samplers.[99]

Simulation and optimization

[edit]

Another powerful and very popular application for random numbers in numerical simulation is in numerical optimization. The problem is to minimize (or maximize) functions of some vector that often has many dimensions. Many problems can be phrased in this way: for example, a computer chess program could be seen as trying to find the set of, say, 10 moves that produces the best evaluation function at the end. In the traveling salesman problem the goal is to minimize distance traveled. There are also applications to engineering design, such as multidisciplinary design optimization. It has been applied with quasi-one-dimensional models to solve particle dynamics problems by efficiently exploring large configuration space. Reference[100] is a comprehensive review of many issues related to simulation and optimization.

The traveling salesman problem is what is called a conventional optimization problem. That is, all the facts (distances between each destination point) needed to determine the optimal path to follow are known with certainty and the goal is to run through the possible travel choices to come up with the one with the lowest total distance. If instead of the goal being to minimize the total distance traveled to visit each desired destination but rather to minimize the total time needed to reach each destination, this goes beyond conventional optimization since travel time is inherently uncertain (traffic jams, time of day, etc.). As a result, to determine the optimal path a different simulation is required: optimization to first understand the range of potential times it could take to go from one point to another (represented by a probability distribution in this case rather than a specific distance) and then optimize the travel decisions to identify the best path to follow taking that uncertainty into account.

Inverse problems

[edit]

Probabilistic formulation of inverse problems leads to the definition of a probability distribution in the model space. This probability distribution combines prior information with new information obtained by measuring some observable parameters (data). As, in the general case, the theory linking data with model parameters is nonlinear, the posterior probability in the model space may not be easy to describe (it may be multimodal, some moments may not be defined, etc.).

When analyzing an inverse problem, obtaining a maximum likelihood model is usually not sufficient, as normally information on the resolution power of the data is desired. In the general case many parameters are modeled, and an inspection of the marginal probability densities of interest may be impractical, or even useless. But it is possible to pseudorandomly generate a large collection of models according to the posterior probability distribution and to analyze and display the models in such a way that information on the relative likelihoods of model properties is conveyed to the spectator. This can be accomplished by means of an efficient Monte Carlo method, even in cases where no explicit formula for the a priori distribution is available.

The best-known importance sampling method, the Metropolis algorithm, can be generalized, and this gives a method that allows analysis of (possibly highly nonlinear) inverse problems with complex a priori information and data with an arbitrary noise distribution.[101][102]

Philosophy

[edit]

Popular exposition of the Monte Carlo Method was conducted by McCracken.[103] The method's general philosophy was discussed by Elishakoff[104] and Grüne-Yanoff and Weirich.[105]

See also

[edit]

References

[edit]

Citations

[edit]
  1. ^ Kalos & Whitlock 2008.
  2. ^ Kroese, D. P.; Brereton, T.; Taimre, T.; Botev, Z. I. (2014). "Why the Monte Carlo method is so important today". WIREs Comput Stat. 6 (6): 386–392. doi:10.1002/wics.1314. S2CID 18521840.
  3. ^ Hubbard, Douglas; Samuelson, Douglas A. (October 2009). "Modeling Without Measurements". OR/MS Today: 28–33.
  4. ^ Metropolis, Nicholas; Rosenbluth, Arianna W.; Rosenbluth, Marshall N.; Teller, Augusta H.; Teller, Edward (June 1, 1953). "Equation of State Calculations by Fast Computing Machines". The Journal of Chemical Physics. 21 (6): 1087–1092. Bibcode:1953JChPh..21.1087M. doi:10.1063/1.1699114. ISSN 0021-9606. OSTI 4390578. S2CID 1046577.
  5. ^ Hastings, W. K. (April 1, 1970). "Monte Carlo sampling methods using Markov chains and their applications". Biometrika. 57 (1): 97–109. Bibcode:1970Bimka..57...97H. doi:10.1093/biomet/57.1.97. ISSN 0006-3444. S2CID 21204149.
  6. ^ Liu, Jun S.; Liang, Faming; Wong, Wing Hung (March 1, 2000). "The Multiple-Try Method and Local Optimization in Metropolis Sampling". Journal of the American Statistical Association. 95 (449): 121–134. doi:10.1080/01621459.2000.10473908. ISSN 0162-1459. S2CID 123468109.
  7. ^ Spall, J. C. (2003). "Estimation via Markov Chain Monte Carlo". IEEE Control Systems Magazine. 23 (2): 34–45. doi:10.1109/MCS.2003.1188770.
  8. ^ Hill, Stacy D.; Spall, James C. (2019). "Stationarity and Convergence of the Metropolis-Hastings Algorithm: Insights into Theoretical Aspects". IEEE Control Systems Magazine. 39: 56–67. doi:10.1109/MCS.2018.2876959. S2CID 58672766.
  9. ^ a b Kolokoltsov, Vassili (2010). Nonlinear Markov processes. Cambridge University Press. p. 375.
  10. ^ a b c Del Moral, Pierre (2013). Mean field simulation for Monte Carlo integration. Chapman & Hall/CRC Press. p. 626. Monographs on Statistics & Applied Probability
  11. ^ Del Moral, P.; Doucet, A.; Jasra, A. (2006). "Sequential Monte Carlo samplers". Journal of the Royal Statistical Society, Series B. 68 (3): 411–436. arXiv:cond-mat/0212648. doi:10.1111/j.1467-9868.2006.00553.x. S2CID 12074789.
  12. ^ a b c d Owen, Art B. (2013). Monte Carlo Theory, Methods and Examples (PDF). Work in progress. pp. 15–36.
  13. ^ a b Driels, Morris R.; Shin, Young S. (April 2004). "Determining the number of Iterations for Monte Carlo Simulations of Weapon Effectiveness". Naval Postgraduate School Technical Report (March 2003 - March 2004): 10–11.
  14. ^ Shonkwiler, R. W.; Mendivil, F. (2009). Explorations in Monte Carlo Methods. Springer.
  15. ^ Atanassova, E.; Gurov, T.; Karaivanova, A.; Ivanovska, S.; Durchova, M.; Dimitrov, D. (2016). "On the parallelization approaches for Intel MIC architecture". AIP Conference Proceedings. 1773 (1): 070001. Bibcode:2016AIPC.1773g0001A. doi:10.1063/1.4964983.
  16. ^ Cunha Jr, A.; Nasser, R.; Sampaio, R.; Lopes, H.; Breitman, K. (2014). "Uncertainty quantification through the Monte Carlo method in a cloud computing setting". Computer Physics Communications. 185 (5): 1355–1363. arXiv:2105.09512. Bibcode:2014CoPhC.185.1355C. doi:10.1016/j.cpc.2014.01.006. S2CID 32376269.
  17. ^ Wei, J.; Kruis, F.E. (2013). "A GPU-based parallelized Monte-Carlo method for particle coagulation using an acceptance–rejection strategy". Chemical Engineering Science. 104: 451–459. Bibcode:2013ChEnS.104..451W. doi:10.1016/j.ces.2013.08.008.
  18. ^ Lin, Y.; Wang, F.; Liu, B. (2018). "Random number generators for large-scale parallel Monte Carlo simulations on FPGA". Journal of Computational Physics. 360: 93–103. Bibcode:2018JCoPh.360...93L. doi:10.1016/j.jcp.2018.01.029.
  19. ^ a b c Metropolis 1987.
  20. ^ Eckhardt 1987.
  21. ^ a b Mazhdrakov, Benov & Valkanov 2018, p. 250.
  22. ^ Haigh, Thomas; Priestley, Mark; Rope, Crispin (2014). "Los Alamos Bets on ENIAC: Nuclear Monte Carlo Simulations, 1947-1948". IEEE Annals of the History of Computing. 36 (3): 42–63. doi:10.1109/MAHC.2014.40. S2CID 17470931.
  23. ^ McKean, Henry P. (1967). "Propagation of chaos for a class of non-linear parabolic equations". Lecture Series in Differential Equations, Catholic Univ. 7: 41–57.
  24. ^ McKean, Henry P. (1966). "A class of Markov processes associated with nonlinear parabolic equations". Proc. Natl. Acad. Sci. USA. 56 (6): 1907–1911. Bibcode:1966PNAS...56.1907M. doi:10.1073/pnas.56.6.1907. PMC 220210. PMID 16591437.
  25. ^ Herman, Kahn; Theodore, Harris E. (1951). "Estimation of particle transmission by random sampling" (PDF). Natl. Bur. Stand. Appl. Math. Ser. 12: 27–30.
  26. ^ Turing, Alan M. (1950). "Computing machinery and intelligence". Mind. LIX (238): 433–460. doi:10.1093/mind/LIX.236.433.
  27. ^ Barricelli, Nils Aall (1954). "Esempi numerici di processi di evoluzione". Methodos: 45–68.
  28. ^ Barricelli, Nils Aall (1957). "Symbiogenetic evolution processes realized by artificial methods". Methodos: 143–182.
  29. ^ a b Del Moral, Pierre (2004). Feynman–Kac formulae. Genealogical and interacting particle approximations. Probability and Its Applications. Springer. p. 575. ISBN 9780387202686. Series: Probability and Applications
  30. ^ a b Del Moral, P.; Miclo, L. (2000). "Branching and interacting particle systems approximations of Feynman–Kac formulae with applications to non-linear filtering". Séminaire de Probabilités XXXIV. Lecture Notes in Mathematics. Vol. 1729. Berlin: Springer. pp. 1–145. doi:10.1007/BFb0103798. ISBN 978-3-540-67314-9. MR 1768060.
  31. ^ Del Moral, Pierre; Miclo, Laurent (2000). "A Moran particle system approximation of Feynman–Kac formulae". Stochastic Processes and Their Applications. 86 (2): 193–216. doi:10.1016/S0304-4149(99)00094-0.
  32. ^ Del Moral, Pierre (2003). "Particle approximations of Lyapunov exponents connected to Schrödinger operators and Feynman–Kac semigroups". ESAIM Probability & Statistics. 7: 171–208. doi:10.1051/ps:2003001.
  33. ^ Assaraf, Roland; Caffarel, Michel; Khelif, Anatole (2000). "Diffusion Monte Carlo Methods with a fixed number of walkers" (PDF). Phys. Rev. E. 61 (4): 4566–4575. Bibcode:2000PhRvE..61.4566A. doi:10.1103/physreve.61.4566. PMID 11088257. Archived from the original (PDF) on November 7, 2014.
  34. ^ Caffarel, Michel; Ceperley, David; Kalos, Malvin (1993). "Comment on Feynman–Kac Path-Integral Calculation of the Ground-State Energies of Atoms". Phys. Rev. Lett. 71 (13): 2159. Bibcode:1993PhRvL..71.2159C. doi:10.1103/physrevlett.71.2159. PMID 10054598.
  35. ^ a b Hetherington, Jack H. (1984). "Observations on the statistical iteration of matrices". Phys. Rev. A. 30 (2713): 2713–2719. Bibcode:1984PhRvA..30.2713H. doi:10.1103/PhysRevA.30.2713.
  36. ^ Fermi, Enrique; Richtmyer, Robert D. (1948). "Note on census-taking in Monte Carlo calculations" (PDF). LAM. 805 (A). Declassified report Los Alamos Archive
  37. ^ a b Rosenbluth, Marshall N.; Rosenbluth, Arianna W. (1955). "Monte-Carlo calculations of the average extension of macromolecular chains". J. Chem. Phys. 23 (2): 356–359. Bibcode:1955JChPh..23..356R. doi:10.1063/1.1741967. S2CID 89611599.
  38. ^ Gordon, N.J.; Salmond, D.J.; Smith, A.F.M. (April 1993). "Novel approach to nonlinear/non-Gaussian Bayesian state estimation". IEE Proceedings F - Radar and Signal Processing. 140 (2): 107–113. doi:10.1049/ip-f-2.1993.0015. ISSN 0956-375X. S2CID 12644877.
  39. ^ Kitagawa, G. (1996). "Monte carlo filter and smoother for non-Gaussian nonlinear state space models". Journal of Computational and Graphical Statistics. 5 (1): 1–25. doi:10.2307/1390750. JSTOR 1390750.
  40. ^ a b Del Moral, Pierre (1996). "Non Linear Filtering: Interacting Particle Solution" (PDF). Markov Processes and Related Fields. 2 (4): 555–580. Archived from the original (PDF) on March 4, 2016. Retrieved June 11, 2015.
  41. ^ Carvalho, Himilcon; Del Moral, Pierre; Monin, André; Salut, Gérard (July 1997). "Optimal Non-linear Filtering in GPS/INS Integration" (PDF). IEEE Transactions on Aerospace and Electronic Systems. 33 (3): 835–850. Bibcode:1997ITAES..33..835C. doi:10.1109/7.599254. S2CID 27966240. Archived from the original (PDF) on November 10, 2022. Retrieved June 11, 2015.
  42. ^ P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: An unified framework for particle solutions". LAAS-CNRS, Toulouse, Research Report no. 91137, DRET-DIGILOG- LAAS/CNRS contract, April (1991).
  43. ^ P. Del Moral, G. Rigal, and G. Salut. "Nonlinear and non Gaussian particle filters applied to inertial platform repositioning." LAAS-CNRS, Toulouse, Research Report no. 92207, STCAN/DIGILOG-LAAS/CNRS Convention STCAN no. A.91.77.013, (94p.) September (1991).
  44. ^ P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation: Experimental results". Convention DRET no. 89.34.553.00.470.75.01, Research report no.2 (54p.), January (1992).
  45. ^ P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation: Theoretical results". Convention DRET no. 89.34.553.00.470.75.01, Research report no.3 (123p.), October (1992).
  46. ^ P. Del Moral, J.-Ch. Noyer, G. Rigal, and G. Salut. "Particle filters in radar signal processing: detection, estimation and air targets recognition". LAAS-CNRS, Toulouse, Research report no. 92495, December (1992).
  47. ^ P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation". Studies on: Filtering, optimal control, and maximum likelihood estimation. Convention DRET no. 89.34.553.00.470.75.01. Research report no.4 (210p.), January (1993).
  48. ^ Del Moral, Pierre (1998). "Measure Valued Processes and Interacting Particle Systems. Application to Non Linear Filtering Problems". Annals of Applied Probability. 8 (2) (Publications du Laboratoire de Statistique et Probabilités, 96-15 (1996) ed.): 438–495. CiteSeerX 10.1.1.55.5257. doi:10.1214/aoap/1028903535.
  49. ^ Crisan, Dan; Gaines, Jessica; Lyons, Terry (1998). "Convergence of a branching particle method to the solution of the Zakai". SIAM Journal on Applied Mathematics. 58 (5): 1568–1590. doi:10.1137/s0036139996307371. S2CID 39982562.
  50. ^ Crisan, Dan; Lyons, Terry (1997). "Nonlinear filtering and measure-valued processes". Probability Theory and Related Fields. 109 (2): 217–244. doi:10.1007/s004400050131. S2CID 119809371.
  51. ^ Crisan, Dan; Lyons, Terry (1999). "A particle approximation of the solution of the Kushner–Stratonovitch equation". Probability Theory and Related Fields. 115 (4): 549–578. doi:10.1007/s004400050249. S2CID 117725141.
  52. ^ Crisan, Dan; Del Moral, Pierre; Lyons, Terry (1999). "Discrete filtering using branching and interacting particle systems" (PDF). Markov Processes and Related Fields. 5 (3): 293–318.
  53. ^ Del Moral, Pierre; Guionnet, Alice (1999). "On the stability of Measure Valued Processes with Applications to filtering". C. R. Acad. Sci. Paris. 39 (1): 429–434.
  54. ^ Del Moral, Pierre; Guionnet, Alice (2001). "On the stability of interacting processes with applications to filtering and genetic algorithms". Annales de l'Institut Henri Poincaré. 37 (2): 155–194. Bibcode:2001AIHPB..37..155D. doi:10.1016/s0246-0203(00)01064-5.
  55. ^ Ripley 1987
  56. ^ a b Sawilowsky 2003
  57. ^ Kalos & Whitlock 2008
  58. ^ Shojaeefard, M.H.; Khalkhali, A.; Yarmohammadisatri, Sadegh (2017). "An efficient sensitivity analysis method for modified geometry of Macpherson suspension based on Pearson Correlation Coefficient". Vehicle System Dynamics. 55 (6): 827–852. Bibcode:2017VSD....55..827S. doi:10.1080/00423114.2017.1283046. S2CID 114260173.
  59. ^ Davenport 1992
  60. ^ Route, Matthew (August 10, 2017). "Radio-flaring Ultracool Dwarf Population Synthesis". The Astrophysical Journal. 845 (1): 66. arXiv:1707.02212. Bibcode:2017ApJ...845...66R. doi:10.3847/1538-4357/aa7ede. S2CID 118895524.
  61. ^ Vose 2008, p. 13.
  62. ^ Vose 2008, p. 16.
  63. ^ Jia, Xun; Ziegenhein, Peter; Jiang, Steve B (2014). "GPU-based high-performance computing for radiation therapy". Physics in Medicine and Biology. 59 (4): R151–R182. Bibcode:2014PMB....59R.151J. doi:10.1088/0031-9155/59/4/R151. PMC 4003902. PMID 24486639.
  64. ^ Hill, R.; Healy, B.; Holloway, L.; Kuncic, Z.; Thwaites, D.; Baldock, C. (March 2014). "Advances in kilovoltage x-ray beam dosimetry". Physics in Medicine and Biology. 59 (6): R183–R231. Bibcode:2014PMB....59R.183H. doi:10.1088/0031-9155/59/6/R183. PMID 24584183. S2CID 18082594.
  65. ^ Rogers, D.W.O. (2006). "Fifty years of Monte Carlo simulations for medical physics". Physics in Medicine and Biology. 51 (13): R287–R301. Bibcode:2006PMB....51R.287R. doi:10.1088/0031-9155/51/13/R17. PMID 16790908. S2CID 12066026.
  66. ^ Baeurle 2009
  67. ^ Möller, W.; Eckstein, W. (March 1, 1984). "Tridyn — A TRIM simulation code including dynamic composition changes". Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms. 2 (1): 814–818. Bibcode:1984NIMPB...2..814M. doi:10.1016/0168-583X(84)90321-5.
  68. ^ MacGillivray & Dodd 1982
  69. ^ Golden 1979
  70. ^ G. A. Bird, Molecular Gas Dynamics, Clarendon, Oxford (1976)
  71. ^ Dietrich, S.; Boyd, I. (1996). "A Scalar optimized parallel implementation of the DSMC technique". Journal of Computational Physics. 126 (2): 328–42. Bibcode:1996JCoPh.126..328D. doi:10.1006/jcph.1996.0141.
  72. ^ Chen, Shang-Ying; Hsu, Kuo-Chin; Fan, Chia-Ming (March 15, 2021). "Improvement of generalized finite difference method for stochastic subsurface flow modeling". Journal of Computational Physics. 429: 110002. Bibcode:2021JCoPh.42910002C. doi:10.1016/J.JCP.2020.110002. S2CID 228828681.
  73. ^ Climate Change 2013 The Physical Science Basis (PDF). Cambridge University Press. 2013. p. 697. ISBN 978-1-107-66182-0. Retrieved July 6, 2023.
  74. ^ Ojeda et al. 2009.
  75. ^ Milik & Skolnick 1993.
  76. ^ Cassey; Smith (2014). "Simulating confidence for the Ellison-Glaeser Index". Journal of Urban Economics. 81: 93. doi:10.1016/j.jue.2014.02.005.
  77. ^ Sawilowsky & Fahoome 2003
  78. ^ Spall, James C. (2005). "Monte Carlo Computation of the Fisher Information Matrix in Nonstandard Settings". Journal of Computational and Graphical Statistics. 14 (4): 889–909. CiteSeerX 10.1.1.142.738. doi:10.1198/106186005X78800. S2CID 16090098.
  79. ^ Das, Sonjoy; Spall, James C.; Ghanem, Roger (2010). "Efficient Monte Carlo computation of Fisher information matrix using prior information". Computational Statistics & Data Analysis. 54 (2): 272–289. doi:10.1016/j.csda.2009.09.018.
  80. ^ Chaslot, Guillaume; Bakkes, Sander; Szita, Istvan; Spronck, Pieter. "Monte-Carlo Tree Search: A New Framework for Game AI" (PDF). Sander.landofsand.com. Retrieved October 28, 2017.
  81. ^ "Monte Carlo Tree Search - About". Archived from the original on November 29, 2015. Retrieved May 15, 2013.
  82. ^ Chaslot, Guillaume M. J. -B; Winands, Mark H. M.; Van Den Herik, H. Jaap (2008). "Parallel Monte-Carlo Tree Search". Computers and Games. Lecture Notes in Computer Science. Vol. 5131. pp. 60–71. CiteSeerX 10.1.1.159.4373. doi:10.1007/978-3-540-87608-3_6. ISBN 978-3-540-87607-6.
  83. ^ Bruns, Pete. Monte-Carlo Tree Search in the game of Tantrix: Cosc490 Final Report (PDF) (Report).
  84. ^ Silver, David; Veness, Joel. "Monte-Carlo Planning in Large POMDPs" (PDF). 0.cs.ucl.ac.uk. Archived from the original (PDF) on July 18, 2016. Retrieved October 28, 2017.
  85. ^ Lorentz, Richard J. (2011). "Improving Monte–Carlo Tree Search in Havannah". Computers and Games. Lecture Notes in Computer Science. Vol. 6515. pp. 105–115. Bibcode:2011LNCS.6515..105L. doi:10.1007/978-3-642-17928-0_10. ISBN 978-3-642-17927-3.
  86. ^ Jakl, Tomas. "Arimaa challenge – comparison study of MCTS versus alpha-beta methods" (PDF). Arimaa.com. Retrieved October 28, 2017.
  87. ^ Szirmay-Kalos 2008.
  88. ^ "How the Coast Guard Uses Analytics to Search for Those Lost at Sea". Dice Insights. January 3, 2014.
  89. ^ Stone, Lawrence D.; Kratzke, Thomas M.; Frost, John R. "Search Modeling and Optimization in USCG's Search and Rescue Optimal Planning System (SAROPS)" (PDF). Ifremer.fr. Retrieved October 28, 2017.
  90. ^ "Project Risk Simulation (BETA)". risk.octigo.pl. Retrieved May 21, 2024.
  91. ^ Carmona, René; Del Moral, Pierre; Hu, Peng; Oudjane, Nadia (2012). "An Introduction to Particle Methods with Financial Applications". In Carmona, René A.; Moral, Pierre Del; Hu, Peng; et al. (eds.). Numerical Methods in Finance. Springer Proceedings in Mathematics. Vol. 12. Springer Berlin Heidelberg. pp. 3–49. CiteSeerX 10.1.1.359.7957. doi:10.1007/978-3-642-25746-9_1. ISBN 978-3-642-25745-2.
  92. ^ Kroese, D. P.; Taimre, T.; Botev, Z. I. (2011). Handbook of Monte Carlo Methods. John Wiley & Sons.
  93. ^ Arenas, Daniel J.; Lett, Lanair A.; Klusaritz, Heather; Teitelman, Anne M. (2017). "A Monte Carlo simulation approach for estimating the health and economic impact of interventions provided at a student-run clinic". PLOS ONE. 12 (12): e0189718. Bibcode:2017PLoSO..1289718A. doi:10.1371/journal.pone.0189718. PMC 5746244. PMID 29284026.
  94. ^ Elwart, Liz; Emerson, Nina; Enders, Christina; Fumia, Dani; Murphy, Kevin (December 2006). "Increasing Access to Restraining Orders for Low Income Victims of Domestic Violence: A Cost-Benefit Analysis of the Proposed Domestic Abuse Grant Program" (PDF). State Bar of Wisconsin. Archived from the original (PDF) on November 6, 2018. Retrieved December 12, 2016.
  95. ^ Dahlan, Hadi Akbar (October 29, 2021). "Perbandingan Penerbitan dan Harga Buku Mengikut Genre di Malaysia dan Jepun Menggunakan Data Akses Terbuka dan Simulasi Monte Carlo" (PDF). Kajian Malaysia. 39 (2): 179–202. doi:10.21315/km2021.39.2.8. S2CID 240435973.
  96. ^ a b Press et al. 1996
  97. ^ MEZEI, M (December 31, 1986). "Adaptive umbrella sampling: Self-consistent determination of the non-Boltzmann bias". Journal of Computational Physics. 68 (1): 237–248. Bibcode:1987JCoPh..68..237M. doi:10.1016/0021-9991(87)90054-4.
  98. ^ Bartels, Christian; Karplus, Martin (December 31, 1997). "Probability Distributions for Complex Systems: Adaptive Umbrella Sampling of the Potential Energy". The Journal of Physical Chemistry B. 102 (5): 865–880. doi:10.1021/jp972280j.
  99. ^ Del Moral, Pierre; Doucet, Arnaud; Jasra, Ajay (2006). "Sequential Monte Carlo samplers". Journal of the Royal Statistical Society, Series B. 68 (3): 411–436. arXiv:cond-mat/0212648. doi:10.1111/j.1467-9868.2006.00553.x. S2CID 12074789.
  100. ^ Spall, J. C. (2003), Introduction to Stochastic Search and Optimization: Estimation, Simulation, and Control, Wiley, Hoboken, NJ. http://www.jhuapl.edu/ISSO
  101. ^ Mosegaard & Tarantola 1995
  102. ^ Tarantola 2005
  103. ^ McCracken, D. D., (1955) The Monte Carlo Method, Scientific American, 192(5), pp. 90-97
  104. ^ Elishakoff, I., (2003) Notes on Philosophy of the Monte Carlo Method, International Applied Mechanics, 39(7), pp.753-762
  105. ^ Grüne-Yanoff, T., & Weirich, P. (2010). The philosophy and epistemology of simulation: A review, Simulation & Gaming, 41(1), pp. 20-50

Sources

[edit]
[edit]