All Topics  
Monte Carlo method

 

   Email Print
   Bookmark   Link






 

Monte Carlo method



 
 
Monte Carlo methods are a class of computation
Computation

Computation is a general term for any type of information processing. This includes phenomena ranging from human thinking to calculations with a more narrow meaning....
al algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
s that rely on repeated random sampling to compute their results. Monte Carlo methods are often used when simulating
Computer simulation

A computer simulation, a computer model or a computational model is a computer program, or network of computers, that attempts to simulation an abstract model of a particular system....
 physical
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
 and mathematical
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
 systems. Because of their reliance on repeated computation and random
Random number

Random number may refer to:* A number generated for or part of a set exhibiting statistical randomness.* A random sequence obtained from a stochastic process....
 or pseudo-random
Pseudorandomness

A pseudo random process is a process that appears randomness but is not. Pseudo random sequences typically exhibit statistical randomness while being generated by an entirely deterministic causal process....
 numbers, Monte Carlo methods are most suited to calculation by a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
. Monte Carlo methods tend to be used when it is infeasible or impossible to compute an exact result with a deterministic algorithm
Deterministic algorithm

In computer science, a deterministic algorithm is an algorithm which, in informal terms, behaves predictably. Given a particular input, it will always produce the same output, and the underlying machine will always pass through the same sequence of states....
.

Monte Carlo simulation methods are especially useful in studying systems with a large number of coupled
Coupling (physics)

In physics, two systems are coupled if they are interaction with each other. Of special interest is the coupling of two vibratory systems by means of spring s or magnetic fields, etc....
 degrees of freedom, such as fluids, disordered materials, strongly coupled solids, and cellular structures (see cellular Potts model
Cellular Potts model

The cellular Potts model is a lattice model -based computational modeling method to simulate the collective behavior of cellular structures. Other names for the CPM are extended large-q Potts model and Glazier and Graner model....
).






Discussion
Ask a question about 'Monte Carlo method'
Start a new discussion about 'Monte Carlo method'
Answer questions from other users
Full Discussion Forum



Recent Posts









Encyclopedia


Monte Carlo methods are a class of computation
Computation

Computation is a general term for any type of information processing. This includes phenomena ranging from human thinking to calculations with a more narrow meaning....
al algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
s that rely on repeated random sampling to compute their results. Monte Carlo methods are often used when simulating
Computer simulation

A computer simulation, a computer model or a computational model is a computer program, or network of computers, that attempts to simulation an abstract model of a particular system....
 physical
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
 and mathematical
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
 systems. Because of their reliance on repeated computation and random
Random number

Random number may refer to:* A number generated for or part of a set exhibiting statistical randomness.* A random sequence obtained from a stochastic process....
 or pseudo-random
Pseudorandomness

A pseudo random process is a process that appears randomness but is not. Pseudo random sequences typically exhibit statistical randomness while being generated by an entirely deterministic causal process....
 numbers, Monte Carlo methods are most suited to calculation by a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
. Monte Carlo methods tend to be used when it is infeasible or impossible to compute an exact result with a deterministic algorithm
Deterministic algorithm

In computer science, a deterministic algorithm is an algorithm which, in informal terms, behaves predictably. Given a particular input, it will always produce the same output, and the underlying machine will always pass through the same sequence of states....
.

Monte Carlo simulation methods are especially useful in studying systems with a large number of coupled
Coupling (physics)

In physics, two systems are coupled if they are interaction with each other. Of special interest is the coupling of two vibratory systems by means of spring s or magnetic fields, etc....
 degrees of freedom, such as fluids, disordered materials, strongly coupled solids, and cellular structures (see cellular Potts model
Cellular Potts model

The cellular Potts model is a lattice model -based computational modeling method to simulate the collective behavior of cellular structures. Other names for the CPM are extended large-q Potts model and Glazier and Graner model....
). More broadly, Monte Carlo methods are useful for modeling phenomena with significant uncertainty
Uncertainty

Uncertainty is a term used in subtly different ways in a number of fields, including philosophy, Uncertainty_principle , statistics, economics, finance, insurance, psychology, sociology, engineering, and information science....
 in inputs, such as the calculation of risk
Risk

Risk is a concept that denotes the precise probability of specific eventualities. Technically, the notion of risk is independent from the notion of value and, as such, eventualities may have both beneficial and adverse consequences....
 in business. These methods are also widely used in mathematics: a classic use is for the evaluation of definite integrals, particularly multidimensional integrals with complicated boundary conditions.

The term Monte Carlo method was coined in the 1940s by physicists working on nuclear weapon projects in the Los Alamos National Laboratory
Los Alamos National Laboratory

Los Alamos National Laboratory is a United States Department of Energy United States Department of Energy National Labs, managed and operated by Los Alamos National Security, LLC , located in Los Alamos, New Mexico....
.

Overview

There is no single Monte Carlo method; instead, the term describes a large and widely-used class of approaches. However, these approaches tend to follow a particular pattern:
  1. Define a domain of possible inputs.
  2. Generate inputs randomly from the domain.
  3. Perform a deterministic computation using the inputs.
  4. Aggregate the results of the individual computations into the final result.


