三山崩しゲーム
下図のように、3行の目からなる盤があり、3つの行の上に3つの駒が置いてある。
2人のプレイヤーが交互に、適当な1つの駒を適当な数の目だけ右にずらしていく。
あがりの目の上の駒は、それ以上右に動かせないものとする。
最後に、駒を動かした者を勝ちとする。
実際に、Flash で、駒を動かして遊んでみよう!
Flash 版は、こちら HTML 版は、こちら をクリックしてください。
セキュリティ保護のため、コンピュータにアクセスできるアクティブ コンテンツが表示されないように、
Internet Explorer で制限していると、HTML版、Flash版ともに見られません。ブロックされている
コンテンツを許可してください。(すみません、自己の責任でお願いします。)
このゲームは、3つの山に積まれた硬貨を交互に取っていき、最後の硬貨を取ったもの
が勝ちとする「三山崩し」の一つの変形バージョンである。
上記のゲームは、駒の配置から、実は「先手必勝」のゲームになっている。「先手必勝」
とは、もちろん「先手が正しく応対すれば、必ず勝つことができる」という意味であり、先手
なのに、誤った応対をすれば、当然勝つことはできない。
さて、この先手必勝のゲームで先手が確実に勝つために、どのような応対をすればいい
だろうか?
この攻略には、整数論という数学が用いられる。
今、整数Xを、2進法展開して、
X=X02n+X12n−1+X22n−2+・・・+Xn−12+Xn
と表す。このとき、その係数を抜き出して、順序対
(X0,X1,X2,・・・,Xn−1,Xn)
を考える。
上記の例において、Aの行にある駒は、あがりまで、駒を7つ進めなければならない。
このことを、A≡7と表す。7=1×22+1×2+1 なので、順序対(1,1,1)が定まる。
同様にして、B≡9、C≡5 より、それぞれ順序対(1,0,0,1)、(1,0,1)が定まる。
長さの異なる順序対を、先頭に0をいくつか加えることによって、同じ長さの順序対に
変形することができる。
このようにして、A、B、Cの各行に対して、次のような順序対が対応する。
A≡(0,1,1,1) B≡(1,0,0,1) C≡(0,1,0,1)
ここで、A、B、C それぞれの1番目、2番目、3番目、4番目の数の和を、順序対
(P,Q,R,S)
で表す。
P=0+1+0=1、Q=1+0+1=2、R=1+0+0=1、S=1+1+1=3 なので、
順序対は、(1,2,1,3)となる。
GAME OVER のとき、この順序対は、(0,0,0,0)となる。
したがって、順序対(1,2,1,3)から順序対(0,0,0,0)に変遷していく過程の中で、
先手がどのような戦略をとればいいのかということになる。
このとき、次の事実は重要である。
駒に移動があった場合、2進法展開の性質から、A、B、Cの何れかにおいて必ず、
すくなくとも1箇所において、0から1、または、1から0 の変化がある。
このとき、P、Q、R、Sの偶数・奇数が変化する。
よって、先手は、P、Q、R、S全てが偶数である状態で、後手に手を渡せば、必ず勝つ
ことができる。
なぜなら、後手は、A、B、Cの何れかで駒を動かすと、P、Q、R、Sの少なくとも一つは
必ず奇数となり、全てが偶数の最後の順序対(0,0,0,0)には到達しえないからである。
以上のことを念頭において、先手必勝の手順例を示そう。後手の対応は、ゲームが早く
終わるようにしてある。
先・後 | A | B | C | PQRS | 手 順 | |
0 | 始め | 0111 | 1001 | 0101 | 1213 | |
1 | 先手 | 0010 | 0222 | Bの行の駒を7つ進める | ||
2 | 後手 | 0000 | 0111 | Aの行の駒を7つ進める | ||
3 | 先手 | 0010 | 0020 | Cの行の駒を3つ進める | ||
4 | 後手 | 0000 | 0010 | Bの行の駒を2つ進める | ||
5 | 先手 | 0000 | 0000 | Cの行の駒を3つ進める |
上記のゲームは、P、Q、R、Sの初期の状態が、「少なくとも一つは奇数」だったので、先
手必勝であった。もし、P、Q、R、Sの初期の状態が、「全て偶数」の場合は、後手必勝とな
る。また、先手必勝のゲームで後手をひいても、上記の理論が分かっているあなたは、先
手の誤った対応が直ぐ分かり、勝利に転じる機会も増えるはずである。
また、上記理論において、「A、B、Cの3行」ということに本質的な意味はない。実は、何
行あっても、上記理論は成立する。
練習問題として、4行の場合を下記に掲示しておく。教室の黒板などで、級友を相手に
是非、この理論が正しいことを実証してみて欲しい。
以下に、先手必勝の手順を示しておく。(後手の対応は、ゲームが早く終わるように設定)
先・後 | A | B | C | D | PQRS | 手 順 | |
0 | 始め | 1000 | 1001 | 0110 | 0100 | 2211 | |
1 | 先手 | 0101 | 2202 | Cを1つ | |||
2 | 後手 | 0000 | 1201 | Bを9つ | |||
3 | 先手 | 0001 | 0202 | Aを7つ | |||
4 | 後手 | 0000 | 0102 | Dを4つ | |||
5 | 先手 | 0001 | 0002 | Cを4つ | |||
6 | 後手 | 0000 | 0001 | Aを1つ | |||
7 | 先手 | 0000 | 0000 | Cを1つ |
上記のゲームでは、駒は自由に好きなだけ動かすことができたが、本来の「三山崩し」に
おいては、駒の動きに制限を加えることが多い。
下図のように、3行の目からなる盤があり、3つの行の上に3つの駒が置いてある。
2人のプレイヤーが交互に、適当な1つの駒を1つか2つか3つの目だけ右にずらしてい
く。あがりの目の上の駒は、それ以上右に動かせないものとする。
最後に、駒を動かした者を勝ちとする。
このようなゲームの場合、これは先手必勝と言えるであろうか?
A、B、C において、あがりの目までの目の個数が、それぞれ a、b、c のときの駒の状態
を (a、b、c)で表すことにする。
駒の状態が次の場合に後手がどう駒を動かしても先手が勝てることは明らかであろう。
(0、1、1) 、 (0、2、2) 、 (0、3、3) 、 (1、2、3)
なぜなら、順序対がそれぞれ (0,2)(2,0)(2,2)(2,2)で、何れも偶数であるからで
ある。
したがって、先手必勝となるためには、上記のような駒の状態にして後手に手を渡せば
よい。
ところで、後手が動かした目の数に対して、同じ駒で足して4となるように先手が対応す
れば、必ず同じパターンが繰り返される。(ただし、動かす前の目の数は4以上。)
したがって、駒の状態を
(4k、4m+1、4n+1) 、 (4k、4m+2、4n+2)
(4k、4m+3、4n+3) 、 (4k+1、4m+2、4n+3)
であるようにして後手に手を渡すことができれば、先手必勝である。
さて、上記の図において、駒の状態は、(7、9、5)である。すなわち、
(7、9、5)=(4・1+3、4・2+1、4・1+1)
なので、Aの駒を3つだけ動かすと、(4k、4m+1、4n+1)のタイプにして後手に手を
渡すことができる。
したがって、先手必勝といえる。
(参考文献:ア・ヤグロム、イ・ヤグロム 著 筒井孝胤 訳
初等的に解いた高等数学の問題(V)(東京図書)
藤村幸三郎、田村三郎 著 数学歴史パズル (講談社))