GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

上の続き

経過クロックを計るコードを追加したんで、その影響で評価関数全体の処理時間も延びてます。まぁ、ここは後で削除するから無視するって事で。

16:37:46 @ LinearEvaluator2::printReposrt_impl() > 局面評価全体 平均13944.889523クロック、 二駒の相対位置評価 平均13060.134094クロック、 二駒のパターンの正規化 平均6936.814890クロック

「先後反転・左右反転で同じ形になる複数の二駒の相対位置関係を、常に特定の位置関係に変換する」処理の事を「パターンの正規化」と呼んでいますが、そこが評価関数の処理時間の50%ほどを占めている様です。

んで、処理内容を見てみると分岐が何重にもなっているし、何とかしないと遅そうな部分ではあります。

と言うか、既に対処も考えてあって、パターンの正規化前後の対応は事前に(局面評価時ではなくもっと前に)分かっているので、事前に計算してどっかに保存しておけば、パターンの正規化時には保存した所からデータを持ってくるだけですみそうです。

これなら処理時間はほとんどかかりませんし、メモリをちょっと占有するだけでOKなはず。

まぁ、他にも何か手はあるかもしれないんで、もうちょっと対案を考えてみてから実装します。