题目
把\(50\)根煮熟的意大利面看作\(50\)段线段,它们一共有\(100\)个端点。
现在把这\(100\)个端点随机两两配对并打结。
问:最终形成的闭合面条环(loop)个数的期望是多少?

分析
把每一段面条看成一条“链段”。在打结过程中,所有中间状态都可以看成若干条“开链”(两端还没封口)以及若干条“闭环”(已经封口,不再参与后续打结)。
每次随机选两端打结时,会出现两种情况:
- 两个端点来自两条不同开链:两条链接成一条更长开链;
- 两个端点来自同一条开链:这条开链被封口,新增一个闭环。
所以,最终闭环总数=“在整个过程中,选到同一条开链两端的次数”。
设当前还剩\(k\)条开链(因此有\(2k\)个自由端点)。随机拿起一个端点后,另一个端点在剩下\(2k-1\)个端点中等可能;其中恰好只有\(1\)个端点是它同一条开链的另一端。因此此时“本次打结产生一个新闭环”的概率是\(\frac{1}{2k-1}\)。
从\(k=50\)一路到\(k=1\),每一步都会发生一次打结。令\(X_k\)表示“当还剩\(k\)条开链时这一步是否产生闭环”的指示变量,则\(\mathbb E[X_k]=\frac{1}{2k-1},\qquad L=\sum_{k=1}^{50}X_k\)。
由期望线性性,\(\mathbb E[L]=\sum_{k=1}^{50}\frac{1}{2k-1}\),得到:所求期望是前\(50\)个奇数倒数之和。
\[ \mathbb E[L]=1+\frac13+\frac15+\cdots+\frac1{99} \approx 2.937774848\]
所以平均而言,最后大约会得到\(2.94\)个闭合面条环。
