扯淡Monte-Carlo(一)
研究生期间看过很多Monte-Carlo的东西,还根据这个写了一篇小论文,单纯粹是应付毕业任务,到毕业之后我都弄不清楚Monte-Carlo是什么玩意~~只会吹吹牛逼,说我弄过那玩意,其实不然
最近水怪蜀山忽然说他要搞搞MC,我一时心血来潮,心想我自己看了那么就的MC,就是弄不懂起码也得有点感觉吧,然后翻出Global illumination,专门用公司的打印机打出MC这一章,小有启发,赶紧再次记下,省的回头又还给他。
首先先弄懂Monte-Carlo他解决了一个什么问题?为什么需要Monte-Carlo?
我们知道在计算机图形学就是为了能够更好的反应现实世界,要想呈现出更好图像必须计算光照-光照强度等等,此时就会有一系列的积分方程,通过高等数学只是可能很快的就能计算出他的积分值,但是计算机只能处理离散的量,只能通过采样然后取有限的采样点进行计算来近似这个积分值-----Monte-Carlo应运而生。
蒙特卡洛方法或称随机模拟方法,是一种基于“随机数”的计算方法。看Global Illumination中写道" Consider a problem that must be solved, for example, computing the value of the integration of a function with respect to an appropriately defined measure over a domain. The Monte Carlo approach to solving this problem would to define a random variable such that the expected value of that random variable would be the solution to the problem.”由此可以看出Monte-Carlo就是解决一些积分问题。
要想弄明白Monte-Carlo,要会概率论的那些知识(Expected value期望、Variance方差、Standard Deviation)再次就不一一解释了。给我最大启发的还是下面这几句话:
"In summary, a Monte Carlo estimator for an integral
is
.
The variance of this estimator is
Mote Carlo integration is a powerful, general technique that can handle arbitrary functions. A Monte Carlo computation consists of the following steps:
- Sampling according to a probability distribution function.
- Evaluation of the function at that sample.
- Averaging these appropriately weighted sampled values
The user only needs to understand how to do the above three steps to be able to use Monte Carlo techniques.
上面几句话无异于画龙点睛之笔,深刻的说明了采用Monte-Carlo方法时的步骤:
- 根据一个概率分布函数进行取样。
- 使用这些采样点对要积分的函数进行评估。
- 根据某些权重对采样点进行处理计算。
好,就到这儿吧,这也只是对Monte-Carlo的一个初步解释,还有很多需要注意的地方比方说采样的方法、减小方差的方法等等,容后再议。
转载于:https://www.cnblogs.com/cg_ghost/archive/2011/10/13/2211045.html
扯淡Monte-Carlo(一)相关推荐
- 如何用R进行蒙特卡罗模拟(Monte Carlo Simulation with R)
本文所讲的蒙特卡罗模拟是建立在正态分布的基础上.假设我们给定一只股票的初始价格P0, 并且从历史日度数据估计出该股票的每日期望回报率为 mean.logret, 标准差为sd.logret. ( 在估 ...
- 蒙特卡洛积分(Monte Carlo Integration)应用:利用蒙特卡洛积分生成 McBeth表
蒙特卡洛积分(Monte Carlo Integration)应用 蒙特卡洛积分 通常函数f(x)的积分: 可以解释为计算函数曲线下方的面积: 而我们的蒙特卡洛积分则是通过近似的方式来获取一个函数的积 ...
- Monte Carlo Method
Reference: Jonathan Pengelly, Monte Carlo Methods, 2002 Basic Description MC为许多数学上难以解决的问题通过运行统计采样实验提 ...
- ADPRL - 近似动态规划和强化学习 - Note 10 - 蒙特卡洛法和时序差分学习及其实例 (Monte Carlo and Temporal Difference)
Note 10 蒙特卡洛法和时序差分学习 Monte Carlo and Temporal Difference 蒙特卡洛法和时序差分学习 Note 10 蒙特卡洛法和时序差分学习 Monte Car ...
- 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例
强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例 4. 蒙特卡洛方法 4.1 蒙特卡洛预测 例4.1:Blackjack(21点) 4.2 动作价值的蒙特卡洛估计 4. ...
- [matlab]Monte Carlo模拟学习笔记
理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...
- CSAPP第五章就在“扯淡”!
"你的时间有限,所以不要为别人而活.不要被教条所限,不要活在别人的观念里.不要让别人的意见左右自己内心的声音.最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实 ...
- 蒙特卡罗(Monte Carlo)方法
蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法. 一 起源 这一方法源于美国在第二次世界大战进研制原子弹的&qu ...
- Monte Carlo概率模型进行分子动力学模拟并计算苯甲醚键值
本文继续通过用神经网络给分子建模并比较数值,这次计算苯甲醚,这是一种强邻对位基团,分子模型如下 计算得到的数据 与前面的数据比较 * NN二甲基苯胺 N甲基苯胺 苯胺 苯酚 苯甲醚 硝基苯 左邻位 8 ...
- Monte Carlo仿真方法的基本思想及其特点
Monte Carlo仿真方法又称统计试验法,它是一种采用统计抽样理论近似地求解数学.物理及工程问题的方法.它解决问题的基本思想是,首先建立与描述该问题有相似性的概率模型,然后对模型进行随机模拟或统计 ...
最新文章
- 使用 Struts2 校验器校验用户注册信息的例子
- Balanced Team
- Runtime底层原理--动态方法解析、消息转发源码分析
- animation动画不生效_SwiftUI动画(1)之Animatable
- 一步步学习汇编系列(7)
- anaconda学习python_python深度学习笔记1-Anaconda软件安装
- 最全整理浏览器兼容性问题与解决方案(转)
- 宋体配置JAVA j2ee (一) 轻松入门
- 6.王道考研数据结构-栈
- 一个简单的登录注册页面html代码
- matlab中有非线性模型吗,仿真非线性模型Matlab
- python 基础-如何调用函数
- flutter app使用大量网络图片导致频繁崩溃
- RE管理器4.41、车来了app 去除广告
- 做短视频必须要知道的几个视频设置参数,爆款必备。
- Embeded linux之网卡驱动
- Day16:hash表
- Awesome Free ChatGPT(免费的chatgpt镜像网站)
- 【面试题】8.Redis相关
- 安装 Mongrel
热门文章
- 史上第一部程序员专题电影《青春代码》
- java计算机毕业设计商院足球赛事管理源码+数据库+系统+lw文档+mybatis+运行部署
- 乐播科技java怎样,乐播投屏用不了
- Word基本操作之论文格式调整
- Java新版本API发送新浪微博可能会出现的问题呢
- 甲肾上腺素检测——甲肾上腺素ELISA试剂盒方案
- 华为Eudemon防火墙inbound入方向和outbound出方向
- 学生综合测评c语言程序设计,C语言程序设计 综合测评系统.doc
- Flink等多组件受影响,Apache Log4j曝史诗级漏洞
- 区块链开发编程语言整合