場合の数とは、「何通りあるか」を漏れも重複もなく数える技術です。たとえば、5 人から委員長と副委員長を選ぶ方法は何通りか、トランプ 52 枚の並べ方は何通りか、といった問いに答えます。この記事を読むと、公式を丸暗記しなくても、「足す」「掛ける」という 2 つの基本ルールから順列や組合せの公式が出てくる理由が分かります。箱に玉を入れる数え方や、直線で平面を分ける個数まで、同じ考え方で数えられるようになります。以下の箇条書きは、その内容を専門用語でまとめたものです。
- 数え上げの土台は 2 つの原理だけです。和の法則(重ならない場合を足す)と積の法則(段階を踏む選び方を掛ける)。この記事ではこれを有限集合の元の個数の定理として証明し、残りの公式をすべてここから導きます。
- 順列 n(n−1)⋯(n−k+1)、組合せ (kn)、円順列 (n−1)!、同じものを含む順列 n1!⋯nr!n!、重複組合せ (kn+k−1) は、「各値が同じ個数ずつ重なっている写像で割る」という 1 つの考え方で統一的に証明できます。
- 包除原理を使うと、全射の個数 ∑j(−1)j(jK)(K−j)N と完全順列の個数が出ます。
- 玉と箱の数え方(玉・箱が区別できるか、入れ方の条件は何か)は 3×4=12 通りの表になります。全部の欄を証明つきで埋めます。
- 直線 n 本が一般の位置にあるとき平面は 1+n+(2n) 個、平面 n 枚が一般の位置にあるとき空間は (0n)+(1n)+(2n)+(3n) 個の領域に分かれます。
- 平面上のどの 3 点も同一直線上にない 5 点からは、必ず凸四角形をつくる 4 点が選べます(ハッピーエンド問題)。
「場合の数」は高校数学で最初に出会う難所です。公式の数は多く、問題ごとに使い分けが違い、数え間違い(重複や漏れ)も起きやすい。しかし公式は互いに無関係ではありません。順列も組合せも円順列も、**「数えやすいものを数えて、重なりの個数で割る」か「数えやすい段階に分けて掛ける」**かのどちらかで出てきます。
この記事は、その考え方を最初に定理として固定します。後の記事(確率)では「同様に確からしい事象の確率は、場合の数の比」になるので、数え方が正しいことは確率の正しさに直結します。
注意: 高校の教科書では、これらの公式は「図や例から明らか」とされることが多い。ここでは、段階を分けるとは何か、重ならないとは何か、を集合と写像の言葉で言い切ります。
N={1,2,…}、[n]={1,2,…,n}([0]=∅)とします。
定義 2.1(有限集合の元の個数)↗
集合 A から [n] への全単射があるとき、A は有限集合であるといい、その n を A の元の個数(要素の個数)といって ∣A∣ と書く。空集合の元の個数は 0 である。
「n は A から決まるか」を確かめておきます。これは鳩の巣原理から出ます。
命題 2.2(元の個数は一意に定まる)✓
集合 A から [n] への全単射と [m] への全単射があるならば n=m である。
証明(命題 2.2)
全単射 α:A→[n]、β:A→[m] をとると、β∘α−1:[n]→[m] は全単射である。n>m とすると、この写像は [n] から元の個数の少ない [m] への単射になり、鳩の巣原理(定理 7.5)[数え上げと母関数](1 で k=1)に反する。同様に逆写像 α∘β−1:[m]→[n] を考えて m>n も起こらない。よって n=m である。
∎
以下、有限集合を A,B,… と書くときは、いつも有限集合を考えます。部分集合 B⊆A も有限集合です(A→[n] の全単射を制限して、順序を詰めれば B→[m] の全単射が作れるため)。
定理 3.1(和の法則・積の法則)✓
- (和の法則)A1,…,Am が互いに交わらない有限集合ならば A1∪⋯∪Am=∣A1∣+⋯+∣Am∣。
- (積の法則)∣A×B∣=∣A∣∣B∣。
- (逆像が同じ大きさのときの原理)写像 f:A→B について、すべての b∈B で ∣f−1(b)∣=c (同じ値)ならば ∣A∣=c∣B∣。
- (補集合の原理)B⊆A ならば ∣A∖B∣=∣A∣−∣B∣。
証明(定理 3.1)
- まず m=2 を示す。∣A∣=a、∣B∣=b、全単射 α:A→[a]、β:B→[b] をとる。A∩B=∅ なので、γ(x)=α(x)(x∈A)、γ(x)=a+β(x)(x∈B)で γ:A∪B→[a+b] が定まり、[a] と {a+1,…,a+b} に分けて見れば全単射である。よって ∣A∪B∣=a+b。一般の m は、A1∪⋯∪Am−1 と Am が交わらないことを使った m についての帰納法で出る。
- A×B=⋃x∈A({x}×B) は互いに交わらない和であり、各 {x}×B は y↦(x,y) で B と全単射だから元の個数 ∣B∣ である。1. より ∣A×B∣=∑x∈A∣B∣=∣A∣∣B∣。
- A=⋃b∈Bf−1(b) は互いに交わらない和で、各項の元の個数が c なので、1. より ∣A∣=c∣B∣。
- A=(A∖B)∪B は互いに交わらない和なので、1. より ∣A∣=∣A∖B∣+∣B∣。
∎
- が今回の主役です。「∣A∣ が数えにくいとき、A から数えやすい B への写像 f を作り、各 b の逆像が同じ大きさ c だと示せば、∣A∣=c∣B∣」という道具です。この記事の定理の多くは、これを使っています。
ここで逆像 f−1(b) とは、b に写る A の元全体の集合のことです。たとえば A を生徒 30 人、B を 5 つのクラス、f を各生徒の所属クラスとします。どのクラスの逆像(そのクラスの生徒全員)も 6 人ならば、全員の数は 6×5=30 だと分かります。
命題 3.2(写像の個数)✓
有限集合 X,Y について、X から Y への写像全体の集合 YX の元の個数は ∣Y∣∣X∣ である。X が k 元集合ならば YX は直積 Yk と同一視でき、∣Yk∣=∣Y∣k である。
証明(命題 3.2)
∣X∣=k についての帰納法。k=0 のとき、空写像がちょうど 1 つあり ∣Y∣0=1。k≥1 とし、x0∈X を 1 つ選び X′=X∖{x0} とおく。f↦(f∣X′,f(x0)) は YX から YX′×Y への全単射である。帰納法の仮定と 定理 3.1 の 2. より ∣YX∣=∣Y∣k−1⋅∣Y∣。
∎
とくに有限集合 A の部分集合は 2∣A∣ 個です(べき集合の元の個数(定理 3.8)[数学の国語])。
例 3.3(数え間違いの典型を全単射で直す)
「5 人から委員長 1 人と副委員長 1 人を選ぶ」を、「先に 2 人を選んで((25)=10)、次に役を決める」と考えると 10×2=20 通り、「先に委員長(5 通り)、次に副委員長(4 通り)」と考えると 5×4=20 通りで一致します。一方、「委員長を 5 通りで決め、副委員長を 5 通りで決める」と数えて 25 通りとするのは、委員長と副委員長が同じ人になる 5 通りを含めた誤りです。
どちらが正しいかは、数えたい集合 A={(x,y):x=y} を明示すれば決まります。A=([5]×[5])∖{(x,x)} なので、定理 3.1 の 4. から 25−5=20。「何の集合の元の個数を数えているのか」を書くのが、数え間違いを防ぐ最初の一歩です。
定義 4.1(順列)↗
k 元集合から n 元集合への単射を、n 個から k 個を取り出す順列(正確には k 個の順序つき選び方)といい、その個数を nPk と書く。k=n の単射(=全単射)は n 個の並べ替えである。n!=n(n−1)⋯2⋅1(0!=1)。
定理 4.2(順列の個数)✓
0≤k≤n のとき nPk=n(n−1)⋯(n−k+1)=(n−k)!n!。k>n のとき nPk=0。とくに n 個の並べ替えは n! 通りである。
証明(定理 4.2)
k>n のとき、鳩の巣原理(定理 7.5[数え上げと母関数])により単射がない。k≤n とし、k についての帰納法で、「任意の n 元集合 X について、[k]→X の単射は n(n−1)⋯(n−k+1) 個」を示す。k=0 は空写像 1 個。
k≥1 とする。単射 f:[k]→X を f(k)=x の値で分類する。f(k)=x となる単射の集合は、f↦f∣[k−1] により、[k−1]→X∖{x} の単射全体と全単射対応する(f が単射なら f∣[k−1] の像は x を含まないから)。X∖{x} は n−1 元なので、帰納法の仮定でその個数は (n−1)(n−2)⋯(n−k+1)。x は n 通りで、逆像が互いに交わらず元の個数が等しいから 定理 3.1 の 1. により、全体は n⋅(n−1)⋯(n−k+1) である。
∎
定理 4.3(組合せの個数)✓
n 元集合の k 元部分集合の個数 (kn)(二項係数(定義 7.1)[数え上げと母関数])は、0≤k≤n で
(kn)=k!nPk=k!(n−k)!n!である。すなわち k!(kn)=nPk。
証明(定理 4.3)
n 元集合 X について、単射 f:[k]→X の全体 I から、k 元部分集合の全体 S への写像 Φ(f)=f([k]) を考える。Φ は全射である。部分集合 S の逆像 Φ−1(S) は、S への全単射 [k]→S 全体であり、その個数は 定理 4.2 で k 元集合の並べ替えとして k! 個。定理 3.1 の 3. より ∣I∣=k!∣S∣、すなわち nPk=k!(kn)。後半は 定理 4.2 から従う(命題 7.2[数え上げと母関数] の閉じた式とも一致する)。
∎
組合せで頻出の対称性 (kn)=(n−kn) は、「k 個を選ぶ」ことと「選ばない n−k 個を選ぶ」ことの全単射(補集合をとる)です。
例 4.4(階乗の大きさ)
10!=3628800、20!=2432902008176640000≈2.4×1018、52!≈8.07×1067。トランプ 52 枚の並べ方の個数は 52! で、宇宙の歴史の秒数(約 4×1017)よりはるかに大きい。「全部を書き出して調べる」方法が、場合の数が大きくなると使えないことが分かります。
異なる n 個のものを円形に並べる、回すと一致するものは同じとみなす、という数え方です。座席に番号をつけた並べ方を Zn={0,1,…,n−1} (n を法とする整数)から物の集合 X(∣X∣=n)への全単射 f とし、回転 ρ(i)=i+1 に対して f∼f∘ρj を「同じ円順列」とします。
小さな例で見ると、3 人 A, B, C を円に並べる並べ方は 3!=6 通りありますが、回すと重なるもの(ABC, BCA, CAB の 3 つ、ACB, CBA, BAC の 3 つ)を同じとみなすと 2 通りで、(3−1)!=2 と合います。以下の証明は「並べ方 n! 通りは、回して重なる n 個ずつの組に分かれる」ことを示して n で割るものです。Zn は、n で割った余りで整数を分類したもの、つまり円卓の n 個の席に番号を振ったものと思ってください。
定理 5.1(円順列とじゅず順列)✓
n≥1 個の異なるものの円順列は (n−1)! 通り。n≥3 のとき、裏返して重なるものも同じとみなすじゅず順列は 2(n−1)! 通りである。
証明(定理 5.1)
並べ方の全体 Bij(Zn,X) は 定理 4.2 から n! 個である。
円順列: f∼f′ を f′=f∘ρj となる j があること、と定める。これは同値関係であり(ρj の合成と逆が ρ のべきで書ける)、類の個数が答えである。f の類 {f∘ρj:0≤j<n} の元の個数は n である:f∘ρi=f∘ρj なら f が単射なので ρi=ρj で、i≡j(modn) だから、0≤i,j<n では i=j。そこで類を対応させる写像の逆像がすべて n 個で、定理 3.1 の 3. により類の個数は n!/n=(n−1)!。
じゅず順列: σ(i)=−i とおき、G={ρj}∪{σρj} とする(σρj(x)=−(x+j))。G は合成で閉じる(σρjσρk=ρk−j など)。n≥3 のとき G の 2n 個の写像は互いに異なる:ρj どうし、σρj どうしは異なり、もし σρj=ρi なら x=0,1 を代入して −j=i、−1−j=1+i より 2≡0(modn) となって n≤2 に反する。f∼f′ を f′=f∘g(g∈G)と定めると、類の元の個数は 2n なので、類の個数は n!/(2n)=(n−1)!/2。
∎
定理 5.2(同じものを含む順列)✓
n=n1+⋯+nr とし、r 種類の文字を第 i 種が ni 個ずつ並べる並べ方(長さ n の列)の個数は
n1!n2!⋯nr!n!.
証明(定理 5.2)
[n] を連続した区間 B1,…,Br(∣Bi∣=ni)に分ける。[n] の並べ替え π:[n]→[n](全部で n! 個)に、列 w(π)=(w1,…,wn)、wp=i⟺π(p)∈Bi を対応させる。w(π) は第 i 種が ni 個の列である。逆に列 w が与えられたとき、w(π)=w となる π は、各 i について「wp=i となる位置の集合(ni 元)から Bi への全単射」を選ぶことと同じなので、n1!⋯nr! 個ある(積の法則)。逆像の大きさが一定だから、定理 3.1 の 3. で列の個数は n!/(n1!⋯nr!)。
∎
例 5.3(A, A, B, B, C の並べ替え)
5 文字を並べる並べ方は 2!2!1!5!=30 通り。隣り合う A がないものは、B, B, C の並べ方 2!3!=3 通りの 4 つの隙間から A の位置 2 箇所を選んで 3×(24)=18 通り。「A が隣り合う」場合は 30−18=12 通りで、A, A を 1 つのかたまりにして A’, B, B, C を並べる 2!4!=12 と一致します。
定理 6.1(重複組合せ)✓
n≥1、k≥0 のとき、非負整数 x1,…,xn で x1+⋯+xn=k を満たす組の個数は (kn+k−1) である。また、正の整数の解の個数は (n−1k−1)(k≥n)である。
証明の方針は、解の組を「k 個の玉と n−1 本の仕切りを一列に並べた、長さ n+k−1 の列」に対応させ、仕切りの位置を選ぶ問題(組合せ)に直すことです。si は i 番目の仕切りの位置を表します。たとえば n=3、k=2 で (x1,x2,x3)=(1,0,1) なら、列は「玉 仕切り 仕切り 玉」で、仕切りの位置は s1=2、s2=3 です。
証明(定理 6.1)
(x1,…,xn) に対し si=x1+⋯+xi+i(1≤i≤n−1)とおくと、1≤s1<s2<⋯<sn−1≤n+k−1(si+1−si=xi+1+1≥1、sn−1≤k+n−1)なので、{s1,…,sn−1} は [n+k−1] の (n−1) 元部分集合である。逆に (n−1) 元部分集合 s1<⋯<sn−1 から x1=s1−1、xi=si−si−1−1(2≤i≤n−1)、xn=n+k−1−sn−1 を作ると、これらは非負整数で和は k になり、2 つの操作は互いに逆である。したがって解の個数は (n−1n+k−1)=(kn+k−1)(定理 4.3 と (jm)=(m−jm))。n=1 のときは s が空で、解は x1=k の 1 つだけ((kk)=1)である。正の解は yi=xi−1 と置き換えて、y1+⋯+yn=k−n の非負解の個数 (k−nk−1)=(n−1k−1)。
∎
この対応は「玉を k 個、仕切りを n−1 本、並べる」という高校の説明(星と棒)の、数学的な言い直しです。
定理 6.2(最短経路の数)✓
格子点 (0,0) から (a,b) へ、右(R)か上(U)への 1 歩ずつで進む経路は (aa+b) 通りである。
証明(定理 6.2)
経路は、R を a 個、U を b 個含む長さ a+b の列と 1 対 1 に対応する。その個数は 定理 5.2 で a!b!(a+b)!=(aa+b)。
∎
格子点 (0,0) から (5,4) への最短経路の 1 つ(太線)。(2,2) を通る経路は 6 × 10 = 60 通り
例 6.3(途中の点を通る経路)
(0,0) から (5,4) への最短経路は (49)=126 通り。(2,2) を通るものは、(0,0)→(2,2) が (24)=6 通り、(2,2)→(5,4) が (25)=10 通りで、積の法則により 60 通りです(通る点が 1 つなので、この 60 通りは重なりません)。
包除原理(定理 4.1[半順序集合と Möbius 反転])は、「少なくとも 1 つの条件に反するもの」を「どの条件にも反しないもの」の個数に変換します。ここでは、その使い方を 2 つの定理で見ます。
定理 7.1(全射の個数)✓
N≥1、K≥1 とする。[N] から [K] への全射の個数は
j=0∑K(−1)j(jK)(K−j)Nである。
証明(定理 7.1)
X を [N]→[K] の写像全体(命題 3.2 で KN 個)とし、Ai={f∈X: i∈/f([N])}(i∈[K])とおく。全射の集合は X∖⋃iAi である。S⊆[K] について AS=⋂i∈SAi は [N]→[K]∖S の写像の全体なので ∣AS∣=(K−∣S∣)N。包除原理(定理 4.1)[半順序集合と Möbius 反転] により、全射の個数は ∑S⊆[K](−1)∣S∣(K−∣S∣)N。∣S∣=j となる S は (jK) 個なので、題意の式になる。
∎
命題 7.2(完全順列の個数)✓
n 個の並べ替え π で、どの i についても π(i)=i となるもの(完全順列)の個数 Dn は
Dn=n!k=0∑nk!(−1)kである。
証明(命題 7.2)
X を [n] の並べ替え全体(n! 個)、Ai={π:π(i)=i} とする。S⊆[n] について AS は S の元を固定する並べ替えで、残り n−∣S∣ 個の並べ替えと同一視できるので ∣AS∣=(n−∣S∣)!(定理 4.2)。包除原理(定理 4.1)[半順序集合と Möbius 反転] により Dn=∑S(−1)∣S∣(n−∣S∣)!=∑k=0n(−1)k(kn)(n−k)!=∑k=0n(−1)kn!/k!。
∎
D4=24−24+12−4+1=9、D5=44、D6=265。比 Dn/n! は ∑(−1)k/k! に急速に近づきます(確率の記事で再び現れます)。
N 個の玉を K 個の箱に入れる入れ方を、次の 3 つの選択で分類します。
- 玉が区別できるか(できる=D、できない=I)。
- 箱が区別できるか(D か I)。
- 入れ方の条件:制限なし/単射(どの箱にも高々 1 個)/全射(どの箱にも少なくとも 1 個)。
入れ方を写像 f:[N]→[K] で表します(玉 p を箱 f(p) に入れる)。玉が区別できないとは、[N] の並べ替えで移り合う写像を同じとみなすこと(各箱の個数 (n1,…,nK) だけが問題)、箱が区別できないとは、[K] の並べ替えで移り合う写像を同じとみなすことです。
やさしく言えば、「区別できる」とは玉や箱に番号や名前が付いていること、「区別できない」とは見分けがつかず、入れ替えても同じ入れ方だと考えることです。まず N=2、K=2(制限なし)で見ます。玉 D・箱 D は 22=4 通り。玉 I・箱 D は箱ごとの個数が (2,0),(1,1),(0,2) の 3 通り。玉 D・箱 I は「2 個が同じ箱」「別々の箱」の 2 通り。玉 I・箱 I は個数の組 {2,0} と {1,1} の 2 通りです。以下の定理は、これを一般の N,K で数えたものです。
定義 8.1(第 2 種 Stirling 数と整数の分割)↗
- N 元集合を、空でない部分集合(ブロック)に、順序を区別せずに互いに交わらないように分割する分け方のうち、ブロックがちょうど K 個のものの個数を第 2 種 Stirling 数 S(N,K) とする(S(0,0)=1、N≥1 で S(N,0)=0、K≥1 で S(0,K)=0)。
- 自然数 N を、順序を区別せずにちょうど K 個の正の整数の和として表す表し方(N=n1+⋯+nK、n1≥⋯≥nK≥1)の個数を pK(N) とする(p0(0)=1、m≥1 で p0(m)=0、pK(0)=0 (K≥1))。
命題 8.2(Stirling 数と分割数の漸化式)✓
N,K≥1 について
S(N,K)=S(N−1,K−1)+KS(N−1,K),pK(N)=pK−1(N−1)+pK(N−K).ただし pK(m)=0(m<0)とする。
証明(命題 8.2)
S の漸化式: [N] の K ブロックへの分割を、元 N が単独のブロックをなすかどうかで分ける。単独なら、残りは [N−1] の K−1 ブロックへの分割で、S(N−1,K−1) 通り。そうでなければ、N を除いた [N−1] の K ブロックへの分割に、N を K 個のブロックのどれかに加える K 通りで、KS(N−1,K) 通り(逆に N を除けば元に戻る)。
p の漸化式: K 個の正の整数への分割を、最小の項が 1 かどうかで分ける。最小の項が 1 なら、その 1 を除いて N−1 の K−1 個への分割になる(逆に 1 を加えれば元に戻る)。最小の項が 2 以上なら、すべての項から 1 を引いて N−K の K 個への分割になる(逆に 1 ずつ加えれば元に戻る)。それぞれ pK−1(N−1)、pK(N−K) 通り。
∎
定理 8.3(12 通りの数え方)✓
N,K≥1 とする。玉の入れ方の個数は、次の表のとおりである。
| 制限なし | 単射(各箱に高々 1 個) | 全射(各箱に 1 個以上) |
|---|
| 玉 D・箱 D | KN | (K−N)!K!(N≤K、それ以外は 0) | K!S(N,K)=∑j=0K(−1)j(jK)(K−j)N |
| 玉 I・箱 D | (NN+K−1) | (NK)(N≤K、それ以外は 0) | (K−1N−1) |
| 玉 D・箱 I | ∑j=1KS(N,j) | 1(N≤K)、0(N>K) | S(N,K) |
| 玉 I・箱 I | ∑j=1Kpj(N) | 1(N≤K)、0(N>K) | pK(N) |
証明(定理 8.3)
同一視の確認: 2 つの写像 f,g が、玉の並べ替え π と箱の並べ替え τ を許して g=τ∘f∘π と移り合うことを、玉が区別できなければ π だけ、箱が区別できなければ τ だけ許して、「同じ入れ方」とみなす。各箱の個数 (nj)=(∣f−1(j)∣) が一致すれば玉の並べ替えで移り合い(各箱の玉を同じ個数ずつ対応させればよい)、f の逆像のつくる [N] の分割(空でない逆像の全体)が一致すれば、空でない逆像どうしを対応させる箱の並べ替え(空の箱どうしも対応させて [K] 全体の並べ替えに延ばせる)で移り合う。逆も明らかなので、以下の同一視は次の 3 つの言い換えになる:玉 I・箱 D は各箱の個数の組 (n1,…,nK)、玉 D・箱 I は [N] の(高々 K ブロックの)分割、玉 I・箱 I は個数の組を並べ替えて同じとみなしたもの、すなわち N の分割。
玉 D・箱 D: 入れ方は写像 [N]→[K] そのもの。制限なしは 命題 3.2 で KN。単射は 定理 4.2(N≤K、N>K は鳩の巣原理で 0)。全射の個数は 定理 7.1 の式に一致する。さらに全射 f に、その逆像の分割 {f−1(b)}(K 個のブロック)を対応させると、全射の集合から「K ブロックの分割」の集合への全射になり、1 つの分割の逆像は、K 個のブロックに箱の名前 1,…,K を 1 つずつ割り当てる方法の個数 K! に等しい。定理 3.1 の 3. より全射の個数は K!S(N,K)。
玉 I・箱 D: 入れ方は各箱の個数 (n1,…,nK)(n1+⋯+nK=N)。制限なしは 定理 6.1 で (NN+K−1)。全射は nj≥1 なので正の解の個数 (K−1N−1)。単射は nj∈{0,1} で和が N なので、1 が入る N 個の箱の選び方 (NK)(定理 4.3)。
玉 D・箱 I: 入れ方は箱の名前を忘れた「玉の集合 [N] の分割」(空の箱は見えない)。ブロックの個数 j は 1≤j≤K で、制限なしは ∑j=1KS(N,j)。全射は空の箱がないことで、ちょうど K ブロック、S(N,K)。単射はすべてのブロックが 1 個の玉だけからなる分割で、そのような分割はちょうど 1 つあり(N≤K)、N>K では箱が足りず 0。
玉 I・箱 I: 入れ方は箱の個数を並べた多重集合、すなわち N の分割(空の箱は見えない)。ちょうど j 個の正の整数への分割が pj(N) 個なので、制限なしは ∑j=1Kpj(N)、全射は pK(N)。単射は全部の項が 1 の分割ただ 1 つ(N≤K)、N>K では 0。
∎
例 8.4(N=4、K=3 の表)
値を計算すると次のとおり。S(4,1)=1、S(4,2)=7、S(4,3)=6。p1(4)=1、p2(4)=2、p3(4)=1。
| 制限なし | 単射 | 全射 |
|---|
| 玉 D・箱 D | 81 | 0 | 36 |
| 玉 I・箱 D | 15 | 0 | 3 |
| 玉 D・箱 I | 14 | 0 | 6 |
| 玉 I・箱 I | 4 | 0 | 1 |
4 個の玉を 3 個の箱に入れて空の箱を許さないと、玉 D・箱 D で 36 通り。これは 3!S(4,3)=6×6 とも、34−3⋅24+3=36 とも合います。
直線 n 本で平面はいくつの領域に分かれるでしょうか。直観的な数え方(「新しい直線は n 個の交点で n+1 個に切れ、領域が n+1 個増える」)を、定義から証明します。
d=1,2,3 とし、Rd の超平面 Hi={gi=0}(gi は定数でない 1 次式。d=1 は点、d=2 は直線、d=3 は平面)を n 個とります(超平面とは、直線や平面のように、空間を 2 つの側に分ける平らな図形のことです)。符号の組 ε∈{+1,−1}n に対し Rε={x:εigi(x)>0 (i=1,…,n)} とおき、空でない Rε を(これら n 個の超平面が作る)領域、その個数を rd(H1,…,Hn) と書きます。Rε は有限個の開半空間の共通部分なので凸であり、異なる領域は超平面で隔てられます。
定義 9.1(一般の位置)↗
d=2 の直線 n 本が一般の位置にあるとは、どの 2 本も平行でなく、どの 3 本も 1 点で交わらないこと。d=3 の平面 n 枚が一般の位置にあるとは、どの 2 枚も平行でなく(一致もせず)、どの 3 枚もちょうど 1 点で交わり、どの 4 枚も共通点をもたないこと。d=1 では n 個の点が互いに異なること。
次の補題は、直線を 1 本足すと、領域が「その直線が通り抜ける領域の数」だけ増える、という事実を式にしたものです。たとえば 2 本の直線が作る 4 個の領域に、その 2 本と交わる 3 本目を引くと、3 本目は 2 つの交点で 3 つの区間に切られ、3 個の領域を通り抜けるので、領域は 4+3=7 個になります(公式 1+3+(23)=7 と一致します)。証明では、領域が凸(領域内の 2 点を結ぶ線分が領域からはみ出さない)という性質を使います。
補題 9.2(超平面を 1 つ加えたときの領域の増え方)✓
H={g=0} を新しい超平面とし、H1,…,Hn のどれとも平行でない(H∩Hi=∅、Hi=H)とする。Hi∩H は H の中の超平面(d=2 なら点、d=3 なら直線)である。このとき
rd(H1,…,Hn,H)=rd(H1,…,Hn)+rd−1(H∩H1,…,H∩Hn)(右辺の第 2 項は、H の中で H∩Hi が作る領域の個数)。
証明(補題 9.2)
H1,…,Hn の領域 Rε=∅ を 1 つ取り、H との関係で調べる。
(a) Rε∩H=∅ のとき。Rε は凸で、g は連続(1 次式)なので、g は Rε 上で符号を変えない(g(p)>0>g(q) なら線分 pq 上で g=0 となる点が Rε にあることになるため)。よって新しい領域のうち Rε の中にあるものは、g>0 の側か g<0 の側かのちょうど一方で、1 個。
(b) Rε∩H=∅ のとき。p∈Rε∩H をとると Rε は開集合なので p のまわりの小球を含み、その小球は g>0 の点も g<0 の点も含む。よって新しい領域が 2 個。
したがって増える領域の数は、H に交わる Rε の個数である。Rε∩H={x∈H:εigi(x)>0} で、gi∣H は仮定より H 上の定数でない 1 次式(Hi が H と平行でないため)であり、その零点集合が H∩Hi である。よって Rε∩H=∅ となる ε の個数は、H の中の超平面 H∩Hi の領域の個数に等しい。
∎
定理 9.3(直線と平面による分割)✓
一般の位置にある n 個の超平面について、領域の個数は
rd=j=0∑d(jn)(d=1,2,3)である。とくに、一般の位置にある直線 n 本は平面を 1+n+(2n)=2n2+n+2 個の領域に分け、一般の位置にある平面 n 枚は空間を 1+n+(2n)+(3n) 個の領域に分ける。
証明(定理 9.3)
d=1: 相異なる n 点 t1<⋯<tn を零点とする 1 次式の符号の組は、t より小さい点の個数 0,1,…,n で決まり、どれも実現されるので n+1=(0n)+(1n) 個。
d=2,3: n についての帰納法。n=0 なら領域は全空間 1 個で (00)=1。n≥1 とし、H=Hn を最後に加える超平面とみなす。一般の位置の仮定より、H は他の超平面と平行でない(d=2:どの 2 本も平行でない。d=3:定義でどの 2 枚も平行でも一致でもない。n≤2 のときも、この条件が要る)。また H∩H1,…,H∩Hn−1 は H の中で一般の位置にある(d=2:n−1 個の相異なる点。2 直線 Hi,Hj が H 上の同じ点で交われば 3 本が共点になってしまう。d=3:H の中の 2 直線 H∩Hi,H∩Hj は H∩Hi∩Hj がちょうど 1 点なので、ちょうど 1 点で交わり、3 直線が共点なら H を含む 4 枚が共点になって矛盾)。補題 9.2 により rd(n)=rd(n−1)+rd−1(n−1)。帰納法の仮定(d−1 については n−1 個で、d については n−1 個で成り立つ)から
rd(n)=j=0∑d(jn−1)+j=0∑d−1(jn−1)=(0n−1)+j=1∑d[(jn−1)+(j−1n−1)]=j=0∑d(jn).最後は Pascal の漸化式(命題 7.2[数え上げと母関数])である。
∎
例 9.4(平面 4 枚で空間は 15 個)
平面 n=1,2,3,4,5 枚で空間は 2,4,8,15,26 個の領域に分かれます。2n に見えて、n=4 で 16 ではなく 15 になります。平行な 2 本の直線は 3 個にしか平面を分けない(1+2+1=4 の公式より少ない)ように、一般の位置からずれると個数は減ります(平行な平面 2 枚が空間を 3 個にしか分けないのも同じです)。
平面上の 4 点が凸位置にあるとは、どの 1 点も他の 3 点がつくる三角形(内部と周を含む)に含まれないことです。このとき 4 点は凸四角形の頂点をなします。
平面上の有限個の点 S について、S の点の凸結合(∑λsPs、λs≥0、∑λs=1)全体を conv(S) と書きます(S を含む最小の凸集合、つまり「S を囲む輪ゴムの内側」です)。
補題 10.1(凸包をつくる最小の点集合)✓
有限集合 S に対し、部分集合 T⊆S で、conv(T)=conv(S) であり、かつ T のどの点 P も conv(T∖{P}) に含まれないものが存在する。
証明(補題 10.1)
conv(T)=conv(S) となる T⊆S のうち、元の個数が最小のものをとる(T=S が候補なので存在する)。もし P∈T が conv(T∖{P}) に含まれるなら、T の点の凸結合に現れる P を T∖{P} の凸結合で置き換えることで conv(T∖{P})=conv(T)=conv(S) となり、T の最小性に反する。
∎
定理 10.2(ハッピーエンド問題(5 点))✓
平面上の 5 点で、どの 3 点も同一直線上にないものは、4 点を選んで凸位置にできる(凸四角形をつくれる)。
証明の方針は、5 点を輪ゴムで囲んだとき、輪ゴムの角になる点だけを残した集合 T の大きさで分けることです。T が 4 点以上ならそこから 4 点を選べば済みます。T が 3 点(三角形)のときは、残りの 2 点が三角形の内側にあることを使い、2 点を通る直線が三角形の頂点を 1 点と 2 点に分けることから、凸位置の 4 点を見つけます。
証明(定理 10.2)
5 点の集合を S とし、補題 10.1 の T をとる。∣T∣≤2 だと S⊆conv(S)=conv(T) が 1 本の線分に入り、3 点共線に反する。よって ∣T∣≥3。
∣T∣≥4 のとき: T から 4 点を選ぶ。どの点 P も P∈/conv(T∖{P}) であり、他の 3 点の三角形はこの凸包に含まれるから、P は他の 3 点の三角形に入らない。よって凸位置。
∣T∣=3 のとき: T={A,B,C}(3 点共線でないので三角形をなす)、S の残りを D,F とおく。D,F∈conv(S)=conv(A,B,C) で、D,F は A,B,C のどれとも異なる。
(i) 直線 DF は A,B,C のどれも通らない(3 点共線に反する)。g を直線 DF を零点とする 1 次式とすると、g(A),g(B),g(C)=0。3 つが全部同符号だとすると、その凸結合である g(D) も 0 でなくなり g(D)=0 に反する。よって符号は 2 対 1 に分かれる。A だけが別の側、B,C が同じ側とする(他の場合は文字を入れ替える)。
(ii) B∈/conv(C,D,F) である。A,B,C は 1 直線上にないので、β(A)=β(C)=0、β(B)=1 となる 1 次式 β がある。conv(A,B,C) の点では β の値は凸結合における B の重みなので 0≤β≤1 で、β(X)=1 となるのは X=B のときに限る。もし B=λC+μD+νF(λ,μ,ν≥0、和は 1)なら 1=β(B)=μβ(D)+νβ(F) だが、β(D),β(F)<1 なので右辺は μ+ν≤1 未満(μ=ν=0 なら 0)で矛盾する。同様に C∈/conv(B,D,F)。
(iii) D∈/conv(B,C,F) である。もし D∈conv(B,C,F) なら、3 点共線がないので D=λB+μC+νF(λ,μ,ν>0、和は 1)と書け、D−F=λ(B−F)+μ(C−F)。g(x)=ℓ(x)+c(ℓ は 1 次の部分)とすると ℓ(D−F)=g(D)−g(F)=0 なので 0=λℓ(B−F)+μℓ(C−F)=λg(B)+μg(C)(g(F)=0)。λ,μ>0 なので g(B),g(C) は異符号になり、B,C が同じ側という (i) に反する。F∈/conv(B,C,D) も同様。
(ii)(iii) より B,C,D,F は凸位置である。
∎
- 母関数(形式的冪級数)による数え上げ、指数公式、Lagrange 反転と Cayley の木の公式は 数え上げと母関数、包除原理の一般化(半順序集合上の Möbius 反転)は 半順序集合と Möbius 反転 で学びます。
- 12 通りの数え方は、対称群の作用による軌道の個数の問題に一般化されます(Burnside の補題・Pólya の数え上げ)。
- 平面や空間の超平面配置の領域の個数は、超平面配置の特性多項式と Möbius 関数で一般に表されます(Zaslavsky の定理)。
- ハッピーエンド問題は組合せ幾何と Ramsey 型の問題の入口です。
演習 12.1易
男子 4 人、女子 4 人が円形のテーブルに座る。回転して一致するものは同じとみなす。男女が交互に座る座り方は何通りか。
解答
先に男子 4 人の円順列(定理 5.1)を決める。(4−1)!=6 通り。男子の間の 4 つの空き席に女子を並べる並べ方は 4!=24 通り。男子を先に固定した時点で回転が消えているので、積の法則で 6×24=144 通り。
演習 12.2標準
x1+x2+x3+x4=10 を満たす非負整数の組のうち、x1≥2 かつ x2≥1 を満たすものは何個あるか。
解答
y1=x1−2、y2=x2−1 と置くと、y1,y2,x3,x4≥0 で y1+y2+x3+x4=7。定理 6.1 より (77+4−1)=(310)=120 個。
演習 12.3標準
区別できる 5 個の玉を、区別できる 3 個の箱に、空の箱がないように入れる入れ方は何通りか。また箱を区別しない場合は何通りか。
解答
定理 7.1 から 35−3⋅25+3⋅15−0=243−96+3=150 通り。箱を区別しないと、定理 8.3 の(玉 D・箱 I)全射の欄から S(5,3)=150/3!=25 通り。
演習 12.4標準
一般の位置にある平面 5 枚が空間を分ける領域の個数を求めよ。
解答
定理 9.3 から 1+5+(25)+(35)=1+5+10+10=26 個。
- Ronald L. Graham, Donald E. Knuth, Oren Patashnik, Concrete Mathematics, 2nd ed., Addison-Wesley, 1994 — 第 5 章(二項係数)、第 6 章(Stirling 数)。
- Richard P. Stanley, Enumerative Combinatorics, Volume 1, 2nd ed., Cambridge University Press, 2012 — 第 1 章(玉と箱の 12 通りの数え方 §1.9)。
- Martin Aigner, Günter M. Ziegler, Proofs from THE BOOK, Springer — 鳩の巣原理と二重の数え上げ、Erdős–Szekeres の章。
- Jiří Matoušek, Lectures on Discrete Geometry, Springer, 2002 — 超平面配置と凸位置の点の章。
- W. Morris, V. Soifer, “The Erdős–Szekeres problem on points in convex position — a survey”, Bull. Amer. Math. Soc. 37 (2000).