错排问题

错排问题是组合数学中的问题之一。考虑一个有 n {\displaystyle n} 个元素的排列，若一个排列中所有的元素都不在自己原来的位置上，那么这样的排列就称为原排列的一个错排。 n {\displaystyle n} 个元素的错排数记为 D n {\displaystyle D_{n}} 或 ! n {\displaystyle !n} 。 研究一个排列错排个数的问题，叫做错排问题或称为更列问题。 最早研究错排问题的是尼古拉·伯努利和欧拉，因此历史上也称为伯努利-欧拉的装错信封的问题。这个问题有许多具体的版本，如在写信时将 n {\displaystyle n} 封信装到 n {\displaystyle n} 个不同的信封里，有多少种全部装错信封的情况？又比如四人各写一张贺年卡互相赠送，有多少种赠送方法？自己写的贺年卡不能送给自己，所以也是典型的错排问题。 記 D n {\displaystyle D_{n}} 為 { 1 , 2 , … , n } {\displaystyle \{1,2,\dots ,n\}} 上沒有不動點的排列(即 ϕ : { 1 , 2 , … , n } → { 1 , 2 , … , n } ,   ϕ ( i ) ≠ i ,   ∀ 1 ≤ i ≤ n {\displaystyle \phi :\{1,2,\dots ,n\}\to \{1,2,\dots ,n\},\ \phi (i)\neq i,\ \forall 1\leq i\leq n} )的個數， D n {\displaystyle D_{n}} 的值如下：（由 n = 1 {\displaystyle n=1} 起） 0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961, 14684570, 176214841, 2290792932, ... 不難發現，這個數列有一個規律， D n = n D n − 1 + ( − 1 ) n {\displaystyle D_{n}=nD_{n-1}+(-1)^{n}} 。 例如有 n {\displaystyle n} 封收件人不同的信，隨機放入 n {\displaystyle n} 個寫了收件人地址的信封中寄出，求沒有一個收件人收到他所應接收的信的機率。當 n = 4 {\displaystyle n=4} ，設四封信為ABCD，則在 4 ! = 24 {\displaystyle 4!=24} 個排列之中，只有9個是錯排，即 ! 4 = 9 {\displaystyle !4=9} ： BADC, BCDA, BDAC, CADB, CDAB, CDBA, DABC, DCAB, DCBA 所以其機率為 9 24 = 37.5 % {\displaystyle {\frac {9}{24}}=37.5\%} 。 18世纪的法国数学家尼古拉·伯努利（1687-1759年）是最早考虑这个问题的人。之后欧拉也开始对这个问题感兴趣，并称之为“组合数学中的一个奇妙问题”（拉丁文：a quaestio curiosa ex doctrina combinationis），并独立解决了这个问题。 对于情况较少的排列，可以使用枚举法。 当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-1個空位(原本n個位置扣掉第k位)和n-1個數字，在排除了排在第k位的n後，由於k不在第n位，等價於把第n個空位改名為k的錯排問題。其错排数为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 = 1 2 {\displaystyle {\frac {1}{2}}} 当n大于等于3时，由 Dn = (n-1)(Dn-1 + Dn-2)， 即 n ! M n = ( n − 1 ) ( n − 1 ) ! M n − 1 + ( n − 1 ) ( n − 2 ) ! M n − 2 = n ! M n − 1 − ( n − 1 ) ! M n − 1 + ( n − 1 ) ! M n − 2 {\displaystyle n!M_{n}=(n-1)(n-1)!M_{n-1}+(n-1)(n-2)!M_{n-2}=n!M_{n-1}-(n-1)!M_{n-1}+(n-1)!M_{n-2}} 。 所以， n M n − n M n − 1 = − M n − 1 + M n − 2 {\displaystyle nM_{n}-nM_{n-1}=-M_{n-1}+M_{n-2}} 。 于是有 M n − M n − 1 = − 1 n ( M n − 1 − M n − 2 ) = . . . = ( − 1 n ) ( − 1 n − 1 ) . . . ( − 1 3 ) ( M 2 − M 1 ) = ( − 1 ) n 1 n ! . {\displaystyle M_{n}-M_{n-1}=-{\frac {1}{n}}(M_{n-1}-M_{n-2})=...=(-{\frac {1}{n}})(-{\frac {1}{n-1}})...(-{\frac {1}{3}})(M_{2}-M_{1})=(-1)^{n}{\frac {1}{n!}}.} 所以 M n − M n − 1 = ( − 1 ) n 1 n ! M n − 1 − M n − 2 = ( − 1 ) ( n − 1 ) 1 ( n − 1 ) ! ⋮ = ⋮ M 2 − M 1 = ( − 1 ) 2 1 2 ! {\displaystyle {\begin{aligned}M_{n}-M_{n-1}&=(-1)^{n}{\frac {1}{n!}}\\M_{n-1}-M_{n-2}&=(-1)^{(n-1)}{\frac {1}{(n-1)!}}\\\vdots \quad &=\quad \vdots \\M_{2}-M_{1}&=(-1)^{2}{\frac {1}{2!}}\\\end{aligned}}} 将上面式子分边累加，得 M n = ( − 1 ) 2 1 2 ! + ( − 1 ) 3 1 3 ! . . . + ( − 1 ) n 1 n ! . {\displaystyle M_{n}=(-1)^{2}{\frac {1}{2!}}+(-1)^{3}{\frac {1}{3!}}...+(-1)^{n}{\frac {1}{n!}}.} 因此，我们得到错排公式 D n = n ! M n = n ! ( 1 2 ! − 1 3 ! + . . . + ( − 1 ) n 1 n ! ) . {\displaystyle D_{n}=n!M_{n}=n!({\frac {1}{2!}}-{\frac {1}{3!}}+...+(-1)^{n}{\frac {1}{n!}}).} x 1 , x 2 , . . . , x n {\displaystyle x_{1},x_{2},...,x_{n}} 错排， x 1 {\displaystyle x_{1}} 需排在 x 2 , x 3 , . . . , x n {\displaystyle x_{2},x_{3},...,x_{n}} 、 x 2 {\displaystyle x_{2}} 需排在 x 1 , x 3 , . . . , x n {\displaystyle x_{1},x_{3},...,x_{n}} 如此类推。 记 s = ∑ r = 1 n x r {\displaystyle s=\sum _{r=1}^{n}x_{r}} ，错排结果为 ∏ r = 1 n ( s − x r ) {\displaystyle \displaystyle \prod _{r=1}^{n}(s-x_{r})} 中 ∏ r = 1 n x r {\displaystyle \displaystyle \prod _{r=1}^{n}x_{r}} 的系数 记 a r = ( − 1 ) r ∑ x 1 x 2 . . . x r {\displaystyle a_{r}=(-1)^{r}\sum x_{1}x_{2}...x_{r}} 为基本对称多项式， ∏ r = 1 n ( s − x r ) = ∑ r = 0 n a r s n − r = ∑ r = 2 n a r s n − r {\displaystyle \displaystyle \prod _{r=1}^{n}(s-x_{r})=\sum _{r=0}^{n}a_{r}s^{n-r}=\sum _{r=2}^{n}a_{r}s^{n-r}} 从 a r {\displaystyle a_{r}} 选出 x 1 , x 2 , . . . , x r {\displaystyle x_{1},x_{2},...,x_{r}} ，然后从 s n − r {\displaystyle s^{n-r}} 选出 x r + 1 , x r + 2 , . . . , x n {\displaystyle x_{r+1},x_{r+2},...,x_{n}} ，组成 ∏ r = 1 n x r {\displaystyle \displaystyle \prod _{r=1}^{n}x_{r}} 从 a r {\displaystyle a_{r}} 选出r个x有 C r n {\displaystyle C_{r}^{n}} 种可能，从 s {\displaystyle s} 选出其余的n-r个x有 ( n − r ) ! 1 ! 1 ! . . .1 ! = ( n − r ) ! {\displaystyle {\frac {(n-r)!}{1!1!...1!}}=(n-r)!} 种可能 ∑ r = 2 n ( − 1 ) r C r n ( n − r ) ! = n ! ∑ r = 2 n ( − 1 ) r r ! {\displaystyle \displaystyle \sum _{r=2}^{n}(-1)^{r}C_{r}^{n}(n-r)!=n!\sum _{r=2}^{n}{\frac {(-1)^{r}}{r!}}} 错位排列数的公式可以简化为： D n = ⌊ n ! e + 0.5 ⌋ , {\displaystyle D_{n}=\left\lfloor {\frac {n!}{e}}+0.5\right\rfloor ,} 其中的 ⌊ n ⌋ {\displaystyle \lfloor n\rfloor } 为高斯取整函数（小于等于 n 的最大整数）。 这个简化公式可以由之前的错排公式推导出来。事实上，考虑指数函数在 0 处的泰勒展开： e − 1 = 1 + ( − 1 ) 1 1 ! + ( − 1 ) 2 2 ! + ⋯ + ( − 1 ) n 1 n ! + e − c ( n + 1 ) ! ( c − 1 ) n = 1 2 ! − 1 3 ! + ⋯ + ( − 1 ) n 1 n ! + R n = D n n ! + R n {\displaystyle {\begin{aligned}e^{-1}&=1+{\frac {\left(-1\right)^{1}}{1!}}+{\frac {\left(-1\right)^{2}}{2!}}+\cdots +\left(-1\right)^{n}{\frac {1}{n!}}+{\frac {e^{-c}}{(n+1)!}}\left(c-1\right)^{n}\\&={\frac {1}{2!}}-{\frac {1}{3!}}+\cdots +\left(-1\right)^{n}{\frac {1}{n!}}+R_{n}\\&={\frac {D_{n}}{n!}}+R_{n}\\\end{aligned}}} 所以， n ! e − D n = n ! R n {\displaystyle {\frac {n!}{e}}-D_{n}=n!\,R_{n}} 。其中 Rn 是泰勒展开的餘项，c 是介于 0 和 1 之间的某个实数。Rn 的绝对值上限为 | R n | ⩽ e 0 ( n + 1 ) ! = 1 ( n + 1 ) ! {\displaystyle |R_{n}|\leqslant {\frac {e^{0}}{(n+1)!}}={\frac {1}{(n+1)!}}} | n ! e − D n | ⩽ n ! ( n + 1 ) ! = 1 ( n + 1 ) {\displaystyle {\Big |}{\frac {n!}{e}}-D_{n}{\Big |}\leqslant {\frac {n!}{(n+1)!}}={\frac {1}{(n+1)}}} 当 n≥2 时， 1 ( n + 1 ) {\displaystyle {\frac {1}{(n+1)}}} 严格小于 0.5，所以 D n = n ! ( 1 2 ! − 1 3 ! + . . . + ( − 1 ) n 1 n ! ) {\displaystyle D_{n}=n!\left({\frac {1}{2!}}-{\frac {1}{3!}}+...+(-1)^{n}{\frac {1}{n!}}\right)} 是最接近 n ! e {\displaystyle {\frac {n!}{e}}} 的整数，可以写成 D n = ⌊ n ! e + 0.5 ⌋ . {\displaystyle D_{n}=\left\lfloor {\frac {n!}{e}}+0.5\right\rfloor .} Sloane, N.J.A. (编). Sequence A000166 (Subfactorial or rencontres numbers, or derangements: number of permutations of n elements with no fixed points.). The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.  Heinrich Dörrie. Triumph der Mathematik: hundert berühmte Probleme aus zwei Jahrtausenden mathematischer Kultur. Courier Dover Publications. 1965 （英语）. 第19-21页 卢开澄、卢华明. 《组合数学》. 清华大学出版社. ISBN 730213961X （中文（简体））.  Miodrag Petković. Famous puzzles of great mathematicians. American Mathematical Soc. 2009. ISBN 9780821848142 （英语）. 第184-186页 Branislav Kisačanin. Mathematical problems and proofs: combinatorics, number theory, and geometry. Springer. 1998. ISBN 9780306459672 （英语）. 第43-44页