Monte Carlo method
Computational physics 

Numerical analysis · Simulation 
Monte Carlo methods

Particle

Scientists

Monte Carlo methods (or Monte Carlo experiments) are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. They are often used in physical and mathematical problems and are most useful when it is difficult or impossible to use other mathematical methods. Monte Carlo methods are mainly used in three distinct problem classes:^{[1]} optimization, numerical integration, and generating draws from a probability distribution.
In physicsrelated problems, Monte Carlo methods are quite 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, McKeanVlasov 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 math, evaluation of multidimensional definite integrals with complicated boundary conditions. In application to space and oil exploration problems, Monte Carlo–based predictions of failure, cost overruns and schedule overruns are routinely better than human intuition or alternative "soft" methods.^{[2]}
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.^{[3]}^{[4]}^{[5]}^{[6]} The central idea is to design a judicious Markov chain model with a prescribed stationary probability distribution. By the ergodic theorem, the stationary distribution is approximated by the empirical measures of the random states of the MCMC sampler.
In other important problems we are interested in 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 depends on the distributions of the current random states (see McKeanVlasov processes, nonlinear filtering equation).^{[7]}^{[8]} In other instances we are given a flow of probability distributions with an increasing level of sampling complexity (path spaces models with an increasing time horizon, BoltzmannGibbs 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.^{[8]}^{[9]} A natural way to simulate these sophisticated nonlinear Markov processes is to sample a large number of 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 Markov chain Monte Carlo 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.
Contents
Introduction
Monte Carlo methods vary, but tend to follow a particular pattern:
 Define a domain of possible inputs.
 Generate inputs randomly from a probability distribution over the domain.
 Perform a deterministic computation on the inputs.
 Aggregate the results.
For example, consider a circle inscribed in a unit square. Given that the circle and the square have a ratio of areas that is π/4, the value of π can be approximated using a Monte Carlo method:^{[10]}
 Draw a square on the ground, then inscribe a circle within it.
 Uniformly scatter some objects of uniform size (grains of rice or sand) over the square.
 Count the number of objects inside the circle and the total number of objects.
 The ratio of the two counts is an estimate of the ratio of the two areas, which is π/4. Multiply the result by 4 to estimate π.
In this procedure the domain of inputs is the square that circumscribes our circle. We generate random inputs by scattering grains over the square then perform a computation on each input (test whether it falls within the circle). Finally, we aggregate the results to obtain our final result, the approximation of π.
There are two important points to consider here: Firstly, if the grains are not uniformly distributed, then our approximation will be poor. Secondly, there should be a large number of inputs. The approximation is generally poor if only a few grains are randomly dropped into the whole square. On average, the approximation improves as more grains are dropped.
Uses of Monte Carlo methods require large amounts of random numbers, and it was their use that spurred the development of pseudorandom number generators, which were far quicker to use than the tables of random numbers that had been previously used for statistical sampling.
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 a probabilistic analog (see Simulated annealing).
An early variant of the Monte Carlo method can be seen in the Buffon's needle experiment, in which π can be estimated by dropping needles on a floor made of parallel and equidistant strips. In the 1930s, Enrico Fermi first experimented with the Monte Carlo method while studying neutron diffusion, but did not publish anything on it.^{[11]}
The modern version of the Markov Chain Monte Carlo method was invented in the late 1940s by Stanislaw Ulam, while he was working on nuclear weapons projects at the Los Alamos National Laboratory. Immediately after Ulam's breakthrough, John von Neumann understood its importance and programmed the ENIAC computer to carry out Monte Carlo calculations. In 1946, physicists at Los Alamos Scientific Laboratory were investigating radiation shielding and the distance that neutrons would likely travel through various materials. 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. Stanislaw Ulam had the idea of 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.
 –Stanislaw Ulam^{[12]}
 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.
Being secret, the work of von Neumann and Ulam required a code name.^{[citation needed]} 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.^{[11]} Using lists of "truly random" random numbers was extremely slow, but von Neumann developed a way to calculate pseudorandom numbers, using the middlesquare method. Though this method has been criticized as crude, von Neumann was aware of this: he justified it as being faster than any other method at his disposal, and also noted that when it went awry it did so obviously, unlike methods that could be subtly incorrect.
Monte Carlo methods were central to the simulations required for the Manhattan Project, though severely limited by the computational tools at the time. In the 1950s they were used at Los Alamos for early work relating to 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 mid1960s, with the work of Henry P. McKean Jr. on Markov interpretations of a class of nonlinear parabolic partial differential equations arising in fluid mechanics.^{[13]}^{[14]} We also quote an earlier pioneering article by Theodore E. Harris and Herman Kahn, published in 1951, using mean field genetictype Monte Carlo methods for estimating particle transmission energies.^{[15]} 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 mutationselection learning machines ^{[16]} and the articles by Nils Aall Barricelli at the Institute for Advanced Study in Princeton, New Jersey.^{[17]}^{[18]}
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.^{[19]}^{[20]}^{[21]}^{[22]}^{[23]}^{[24]}^{[25]} 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 neutronchain reactions,^{[26]} but the first heuristiclike 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^{[25]} In molecular chemistry, the use of genetic heuristiclike 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.^{[27]}
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^{[28]} 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 statespace or the noise of the system. We also quote another pioneering article in this field of Genshiro Kitagawa on a related "Monte Carlo filter",^{[29]} and the ones by Pierre Del Moral^{[30]} and Himilcon Carvalho, Pierre Del Moral, André Monin and Gérard Salut^{[31]} on particle filters published in the mid1990s. Particle filters were also developed in signal processing in the early 19891992 by P. Del Moral, J.C. Noyer, G. Rigal, and G. Salut in the LAASCNRS in a series of restricted and classified research reports with STCAN (Service Technique des Constructions et Armes Navales), the IT company DIGILOG, and the LAASCNRS (the Laboratory for Analysis and Architecture of Systems) on RADAR/SONAR and GPS signal processing problems.^{[32]}^{[33]}^{[34]}^{[35]}^{[36]}^{[37]} These Sequential Monte Carlo methodologies can be interpreted as an acceptancerejection 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 heuristiclike 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 are due to Pierre Del Moral^{[30]}^{[38]} in 1996. 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,^{[39]}^{[40]}^{[41]} and by Dan Crisan, Pierre Del Moral and Terry Lyons.^{[42]} Further developments in this field were developed in 2000 by P. Del Moral, A. Guionnet and L. Miclo.^{[20]}^{[43]}^{[44]}
Definitions
There is no consensus on how Monte Carlo should be defined. For example, Ripley^{[45]} defines most probabilistic modeling as stochastic simulation, with Monte Carlo being reserved for Monte Carlo integration and Monte Carlo statistical tests. Sawilowsky^{[46]} 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 determine the properties of some phenomenon (or behavior). Examples:
 Simulation: Drawing one pseudorandom 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 pseudorandom uniform variables from the interval [0,1], 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^{[10]} 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."
Monte Carlo and random numbers
Monte Carlo simulation methods do not always require truly random numbers to be useful — while for some applications, such as primality testing, unpredictability is vital.^{[47]} Many of the most useful techniques use deterministic, pseudorandom sequences, making it easy to test and rerun simulations. The only quality usually necessary to make good simulations is for the pseudorandom 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 is also often desirable/necessary.
Sawilowsky lists the characteristics of a high quality Monte Carlo simulation:^{[46]}
 the (pseudorandom) number generator has certain characteristics (e.g., a long "period" before the sequence repeats)
 the (pseudorandom) 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.
Pseudorandom number sampling algorithms are used to transform uniformly distributed pseudorandom numbers into numbers that are distributed according to a given probability distribution.
Lowdiscrepancy 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 quasiMonte Carlo methods.
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 singlepoint 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.^{[48]}
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.^{[49]} 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.^{[examples 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
Monte Carlo methods are especially useful for simulating phenomena with significant uncertainty in inputs and systems with a large number of coupled degrees of freedom. Areas of application include:
Physical sciences
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.^{[50]}^{[51]}^{[52]} 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.^{[27]}^{[53]} Quantum Monte Carlo methods solve the manybody problem for quantum systems.^{[7]}^{[8]}^{[19]} 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^{[54]} and microwave radiation transmission through a rough planetary surface.^{[55]} Monte Carlo methods are also used in the ensemble models that form the basis of modern weather forecasting.
Engineering
Monte Carlo methods are widely used in engineering for sensitivity analysis and quantitative probabilistic analysis in process design. The need arises from the interactive, colinear and nonlinear behavior of typical process simulations. For example,
 In microelectronics engineering, Monte Carlo methods are applied to analyze correlated and uncorrelated variations in analog and digital integrated circuits.
 In geostatistics and geometallurgy, Monte Carlo methods underpin the design of mineral processing flowsheets and contribute to quantitative risk analysis.
 In wind energy yield analysis, the predicted energy output of a wind farm during its lifetime is calculated giving different levels of uncertainty (P90, P50, etc.)
 impacts of pollution are simulated^{[56]} and diesel compared with petrol.^{[57]}
 In Fluid Dynamics, in particular Rarefied Gas Dynamics, where the Boltzmann equation is solved for finite Knudsen number fluid flows using the Direct Simulation Monte Carlo ^{[58]} method in combination with highly efficient computational algorithms.^{[59]}
 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 SLAM (Simultaneous Localization and Mapping) algorithm.
 In telecommunications, when planning a wireless network, design must be proved 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, one can use Monte Carlo simulation to generate mean time between failures and mean time to repair for components.
 In signal processing and Bayesian inference, particle filters and 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 measures.
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,^{[60]} or membranes.^{[61]} The systems can be studied in the coarsegrained or ab initio frameworks depending on the desired accuracy. Computer simulations allow us to monitor 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
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
In applied statistics, Monte Carlo methods are generally used for two 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.^{[62]}
 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.
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
Monte Carlo methods have been developed into a technique called MonteCarlo tree search that is useful for searching for the best move in a game. Possible moves are organized in a search tree and a large number of random simulations are used to estimate the longterm potential of each move. A black box simulator represents the opponent's moves.^{[63]}
The Monte Carlo Tree Search (MCTS) method has four steps:^{[64]}
 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,^{[65]} Tantrix,^{[66]} Battleship,^{[67]} Havannah,^{[68]} and Arimaa.^{[69]}
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 photorealistic images of virtual 3D models, with applications in video games, architecture, design, computer generated films, and cinematic special effects.^{[70]}
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 which are randomly distributed based upon provided variables.^{[71]} Search Patterns are then generated based upon extrapolations of this 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.^{[72]}
Finance and business
Monte Carlo methods in finance are often used to evaluate investments in projects at a business unit or corporate level, or to evaluate financial derivatives. They can be used to model project schedules, where simulations aggregate estimates for worstcase, bestcase, and most likely durations for each task to determine outcomes for the overall project. Monte Carlo methods are also used in option pricing, default risk analysis.^{[73]}^{[74]}^{[75]}
Use in mathematics
In general, 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
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 10^{100} 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.^{[76]} 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 wellbehaved, it can be estimated by randomly selecting points in 100dimensional 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.^{[76]}
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^{[77]}^{[78]} or the VEGAS algorithm.
A similar approach, the quasiMonte Carlo method, uses lowdiscrepancy sequences. These sequences "fill" the area better and sample the most important points more frequently, so quasiMonte 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 MetropolisHastings algorithm, Gibbs sampling, Wang and Landau algorithm, and interacting type MCMC methodologies such as the Sequential Monte Carlo samplers.^{[79]}
Simulation and optimization
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 a large number of 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 quasionedimensional models to solve particle dynamics problems by efficiently exploring large configuration space.
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. However, let's assume that instead of wanting to minimize the total distance traveled to visit each desired destination, we wanted 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 our optimal path we would want to use simulation  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 our travel decisions to identify the best path to follow taking that uncertainty into account.
Inverse problems
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 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 bestknown 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.^{[80]}^{[81]}
Petroleum reservoir management
Monte Carlo methods are very popular in hydrocarbon reservoir management in the context of nonlinear inverse problems. This includes generating computational models of oil and gas reservoirs for consistency with observed production data. For the goal of decision making and uncertainty assessment, Monte Carlo methods are used for generating multiple geological realizations.^{[82]}
In popular culture
 The Monte Carlo Method, the 1998 album by the southern California indie rock band Nothing Painted Blue. (Scat. 1998).
See also
 Auxiliary field Monte Carlo
 Biology Monte Carlo method
 Comparison of risk analysis Microsoft Excel addins
 Direct simulation Monte Carlo
 Dynamic Monte Carlo method
 Kinetic Monte Carlo
 Mean field particle methods
 Particle filter
 List of software for Monte Carlo molecular modeling
 Monte Carlo method for photon transport
 Monte Carlo methods for electron transport
 Morris method
 Genetic algorithms
 QuasiMonte Carlo method
 Sobol sequence
Notes
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Hubbard 2009
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ ^{7.0} ^{7.1} Kolokoltsov, Vassili (2010). Nonlinear Markov processes. Cambridge Univ. Press. p. 375.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ ^{8.0} ^{8.1} ^{8.2} Del Moral, Pierre (2013). Mean field simulation for Monte Carlo integration. Chapman & Hall/CRC Press. p. 626.
Monographs on Statistics & Applied Probability
<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>  ↑ "Sequential Monte Carlo samplers  P. Del Moral  A. Doucet  A. Jasra  2006  Journal of the Royal Statistical Society: Series B (Statistical Methodology)  Wiley Online Library". onlinelibrary.wiley.com. Retrieved 20150611.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ ^{10.0} ^{10.1} Kalos & Whitlock 2008
 ↑ ^{11.0} ^{11.1} Metropolis 1987
 ↑ Eckhardt 1987
 ↑ McKean, Henry, P. (1967). "Propagation of chaos for a class of nonlinear parabolic equations". Lecture Series in Differential Equations, Catholic Univ. 7: 41–57.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Herman, Kahn; Harris, Theodore, E. (1951). "Estimation of particle transmission by random sampling" (PDF). Natl. Bur. Stand. Appl. Math. Ser. 12: 27–30.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Barricelli, Nils Aall (1954). "Esempi numerici di processi di evoluzione". Methodos: 45–68.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Barricelli, Nils Aall (1957). "Symbiogenetic evolution processes realized by artificial methods". Methodos: 143–182.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ ^{19.0} ^{19.1} Del Moral, Pierre (2004). FeynmanKac formulae. Genealogical and interacting particle approximations. Springer. p. 575.
Series: Probability and Applications
<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>  ↑ ^{20.0} ^{20.1} Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ ^{25.0} ^{25.1} Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Fermi, Enrique; Richtmyer, Robert, D. (1948). "Note on censustaking in Monte Carlo calculations" (PDF). LAM. 805 (A).
Declassified report Los Alamos Archive
<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>  ↑ ^{27.0} ^{27.1} Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ ^{30.0} ^{30.1} Del Moral, Pierre (1996). "Non Linear Filtering: Interacting Particle Solution" (PDF). Markov Processes and Related Fields. 2 (4): 555–580.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Carvalho, Himilcon; Del Moral, Pierre; Monin, André; Salut, Gérard (July 1997). "Optimal Nonlinear Filtering in GPS/INS Integration" (PDF). IEEETrans. on Aerospace and electronic systems. 33 (3).<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ P. Del Moral, G. Rigal, and G. Salut. Estimation and nonlinear optimal control : An unified framework for particle solutions
LAASCNRS, Toulouse, Research Report no. 91137, DRETDIGILOG LAAS/CNRS contract, April (1991).  ↑ P. Del Moral, G. Rigal, and G. Salut. Nonlinear and non Gaussian particle filters applied to inertial platform repositioning.
LAASCNRS, Toulouse, Research Report no. 92207, STCAN/DIGILOGLAAS/CNRS Convention STCAN no. A.91.77.013, (94p.) September (1991).  ↑ 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).  ↑ 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).  ↑ P. Del Moral, J.Ch. Noyer, G. Rigal, and G. Salut. Particle filters in radar signal processing : detection, estimation and air targets recognition.
LAASCNRS, Toulouse, Research report no. 92495, December (1992).  ↑ 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).  ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ 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.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ 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.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Ripley 1987
 ↑ ^{46.0} ^{46.1} Sawilowsky 2003
 ↑ Davenport 1992
 ↑ Vose 2000, p. 13
 ↑ Vose 2000, p. 16
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Baeurle 2009
 ↑ MacGillivray & Dodd 1982
 ↑ Golden 1979
 ↑ Int Panis et al. 2001
 ↑ Int Panis et al. 2002
 ↑ G. A. Bird, Molecular Gas Dynamics, Clarendon, Oxford (1976)
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Ojeda & et al. 2009,
 ↑ Milik & Skolnick 1993
 ↑ Sawilowsky & Fahoome 2003
 ↑ http://sander.landofsand.com/publications/MonteCarlo_Tree_Search__A_New_Framework_for_Game_AI.pdf
 ↑ "Monte Carlo Tree Search  About".<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ "Parallel MonteCarlo Tree Search".<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ http://www.tantrix.com:4321/Tantrix/TRobot/MCTS%20Final%20Report.pdf
 ↑ http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Publications_files/pomcp.pdf
 ↑ "Improving Monte–Carlo Tree Search in Havannah".<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ http://www.arimaa.com/arimaa/papers/ThomasJakl/bcthesis.pdf
 ↑ SzirmayKalos 2008
 ↑ "How the Coast Guard Uses Analytics to Search for Those Lost at Sea". Dice Insights.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ http://www.ifremer.fr/webcom/sar2011/Presentations/SARWS2011_STONE_L.pdf
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Kroese, D. P.; Taimre, T.; Botev, Z. I. (2011). Handbook of Monte Carlo Methods. John Wiley & Sons.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 ↑ ^{76.0} ^{76.1} Press et al. 1996
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 ↑ Mosegaard & Tarantola 1995
 ↑ Tarantola 2005
 ↑ Shirangi, M. G., History matching production data and uncertainty assessment with an efficient TSVD parameterization algorithm, Journal of Petroleum Science and Engineering, http://www.sciencedirect.com/science/article/pii/S0920410513003227