For example, the value of p
Pi

Pi or p is a mathematical constant whose value is the ratio of any circle's circumference to its diameter in Euclidean geometry; this is the same value as the ratio of a circle's area to the square of its radius....
 can be approximated using a Monte Carlo method:
  1. Draw a square on the ground, then inscribe a circle within it.
  2. Uniformly
    Uniform distribution (continuous)

    In probability theory and statistics, the continuous uniform distribution is a family of probability distributions such that for each member of the family, all interval s of the same length on the distribution's support are equally probable....
     scatter some objects of uniform size throughout the square. For example, grains of rice or sand.
  3. Count the number of objects in the circle, multiply by four, and divide by the total number of objects in the square.
  4. The proportion of objects within the circle vs objects within the square will approximate p/4, which is the ratio of the circle's area to the square's area, thus giving an approximation to p.


Notice how the p approximation follows the general pattern of Monte Carlo algorithms. First, we define a domain of inputs: in this case, it's the square which circumscribes our circle. Next, we generate inputs randomly (scatter individual grains within the square), then perform a computation on each input (test whether it falls within the circle). At the end, we aggregate the results into our final result, the approximation of p. Note, also, two other common properties of Monte Carlo methods: the computation's reliance on good random numbers, and its slow convergence to a better approximation as more data points are sampled. If grains are purposefully dropped into only, for example, the center of the circle, they will not be uniformly distributed, and so our approximation will be poor. An approximation will also be poor if only a few grains are randomly dropped into the whole square. Thus, the approximation of p will become more accurate both as the grains are dropped more uniformly and as more are dropped.

History

The name "Monte Carlo" was popularized by physics researchers Stanislaw Ulam, Enrico Fermi
Enrico Fermi

Enrico Fermi was an Italian physicist most noted for his work on the development of the first nuclear reactor, and for his contributions to the development of Quantum mechanics, nuclear physics and particle physics, and statistical mechanics....
, John von Neumann
John von Neumann

John von Neumann was a Hungarian American mathematician who made major contributions to a vast range of fields, including set theory, functional analysis, quantum mechanics, ergodic theory, continuous geometry, economics and game theory, computer science, numerical analysis, hydrodynamics , and statistics, as well as many other mathematical...
, and Nicholas Metropolis
Nicholas Metropolis

Nicholas Constantine Metropolis was a Greek American mathematician, physicist, and computer scientist....
, among others; the name is a reference to the Monte Carlo Casino
Monte Carlo Casino

The Monte Carlo Casino is one of the most famous tourist attractions of Monaco.The casino complex is a gambling facility which also includes the Grand Th??tre de Monte Carlo, an opera and ballet house, and the headquarters of the Ballets de Monte Carlo....
 in Monaco
Monaco

Monaco , officially the Principality of Monaco , is a small sovereign city-state located in South Western Europe . The territory lies on the northern coast of the Mediterranean Sea....
 where Ulam's uncle would borrow money to gamble. The use of randomness
Randomness

Randomness is a lack of order, purpose, Causality, or predictability. Randomness as defined by Aristotle is the situation, when a choice is to be made which has no logical component by which to determine or make the choice ....
 and the repetitive nature of the process are analogous to the activities conducted at a casino.

