鳩の巣原理(ディリクレの箱入れ原理)

集合A,Bがともに有限集合であるとともにAの濃度がBの濃度よりも大きい場合にはAからBへの単射は存在しません。これを鳩の巣原理やディリクレの箱入れ原理などと呼びます。

鳩の巣原理(単射バージョン)

\(n\)羽のハトが\(m\)個の巣の中に入っているものとします。ただし、\(n,m\)は自然数かつ\(n>m\)であるものとします。つまり、ハトの数が巣の数よりも多いということです。この場合、少なくとも1つの巣には複数のハトが入っているはずです。

以上の主張を集合論の言語を用いて改めて表現します。すべてのハトからなる集合を\(A\)で、すべての巣からなる集合を\(B\)でそれぞれ表記します。\(A,B\)はともに有限集合であるとともに、それらの濃度について\(\left\vert A\right\vert >\left\vert B\right\vert \)が成り立つものとします。その上で、それぞれのハト\(a\in A\)に対して、そのハトが入っている巣穴\(f\left( a\right) \in B\)を特定する写像\(f:A\rightarrow B\)を定義します。この場合、少なくとも1つの巣穴\(b\in B\)に異なるハト\(a,a^{\prime }\in A\)が入っており、したがって、\begin{equation*}a\not=a^{\prime }\wedge f\left( a\right) =f\left( a^{\prime }\right) =b
\end{equation*}が成り立ちますが、これは\(f\)が単射ではないことを意味します。ハトが入っている巣を入れ替えても、すなわち\(A\)から\(B\)への写像を任意に選んだ場合でも同様の議論が成立するため、\(A\)から\(B\)への任意の写像が単射にはなり得ないことが明らかになりました。これを鳩の巣原理(pigeonhole principle)やディリクレの箱入れ原理(Dirichlet’s box principle)などと呼びます。

命題(単射に関する鳩の巣原理)
集合\(A,B\)がともに有限集合であるとともに\(\left\vert A\right\vert >\left\vert B\right\vert \)が成り立つ場合には、\(A\)から\(B\)への単射は存在しない。
証明

会員専用コンテンツです
【ログイン】【会員登録】

単射型の鳩の巣原理は、同じ分類先に入る複数の対象が存在することを示す上で有用です。以下が具体例です。

