Powershell(オセロ013_ロジック_6:ロジックの組み合わせ)
■石を置くロジックについて考えてみる(その6)。
オセロのロジックの6回目。
今まで、下のように5つのロジックを考えてみた。この中で勝率が高い1: 四隅優先、3: 最多数、5: 3手先の勝ち筋を組み合わせたものを試してみる。普通に考えれば78%以上の勝率になると思うけど、どうだろう。
ロジック | 勝率(±2%くらい) |
1: 四隅優先 | 78% |
2: 一区画優先 | 54% |
3: 最多数 | 65% |
4: 途中(5回)まで最少数 | 51% |
5: 3手先の勝ち筋 | 68% |
ロジックとしては、まず最も石を多く裏返すことができる石の位置をリスト化し、そのリストから3手先でも勝っている確率が高い手を選ぶ。ただ、勝率から考えると四隅をとる影響が最も高いので、四隅を一番の優先とする。コードはこれまでのものを組み合わせただけ($logic_num -eq 6)。
ゲームは、ロジック組み合わせvsランダムで行う。
黒(ロジック組み合わせ)vs白(ランダム)で5000回ゲームを行った結果は、次のようになった。
黒 4263 vs 白 635 vs 引き分け 102(勝率85%)
予想通り最も勝率は高くなった。
最終的な黒の石の数を見ると、黒45のゲームが多くなっている(下のグラフ、250ゲーム以上)。四隅優先のものや最多数のものよりピークの数が多いので、それぞれの効果が足されて出ているよう。
四隅に置いた数については、四隅優先と同じくらいになった。そこを一番の優先にしているので当然だろうけど。
今考えつく中では、このくらいの勝率が限界かなー。今回でロジックについては一端きりにする。