蒙特卡罗:从赌城到原子能科学
2014-01-14吴高晨
吴高晨
蒙特卡罗(Monte Carlo)是世界著名的赌城,是摩纳哥的标志。起初,蒙特卡罗方法即赌博方法,后来发展成今天非常强大的数学计算方法,可以求解复杂的科学问题。蒙特卡罗方法系统性的研究开始于1944年前后。当时由于研制原子弹,需要研究中子在裂变物质中的运动规律,提出了一些不易用常规数学方法求解的问题。冯·诺依曼、乌拉姆和费米等科学家发展了这个用于直接模拟的蒙特卡罗方法,解决了这些当时不易解决的难题。如今蒙特卡罗方法在原子能科学技术中有着重要的应用。
撒豆子测面积
蒙特卡罗方法是以随机概率为基础的方法,在金融工程学、宏观经济学、计算物理学等领域应用广泛。当求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。
举一个例子来直观地了解蒙特卡罗方法:假如我们要计算一个不规则图形的面积,这个图形越不规则,就越不容易精确地计算出它的面积,这个时候就可以用上蒙特卡罗方法。假设你有一袋豆子,把豆子均匀随机地朝这个图形上撒,然后数这个图形之中有多少颗豆子,这个豆子的数目就是图形的面积。不过这个面积只是一个估算值,当你的豆子越小,撒得越多的时候,结果就越精确。所以说,蒙特卡罗方法需要依赖大量的实验。
利用随机点计算圆周率
蒙特卡罗方法还可用于估算圆周率,如图,在边长为2的正方形内作一个半径为1的圆,正方形的面积等于2×2=4,圆的面积等于π×1×1=π,由此可得出,正方形的面积与圆形的面积的比值为 4:π。现在让我们用电脑生成若干组均匀分布0-2之间的随机数,作为某一点的坐标散布于正方形内,那么落在正方形内的点数N与落在圆形内的点数K的比值接近于正方形的面积与圆的面积的比值,即,N:K≈4:π,因此,π≈4K/N。
用此方法求圆周率,需要大量的均匀分布的随机数N才能获得比较准确的数值,这也是蒙特卡罗方法的不足之处。
是原子弹还是反应堆停堆?
众所周知,核反应堆是一种非常不稳定的存在,因此如何控制核反应堆也就成为原子能科学技术领域非常重要的一个问题。
核反应堆的工作原理其实不难理解,一个中子和一个裂变原子核相遇,会发生裂变反应,释放出能量和两个以上的中子。这些新产生的中子再去遇到其他裂变原子核,再发生裂变反应。这个链条一样的连续反应被称为链式裂变反应。如果这一切都是原子核自己完成的,就被称为自持链式裂变反应。
大家可能会说,既然一次裂变反应能释放两个以上的中子,那反应肯定能够继续下去。是的,如果释放出来的每一个中子都发生了新的裂变反应,裂变反应就会以几何形式增长,同时释放出极大的能量。不过如果出现这种情况,我们制造的就不是核反应堆,而是一颗威力巨大的原子弹了。
那么大家又会问,很多国家都建立了核电站,也没有都变成原子弹啊。是的,那是因为反应堆中不是只有裂变原子核,还有其他大量的材料,这些材料会吸收掉一些中子,还会有一些中子泄漏到反应堆外,造成中子数的减少。如果中子数减少的数量大于增加的数量,最终反应堆会停止运行,被称为停堆。
只有当中子增加的数量与减少的数量相当时,反应堆才能处于一种临界安全状态。蒙特卡罗方法就可以帮助科学家计算和控制这个状态。
为什么要用蒙特卡罗方法呢?因为中子和裂变原子核在不同的时间具有不同的能量状态、不同的位置、不同的飞行方向,常规数学方法几乎无法计算这一复杂的多维问题。这种杂乱无章的具有统计性质的运动方式正好符合蒙特卡罗方法的思想。蒙特卡罗方法关注中子的运动轨迹,跟踪记录一个中子产生了几个新的中子,把结果通过计算机记录下来,等这个中子消失后,转头去跟踪下一个目标。我们把计算机追踪过的中子数称为N,那么反应堆中消失的中子数就是N;而把计算机监测到的新产生的中子数称为M,当N=M时,则核反应堆处于临界安全状态。
蒙特卡罗方法不仅在原子能科学中大量使用,目前在军事科学、气象科学、医学、地质学等领域均已广泛使用。蒙特卡罗方法在近30年来之所以能有这样大的发展,与计算机的快速发展和广泛使用是密不可分的。凡用蒙特卡罗方法求解一个问题时,往往需要进行大量的重复一个过程,这一过程要靠计算机才能完成。如果要求计算结果的误差越小,所进行的重复过程应越多,因此计算量相当大,没有现代的计算机技术,很难设想蒙特卡罗方法会有今天的发展,可以预料,随着计算机技术的进一步发展,蒙特卡罗方法将会有更大的发展。
蒙特卡罗方法的发明人
乌拉姆是蒙特卡罗方法的发明人之一,美国数学家。他曾参与美国原子弹研制工程—曼哈顿工程,第二次世界大战后又参与了氢弹研制工程。他曾当选为美国总统科学顾问委员会成员、美国艺术与科学学院院士、美国全国科学院院士。乌拉姆参与提出的蒙特卡罗法,当时被用于核物理研究,现已被广泛地使用到许多领域。