Monte Carlo methods are a class of computational algorithms that rely on repeated random sampling to obtain numerical results. The idea is to use randomness to solve problems that might be deterministic in principle.
Monte Carlo methods are mainly used in three distinct problem classes: optimization, numerical integration, and generating draws from a probability distribution.
Monte Carlo methods are often implemented using computer simulations, and they can provide approximate solutions to problems that are otherwise intractable or too complex to analyze mathematically.
Monte Carlo methods 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 of the outputs.
- Aggregate the results.