§D2.2数え上げの原理と全単射による数え上げ

最終更新

有限個のものを分ける、並べる、選ぶという操作の結果の個数を求める場面は、しばしば現れます。しかし、そのつど一つずつ数え上げていては、同じものを重ねて数える誤りや数え忘れを避けにくく、対象が大きくなると実行そのものが難しくなります。この困難を避けるため、個数の分かっている集合との間に全単射を作ることによって要素の個数を定め、集合の演算に対応する個数の等式を通じて数え上げを進める方法が、数え上げにおいて最も基本的な道具になります。例えば、nn個の相異なるものからkk個を選ぶ組合せの総数も、この方法によって導かれます。前の記事で確立した帰納法は、こうして得られる等式が任意の場合について成り立つことを示す道具として、本記事でも使われます。本記事では、この立場から基本的な数え上げの原理と代表的な公式について解説します。

1 有限集合と写像

数え上げの対象は有限集合であり、個数を求める操作は、個数の分かっている集合との全単射を作る操作として表されます。以後の議論で断りなく用いる語を、先にすべて定めます。

定義 1.1 (写像・単射・全射・全単射). 集合AAから集合BBへの写像 (map)f ⁣:A→Bf\colon A \to Bとは、AAの各元aaに対してBBの元f(a)f(a)をただ一つ定める対応をいう。AAをffの定義域、BBをffの終域とよぶ。部分集合S⊆AS \subseteq Aに対してf(S):={f(a):a∈S}f(S) := \{f(a) : a \in S\}をSSの像、部分集合T⊆BT \subseteq Bに対してf−1(T):={a∈A:f(a)∈T}f^{-1}(T) := \{a \in A : f(a) \in T\}をTTの原像という。

  • ffが単射 (injection) であるとは、AAの任意の二元a,a′a, a'について、f(a)=f(a′)f(a) = f(a')ならばa=a′a = a'が成り立つことをいう。
  • ffが全射 (surjection) であるとは、BBの任意の元bbに対して、f(a)=bf(a) = bを満たすa∈Aa \in Aが存在することをいう。
  • ffが全単射 (bijection) であるとは、ffが単射かつ全射であることをいう。ffが全単射であるとき、BBの各元bbに対してf(a)=bf(a) = bを満たすa∈Aa \in Aが全射性から存在し、単射性からただ一つに定まる。このaaをbbに対応させる写像をffの逆写像とよびf−1 ⁣:B→Af^{-1}\colon B \to Aと書く。

写像f ⁣:A→Bf\colon A\to Bとg ⁣:B→Cg\colon B\to Cに対し、a∈Aa\in Aをg(f(a))g(f(a))へ送る写像をffとggの合成写像 (composite map) といい、g∘f ⁣:A→Cg\circ f\colon A\to Cと書く。集合AAの各元を自分自身へ送る写像をAAの恒等写像 (identity map) といい、id⁡A\operatorname{id}_Aと書く。

