今回は評価データも更新
巷には、色々なリバーシソフトがあるのだが、評価データの更新機能が搭載されているのはMasterReversiくらいかもしれない。
もっとも、2000年くらいに公開されていたリバーシソフトの中には、ユーザー定義の評価関数用にインタフェースを公開し、そのインタフェースに従って、ユーザーが評価関数用のDLLを作成すれば、そのDLLを評価関数として使用できる様にしていたソフトは幾つもあった筈だ。
しかし、そういったDLLを作成するためには、プログラミングが必須だったのに対して、MasterReversiの評価データの更新機能の場合、別に、プログラミングは必須にはなっていない、という所が大きな違いになる訳だ。
もっとも、MasterReversi的にも、前述の様なDLL作成用のインタフェースは公開してあるので、ユーザー定義の評価関数をプログラミングして使いたい場合には、そういう使い方も出来るのだが、Edaxの場合、ソースコード全般が公開されているので、今時のプログラミングが出来る人なら、そちらをベースに使うかもしれない。
ただし、MasterReversiが公開しているDLLインタフェースは、盤面パターンに対する評価値を算出する為だけのインタフェースになっているので、αβ探索だとかはよく判らない、みたいな人でも、盤面の石の配置を入力として受け取り、その評価値を出力する様な、単純なDLLを作成できるので、Edaxのソースコードを見ても、何をやっているか判らない! みたいな人でも、DLLは作成可能な筈だ。
しかしまあ、作者なら、他人のソフトでしか使えない様なDLLを作成するくらいなら、自分でゼロからリバーシソフトを開発するので、MasterReversiのDLL追加機能は、あまり意味はないかもしれない。
しかし、MasterReversiの場合、パターン評価なんかのパラメータを設定し、学習データとしてデータベースデータを提供すれば、そのデータベースデータから、パターン評価なんか用の重み係数を更新できる機能があるので、こちらについては、使ってみても良いかなあ、みたいな人はいる筈だ。
少なくとも、作者は、この機能を使って、標準添付版の評価データを作成しているのだが、今回も、この機能を使って、更新版の標準添付版評価データを更新する事にしている。
何故、更新するのか、というと、去年は、一年くらいかけて、EdaxBoardとのエンジン対局を行ったので、その対局データを評価データにも反映しておきたいし、現行版の評価データには、インターネットで運営されていた対局サイトの棋譜データも、学習データとして使用しているのだが、今となっては、この棋譜データのレベルが低すぎて、評価値に悪影響を与えている感じもしないでもないからだ。
と、いう事で、今回は、評価データも更新する事にしていて、その学習データは、基本的には、現行版の学習データにもした、序盤ランダムのセルフ対局データとBook生成用のエンジン対局データのみにしようとしている。
もっとも、セルフ対局データについては、今回、終盤20手は完全読みで置換したし、既に書いた様に、Book生成用のエンジン対局データは、終盤28手を完全読みで置換してある。
なので、現行の評価データでも、序盤ランダムのセルフ対局データとBook生成用のエンジン対局データは使っているのだが、今回は、それらについても、品質が向上している筈だ。
もっとも、現行版の評価データの生成方法としては、上記の様な学習データで学習させて生成した後、FFO関連の対局データを使って、少し評価データを偏向させている。
つまり、特に、FFO60-79の処理時間を短縮させたかったので、その完全読み中に発生する局面データを対局データとして出力しておき、最後に、その対局データを学習させる事で、評価データをFFO60-79の局面を正しく評価できる様にしてあるのだが、当然のことながら、こういったやり方は邪道だ。
なので、今回は、そこまでアコギなことをやるのはやめることにしているのだが、折角あるFFO関連の対局データは、前述の学習データと一緒にして、学習に参加させてみている。
その結果としては、やはり、学習データにいれないよりは入れた方が、特に、FFO60-79の処理時間を短縮してくれているので、今回も、学習データに入れることはする事になる筈だ。
ただし、今回は、普通の学習データに含めて学習させることになるので、FFO性能を向上させるために、評価データを歪めることにはならない筈だ。
その分、FFO60-79の処理時間は現行版よりは劣る感じになっているのだが、現行版の評価データの場合、FFO性能を上げるために、評価データの重み係数を無理やり調整してある関係で、普通の対局時の評価値が少し変になる場合があったのだが、今回は、そういう事にはならない筈の今日この頃だ。

