蒙特卡洛方法试验的一般过程和经典例子

本文首发于:算法社区 dspstack.com,转发请注明出处。

前言

蒙特卡洛方法是基于概率统计为基础的近似解求解方法,它是通过大量试验来使近似解逼近准确解,而大量的试验又是基于大数极限理论,试验越多,其解越精确,误差也就越小。下面分别讲述蒙特卡洛试验的解题步骤、实际使用中需要的注意点,最后给出一个最经典的例子(求\pi值)作为本文的结束点。

蒙特卡洛方法(或试验)解题的步骤

  1. 人为构造或描述问题的概率过程
  2. 从已知概率分布中进行抽样(随机变量抽样)
  3. 求各统计量的估计
  4. 使用统计量的估计最终求近似解

在实际使用中需要的注意点

  • 要列出所求问题相关的变量
  • 把变量进行分类:随机变量和非随机变量,非随机变量又分为自变量和因变量
  • 随机变量涉及了概率分布
  • 通过随机变量和非随机变量构造所要求解的统计量
  • 通过随机变量的抽样求统计量的估计值
  • 使用估计值来替代统计量,从而求得问题的近似解
  • 说明:蒙特卡洛方法中,必有随机变量和概率

实例(最经典pi值求解过程-浦丰氏问题)

在十九世纪后期,曾有很多人以任意投掷一根针到地面上,将针与地面上两条平行线相交的频率作为与该
两条平行线相交概率的近似值,然后根据这一概率的理论值求出圆周率 pi 的近似值。

说明:这里的相交不是延长线的相交,而是针与平行线接触,有交点。

首先我们来正确的描述和模拟这个问题#

这里我借用了文献上的图片:

file

变量说明:2a 表示两条平行线的距离,图中虚线是在两平行线的中间,即 a 的位置2l 是这根针的长度, l 是这个针的半长,x表示针中心位置到平行线的y轴坐标值,file是针与平行线交叉角度

从图中所示,我们可以知道,平面上针的位置是由针中心的坐标位置 和 针与平行线的夹角file决定的。任意投针,意味着 x 和 file 都是任意的(它们是随机变量)。 file的范围为file,x 的范围为file

此时相交的条件为:

file
随机变量 x 和 file 取值的随意性,说明它们是随机数,是在范围内的随机数,所以它们的分布密度分别为:

file

细心的读者可能已经发现, x 和 file 是相互独立的,并且都是服从各自区间上的均匀分布的随机变量。所以这二维随机变量的概率密度为

file

最后定义一个综合随机变量(用于计算概率的)
file

意思是相交则为 1,否则为 0

开始抽样和求估计值

如果投掷 N 次,那么相交的频率为

file
是相交概率的估计值。

而根据二维随机变量的概率计算公式来求相交概率是
file

通过估计值求解的近似值

于是就有
file

计算机模拟计算的结果
file

结论

蒙特卡洛试验的本质是用概率过程来描述问题,并且使得概率(或某个统计量)是这个解的某个参数,最后通过概率或统计量的估计值来计算这个解的近似值。最好的方式就是概率或统计量本身就是解的值。根据上述过程,我们注意到:用正确的概率模型来描述问题非常重要(就是用概率方式来描述),其次,分清随机变量其及服从的分布也是至关重要的一步,基本的关键点就是这些了。

本文首发于:算法社区 dspstack.com,转发请注明出处。

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蒙特卡洛方法是一种基于随机模拟的数值计算方法,可用于解决数学、物理、工程等领域的问题。其原理是通过大量随机样本的统计分析来近似计算问题的解。蒙特卡洛方法基于概率论和统计学理论,通过生成服从特定分布的随机数来模拟系统行为,然后通过对随机样本的分析来得到问题的近似解。由于蒙特卡洛方法具有较高的灵活性和适用性,因此在各个领域都得到了广泛的应用。 粒子群算法(Particle Swarm Optimization,简称PSO)是一种优化算法,灵感来源于鸟群觅食的行为。粒子群算法通过模拟鸟群寻找食物的过程来搜索最优解。在粒子群算法中,问题的解被表示为一个粒子群,每个粒子代表一个潜在解,它通过搜索周围解空间来寻找最优解。每个粒子通过更新自身位置和速度来探索解空间,并与其他粒子的经验进行信息共享,以寻找全局最优解。 蒙特卡洛方法和粒子群算法在计算和优化问题上有着不同的应用场景。蒙特卡洛方法适用于求解概率和统计相关的问题,对于复杂的数学模型和随机性较强的系统有较好的适应性。而粒子群算法主要用于求解优化问题,能够在搜索空间中寻找全局最优解。两种方法都依赖于随机模拟,但粒子群算法更加注重个体之间的信息共享和协同搜索。 综上所述,蒙特卡洛方法和粒子群算法均为常用的数值计算方法,适用于不同类型的问题。在实际应用中,根据问题的具体特点和要求,选择合适的算法能够更有效地解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值