Random methods of computation and experimentation (generally considered forms of stochastic simulation
Stochastic simulation

Stochastic simulation algorithms and methods were initially developed to analyse chemical reactions involving large numbers of species with complex reaction kinetics....
) can be arguably traced back to the earliest pioneers of probability theory (see, e.g., Buffon's needle
Buffon's needle

In mathematics, Buffon's needle problem is a question first posed in the 18th century by Georges-Louis Leclerc, Comte de Buffon:Using integral geometry, the problem can be solved to get a Monte Carlo method to approximate pi....
, 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 (see Simulated annealing
Simulated annealing

Simulated annealing is a generic probabilistic algorithm metaheuristic for the global optimization problem of applied mathematics, namely locating a good approximation to the global optimum of a given function in a large search space....
). 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.

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
Neutron

The neutron is a subatomic particle with no net electric charge and a mass slightly larger than that of a proton.Neutrons are usually found in atomic nucleus....
. Monte Carlo methods were central to the simulation
Simulation

Simulation is the imitation of some real thing, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviors of a selected physical or abstract system....
s required for the Manhattan Project
Manhattan Project

The Manhattan Project was the project to develop the first atomic weapon during World War II; involving the United States, the United Kingdom, and Canada....
, though were severely limited by the computational tools at the time. Therefore, 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
Los Alamos National Laboratory

Los Alamos National Laboratory is a United States Department of Energy United States Department of Energy National Labs, managed and operated by Los Alamos National Security, LLC , located in Los Alamos, New Mexico....
 for early work relating to the development of the hydrogen bomb, and became popularized in the fields of physics
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
, physical chemistry
Physical chemistry

Physical chemistry is the application of physics to macroscopic, microscopic, atomic, subatomic, and particulate phenomena in chemical systems within the field of chemistry traditionally using the principles, practices and concepts of thermodynamics, quantum chemistry, statistical mechanics and kinetics....
, and operations research
Operations research

Operations Research in the USA, South Africa and Australia, and Operational Research in Europe and Canada, is an interdisciplinary branch of applied mathematics and formal science that uses methods such as mathematical modeling, statistics, and algorithms to arrive at optimal or near optimal solutions to complex problems....
. 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.

Uses of Monte Carlo methods require large amounts of random numbers, and it was their use that spurred the development of pseudorandom number generator
Pseudorandom number generator

A pseudorandom number generator is an algorithm for generating a sequence of numbers that approximates the properties of random numbers. The sequence is not truly random in that it is completely determined by a relatively small set of initial values, called the PRNG's state. Although sequences that are closer to truly random can be gen...
s, which were far quicker to use than the tables of random numbers which had been previously used for statistical sampling.

Applications

As mentioned, Monte Carlo simulation methods are especially useful for modeling phenomena with significant uncertainty
Uncertainty

Uncertainty is a term used in subtly different ways in a number of fields, including philosophy, Uncertainty_principle , statistics, economics, finance, insurance, psychology, sociology, engineering, and information science....
 in inputs and in studying systems with a large number of coupled
Coupling (physics)

In physics, two systems are coupled if they are interaction with each other. Of special interest is the coupling of two vibratory systems by means of spring s or magnetic fields, etc....
 degrees of freedom. Specific areas of application include:

Physical sciences

Monte Carlo methods are very important in computational physics
Computational physics

Computational physics is the study and implementation of numerical algorithms in order to solve problems in physics for which a quantitative theory already exists....
, physical chemistry
Physical chemistry

Physical chemistry is the application of physics to macroscopic, microscopic, atomic, subatomic, and particulate phenomena in chemical systems within the field of chemistry traditionally using the principles, practices and concepts of thermodynamics, quantum chemistry, statistical mechanics and kinetics....
, and related applied fields, and have diverse applications from complicated quantum chromodynamics
Quantum chromodynamics

Quantum chromodynamics is a theory of the strong interaction , a fundamental force describing the interactions of the quarks and gluons making up hadrons ....
 calculations to designing heat shield
Heat shield

A heat shield is a protective layer on a spacecraft or ballistic missile that is designed to protect it from the high temperature of atmospheric entry, on a body with an atmosphere, such as Earth, Mars and Venus....
s and aerodynamic
Aerodynamics

Aerodynamics is a branch of Dynamics concerned with studying the motion of air, particularly when it interacts with a moving object. Aerodynamics is a subfield of fluid dynamics and gas dynamics, with much theory shared between them....
 forms. The Monte Carlo method is widely used in statistical physics
Statistical physics

Statistical physics is the area of physics that uses methods of probability theory and statistics, and particularly the Mathematics tools for dealing with large populations, in solving physical problems....
, in particular, Monte Carlo molecular modeling
Monte Carlo molecular modeling

Monte Carlo molecular modeling is the application of Monte Carlo methods to molecular problems. These problems can also be modeled by the molecular dynamics method....
 as an alternative for computational molecular dynamics
Molecular dynamics

Molecular dynamics is a form of computer simulation in which atoms and molecules are allowed to interact for a period of time by approximations of known physics,...
; see Monte Carlo method in statistical physics
Monte Carlo method in statistical physics

Monte Carlo in statistical physics refers to the application of the Monte Carlo method to problems in statistical physics, or statistical mechanics....
. In experimental particle physics
Particle physics

Particle physics is a branch of physics that studies the elementary particle constituents of matter and radiation, and the interactions between them....
, these methods are used for designing detectors
Particle detector

In experimental and applied particle physics and nuclear engineering, a particle detector, also known as a radiation detector, is a device used to detect, track, and/or identify high-energy Elementary particles, such as those produced by nuclear decay, cosmic radiation, or reactions in a particle accelerator....
, understanding their behavior and comparing experimental data to theory.

Design and visuals

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
Global illumination

Global illumination is a general name for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes....
 computations which produce photorealistic images of virtual 3D models, with applications in video games, architecture
Architecture

The term architecture can refer to a process, a profession or documentation.As a process, architecture is the activity of designing and construction buildings and other physical structures by a person or a computer, primarily to provide shelter....
, design
Design

Design is used both as a noun and a verb. The term is often tied to the various applied arts and engineering . As a verb, "to design" refers to the process of originating and planning for a product, structure, system, or component with intention....
, computer generated film
Film

Film encompasses individual motion pictures, the field of film as an art form, and the film industry. Films are produced by recording images from the world with cameras, or by creating images using animation techniques or special effects....
s, special effects in cinema.

Finance and business

Monte Carlo methods in finance
Monte Carlo methods in finance

In finance and mathematical finance, Monte Carlo methods are used to value and analyze financial instruments, portfolio s and investments by simulation the various sources of uncertainty affecting their value, and then determining their average value over the range of resultant outcomes ....
 are often used to calculate the value of companies, to evaluate investments in projects at corporate level or to evaluate financial derivatives. The Monte Carlo method is intended for financial analysts who want to construct stochastic or probabilistic financial models as opposed to the traditional static and deterministic models. For its use in the insurance industry, see stochastic modelling
Stochastic modelling

This page is concerned with the stochastic modelling as applied to the insurance industry. For other stochastic modelling applications, please see Monte Carlo method....
.

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.

Monte Carlo Simulation versus “What If” Scenarios
The opposite of Monte Carlo simulation might be considered deterministic modeling using single-point estimates. Each uncertain variable within a model is assigned a “best guess” estimate. Various combinations of each input variable are manually chosen (such as best case, worst case, and most likely case), and the results recorded for each so-called “what if” scenario.

By contrast, Monte Carlo simulation considers random sampling of probability distribution functions as model inputs to produce hundreds or thousands of possible outcomes instead of a few discrete scenarios. The results provide probabilities of different outcomes occurring. For example, a comparison of a spreadsheet cost construction model run using traditional “what if” scenarios, and then run again with Monte Carlo simulation and Triangular probability distributions shows that the Monte Carlo analysis has a narrower range than the “what if” analysis. This is because the “what if” analysis gives equal weight to all scenarios.

For an application, see Quantifying uncertainty
Corporate finance

Corporate finance is an area of finance dealing with the financial decisions corporations make and the tools and analysis used to make these decisions....
 under Corporate finance
Corporate finance

Corporate finance is an area of finance dealing with the financial decisions corporations make and the tools and analysis used to make these decisions....
.

Use in mathematics

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.

Integration

Deterministic methods of numerical integration
Numerical integration

In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical ordinary differential equations....
 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
Vector space

File:Vector addition ans scaling.pngA vector space is a mathematical structure formed by a collection of vectors: objects that may be Vector addition together and Scalar multiplication by numbers, called scalar s in this context....
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 10100
Googol

A googol is the large number 10100, that is, the numerical digit 1 followed by one hundred 0 .The term was coined in 1938 by Milton Sirotta , nephew of American mathematician Edward Kasner....
 points—far too many to be computed. 100 dimension
Dimension

In mathematics, the dimension of a space is roughly defined as the minimum number of coordinates needed to specify every point within it. For example: a point on the unit circle in the plane can be specified by two Cartesian coordinates but one can make do with a single coordinate , so the circle is 1-dimensional even though it exists in...
s is by no means unreasonable, since in many physical problems, a "dimension" is equivalent to a degree of freedom
Degrees of freedom (physics and chemistry)

Degrees of freedom is a general term used in explaining dependence on parameters, and implying the possibility of counting the number of those parameters....
. (See Curse of dimensionality
Curse of dimensionality

The curse of dimensionality is a term coined by Richard Bellman to describe the problem caused by the exponential increase in volume associated with adding extra dimensions to a space....
.)

Monte Carlo methods provide a way out of this exponential time-increase. As long as the function in question is reasonably well-behaved
Well-behaved

Mathematicians very frequently speak of whether a mathematics object — a number, a Function , a Set , a space of one sort or another — is "well-behaved" or not....
, 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
Law of large numbers

The law of large numbers is a theorem in probability that describes the long-term stability of the arithmetic mean of a random variable. Given a random variable with a finite expected value, if its values are repeatedly sampled, as the number of these observations increases, their mean will tend to approach and stay close to the expected va...
, this method will display convergence—i.e. quadrupling the number of sampled points will halve the error, regardless of the number of dimensions.

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.

A similar approach involves using low-discrepancy sequence
Low-discrepancy sequence

In mathematics, a low-discrepancy sequence is a sequence with the property that for all values of N, its subsequence x1, ..., xN has a low discrepancy of a sequence....
s instead—the quasi-Monte Carlo method
Quasi-Monte Carlo method

In numerical analysis, a quasi-Monte Carlo method is a method for the computation of an integral that is based on low-discrepancy sequences. This is in contrast to a regular Monte Carlo method, which is based on sequences of pseudorandom numbers....
. 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.

Integration methods
  • Direct sampling methods
    • Importance sampling
      Importance sampling

      In statistics, importance sampling is a general technique for estimating the properties of a particular probability distribution, while only having samples generated from a different distribution rather than the distribution of interest....
    • Stratified sampling
      Stratified sampling

      In statistics, stratified sampling is a method of sampling from a population.When sub-populations vary considerably, it is advantageous to sample each subpopulation independently....
    • Recursive stratified sampling
    • VEGAS algorithm
      VEGAS algorithm

      The VEGAS algorithm, due to G. P. Lepage, is a method for variance reduction in Monte Carlo simulations by using a known or approximate probability distribution function to concentrate the search in those areas of the graph that make the greatest contribution to the final integral....
  • Random walk Monte Carlo including Markov chain
    Markov chain

    In mathematics, a Markov chain, named after Andrey Markov, is a stochastic process with the Markov property. Having the Markov property means that, given the present state, future states are independent of the past states. In other words, the description of the present state fully captures all the information that could influence th...
    s
    • Metropolis-Hastings algorithm
      Metropolis-Hastings algorithm

      In mathematics and physics, the Metropolis-Hastings algorithm is a method for creating a Markov chain that can be used to generate a sequence of Sample_%28statistics%29 from a probability distribution that is difficult to Sampling from directly....
  • Gibbs sampling
    Gibbs sampling

    In mathematics and physics, Gibbs sampling is an algorithm to generate a sequence of samples from the joint probability of two or more random variables....


Optimization

Another powerful and very popular application for random numbers in numerical simulation is in numerical optimization
Optimization (mathematics)

In mathematics, the simplest case of optimization, or mathematical programming, refers to the study of problems in which one seeks to maxima and minima or maxima and minima a Function of a real variable by systematically choosing the values of Real number or integer variables from within an allowed set....
. 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
Computer chess

Computer chess is computer architecture encompassing computer hardware and computer software capable of playing chess Autonomy without human guidance....
 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
Multidisciplinary design optimization

Multidisciplinary design optimization is a field of engineering that uses optimization methods to solve design problems incorporating a number of disciplines....
.

Most Monte Carlo optimization methods are based on random walk
Random walk

A random walk, sometimes denoted RW, is a mathematical formalization of a trajectory that consists of taking successive random steps. The results of random walk analysis have been applied to computer science, physics, ecology, economics and a number of other fields as a fundamental Statistical model for random processes in time....
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
Gradient

In vector calculus, the gradient of a scalar field is a vector field which points in the direction of the greatest rate of increase of the scalar field, and whose magnitude is the greatest rate of change....
.

Optimization methods
  • Evolution strategy
    Evolution strategy

    In computer science, evolution strategy is an optimization technique based on ideas of adaptation and evolution. It was created in the early 1960s and developed further along the 1970s and later by Ingo Rechenberg, Hans-Paul Schwefel and his co-workers, and belongs to the more general class of evolutionary computation or artificial evolutio...
  • Genetic algorithm
    Genetic algorithm

    A genetic algorithm is a Search algorithm wikt:technique used in computing to find exact or approximate solutions to Optimization and Search algorithm problems....
    s
  • Parallel tempering
    Parallel tempering

    Parallel tempering, also known as replica exchange, is a simulation method aimed at improving the dynamic properties of Monte Carlo method simulations of physical systems, and of Markov chain Monte Carlo sampling methods more generally....
  • Simulated annealing
    Simulated annealing

    Simulated annealing is a generic probabilistic algorithm metaheuristic for the global optimization problem of applied mathematics, namely locating a good approximation to the global optimum of a given function in a large search space....
  • Stochastic optimization
    Stochastic optimization

    Stochastic optimization methods are optimization algorithms which incorporate probability elements, either in the problem data , or in the algorithm itself , or in both ....
  • Stochastic tunneling
    Stochastic tunneling

    Stochastic tunneling is an approach to global optimization based on the Monte Carlo method-Sampling of the function to be minimized....


Inverse problems

Probabilistic formulation of inverse problem
Inverse problem

An inverse problem is the task that often occurs in many branches of science and mathematics where the values of some model parameter must be obtained from the observed datum....
s leads to the definition of a probability distribution
Probability distribution

In probability theory and statistics, a probability distribution identifies either the probability of each value of an unidentified random variable , or the probability of the value falling within a particular interval ....
 in the model space. This probability distribution combines a priori
A priori (statistics)

In statistics, a priori knowledge refers to prior knowledge about a statistical population, rather than that estimated by recent observation....
 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.).

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 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) , or Tarantola (2005) .

