蒙特卡洛算法详解

这篇具有很好参考价值的文章主要介绍了蒙特卡洛算法详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

蒙特卡洛算法是20世纪十大最伟大的算法之一,阿法狗就采用了蒙特卡洛算法。

1、定义

蒙特卡洛方法也称为 计算机随机模拟方法,它源于世界著名的赌城——摩纳哥的Monte Carlo(蒙特卡洛)。

它是基于对大量事件的统计结果来实现一些确定性问题的计算。其实质就是将问题转化为一个概率问题,并用计算机模拟产生一堆随机数,再对随机数进行统计工作。

2、原理

2.1 基本思想:

当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。

本质是一种统计方法,即用大量的随机样本出现的频率或概率当作问题的解。

2.2 特点

 优点:(可以求解复杂图形的积分、定积分,多维数据也可以很快收敛)

能够比较逼真地描述具有随机性质的事物的特点及物理实验过程
受几何条件限制小
收敛速度与问题的维数无关
具有同时计算多个方案与多个未知量的能力
误差容易确定
程序结构简单,易于实现

 缺点:

收敛速度慢
误差具有概率性

3、举例

3.1 计算圆周率π

蒙特卡罗算法,概率论

 显然上图1/4圆与正方形的面积比为:

蒙特卡罗算法,概率论

 那么,如果在正方形内随机产生n个点,通过计算这些点和原点的距离,判断这些点是否在1/4圆内。 在1/4圆内的点数/n = π/4 。即点落在1/4圆内的概率*4 = π。 随机模拟30000个点,π的估算值与真实值相差0.07%

推而广之,可以计算任意一个积分的值。

蒙特卡罗算法,概率论

 3.2 阿法狗

阿法狗是怎么下棋的呢?

简单的说     

①. 根据一定的策略选出可能的下法;     

②. 然后进行蒙特卡罗模拟计算胜率。       

以上2步反复进行,显然,模拟的次数越多,越有可能得到最优解。

蒙特卡罗算法,概率论

4、应用 

粒子输运问题(实验物理,反应堆物理)

统计物理

典型数学问题

真空技术

激光技术

医学

生物

探矿等文章来源地址https://www.toymoban.com/news/detail-786222.html

到了这里,关于蒙特卡洛算法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蒙特卡洛树搜索(MCTS)详解

    蒙特卡洛树搜索是一种经典的树搜索算法,名镇一时的 AlphaGo 的技术背景就是结合蒙特卡洛树搜索和深度策略价值网络,因此击败了当时的围棋世界冠军。它对于求解这种大规模搜索空间的博弈问题极其有效,因为它的核心思想是 把资源放在更值得搜索的分枝上 ,即 算力集

    2024年01月18日
    浏览(57)
  • 【机器学习】强化学习(三)蒙特卡洛算法

    策略迭代算法和价值迭代算法为什么可以得到理论上的最优解,在实际问题中使用价值有限? 无模型算法 三、蒙特卡洛算法 蒙特卡洛(Monte Carlo)方法是一种基于样本的强化学习算法,它通过执行和学习代理(也就是我们编程的AI)环境交互的样本路径来学习。它不需要初始知

    2024年01月19日
    浏览(54)
  • 16. 蒙特卡洛强化学习基本概念与算法框架

    蒙特卡洛强化学习(简称MC强化学习)是一种 无模型 强化学习算法,该算法无需知道马尔科夫决策环境模型,即不需要提前获得立即回报期望矩阵R(维度为(nS,nA))、状态转移概率数组P(维度为(nA,nS,nS)),而是通过与环境的反复交互,使用统计学方法,利用交互数据直接进行

    2024年01月21日
    浏览(45)
  • 【Python数学建模常用算法代码——蒙特卡洛模型】

    蒙特卡洛方法的理论支撑其实是概率论或统计学中的大数定律。基本原理简单描述是先大量模拟,然后计算一个事件发生的次数,再通过这个发生次数除以总模拟次数,得到想要的结果。下面我们以三个经典的小实验来学习下蒙特卡洛算法思想。 实验原理 在正方形内部有一

    2024年02月02日
    浏览(50)
  • 强化学习9——免模型预测算法介绍(蒙特卡洛方法和时步差分方法)

    对于大部分情况来说,环境是未知的,也就是说状态转移概率未知,对于这种情况的算法称为 免模型预测 算法。免模型算法与环境不断交互学习,但是需要大量的运算。 蒙特卡罗方法通过重复随机抽选,之后运用统计概率此方法来从抽样结果中归纳我们想要得到的数值估计

    2024年02月02日
    浏览(43)
  • Python-蒙特卡罗应用

    第1关:蒙特卡洛方法求定积分一 任务描述 本关任务:用蒙特卡罗方法求函数f(x)=(x/25+1/5),在区间[a,b]中定积分。假设a=0,b=1,即求   要求将函数f(x)定义为匿名函数,求出的积分保留5位小数,a,b的值可以自定义。

    2024年02月03日
    浏览(41)
  • 蒙特卡罗模拟计算定积分(R)

    参考资料:概率论与数理统计教程第二版(茆诗松)4.3 对于一般区间[a,b]上的定积分: 可以作线性变换y=(x-a)/(b-a),转化为[0,1]区间上的积分: 若, 令 则,此时: 其中,, 设二维随机变量(X,Y)服从上的均匀分布且独立。 记事件,其概率为: 用蒙特卡罗方法随机投点,将(X

    2024年02月16日
    浏览(34)
  • 强化学习中的动态规划与蒙特卡罗方法

    强化学习(Reinforcement Learning,RL)是一种机器学习方法,它通过与环境的互动来学习如何做出最佳决策。强化学习的目标是找到一种策略,使得在长期内累积最大化奖励。强化学习的一个关键特点是它需要在环境中探索和利用,以找到最佳的行为策略。 动态规划(Dynamic Programmi

    2024年02月19日
    浏览(35)
  • 【Python】蒙特卡洛模拟 | PRNG 伪随机数发生器 | 马特赛特旋转算法 | LCG 线性同余算法 | Python Random 模块

          猛戳订阅!  👉 《一起玩蛇》🐍 💭 写在前面: 本篇博客将介绍经典的伪随机数生成算法,我们将  重点讲解 LCG(线性同余发生器) 算法与马特赛特旋转算法,在此基础上顺带介绍 Python 的 random 模块。   本篇博客还带有练习,无聊到喷水的练习,咳咳…… 学完前

    2024年02月04日
    浏览(44)
  • 蒙特卡罗方法:当丢失确定性时的处理办法

    蒙特卡罗(Monte Carlo),也可翻译为蒙特卡洛,只是不同的音译选词,比较常用的是蒙特卡罗。是摩洛哥的一片城区,以拥有豪华赌场闻名,蒙特卡罗方法是基于概率的。基本思想:如果你想预测一件事情的结果,你只要把随机生成的各种输入值,把这件事模拟很多遍,根据

    2023年04月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包