涵(物理学院本科生)、张廷钧(匡亚明学院本科生)、张钊(天文学院硕士研究生)等。南京大学张彬彬老师、清华大学曾鸣老师、中科院高能物理所的熊少林老师为该文的通讯作者。清华大学、中科院高能物理所、河北师范大学、广西大学等多位专家学者共同参与了这一研究工作。本工作得到国家自然科学基金、科技部重点研发计划、江苏省双创计划、中央高校基本科研业务费专项资金、双一流大学建设经费,南京大学天文与空间科学学院、以及南京大学双创办公室的多项基金和机构的支持。蒙特卡罗模拟简介
蒙特·卡罗方法(Monte ethod),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
蒙特卡罗模拟因摩纳哥著名的赌场而得名。它能够帮助人们从数学上表述物理、化学、工程、经济学以及环境动力学中一些非常复杂的相互作用。
数学家们称这种表述为“模式”,而当一种模式足够精确时,他能产生与实际操作中对同一条件相同的反应。但蒙特卡罗模拟有一个危险的缺陷:如果必须输入一个模式中的随机数并不像设想的那样是随机数,而却构成一些微妙的非随机模式,那么整个的模拟(及其预测结果)都可能是错的。
蒙特卡罗法优点:
1.方法的误差与问题的维数无关。
2.对于具有统计性质问题可以直接进行解决。
3.对于连续性的问题不必进行离散化处理
蒙特卡罗法缺点:
1.对于确定性问题需要转化成随机性问题。
2.误差是概率误差。
3.通常需要较多的计算步数N.
蒙特卡罗方法的缺点及其改进
我们知道,蒙特卡罗方法是非常好用来做积分的。如果要算一个函数f(x)在区间[a,b]内的积分,我们可通过计算机利用蒙特卡罗方法来计算出积分近似值。即先估计一个比f(x)在区间[a,b]内最大值还要大的c,(必须保证f(x)在区间[a,b]不小于0)然后不断地在二维矩形区域[a,b]×[0,c]内随机产生随机数对(e,f),判断f与f(e)的大小,并统计f《f(e)的数量n,当产生点的数量N足够大时,计算出n/N*(b-a)*c,这就是函数f(x)在区间[a,b]内的积分值。
对蒙特卡罗方法的改进:如果要算一个函数f(x)在区间[a,b]内的积分,令s=0,我们可以在区间[a,b]内产生N个随机数e,赋值:s+=f(e)/N(之所以这样做是为了防止溢出),当N足够大时,计算s*(b-a),这就是函数f(x)在区间[a,b]内的积分值。改进方法的优点:
1.维度降低,节省一半产生随机数的时间,
2.相对精度更高,由于蒙特卡罗方法矩形上界需要估计,因此带来了一定的不确定性,估计值取得过大,显著提升计算时间,估计值取得过小,就会出现计算错误。而改进方法不需要估计!
3.改进方法可以求解蒙特卡罗方法所不能计算的积分,求解范围更大,如果积分函数f(x)在区间[a,b]内是无界的,或者积分函数f(x)在区间[a,b]内有负值,蒙特卡罗方法就无法求解。
蒙特卡罗模拟基本原理及思想
当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事