前回まででだいぶ良くなってきたAIですが、まだ気になる点があります。
それは、
ワンパターンすぎる。
ということ。
ランダム要素が少なすぎるので、一度勝ちパターンを覚えてしまえば負けることはありません。
ですから、今回はAIにランダムに手を打たせる方法を考えてみようと思います。
1. いかにしてランダムに手を打たせるか。
結構な悩みどころです。
ときどき第1候補の手ではなく第2候補や第3候補の手を打たせるようにすればいろいろな手を打つようになるでしょうが、弱くなるのが目に見えてます。モンテカルロ木探索という乱数を使った探索をメインに置いたアルゴリズムもあるのですが、これで強いAIを作るのもなかなか難しいです。
で、思いついたのがこれ。
評価値を付ける際に、ランダムに手を間引いてしまいます。
これだけだと弱くなりそうですが評価値を付けなかった分は高速化されます。その分だけ先読みする手を増やせばうまく相殺できるんじゃないかと考えたわけです。
2. 実践
実際に見てみましょう。
いい感じに手がばらついていますし、さほど弱くなった印象は受けません。
今回のAI(4号)と前回のAI(3号)を対戦させてみると、前回の方がやや勝っている感じがしますが許容範囲内じゃないでしょうか。
とりあえず、今回はここまで。
続くかもしれない。