本記事の前提知識
本記事では,集合の要素の個数を絶対値記号で表す.次の知識は前提とするため,知らなければこの先を読み進めるのは難しいと思う.
参考までに,次のような問題が難なく解ければ本記事は読めると思う.
以下の正整数で,またはまたはで割り切れるものはいくつあるか.
(解答)以下の正整数で,で割り切れるものの集合を,で割り切れるものの集合を,で割り切れるものの集合をとおく.求めるべきはである.
なので,個である.
次の公式も,練習問題等で使っている.
証明は省略する.
一般の包除原理
高校の数学の教科書の多くには,公式1(集合が個の場合)が載っている.そこで「集合がつ以上だとどうなるのだろう」と考えるのは自然である.
答えは,冒頭の公式1から十分推測できるものであり(つまり覚えやすい),の集合の個数が奇数個であれば,偶数個であればが係数となる.
例えばであれば次のように書ける.
であれば次のようになる.
これをさらに一般化したものが,次の式である.
右辺がわかりづらいと思うので補足しておく.の部分は,共通部分を取る集合の個数によって正負が入れかわることを表している.は,個の集合の共通部分全てについて(つまり通りについて),その要素の個数を足していく.
手始めに,全くありがたみのない例ではあるが,次の例を考えよう.
集合とすると,当然であり,である.
包除原理を適用して,こうなることを確かめよ.
解答
任意の選び方に対してである(が個の場合は,包除原理では現れない).
よってであり,
の値を求めればよい.二項定理を考えるとこの値は確かにである.
もう少しまともな例として,次の問題を考えてみよ.オイラーの関数を知っていたとしても,包除原理を用いて考えてほしい.
以下の正整数で,またはまたはまたはで割り切れるものはいくつあるか.
解答
次の式を参考にせよ.
行目は,行目は,行目は,行目はであり,合計は個である.
この問題3の一般化として,次の定理が得られる.
オイラーの関数
以下でと互いに素な正整数の個数をで表す(これは一般的な記法である).
を素因数分解するとと表されるとき(ただし),
証明の方針
問題3を解く際に「行目は,行目は,行目は,行目は」と書いたが,これを次のように書き直してみよう.
行目は,行目は,行目は,行目は
さて,は,から上の値を全て引いたものである.つまり
このように,オイラーの関数に相当するものが導かれる.
以上の式変形を,文字を使って書き直せば,オイラーの関数の性質を証明できる(記述するのは面倒なので割愛する).
包除原理を用いた具体例
まずは,有名な具体例をつ挙げよう.
どちらも,できれば証明を見る前に,包除原理を適用して確かめてみてほしい.
かく乱順列(完全順列)の個数
の並べ替えであって,任意のに対してであるようなものを,かく乱順列(または完全順列)と呼ぶ.
そのような順列の個数は,である.
なお,その値はに最も近い整数値に一致する(この証明はマクローリン展開を使えばよい.本記事の主旨からは逸れるので省略する).
証明のヒント
であるような並べ替えを全て含む集合をとする.
はを満たす順列の個数なので,となる.
証明
であるような並べ替えを全て含む集合をとする.
包除原理の公式において,であり,となる.
よってであり,かく乱順列の個数はからこの値を引けばよい.
包除原理を使う問題(証明)においては,この例のように,それぞれのが何なのかを明確にするとよい.
もう一つ,次の命題も有名な例である.
全射の個数
を満たす正整数に対して,次の条件を満たす数列を考える.
- 長さの数列である
- はいずれも以上以下の正整数である
- 以上以下のいずれの正整数も,数列の項の中に存在する.
このような数列は個存在する.
証明のヒント
上のつの条件を満たし,かつ,数列の項としてを含まないような数列の個数をとする.
は,を含まない以外に追加の条件がない(別の数を含まなくてもよい)ため,である.
証明
上のつの条件を満たし,かつ,数列の項としてを含まないような数列の個数をとする.
包除原理の公式において(添え字が微妙に異なることに注意せよ),であり,となる.
よってであり,全射の個数はからこの値を引けばよい(内部のをに置き換えよ).
以上のつの例は,非常に有名で,包除原理の解説をする際によく登場する例である.
ここから題,オリジナルの練習問題を用意した.いずれもOMCの難易度で前後のものだろう.計算がやや面倒なので,立式までで答え合わせをしてもよい.
以下の正整数から個の正整数を選ぶ方法で,次の条件を満たすものは何通りあるか.
(条件)で割った余りがであるような数を,それぞれつ以上含む.
(具体例)は条件を満たす.は,で割った余りがのものを含まず,条件を満たさない.
ヒント
で割った余りがであるような数を含まないような選び方をとする.
解答
で割った余りがであるような数を含まないような選び方をとする.
求めたいものはである.の値を求め,から引けばよい.
,なので,包除原理より
である.従って求めるべき値は通り.
さいころを個投げる.ちょうど個出ているような目が存在する確率を求めよ.
(具体例)個投げたときの出目が,やであれば条件を満たす.やであれば条件を満たさない.
ヒント
目がちょうど個出ているような事象をと置く.
解答
目がちょうど個出ているような事象をと置く.
,,であり,求めるべき値は
のマス目があり,各マスには白石,黒石のいずれかつが置かれている.次の条件を満たす石の置き方は何通りか.
(条件)どの行,どの列を見ても,黒石がつ以上置かれている.(白石については,置かれていなくてもよい.)
ヒント1
行と列,両方の条件があるから厄介である.片方の条件(例えば行の条件)は満たしているものとして,列の条件に対して包除原理を適用しよう.
ヒント2
行の条件は満たしているものとして,列目に黒石が置かれていないような石の置き方をとする.
解答
行の条件は満たしているものとして,列目に黒石が置かれていないような石の置き方をとする.
,,,なので,包除原理より求めるべき値は通り.
最後にOMCの例題である.ここに挙げた他にもいくつかあるだろうから,見つけたら更新していく.
OMCの例題
OMC113(E)
OMC103(F)