例(同じ頭文字を持つ英単語)
\(27\)個の異なる英単語の中には同じ頭文字を持つものが必ず存在します。なぜなら、アルファベットは全部で\(26\)種類だからです。実際、問題としている\(27\)個の異なる英単語からなる集合を\(A\)で、すべてのアルファベットからなる集合を\(B\)でそれぞれ表記した上で、それぞれの英単語\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{の頭文字}\in B
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}を定義します。\(A,B\)の定義より、\begin{equation*}\left\vert A\right\vert =27>26=\left\vert B\right\vert
\end{equation*}であるため、鳩の巣原理より\(f\)は単射ではありません。つまり、少なくとも2つの英単語が同じ頭文字を持ちます。
例(同じ点数をとった学生)
ある試験の最低点は\(0\)点、最高点は\(100\)であり、得点は整数値をとるものとします。つまり、試験の結果は全部で\(101\)通りです。少なくとも2人の生徒が同じ得点を取ることを保証するためには\(102\)人の受験者がいれば十分です。実際、すべての受験者からなる集合を\(A\)で、すべての得点からなる集合を\(B\)でそれぞれ表記した上で、それぞれの受験者\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{が得た得点}\in B
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}を定義します。その上で、\begin{equation*}
\left\vert A\right\vert >\left\vert B\right\vert
\end{equation*}すなわち、\begin{equation*}
\left\vert A\right\vert >101
\end{equation*}すなわち、\begin{equation*}
\left\vert A\right\vert \geq 102
\end{equation*}が成り立つ場合、鳩の巣原理より\(f\)は単射ではなく、ゆえに複数の受験者が同じ得点をとります。
例(同じ余りを持つ整数)
\(n+1\)個の異なる整数を任意に選んだ上で、その集合を\(A\)で表記します。整数を\(n\)で割った余りは、\begin{equation*}0,1,\cdots ,n-1
\end{equation*}の\(n\)通りですが、これらの余りからなる集合を\(B\)で表記します。それぞれの整数\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{を}n\text{で割った余り}\in B
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}を定義します。\(A,B\)の定義より、\begin{equation*}\left\vert A\right\vert =n+1>n=\left\vert B\right\vert
\end{equation*}であるため、鳩の巣原理より\(f\)は単射ではありません。つまり、少なくとも2つの整数が同じ余りを持ちます。
例(正方形内の近接する点)
一辺の長さが\(1\)である正方形の内部または周上に\(5\)個の点を配置します。正方形を、一辺の長さが\(\frac{1}{2}\)である\(4\)個の小正方形に分割します。点の集合を\(A\)で表記し、小正方形の集合を\(B\)で表記した上で、それぞれの点\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{が属する小正方形}\in B
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}を定義します。ただし、分割線上にある点については、それが接する小正方形のうちの1つに、あらかじめ定めた規則にしたがって対応させるものとします。\(A,B\)の定義より、\begin{equation*}\left\vert A\right\vert =5>4=\left\vert B\right\vert
\end{equation*}であるため、鳩の巣原理より\(f\)は単射ではありません。つまり、少なくとも2つの点が同じ小正方形に属します。具体的には、一辺の長さが\(\frac{1}{2}\)である小正方形内の2点間の距離は、その小正方形の対角線の長さ\begin{equation*}\sqrt{\left( \frac{1}{2}\right) ^{2}+\left( \frac{1}{2}\right) ^{2}}=\frac{\sqrt{2}}{2}
\end{equation*}以下であるため、5個の点の中には、距離が\(\frac{\sqrt{2}}{2}\)以下であるような複数の点が存在します。

 

鳩の巣原理(全射バージョン)

\(n\)羽のハトが\(m\)個の巣の中に入っているものとします。ただし、\(n,m\)は自然数かつ\(n<m\)であるものとします。つまり、先とは異なり、巣の数がハトの数より多いということです。この場合、少なくとも1つの巣が空いているはずです。

以上の主張を集合論の言語を用いて改めて表現します。すべてのハトからなる集合を\(A\)で、すべての巣からなる集合を\(B\)でそれぞれ表記します。\(A,B\)はともに有限集合であるとともに、それらの濃度について\(\left\vert A\right\vert <\left\vert B\right\vert \)が成り立つものとします。その上で、それぞれのハト\(a\in A\)に対して、そのハトが入っている巣穴\(f\left( a\right) \in B\)を特定する写像\(f:A\rightarrow B\)を定義します。この場合、少なくとも1つの巣穴\(b\in B\)が空いており、したがって、それに対して、\begin{equation*}b=f\left( a\right)
\end{equation*}を満たす\(a\in A\)は存在しませんが、これは\(f\)が全射ではないことを意味します。ハトが入っている巣を入れ替えても、すなわち\(A\)から\(B\)への写像を任意に選んだ場合でも同様の議論が成立するため、\(A\)から\(B\)への任意の写像が全射にはなり得ないことが明らかになりました。

命題(全射に関する鳩の巣原理)
集合\(A,B\)がともに有限集合であるとともに\(\left\vert A\right\vert <\left\vert B\right\vert \)が成り立つ場合には、\(A\)から\(B\)への全射は存在しない。
証明

会員専用コンテンツです
【ログイン】【会員登録】

全射型の鳩の巣原理は、少なくとも1つの分類先が使われないことを示す上で有用です。以下が具体例です。

