ゲームAIに挑戦してみよう!

○×ゲームをご存知でしょうか。小さい頃に砂場やグラウンドで遊んだという人も多いと思います。 このゲームは両者が最善を尽くすと引き分けになることが知られていますが、ちょっと気を抜くとあっという間に決着がついてしまうところが面白いところですね。 ○×ゲームはとても単純なので、自動でプレイするAIも、簡単に実装することができます。 そこで今回はその手始めとして、○×ゲームで、両プレイヤーが完全にランダムに打った場合に先手が勝つ確率を、プログラムを書いて求めてください。

ヒント

パターンは最大でも9!=362880通りなので、しらみ潰しに勝敗を確認することができます。実際には途中で決着がついたり、対称性があったりして、もっと少なくなります。 盤面をプログラムでうまく表現すること、再帰的なプログラムで1手1手を計算することがポイントです。

問題の解答と解説

続きを読むには会員登録をしてログインをして下さい

Pocket