1. 问题描述
有绳子若干,随机选取两个绳头系在一起,直到所有的绳头都被系起来,这时将形成若干个环。问环的个数的期望是多少。
2. 一般解法
记绳子数为$N$时,环的个数为随机变量$X_N$,期望为$\mu_N=E\{X_N\}$。显然,$X_N$可能的取值为$1, 2, \dots, N$。直接的想法是计算$X_N$的概率分布$P\{X_N=m\}$然后再求期望,但显然过于复杂。考虑如下的思路:先随机选取两个绳头系在一起,有且只有两种结果:a. 这两个绳头属于一根绳子,于是形成了一个环,而剩下的$N-1$根绳子归结为规模为$N-1$的问题;b. 这两个绳头属于不同的绳子,于是这两根绳子形成了一根绳子,和剩下$N-2$共同构成了规模为$N-1$的问题。记a、b发生的概率分别为$P\{a\}, P\{b\}$,则有
$$\mu_N=(\mu_{N-1}+1)P\{a\}+\mu_{N-1}P\{b\}$$
下面计算a、b发生的概率。选这两个绳头时,第一个可以任选。而从剩下$2N-1$个绳头中选择第二个时,只有一种选择会产生情况a,即选中和第一个绳头属于同一根绳子的绳头;剩下$2N-2$种选择将产生情况b。于是
$$P\{a\}=\frac{1}{2N-1} \\ P\{b\}=\frac{2N-2}{2N-1}$$
于是有
$$\begin{equation} \label{muN} \mu_N=\frac{1}{2N-1}(\mu_{N-1}+1)+\frac{2N-2}{2N-1}\mu_{N-1}\end{equation}$$
得
$$\mu_N=\mu_{N-1}+\frac{1}{2N-1}$$
展开即得通项公式
$$\mu_N=\sum_{n=1}^{N}\frac{1}{2n-1}$$
3. 深入讨论
回到最初的思路上:计算各种情况的概率。其实,可以应用上面的思路,来计算这一概率。记$n$根绳子形成$m$个环的概率为$P(n,m)$。为此,考虑$n$根绳子形成$m$个环的所有可能情况为$Q(n,m)$。注意,这里我们视绳子和绳头是有顺序的,因此使用排列数而不是组合数。对于$Q(n,m)$,有递推公式
$$\begin{equation} \label{Qnm} Q(n,m)=2nQ(n-1,m-1)+2n(2n-2)Q(n-1,m) \end{equation}$$
上式含义为:$n$根绳子形成$m$个环,可以分成两种情况:a. 先选取一个绳子自己成环,共$2n$种情况,然后剩下$n-1$根绳子形成$m-1$个环。对应于第一项。b. 先选取两个不同绳子的绳头系在一起,共$2n(2n-2)$中情况,然后和剩下$n-2$根绳子共同形成$m$个环。对应于第二项。
而$n$根绳子随机系成环的所有排列数为
$$S(n)=(2n)!$$
又$P(n,m)=Q(n,m)/S(n)$,即$Q(n,m)=P(n,m)S(n)$。代入($\ref{Qnm}$)即得$P(n,m)$的递推式
$$\begin{equation} \label{Pnm} P(n,m)=\frac{1}{2n-1}P(n-1,m-1)+\frac{2n-2}{2n-1}P(n-1,m) \end{equation}$$
是不是和$\mu_N$的表达式($\ref{muN}$)很像?其实这个式子可以从概率的角度理解。用$E(n,m)$表示$n$根绳子形成$m$个环的事件,$P(n,m)=P\{E(n,m)\}$。由全概率公式
$$P(n,m)=P\{E(n,m)|a\}P\{a\}+P\{E(n,m)|b\}P\{b\}$$
$a$发生的概率为$P\{a\}=1/(2n-1)$,b发生的概率为$P\{b\}=(2n-2)/(2n-1)$。而$P\{E(n,m)|a\}=P\{E(n-1,m-1)\}$,$P\{E(n,m)|b\}=P\{E(n-1,m)\}$。代入即得$P(n,m)$的递推式($\ref{Pnm}$)。
4. 数值结果
为了加强直观印象,用Matlab计算了前面几项的结果。$Q(n,m)$的数值如下
n/m 1 2 3 4 5
1 2
2 16 8
3 384 288 48
4 18432 16896 4608 384
5 1474560 1536000 537600 76800 3840
$P(n,m)$的结果如下
n/m 1 2 3 4 5
1 1.0000 0 0 0 0
2 0.6667 0.3333 0 0 0
3 0.5333 0.4000 0.0667 0 0
4 0.4571 0.4190 0.1143 0.0095 0
5 0.4063 0.4233 0.1481 0.0212 0.0011
可以验证$\sum_{m=1}^{n}P(n,m)=1$。