同贝叶斯方法一样,蒙特卡洛方法与其说是一种算法,不如说是一种思想。

灵活的运用蒙特卡洛方法可以解决很多问题。比如可以用它来求pi,求pi肯定有比这更好的方法,但是蒙特卡洛方法是所需条件最少的,只是充分利用了计算机产生随机数的能力。我们不需要知道pi等于什么级数,只需要知道圆的面积等于pi*r**2。

下面来看如何用蒙特卡洛方法解决一个实际问题,而且其它的方法不太容易解决。

关于彩色砖块

http://www.3366.com/flash/1000132.shtml
是3366上的一个小游戏。

界面如图所示。这是一个消除类的游戏。
小游戏目标:
十字消除的玩法。鼠标放到合适位置,在十字线区域能连接到两个或两个以上相同颜色的方块就能打碎得分。点击错误将会扣除时间,时间结束,游戏结束。

其实是一个很简单的,只是考验眼力和手速的游戏。
问题在于砖块总是不能全部消尽。

一局游戏的结果往往是这样的,有一些砖块变得无法消去,即使还有时间。

那么,问题来了,如何得到一个最优解,把所有砖块全部消除掉?

基于蒙特卡洛方法的解决方案

总的方案的是,一次接一次的进行随机实验,直到某一次实验中,所有的砖块都被消去了。
重点在就在于随机实验,所谓的随机实验,是指一局以需要解决的局面为开局的,在计算机中模拟进行的游戏,这局游戏中每一次的点击操作都是从所有可能点击的点中随机选取的,没有任何专家意见和目标性。

代码写得比较粗糙,就不贴出了。

缺点:这个方法的时间复杂度是很高的。
优点:只需要知道规则就可以了,其它的一概不需要。

蒙特卡洛方法的应用——解决“彩色砖块”问题相关推荐

  1. 蒙特卡洛方法_基本理论-蒙特卡洛方法与定积分

    全球图形学领域教育的领先者.自研引擎的倡导者.底层技术研究领域的技术公开者,东汉书院在致力于使得更多人群具备内核级竞争力的道路上,将带给小伙伴们更多的公开技术教学和视频,感谢一路以来有你的支持.我们正 ...

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

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

  3. 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例

    强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例 4. 蒙特卡洛方法 4.1 蒙特卡洛预测 例4.1:Blackjack(21点) 4.2 动作价值的蒙特卡洛估计 4. ...

  4. 不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了

    作者 | Ben Shaver 翻译 | 刘畅 编辑 | Donna 大多数时候,贝叶斯统计在结果在最好的情况下是魔法,在最糟糕时是一种完全主观的废话.在用到贝叶斯方法的理论体系中,马尔可夫链蒙特卡洛 ...

  5. 第十三课.随机近似初步:蒙特卡洛方法

    目录 随机近似:蒙特卡洛 接受-拒绝采样 重要性采样 小结 本篇内容与 第十课的蒙特卡洛方法与随机过程重复. 随机近似:蒙特卡洛 随机近似方法的核心是蒙特卡洛方法,以采样的方式实现随机近似,从而实现数 ...

  6. 第十课.蒙特卡洛方法与随机过程

    目录 蒙特卡洛方法 蒙特卡洛的概念 蒙特卡洛采样方法 直接采样 接受-拒绝采样 重要性采样 小结 随机过程 随机变量与随机过程 随机过程实际场景举例 赌博中的随机过程 股价变化的过程 两个重要随机过程 ...

  7. 2021-04-09 随机模拟—蒙特卡洛方法 Matlab代码实现

    随机模拟-蒙特卡洛方法 Matlab代码实现 蒙特卡洛方法 蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出 ...

  8. C语言蒙特卡洛,蒙特卡洛方法

    本文主要讲解三部分:背景介绍 蒙特卡洛方法介绍 结果展示 背景介绍 这一小节我们简要介绍一下引出蒙特卡洛方法的实际场景. 机器学习/深度学习中的图像叠加文字识别需要大量的训练样本,自动生成样本(使用程 ...

  9. 受限玻尔兹曼机准备知识——蒙特卡洛方法

    先了解几个基本概率知识,不急着看蒙特卡洛方法的定义,具体的MC方法参考网上各种资料. 两个比较好的学习MC方法的文章:蒙特卡洛方法入门 (结合了实例)和 蒙特卡洛方法 (推荐,非常详细) 更新日志:2 ...

  10. AI算法连载04:数学基础之蒙特卡洛方法与MCMC采样

    相关文章: AI算法连载01:数学基础之线性代数 AI算法连载02:概率论基础 AI算法连载03:数学基础之数值计算 导语:不懂算法的工程师做不了AI,不懂算法的产品经理将把AI带入泥潭. 一.前言 ...

最新文章

  1. 一位中学计算机老师的英语作文,我的老师英语作文(精选14篇)
  2. C语言工程代码查看神器 SourceInsight
  3. iphone备忘录突然没了_为什么用过iPhone的人都不再想换回安卓?网友:过于真实,哭了...
  4. python的格式化输入_如何在python中读取格式化的输入?
  5. 2022-2028年中国商用车产业园区行业市场竞争态势及未来前景分析报告
  6. RSS源的搜索引擎优化方法
  7. cf 581A— Vasya the Hipster
  8. 什么是BASE最终一致性
  9. Mutual Information Neural Estimation梳理
  10. 第五章第六题(英里与千米之间的互换)(Conversion from mile to kilometer and kilometer to mile)
  11. 前端工程化——脚手架及自动化构建
  12. 学习数据库视频笔记4
  13. linux给分区扩容
  14. 苹果xr如何截屏_苹果手机如何单手操作截屏
  15. 海康摄像头音频编码获取
  16. 三年级信息技术用计算机娱乐,“第5课 用计算机娱乐”教学设计
  17. springcloudalibaba学习分享
  18. java显示菜单栏_Java:如何检查JFrame的菜单栏是显示在系统菜单栏还是框架本身?...
  19. 关于自由人的信仰:忠于自己的理想,勇于面对出现在自己人生道路上的任何东西...
  20. 输油管道 (Standard IO)

热门文章

  1. coreldraw x4怎么会蓝屏_电脑蓝屏怎么办 七种方案轻松搞定【图文】
  2. 「硬见小百科」一文详解红外遥控模块工作原理
  3. UE4 粒子特效基础学习 (02-光晕效果制作)
  4. TSCLIB.DLL函式库使用说明
  5. 下载并安装IDA Pro 7.0
  6. 代码审计:企业级web代码安全架构读书笔记(二)
  7. 用C语言实现PID控制代码
  8. 基本概念:线与逻辑、锁存器、缓冲器、建立时间
  9. 怎么看外文文献的影响因子_如何查询外文期刊的影响因子?
  10. JavaScript视频系统教程