arXiv探訪

興味の赴くままに数学するだけ

ブロックデザインの組み合わせ

平等な組合せ

ダイヤモンドゲームというボードゲームをご存知だろうか。これは一片の長さが5の正六角形の各辺から正三角形を伸ばしたグリッド状の星型の盤面を用いて3人で遊ぶゲームである。3色の駒が15個ずつ1つ置きの正三角形上に並んでおり、各プレイヤーはそれぞれの駒を対角の位置に運ぶと勝利となる。他の駒を一つ飛ばしで移動できることで戦略性が生まれ面白いのだが(他にも細かいルールがあったりするが)、今回はゲームについての話ではない。

次の問題を考えよう。プレイヤーが何名かいるとして、公平に遊ぶことはできないだろうか。例えば、誰もが同じ数だけ試合を行うことはできるだろうか。あるいはより強い条件で(この理由は後述)、どの2人を選んでも同じ数だけ試合を行うことはできるだろうか。例えば全ての組み合わせで試合を行うと、プレイヤーの人数を{ v }として、各々{ \binom{v-1}{2} }回の試合をするので前者の条件を満たす。だがこれでは明らかに試合数が多くなってしまう。後者についてはどうだろうか。{ v=7 }の場合を考えると、

{ 124, 136, 157, 235, 267, 347, 456 }

という組合せでは、どの2人を選んでもちょうど1度ずつ試合を行っている。更に各プレイヤーは3回の対戦で済む。

このような組合せを考えることは他の状況でも有用である。例えば前期アニメのゾンビランドサガ*1では7名のキャラクターが登場する。3名ずつの販促イラストを作るとして、カプ厨に配慮するために(掛け算の順序は考えないものとする)、どの2人も同数ずつ同じイラストに描かれているようにしたい。このとき全ての組合せ{ \binom{7}{3}=35 }通りを描くのは大変だが、上記の組み合わせであれば7枚で良い。

ここで重要なのは「どの2人もちょうど同数」ということであって、これを一般化した「どの{ t }人もちょうど同数」となる組合せを数学では{ t }-デザイン(design)と呼ぶ。

数学とは数える学問である

定義 { v, k, t, \lambda }は正の自然数とする。{ \Omega }{ v }個の元からなる有限集合とする。このとき{ k }個の元から成る{ \Omega }の部分集合全体を{ \Omega^{( k )} }で表す。{ \mathcal{B}\subset\Omega^{( k )} }とする。任意の相異な{ t }個の元{ \alpha_{1}, \dotsc, \alpha_{t}\in\Omega }について{ |\lbrace B\in\mathcal{B} : \alpha_{1}, \dotsc, \alpha_{t}\in B \rbrace|=\lambda }(一定)となるとき、{ ( \Omega, \mathcal{B} ) }{ t }-{ ( v, k, \lambda ) }デザインという。

特に{ t\le k\le v }であり、{ \mathcal{B}=\lbrace \Omega \rbrace }のとき自明なデザイン、{ \mathcal{B}=\Omega^{( k )} }のとき完備なデザインと言う。どちらも{ t }-デザインとなる。

一般的に{ \Omega }の元を「点」と呼び、{ \mathcal{B} }の元を「ブロック」と呼ぶ。{ \alpha\in\Omega, B\in\mathcal{B} }に対し、{ \alpha\in B }のとき{ \alpha }{ B }上の点であるとか、{ B }{ \alpha }を通ると幾何学的に表現することもある。

まずは先送りした事実から述べよう。

命題 { ( \Omega, \mathcal{B} ) }{ t }-{ ( v, k, \lambda ) }デザインとする。{ 0\le s \le t-1 }に対し、相異な{ s }個の元{ \alpha_{1}, \dotsc, \alpha_{s}\in\Omega }を取る。これらを含むブロックの個数を{ n( \alpha_{1}, \dotsc, \alpha_{s} ) }で表すと、

{ \displaystyle n( \alpha_{1}, \dotsc, \alpha_{s} )=\frac{( v-s )\dotsm( v-t+1 )}{( k-s )\dotsm( k-t+1 )}\lambda=\frac{\binom{v-s}{t-s}}{\binom{k-s}{t-s}}\lambda }

が成り立つ。

(証明)組合せ論では一つの集合を複数の方法で数え上げるということをよくする。ここでは

{ \left\lbrace ( \lbrace \beta_{1}, \dotsc, \beta_{t-s} \rbrace, B ) : \alpha_{1}, \dotsc, \alpha_{s}, \beta_{1}, \dotsc, \beta_{t-s}\in B, B\in\mathcal{B} \right\rbrace }

をそれぞれの成分を固定して数える。