写像f ⁣:A→Bf\colon A\to Bに対して、写像h ⁣:B→Ah\colon B\to Aがh∘f=id⁡Ah\circ f=\operatorname{id}_Aとf∘h=id⁡Bf\circ h=\operatorname{id}_Bを満たすならば、ffは全単射である。実際、f(a)=f(a′)f(a)=f(a')ならば両辺へhhを作用させてa=a′a=a'を得るのでffは単射であり、任意のb∈Bb\in Bに対してb=f(h(b))b=f(h(b))であるからffは全射である。また、全単射f ⁣:A→Bf\colon A\to Bとg ⁣:B→Cg\colon B\to Cをとる。任意のc∈Cc\in Cに対してg(f(f−1(g−1(c))))=cg(f(f^{-1}(g^{-1}(c))))=cであり、任意のa∈Aa\in Aに対してf−1(g−1(g(f(a))))=af^{-1}(g^{-1}(g(f(a))))=aであるから、f−1∘g−1f^{-1}\circ g^{-1}はg∘fg\circ fの両側逆写像である。したがってg∘fg\circ fも全単射である。

定義 1.2 (直積). 集合A,BA, Bに対して、a∈Aa \in Aとb∈Bb \in Bの順序対(a,b)(a, b)の全体をAAとBBの直積 (Cartesian product) といい、A×BA \times Bで表す。ここで(a,b)=(a′,b′)(a, b) = (a', b')とはa=a′a = a'かつb=b′b = b'が成り立つことである。より一般に、集合A1,…,AkA_1, \dots, A_kに対して、第ii成分がAiA_iに属するkk個の組(a1,…,ak)(a_1, \dots, a_k)の全体をA1×⋯×AkA_1 \times \cdots \times A_kと書き、A1=⋯=Ak=AA_1 = \cdots = A_k = AのときこれをAkA^kと書く。

定義 1.3 (有限集合と要素の個数). 正の整数nnに対して[n]:={1,2,…,n}[n] := \{1, 2, \dots, n\}とおき、[0]:=∅[0] := \varnothingと定める。集合AAが有限集合 (finite set) であるとは、ある非負整数nnと全単射f ⁣:[n]→Af\colon [n] \to Aが存在することをいう。このときnnはAAに対して一意に定まる(補題 1.4)ので、nnをAAの要素の個数 (cardinality) とよび∣A∣|A|で表す。

補題 1.4 (要素の個数は一意に定まる). 非負整数m,nm, nに対して全単射g ⁣:[m]→[n]g\colon [m] \to [n]が存在するならばm=nm = nである。

証明. 自然数kkについてQ(k)Q(k)を「全単射g ⁣:[m]→[k−1]g\colon [m] \to [k-1]が存在するならばm=k−1m=k-1」と定める。Q(1)Q(1)はn=0n=0の場合であり、帰納段階Q(k)⇒Q(k+1)Q(k)\Rightarrow Q(k+1)は「n=k−1n=k-1の場合を仮定してn=kn=kの場合を示す」ことと一致するから、QQに関する数学的帰納法(§A3.10 定理 1.1)により、以下ではn:=k−1n := k-1として主張を示す。

n=0n = 0のとき、[n]=∅[n] = \varnothingである。m≥1m \ge 1とするとg(1)∈∅g(1) \in \varnothingとなって矛盾するからm=0m = 0である。

n≥1n \ge 1とし、n−1n - 1について主張が成り立つと仮定する。全単射g ⁣:[m]→[n]g\colon [m] \to [n]をとる。[n][n]は空でないからggの全射性よりm≥1m \ge 1である。[n][n]の二元nnとg(m)g(m)を入れ替え、他の元を動かさない写像をτ ⁣:[n]→[n]\tau\colon [n] \to [n]とすると、τ\tauは自分自身を逆写像とする全単射である。合成h:=τ∘gh := \tau \circ gは定義 1.1により全単射であり、h(m)=τ(g(m))=nh(m) = \tau(g(m)) = nを満たす。hhは単射だからi≤m−1i \le m - 1のときh(i)≠nh(i) \ne n、すなわちh(i)∈[n−1]h(i) \in [n-1]である。ゆえにhhの[m−1][m-1]への制限は[m−1]→[n−1][m-1] \to [n-1]の写像を与え、単射性はhhから受け継がれ、全射性はhhの全射性とh(m)=nh(m) = nから従う。帰納法の仮定によりm−1=n−1m - 1 = n - 1、すなわちm=nm = nである。▨

集合AAの要素の個数を求めるとは、定義 1.3の意味で全単射[n]→A[n] \to Aを一つ作ることにほかなりません。以下の原理は、この全単射を組み立てる方法を与えます。

命題 1.5 (全単射原理). 二つの有限集合A,BA,Bの間に全単射f ⁣:A→Bf\colon A\to Bが存在すれば∣A∣=∣B∣|A|=|B|である。したがって、ある集合の要素の個数を求める問題は、要素の個数の分かっている集合との全単射を構成する問題に帰着する。

証明.∣A∣=n|A|=nとすると全単射g ⁣:[n]→Ag\colon[n]\to Aがとれる。定義 1.1により、合成f∘g ⁣:[n]→Bf\circ g\colon[n]\to Bは全単射である。したがって、要素の個数の定義により∣B∣=n=∣A∣|B|=n=|A|である。▨

2 加法原理・割り算原理・乗法原理

定理 2.1 (加法原理).IIを有限集合とし、(Ai)i∈I(A_i)_{i\in I}をどの相異なるi,j∈Ii,j\in Iに対してもAi∩Aj=∅A_i\cap A_j=\varnothingを満たす有限集合の族とする。このとき、∣⋃i∈IAi∣=∑i∈I∣Ai∣.\left|\bigcup_{i\in I} A_i\right| = \sum_{i\in I} |A_i|.

証明. 互いに素な有限集合A,BA,Bをとり、∣A∣=m|A|=m、∣B∣=k|B|=kとする。全単射f ⁣:[m]→Af\colon[m]\to Aとg ⁣:[k]→Bg\colon[k]\to Bをとり、写像h ⁣:[m+k]→A∪Bh\colon[m+k]\to A\cup Bをh(i)={f(i)(1≤i≤m),g(i−m)(m<i≤m+k)h(i) = \begin{cases} f(i) & (1\le i\le m),\\ g(i-m) & (m< i\le m+k) \end{cases}で定める。h(i)=h(j)h(i)=h(j)ならば、A∩B=∅A\cap B=\varnothingよりh(i),h(j)h(i),h(j)は同じ集合に属し、ffまたはggの単射性からi=ji=jを得るので、hhは単射である。またA∪BA\cup Bの任意の元はAAまたはBBに属し、f,gf,gの全射性からhhの像に入るので、hhは全射である。したがってhhは全単射であり、命題 1.5により∣A∪B∣=m+k|A\cup B|=m+kである。

n=∣I∣n=|I|とし、全単射α ⁣:[n]→I\alpha\colon[n]\to Iをとる。n=0n=0ならばI=∅I=\varnothingであり、合併は空集合、和は00である。n≥1n\ge1の場合について、Bj=Aα(j)B_j=A_{\alpha(j)}とおき、nnに関する数学的帰納法(§A3.10 定理 1.1)を適用する。n=1n=1ならば∣⋃j=11Bj∣=∣B1∣\left|\bigcup_{j=1}^{1}B_j\right|=|B_1|である。n≥2n\ge2とし、n−1n-1個の族に対して等式が成り立つと仮定して、C=⋃j=1n−1BjC=\bigcup_{j=1}^{n-1}B_jとおく。族が互いに素であることからC∩Bn=∅C\cap B_n=\varnothingである。二つの集合に対する上の等式と帰納法の仮定により∣⋃j=1nBj∣=∣C∣+∣Bn∣=∑j=1n−1∣Bj∣+∣Bn∣=∑j=1n∣Bj∣.\left|\bigcup_{j=1}^{n}B_j\right| = |C| + |B_n| = \sum_{j=1}^{n-1}|B_j| + |B_n| = \sum_{j=1}^{n}|B_j|.α\alphaは全単射であるから、j∈[n]j\in[n]による族(Bj)(B_j)はi∈Ii\in Iによる族(Ai)(A_i)の添字を付け替えたものである。したがって主張の等式を得る。▨

命題 2.2 (割り算原理). 有限集合XXから有限集合YYへの全射f ⁣:X→Yf\colon X\to Yがあり、正整数ddについて、各y∈Yy\in Yの逆像f−1({y})f^{-1}(\{y\})がちょうどdd個の元をもつとする。このとき∣X∣=d ∣Y∣|X| = d\,|Y|である。

証明.X=⋃y∈Yf−1({y})X = \bigcup_{y\in Y} f^{-1}(\{y\})であり、y≠y′y\ne y'のときf−1({y})∩f−1({y′})=∅f^{-1}(\{y\})\cap f^{-1}(\{y'\}) = \varnothingである。さらにffは全射であるから、各y∈Yy\in Yの逆像は空でない。したがって、加法原理(定理 2.1)より∣X∣=∑y∈Y∣f−1({y})∣=∑y∈Yd=d ∣Y∣.|X| = \sum_{y\in Y} |f^{-1}(\{y\})| = \sum_{y\in Y} d = d\,|Y|.▨