Computational mathematics

Monte Carlo methods are useful in many areas of computational mathematics, where a lucky choice can find the correct result. A classic example is Rabin's algorithm
Miller-Rabin primality test

The Miller?Rabin primality test or Rabin?Miller primality test is a primality test: an algorithmwhich determines whether a given number is prime number,...
 for primality testing: for any n which is not prime, a random x has at least a 75% chance of proving that n is not prime. Hence, if n is not prime, but x says that it might be, we have observed at most a 1-in-4 event. If 10 different random x say that "n is probably prime" when it is not, we have observed a one-in-a-million event. In general a Monte Carlo algorithm of this kind produces one correct answer with a guarantee n is composite, and x proves it so, but another one without, but with a guarantee of not getting this answer when it is wrong too often — in this case at most 25% of the time. See also Las Vegas algorithm
Las Vegas algorithm

In computing, a Las Vegas algorithm is a randomized algorithm that always gives correctness results; that is, it always produces the correct result or it informs about the failure....
 for a related, but different, idea.

Monte Carlo and random numbers

Interestingly, Monte Carlo simulation methods do not always require truly random number
Random number

Random number may refer to:* A number generated for or part of a set exhibiting statistical randomness.* A random sequence obtained from a stochastic process....
s to be useful — while for some applications, such as primality testing, unpredictability is vital (see Davenport (1995)). 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
Simulation

