スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« ここで一週間休みつつ | トップページ | プラスアルファは可能か? »

ベンチマーク対応とか

この一週間はブログは休みつつ、EdaxとMasterReversiとのエンジン対局は継続しつつ、作者的にはMRSolverでのFFOテスト性能を上げる算段をしていた。その結果、一応、上げる算段は付いたのだが、Okuhara氏の手によるAVX2版Edaxの性能も、結構、向上したので・・・

今現在、MasterReversiのホームページにリンクを貼ってあるFFOテスト結果のページには、MRSolverの性能と共に、比較対象として、Edaxの64Bit版とAVX2版の性能も載せている。

で、MasterReversiの初版の頃から載せているFFO40-59の性能については、MRSolverの64Bit版の性能が221.7秒、AVX2版の性能が181.8秒であるのに対し、Edaxの64Bit版の性能は229.5秒、AVX2版の性能は192.9秒、という事になっている。

なので、FFO40-59については、64Bit版、AVX2版の双方で、MRSolverの性能の方がEdaxの性能よりも良い、という事になっているのだが、ここで使っているEdaxというのは、64Bit版については現時点でも最新版なのだが、AVX2版については、この測定を行った後、更新されている。

そして、その更新版を使って同じPCで性能を測定してみた所、FFO40-59については、何と、173秒くらいの数字が出てしまった訳だ。

と、いう事で、作者的には、AVX2版MRSolverのFFO40-59の性能についても、向上させようとしてみた訳なのだが、結論から書くと、現時点では、最高168秒の数字は出る様になっている。

つまり、FFO40-59については、Okuhara氏の手による最新版のAVX2版Edaxの性能も越えてきているのだが、その為に何をやったのか、というと、評価データの更新だ。

ただし、現状、評価データの作成用に使用している対局データは既に約500万対局あるので、その数を普通に増やすのも大変なので、ベンチマーク対応の様な手法を取っている。

具体的には、まず、MRSolverの内部処理に、盤面をデータベースに書き出すコードを追加し、FFOテスト中に処理した空きマスが24以上ある盤面を全て書き出す様にした。

次に、その盤面が収められたデータベースデータをMasterReversiで読み込み、データベースの機能である所の「最善手で補完」を実行し、出来上がったデータベースデータを評価データの学習用データとして使う格好にした訳だ。

もっとも、前述の様に、現行版の評価データは500万対局程度の対局データを学習させているのに対し、前述のFFOテスト中に発生した盤面データは1万数千対局分程度しかない。

このため、通常の学習用データと共に学習させると、その影響度は極めて低くなるので、新たに採取したデータは、それなりの影響力を発揮させる為に、それ単独で、4回のみ、学習させる格好にした。

何故4回なのか、というと、数を大きくしすぎると、FFOテスト以外の評価時に悪影響を与える可能性が強くなるからで、より少なくしなかったのは、あまり数が少ないと、影響度も小さくなるからだ。

つまり、4,5回程度の学習なら、FFO性能は向上するし、その他項目の評価に対する影響も少ないので、学習回数は4回のみ、という事にした訳だ。

その結果としては、評価データは新しい学習データにマッチする様に変化した筈なのだが、その確認としてFFOテストを実行してみると、目論見通り、処理性能は向上していた。

と、いう事で、前述の様な、ある意味、ベンチマーク対応の様な手を使えば、FFO40-59については、最新のAVX2版Edaxの処理性能も越えられる事を確認したのだが、MRSolver的により問題なのは、古いバージョンのAVX2版にも性能的に劣っていたFFO60-79になる訳だ。

なので、FFO60-79についても、同様の手法で何とかならないものか、と、新しい学習データを作成してテストしてみたりしているのだが、60-75までについては、似たような感じで、学習の効果は出ている。

つまり、現行版よりも、より高速に動作しているだが、現行版での最大の問題となっているFFO76-78については、テストに時間がかかる事もあり、現状では、まだ、良い結果は得られていない。

と、いう事なので、FFO60-79については、次バージョンでも、AVX2版Edaxの後塵を拝する事になるかもしれないのだが、FFO40-59については、同等性能、という事には出来るかもしれないのだが、あまり無理はせず、少し劣る数字にしておいた方が、世のため人の為ひいては自分の為、という事になるのかもしれない。

ちなみに、エンジン対局の状況については、相変わらず、といった感じで、1000対局もやっていると、Edaxは、まだ数十回は負けている。

もっとも、数十回というのは、50回から30回程度に減ってきてはいるので、その内、ゼロに近づく事にはなる筈だ。

問題は、その内、というのが1週間以内なのか1ヶ月以内なのか1年以内なのか10年以内なのか、という事になる訳だ。

と、いう事で、MasterReversi側のBookについては、Edax+Unified Book 2010との対局も行って見ているのだが、現時点でも、1000対局させても負けは、ほぼ無い状況だ。

なので、念の為、リリース前に数千回程度のエンジン対局を行わせて負けが無ければそれで良し、という格好にして、次バージョンでは、Edaxとは切り離してリリースする格好になる様な気がする。

Edax側のBookについては、Edaxにセルフ対局で修正させる手もあって、その方が、エンジン対局よりも4倍程度は高速に処理できる感じなのだが、何度も書いてきた様に、セルフ対局というのは、あまり信用が置けない訳だ。

何故なら、対局の双方が同じ評価値を使う格好になる訳なので、評価値が間違っていても、普通にDrawになる事が多いからだ。

と、いう事なので、作者的には、Edaxのセルフ対局によるBook生成というのは、望ましい方法ではない、と、思っている訳なのだが、このまま放置するよりは、とりあえず、勝ち負けがなくなるまで、セルフ対局させておく、というのはまだマシかもしれない、と、思ったりもし始めている今日この頃だ。

« ここで一週間休みつつ | トップページ | プラスアルファは可能か? »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/66792939

この記事へのトラックバック一覧です: ベンチマーク対応とか:

« ここで一週間休みつつ | トップページ | プラスアルファは可能か? »

2018年8月
      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 29 30 31  

広告

プライバシーポリシー

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

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

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

    ポリシーと規約 - Google