定理 2.3 (乗法原理). 有限集合A,BA,Bに対し∣A×B∣=∣A∣⋅∣B∣|A\times B| = |A|\cdot|B|。

より一般に、正整数kkと正整数n1,…,nkn_1,\dots,n_kを固定し、有限集合C1C_1で∣C1∣=n1|C_1|=n_1を満たすものと、各2≤i≤k2\le i\le kについてC1×⋯×Ci−1C_1\times\cdots\times C_{i-1}の元(a1,…,ai−1)(a_1,\dots,a_{i-1})ごとに定まる有限集合Ci(a1,…,ai−1)C_i(a_1,\dots,a_{i-1})で∣Ci(a1,…,ai−1)∣=ni|C_i(a_1,\dots,a_{i-1})|=n_i((a1,…,ai−1)(a_1,\dots,a_{i-1})によらず一定)を満たすものが与えられているとする。a1∈C1a_1\in C_1をとり、続けて各i=2,…,ki=2,\dots,kについてai∈Ci(a1,…,ai−1)a_i \in C_i(a_1,\dots,a_{i-1})をとるというkk段階の手続きによって得られる組(a1,…,ak)(a_1,\dots,a_k)の全体を選択列の集合という。このとき、選択列の集合の要素の個数はn1n2⋯nkn_1 n_2\cdots n_kに等しい。

