关于含指定极角的随机圆扇形期望大小的疑问及模拟验证
嘿,你的模拟完全没错!这个结果其实是对的,问题出在你最初的直觉误区上——“指定极角所在扇形的期望长度”和“随机一个扇形的期望长度”根本不是一回事,我们来拆解清楚:
首先,先明确两个问题的核心区别:
- 普通情况:n个随机点分圆为n个扇形,每个扇形的期望长度确实是$2\pi/n$,这是因为总周长是$2\pi$,对称性下每个扇形的期望相等,直接均分即可。
- 你的问题:找包含某个固定极角$\theta$的扇形的期望长度,这本质是条件期望——我们只关注那些包含$\theta$的扇形,而更长的扇形有更高的概率包含$\theta$,所以这个期望会被更长的扇形“加权拉高”,自然比$2\pi/n$大。
结合你的模拟代码理解
你把圆转换成$[0,1)$的线段(归一化周长),把$\theta=0$放在线段的两端(因为圆是循环的,0和1重合),这个转换非常聪明。此时n个随机点落在线段上,包含0的扇形长度就是从最靠近1的点到1的距离加上从0到最靠近0的点的距离,也就是代码里的1 - max(arr) + min(arr)。
对于$[0,1)$上的n个均匀独立随机点,我们可以用顺序统计量的结论:
- 最小点$X_1$的期望是$1/(n+1)$
- 最大点$X_n$的期望是$n/(n+1)$
代入计算这个长度的期望:
$$E[(1 - X_n) + X_1] = 1 - \frac{n}{n+1} + \frac{1}{n+1} = \frac{2}{n+1}$$
对应实际弧度就是$2\pi \times \frac{2}{n+1} = \frac{4\pi}{n+1}$,和你模拟的结果完全一致(比如n=4时,$\frac{2}{4+1}=0.4$,对应$2\pi\times0.4=\frac{4\pi}{5}$,正好是公式的结果)。
直觉上的修正
为什么一开始会觉得是$2\pi/n$?因为默认认为“每个扇形被选中的概率相等”,但实际上,θ落在某个扇形的概率和这个扇形的长度成正比——长度是L的扇形,包含θ的概率是$L/(2\pi)$。我们相当于在按长度加权选择扇形,所以期望会比平均水平高。
举个极端例子验证:
- 当n=1时,只有一个扇形,长度是$2\pi$,公式给出$\frac{4\pi}{1+1}=2\pi$,完全正确;
- 当n=2时,公式给出$\frac{4\pi}{3}\approx4.188$,而普通扇形期望是$\pi\approx3.1416$,显然更长的扇形更可能包含θ,所以期望更高,符合逻辑。
最后,不管你选哪个极角$\theta$,结果都一样,因为圆是旋转对称的,这也和你换θ模拟的结果一致。
备注:内容来源于stack exchange,提问作者HMA

