鳩の巣原理の応用設計では、対象を有限個の型に分類し、同じ型に属する二つの対象から求める結論が従うように分類を定めます。原理を用いるためには、対象の数が型の数を上回ることを確かめなければなりません。本記事では、部分列と整数の分類を例に、この条件を結論へ結び付ける設計を説明します。
1 部分列の長さによる分類
定理 1.1 (Erdős–Szekeres の定理(有限形)).を正の整数とし、相異なる実数をこの順に並べる。この列は、長さの狭義単調増加部分列または長さの狭義単調減少部分列をもつ。
証明. 各に対し、で終わる狭義単調増加部分列の長さの最大値を、で終わる狭義単調減少部分列の長さの最大値をとする。
長さの狭義単調増加部分列も狭義単調減少部分列も存在しないと仮定する。このとき、すべてのに対してかつであるから、組は通りしかない。
とする。ならば、で終わる長さの狭義単調増加部分列の末尾にを加えることができるので、である。ならば、同様にである。各項は相異なるから二場合のいずれかが成り立ち、を得る。
したがって、個の相異なる組が個の組からなる集合に属することになる。これは鳩の巣原理に反する。ゆえに、求める部分列の少なくとも一方が存在する。▨
2 整数を別の量で分類する例
例 2.1 (剰余による分類).を正の整数とする。個の整数から、差がの倍数となる二つを選ぶことができる。
証明. 各をで割った余りによって、の個の箱に分類する。個の整数を個の箱に入れるので、同じ余りをもつがあり、添字を入れ替えればとしてよい。ある整数と同じ余りを用いて、と書くと、である。したがって、はの倍数である。▨
例 2.2 (奇数部分による分類).を正の整数とする。から相異なる個の整数を選ぶと、そのうちの一方が他方を割り切る二数が存在する。
証明. 選んだ各整数は、非負整数と奇数を用いてと一意に表すことができる。この奇数をの奇数部分とする。以上以下の奇数はの個であるから、選んだ個の整数のうち二つは同じ奇数部分をもつ。
、と書く。とは相異なるからであり、必要ならとを入れ替えてとしてよい。このときであるから、はを割り切る。▨
3 設計チェック
注意 3.1. 鳩の巣原理を適用する前に、次の四点を確かめる。
- 鳩に当たる対象をすべて特定する。
- 各対象がちょうど一つに入る分類を定め、その分類の個数を数える。
- 対象の個数が分類の個数を上回ることを示す。
- 同じ分類に入った相異なる二対象から、求める結論が実際に従うことを示す。
分類の個数を必要以上に大きく評価すると、同じ分類に二対象が入ることを保証するために、問題が与えるより多くの対象が必要になる。
4 演習
- 個の整数から、同じ偶奇をもつ個を選ぶことができることを示してください。
- 整数列には、和がの倍数となる空でない連続部分が存在することを示してください。から始まる部分和を分類に用いてください。
- 一辺の長さがの正方形の内部または周上に相異なる個の点を置くと、距離が以下となる二点が存在することを示してください。