References
 Anderson, Herbert L. (1986). "Metropolis, Monte Carlo and the MANIAC" (PDF). Los Alamos Science. 14: 96–108.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Berg, Bernd A. (2004). Markov Chain Monte Carlo Simulations and Their Statistical Analysis (With WebBased Fortran Code). Hackensack, NJ: World Scientific. ISBN 9812389350.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Binder, Kurt (1995). The Monte Carlo Method in Condensed Matter Physics. New York: Springer. ISBN 0387543694.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Caflisch, R. E. (1998). Monte Carlo and quasiMonte Carlo methods. Acta Numerica. 7. Cambridge University Press. pp. 1–49.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Doucet, Arnaud; Freitas, Nando de; Gordon, Neil (2001). Sequential Monte Carlo methods in practice. New York: Springer. ISBN 0387951466.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Eckhardt, Roger (1987). "Stan Ulam, John von Neumann, and the Monte Carlo method" (PDF). Los Alamos Science, Special Issue (15): 131–137.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Fishman, G. S. (1995). Monte Carlo: Concepts, Algorithms, and Applications. New York: Springer. ISBN 038794527X.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Gould, Harvey; Tobochnik, Jan (1988). An Introduction to Computer Simulation Methods, Part 2, Applications to Physical Systems. Reading: AddisonWesley. ISBN 020116504X.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Grinstead, Charles; Snell, J. Laurie (1997). Introduction to Probability. American Mathematical Society. pp. 10–11.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Hammersley, J. M.; Handscomb, D. C. (1975). Monte Carlo Methods. London: Methuen. ISBN 0416523404.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Hartmann, A.K. (2009). Practical Guide to Computer Simulations. World Scientific. ISBN 9789812834157.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Hubbard, Douglas (2007). How to Measure Anything: Finding the Value of Intangibles in Business. John Wiley & Sons. p. 46.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Hubbard, Douglas (2009). The Failure of Risk Management: Why It's Broken and How to Fix It. John Wiley & Sons.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Kahneman, D.; Tversky, A. (1982). Judgement under Uncertainty: Heuristics and Biases. Cambridge University Press.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Kalos, Malvin H.; Whitlock, Paula A. (2008). Monte Carlo Methods. WileyVCH. ISBN 9783527407606.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Kroese, D. P.; Taimre, T.; Botev, Z.I. (2011). Handbook of Monte Carlo Methods. New York: John Wiley & Sons. p. 772. ISBN 0470177934.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 MacGillivray, H. T.; Dodd, R. J. (1982). "MonteCarlo simulations of galaxy systems" (PDF). Astrophysics and Space Science. Springer Netherlands. 86 (2).<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 MacKeown, P. Kevin (1997). Stochastic Simulation in Physics. New York: Springer. ISBN 9813083263.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Metropolis, N. (1987). "The beginning of the Monte Carlo method" (PDF). Los Alamos Science (1987 Special Issue dedicated to Stanislaw Ulam): 125–130.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Int Panis, L; Rabl, A; De Nocker, L; Torfs, R (2002). P. Sturm, ed. "Diesel or Petrol ? An environmental comparison hampered by uncertainty". Mitteilungen Institut für Verbrennungskraftmaschinen und Thermodynamik. Technische Universität Graz Austria. Heft 81 Vol 1: 48–54.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1996) [1986]. Numerical Recipes in Fortran 77: The Art of Scientific Computing. Fortran Numerical Recipes. 1 (Second ed.). Cambridge University Press. ISBN 052143064X.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Ripley, B. D. (1987). Stochastic Simulation. Wiley & Sons.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Robert, C. P.; Casella, G. (2004). Monte Carlo Statistical Methods (2nd ed.). New York: Springer. ISBN 0387212396.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Rubinstein, R. Y.; Kroese, D. P. (2007). Simulation and the Monte Carlo Method (2nd ed.). New York: John Wiley & Sons. ISBN 9780470177938.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
 Sawilowsky, Shlomo S.; Fahoome, Gail C. (2003). Statistics via Monte Carlo Simulation with Fortran. Rochester Hills, MI: JMASM. ISBN 0974023604.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Sawilowsky, Shlomo S. (2003). "You think you've got trivials?" (PDF). Journal of Modern Applied Statistical Methods. 2 (1): 218–225.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Silver, David; Veness, Joel (2010). "MonteCarlo Planning in Large POMDPs" (PDF). In Lafferty, J.; Williams, C. K. I.; ShaweTaylor, J.; Zemel, R. S.; Culotta, A. Advances in Neural Information Processing Systems 23. Neural Information Processing Systems Foundation.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 SzirmayKalos, László (2008). Monte Carlo Methods in Global Illumination  Photorealistic Rendering with Randomization. VDM Verlag Dr. Mueller e.K. ISBN 9783836479196.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Tarantola, Albert (2005). Inverse Problem Theory. Philadelphia: Society for Industrial and Applied Mathematics. ISBN 0898715725.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
 Vose, David (2008). Risk Analysis, A Quantitative Guide (Third ed.). John Wiley & Sons.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
Wikimedia Commons has media related to Monte Carlo method. 
 Articles with unsourced statements from December 2014
 Wikipedia articles needing clarification from May 2012
 Monte Carlo methods
 Numerical analysis
 Statistical mechanics
 Computational physics
 Sampling techniques
 Statistical approximations
 Stochastic simulation
 Probabilistic complexity theory
 Risk analysis
 Risk management