Simulation is the imitation of some real thing, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviors of a selected physical or abstract system....
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 uniformly distributed
Uniform distribution

Uniform distribution can refer to:...
 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.

See also


General

  • Auxiliary field Monte Carlo
    Auxiliary field Monte Carlo

    Auxiliary field Monte Carlo is a method that allows the calculation, by use of Monte Carlo methods, of averages of operators in many-body quantum mechanics or classical...
  • Bootstrapping (statistics)
    Bootstrapping (statistics)

    In statistics, bootstrapping is a modern, computer-intensive, general purpose approach to statistical inference, falling within a broader class of Resampling methods....
  • Demon algorithm
    Demon algorithm

    Motivation In thermodynamical systems equal macroscopic properties can results from different microscopic properties . Computer simulations of the full equations of motion for every individual particle to simulate microscopic properties is computationally very expensive....
  • Evolutionary Computation
    Evolutionary computation

    In computer science evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problems.Evolutionary computation uses iterative progress, such as growth or development in a population....
  • Las Vegas algorithm
    Las Vegas algorithm

    In computing, a Las Vegas algorithm is a randomized algorithm that always gives correctness results; that is, it always produces the correct result or it informs about the failure....
  • Markov chain
    Markov chain

    In mathematics, a Markov chain, named after Andrey Markov, is a stochastic process with the Markov property. Having the Markov property means that, given the present state, future states are independent of the past states. In other words, the description of the present state fully captures all the information that could influence th...
  • Molecular dynamics
    Molecular dynamics

    Molecular dynamics is a form of computer simulation in which atoms and molecules are allowed to interact for a period of time by approximations of known physics,...
  • Monte Carlo option model
    Monte Carlo option model

    In mathematical finance, a Monte Carlo option model uses Monte Carlo methods to calculate the value of an Option with multiple sources of uncertainty or with complicated features....
  • Monte Carlo integration
  • Quasi-Monte Carlo method
    Quasi-Monte Carlo method

    In numerical analysis, a quasi-Monte Carlo method is a method for the computation of an integral that is based on low-discrepancy sequences. This is in contrast to a regular Monte Carlo method, which is based on sequences of pseudorandom numbers....
  • Random number generator
  • Randomness
    Randomness

    Randomness is a lack of order, purpose, Causality, or predictability. Randomness as defined by Aristotle is the situation, when a choice is to be made which has no logical component by which to determine or make the choice ....
  • Resampling (statistics)
    Resampling (statistics)

    In statistics, resampling is any of a variety of methods for doing one of the following:# Estimating the precision of sample statistics by using subsets of available data or drawing randomly with replacement from a set of data points ...


