Root One

数学中心のブログです。

〇×ゲーム(三目ならべ)の勝率

「〇×ゲーム」といえば、昔、紙の上ではもちろん、グラウンドでも木の枝で線を書いて遊んだ記憶があります。

f:id:likethenovel:20190823033822p:plain

このゲームは、先手と後手がお互い最善を尽くせば引き分けになることが知られていますが、今回は「ランダム」に指し手を選んだとして、

先手勝ち・後手勝ち・引き分け

の比がどうなるかコンピュータを使って実験してみました。

結論1(本当にランダムに指したケース)

コンピュータで100万局対局たせたところ、次の結果が得られました。

先手勝ち = 584557 (58パーセント)

後手勝ち = 288423 (29パーセント)

引き分け = 127020 (13パーセント)

「〇×ゲーム」はランダムにさせばどう考えても先手有利なので、

後手勝率に対して先手勝率が高い数字になるのは驚く結果ではありませんが、個人的には引き分けの確率が想像より低いかなと思いました。

結論2(次の手で勝ちがあれば必ず逃さない場合)

コンピュータをもう少し賢くして、次の手で勝ちがあれば、その手を指せるようにします。また、 次の手に勝ちがない場合は、ランダムに選択します。

100万局の対局結果.

先手勝ち = 686114 (69パーセント)

後手勝ち = 269760 (27パーセント)

引き分け =    44126 (4パーセント)

後手勝率はあまり落ちませんでしたが、引き分けの確率が大きく減って、先手勝率が大きく伸びた感じです。

結論3(一番賢いバージョン)

上のバージョンをさらに賢くして、相手にリーチがかかっている場合、できる限り、相手の次の手でこちらが負けるのを避ける手を指すようにします。「できる限り」というのは、次のケースのように避けられない場合があるためです。

f:id:likethenovel:20190823043248p:plain

100万局の対局結果.

先手勝ち = 311632 (31パーセント)

後手勝ち = 174190 (17パーセント)

引き分け = 514178 (51パーセント)

先手勝率と後手勝率が大きく下がり、引き分けの確率が大幅に上がりました。

まとめ

最善を尽くせば、引き分けが100%になるはずなので、ランダムな指し手によって、究極的結論(先手必勝・後手必勝・引き分け)を予想するのは難しいのかもしれませんが、コンピュータを賢くしていくと、もしかすると意味のある予想ができるのかもしれません。

また、棋力によってパーセンテージが大きく変わる可能性が見て取れます。

例えば、将棋でも、レーティング別に対局した場合の勝ちやすさはもしかすると大きく違うのかもしれません。

囲碁では、コミを何目にすべきかという議論がありますが、これは「棋力」に依存して定めるべきものである可能性もあります。(そうはいってもそんなことしていたら混乱するので、棋力関係せずに統一するのがやはり現実的ですが。)

注:今回の結果は自作プログラミングによるもので、もしかすると決定的な欠陥があるかもしれません。ですので数値は参考程度ということでよろしくお願いします。