{ \beta_{1}, \dotsc, \beta_{t-s} }の取り方は{ \Omega }から{ \alpha_{1}, \dotsc, \alpha_{s} }を除いた{ v-s }個の中から{ t-s }個である。このときデザインなので{ B\in\mathcal{B} }の取り方は{ \lambda }個である。従って上の集合は{ \binom{v-s}{t-s}\lambda }個からなる。

逆に{ \alpha_{1}, \dotsc, \alpha_{s} }を含むブロックは定義より{ n( \alpha_{1}, \dotsc, \alpha_{s} ) }個であり、それぞれのブロックから{ \beta_{1}, \dotsc, \beta_{t-s} }を選ぶには{ k-s }個の中から{ t-s }個を選べば良い。故に上の集合は{ n( \alpha_{1}, \dotsc, \alpha_{s} )\binom{k-s}{t-s} }個からなる。{ \square }

この値は{ \alpha_{1}, \dotsc, \alpha_{s} }の取り方に依らず一定である。これを{ \lambda_{s} }と表せば、以下の系が成り立つ。なお{ \lambda_{0}=:b }はブロックの総数{ | \mathcal{B} | }であり、{ \lambda_{1}=:r }は各点を通るブロックの数になる。命題の式より{ \lambda\le r\le b }は明白だろう。

{ t }-{ ( v, k, \lambda ) }デザインは{ s }-{ ( v, k, \lambda_{s} ) }デザインでもある。

よって最初の例で述べたように「どの2人を選んでも同数」なら「誰もが同数」の試合を行うことが分かる。

注意 任意の{ t }-{ ( v, k, \lambda ) }デザインは{ 1 }-{ ( v, k, \lambda_{1} ) }デザインでもあるが、再び命題より{ s=0 }として

{ \displaystyle b=\frac{\binom{v-0}{1-0}}{\binom{k-0}{1-0}}\lambda_{1}=\frac{v}{k}r \Leftrightarrow vr=bk }

が成り立つ。

定義 { D=( \Omega, \mathcal{B} ) }{ 2 }-{ ( v, k, \lambda ) }デザインとする。{ \Omega=\lbrace \alpha_{1}, \dotsc, \alpha_{v} \rbrace }及び{ \mathcal{B}=\lbrace B_{1}, \dotsc, B_{b} \rbrace }とする。このとき{ ( i, j ) }成分が真偽値{ ( \alpha_{i}\in B_{j} ) }である行列を{ D }の結合行列(incidence matrix)と呼ぶ。

結合行列を{ A=( a_{ij} ) }とする。{ A }{ v\times b }行列となるが、{ AA^{T} }{ ( i, j ) }成分は

{ \displaystyle \sum_{s=1}^{b}a_{is}a_{js}=\sum_{s=1}^{b}( \alpha_{i}\in B_{s} )( \alpha_{j}\in B_{s} ) }

より、{ i\neq j }のとき、{ \alpha_{i}, \alpha_{j} }を含むブロックの個数となり、ちょうど{ \lambda }個ある。一方{ i=j }のとき、{ \alpha_{i} }を含むブロックはちょうど{ r=\lambda_{1} }個ある。よって{ v\times v }行列

{ \displaystyle AA^{T}=\left( \begin{matrix} r &  & \lambda \\ & \ddots & \\ \lambda & & r \end{matrix} \right) }

を得る。{ \mathrm{det}AA^{T}=( r+\lambda( v-1 ) )( r-\lambda )^{v-1} }となるが、ここで

{ \displaystyle r=\lambda_{1}=\frac{\binom{v-1}{2-1}}{\binom{k-1}{2-1}}\lambda=\frac{v-1}{k-1}\lambda }

より、{ r+\lambda( v-1 )=r+r( k-1 )=rk }となる。よって{ \mathrm{det}AA^{T}=rk( r-\lambda )^{v-1} }が成り立つ。

{ v\ge 2 }なので行列式がゼロとなるのは{ r=\lambda }に限るが、このとき上の式から{ v=k }が分かる。{ \Omega^{( v )}=\lbrace \Omega \rbrace }なので、{ D }は自明である。そこで{ D }が非自明であるとき、{ v=\mathrm{rank}AA^{T}=\mathrm{rank}A\le b }となる。先の注意より{ vr=bk }だから{ k\le r }を得る。

定理(Fisherの不等式) 非自明な{ 2 }-{ ( v, k, \lambda ) }デザイン{ D=( \Omega, \mathcal{B} ) }について、

{ v\le b, \quad k\le r }

が成り立つ。

combinatorialな恒等式

唐突だが私はcombinatorialに成り立つ恒等式が好きだ。二項定理や反転公式のような有用なものから、使いどころの分からないマニアックなものまで。これらは基本的に何かを数えることに始まり、そしてその数え方を工夫することで得られる。従ってその導出過程に面白い発想があることが多く、私はそういった証明を読むのが好きなのだ。

