先来看一个问题:一个秘书打好4个封信和相应的四个信封,现在秘书将这四封信随机装入四个信封当中(每个信封装一封信),问每个信封都被装入原来和自己不对应的信封的装法一共有多少种?
答案是9种。
首先我们将这个文件进行进一步简化,假设
1封信,1个信封:0种(不可能放错)
2封信,2个信封:1种(交换)
3封信,3个信封:2种(假设三个字母为ABC,则完全错排的组合为BCA和CAB)
则可以对该题进行分类讨论,分别讨论4个信封中1,2,4个信封放对的情形
1个信封放对: $\binom{4}{1} * 2 = 8$ (从4个信封中挑1个,其他3个错排)
2个信封放对:$\binom{4}{2}* 1 = 6$ (从4个信封中挑2个,其他2个错排)
4个信封放对:1
总的排列为24种(4!),则剩下的排列数(24-8-6-1=9)就是答案
现在我们将这个问题进一步推广,问,有n个信封和n封信,装法不变,仍然要求第i封信不能装到第i个信封当中(i = 1,2……,n),问共有多少种装法?
这个问题的原理,可以追溯到错排问题和错排公式。
错排问题,是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。错排问题最早被尼古拉·伯努利和欧拉研究,因此历史上也称为伯努利-欧拉的装错信封的问题。这个问题有许多具体的版本,如在写信时将n封信装到n个不同的信封里,有多少种全部装错信封的情况?又比如四人各写一张贺年卡互相赠送,有多少种赠送方法?自己写的贺年卡不能送给自己,所以也是典型的错排问题。
解决方法
1.利用递推公式解决
我们记n个元素的错排数为D(n),将数和数的位置的对应关系表示如下
位置 | 1 | 2 | 3 | ... | n |
数 |
从n个数中任意挑一个数m,将m放在位置l上
分两种情况讨论
- l放在m的位置上
在这种情况下,数和位置的关系变为
位置 | 1 | 2 | 3 | ... |
l |
... | m | ... | n |
数 | m | l |
l,m的位置关系确定了,剩下1,2,3,……,l-1,l+1,……,m-1,m+1共n-2个数进行错排。
由此我们可以发现,m可以放在除m位的任意一个位置上,共有n-1种选择,每种选择都会形成D(n-2)种错排方法,所以这种情况下共有(n-1) * D(n-2)种错排方案。
- l不放在m的位置上
这种情况下,剩下的数和位置的关系为
剩下的位置 | 1 | 2 | 3 | …… | l-1 | l+1 | …… | m | …… | n |
---|---|---|---|---|---|---|---|---|---|---|
剩下的数 | 1 | 2 | 3 | …… | l | …… | m- 1 | m+1 | …… | n |
为了看得更清楚一下,分别将l和m放在最末尾
剩下的位置 | 1 | 2 | 3 | …… | l-1 | l+1 | …… | m-1 | m+1 | …… | n | m |
---|---|---|---|---|---|---|---|---|---|---|---|---|
剩下的数 | 1 | 2 | 3 | …… | l-1 | l+1 | …… | m-1 | m+1 | …… | n | l |
前面n-2个数和n-2个位置很明显是一一对应的,满足错排要求。最后一位,因为l不能放在m位上,所以相当于m和l存在一种对应关系,就可以把第l位看作第m位。由此可见,剩下的n-1个数和n-1个位置就是n-1个数的错排.
同样,m可以放在除m位的任意一个位置上,共有n-1种选择,每种选择都会形成D(n-1)种错排方法,所以这种情况下共有(n-1) * D(n-1)种错排方案。综合两种情况考虑,可以得到错排公式的递推公式
$$D(n)=(n-1)* [D(n-1)+D(n-2)]$$
2. 使用通项公式求解
由递推公式的推导可以发现,可以发现错排公式的通项公式必然存在一个n!,所以不妨假设
$$D(n) = n!N(n)$$
由递推公式我们可以推导出
$$
\begin{aligned}
&D(n) = (n-1)* [(n-1)!* N(n-1)+(n-2)!* N(n-2)] \\
&n!N(n)= (n-1)* [(n-1)!* N(n-1)+(n-2)!* N(n-2)] \\
&nN(n)= (n-1)*N(n-1) + N(n-2) \\
&\frac{N(n)-N(n-1)}{N(n-1)-N(n-2)}=-\frac{1}{n}
\end{aligned}
$$
递推得
$$
\begin{aligned}
&(N(n)-N(n-1))/(N(n-1)-N(n-2))=(-1)/n \\
&(N(n-1)-N(n-2))/(N(n-2)-N(n-3))=(-1)/(n-1) \\
&(N(n-2)-N(n-3))/(N(n-3)-N(n-4))=(-1)/(n-2) \\
... \\
&(N(3)-N(2))/(N(2)-N(1))=(-1)/3
\end{aligned}
$$
将以上公式累乘得到公式
$$(N(n)-N(n-1))/(N(2)-N(1))=(-1)^{n-2}/[n*(n-1)*(n-2)*(n-3)*......*4*3]$$
D(1)=0,D(2)=1,可推出N(1)=0,N(2)=1/2,带入化简得
$$N(n)-N(n-1) = (-1)^{n}/n!$$
累加求和可得
$$
\begin{aligned}
N(n) - N(1)&=N(n)-N(n-1)+...+N(2)-N(1) \\
&=(-1)^{2}/2!+...+(-1)^{n-1}/(n-1)!+(-1)^{n}/n!
\end{aligned}
$$
即
$$N(n) = (-1)^{2}/2!+...+(-1)^{n-1}/(n-1)!+(-1)^{n}/n!$$
因此
$$D(n) = n!*[(-1)^{2}/2!+...+(-1)^{n-1}/(n-1)!+(-1)^{n}/n!]$$
这就是错排公式的通项公式