# Monte Carlo method

Monte Carlo method is a non-deterministic numerical algorithm used in computer programming to solve problems that do not lend themselves to analytic or step-wise computation. Solutions to the problem are generated with the aid of some random or pseudo-random factor and then the appropriateness of the randomly generated solution is assessed. This process is repeated multiple times, however, the size of the jump to a new solution is controlled by how good the solution is. So when a solution that is a poor fit is selected, the next random jump is much more likely to be be big, when it is a good solution then the next random jump is more likely to be small. This essentially favors those solutions which are a better fit to the problem.

Monte Carlo methods are used mostly for problems with a large number of variables and dimensions. For example, Bayesian statistics often involve calculating dozens of variables each of which can exist along a continuation of hundreds of thousands or millions of values. In order to find the best solution each value of each variable would have to be integrated. This is an intractable problem even for advanced computers to solve. The development of Monte Carlo methods has allowed Bayesian solutions to large scale problems to be calculated.