勝敗が周期34で変化するゲーム
先日、いつものように夜眠れずに布団の中で数学のことを考えていたところ、ふと面白いゲームを思いつきました。
ルールは簡単です。のマス目に2人で交互にのタイルを置いていきます。タイルは重なってはいけません。先に置けなくなったプレイヤーが負けです。
布団の中でしばらく考えたところ、まずが2以上の偶数の時は先手必勝であることがわかりました。必勝手順は次の通りです。
(1) 先手は最初に中央の2マスにタイルを置く。
(2) その後は後手が置いたタイルと左右対称な位置に置くことを繰り返す。
こうすれば先手が置いた後は常に盤面が左右対称になるため、先手が置けなくなることは決してありません。
次にが奇数の時を順番に考えていくと次のことがわかりました。
・は先手必勝。
・は後手必勝。
・は先手必勝。
・は後手必勝。
・は先手必勝。
・は先手必勝。
これらは単純に全ての手のパターンを考えることで得られます。
ここまでは特に規則性が無いように見えたので、何か手がかりになる情報がないかと思いネットで調べてみました。すると次のような記述が見つかりました(要約)。
さすがにこれには驚きました。周期34で繰り返すなんて誰が予想できるでしょうか!
そういうわけで今回はこの周期性(Guy-Smith periodicity)をDawson's Kaylesの場合に限って証明したいと思います。
Grundy値について
今回の証明の鍵となるのが、ゲームの局面について定まるGrundy値と言う概念です。
ここでは「有限の手数で勝敗が決することが保証され、確率的要因が絡まず、両者の打てる手が対等で、盤面の情報が全て共有されており、打てる手が無くなった人が負ける」というタイプのゲームのみを考えることにします。Dawson's Kaylesはこのようなゲームの一例です。あとで見ますが、この種のゲームの局面についての命題を示す時は「ゲームが終わるまでの最長手数」に関する帰納法を使うことができる、ということに注意しましょう。
ゲームの局面について、局面がから一手で得られることをと表記します。
このとき局面が後手必勝であることはと同値です。なぜなら(上に述べた帰納法で)が先手必勝となるのはで後手必勝のものが存在することと同値で、これは帰納法の仮定からなるが存在すること、すなわちそのがにならないことと同値だからです。
Grundy値はただの数字の割り当てではなく、際立った性質を持っています。それは「局面の直和」に対してうまく振る舞うということです。2つの局面の直和とは「2つの局面を並べた*1ゲームの局面」のことです。例えばのDawson's Kaylesの初期局面をとすると、の中央にタイルを置いた局面はと書くことができます。
証明. 帰納法で示す。はまたはと書くことができる。よって帰納法の仮定より
と定めた時
に注意すれば、示すべきことはと言い換えることができる。以下これを示す。
の2進表記の桁数をとする。自然数の2進表記の下から桁目をと書くことにすると
なので, , としてよい。するとなので、の定義を考えればあるがあってとなる。移項してなのでがわかった。
周期性の証明
さて、Dawson's Kaylesに話を戻しましょう。と書くことにします。定義よりです。
これから示すGuy-Smith periodicityというのは大雑把に言うと「Grundy値がある範囲で周期的になっていればそこから先ずっと周期的になる」という定理です。これにより、数の小さい範囲で具体的に勝敗を計算して周期34の部分を見つけるだけで、その先の周期性まで示すことができるというわけです。
証明. についてであることを帰納法により示す。から一手だけ打った後の局面は、を満たすある非負整数に対する直和である。よってGrundy値の定義とSprague-Grundyの定理より
ここでよりの少なくとも片方は以上なので、としてよい。すると帰納法の仮定よりなので、とおけば
より、という分解においてと仮定しても一般性を失っていない。よって上式は
に等しい。
具体的な計算
それではDawson's KaylesのGrundy値が本当に周期34を持つのか確かめてみましょう。愚直に計算すると(コンピュータに計算させると)以下の結果が得られます。字が細いので別タブなどで拡大して見てください。
であるものは桃色で示されています。青で示したの部分はを満たしています。ゆえに先ほど示した定理により、この後もずっと周期34で繰り返すことがわかりました!
感想
ところで上の表を見ていると、私にはこの周期性が「数列の途中で偶然生じたものがGuy-Smith periodicityによって繰り返されてしまった」というものには思えず、最初から何か別の理由で周期性が生じているのではないか、という感覚が拭きれません(数学的ではありませんが)。青で塗られた周期的な列は、偶然できたにしては長すぎるように感じます。
今のところGrundy値の周期の長さを計算する方法は、上のように愚直に計算していって周期らしきものを見つける以外ありません。しかし私はいつか必ず34という数の本当の理由が明かされる日が来ると信じています。
*1:一度にどちらか一方だけに打てる。