証明. 各a∈Aa\in Aに対し{a}×B:={(a,b):b∈B}\{a\}\times B := \{(a,b): b\in B\}とおくと、b↦(a,b)b\mapsto (a,b)はB→{a}×BB\to\{a\}\times Bの全単射だから、命題 1.5により∣{a}×B∣=∣B∣|\{a\}\times B|=|B|である。さらにA×B=⨆a∈A({a}×B)A\times B = \bigsqcup_{a\in A}(\{a\}\times B)は互いに素な有限集合族の合併であるから、加法原理(定理 2.1)より∣A×B∣=∑a∈A∣{a}×B∣=∑a∈A∣B∣=∣A∣⋅∣B∣.|A\times B| = \sum_{a\in A} |\{a\}\times B| = \sum_{a\in A} |B| = |A|\cdot|B|.選択列については、1≤i≤k1\le i\le kに対してii段階までの選択列の集合をSi:={(a1,…,ai):a1∈C1, a2∈C2(a1), …, ai∈Ci(a1,…,ai−1)}S_i := \{(a_1,\dots,a_i) : a_1\in C_1,\ a_2\in C_2(a_1),\ \dots,\ a_i\in C_i(a_1,\dots,a_{i-1})\}とおき、∣Si∣=n1n2⋯ni|S_i| = n_1 n_2\cdots n_iをiiに関する帰納法(§A3.10 定理 1.1)で示す。i=1i=1のときS1=C1S_1=C_1だから∣S1∣=n1|S_1|=n_1。i≥2i\ge2とし∣Si−1∣=n1⋯ni−1|S_{i-1}|=n_1\cdots n_{i-1}を仮定する。各p∈Si−1p\in S_{i-1}に対してTp:={(a1,…,ai)∈Si:(a1,…,ai−1)=p}T_p:=\{(a_1,\dots,a_i)\in S_i:(a_1,\dots,a_{i-1})=p\}とおく。各ii組は前半の(i−1)(i-1)組をただ一つもつから、(Tp)p∈Si−1(T_p)_{p\in S_{i-1}}は互いに素であり、Si=⨆p∈Si−1TpS_i=\bigsqcup_{p\in S_{i-1}}T_pである。p=(p1,…,pi−1)p=(p_1,\dots,p_{i-1})と書くと、末成分写像

Tp⟶Ci(p),(a1,…,ai)⟼aiT_p\longrightarrow C_i(p),\qquad (a_1,\dots,a_i)\longmapsto a_i

を考える。選択列の定義により、b∈Ci(p)b\in C_i(p)を(p1,…,pi−1,b)(p_1,\dots,p_{i-1},b)へ送る写像Ci(p)→TpC_i(p)\to T_pが定まり、この写像は末成分写像の逆写像である。したがって、末成分写像は全単射であり、命題 1.5により∣Tp∣=ni|T_p|=n_iである。加法原理(定理 2.1)より∣Si∣=∑p∈Si−1∣Tp∣=∑p∈Si−1ni=ni ∣Si−1∣=n1⋯ni−1ni.|S_i| = \sum_{p\in S_{i-1}} |T_p| = \sum_{p\in S_{i-1}} n_i = n_i\,|S_{i-1}| = n_1\cdots n_{i-1}n_i.したがって∣Sk∣=n1⋯nk|S_k| = n_1\cdots n_kである。▨

