順列

同義語:k-permutationk-順列arrangement重複のない順列

概要

順列(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$ の並べ方の辞書式順序での番号は、階乗進法の桁で計算できる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 階乗, 単射, 二項係数

$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$)と書く。

順列と重複順列
  1. $X$ の元の列 $(x_1,\ldots,x_k)$ で、成分 $x_1,\ldots,x_k$ が互いに相異なるものを、$X$ の $k$-順列($k$-permutation)、または $X$ から $k$ 個とる順列という。$k=n$ のときは $X$ のすべての元を一回ずつ並べた列であり、単に $X$ の並べ方ともいう。$X$ の $k$-順列の個数を $P(n,k)$ または ${}_n\mathrm{P}_k$ と書く。
  2. 成分が相異なることを要求しない列 $(x_1,\ldots,x_k)\in X^k$ を、$X$ から $k$ 個とる重複順列という。

$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!$ である(階乗)。

順列と写像の対応
  1. $X$ の $k$-順列 $(x_1,\ldots,x_k)$ に写像 $i\mapsto x_i$ を対応させると、$X$ の $k$-順列の全体と、$[k]$ から $X$ への単射の全体の間の全単射が得られる。
  2. 同じ対応で、$X$ の重複順列の全体は $[k]$ から $X$ への写像の全体と一対一に対応し、$X$ の並べ方($k=n$)の全体は $[n]$ から $X$ への全単射の全体と一対一に対応する。

列 $(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$-順列の個数は $P(n,k)=n^{\underline{k}}$ である。特に $k\le n$ なら $P(n,k)=\dfrac{n!}{(n-k)!}$、$k> n$ なら $P(n,k)=0$ であり、$X$ の並べ方は $n!$ 通りある。
  2. $X$ から $k$ 個とる重複順列の個数は $n^k$ である。

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$ の母集団から、もとに戻さずに $n$ 個を順に取り出す方法は $P(N,n)=N^{\underline{n}}$ 通りある(母集団と標本)。もとに戻す場合は重複順列で $N^n$ 通りである。
  • 円順列:$n$ 個を円形に並べる方法は、回転で移り合う $n$ 個の並べ方を同じとみなして $n!/n=(n-1)!$ 通りである(円順列とじゅず順列)。
  • 同じものを含む順列:区別できないものを含むときの並べ方は 同じものを含む順列と多項定理 が扱う。
  • 完全順列:$1,\ldots,n$ の並べ方で、どの $i$ も $i$ 番目に来ないものの個数は、包除原理で求まる(数え上げ組合せ論 の例「完全順列の個数」)。

並べ方と全順序

$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. 1 変数の多項式 $F(x)$(係数は $\mathbb{Q}$)が、すべての $m\in\mathbb{N}$ で $F(m)=0$ を満たすなら、$F=0$ である。
  2. 2 変数の多項式 $F(x,y)$ が、すべての $(a,b)\in\mathbb{N}^2$ で $F(a,b)=0$ を満たすなら、$F=0$ である。

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$

小さい $n$ での展開

$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アソシエイト)の紹介料で運営されています。 支援について / 寄付する