月刊「理系への数学」数学パズルにトドメをさす?! 今月のFlash
第16回
2011年 9月号
必勝法を探せ!(その2)〜無限ループ地獄へようこそ〜
通行止めとバイパス路をうまく使って逃げ切れ/追い詰めろ

目的

6×6(頂点の数では7×7)の格子状の盤面の頂点に1つずつコマを置き、線で結ばれた隣り合う頂点に1歩ずつ交互に進むというルールでの鬼ごっこゲーム(将棋やチェスで相手の駒を取るように、相手のいる頂点に移動したら勝ち)を行うとき、盤面に設定された「通行止め」や「バイパス路」が、勝敗属性(「先手必勝」「後手必勝」「千日手」の種別)にどのように影響を与えるかを探ります(局面分析モード)。

また、対戦ゲームモードでは、通行止めやバイパス路が時々ランダムに場所を変えるという条件において、この盤上鬼ごっこでプログラムと対戦します。

局面分析モード

設定された盤面の状態から、黒先手で盤上鬼ごっこを行った場合に、「先手必勝」「後手必勝」「千日手」のどれになるかを分析し、結果を表示します。

通行止めとバイパス路はそれぞれ1箇所ずつ設定できます。(ただし、通行止めは外周上には設定できません。)また、先手・後手のコマの配置も変更できます。

操作方法

・外周以外の各辺の中央をクリックすると、その場所に通行止めを設定できます。(既に設定されている箇所をクリックすると解除されます。)

・各単位格子の中央をクリックすると、対角線状のバイパス路が設定されます。最初にクリックした際は右下がりのバイパス路となり、同じ場所をクリックすると「右下がり→右上がり→解除」の順に変化します。また、バイパス路が設定されている状態で別の格子の中央をクリックすると、設定されていたのと同じ向きのバイパス路がその位置に移動します。

・先手/後手のコマは、ドラッグ&ドロップで移動させることができます。

・盤面に1回変更を加える毎に、対応する必勝属性が表示されます。ただし、通行止め/バイパス路を変更する際には、コマの配置パターン全てに対応する必勝属性のテーブルを更新するので、少し時間がかかります。(コマのみを移動した場合は、即座に表示されます。)

対戦ゲームモード

通行止めとバイパス路が1つずつ配置された盤面で、プログラムと対戦します。

通行止めとバイパス路については、ある時間経つと別の場所に移動します。必敗の状況、もしくはそのままでは逃げ続けるしかない状況であっても、移動先の通行止めやバイパス路を使用すると、逃げ切れたり形勢を逆転できることがあります。移動する8ステップ前から移動元と移動先が赤と青にハイライト表示され、移動のタイミングもカウントダウンで示されるので、先を読みながらうまく相手の追跡をかわし、相手を追い詰めて下さい。

操作方法

・プログラムが先手、あなたは後手でスタートします。あなたの手番でコマを動かす際は、移動先をクリックして下さい。

・盤面の下の数字は両者の歩数の合計、右側のプレイヤー表示の下の数字はそこまでの両者の勝利回数を示しています。

・勝敗が決した後は「リトライ」をクリックすると次の対戦が始まります。また対戦の途中で「ゲームをリセット」をクリックすると、その対戦を放棄するとともに、そこまでの対戦成績もリセットした上で、最初からゲームを再開します。

「鬼」について

ここでは、双方がバイパス路を使用しないとした場合に勝つ可能性のある者、すなわち、自分の手番で移動する直前に相手との間の(バイパスを通らない)道のりが奇数歩となるプレイヤーのことを「鬼」と呼んでおり、画面右側のプレイヤーの欄に、その時点でどちらが鬼であるかを表示しています。両者が正方形の盤面の対角の位置からスタートする時点では、後手である「あなた」が鬼です。

どちらかのプレイヤーが1回バイパス路を通る毎に、鬼は交代します。現時点で鬼ではないプレイヤーが勝つためには、どこかで一度バイパス路を通る必要があります。

プログラムの戦略

あなたは、通行止めやバイパス路が移動する前に、ハイライト表示とカウントダウン表示により移動先とタイミングを知ることができますが、プログラムは基本的にその時点での盤面の状態がそのまま続くものとして次の手を選択しています。したがって、先読みの可能なあなたの方がプログラムより有利な立場にあるといえます。

プログラムは、必勝/必敗/千日手の分析をした上で、必敗の場合はひたすら逃げ、必勝や千日手の場合はその状態を維持しながらなるべく相手に近づく方向に移動します。ただし、必勝や千日手であって、現時点でプログラムが鬼でない場合は、必勝や千日手の状態は維持しつつもまずはなるべくバイパス路に近づく方向への移動を選択します。