こんにちは。前回の記事↓で行ったセカンドベストの解析結果を少し深堀します*1。
smooth-pudding.hatenablog.com
この記事は下記のアドベントカレンダーに参加しています。
adventar.org
セカンドベストって何?
ダイソーで売っているとあるボードゲームです。100円とは思えないぐらい面白いゲームです。ルールについては下記動画を見てください。
www.youtube.com
石やボードがしっかりしたつくりのものも別途販売されているようなので、もしダイソーで販売終了しても(ダイソーよりかはかなり値が張るものの)手に入りそうです。
shop.jellyjellycafe.com
後退解析の結果をざっくり
後退解析では、各局面の価値の評価を行いました。ここで局面とは、石の並びと次の手番プレイヤーをセットにして考えたものとします*2。具体的には、すべての局面を以下のいずれかに分類しました。
カテゴリ | 説明 | 総局面数*3 |
Win(n) | n 手で手番プレイヤーの勝利が確定する (n は 0 または正の整数) |
3,842,910 |
Lose(n) | n 手で手番プレイヤーの敗北が確定する (n は 0 または正の整数) |
3,056,738 |
Both | 両者ともに勝利条件を満たしている | 1,299,100 |
Draw | 上記のどのカテゴリにも属さない | 164,279 |
ただし Win(n), Lose(n) は「互いに最良のプレイングを行った場合」が前提となっています。
Both は例えば以下の画像のような局面です。Both になった場合は、直前の手番プレイヤーの勝利となります。
前回「42手の後手必勝」と述べましたが、上記の表現を使うと「初期局面は Lose(42) に分類される」となります。
なお n の最大値は 140 でした。
最良のプレイングでの局面数
局面の分類が完了したので、各プレイヤーが最良の手(=次善手)ばかりを指した場合に、どれぐらい局面にバリエーションがあるのかを数えることができます。結果は以下のようになりました。
初期からの手数 | 局面数 |
0~8 | 1 |
9~11 | 2 |
12, 13 | 3 |
14 | 5 |
15 | 7 |
16 | 9 |
17 | 10 |
18 | 11 |
19 | 8 |
20~24 | 7 |
25 | 9 |
26 | 8 |
27 | 11 |
28 | 10 |
29 | 11 |
30, 31 | 12 |
32 | 17 |
33 | 23 |
34 | 30 |
35 | 42 |
36 | 72 |
37 | 103 |
38 | 147 |
39 | 231 |
40 | 344 |
41 | 800 |
42 | 2016 |
最後の数手は数がそこそこ増えますが、それまではかなりバリエーションが少ないことが見て取れます。特に8手までは一本道のようです。
最善手・次善手をつまみ食い
0手から8手までは一本道ということが分かったので、進行を見てみましょう。また相手がうっかりセカンドベスト宣言を間違えた場合を考えて、「本当は指したい最善手」もついでに見てみます。
0手目(初期局面)
まず初期局面です。説明の便宜のため、図のように各ポジションに1~8の番号を振っておきます。
1手目(黒手番)
1手目はどこにおいても同じなので1通りです。早速「セカンドベスト!」と宣言するギャグは鉄板です。
2手目(白手番)
2手目の次善手は1手目の対角線の位置に置く手です。
本当は指したい最善手は、ポジション1で黒石に重ねる手のようです。これを選べると詰みまで5手短縮できます。
3手目(黒手番)
3手目の次善手はちょうど間の位置に置く手です。
本当は指したい最善手は、ポジション5で白石に重ねる手のようです。これを選べると形勢逆転し、先手の勝ち局面になるようです。
4手目(白手番)
4手目の次善手は最初の黒石に重ねる手です。
本当は指したい最善手は、もう一つの白石があるポジション3に重ねる手のようです。これを選べると詰みまで10手短縮できます。
5手目(黒手番)
5手目の次善手は3手目の対角線の位置に置く手です。
本当は指したい最善手は、ポジション1に三個目として重ねる手のようです。これを選べると形勢逆転し、先手の勝ち局面になるようです。
6手目(白手番)
6手目の次善手はポジション4に置く手です。
本当は指したい最善手は、ポジション1に三個目として重ねる手のようです。これを選べると詰みまで20手短縮できます。
7手目(黒手番)
7手目の次善手はポジション5の白石に重ねる手です。
本当は指したい最善手は、ポジション1に三個目として重ねる手のようです。これを選べると形勢逆転し、先手の勝ち局面になるようです。
8手目(白手番)
8手目の次善手はポジション3の白石に重ねる手のようです。
本当は指したい最善手は、ポジション5に三個目として重ねる手のようです。これを選べると詰みまで16手短縮できるようです。
ちなみに9手目の次善手はポジション1または5に置く手で、本当は指したい最善手はポジション3に置く手のようです(やはり形勢逆転)。
感想
最良ルートを眺めて思ったことを書いてみます。
最初はすこし間をあけて等間隔が強い
最初はどちらも奇数のポジションに石を置いていく手ばかりでした。すこし開けておくことで、相手がどう来ても次の手で対応しやすくなる効果があるのかもしれません。
相手の石に重ねてつぶすのは強い
相手の石に重ねる手は、本当は選びたい最善手で何度も出てきました。相手の石の効果を消しつつ自分の力を得ることができるので、二重に強いといった感じでしょうか。
セカンドベスト宣言の判断をミスると致命的
いずれの局面でも、先手が本当は選びたい最善手を選べたら形勢が逆転しています。これは最善手を見通せるぐらい強い相手だと、1度のセカンドベスト宣言判断ミスで形成が逆転することを意味します。逆に言えば、一つだけ形成を逆転できる手が残るぐらいのバランスで指すのが一番強い、ということかもしれません。
最後に
今回解析により後手が必ず勝てる戦略があることが分かりましたが、これは「このゲームが終わった」ということを意味するのではなく、むしろ「このゲームで遊ぶためのポイントが見えたので、より深くゲームを楽しめるようになった」ということだと思っています。
せっかく後手必勝だと分かったので、今は「絶対に勝てないセカンドベスト」(コンピューターが後手になり、常に最善の動きをしてくる) のゲームを作っているところです。完成したら「くっそ~wwつえ~ww」とか言ってゲラゲラ笑いながら楽しもうと思っています。
ではまた。
*1:今回の記事のために行った追加の解析は、前回の記事で紹介したリポジトリの feature/evaluator ブランチに置いてあります。 GitHub - mat-der-D/second-best-analysis at feature/evaluator
*2:手番プレイヤーをセットにするのは、同じ石の並びでも、次が黒手番なのか白手番なのかで意味が変わりうるからです。
*3:反転や回転で一致するものは同一視します。また石が16個置かれている局面については、プレイヤーとボード上の色を同時に入れ替えることにより一致するものは同一視します。