テスト

細かい機能の最適化をあきらめて、探索アルゴリズムを実装してhttp://www.radagast.se/othello/ffotest.html FFO endgame test suiteにある終盤解析を実際にやってみた。
最前手は正解を出力したが、そこまでの時間は以下の通りだった。

手の順位付けを最低限の事しかしていない上に効率性よりバグが入らないようにしているだけだが、あまりにも見劣りするのでどうしたものかと思う。せめてZebraの6倍以内の時間に収まっていればSPUの並列化で手が届くような気になれるのだが。

Zebraのソースコードを読むと、配置のパターンから解析を行っているのだが、そのために膨大なテーブルをメモリ上に持ち、良い手から探索を行っていた。
この方法は

    1. SPUにはそのようなメモリはない
    2. オセロ自体に興味がないのでパターンをつくる気がしない

ということで、とても私にはやろうと思えない。

まあ他人の手法をパクるだけではつまらないので、もともとそのままコピーする気はないのだが。