Application areas

  • Graphics, particularly for ray tracing
    Ray tracing

    In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
    ; a version of the Metropolis-Hastings algorithm
    Metropolis-Hastings algorithm

    In mathematics and physics, the Metropolis-Hastings algorithm is a method for creating a Markov chain that can be used to generate a sequence of Sample_%28statistics%29 from a probability distribution that is difficult to Sampling from directly....
     is also used for ray tracing where it is known as Metropolis light transport
    Metropolis light transport

    This SIGGRAPH 1997 paper by Eric Veach and Leonidas J. Guibas describes an application of a variant of the Monte Carlo method called the Metropolis-Hastings algorithm to the rendering equation for generating images from detailed physical descriptions of three dimensional scenes....
  • Modeling light transport in biological tissue
    Monte Carlo method for photon transport

    Modeling photon propagation with Monte Carlo methods is a flexible yet rigorous approach to simulate photon transport. In the method, local rules of photon transport are expressed as probability distributions which describe the step size of photon movement between sites of photon-tissue interaction and the angles of deflection in a photon's traject...
  • Monte Carlo methods in finance
    Monte Carlo methods in finance

    In finance and mathematical finance, Monte Carlo methods are used to value and analyze financial instruments, portfolio s and investments by simulation the various sources of uncertainty affecting their value, and then determining their average value over the range of resultant outcomes ....
  • Reliability engineering
    Reliability engineering

    Reliability engineering is an engineering field, that deals with the study of reliability: the ability of a system or component to perform its required functions under stated conditions for a specified period of time....
  • In simulated annealing for protein structure prediction
  • In semiconductor device research, to model the transport of current carriers
  • Environmental science, dealing with contaminant behavior
  • Search And Rescue and Counter-Pollution. Models used to predict the drift of a life raft or movement of an oil slick at sea.
  • In probabilistic design
    Probabilistic design

    Probabilistic design is a discipline within Engineering Design. It deals primarily with the consideration of the effects of random variability upon the performance of an engineering system during the design phase....
     for simulating and understanding the effects of variability
  • In physical chemistry
    Physical chemistry

    Physical chemistry is the application of physics to macroscopic, microscopic, atomic, subatomic, and particulate phenomena in chemical systems within the field of chemistry traditionally using the principles, practices and concepts of thermodynamics, quantum chemistry, statistical mechanics and kinetics....
    , particularly for simulations involving atomic clusters
  • In polymer physics
    Polymer physics

    Polymer physics is the field of physics associated to the study of polymers, their fluctuations, Continuum mechanics, as well as the chemical kinetics involving degradation and Polymerization of polymers and monomers respectively....
    • Bond fluctuation model
      Bond fluctuation model

      The BFM is a model for simulation dynamic polymer systems. It was first introduced by Carmesin and Kremer in 1988....
  • In computer science
    • Las Vegas algorithm
      Las Vegas algorithm

      In computing, a Las Vegas algorithm is a randomized algorithm that always gives correctness results; that is, it always produces the correct result or it informs about the failure....
    • LURCH
      LURCH

      LURCH is a tool for Software testing that uses a nondeterministic algorithm to quickly explore the reachable state of a software model. By performing a partial and random search, LURCH looks for faults in the model and reports the pathways leading to the faults....
    • Computer go
      Computer Go

      Computer go is the field of artificial intelligence dedicated to creating a computer program that plays Go , an ancient board game....
    • General Game Playing
      General Game Playing

      General Game Playing is the design of artificial intelligence programs to be able to play more than one game successfully. For many games like chess, computers are programmed to play these games using a specially designed algorithm, which cannot be transferred to another context....
  • Modeling the movement of impurity atoms (or ions) in plasmas in existing and tokamaks (e.g.: DIVIMP).
  • Nuclear and particle physics codes using the Monte Carlo method:
    • GEANT
      GEANT (program)

      GEANT is the name of a series of simulation software designed to describe the passage of elementary particles through matter, using Monte Carlo methods....
       — CERN's simulation of high energy particles interacting with a detector.
    • CompHEP
      CompHEP

      is a software package for automatic computations in High-energy physics from Lagrangians to collision events or particle decays.CompHEP is based on quantum theory of gauge fields, namely it uses the technique of squared Feynman diagrams at the tree level approximation....
      , PYTHIA
      Pythia

      The Pythia was the priestess presiding over the Oracle of Apollo at Delphi, located on the slopes of Mount Parnassus. The Pythia was widely credited with giving prophecy inspired by Apollo, giving her a prominence unusual for a woman in male-dominated ancient Greece....
       — Monte-Carlo generators of particle collisions
    • MCNP(X)
      Monte Carlo N-Particle Transport Code

      Monte Carlo N-Particle Transport Code [MCNP] is a software package for simulating nuclear reaction processes. It was developed and owned by Los Alamos National Laboratory....
       - LANL's radiation transport codes
    • MCU
      Monte Carlo Universal

      Monte Carlo Universal [MCU] is a project on development and practical use of a universal computer code for simulation of particle transport in three-dimensional systems by means of the Monte Carlo method....
      : universal computer code for simulation of particle transport (neutrons, photons, electrons) in three-dimensional systems by means of the Monte Carlo method
    • EGS
      EGS (program)

      The EGS computer code system is a general purpose package for the Monte Carlo method simulation of the coupled transport of Electron and Photon in an arbitrary geometry for particles with energies from a few keV up to several TeV....
       — Stanford's simulation code for coupled transport of electrons and photons
    • PEREGRINE
      Peregrine

      Peregrine can refer to several things. Its primary use is the name of bird of prey, the Peregrine Falcon. "Peregrine" is a given name which means "wanderer"....
      : LLNL's Monte Carlo tool for radiation therapy dose calculations
    • BEAMnrc
      BEAMnrc

      BEAMnrc is a Monte Carlo code system for simulating radiation therapy sources. It was developed as part of the OMEGA project, a collaboration between the National Research Council of Canada and a research group at the University of Wisconsin-Madison....
       — Monte Carlo code system for modeling radiotherapy sources (LINAC
      Linear particle accelerator

      A linear particle accelerator is an electrical device for the acceleration of subatomic particles. This sort of particle accelerator has many applications, from the generation of X-rays in a hospital environment, to an injector into a higher energy synchrotron at a dedicated experimental particle physics laboratory....
      's)
    • PENELOPE
      Penelope

      In Homer's Odyssey, Penel?pe is the faithful wife of Odysseus, who keeps Suitors of Penelope at bay in his long absence and so is eventually rejoined with him....
       — Monte Carlo for coupled transport of photons and electrons, with applications in radiotherapy
    • MONK
      Monk

      A Monk is a person who practices religious asceticism, the unconditioning of mind and body in favor of the realization of one's true nature, and does so living either alone or with any number of like-minded people, whilst always maintaining some degree of physical separation from those not sharing the same purpose....
       — Serco Assurance's code for the calculation of k-effective of nuclear systems
    • Modelling of foam
      Foam

      The most general definition of foam is a substance that is formed by trapping many gas bubbles in a liquid or solid. It can also refer to anything that is analogous to such a phenomenon, such as quantum foam....
       and cellular structures
    • Modeling of tissue
      Biological tissue

      Tissue is a cellular organizational level intermediate between cells and a complete organism. Hence, a tissue is an ensemble of cells, not necessarily identical, but from the same origin, that together carry out a specific function....
       morphogenesis
      Morphogenesis

      Morphogenesis , is the physical process that gives rise to the shape of an organism. It is one of three fundamental aspects of developmental biology along with the control of cell growth and cellular differentiation....
  • Computation of holograms
    • Phylogenetic analysis, i.e. Bayesian inference
      Bayesian inference

      Bayesian inference is statistical inference in which evidence or observations are used to update or to newly infer the probability that a hypothesis may be true....
      , Markov chain Monte Carlo
      Markov chain Monte Carlo

      Markov chain Monte Carlo method methods , are a class of algorithms for sampling from probability distributions based on constructing a Markov chain that has the desired distribution as its Markov chain#Steady-state_analysis_and_limiting_distributions....


Other methods employing Monte Carlo

  • Assorted random models, e.g. self-organised criticality
  • Direct simulation Monte Carlo
    Direct simulation Monte Carlo

    Direct Simulation Monte Carlo method uses probabilistic simulation to solve the Boltzmann equation for finite Knudsen number fluid flows.The DSMC method was proposed by Prof....
  • Dynamic Monte Carlo method
    Dynamic Monte Carlo method

    In chemistry, dynamic Monte Carlo is a method for modeling the dynamic behaviors of molecules by comparing the rates of individual steps with random numbers....
  • Kinetic Monte Carlo
    Kinetic Monte Carlo

    The kinetic Monte Carlo method is a Monte Carlo method computer simulation intended to simulate the time evolution of some processes occurring in nature....
  • Quantum Monte Carlo
    Quantum Monte Carlo

    Quantum Monte Carlo is a large class of computer algorithms that simulate quantum systems with the idea of solving the many-body problem. They use, in one way or another, the Monte Carlo method to handle the many-dimensional integrals that arise....
  • Quasi-Monte Carlo method
    Quasi-Monte Carlo method

    In numerical analysis, a quasi-Monte Carlo method is a method for the computation of an integral that is based on low-discrepancy sequences. This is in contrast to a regular Monte Carlo method, which is based on sequences of pseudorandom numbers....
     using low-discrepancy sequence
    Low-discrepancy sequence

    In mathematics, a low-discrepancy sequence is a sequence with the property that for all values of N, its subsequence x1, ..., xN has a low discrepancy of a sequence....
    s and self avoiding walks
  • Semiconductor charge transport and the like
  • Electron microscopy beam-sample interactions
  • Stochastic optimization
    Stochastic optimization

    Stochastic optimization methods are optimization algorithms which incorporate probability elements, either in the problem data , or in the algorithm itself , or in both ....
  • Cellular Potts model
    Cellular Potts model

    The cellular Potts model is a lattice model -based computational modeling method to simulate the collective behavior of cellular structures. Other names for the CPM are extended large-q Potts model and Glazier and Graner model....
  • Markov chain Monte Carlo
    Markov chain Monte Carlo

    Markov chain Monte Carlo method methods , are a class of algorithms for sampling from probability distributions based on constructing a Markov chain that has the desired distribution as its Markov chain#Steady-state_analysis_and_limiting_distributions....
  • Cross-entropy method
    Cross-entropy method

    The cross-entropy method attributed to Reuven Rubinstein is a general Monte_Carlo_method approach toCombinatorial optimization and Continuous optimization multi-extremal Optimization and importance sampling....
  • Applied information economics
    Applied information economics

    Applied information economics is a decision analysis method developed by Douglas W. Hubbard and partially described in his book "How to Measure Anything: Finding the Value of Intangibles in Business"....
  • Monte Carlo localization
    Monte Carlo localization

    In robotics and sensors, Monte Carlo localization, or MCL, is a Monte Carlo method to determine the position of a robot given a map of its environment based on Markov localization....


External links


  • , Mathworld
  • , Computational Science Education Project
  • , the Quant Equation Archive, at sitmo.com
  • , University of Nebraska-Lincoln
  • (for Excel
    Microsoft Excel

    Microsoft Excel is a spreadsheet-application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables and a macro programming language called VBA ....
    ), Wayne L. Winston
  • , Prof. Don M. Chance
  • , brighton-webs.co.uk
  • , solver.com
  • , Cooper Union
    Cooper Union

    The Cooper Union for the Advancement of Science and Art is a privately-funded college in Downtown Manhattan, New York City. Cooper Union, founded in 1859, established a radical new model of American higher education....
  • , Simon Leger
  • , global-derivatives.com
  • , The Application of Monte Carlo Methodology in Project Appraisal, Savvakis C. Savvides
  • Proc. ISSAC 1992, James H. Davenport
  • , Wikiuniversity paper for students of Structural Engineering
  • , by Professor Wolfhard Janke, Universität Leipzig, Germany
  • , a practical example, Prof. Giancarlo Vercellino
  • , by Alexander Mantzaris


Software

  • - Free Monte Carlo Simulation Excel Add-In
  • (including WinBUGS and OpenBUGS)
  • by Oracle (formerly Decisioneering)
  • by Palisade
  • by Lumenaut
  • by GoldSim
  • - Free Monte Carlo Simulation Add-In for Excel created by Rutgers University
    Rutgers University

    Rutgers, The State University of New Jersey , is the largest institution for higher education in the U.S. state of New Jersey. It was originally chartered as Queen's College in 1766 and is the Colonial colleges in the United States....
  • - Free Monte Carlo Tool created for UK Every Child Matters programme