[拼音]:Mengtekaluofa
[英文]:monte-carlo method
通过构造概率模型并对它进行随机试验来解算数学问题的方法。以计算函式f(x)的定积分
为例(见图),首先构造一个概率模型:取一个边长分别为c和b-a的矩形,并在矩形内随机投点,假设随机点均匀地落在整个矩形之内,则落在图中阴影区内的随机点数n与投点总数N之比 n/N,就近似地等于阴影区面积与矩形面积之比:
。由此可求出定积分
。
蒙特卡罗法历史悠久。1773年法国G.-L.L.von布丰曾通过随机投针试验来确定圆周率π的近似值,这就是应用这个方法的最早例子。蒙特卡罗是摩纳哥著名赌城,1945年J.von诺伊曼等人用它来命名此法,沿用至今。数字计算机的发展为大规模的随机试验提供了有效工具,遂使蒙特卡罗法得到广泛应用。在连续系统和离散事件系统的模拟中,通常构造一个和系统特性相近似的概率模型,并对它进行随机试验,因此蒙特卡罗法也是系统模拟方法之一。
蒙特卡罗法的步骤是:
(1)构造实际问题的概率模型;
(2)根据概率模型的特点,设计和使用降低方差的各类方法,加速试验的收敛;
(3)给出概率模型中各种不同分布随机变数的抽样方法;
(4)统计试验结果,给出问题的解和精度估计。
概率模型
用概率统计的方法对实际问题或系统作出的一种数学描述。例如对离散事件系统中临时实体的到达时间、永久实体的服务时间的描述(见离散事件系统模拟方法)就是采用概率模型。虽然由这些模型所确定的到达时间、服务时间可能与具体某一段时间内实际到达时间、服务时间有出入,但它是通过多次统计获得的结果,所以从概率分布的规律来说还是相符的。概率模型不仅可用来描述本身就具有随机特性的问题或系统,也可用来描述一个确定型问题。例如引数寻优中的随机搜寻法(见动力学系统引数寻优)就是将引数最优化问题构造为一个概率模型,然后用随机投点、统计分析的方法来进行搜寻。
随机数的产生
用蒙特卡罗法进行模拟时,需要应用各种不同分布的随机变数。只要有一种连续分布的随机变数,就可设法得到任意分布的随机变数。在(0,1)上均匀的分布函式是一种最简单的连续分布函式。因此在
蒙特卡罗法中,多是先产生均匀分布随机变数 R的抽样值ri(i=1,2,…),称为随机数。在计算机中产生随机数的方法有:
(1)把已有的随机数表输入计算机;
(2)用物理方法,如噪声型随机数发生器产生出真正的随机数;
(3)用数学方法根据递推公式
由程式来产生。这种方法速度高,佔用机器的记忆体少,使用最为普遍。在计算机中表示一个数字的字长有限,因此只能表示有限个不同的数,而且用递推方法产生的数值序列{rn}是完全确定的,到一定长度便周而复始,这些都与随机数的基本性质相矛盾。但是只要产生的数值序列{rn}能够通过随机数的各种统计检验,仍可以把它当作随机数来使用。为区别起见,常将用数学方法产生的随机数称为伪随机数。
更多信息: 担保