蒙特卡洛方法

蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是指使用随机数(或伪随机数)来解决计算问题的方法.

求定积分

求已知函数 f ( x ) f(x) f(x) 在区间 [ a , b ] [a,b] [a,b] 内的定积分: ∫ a b f ( x ) d x \int_a^b f(x) \text{d} x abf(x)dx.

当然现在有很多数值积分方法可用,像欧拉积分、4阶龙哥库塔积分等. 但这里介绍一下用蒙特卡洛方法来求积分.

积分可以转换成求期望的形式:
∫ a b f ( x ) d x = ∫ a b f ( x ) g ( x ) g ( x ) d x = E x ∼ g ( x ) [ f ( x ) g ( x ) ] \int_a^b f(x) \text{d} x = \int_a^b \frac{f(x)}{g(x)} g(x) \text{d} x = E_{x\sim g(x)} \left[\frac{f(x)}{g(x)}\right] abf(x)dx=abg(x)f(x)g(x)dx=Exg(x)[g(x)f(x)]

这里假设 g ( x ) g(x) g(x) 是区间 [ a , b ] [a,b] [a,b] 上的概率密度函数,我们可以在该分布下采样得到 x i , i = 1 , … , N x_i, i=1,\ldots,N xi,i=1,,N. 因此

E x ∼ g ( x ) [ f ( x ) g ( x ) ] ≃ 1 N ∑ i = 1 N f ( x i ) g ( x i ) E_{x\sim g(x)} \left[\frac{f(x)}{g(x)}\right] \simeq \frac{1}{N}\sum_{i=1}^N \frac{f(x_i)}{g(x_i)} Exg(x)[g(x)f(x)]N1i=1Ng(xi)f(xi)

通常,我们考虑 g ( x ) g(x) g(x) 为简单的均匀分布,即
g ( x ) = 1 b − a g(x) = \frac{1}{b-a} g(x)=ba1
所以用区间 [ a , b ] [a,b] [a,b] 均匀分布的随机数 x i x_i xi 来求积分的方法为:
∫ a b f ( x ) d x ≃ b − a N ∑ i = 1 N f ( x i ) \int_a^b f(x) \text{d} x \simeq \frac{b-a}{N}\sum_{i=1}^N f(x_i) abf(x)dxNbai=1Nf(xi)

用随机数求圆周率

一个典型的例子是用蒙特卡洛方法求圆周率 π \pi π.

π \pi π 等于单位元的面积,可以视为如下函数 f f f 在区间 [ − 1 , 1 ] × [ − 1 , 1 ] [-1,1]\times [-1,1] [1,1]×[1,1] 上的定积分:
f ( x , y ) = { 1 , x 2 + y 2 < 1 , 0 , otherwise f(x,y) = \left\{ \begin{array}{ll} 1, & x^2+y^2 < 1,\\ 0, &\text{otherwise} \end{array}\right. f(x,y)={1,0,x2+y2<1,otherwise

所以只需要在区间 [ − 1 , 1 ] × [ − 1 , 1 ] [-1,1]\times [-1,1] [1,1]×[1,1] 上随机取点 ( x i , y i ) (x_i,y_i) (xi,yi),并计算其函数值 f ( x i , y i ) f(x_i,y_i) f(xi,yi).

需要注意这里的均匀分布函数为:
g ( x , y ) = 1 4 g(x,y) = \frac{1}{4} g(x,y)=41

最后求得:
π ≃ 4 N ∑ i = 1 N f ( x i , y i ) \pi \simeq \frac{4}{N} \sum_{i=1}^N f(x_i,y_i) πN4i=1Nf(xi,yi)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颹蕭蕭

白嫖?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值