whoimi

A geek blog

View on GitHub

蒙特卡洛方法

wiki解释:蒙特卡洛

重点在于:蒙特卡罗方法在数学中的应用,下面摘要了关键的部分。

蒙特卡洛积分

非权重蒙特卡罗积分,也称确定性抽样,是对被积函数变量区间进行随机均匀抽样,然后对抽样点的函数值求平均,从而可以得到函数积分的近似值

此种方法的正确性是基于概率论中心极限定理)。

当抽样点数为m时,使用此种方法所得近似解的统计误差只与m有关(与 正相关),不随积分维数的改变而改变。因此当积分维度较高时,蒙特卡罗方法相对于其他数值解法更优。

蒙脱卡洛方法推导

首先,有一组独立同分布的随机变量 。注意这是独立同分布的集合包括了多个随机变量。

每一个随机变量 上服从分布 (概率密度函数PDF,积分为1)。

我们构造一个新的函数 , 然后 也是一个随机变量。

关键: 的概率为 !!!

我们现在计算这个新的随机变量的期望

根据强大数定理

我们项构造一个平均值 ,则 依1概率收敛到

在完成以上的准备条件之后,我们进行实际推导:

问题: 我们希望求解积分:

求解:

  1. 假设函数 分布在 内可积。

  2. 构造任意一个概率密度函数 . 满足:

    a. 当 时, , .

    b. .

引入上面条件,原积分(期望)可以写成:

根据强大数定理得到的平均值(期望估计)变为:

根据之前的说明:随着采样次数增多 依概率1收敛到

所以 可以作为 的一个估计。

如果 上的一个均匀分布的话,那么积分就变成了:

均值就变成了 ( 消失了):

就是 的估计,蒙特卡洛积分就是:

估计

蒙特卡洛在渲染当中的应用

这里主要来自一本书:

《Monte Carlo Methods in Global Illumination - Photo-realistic Rendering with Randomization》

主要用来用随机采样的方法解决全局光照渲染的问题。

因为,全局光照的积分是一个难以求和的积分,刚好符合蒙特卡洛积分的思路。