例(現れない余り)
\(n\)個の異なる整数を任意に選んだ上で、その集合を\(A\)で表記します。整数を\(n+1\)で割った余りは、\begin{equation*}0,1,\cdots ,n
\end{equation*}の\(n+1\)通りですが、これらの余りからなる集合を\(B\)で表記します。それぞれの整数\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{を}n+1\text{で割った余り}\in B
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}を定義します。\(A,B\)の定義より、\begin{equation*}\left\vert A\right\vert =n<n+1=\left\vert B\right\vert
\end{equation*}であるため、鳩の巣原理より\(f\)は全射ではありません。つまり、選ばれたどの整数の余りにならないものが少なくとも1つ存在します。
例(選ばれない研究テーマ)
\(7\)人の学生が、それぞれ\(8\)個の研究テーマの中から1つを選ぶものとします。学生の集合を\(A\)で表記し、研究テーマの集合を\(B\)で表記します。その上で、それぞれの\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{が選んだ研究テーマ}
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}を定義します。\(A,B\)の定義より、\begin{equation*}\left\vert A\right\vert =7<8=\left\vert B\right\vert
\end{equation*}であるため、鳩の巣原理より\(f\)は全射ではありません。つまり、どの学生にも選ばれない研究テーマが少なくとも1つ存在します。

 

鳩の巣原理の一般化

実数\(x\in \mathbb{R} \)が与えられたとき、\(x\)以上の最小の整数を、\begin{equation*}\left\lceil x\right\rceil =\min \left\{ z\in \mathbb{Z} \ |\ x\leq z\right\}
\end{equation*}で表記します。定義より、\begin{equation*}
\left\lceil x\right\rceil -1<x\leq \left\lceil x\right\rceil
\end{equation*}が成り立ちます。その上で、それぞれの実数\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =\left\lceil x\right\rceil
\end{equation*}を像として定める関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)を天井関数(ceiling function)と呼びます。

例(天井関数)
天井関数\(\left\lceil \cdot \right\rceil :\mathbb{R} \rightarrow \mathbb{R} \)について、\begin{eqnarray*}\left\lceil \pi \right\rceil &=&\min \left\{ z\in \mathbb{Z} \ |\ \pi \leq z\right\} =4 \\
\left\lceil 1\right\rceil &=&\min \left\{ z\in \mathbb{Z} \ |\ 1\leq z\right\} =1 \\
\left\lceil 1.5\right\rceil &=&\min \left\{ z\in \mathbb{Z} \ |\ 1.5\leq z\right\} =2 \\
\left\lceil -1\right\rceil &=&\min \left\{ z\in \mathbb{Z} \ |\ -1\leq z\right\} =-1 \\
\left\lceil -1.5\right\rceil &=&\min \left\{ z\in \mathbb{Z} \ |\ -1.5\leq z\right\} =-1
\end{eqnarray*}などが成り立ちます。

天井関数を用いるとハトの巣原理をより一般的な形で表現できます。具体例を提示した上で、後に結果を一般化します。

例(鳩の巣原理)
\(10\)羽のハトを\(3\)個の巣に入れるとき、1つの巣に入る鳩の平均は、\begin{equation*}\frac{10}{3}
\end{equation*}羽です。すべての巣に入る鳩の数が\(3\)羽以下ならば、ハトの総数は高々\(9\)羽となってしまいます。したがって、少なくとも1つの巣には、\begin{equation*}\left\lceil \frac{10}{3}\right\rceil =4
\end{equation*}羽以上のハトが入ります。

以上を踏まえた上で、以下の命題が成り立つことを示します。

命題(鳩の巣原理の一般化)
\(n\)羽のハトが\(m\)個の巣の中に入っているものとする。ただし、\(n,m\in \mathbb{N} \)である。この場合、少なくとも1つの巣には\(\left\lceil \frac{n}{m}\right\rceil \)羽以上のハトが入っている。
証明

会員専用コンテンツです
【ログイン】【会員登録】

一般化された鳩の巣原理は、同じ分類先に入る対象数の下限を具体的に評価する上で有用です。以下が具体例です。