3 順列・組合せ

命題 3.1 (順列と組合せの公式).0≤k≤n0\le k\le nとする。nn個の相異なるものからkk個を選んで並べる順列の総数はP(n,k)=n!(n−k)!=n(n−1)⋯(n−k+1),P(n,k) = \frac{n!}{(n-k)!} = n(n-1)\cdots(n-k+1),kk個を選ぶ組合せの総数は(nk)=n!k! (n−k)!.\binom{n}{k} = \frac{n!}{k!\,(n-k)!}.

証明.k=0k=0のとき、空の順序付き組はただ一つであり、[n][n]の00元部分集合も空集合ただ一つである。0!=10!=1と空積を11とする規約により

P(n,0)=1=n!(n−0)!,(n0)=1=n!0! (n−0)!P(n,0)=1=\frac{n!}{(n-0)!},\qquad \binom{n}{0}=1=\frac{n!}{0!\,(n-0)!}

である。したがって、二つの公式はいずれもk=0k=0の場合に成り立つ。

以下では1≤k≤n1\le k\le nとする。順列は、第11成分をnn通り、第22成分を残りn−1n-1通り、…、第kk成分をn−k+1n-k+1通りから選ぶ選択列である。各段階の選択肢数はそれまでの選択に依らず定まるので、乗法原理(定理 2.3)よりP(n,k)=n(n−1)⋯(n−k+1)=n!(n−k)!.P(n,k) = n(n-1)\cdots(n-k+1) = \frac{n!}{(n-k)!}.

組合せの公式を示す。C\mathcal{C}を[n][n]のkk元部分集合全体、P\mathcal{P}を[n][n]の相異なるkk個の元を並べた順序付きkk組全体とする。写像φ ⁣:P→C\varphi\colon\mathcal{P}\to\mathcal{C}を、順序付きkk組に現れる要素の集合を対応させる写像とする。各S∈CS\in\mathcal{C}に対し、原像φ−1({S})\varphi^{-1}(\{S\})はSSの要素の並べ替え全体であり、∣φ−1({S})∣=P(k,k)=k!|\varphi^{-1}(\{S\})|=P(k,k)=k!である。特に各原像は空でないのでφ\varphiは全射である。この原像による分割は、同じ集合を与えるという同値関係による類別にほかならない(§D2.5 定義 2.1)。命題 2.2をX=PX=\mathcal{P}、Y=CY=\mathcal{C}、d=k!d=k!に適用すると∣P∣=k! ∣C∣|\mathcal{P}|=k!\,|\mathcal{C}|を得る。∣P∣=P(n,k)|\mathcal{P}|=P(n,k)ゆえ(nk)=∣C∣=P(n,k)k!=n!k! (n−k)!\binom{n}{k}=|\mathcal{C}|=\dfrac{P(n,k)}{k!}=\dfrac{n!}{k!\,(n-k)!}。▨

4 重複組合せ

組合せは、同じものを二度選ぶことを許しません。同じ種類を何度選んでもよいという条件へ変えると、選び方の総数は別の式で与えられます。ここでも、数えたい集合と、個数の分かっている集合とのあいだに全単射を作ります。

命題 4.1 (重複組合せの個数). 整数n≥1n \ge 1とk≥0k \ge 0とする。nn種類のものから、同じ種類を何度選んでもよいという条件のもとで、選ぶ順序を区別せずにkk個を選ぶ選び方を重複組合せという。その総数は(n+k−1k)\binom{n + k - 1}{k}に等しい。

証明. 選び方は、種類iiを選ぶ回数xix_iの組によってただ一つに定まるから、選び方の全体はM:={(x1,…,xn)∈Z≥0 n:∑j=1nxj=k}\mathcal{M} := \Bigl\{(x_1,\dots,x_n) \in \mathbb{Z}_{\ge 0}^{\,n} : \sum_{j=1}^{n} x_j = k\Bigr\}と全単射に対応する。S\mathcal{S}を[n+k−1][n+k-1]の(n−1)(n-1)元部分集合の全体とし、M\mathcal{M}とS\mathcal{S}のあいだに全単射を作る。

