順列(k-permutation)とは、$n$ 個の元からなる有限集合から相異なる $k$ 個の元をとって一列に並べた列のことであり、$k$ 元集合からの単射と同じものである。その個数は下降階乗 $n(n-1)\cdots(n-k+1)=n!/(n-k)!$ で、選んでから並べる数え方により二項係数 $\binom{n}{k}$ の $k!$ 倍に等しい。下降階乗を多項式と見ると、二項定理と同じ形の展開や、冪 $x^n$ を第 2 種 Stirling 数で下降階乗に展開する式が、順列と写像の数え上げから導かれる。$1,\ldots,n$ の並べ方の辞書式順序での番号は、階乗進法の桁で計算できる。
$n$ 個の相異なるものから $k$ 個を選んで一列に並べたものを順列という。たとえば $\{a,b,c,d\}$ から 2 個を並べる順列は $ab,ba,ac,ca,\ldots$ の 12 通りで、これは「1 個目を 4 通り、2 個目を残りの 3 通り」と数えられる。順列の個数 $n(n-1)\cdots(n-k+1)$ は、組合せ(二項係数)、置換の個数 $n!$、写像の個数とともに、数え上げの基本になる量である。
この記事では、順列を写像の言葉で定義し直し、個数の公式を証明する。次に、個数 $n(n-1)\cdots(n-k+1)$ を変数 $x$ の多項式と見た下降階乗について、二項定理と同じ形の展開や、冪 $x^n$ の下降階乗による展開を、順列の数え上げから導く。最後に、$1,\ldots,n$ の並べ方を辞書式に並べたときの番号の求め方を扱う。並べ方を「並べ替える操作」と見て合成を考えると対称群になるが、群としての性質は 置換 が扱い、この記事は並べ方を数える側に限る。
以下、$X$ は $n$ 個の元からなる有限集合、$k\ge0$ は整数とし、$[k]:=\{1,2,\ldots,k\}$($[0]=\emptyset$)と書く。
$k=0$ のとき、$0$-順列は空の列ただ一つである。$k$-順列は「重複のない長さ $k$ のリスト」とも言い表される(Ham18 §3.4、pp. 80–81、Lev24 Definition 3.4.5、p. 234)。
整数 $k\ge0$ に対し、変数 $x$ の多項式
$$
x^{\underline{k}}:=x(x-1)(x-2)\cdots(x-k+1)=\prod_{i=0}^{k-1}(x-i)
$$
を下降階乗(falling factorial)という。$x^{\underline{0}}=1$ と約束する。
$x^{\underline{k}}$ は次数 $k$ でモニックな整数係数の多項式である。整数 $n\ge0$ を代入すると、$k\le n$ なら $n^{\underline{k}}=n!/(n-k)!$ であり、$k> n$ なら因子 $n-n=0$ を含むので $n^{\underline{k}}=0$ である。特に $n^{\underline{n}}=n!$ である(階乗)。
列 $(x_1,\ldots,x_k)\in X^k$ と写像 $\varphi\colon[k]\to X$($\varphi(i)=x_i$)は、定義により同じデータであり、この対応は $X^k$ と写像全体の間の全単射である。成分が互いに相異なること($i\neq j$ なら $x_i\neq x_j$)は、$\varphi$ が単射であることそのものである。$k=n$ のとき、$[n]$ から $n$ 元集合 $X$ への単射は、像が $n$ 個の元からなるので像が $X$ 全体となり、全単射である。逆に全単射は単射である。$\square$
$X=[n]$ のとき、並べ方 $(a_1,\ldots,a_n)$ は $[n]$ の全単射 $i\mapsto a_i$、すなわち $[n]$ の置換と一対一に対応する(置換 の注意「順列との関係」)。このため英語ではどちらも permutation と呼ばれる。並べ方は数える対象としての列であり、置換は合成で群をなす写像である。
$|X|=n$ とする。
1. $X$ の $k$-順列の全体を $A_k$ とし、$|A_k|=n^{\underline{k}}$ を $k$ についての帰納法で示す。$A_0$ は空の列だけなので $|A_0|=1=n^{\underline{0}}$ である。
$|A_k|=n^{\underline{k}}$ と仮定する。最後の成分を除く写像
$$
\pi\colon A_{k+1}\to A_k,\qquad(x_1,\ldots,x_k,x_{k+1})\mapsto(x_1,\ldots,x_k)
$$
を考える。$(x_1,\ldots,x_k)\in A_k$ の逆像は、$y\in X\setminus\{x_1,\ldots,x_k\}$ による列 $(x_1,\ldots,x_k,y)$ の全体である。$x_1,\ldots,x_k$ は相異なるので $\{x_1,\ldots,x_k\}$ は $k$ 個の元からなり(このとき $k\le n$)、逆像は $n-k$ 個の元からなる。$A_{k+1}$ は $\pi$ の逆像の互いに交わらない和なので
$$
|A_{k+1}|=\sum_{s\in A_k}|\pi^{-1}(s)|=(n-k)\,|A_k|=(n-k)\,n^{\underline{k}}=n^{\underline{k+1}}
$$
である。$A_k=\emptyset$ のときも両辺は $0$ で成り立つ。$k\le n$ のときの $n!/(n-k)!$ と $k> n$ のときの $0$ は、上で述べた $n^{\underline{k}}$ の値である。
2. 重複順列の全体を $B_k$ とし、同じく最後の成分を除く写像 $B_{k+1}\to B_k$ を考えると、各逆像は $y\in X$ による $(x_1,\ldots,x_k,y)$ の全体で $n$ 個の元からなる。よって $|B_{k+1}|=n|B_k|$、$|B_0|=1$ から $|B_k|=n^k$ である。$\square$
prop-arr-maps と合わせると、$k$ 元集合から $n$ 元集合への単射は $n^{\underline{k}}$ 個、写像は $n^k$ 個あることになる(Lev24 Theorem 3.4.6・Example 3.4.7、p. 234)。
$0\le k\le n$ のとき、$P(n,k)=\dbinom{n}{k}\,k!$ である。したがって $n$ 元集合の $k$ 元部分集合の個数は
$$
\binom{n}{k}=\frac{n^{\underline{k}}}{k!}=\frac{n!}{k!\,(n-k)!}
$$
である。
$k$-順列 $(x_1,\ldots,x_k)$ に、その成分の集合 $\{x_1,\ldots,x_k\}$ を対応させる写像 $\rho$ を考える。成分は相異なるので、これは $k$ 元部分集合である。$k$ 元部分集合 $T$ の逆像 $\rho^{-1}(T)$ は、$T$ の元をすべて一回ずつ並べた列、すなわち $T$ の並べ方の全体であり、thm-arr-count により $k!$ 個の元からなる。$k$-順列の全体は逆像の互いに交わらない和なので、$P(n,k)=(\text{$k$ 元部分集合の個数})\cdot k!$ である。$k$ 元部分集合の個数が $\binom{n}{k}$ である(二項係数)ので主張を得る。$\square$
この関係は「まず $k$ 個を選び、次に並べる」という数え方に当たる(Lev24 §3.4.3、p. 235)。
$n=4$ のとき $P(4,k)$ は $k=0,1,2,3,4$ について $1,4,12,24,24$ であり、$k\ge5$ では $0$ である。$P(4,3)=P(4,4)$ となるのは、3 個並べれば残りの 1 個の位置が決まるからである。
$n$ 元集合 $X$ の並べ方 $(x_1,\ldots,x_n)$ に、$x_i\le x_j\Leftrightarrow i\le j$ で定まる全順序を対応させると、$X$ の並べ方と $X$ 上の全順序が一対一に対応する(全順序 の例「有限集合上の全順序」)。逆向きは、最小元から順に取り出して列を作ればよい。したがって $X$ 上の全順序も $n!$ 個ある。この対応は有限性に依存する。$\mathbb{N}$ に「偶数を小さい順に並べ、そのあとに奇数を小さい順に並べる」全順序を入れると、$1$ より前に無限個の元があるので、この順序に沿って $\mathbb{N}$ を番号付きの列 $a_1,a_2,\ldots$ に並べることはできない(番号付きの列では、各項の前には有限個の項しかない)。
順列の個数 $n^{\underline{k}}$ を多項式 $x^{\underline{k}}$ と見ると、通常の冪 $x^k$ と並行するいくつかの恒等式が成り立つ。いずれも、整数を代入した値を順列で数え、多項式の恒等式に持ち上げることで証明できる。持ち上げには次の事実を使う。
1. $0$ でない多項式の根の個数は次数以下であり有限なので、無限個の根をもつ多項式は $0$ である。
2. $F(x,y)=\sum_jc_j(y)x^j$($c_j$ は $y$ の多項式)と書く。$b\in\mathbb{N}$ を固定すると、$x$ の多項式 $F(x,b)=\sum_jc_j(b)x^j$ はすべての $a\in\mathbb{N}$ で $0$ になるので、1 から $0$ であり、各 $j$ で $c_j(b)=0$ となる。これがすべての $b\in\mathbb{N}$ で成り立つので、1 から $c_j=0$ であり、$F=0$ である。$\square$
整数 $n\ge0$ について、多項式の等式
$$
(x+y)^{\underline{n}}=\sum_{k=0}^{n}\binom{n}{k}x^{\underline{k}}\,y^{\underline{n-k}}
$$
が成り立つ。
$a,b\in\mathbb{N}$ とし、互いに交わらない集合 $A,B$ で $|A|=a$、$|B|=b$ となるものをとる。$A\cup B$ の $n$-順列 $(z_1,\ldots,z_n)$ を数える。thm-arr-count により、その個数は $(a+b)^{\underline{n}}$ である。
各 $n$-順列に、$A$ の元が置かれた位置の集合 $T:=\{i\in[n]\mid z_i\in A\}$ を対応させる。$|T|=k$ となる $T$ を一つ固定する。$T$ の元を小さい順に $i_1< \cdots< i_k$、$[n]\setminus T$ の元を小さい順に $j_1< \cdots< j_{n-k}$ とすると、位置の集合が $T$ である $n$-順列は、$A$ の $k$-順列 $(z_{i_1},\ldots,z_{i_k})$ と $B$ の $(n-k)$-順列 $(z_{j_1},\ldots,z_{j_{n-k}})$ の組と一対一に対応する。成分が相異なるという条件は、$A$ の側と $B$ の側で別々に課せば足りる($A$ と $B$ は交わらない)からである。よってその個数は $a^{\underline{k}}\,b^{\underline{n-k}}$ であり、$|T|=k$ となる $T$ は $\binom{n}{k}$ 個ある。$k$ について和をとると、等式は $x=a$、$y=b$ を代入したときに成り立つ。$a,b\in\mathbb{N}$ は任意なので、lem-arr-polynomial の 2 から多項式として成り立つ。$\square$
二項定理 $(x+y)^n=\sum_k\binom{n}{k}x^ky^{n-k}$ の冪をすべて下降階乗に置き換えた形をしている。両辺を $n!$ で割ると、$\binom{x+y}{n}=\sum_k\binom{x}{k}\binom{y}{n-k}$(Vandermonde の恒等式)になる。
整数 $n\ge0$ について、多項式の等式
$$
x^n=\sum_{k=0}^{n}S(n,k)\,x^{\underline{k}}
$$
が成り立つ。ここで $S(n,k)$ は $[n]$ を $k$ 個の空でないブロックに分ける分割の個数(第 2 種 Stirling 数)である(数え上げ組合せ論 の定義「第2種Stirling数とBell数」)。
$m\in\mathbb{N}$ とし、写像 $f\colon[n]\to[m]$ を数える。thm-arr-count の 2 によりその個数は $m^n$ である。
$f$ に対し、$f(i)=f(j)$ で定まる同値関係による $[n]$ の分割を考える。そのブロックの個数 $k$ は像 $f([n])$ の元の個数に等しい。ブロックを最小元の小さい順に $C_1,\ldots,C_k$ と並べ、$f$ が $C_r$ の上でとる値を $y_r$ とすると、相異なるブロックの値は相異なるので、$(y_1,\ldots,y_k)$ は $[m]$ の $k$-順列である。逆に、$[n]$ の $k$ ブロックへの分割と $[m]$ の $k$-順列 $(y_1,\ldots,y_k)$ が与えられれば、$C_r$ の元に $y_r$ を対応させる写像 $f$ がただ一つ定まり、その分割と順列はもとのものに戻る。よって写像全体は、$k=0,\ldots,n$ についての組(分割、$k$-順列)の全体と一対一に対応し、
$$
m^n=\sum_{k=0}^{n}S(n,k)\,m^{\underline{k}}
$$
となる。$m\in\mathbb{N}$ は任意なので、lem-arr-polynomial の 1 から多項式として成り立つ。$\square$
$S(3,1)=1$、$S(3,2)=3$、$S(3,3)=1$ なので $x^3=x^{\underline{3}}+3x^{\underline{2}}+x^{\underline{1}}=x(x-1)(x-2)+3x(x-1)+x$ である。$x=2$ を代入すると、左辺は $8$、右辺は $0+6+2=8$ である。
下降階乗は、差分 $\Delta F(x):=F(x+1)-F(x)$ について冪と同じ形の公式を満たす。
$$
\Delta x^{\underline{k}}=(x+1)x\cdots(x-k+2)-x(x-1)\cdots(x-k+1)=x^{\underline{k-1}}\bigl((x+1)-(x-k+1)\bigr)=k\,x^{\underline{k-1}}
$$
($k\ge1$)。両辺を $x=0,1,\ldots,m-1$ で足すと左辺は差が打ち消し合って $m^{\underline{k}}$ となるので、$\sum_{x=0}^{m-1}x^{\underline{k-1}}=m^{\underline{k}}/k$ である。たとえば $\sum_{x=0}^{m-1}x(x-1)=m(m-1)(m-2)/3$ である。thm-arr-stirling で冪を下降階乗に直してからこの公式を使うと、冪の和 $\sum x^n$ が計算できる。
$[n]$ の並べ方の全体に、先頭の成分から順に比べる辞書式順序を入れる。並べ方 $\sigma=(a_1,\ldots,a_n)$ が小さい方から何番目にあるかは、次の数で決まる。
$n\ge1$ とする。$0\le m< n!$ を満たす整数 $m$ は、$0\le c_i\le n-i$ を満たす整数 $c_1,\ldots,c_n$ によって
$$
m=\sum_{i=1}^{n}c_i\,(n-i)!
$$
とただ一通りに表せる($c_n=0$ である)。
まず、$j\cdot j!=(j+1)!-j!$ を $j=0,\ldots,N-1$ で足すと、差が打ち消し合って
$$
\sum_{j=0}^{N-1}j\cdot j!=N!-1\qquad(N\ge1)
$$
を得る。
$n$ についての帰納法で示す。$n=1$ では $m=0$ で、$c_1=0$ の一通りである。$n\ge2$ とし、$m$ を $(n-1)!$ で割った商を $c_1$、余りを $r$ とする($0\le r< (n-1)!$)。$m< n!=n\cdot(n-1)!$ より $c_1\le n-1$ である。帰納法の仮定を $r$ と $n-1$ に当てはめると、$r=\sum_{i=2}^{n}c_i(n-i)!$($0\le c_i\le n-i$)と書けるので、存在が示された。
一意性:$m=\sum_{i=1}^nc_i(n-i)!$ が条件を満たす表示なら、上の和の公式から
$$
0\le\sum_{i=2}^{n}c_i(n-i)!\le\sum_{i=2}^{n}(n-i)(n-i)!=\sum_{j=0}^{n-2}j\cdot j!=(n-1)!-1
$$
なので、$c_1$ は $m$ を $(n-1)!$ で割った商、残りの和は余り $r$ でなければならない。帰納法の仮定から $r$ の表示は一意なので、全体も一意である。$\square$
$[n]$ の並べ方 $\sigma=(a_1,\ldots,a_n)$ に対し、$c_i:=\#\{j> i\mid a_j< a_i\}$($a_i$ より右にある、$a_i$ より小さい成分の個数)とおく。このとき、辞書式順序で $\sigma$ より小さい並べ方の個数は
$$
\sum_{i=1}^{n}c_i\,(n-i)!
$$
である。さらに、$\sigma\mapsto(c_1,\ldots,c_n)$ は、$[n]$ の並べ方の全体から $0\le c_i\le n-i$ を満たす整数の組の全体への全単射である。
並べ方 $\tau=(b_1,\ldots,b_n)\neq\sigma$ が $\sigma$ より小さいのは、最初に成分が異なる位置 $i$ で $b_i< a_i$ となるときである。この位置 $i$ で分類する。位置 $i$ で初めて異なり $b_i< a_i$ となる $\tau$ は、$b_1=a_1,\ldots,b_{i-1}=a_{i-1}$ を満たし、$b_i$ は $a_1,\ldots,a_{i-1}$ 以外の元で $a_i$ より小さいもの、残りの $b_{i+1},\ldots,b_n$ は残った $n-i$ 個の元の並べ方である。$a_1,\ldots,a_{i-1}$ 以外の元は $a_i,a_{i+1},\ldots,a_n$ なので、$b_i$ の選び方は $\{a_j\mid j> i,\ a_j< a_i\}$ の $c_i$ 通りである。残りの並べ方は thm-arr-count により $(n-i)!$ 通りある。位置 $i$ ごとの分類は互いに交わらないので、個数は $\sum_ic_i(n-i)!$ である。
$c_i$ は位置 $i$ より右の $n-i$ 個の成分のうちのいくつかを数えるので $0\le c_i\le n-i$ である。辞書式順序は $n!$ 個の並べ方の上の全順序なので、小さい順に並べると、$\sigma$ より小さいものの個数 $\operatorname{rk}(\sigma)$ は $0,1,\ldots,n!-1$ をちょうど一回ずつとる。前半から $\operatorname{rk}(\sigma)=\sum_ic_i(n-i)!$ であり、lem-arr-factorial-base によりこの表示から $(c_1,\ldots,c_n)$ は一意に決まる。よって $(c_1,\ldots,c_n)$ から $\operatorname{rk}(\sigma)$ が決まり、$\sigma\mapsto\operatorname{rk}(\sigma)$ は単射なので、$\sigma\mapsto(c_i)$ は単射である。条件 $0\le c_i\le n-i$ を満たす組は $n\cdot(n-1)\cdots1=n!$ 個あり、並べ方も $n!$ 個なので、この単射は全単射である。$\square$
$\sigma=(3,1,4,2)$ では、$3$ の右にある小さい成分は $1,2$ の 2 個、$1$ の右には 0 個、$4$ の右には $2$ の 1 個、$2$ の右には 0 個なので、$(c_1,c_2,c_3,c_4)=(2,0,1,0)$ である。$\sigma$ より小さい並べ方は $2\cdot3!+0\cdot2!+1\cdot1!+0=13$ 個あり、$\sigma$ は 24 個のうち 14 番目である。実際、$1$ または $2$ で始まる 12 個の次に、$(3,1,2,4)$、$(3,1,4,2)$ と続く。逆に 14 番目の並べ方を求めるには、$13=2\cdot3!+0\cdot2!+1\cdot1!+0\cdot0!$ と表し、残った数のうち小さい方から $c_i+1$ 番目のものを順に選べばよい($\{1,2,3,4\}$ の 3 番目の $3$、$\{1,2,4\}$ の 1 番目の $1$、$\{2,4\}$ の 2 番目の $4$、最後に $2$)。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 成分が相異なること | $\{1,2\}$ から 2 個とる重複順列 $(1,1),(1,2),(2,1),(2,2)$ | 個数 $n^{\underline{k}}$($2^{\underline{2}}=2$ ではなく $2^2=4$ 個) |
| 並べるものが互いに区別できること | $a,a,b$ の並べ方 $aab,aba,baa$ | 個数 $n!$($3!=6$ ではなく $3$ 個) |
| 列に始まりと終わりがあること | 3 人を円卓に座らせる方法(回転を同一視) | 個数 $n!$($6$ ではなく $2$ 通り) |
| 集合が有限であること | $\mathbb{N}$ の「偶数を先、奇数を後」の全順序 | 全順序と番号付きの並べ方の対応 |
| $k\le n$ | $n=2$、$k=3$ | 式 $n!/(n-k)!$($(n-k)!$ が定義されない。$n^{\underline{k}}=0$ は成り立つ) |
2 行目と 3 行目は、それぞれ 同じものを含む順列と多項定理 と 円順列とじゅず順列 が扱う数え方の出発点である。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する