15.5 部分集合の数え上げ

\(n\) 要素集合に \(k\) 要素部分集合はいくつあるだろうか? この質問は様々な形で姿を現す:

この質問は数学で余りにも頻繁に登場するので、その解答を表す特別な記法が用意されている:

\[ \binom{n}{k} ::= \text{\(n\) 要素集合の \(k\) 要素部分集合の個数} \]

\(\displaystyle \binom{n}{k}\) は「\(n\) chooseチューズ \(k\)」と読む。この記法を使えば、上記の質問には簡単に答えられる:

15.5.1 部分集合則

\(\displaystyle \binom{n}{k}\) を表す単純な式は除算則を使って導出できる。\(n\) 要素集合 \(\left\{ a_{1}, \ldots, a_{n} \right\}\) の置換を先頭 \(k\) 要素からなる部分集合に対応付ける写像を考える。例えば、置換 \((a_{1}, a_{2}, \ldots, a_{n})\) は部分集合 \(\left\{ a_{1}, a_{2}, \ldots, a_{k} \right\}\) に移される。

先頭 \(k\) 要素に \(a_{1}\), \(\ldots\), \(a_{k}\) を任意の順序で含む置換は、この写像によって同じ部分集合 \(\left\{ a_{1}, \ldots, a_{k} \right\}\) に移される。さらに、この部分集合に移される置換は必ず先頭要素に \(a_{1}\), \(\ldots\), \(a_{k}\) を持つ。そのような置換の先頭 \(k\) 要素の並べ方は \(k!\) 通り存在し、残りの \(n - k\) 要素の並べ方は \((n - k)!\) 通り存在する。よって乗算則より、特定の \(k\) 要素部分集合に移される置換はちょうど \(k!(n - k)!\) 個ある。言い換えれば、置換を \(k\) 要素部分集合に移す写像は \(k!(n-k)!\) 対 \(1\) の写像である。

一方で \(n\) 要素集合の置換が \(n!\) 個あることは以前に見た。よって除算則から次の等式が分かる:

\[ n! = k! (n-k)! \binom{n}{k} \]

これで次の規則が証明できた:

規則 15.5.1[部分集合則 (subset rule)]

\(n\) 要素集合の \(k\) 要素部分集合の個数は次の式で表される:

\[ \binom{n}{k} = \frac{n!}{k! (n - k)!} \]

この等式は \(k = 0\) の場合でも成り立つことに注意してほしい: \(0\) 要素部分集合は空集合しか存在せず、\(n!/(0!n!) = 1\) が成り立つ。この計算では、\(0!\) が \(0\) 個の項の積を表し、その値は慣習的1に \(1\) と定義される事実を利用している。

15.5.2 ビット列

ちょうど \(k\) 個の \(1\) を含む長さ \(n\) のビット列はいくつあるだろうか? \(n\) 要素集合の部分集合全体の集合から長さ \(n\) のビット列全体の集合への全単射の存在は以前に見た。この全単射で対応付く \(\left\{ x_{1}, x_{2}, \ldots, x_{8} \right\}\) の部分集合とビット列の例を次に示す:

\[ \def\arraystretch{1.2}\begin{array}{ccccccccccc} \{ & x_{1}, & & & x_{4}, & x_{5} & & & & & \} \\ ( & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & ) \end{array} \]

ここから分かるように、\(3\) 要素部分集合にはちょうど \(3\) 個の \(1\) を含む長さ \(8\) のビット列が対応する。一般に、\(k\) 要素部分集合に対応する長さ \(n\) のビット列は \(k\) 個の \(1\) を含む。よって全単射則より次の系が分かる:

系 15.5.2

ちょうど \(k\) 個の \(1\) を含む長さ \(n\) のビット列は \(\displaystyle \binom{n}{k}\) 個ある。

また、補題 15.1.1 で示したドーナツの選び方とビット列の関係からは次の系が分かる:

系 15.5.3

\(k\) 種類のドーナツから \(n\) 個のドーナツを選ぶ方法は \(\displaystyle \binom{n + (k - 1)}{n}\) 通りある。


  1. ここでは使っていないものの、\(0\) 個の項の和は慣習的に \(0\) と定義される。 ↩︎

広告