Monte Carlo Algorithms

Calculating Pi

  • 假设我们有一个随机数生成器,它可以随机生成[-1,1]之间的实数,我们每次生成两个随机数,一个作为x,一个作为y,这样我们就有了一个点,所有的点都会落在蓝色的正方形里面,由于x和y都是在[-1,1]之间均匀分布,所以正方形中所有的点都有相同的概率密度,正方形中包含一个绿色的原,半径为1,圆心是原点。刚刚随机生成的点可能会落在圆里面,可能会落在圆外面。这里我们不难得到落在圆中的概率为π4\frac{\pi}{4}4π​。

  • 假设我们在正方形区域中随机抽样n个点,那么点落在圆中的期望就是Pn=πn4Pn=\frac{\pi n}{4}Pn=4πn​​​。当然这里只是期望,可能我们抽五个点,他们都不在圆中。

  • 那么我们怎么判断点是不是在圆中呢?我们可以使用圆的方程可以得到下面一个不等式:x2+y2≤1x^2+y^2 \leq 1x2+y2≤1

  • 假设我们均匀随机抽样n个点,通过上述不等式,我们发现有m个点在圆中。如果我们的抽样n非常大,这样我们就可以观测到m≈πn4m\approx \frac{\pi n}{4}m≈4πn​,所以我们得到π≈4mn\pi\approx\frac{4m}{n}π≈n4m​。大数定律保证蒙特卡洛的正确性,当n→∞n \rightarrow \inftyn→∞​,4mn→π\frac{4m}{n}\rightarrow\pin4m​→π。

  • 这样我们可以得出结论,当我们在正方形中随机抽样n个点,有m个点落在圆中,我们就可以将π\piπ近似为4mn\frac{4m}{n}n4m​​​。这里我们需要保证抽样是均匀的,抽到所有点的概率都相同,否则就不成立。

Buffon’s Needle Problem

  • 这也是一个计算Pi的例子,通过画几条平行线,然后撒一把针,通过针与平行线相交的个数可以推算出pi。

    • 先画一些平行线,两个平行线之间的距离为d
    • 取一些针,针的长度为l。
    • 随机把针抛到纸上,针的长度是l,针可能与平行线相交也可能不相交。
    • 假设针的位置和角度都是均匀随机的,那么针和平行线有一定概率相交,通过微积分可以计算出相交的概率为P=2lπdP=\frac{2l}{\pi d}P=πd2l​​。
  • 上面我们得到了针与平行线相交的概率$ P=\frac{2l}{\pi d}​​,这样我们就可以得到期望​​,这样我们就可以得到期望​​,这样我们就可以得到期望Pn = \frac{2ln}{\pi d},这样我们不难计算,这样我们不难计算,这样我们不难计算\pi \approx \frac{2ln}{dm}$​

近似求积分

  • 假设给我们一个函数:f(x)=11+sin(x)⋅(logex)2f(x)=\frac{1}{1+sin(x)\cdot (log_e x)^2}f(x)=1+sin(x)⋅(loge​x)21​

  • 计算定积分:I=∫0.83f(x)dxI = \int_{0.8}^{3} f(x)dxI=∫0.83​f(x)dx

  • 这个函数太复杂了我们没有办法求它的定积分,这时候我们就需要用数值方法近似求它的定积分了,蒙特卡洛就是最常用的数值方法。

    • 我们首先在[0.8,3]上均匀随机抽样n个样本
    • 然后我们计算n个样本的函数值
    • 然后用Qn=(b−a)⋅1nΣi=1nf(xi)Q_n=(b-a)\cdot\frac{1}{n}\Sigma_{i=1}^{n}f(x_i)Qn​=(b−a)⋅n1​Σi=1n​f(xi​)
    • 然后就可以使用QnQ_nQn​来近似定积分。
  • 刚刚计算的是一元函数的定积分,下面我们看看多元函数的定积分

    • 假设f(x)是一个多元函数,自变量是向量x
    • 计算函数在集合Ω\OmegaΩ上的定积分:I=∫Ωf(x)dxI=\int_{\Omega}f(x)dxI=∫Ω​f(x)dx
      • 从集合Ω\OmegaΩ中随机抽样n个向量
      • 计算Ω\OmegaΩ集合的体积:V=∫ΩdxV=\int_{\Omega}dxV=∫Ω​dx
      • 然后计算Qn=V⋅1nΣi=1nf(i)Q_n=V\cdot\frac{1}{n}\Sigma_{i=1}^nf(i)Qn​=V⋅n1​Σi=1n​f(i)
      • 然后我们使用QnQ_nQn​来近似定积分

近似求期望

  • 定义X为d维的随机变量

  • P(x)为概率密度函数,它描述了变量X在某个点附近取值的可能性。有这样的性质:∫Rdp(x)dx=1\int_{\mathbb{R}^d}p(x)dx = 1∫Rd​p(x)dx=1

  • 使用蒙特卡洛来近似求期望

    • 根据概率密度函数p(x)p(x)p(x)来随机抽样
    • 计算每个样本f(xi)f(x_i)f(xi​)的值,然后求所有n个函数值的平均,将平均值记为:QnQ_nQn​
    • 使用QnQ_nQn​作为期望的估计。

