寝返り将棋のルールを、AI 同士の対局で決めた:効いた 1 つの変更と、壊れた 6 つの案

English version

寝返り将棋 制作の記録 / 2026年9月

寝返り将棋は、6×6 の盤で、将棋の駒を使って、オセロのように挟んで裏返すゲームです。挟まれた駒は敵に寝返り、同時に成ります。成った駒の新しい動きで、さらに挟みが成り立てば、続けて裏返ります。これが連鎖です。

ルールを決める数字は、十個ほどあります。盤の広さ、持ち駒の数、どの方向で挟めるか、連鎖は何段まで、など。これを勘で決めず、AI 同士の対局を何十局も回して、数字で測って決めました。この記事は、その記録です。うまくいった変更は 1 つだけで、残りの案は、ほとんど壊れました。壊れ方も、残しておきます。

数字は、ゲームのリポジトリの README に残した測定の記録(2026 年 9 月 13 日時点)から書いています。AI 同士の対局で測ったもので、人間同士の対局での釣り合いは、まだ十分には確かめられていません。

何を、どう測ったか

AI は、先読みの探索(アルファベータ探索)で動く自作のものです。深さ 3 の AI 同士を戦わせて、次の数字を数えました。

案を並べて比べるときは、1 案あたり 40 局。最終の数字は、100 局で出しています。同じ測定は、README の手順(npm run report、npm run sweep)で、誰でも回し直せます。

最初のルールでは、ほとんど何も起きなかった

最初は、駒の「利き」(将棋で動ける方向)の向きだけで、挟めるかどうかを判定していました。AI 同士で回すと、反転が起きた打ち手は 2% だけ。平均 16 手で終わり、先手が 71% 勝ちました。裏返すゲームなのに、ほとんど裏返らなかったのです。

そこから 1 つずつ、ルールを変えて測り直しました。

段階反転が起きた打ち手平均手数先手勝率
当初(利きの方向のみ・空の盤から)2%16 手71%
縦横斜めの全 8 方向にした8%——
初期配置を、陣形にした—29 手—
玉の隣を、守るようにした42%51 手33%
先手に、歩 1 枚のハンデ42%61 手47%
盤の端を、挟みの終わりにした81%53 手59%

先手勝率が、71% から 33% に、47% に、59% に動いているのは、ルールを変えるたびに、有利不利が入れ替わったからです。1 つの変更が、別の部分の釣り合いを崩すので、1 つ直すたびに測り直す必要がありました。

いちばん効いたのは、「盤の端も、挟みの終わり」

相手の駒が続いた先が盤の外なら、それも「挟んだ」と数えます。端に追い込まれた駒は、まとめて寝返ります。この変更で、反転が起きた打ち手は 42% から81% に増えました。

この案と、ほかの案を、同じ条件(各 40 局)で並べて比べたのが、次の表です。

案1 手の反転枚数3 連鎖以上が出た対局リード交代
変更前0.7615%7.0 回
盤の端を、挟みの終わりに2.5185%7.4 回
+打った駒も出世3.0680%9.9 回
打った駒も出世、だけ0.7213%5.0 回
連鎖の上限を 3 に0.718%5.8 回
60 手で駒数決着0.693%4.8 回

「打った駒も出世」を足すと、反転はさらに増えます。ただ、リード交代が 9.9 回まで上がって、毎手ひっくり返る展開になりました。それでは将棋側の戦略性が薄れるので、入れていません(設定の値を 1 つ変えれば、いつでも試せるようにしてあります)。

試して、やめた案

同じやり方で測って、いまの設定より悪かったものを、同じ失敗を繰り返さないために残してあります。

案何が起きたか
駒の本来の利き以外は、1 マスだけ挟める3 連鎖以上が出る対局が 95% から 13% に激減。挟める距離そのものが、連鎖のエンジンだった。
5×5 の盤1 手の反転は 2.88 枚から 5.99 枚と派手になったが、先手勝率が 70% で崩れた。手数も 35 手と短い。
玉のまわりを守るルールを外す平均 17 手で終わり、先手勝率 95%。守りの駒が一斉に寝返って、玉が裸になる。
連鎖の上限を 8 に現状とほぼ同じ(1 手の反転 2.86 枚と 2.88 枚)。上限 5 は、ほとんど効いていなかった。
打った駒も、大量の寝返りで成る反転は増えるが、リード交代が 9.9 回に上がり、毎手ひっくり返る。
60 手で駒数決着3 連鎖以上が出る対局が 3% に激減。

この表で、いちばん学びが大きかったのは、「連鎖の上限を 8 にしても変わらない」でした。上限を上げれば連鎖が増えそうに思えます。測ってみると、結果はほとんど変わらず、上限の 5 は、ほとんど効いていませんでした。実際には効いていない数字を、いじるところでした。

玉のまわりを守るルールは、外せない

このゲームでは、自分の玉に隣り合う駒は、寝返りません。玉のまわりが、安定した守りの場所になります。このルールを外した実験が、上の表の 3 行目です。平均 17 手、先手の 95% 勝ち。守りの駒が一手で全部寝返って、序盤で一方的に玉が取られました。

ルールの説明では、地味な一文です。しかし、これが無いと、ゲームが成り立ちません。

いまの数字(AI 同士 100 局、深さ 3)

指標値
平均手数52.7 手
盤の埋まり率61%
打つ手のうち、反転が起きる割合81%
1 手あたりの反転枚数3.08 枚
3 連鎖以上が出た対局87%
4 連鎖以上が出た対局38%
リード交代の平均回数10.4 回
一度もリードが入れ替わらない対局0%
負けた側も、一度はリードしていた対局98%
勝負が決まった時点(手数のうち)81% の地点
先手の勝率61%

盤の色が何度も入れ替わって、最後までもつれます。それでいて、運だけのゲームにはなっていません。深さ 3 の AI は、深さ 2 の AI に、24 局中 20 局勝ちました(先手でも後手でも)。先を読めば勝てる、ということです。決着の 98% は玉を取ったもので、「挟むのは手段、将棋の勝ち方が目的」という関係も保たれています。

まだ解決していないこと:先手と後手の差

最終の測定で、先手の勝率は 61% でした(途中の測定では 59% でした。別の測定なので、数字が少し違います)。50% から 11 ポイントずれています。ハンデの付け方を 5 通り測りましたが、これより明確に良いものは、見つかっていません。

ハンデ先手の勝率
無し33%
先手の持ち駒に、歩 +1(現行)61%
先手の盤上に、歩 +138%
先手の盤上の歩 1 枚を、持ち駒に移す64%
先手の持ち駒に歩 +1、かつ、後手の盤上に歩 +127%

詰められない理由は、駒が 1 枚単位でしか置けないことに加えて、同じ「歩 1 枚」でも、置く場所で価値が全く違うことです。点対称な位置への同じ追加が、一方では +5 ポイント、もう一方では −34 ポイントになりました。細かい足し算では、50% に寄せられません。

実戦では、対戦相手を決めるときに、レーティングの低い側を先手にしています。弱い側が、有利な先手を持つので、差は部分的に埋め合わされます。それでも、解決とは言えません。人間同士の対局での確認も、これからです。

分かったこと

感覚で「面白そう」と思った変更は、測ると、半分は壊れていた。

同じ「測る手を用意する」考え方で、すし積むの寸法を調整した記録は、穴子の記事に書いています。

この記事の数字は、寝返り将棋のリポジトリの README にある、2026 年 9 月 13 日時点の測定記録から書きました。遊べるのはこちら、紹介は作品のページです。

この話に出てくるもの

ほかの記録

コメント

感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。

押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。