蒙特卡洛近似圆周率的数学原理 - Yigeng’s Blog

蒙特卡洛近似圆周率的数学原理

yigeng 2023-05-22 {Mathematics} [Monte Carlo, Python, Reinforcement Learning]

组内需要我接手做一个强化学习的项目,由于是第一次接触强化学习,很多东西都不懂,于是找了一些相关资料来看。

在阅读王树森的《深度强化学习》一书中,作者将蒙特卡洛方法作为学习强化学习的基础知识进行了介绍,并举例说明了如何使用蒙特卡洛近似 $\pi$ 。但我对于书中的解释不是很理解,在网上也并未找到合适的蒙特卡洛近似 $\pi$ 的数学解释,在与朋友的讨论过程中,我觉得自己似乎找到了一种较为合理的数学解释方法。

先来简单介绍一下蒙特卡洛方法。蒙特卡洛方法(Monte Carlo methods)是一类随机算法的总称,它们依靠重复随机采样来估算真实值。其提出者为冯·诺伊曼斯塔尼斯拉夫·乌拉姆尼古拉斯·梅特罗波利斯,由于乌拉姆的叔叔经常在摩纳哥蒙特卡洛赌场输钱得名。

接下来,我们来看看如何使用蒙特卡洛方法估算圆周率。假设我们有一个随机数生成器,可以均匀地生成 $[-1,1]$ 区间的数,也就是说$[-1,1]$区间内的任何数被抽中的概率是相等的。

我们利用这个随机数生成器生成两个数分别记为 $x$ 和 $y$ ,并将其作为平面坐标系中的一个点$(x, y)$ 用三角形表示。如下图所示,由于$x$ 和 $y$ 在$[-1,1]$上均匀分布,因此正方形内的点被抽中的概率是相等的。

image-20230522211357414

设事件 $A$ 表示点位于圆内。由于抽样是均匀的,对于每次随机生成一个点而言,事件A发生的概率为圆的面积与正方形的面积之比,也就是 $$ P(A) = \frac{\pi}{4} $$ 我们重复试验 $n$ 次,生成 $n$ 个点。在每次试验中,事件 $A$ 或者发生,或者不发生。显然,这 $n$ 次试验结果互不影响,相互独立。

设随机变量 $X$ 表示这 $n$ 次独立重复试验中事件 $A$ 发生的次数,也就是在这 $n$ 个点中位于圆内的点的数量。每次试验中事件 $A$ 发生的概率为 $p$ ,则 $X$ 服从伯努利分布,即 $X ~ B(n,p)$.

每次试验只有两种可能结果,即事件A发生或者不发生,令

$$ X_i=\left\{\begin{array}{l} 1, 在第i次试验中事件A发生 \\ 0, 在第i次试验中事件A不发生 \end{array}\right.(i = 1,2, ...n) $$

则每一个 $X_i(i = 1,2,…,n)$服从$0-1$分布,且有相同的分布律

$$ \begin{array}{l|ll} X_i & 0 & 1 \\ \hline p_i & 1-\frac{\pi}{4} & \frac{\pi}{4} \end{array} $$

其中$i = 1, … , n$ ,$n$ 次伯努利试验中圆内点的数量 $$ X = X_1 + X_2 + … + X_n $$ 即伯努利分布随机变量可以分解成 $n$ 个 取值互不影响的$0-1$分布随机变量之和。

伯努利大数定理可得

$$\lim_{n \rightarrow \infty} P\left\{\left|\frac{X}{n}-p\right|<\varepsilon\right\}=1$$

上式表明,事件A发生的频率收敛于事件A发生的概率。换言之,假如我们进行了 $n$ 次试验,生成了 $n$ 个点,其中位于圆内的有 $m$ 个点。如果 $n$ 足够大,$m$ 与 $n$ 的比值就会非常接近点位于圆内的概率: $$ \frac{m}{n} \approx \frac{\pi}{4} $$ 由此得到 $$ \pi \approx \frac{4m}{n} $$ 使用蒙特卡洛方法近似 $\pi$ 的数学解释到此结束,编程倒是很容易啦,代码如下

def approxiate_pi(n):
    m = 0
    for i in range(n):
        x = np.random.uniform(-1, 1)
        y = np.random.uniform(-1, 1)
        if x**2 + y**2 <= 1:
            m += 1
    pi = 4.0 * m / n
    return pi

在这里需要注意的是,我们使用了np.random.uniform方法从给定的区间中均匀抽样,利用圆的解析方程 $x^2 + y^2 = 1$ 来判断点是否位于圆内。

References

  1. 苏德矿 张继昌. 概率论与数理统计[M]. 1. 高等教育出版社, 2006-6-1.
  2. 王树森 黎彧君 张志华. 深度强化学习[M]. 1. 人民邮电出版社, 2022-11.
comments powered by Disqus