蒙特卡洛近似的一些例子相关推荐

  1. 数学理论—— 蒙特卡洛近似

    数学理论-- 蒙特卡洛近似 1. 圆周率估算 1.1 理论 1.2 代码实现 2. 近似积分 2.1 一元积分(univariate) 2.2 多元积分(multivariate) 3 期望估计(Es ...

  2. 蒙特卡洛算法_MCMC、蒙特卡洛近似和Metropolis算法简介

    MCMC 是Markov Chain Monte Carlo 的简称,但在传统模拟中有一个很重要的假设是样本是独立的(independent samples),这一点在贝叶斯统计尤其是高纬度的模型中很 ...

  3. MCMC、蒙特卡洛近似和Metropolis算法简介

    MCMC 是Markov Chain Monte Carlo 的简称,但在传统模拟中有一个很重要的假设是样本是独立的(independent samples),这一点在贝叶斯统计尤其是高纬度的模型中很 ...

  4. 在我方某前沿防守地域 matlab,蒙特卡洛方法模拟小例子

    例 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点. 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确 ...

  5. 蒙特卡洛能解决啥_用蒙特卡洛方法解决“无法解决”的问题

    蒙特卡洛能解决啥 How do you solve an 'unsolvable' problem? 您如何解决"无法解决"的问题? The worlds of data scie ...

  6. 蒙特卡洛(Monte Carlo)方法的介绍和应用

    蒙特卡洛(Monte Carlo)方法的介绍和应用 蒙特卡洛(Monte Carlo)方法 在渲染中,我们经常听到术语"蒙特卡洛"(通常缩写为MC).但是这是什么意思?实际上,它所 ...

  7. 【强化学习】蒙特卡洛方法

    目录 动态规划的局限性 蒙特卡洛方法介绍 蒙特卡洛方法的使用条件 蒙特卡洛方法在强化学习中的基本思路 蒙特卡洛控制 没有Exploring Starts的MC控制 基于重要度采样的off policy ...

  8. MCMC(蒙特卡洛采样)

    1.MCMC是一种随机性近似推断方法,核心思想是求复杂概率分布下的期望值 2.采样的样本应该趋于高概率区域以及样本之间相互独立 3.如果p(z)分布简单,可以通过概率分布采样得到所需要的样本 4.大多 ...

  9. 蒙特卡洛算法学习笔记

    导语 蒙特卡洛算法是一大类随机算法,通过随机样本来估算真实值. 本节课我们使用几个例子来讲解蒙特卡洛算法. 通过均匀抽样计算π\piπ 假如我们不知道π\piπ值,现在我们来估算π\piπ值,假设我们 ...

  10. python解zuobiaoxi方程_从马尔可夫链到蒙特卡洛-Metropolis方法(Python)

    这学期在上郭璐老师的<计算物理>,结合<An Introduction to Computational Physics>与网上一些资料,整理一下马尔科夫链与蒙特卡洛法相关笔记 ...

最新文章

  1. python elasticsearch 入门教程(二) ---全文搜索
  2. JSON——IT技术人员都必须要了解的一种数据交换格式
  3. Struts2 学习系列 (2) 访问web资源
  4. 毕业设计word 表格标题 图表标题
  5. linux so 库的生成与调用
  6. c语言能选无,【提问】求助,一个C语言选择执行题怎么都不能完美运行
  7. nodejs版本更新问题:express不是内部或外部命令
  8. 从零开始刷Leetcode——数组(941.977)
  9. h3c,nat网络地址转换
  10. 浏览器,图片格式及特点
  11. 2014华为机试西安地区B组试题
  12. 英语简历计算机能力描述,简历计算机水平描述
  13. 示波器的主要功能 示波器作用介绍
  14. amos看拟合度在哪里看_Amos软件完结篇!模型无法拟合,拟合指标不佳如何解决?...
  15. 软件设计师刷题与知识点总结 笔记
  16. 一夜之间,几十万人失去房票!
  17. Visual Assist 配色
  18. 北京烤鸭+腊肉炒花菜+香椿炒蛋
  19. 万能解决问题思路方法——3W
  20. 心理学家:当你发现这三个现象,说明有人正在欺骗你,句句很真实

热门文章

  1. 同态滤波与Retinex
  2. 高等数学(第七版)同济大学 习题7-3 个人解答
  3. 实现财务自由 之 不可不知的常用财务网站或应用软件
  4. idea添加xsd文件
  5. 实验10.  Hadoop环境搭建
  6. 一款强大的反编译工具luyten
  7. openldap备份与还原
  8. cocos2dx fnt字体制作
  9. svn回退到指定版本idea版
  10. 随机字符 php,PHP生成随机字符