错排问题

错排问题是组合数学中的问题之一。考虑一个有个元素的排列，若一个排列中所有的元素都不在自己原来的位置上，那么这样的排列就称为原排列的一个错排。 个元素的错排数记为或。 研究一个排列错排个数的问题，叫做错排问题或称为更列问题。

最早研究错排问题的是尼古拉·伯努利和欧拉，因此历史上也称为伯努利-欧拉的装错信封的问题。这个问题有许多具体的版本，如在写信时将封信装到个不同的信封里，有多少种全部装错信封的情况？又比如四人各写一张贺年卡互相赠送，有多少种赠送方法？自己写的贺年卡不能送给自己，所以也是典型的错排问题。

定義
記為上沒有不動點的排列(即)的個數，的值如下：（由起）

 0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961, 14684570, 176214841, 2290792932, ... 

不難發現，這個數列有一個規律，

。

例如有封收件人不同的信，隨機放入個寫了收件人地址的信封中寄出，求沒有一個收件人收到他所應接收的信的機率。當，設四封信為ABCD，則在個排列之中，只有9個是錯排，即：

 BADC, BCDA, BDAC, CADB, CDAB, CDBA, DABC, DCAB, DCBA

所以其機率為

。

历史
18世纪的法国数学家尼古拉·伯努利（1687-1759年）是最早考虑这个问题的人。之后欧拉也开始对这个问题感兴趣，并称之为“组合数学中的一个奇妙问题”（拉丁文：），并独立解决了这个问题。

研究错排问题的方法

枚举法
对于情况较少的排列，可以使用枚举法。
当n=1时，全排列只有一种，不是错排，D1 = 0。
当n=2时，全排列有两种，即1、2和2、1，后者是错排，D2 = 1。
当n=3时，全排列有六种，即1、2、3；1、3、2；2、1、3；2、3、1；3、1、2；3、2、1，其中只有有3、1、2和2、3、1是错排，D3=2。用同样的方法可以知道D4=9。
最小的几个错排数是：D1 = 0，D2 = 1，D3=2，D4 = 9，D5 = 44，D6 = 265，D7 = 1854。

递推数列法
对于排列数较多的情况，难以采用枚举法。这时可以用递归思想推导错排数的遞迴關係式。

显然D1=0，D2=1。当n≥3时，不妨设n排在了第k位，其中k≠n，也就是1≤k≤n-1。那么我们现在考虑k的情况。
当k排在第n位时，除了n和k以外还有n-2个数，其错排数为Dn-2。
当k不排在第n位时，那么将第n位重新考虑成一个新的“第k位”，这时的包括k在内的剩下n-1个数的每一种错排，都等价于只有n-1个数时的错排（只是其中的第k位会换成第n位）。其错排数为Dn-1。
所以当n排在第k位时共有Dn-2+Dn-1种错排方法，又k有从1到n-1共n-1种取法，我们可以得到：
Dn=(n-1)(Dn-1+Dn-2) 

在上面我们得到

Dn=(n-1)(Dn-1+Dn-2)

从这个公式中我们可以推出Dn的通项公式，方法如下：

为书写方便，记Dn = n!Mn，则M1 = 0, M2 = 

当n大于等于3时，由

Dn = (n-1)(Dn-1 + Dn-2)，

即

。

所以，。

于是有 

所以

将上面式子分边累加，得

因此，我们得到错排公式

多项式模拟
错排，需排在、需排在如此类推。

记，错排结果为中的系数

记为基本对称多项式，

从选出，然后从选出，组成

从选出r个x有种可能，从选出其余的n-r个x有

种可能

简化公式
错位排列数的公式可以简化为：

其中的  为高斯取整函数（小于等于 n 的最大整数）。

这个简化公式可以由之前的错排公式推导出来。事实上，考虑指数函数在 0 处的泰勒展开：

所以，。其中 Rn 是泰勒展开的餘项，c 是介于 0 和 1 之间的某个实数。Rn 的绝对值上限为

 
当 n≥2 时， 严格小于 0.5，所以  是最接近  的整数，可以写成

参考资料

组合数学