Scratch Reversi Engine Competition 【第一回】【第二回】優勝作品
乱数は使ってません
終盤はできるだけ確実に多く取ろうとminimax法を用いています。
それ以外は3つの要素を使って2手先の評価値を求め、minimax法で確実に一番良い手を見つけます。2手先までしか読めないのでからめ手?に弱いです。3つの要素とは、
1.盤面全体の評価関数による評価値
2.その人の番のみの着手可能手数
3.辺のみの確定石のうち角に連なる簡単に求めやすい石の数
2のおかげで終盤以外は一点の攻めに強いですが、範囲的な攻めに弱いです。そしてこのAIが後手になると他のAIにちょっと強いです。
盤面の評価値の出典
Koso Sato, 評価関数を考える, プログラミングティーショップ(2003)
http://www.geocities.co.jp/SiliconValley-Bay/4543/Osero/Value/Value.html.