§B4.16包除原理の一般形

最終更新

複数の条件の少なくとも一つを満たす対象を数えるとき、重なりを交互に足し引きします。

1 一般形

定理 1.1 (包除原理).A1,…,AnA_1,\ldots,A_nを有限集合とします。このとき

∣⋃i=1nAi∣=∑i∣Ai∣−∑i<j∣Ai∩Aj∣+∑i<j<k∣Ai∩Aj∩Ak∣−⋯+(−1)n+1∣A1∩⋯∩An∣\left|\bigcup_{i=1}^{n}A_i\right| =\sum_i|A_i| -\sum_{i<j}|A_i\cap A_j| +\sum_{i<j<k}|A_i\cap A_j\cap A_k| -\cdots +(-1)^{n+1}|A_1\cap\cdots\cap A_n|

が成り立ちます。

証明. 和集合の一つの要素xxを取り、xxがちょうどrr個の集合に属するとします。右辺でxxは

rC1−rC2+⋯+(−1)r+1rCr{}_rC_1-{}_rC_2+\cdots+(-1)^{r+1}{}_rC_r

回数えられます。二項定理

0=(1−1)r=rC0−rC1+rC2−⋯+(−1)rrCr0=(1-1)^r ={}_rC_0-{}_rC_1+{}_rC_2-\cdots+(-1)^r{}_rC_r

から、この交代和は1です。したがって、和集合の各要素は右辺でちょうど一度ずつ数えられます。▨

2 錯排への適用

nn人へ宛名の異なるnn通の手紙を一通ずつ配ります。誰も自分宛ての手紙を受け取らない配り方を数えます。

例 2.1 (完全順列の個数). 全順列の集合をUUとし、人iiが自分宛ての手紙を受け取る順列の集合をAiA_iとします。求める個数DnD_nは

Dn=∣U∖⋃i=1nAi∣D_n=\left|U\setminus\bigcup_{i=1}^{n}A_i\right|

です。指定したkk人を固定する順列は(n−k)!(n-k)!通りなので、包除原理から

Dn=n!−nC1(n−1)!+nC2(n−2)!−⋯+(−1)n=n!∑k=0n(−1)kk!D_n=n!-{}_nC_1(n-1)!+{}_nC_2(n-2)!-\cdots+(-1)^n =n!\sum_{k=0}^{n}\frac{(-1)^k}{k!}

を得ます。

注意 2.2 (適用時の確認). 各集合AiA_iが何を表すか、複数の条件を同時に満たす対象が何個あるか、最後の符号が正か負かを確認します。条件の否定を直接数えるときは、全体集合も明示します。

3 演習

  1. 1以上1000以下の整数のうち、2、3、5の少なくとも一つで割り切れるものの個数を求めます。
  2. 4人の完全順列の個数D4D_4を公式から求めます。
  3. 包除原理の証明で、一つの要素がちょうどrr個の集合に属するときに一度だけ数えられることを、r=3r=3の場合に確認します。

1の答えは

500+333+200−166−100−66+33=734500+333+200-166-100-66+33=734

個です。2の答えは24−24+12−4+1=924-24+12-4+1=9通りです。3では3−3+1=13-3+1=1となります。

例題

条件と何を求めるかを確認してから、式と答えの対応を見比べてください。

包除原理を用いて、次の個数を求めよ。

異なる 5 個のボールを、区別できる 3 個の箱に、どの箱も空にならないように入れる方法は何通りあるか。

解法の型n(A∪B∪C)n(A\cup B\cup C)== n(A)+n(B)+n(C) − n(A∩B)n(A\cap B) − n(B∩C)n(B\cap C) − n(C∩A)n(C\cap A) + n(A∩B∩C)n(A\cap B\cap C)(奇数個の共通部分は +、偶数個は −)

  1. 例題 1

    ∑i=03(−1)i(3i)(3−i)5\sum_{i=0}^{3} (-1)^i \binom{3}{i} (3-i)^{5}

演習

問題を解いてから「解答・解説」を開けます。

包除原理を用いて、次の個数を求めよ。

演習を読み込み中…

前提記事