搜索

急求一个关于蒙特卡洛算法的外文翻译

发布网友 发布时间:2022-04-24 13:31

我来回答

3个回答

热心网友 时间:2023-10-14 13:01

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, given that a circle inscribed in a square and the square itself have a ratio of areas that is π/4, the value of π can be approximated using a Monte Carlo method:[4]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 procere 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 π.To get an accurate approximation for π this procere should have two other common properties of Monte Carlo methods. First, the inputs should truly be random. If grains are purposefully dropped into only the center of the circle, they will not be uniformly distributed, and so our approximation will be poor. Second, there should be a large number of inputs. The approximation will generally be poor if only a few grains are randomly dropped into the whole square. On average, the approximation improves as more grains are dropped.[edit] 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 strips of wood. In the 1930s, Enrico Fermi invented the Monte Carlo method while studying neutron diffusion, but did not publish anything on it.[3]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 or how much energy the neutron was likely to give off following a collision, the problem could not be solved with analytical calculations. Stanis�0�0aw 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.–Stanis�0�0aw Ulam[5]Being secret, the work of von Neumann and Ulam required a code name. Von Neumann chose the name "Monte Carlo". The name is a reference to the Monte Carlo Casino in Monaco where Ulam's uncle would borrow money to gamble.[1][6][7]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 ring 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 generators, which were far quicker to use than the tables of random numbers that had been previously used for statistical sampling.[edit] Definitions There is no consensus on how Monte Carlo should be defined. For example, Ripley[8] defines most probabilistic modeling as stochastic simulation, with Monte Carlo being reserved for Monte Carlo integration and Monte Carlo statistical tests. Sawilowsky[9] distinguishes between a simulation, 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. A Monte Carlo simulation uses repeated sampling to determine the properties of some phenomenon. Examples:

热心网友 时间:2023-10-14 13:02

Monte Carlo methods (or Monte Carlo experiments) are a class of computational algorithms that rely on repeatedrandom sampling to compute their results. Monte Carlo methods are often used in simulating physical and mathematicalsystems. These methods are most suited to calculation by a computer and tend to be used when it is infeasible to compute an exact result with a deterministic algorithm.This method is also used to complement the theoretical derivations.Monte Carlo methods are especially 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). They are used to model phenomena with significant uncertainty in inputs, such as the calculation of risk in business. They are widely used in mathematics, for example to evaluate multidimensional definite integrals with complicated boundary conditions. When Monte Carlo simulations have been applied in space exploration and oil exploration, their predictions of failures, cost overruns and schele overruns are routinely better than human intuition or alternative "soft" methods.The Monte Carlo method is named after the Monte Carlo casino, a famous gambling venue. The term was coined in the 1940s by physicists working on nuclear weapon projects in the Los Alamos National Laboratory.

热心网友 时间:2023-10-14 13:02

In probability and statistics on the basis of theory and method of a method of calculating. Will solve problems which the probability model with certain associated with computer to realize, statistical simulation or sampling, to obtain the approximate solution of the problem. For example, given x = a, and x = b, you ask a curve f and the two lines, and x axis surrounded the area, you can set up a horizontal line y y axis of c = c > = f (x) Max, very simple, you can find out y = c, x = a, x = b, and x axis surrounded the rectangular area, then use a randomly generated in the rectangular within the scope of point, statistical appeared in the curve upper points and appear in the lower the number of points, curve, nodeDownCount doteUpCount for: remember, then the area can approximate required for doteDownCounts rectangular area proportion *.
  利用蒙特卡洛算法近似求圆周率PI   VC++6.0   ZZH   */   #include<iostream>   #include<cmath>   #include<ctime>   #define COUNT 500000 //循环取样次数   using namespace std;   bool InCircle(double x,double y)//是否在1/4圆范围之内   ...{   if((x*x+y*y)<=1)return true;   return false;   }   void main()   ...{   double x,y;   int num=0;   int i;   srand((unsigned)time(NULL));   for(i=0;i<COUNT;i++)   ...{   x=rand()*1.0/RAND_MAX;   y=rand()*1.0/RAND_MAX;   if(InCircle(x,y)) num++;   }   cout<<"PI:"<<(num*4.0)/COUNT<<endl;   }   结果:测试5次的结果显示:3.13958,3.14041,3.13729,3.13859,3.14186[1]
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top