完全順列

**完全順列**（かんぜんじゅんれつ、）、もしくは**攪乱順列**（かくらんじゅんれつ、）とは、整数 1, 2, 3, …,  を要素とする順列において、 番目 ( ≦ ) が  でない順列である。順列を置換とみると、完全順列は不動点の個数が 0 の置換に対応している。乱列、混乱順列ともいう。

## モンモール数
完全順列の総数をモンモール数 () という。モンモール数はしばしば  と書かれる。これはフランスの数学者  に因んで名づけられた。

モンモール数を小さい順に並べると
:0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961, …（）
である。

### 例
例えば 1, 2, 3, …,  の要素を並べるとき、1 番左端には 1 以外の数字が来るように、左から 2 番目には 2 以外の数字が来るように、同様に左から  番目には  以外の数字が来るように並べ替える。
* のとき完全順列はなし。
* のとき完全順列は  の 1 通り。
* のとき完全順列は  の 2 通り。
* のとき完全順列は  の 9 通りになる。





### 漸化式
モンモール数  を与える漸化式を考える。

番目に置く数の選び方は 1 から( - 1)までの( - 1)通りである。ここで選んだ数を  とする。次に、番目が  かどうかで場合分けをする。番目が  であれば、番目に置かれた  と番目に置かれた  を除く( - 2)個の数の並べ方の総数は、( - 2)個の数による完全順列の数、すなわち -2に等しい。番目が  でない場合は、番目に置かれた  を除く( - 1)個の数の並べ方の総数は、( - 1)個の数による完全順列の数、すなわち -1となる。

以上をまとめると、以下の漸化式が得られる。
:a_n=(n-1)(a_{n-1}+a_{n-2}) ,\quad n \geqq 3
 は#例のように計算できて、漸化式に  を代入して  が得られるので、この条件の下で漸化式を解くと、一般項は
:a_n=\sum_{k=0}^n{\frac{(-1)^k n!}{k!}} ,\quad n \geqq 0
となる。この一般項から、別の漸化式が得られる。
:a_n=n a_{n-1}+(-1)^{n} ,\quad n \geqq 1
また、個のものを並べ替える順列をランダムに作ったとき完全順列になる確率は、一般項の式の両辺を ! で割った
:\frac{a_n}{n!}=\sum_{k=0}^n{\frac{(-1)^k}{k!}} ,\quad n \geqq 0
で表される。さらに  &rarr; &infin; とすると、指数関数のマクローリン展開
:e^{x} = \sum^{\infin}_{n=0} \frac{x^n}{n!}
に  = -1 を代入した式になっているので、自然対数の底  の逆数  となる。パーセントで表すとおよそ36.788%である。

### 具体例
例えば 5 人でプレゼントを持ち寄ってランダムに分け直したとき、誰かが自分の持ってきたプレゼントに当たってしまう確率  は
:p_5=\dfrac{5 !-44}{5 !}=\dfrac{76}{120}=\dfrac{19}{30}=0.6333\cdots となる。
人数が 10 人の場合の確率 10 は
:p_{10}=\dfrac{10 !-1334961}{10 !}=\dfrac{2293839}{3628800}=0.63212053571428571428571428571429\cdots となる。
人数が  人の場合の確率  の極限は
:\lim_{n \to \infty}p_n = 1 - \frac{1}{e} = 0.63212055882855767840447622983854\cdots となる。
上記の式におけるの  人のときの分子の数  はを参照。

### 包除原理による解法
包除原理を用いてもモンモール数の一般項を求めることができる。 を満たす自然数  に対して、集合 A_k を  個の数字  を自分自身に写す置換の中で、 番目の数字を固定する（すなわち、 を  に写した）順列の集合とする。 個の集合の共通部分は  個の数字を固定する置換を施した順列になるので、その元の個数は (n - i)! に等しくなる。このとき、共通部分の選び方は _{n}\mathrm{C}_{i} = \tbinom{n}{i} 通りになるので、包除原理により以下の式が成り立つ。

:\begin{align}|A_1\cup\cdots\cup A_n|&=  \sum_i \left|A_i\right|
- \sum_{i 
このとき、完全順列は  個の数字の中、どれも固定しない置換による順列になるので、以下の式を得る。
:a_n = n!- |A_1\cup\cdots\cup A_n|=n! \sum_{i=0}^n \frac{(-1)^i}{i!}.

### 母関数
モンモール数 を与える母関数は以下のようになる。
:\begin{align}\sum_{n=0}^{\infty} a_{n}x^{n} &= \frac{e^{-\left(1+\frac{1}{x}\right)}}{x}\mathrm{Ei}\left(1+\frac{1}{x}\right)\\
&= 1+x^2+2x^3+9x^4+44x^5+265x^6+\cdots\end{align}
ここで、 は指数積分である。また、指数型母関数は以下のようになる。
:\begin{align}\sum_{n=0}^{\infty} a_{n}\frac{x^{n}}{n!} &= \frac{e^{-x}}{1-x}\\
&= 1+\frac{1}{2}x^2+\frac{1}{3}x^3+\frac{3}{8}x^4+\frac{11}{30}x^5+\frac{53}{144}x^6+\cdots\end{align}
ここで、係数の分子の列はを参照、分母の列はを参照。

### 計算式
その他の計算式としては、以下のような式がある。
:a_{n} = \left\lfloor \frac{n!}{e} \right\rceil ,\quad n \geqq 1
ここで、 は  の小数点以下を四捨五入した値である。さらに、
:a_{n} = \left\lfloor \frac{n!+1}{e} \right\rfloor ,\quad n \geqq 1
ここで、 は床関数の値である。

### 積分表示
モンモール数は不完全ガンマ関数  を用いて以下のように表される。
:a_n = \frac{\Gamma(n + 1, -1)}{e}.
これは、不完全ガンマ関数の積分表示により以下のように表される。
:a_n = \int_{-1}^{\infty}x^{n}e^{-(x+1)}dx =\int_0^\infty(x-1)^ne^{-x}dx.

### 連分数
以下のような連分数が得られる。
:a_n = \frac{n!}{e} + \cfrac{(-1)^n}{n+2 -
\cfrac{1}{n+3 -
\cfrac{2}{n+4 -
\cfrac{3}{n+5 - \ddots}}}}

## 脚注

## 関連項目

* 階乗
* 組合せ数学
* 包除原理

## 参考文献
* 
** 

## 外部リンク
* 
* 
* 完全順列とモンモール数
* 
* 
* 
* 
*