(x1,…,xn)∈M(x_1,\dots,x_n) \in \mathcal{M}に対し、sj:=x1+⋯+xj+js_j := x_1 + \cdots + x_j + j(1≤j≤n−11 \le j \le n-1)とおきφ(x1,…,xn):={s1,s2,…,sn−1}\varphi(x_1,\dots,x_n) := \{s_1, s_2, \dots, s_{n-1}\}と定める。各xj≥0x_j \ge 0だからsj+1−sj=xj+1+1≥1s_{j+1} - s_j = x_{j+1} + 1 \ge 1となりs1<s2<⋯<sn−1s_1 < s_2 < \cdots < s_{n-1}、とくにφ(x)\varphi(x)の要素の個数はn−1n-1である。またs1=x1+1≥1s_1 = x_1 + 1 \ge 1であり、sn−1=k−xn+(n−1)≤n+k−1s_{n-1} = k - x_n + (n-1) \le n+k-1である。ゆえにφ(x)∈S\varphi(x) \in \mathcal{S}であり、φ ⁣:M→S\varphi\colon \mathcal{M} \to \mathcal{S}が定まる。

逆にS={s1<s2<⋯<sn−1}∈SS = \{s_1 < s_2 < \cdots < s_{n-1}\} \in \mathcal{S}に対し、s0:=0s_0 := 0、sn:=n+ks_n := n+kとおいてψ(S):=(x1,…,xn),xj:=sj−sj−1−1(1≤j≤n)\psi(S) := (x_1,\dots,x_n), \qquad x_j := s_j - s_{j-1} - 1 \quad (1 \le j \le n)と定める。1≤j≤n−11 \le j \le n-1ではsj−1<sjs_{j-1} < s_jよりxj≥0x_j \ge 0であり、j=nj = nではsn−1≤n+k−1<n+k=sns_{n-1} \le n+k-1 < n+k = s_nよりxn≥0x_n \ge 0である。さらに∑j=1nxj=∑j=1n(sj−sj−1)−n=(sn−s0)−n=(n+k)−n=k\sum_{j=1}^{n} x_j = \sum_{j=1}^{n}(s_j - s_{j-1}) - n = (s_n - s_0) - n = (n+k) - n = kだからψ(S)∈M\psi(S) \in \mathcal{M}である。

二つの対応が互いに逆であることを確かめる。x∈Mx \in \mathcal{M}に対しφ(x)\varphi(x)の第jj番目に小さい要素はsj=x1+⋯+xj+js_j = x_1 + \cdots + x_j + jだから、ψ(φ(x))\psi(\varphi(x))の第jj成分はsj−sj−1−1=xjs_j - s_{j-1} - 1 = x_jに等しい(j=nj = nではsn−sn−1−1=(n+k)−(k−xn+n−1)−1=xns_n - s_{n-1} - 1 = (n+k) - (k - x_n + n - 1) - 1 = x_n)。逆にS∈SS \in \mathcal{S}に対しψ(S)=(x1,…,xn)\psi(S) = (x_1,\dots,x_n)とおくとx1+⋯+xj+j=sjx_1 + \cdots + x_j + j = s_jがjjについての和で従うから、φ(ψ(S))=S\varphi(\psi(S)) = Sである。ゆえにφ\varphiは全単射である。

全単射原理(命題 1.5)と組合せの個数(命題 3.1)により∣M∣=∣S∣=(n+k−1n−1)=(n+k−1k)|\mathcal{M}| = |\mathcal{S}| = \binom{n+k-1}{n-1} = \binom{n+k-1}{k}を得る。最後の等号は(n+k−1)−(n−1)=k(n+k-1) - (n-1) = kによる。▨

例 4.2 (三種類から四個を選ぶ).n=3n = 3、k=4k = 4のとき命題 4.1は(64)=15\binom{6}{4} = 15を与える。実際にx1+x2+x3=4x_1 + x_2 + x_3 = 4を満たす非負整数の組をx1x_1の値で分類すると、x1=0,1,2,3,4x_1 = 0, 1, 2, 3, 4に対して(x2,x3)(x_2, x_3)の選び方はそれぞれ5,4,3,2,15, 4, 3, 2, 1通りである。加法原理(定理 2.1)により総数は5+4+3+2+1=155 + 4 + 3 + 2 + 1 = 15となり、公式の値と一致する。

