【学习笔记】球面上随机 N 个点在同一个半球上的概率
主要参考了这篇博客的做法,作者是履历惊人的前辈,很惊喜发现这个个人网站。
d-维空间的单位球面上随机分布的 N 个点,全在同一个半球上的概率是:
\[P_{d,N} = 2^{-N+1} \sum_{i=0}^{d-1} \binom{N-1}{i} \]证明如下:
首先随机抽取 \(N\) 个点 \(x_1, \cdots, x_N\),考虑它们在球面上的对称点。在这 \(N\) 对对称点各取其一,一共有 \(2^N\) 种取法。我们下面将这些取法当成样本,计算这里面有多少个样本满足 \(N\) 个点都在同一个半球上。不考虑发生概率为 0 的边界情况,对于任何一个半球,恰好有一个样本满足所有点都在这半个球面上。 接下来我们只需要计算有多少个不同的半球,对应不同的样本。
-
举一个边界情况的例子,三维球面上的三条线共点。
-
选取对称点的方法的 motivation 是什么?我能观察到的是,一个半球不能包含三个不共面的球里面的直径。
但是根据这个结构我还不能自然想到这个建模。
半球与球面上的点有一一对应关系,这一点是这个半球的「极点」。以 \(x_i\) 为垂线 \(^{[1]}\),经过圆心画一个平面 ( \(d-1\) 维),一共形成 \(N\) 个平面。这些平面将球面划分为若干个区域。很容易发现,对于同一个区域的点所对应的半球,都包含同一个样本;不同区域的点对应的半球,则包含不同的样本。
[1] 这里是 “以 \(Ox_i\) 为法线的超平面”
这就是说位于同一个半球的样本数量等于 \(N\) 个经过球心的 \(d-1\) 维平面将球面划分的区域的数量,即 \(2 \sum_{i=0}^{d-1} \binom{N-1}{i}\),从而可得最终的结论。
这个数量的表达式非常不 trivial,作者在评论区里面写了使用归纳法,下面是我的一种归纳方式。
假设 \(R_d(N)\) 表示 d 维单位球中 N 个 d-1 维超平面能将球面分成的区域数量,新加入一个超平面后,这个超平面必然与先前的 N 个超平面相交,在球表面上的每个交对应两个新的区域,交的数量是用 N 个 d-2 维超平面将 d-1 维单位球面分割成的区域数量,也即\(R_{d-1}(N)\)。于是我们得到了关键的表达式 \(R_{d} (N+1) = R_d(N) + R_{d-1}(N)\),代入并使用组合数求和,就可以完成 \(R_d(N) \rightarrow R_d(N+1)\) 的归纳。
我们容易知道 \(R_{d}(1) = 2\) 对于任意 d 成立,于是只用进行 N -> N+1 的归纳。于是我们完成了归纳。