例(鳩の巣原理の一般化)
\(40\)人の人間を選んだとき、同じ月に生まれた人は少なくとも\(4\)人います。実際、\(40\)人をハト、\(12\)か月を巣とみなすと、一般化された鳩の巣原理より、少なくとも一つの月には、\begin{equation*}\left\lceil \frac{40}{12}\right\rceil =\left\lceil 3.33\right\rceil =4
\end{equation*}人以上が対応します。

例(同じ余りを持つ整数)
\(n+1\)個の異なる整数を任意に選びます。整数を\(n\)で割った余りは、\begin{equation*}0,1,\cdots ,n-1
\end{equation*}の\(n\)通りです。\(n+1\)個の整数をハト、\(n\)通りの余りを巣とみなすと、\begin{equation*}\left\lceil \frac{n+1}{n}\right\rceil =\left\lceil 1+\frac{1}{n}\right\rceil
=2
\end{equation*}が成り立つため、一般化された鳩の巣原理より、少なくとも2つの整数は同じ余りを持ちます。

先の命題を写像を用いて表現するとどうなるでしょうか。有限集合\(A,B\)について、\(A\)をハトの集合、\(B\)を巣の集合とみなします。さらに、写像\(f:A\rightarrow B\)はそれぞれのハト\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{が入っている巣}\in B
\end{equation*}を特定するものとします。先の命題より、少なくとも1つの巣\(b\in B\)には最低でも、\begin{equation*}\left\lceil \frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil
\end{equation*}羽のハトが入っています。巣\(b\)に入っているハトからなる集合は\(f\)による\(b\)の逆像\begin{equation*}f^{-1}\left( b\right) =\left\{ a\in A\ |\ f\left( a\right) =b\right\}
\end{equation*}であるため、\begin{equation*}
\exists b\in B:\left\vert f^{-1}\left( b\right) \right\vert \geq \left\lceil
\frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil
\end{equation*}を得ます。

命題(鳩の巣原理の一般化)
非空な有限集合\(A,B\)と写像\(f:A\rightarrow B\)について、\begin{equation*}\exists b\in B:\left\vert f^{-1}\left( b\right) \right\vert \geq \left\lceil
\frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil
\end{equation*}が成り立つ。

証明

会員専用コンテンツです
【ログイン】【会員登録】

例(学生のグループ分け)
\(100\)人の学生を\(9\)個のグループに分けます。学生の集合を\(A\)で表記し、グループの集合を\(B\)で表記します。それぞれの\(a\in A\)に対して、\begin{equation*}f\left( a\right) =a\text{が属するグループ}\in B
\end{equation*}を特定する写像\begin{equation*}
f:A\rightarrow B
\end{equation*}に注目します。先の命題より、\begin{equation*}
\exists b\in B:\left\vert f^{-1}\left( b\right) \right\vert \geq \left\lceil
\frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil
\end{equation*}が成り立ちますが、\begin{equation*}
\left\lceil \frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil =\left\lceil \frac{100}{9}\right\rceil =12
\end{equation*}であるため、\begin{equation*}
\exists b\in B:\left\vert f^{-1}\left( b\right) \right\vert \geq 12
\end{equation*}を得ます。つまり、少なくとも1つのグループには\(12\)人以上の学生が所属します。
例(単射型の鳩の巣原理との関係)
非空な有限集合\(A,B\)と写像\(f:A\rightarrow B\)について、一般化された鳩の巣原理より、\begin{equation}\exists b\in B:\left\vert f^{-1}\left( b\right) \right\vert \geq \left\lceil
\frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil
\quad \cdots (1)
\end{equation}が成り立つことが明らかになりました。特に、\begin{equation*}
\left\vert A\right\vert >\left\vert B\right\vert
\end{equation*}である場合には、\begin{equation*}
\frac{\left\vert A\right\vert }{\left\vert B\right\vert }>1
\end{equation*}であるため、\begin{equation*}
\left\lceil \frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil \geq 2
\end{equation*}を得ます。すると\(\left(1\right) \)より、\begin{equation*}\exists b\in B:\left\vert f^{-1}\left( b\right) \right\vert \geq 2
\end{equation*}を得ます。これは、何らかの異なる\(a,a^{\prime }\in A\)に対して、\begin{equation*}f\left( a\right) =f\left( a^{\prime }\right) =b
\end{equation*}が成り立つことを意味します。つまり、\(f\)は単射ではないということです。これは単射型の鳩の巣原理の主張に他なりません。以上の議論より、一般化された鳩の巣原理は、単射型の鳩の巣原理の一般化であることが明らかになりました。両者の違いは、得られる評価の強さにあります。単射型の鳩の巣原理は、1つの分類先に少なくとも2個の対象が対応するという主張であるのに対し、一般化された鳩の巣原理は、1つの分類先に対応する対象数について、\begin{equation*}\left\lceil \frac{\left\vert A\right\vert }{\left\vert B\right\vert }\right\rceil
\end{equation*}という、対象と分類先の数に応じた具体的な下限を与えます。

 