S\mathcal{S}の側でも数える。[n+k−1]=[6][n+k-1] = [6]の22元部分集合は(62)=15\binom{6}{2} = 15個であり、(62)=(64)\binom{6}{2} = \binom{6}{4}だから同じ値になる。

対応も確かめる。(x1,x2,x3)=(1,0,3)(x_1, x_2, x_3) = (1, 0, 3)に対してはs1=1+1=2s_1 = 1 + 1 = 2、s2=1+0+2=3s_2 = 1 + 0 + 2 = 3だからφ(1,0,3)={2,3}\varphi(1, 0, 3) = \{2, 3\}である。逆にS={2,3}S = \{2, 3\}からは、s0=0s_0 = 0、s3=n+k=7s_3 = n + k = 7としてx1=2−0−1=1x_1 = 2 - 0 - 1 = 1、x2=3−2−1=0x_2 = 3 - 2 - 1 = 0、x3=7−3−1=3x_3 = 7 - 3 - 1 = 3が得られ、もとの組に戻る。

5 二項定理とパスカルの公式

定理 5.1 (二項定理(組合せ的解釈)). 可換環の元(または不定元)x,yx,yと整数n≥0n\ge 0に対し、(x+y)n=∑k=0n(nk)xkyn−k.(x+y)^n = \sum_{k=0}^{n} \binom{n}{k} x^{k} y^{n-k}.(nk)\binom{n}{k}は、nn個の因子のうちxxを選ぶ因子の集合S⊆[n]S\subseteq[n]で∣S∣=k|S|=kを満たすものの個数である。

証明.(x+y)n=∏i=1n(x+y)(x+y)^n = \prod_{i=1}^{n}(x+y)の各因子からxxまたはyyを選ぶ操作を、xxを選ぶ因子の添字全体S⊆[n]S\subseteq[n]によって径数付ける。分配法則とx,yx,yの可換性により

(x+y)n=∑S⊆[n]x∣S∣yn−∣S∣=∑k=0n(∑S⊆[n]∣S∣=k1)xkyn−k.(x+y)^n =\sum_{S\subseteq[n]}x^{|S|}y^{n-|S|} =\sum_{k=0}^{n}\left(\sum_{\substack{S\subseteq[n]\\ |S|=k}}1\right)x^ky^{n-k}.

∣S∣=k|S|=kを満たす部分集合S⊆[n]S\subseteq[n]は命題 3.1により(nk)\binom{n}{k}個であるから主張を得る。n=0n=0のときも、[0]=∅[0]=\varnothingの唯一の部分集合に対応する空積を11とすることで同じ等式が成り立つ。▨

命題 5.2 (パスカルの公式).1≤k≤n−11\le k\le n-1のとき、(nk)=(n−1k−1)+(n−1k).\binom{n}{k} = \binom{n-1}{k-1} + \binom{n-1}{k}.

証明.[n][n]のkk元部分集合全体C\mathcal{C}を、要素nnを含むものの集合C1\mathcal{C}_1と含まないものの集合C0\mathcal{C}_0に分ける。これは互いに素な分割である。C1\mathcal{C}_1の集合は{n}\{n\}に[n−1][n-1]からk−1k-1個を選んで加えたものと一対一対応するので∣C1∣=(n−1k−1)|\mathcal{C}_1|=\binom{n-1}{k-1}。C0\mathcal{C}_0の集合は[n−1][n-1]からkk個を選んだものだから∣C0∣=(n−1k)|\mathcal{C}_0|=\binom{n-1}{k}。加法原理(定理 2.1)より(nk)=∣C1∣+∣C0∣=(n−1k−1)+(n−1k)\binom{n}{k}=|\mathcal{C}_1|+|\mathcal{C}_0|=\binom{n-1}{k-1}+\binom{n-1}{k}。▨

6 演習

