- 目次
- 理解
- コード
- まとめ
【理解】順列の数学的解説
階乗と順列の定義と意味について
$n! := n \cdot (n-1) \cdot \cdots \cdot 2 \cdot 1$
$\displaystyle {}_n \mathrm{P}_r := \frac{n!}{(n-r)!}$
Column. 階乗 $n!$ と順列 ${}_n\mathrm{P}_r$ の意味
※ $0! = 1$
※ ${}_n\mathrm{P}_n = n!$
※ ${}_n\mathrm{P}_0 = 1$
応用的な並べ方について
$n$ 個のものから $r$ 個を選び円形に並べる順列の総数
$\displaystyle \frac{{}_n \mathrm{P}_r}{r}$ (通り)
$n$ 種類のものを同じものの重複を許して $r$ 個並べる順列の総数
$n^r$ (通り)
$n$ 個のうち $s$ 個, $t$ 個, $\cdots$ が同じもので, これらをすべて並べる順列の総数
$\displaystyle \frac{n!}{s! \cdot t! \cdots}$ (通り)
(準備中)完全順列:$n$ 個のものを, $k$ 番目のものを $k$ 番目以外に並べるときの順列の総数
$\displaystyle n!\sum_{k=0}^n\frac{(-1)^k}{k!}$ (通り)
$n$ 個のものを, $k$ 番目のものを $k$ 番目以外に並べるときの順列の総数は
$\displaystyle n! - \sum_{k=1}^n (-1)^{k+1} {}_n \mathrm{C}_{k}(n-k)!$ $\displaystyle =n!\sum_{k=0}^n\frac{(-1)^k}{k!}$
である
具体的な並べ方について
$n$ 人のうち $x$ 人が隣り合う指定がある順列の総数
$x! \times (n-x+1)!$ (通り)
[例]大人が5人と子どもが3人いる。
全員が一列に並ぶうち, 子どもが全員隣り合う順列の総数は
$3! \times (5+1)!$ (通り)
である。
$n$ 人のうち $x$ 人のうちの $2$ 人が両端に並ぶ指定がある順列の総数
${}_x\mathrm{P}_2 \times (n-2)!$ (通り)
[例]大人が5人と子どもが3人いる。
全員が一列に並ぶうち, 端っこは大人が立っておく順列の総数は
${}_5 \mathrm{P}_2 \times ((5+3)-2)!$
である。
$n$ 個の玉でできる数珠の総数(じゅず順列)
$\displaystyle\frac{(n-1)!}{2}$ (通り)
$n$ 個の玉を円の形につなぐ総数は円順列なので $(n-1)!$ である。
「数珠」は表裏にすることもできる。
裏返す回転をする軸を基準で線対称な2つの数珠は表裏で同じ数珠になる。
ゆえに, 裏表で2つずつ同じ数珠の重複ができるので,
じゅずを作る場合の数は $\displaystyle \frac{(n-1)!}{2}$ 通りになる。
プレゼント🎁の交換の仕方の総数
プレゼント交換では、自分が用意したプレゼントを誰にも渡せなければ寂しいので、完全順列で考える。
【コード】Pythonで順列の計算
階乗math.factorial()の出力
順列math.perm()の出力
まとめノート
「順列」とは
いくつかのものからいくつかを選び順番に並べる並べ方のこと。
階乗
自然数 $n$ について
$n! = n \cdot (n-1) \cdots 2 \cdot 1$
とする
定義
$\displaystyle {}_n \mathrm{P}_r = \frac{n!}{(n-r)!}$
$= n \cdot (n-1) \cdots (n-r+1)$.
ただし, $n$ と $r$ は $n \geqq r$ を満たす自然数である. なお,
${}_n \mathrm{P}_n = n!$
である.
A. 順列の計算の意味
- $n$ 個のものを並べる順列の総数は $n!$ に一致する
- $n$ 個のものから $r$ 個を選んで並べる順列の総数は ${}_n \mathrm{P}_r$ に一致する
B. さまざまな順列の総数
- 円順列:$n$ 個のものから $r$ 個を選び円形に並べる順列の総数は $\frac{{}_n \mathrm{P}_r}{r}$ である
- 重複順列:$n$ 種類のものを同じものの重複を許して $r$ 個並べる順列の総数は ${}_n \Pi_r = n^r$ である
- 同じものを含む順列:$n$ 個のうち $s$ 個, $t$ 個, $\cdots$ が同じもので, これらをすべて並べる順列の総数は $\frac{n!}{s! \cdot t! \cdots}$ である
- 完全順列:$n$ 個のものを, $k$ 番目のものを $k$ 番目以外に並べるときの順列の総数は $\displaystyle n! - \sum_{k=1}^n (-1)^{k+1} {}_n \mathrm{C}_{k}(n-k)!$ $\displaystyle =n!\sum_{k=0}^n\frac{(-1)^k}{k!}$ である
ポイント解説
注意
$n! = {}_n \mathrm{P}_n = n!/0!$ より
$0! = 1$
で, ${}_n \mathrm{P}_0 = n!/n!=1$ より
${}_n \mathrm{P}_0=1$
.
A
樹形図を計算で数え上げる;$3!$ の例

B
(1) $r$ 通りずつ重複する
(2) $r$ 箇所それぞれ $n$ 種類ずつ選択できる;

(3) $s!$ や $r!$ 通りずつ重複する
(4) 余事象は「どこかは固定される」であり $\displaystyle \sum_{k=1}^n (-1)^{k+1} {}_n \mathrm{C}_{k}(n-k)!$ で求まる;

発展
ガンマ関数 $\Gamma(x)$ は $n \in \mathbb{N}$ のとき, $\Gamma(n+1)=n!$ であり, 階乗の拡張である. なお, $\Gamma(x+1) = x \Gamma(x)$ を満たす.




