スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« Potential Mobilityとか | トップページ | まず、MasterReversiを変更 »

MasterReversiでテスト中

今は、新しいリバーシプログラムの開発フェーズなのだが、MasterReversiには評価データの編集機能があって、新しい評価関数もDLLとして追加できる。なので、現時点では、新しい評価関数はMasterReversiに適用してテストしているのだが、レベル5に勝ってしまう。

ここの所書いてきている様に、新しい評価関数というのは、32手目以降は現行版のMasterReversiと同様のパターン評価、それ以前は「昔ながらの評価」+「辺と隅に着目したパターン評価」という事になる。

で、前述の様に、MasterReversiには評価データの編集機能があるので、32手目までは「対角」なんかのパターン評価を止めさせようとすれば、「管理」メニューの「評価データ」-「評価方式の設定」で起動されるダイアログで簡単に設定可能だ。

更に、新しいリバーシプログラムで採用しようとしている石差と着手差については、標準添付版の評価データでは使っていないのだが、MasterReversi的には評価関数を標準で実装しているので、前述のダイアログで、使う設定にするだけで、使わせる事が可能だ。

ただし、昨日書いた「Potential Mobility」については、評価関数は実装されていないので、標準機能だけを使ってその評価を行わせる事は出来ないのだが、MasterReversiには、新しい評価関数をDLLとして追加できる機能がある訳だ。

そして、そのDLLをビルド出来るサンプルプロジェクトが添付されているので、それを修正する格好で開発すれば、比較的簡単に、新しい局面評価関数をMasterReversiに追加する事も出来る。

で、作者的には、このDLLを作るのは久しぶりだったのだが、最新のVisual Studio 2017でも、前述のサンプルプロジェクトはビルド可能だったので、「Potential Mobility」についても、外部関数として、MasterReversiの評価ルーチンに組み込む事が出来た訳だ。

と、いう事で、新しいリバーシプログラムで採用する事にしている評価関数とほぼ同等の処理内容を持つ評価関数は、MasterReversiの評価データとして構築できた訳なのだが、前述の「評価方式の設定」を行うと、全ての重み係数はゼロクリアされるので、最初から学習をやり直す必要が生じる。

で、MasterReversiの場合、この学習についても、「管理」メニューの「評価データ」-「パラメータの学習」で、行わせる事が出来るので、楽勝なのだが、評価データの学習を行わせるためには、それなりの数の対局データが必要になる訳だ。

しかし、そのサイズはそれなりになるので、対局データはMasterReversiには同梱されていないのだが、このデータについても、MasterReversiのホームページの「各種リソースのダウンロードページ」で提供してあるので、作者でなくても利用可能な体制にはなっている。

と、いう事で、新しい局面評価を現行版のMasterReversiに行わせてみる事は、そのソースコードを弄れる作者でなくても可能な体制になっている訳なのだが、そのソースコードを弄れる作者的にも、下手に弄ると面倒な事になるので、現状では、上記の機能を使って一般ユーザーと同様な形で行わせてみている訳だ。

で、MasterReversiがその評価を行える様になると、他プログラムとエンジン対局させたり出来る様になるし、その棋譜もデータベースに保存させたりできる。

そして、MasterReversiのBookと評価関数の評価値を比較したりも出来る様になる訳なので、新しい評価関数のテスト環境としてMasterReversiを使うのは有意義な訳だ。

と、いう事で、新しい評価関数は、今日の時点では、現行版のMasterReversiの評価データとして構築し、他プログラムとエンジン対局させたり、MasterReversiのコンピュータと対局させたりして、その強さを評価している段階なのだが、十分強いかもしれない。

もっとも、DLLのインタフェースは、コーディングのし易さを鑑みて、ビットボードではなく、普通に8x8のボードになっているし、「Potential Mobility」のチェック用関数も、今の所最適化していないので遅い。

と、いう事もあるので、現時点では、MasterReversiのコンピュータのレベル4相当の深さ、つまり、20手読みもさせると、レベル5相当の深さ、つまり、24手読みを行うコンピュータよりも、まだ、少し遅いくらいの処理速度になってしまっている。

なので、現状では、強さチェックもレベル4相当の深さで行っているのだが、それでも、レベル5のコンピュータに勝ったりしてしまっている。

まあ、作者的には、現状の「コンピュータ」がチョクチョク負けてしまうのが嫌で新しい評価関数を開発しようとしている訳だ。

なので、これは良い事なのかもしれないのだが、Book付きのレベル5にもチョクチョク勝ってしまっているので、次バージョンのMasterReversiではBookの修正も必要か、なんて事を考えると、少し気が重くなったりもする今日この頃だ。

« Potential Mobilityとか | トップページ | まず、MasterReversiを変更 »

トラックバック

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

この記事へのトラックバック一覧です: MasterReversiでテスト中:

« Potential Mobilityとか | トップページ | まず、MasterReversiを変更 »

2018年4月
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          

広告

プライバシーポリシー

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

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

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google