問題 6.1 (選択肢の個数が一定でない手続き). 最初にa∈{1,2,3}a\in\{1,2,3\}を選び、次にb∈[a]b\in[a]を選ぶ。この手続きで得られる順序対(a,b)(a,b)の個数を求めよ。また、乗法原理の選択列に対する一般形を直接適用することができない理由を述べよ。

解答.

a=1,2,3a=1,2,3のそれぞれに対してbbの選び方は1,2,31,2,3通りである。aaの値ごとに得られる順序対の集合は互いに素であるから、定理 2.1により順序対の総数は

1+2+3=61+2+3=6

である。第2段階の選択肢の個数は第1段階で選んだaaに依存するので、各段階の選択肢の個数がそれまでの選択によらず一定であるという定理 2.3の仮定を満たさない。▨

問題 6.2 (二項係数の対称性).0≤k≤n0\le k\le nに対して(nk)=(nn−k)\binom{n}{k}=\binom{n}{n-k}が成り立つことを、部分集合の補集合を用いる全単射によって証明せよ。

解答.

[n][n]のkk元部分集合全体をCk\mathcal{C}_k、(n−k)(n-k)元部分集合全体をCn−k\mathcal{C}_{n-k}とする。写像

c ⁣:Ck→Cn−k,c(S)=[n]∖Sc\colon\mathcal{C}_k\to\mathcal{C}_{n-k},\qquad c(S)=[n]\setminus S

を定める。同様にh ⁣:Cn−k→Ckh\colon\mathcal{C}_{n-k}\to\mathcal{C}_kをh(T)=[n]∖Th(T)=[n]\setminus Tで定める。任意のS∈CkS\in\mathcal{C}_kとT∈Cn−kT\in\mathcal{C}_{n-k}に対してh(c(S))=Sh(c(S))=Sとc(h(T))=Tc(h(T))=Tが成り立つので、定義 1.1の両側逆写像の判定によりccは全単射である。したがって、命題 1.5と命題 3.1により

(nk)=∣Ck∣=∣Cn−k∣=(nn−k)\binom{n}{k}=|\mathcal{C}_k|=|\mathcal{C}_{n-k}|=\binom{n}{n-k}

を得る。▨

問題 6.3 (二項係数の総和). 正整数nnに対して

∑k=0n(nk)=2n\sum_{k=0}^{n}\binom{n}{k}=2^n

が成り立つことを、二項定理による方法と[n][n]の部分集合を数える方法の二通りで証明せよ。

解答.

定理 5.1でx=y=1x=y=1とすると

2n=(1+1)n=∑k=0n(nk)2^n=(1+1)^n=\sum_{k=0}^{n}\binom{n}{k}

を得る。

別の方法として、[n][n]の部分集合全体を数える。各i∈[n]i\in[n]について、部分集合へiiを入れるか入れないかの2通りを独立に選ぶので、定理 2.3により部分集合の総数は2n2^nである。一方、部分集合全体を要素の個数kkごとに分けると、kk元部分集合は命題 3.1により(nk)\binom{n}{k}個である。異なるkkに属する族は互いに素であるから、定理 2.1により部分集合の総数は∑k=0n(nk)\sum_{k=0}^{n}\binom{n}{k}でもある。二つの数え方を比較して等式を得る。▨

問題 6.4 (下限をもつ非負整数解).x1+x2+x3+x4=10x_1+x_2+x_3+x_4=10を満たす整数の組(x1,x2,x3,x4)(x_1,x_2,x_3,x_4)で、x1≥1x_1\ge1、x2≥2x_2\ge2、x3≥0x_3\ge0、x4≥0x_4\ge0を満たすものの個数を求めよ。

解答.

y1=x1−1y_1=x_1-1、y2=x2−2y_2=x_2-2とおくと、求める組は

y1+y2+x3+x4=7,y1,y2,x3,x4≥0y_1+y_2+x_3+x_4=7,\qquad y_1,y_2,x_3,x_4\ge0

を満たす非負整数の組と全単射に対応する。この組は4種類のものから重複を許して7個を選ぶ重複組合せに対応するので、命題 4.1により個数は

(4+7−17)=(107)=120\binom{4+7-1}{7}=\binom{10}{7}=120

である。▨

前提記事