T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« ロストテクノロジー? | トップページ | まるで錬金術師の様に »

シャレになっていなかった

今は、macOS版MRWorkerの開発フェーズで、Windows版からコードを移植中だ。同時に、MasterReversi本体の評価精度の向上を目指す改良も行っているのだが、Ver1.5.1用の評価データは再現できない事が判った。

昨日書いた様に、Ver1.5.1用の評価データはFFOテストとの相性が良いので、コレを使うと、FFOテストでは過去最高の性能を出せる。

ここの所、新しい評価データを作成してみているのだが、FFO40-59については、Ver1.5.1用を超える性能を出せるモノも作れているものの、FFO60-79については、劣るモノしか作れなかった。

なので、とりあえず、もう一度、Ver1.5.1用の評価データを作成し、少しずつ、構成要素を変更していく格好で、より良い評価データを作成しよう! と、言う事にした訳だ。

しかし、使用する教師用データベースはバックアップしてあったので、それらを使って、再度、Ver1.5.1用の評価データを作成してみたものの、FFOテストでは、現在作成中の評価データ程度の性能しか出なかった。

評価データ生成用の処理ルーチンについても、過去に何度か改変してきた事から、それが影響しているのかなあ、と、思った作者的には、Ver1.5.1用の評価データを作成した筈のMasterReversi Ver1.5.1のバックアップを持ってきて、それを使って作成してみた。

しかし、結果は似た様な感じで、どうしても、Ver1.5.1に同梱してある評価データほどのFFO性能は出なかった。

と、言う事で、作者的にも、二度と、Ver1.5.1用の評価データは生成できない事が判明したのだが、その理由は、評価データ生成用の処理コードの中にある、探索枝刈り用データの生成処理にバグがあったからだ。

具体的には、生成用のコードはマルチスレッド動作させていて、それらのスレッドに対して、10対局分ずつ対局データを渡してデータを生成させ、終わった後に、それらの結果を合成する処理をしているのだが、スレッドに対してデータを渡した後、その終了を確認する前に、合成処理を実行していた。

なので、まだ、最後の10対局分の処理が終わっていない段階で、合成処理が行われる事になるので、意図していたデータと比べると、正しくない探索枝刈りデータが出力されてしまっていた。

そんな処理ルーチンも、4コア8スレッドのマシンで実行していた頃には、最大80対局分のデータが異常になっていただけだったのだが、今現在のメインマシンは12コア20スレッドなので、意図しないデータが反映される数が2倍以上に膨れ上がっていた事になる。

と、言う事で、MasterReversiの場合、探索枝刈りがイマイチかなあ、と、言い続けてきていた割には、その根本となる、データの生成処理は疑っていなかった。

これは、問題となるデータは非常に少なかったので、大体は、出力されたデータで、普通に動作している様に見えたからなのだが、FFOテスト的には、Ver1.5.1相当の評価データが生成できない事から、影響はそれなりにあったのかもしれない今日この頃だ。

ちなみに、今日の時点で、上記の不具合は修正したのだが、その結果として、Ver1.5.1相当の評価データが生成できたのか、というと、出来ていない。

これは、Ver1.5.1用の評価データを生成していた時に、既に、上記のバグは存在していたので、Ver1.5.1用の評価データは、その影響から、偶然、良い方向に転んで、高いFFO性能を出していたから、という事になる筈だ。

なので、作者が意図した評価データを作成できる様になったからといっても、Ver1.5.1と同様の性能は出せなかったのだが、これで、探索枝刈りについても、アンダーコントロール! な感じにはなった筈だ。

つまり、更に、色々な評価データを生成して行けば、今度こそ、意図して作成したデータで、最高性能を出せる様になるのかもしれない今日この頃だ。

« ロストテクノロジー? | トップページ | まるで錬金術師の様に »

2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google