命題 { D=( \Omega, \mathcal{B} ) }{ t }-{ ( v, k, \lambda ) }デザインとする。{ i, j\ge 0 }{ i+j\le t }を満たす整数とする。{ I, J\subset\Omega }{ | I |=i, | J |=j, I\cap J=\emptyset }を満たすとする。

{ b_{i}^{j}:=| \lbrace B\in\mathcal{B} : I\subset B, B\cap J=\emptyset \rbrace | }

と置く。このとき

{ \displaystyle b_{i}^{j}=\frac{\binom{v-i-j}{k-i}}{\binom{v-t}{k-t}}\lambda }

が成り立つ。特にこの値は{ i, j }にのみ依り{ I, J }の取り方に左右されない。

(証明){ I=\lbrace \alpha_{1}, \dotsc, \alpha_{i} \rbrace, J=\lbrace \beta_{1}, \dotsc, \beta_{j} \rbrace }とする。このとき

{ \displaystyle \begin{alignedat}{1} b_{i}^{j} &= | \lbrace B\in\mathcal{B} : \alpha_{1}, \dotsc, \alpha_{i}\in B \rbrace | \\ & - | \lbrace B\in\mathcal{B} : \alpha_{1}, \dotsc, \alpha_{i}, \beta_{s_{1}}\in B, 1\le s_{1} \le j \rbrace | \\ & + | \lbrace B\in\mathcal{B} : \alpha_{1}, \dotsc, \alpha_{i}, \beta_{s_{1}}, \beta_{s_{2}}\in B, 1\le s_{1} \lt s_{2} \le j \rbrace | \\ & - \dotsb \\ & + ( -1 )^{j} | \lbrace B\in\mathcal{B} : \alpha_{1}, \dotsc, \alpha_{i}, \beta_{1}, \dotsc, \beta_{j}\in B \rbrace | \\ &= \sum_{a=0}^{j}( -1 )^{a}\binom{j}{a}\lambda_{i+a} \end{alignedat} }

となる。ここで

{ \displaystyle \lambda_{s}=\frac{\binom{v-s}{t-s}}{\binom{k-s}{t-s}}\lambda }

より、

{ \displaystyle b_{i}^{j}=\left( \sum_{a=0}^{j} ( -1 )^{a}\binom{i}{a}\frac{\binom{v-i-a}{t-i-a}}{\binom{k-i-a}{t-i-a}} \right)\lambda }

が成り立つ。

完備なデザイン({ \mathcal{B}=\Omega^{( k )} })の場合を考えると、{ b_{i}^{j} }{ \Omega\setminus( I\cup J ) }から{ k-i }個を選べばよいので

{ \displaystyle b_{i}^{j}=\binom{v-i-j}{k-i} }

となる。また{ \lambda }{ t }個を固定したら残りを{ v-t }個から{ k-t }個選べばよいので

{ \displaystyle \lambda=\binom{v-t}{k-t} }

となる。従って

{ \displaystyle \sum_{a=0}^{j} ( -1 )^{a}\binom{i}{r}\frac{\binom{v-i-a}{t-i-a}}{\binom{k-i-a}{t-i-a}}=\frac{\binom{v-i-j}{k-i}}{\binom{v-t}{k-t}} }

が成り立つ。この式は恒等式である。故に

{ \displaystyle b_{i}^{j}=\frac{\binom{v-i-j}{k-i}}{\binom{v-t}{k-t}}\lambda }

が成り立つ。{ \square }

証明の肝は、数え上げを集合算で解釈したことと、特殊な場合から恒等式を導いて利用したことにある。

{ i+j\le t\le k\le v }について以下の恒等式

{ \displaystyle \sum_{a=0}^{j} ( -1 )^{a}\binom{i}{r}\frac{\binom{v-i-a}{t-i-a}}{\binom{k-i-a}{t-i-a}}=\frac{\binom{v-i-j}{k-i}}{\binom{v-t}{k-t}} }

が成り立つ。

所感

あけましておめでとうございます(今更感)

年末から正月にかけて芳沢光雄の「置換群から学ぶ組合せ構造」を読んでいたので、そのほんの触りの部分をまとめてみました。全体的に広く浅くといった内容で、ファクトを参照することも多く、全体像をつかむのには有用ですが、ちゃんと学ぶには別の本が必要かなと思いました。個人的にはアソシエーションスキームが興味深かったので、グラフ理論の章を削ってそっちを深く掘り下げて欲しかったなーなんて。まあでも記述が平易で証明も明確なので楽しく読める良書だと思います。新型の15ゲームは・・・手順が長いのもあって流行らないだろうなぁ。

*1:実はちゃんと見てない(ぇ