演習問題

問題(ファイルの分類)
\(73\)個のファイルそれぞれ、\(8\)個のフォルダのいずれか1つに保存します。少なくとも1つのフォルダには\(10\)個以上のファイルが保存されることを示してください。
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(合同な整数)
自然数\(n\in \mathbb{N} \)と、任意に選ばれた\(n+1\)個の整数について、その中の少なくとも2つは\(n\)で割った余りが等しいことを証明してください。
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(鳩の巣原理)
\(1\)以上\(11\)以下の整数の中から\(7\)個の異なる整数を選んだとき、その中の何らかの\(2\)つの数の和が\(12\)になることを示してください。
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(鳩の巣原理)
\(7\)個の異なる自然数を選んだとき、その中の何らかの\(3\)つの数の和が必ず\(3\)で割り切れることを示してください。
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

問題(有限集合上の単射と全射)
有限集合\(A\)と写像\(f:A\rightarrow A\)について、以下の主張が互いに必要十分であることを証明してください。

  1. \(f\)は単射である。
  2. \(f\)は全射である。
  3. \(f\)は全単射である。
解答を見る

会員専用コンテンツです
【ログイン】【会員登録】

この教材についての議論

この教材について質問したり、他の学習者と議論したりするには会員登録とログインが必要です。

  • 会員はコメントを投稿できます
  • 他のユーザーへの返信も可能です
  • 過去の議論を検索・閲覧できます
  • 投稿内容は後から編集できます

WIISでは、年齢・性別・学歴・職業・社会的立場などにかかわらず、すべてのユーザーが「学ぶ人」として対等であると考えています。

ここは知識を競う場所ではなく、互いの考えを尊重しながら理解を深めていくための場です。質問や意見の表明はもちろん、分からないことを率直に尋ねることも歓迎します。

建設的で安心できる学習環境を維持するため、投稿の前にガイドラインをご確認ください。

誤字脱字、リンク切れ、内容の誤りを発見した場合には以下のフォームからご連絡をお願い致します。

AIに質問
wiis専属チューター ×
本日の利用回数を確認中...
こんにちは!この教材の専属チューターです。数式の証明や概念の解説など、何でも聞いてください。

💡 教材のテキストや数式をドラッグ選択すると、自動的に下の入力欄に数式付きで引用されます!

このページの目次

MEMBERSHIP

学びを、次の深さへ。

WIISの有料会員に登録すると、
会員限定コンテンツへのアクセス、
PDF教材のダウンロード、
AI Tutorの利用、フォーラムへの参加など、
さまざまな会員特典をご利用いただけます。

会員限定コンテンツ

学習をさらに深めるための限定コンテンツを提供しています。

PDF教材

教材をPDFとしてダウンロードして利用できます。

AI Tutor

理解を深めるための学習支援AIを利用できます。

コミュニティ機能

学習者同士で交流し、議論や研究に参加できます。

最近閲覧したページ