やねうら王 セットアップ質問スレッド

やねうら王シリーズ + elmoのセットアップの手順については、elmoの作者が書いているサイトが大変わかりやすいのでそれを参考にしてください。

質問は、以下のFAQを読んだ上で、この記事のコメント欄でお願いします。コメント欄はあとから読む人のため、定期的にメンテナンス(削除等)します。

ときどき、やねうら王のTwitterアカウントに対して個別に質問される方がおられますが、そこでお答えしても、同じ内容を質問をしてくる人が後を絶たないため、Twitter上では導入手順についてお答えしません。何卒、ご理解のほどお願い致します。

1.思考エンジン本体等のダウンロード先

Q. 思考エンジン本体はどこからダウンロードできますか?
A. やねうら王のエンジン本体は、やねうら王のGitHubのreleasesのところからダウンロード出来ます。(以前配布していたフォルダから移動させましたので、上のelmoの導入方法の解説とは異なります。注意!) 解凍したあと、XXX-readme.txtをご覧ください。 このreadme.txtを読んでいないと思われる質問に対しては一切お答えしません。

Q. elmo以外の評価関数はどこからダウンロード出来ますか?
A. elmo以外の(やねうら王が提供している)評価関数ファイルのダウンロード方法はやねうら王のGitHubのトップページに書いてあります。

Q. 定跡ファイルはどこからダウンロード出来ますか?
A. やねうら王のGitHubのトップページに書いてあります。

2. エンジン設定、対局設定等について

Q. エンジン設定について詳しい説明はどこにありますか?
A. docs/ 配下にある、解説.txt USI拡張コマンド.txt にあります。

3. コンピューター同士の対局時の設定について

Q. 魔女と1手2秒で対局させたところ、魔女が大幅に勝ち越しましたが?
A. やねうら王のほう、NetworkDelay,NetworkDelay2を0に設定しましょう。デフォルトでは秒読みモードでは1.12秒前に指すようになっているため、最大でも(2 – 1.12)秒 = 0.88秒しか思考出来ません。詳しくは、やねうら王ライブラリのnetworkdelayオプションについてをご覧ください。また、解説.txt にも詳しい説明があります。

Q. やねうら王+elmo vs やねうら王+リゼロで対局させているのですが、同じ評価関数を読み込んでいるようです。
A. その両方のエンジン設定で、EvalDirが同じフォルダ名(例”eval”)で、かつ、EvalShareがオンになっている場合、評価関数を共有する機能が有効になるためです。これは並列対局させるときにメモリを節約するための機能ですが、並列対局させない人にとっては邪魔になるかも知れませんね。EvalShareをオフにするか、評価関数フォルダを以下のようにエンジンフォルダの上の階層に用意して、EvalDirを”../../eval/elmo”のように指定するなどしてください。詳しくは 解説.txt にあります。
eval/elmo
eval/rezero8
engine/…/

4. エンジン名の偽装について

Q. 二つの評価関数の強さを比較したいときに、エンジン名が同じだと困るのですが。
A. 将棋所ではエンジン名の末尾に任意の文字列を付与することが出来るので、それを活用するか、やねうら王のエンジン名の偽装機能を使ってみてください。詳しくは、解説.txtにあります。

5. 読み筋の出力について

Q. 読み筋が1手しか表示されないことがあります。
A. ConsiderationMode(検討モード)をオンにしてみてください。こちらの記事も参考にどうぞ。→ 検討モード用の読み筋出力について

Q. fail low/highしたときに読み筋を出力して欲しい / 欲しくないです。
A. 思考エンジン設定で変更できます。→ fail low/highしたときの読み筋の出力

6. 評価関数ファイルの形式について

Q. なんだか、すごく弱いんですけど?
A. AperyはWCSC27から評価関数ファイルの形式が変わりましたが、その新しい評価関数ファイルを間違って使用していませんか?やねうら王2017Earlyで使えるのはKK_synthesized.binというファイルが52,488 バイトになっているものです。(エクスプローラーでファイルを右クリックしてプロパティを選ぶとファイルサイズが確認できます) これより小さいものは、Aperyの新しい評価関数ファイルです。

7. 早指しについて

Q. 10分切れ負けなどでやるときに、思考エンジンが序盤で使う時間をもう少し減らしてもらえませんか?
A. 思考エンジン設定のSlowMoverというオプション項目で設定できます。詳しくは、docs/解説.txt をご覧ください。

8. エンジン設定の日本語化について

Q. エンジン設定を日本語化する方法を教えてください。
A. 将棋所だと、思考エンジンの本体(「YaneuraOu-2017-early.exe」など)と同じフォルダに「YaneuraOu-2017-early_ja.txt」(このファイルは思考エンジン本体を解凍したときに入っているはず)を配置するとエンジン設定が日本語化されます。ShogiGUIにはこの機能は無いようです。

9. 千日手設定について

Q. 先手ならなるべく千日手を打開して、後手なら自分が不利なときに千日手を選ぶようには出来ませんか?
A. “ContemptFromBlack”というエンジンオプションを利用すると設定できます。詳しくは、解説.txtを。

10. 投了スコアの設定について

Q. 連続自己対局させるときに評価値が1000を越したら投了させたいのですが?
A. “ResignValue”というエンジンオプションを利用すると設定できます。詳しくは、解説.txtを。


やねうら王 セットアップ質問スレッド” への15件のコメント

  1. 置換表の設定についての質問失礼します。
    ShogiGUIやWhaleWatcher等でエンジンを使用する場合、エンジン設定でUSI_HashとHashの項目が変更できます。
    やねうら王のDocsには『 USI_Hash で設定された値は無視されます。』とあるので普段の棋譜解析や検討ではHashの値を変更していますが、
    USI_Hashというのはエンジンの強さに対してどのような役割をもっているのでしょうか

    また、将棋所ではエンジン設定側で変更できる置換表サイズと、将棋所側で設定できるハッシュメモリというのがありますが、置換表サイズ=USI_Hash, ハッシュメモリ=Hashということでしょうか

    • 置換表サイズ=ハッシュメモリです。将棋所だと思考エンジンごとに置換表サイズの設定が出来ないので、やねうら王ではこれ(USI_Hash)を参照しません。(使いません。)

      > USI_Hashというのはエンジンの強さに対してどのような役割をもっているのでしょうか

      一般的に、置換表サイズが棋力にどれくらい寄与するかは以下の記事が参考になるかと…。

      コンピューター将棋におけるベストな置換表サイズとは?

      • 回答ありがとうございます。
        GUI側が指定するUSI_Hash(将棋所でいう「ハッシュメモリ」設定)ではなく、エンジンの設定ダイアログのところで個別に設定したHashの値(将棋所でいう「置換表サイズ[MB]」設定)が、実際のやねうら王が使う置換表の大きさになるということなんですね。

        細かい所の疑問でしたが解決しました、ありがとうございます。

  2. YaneuraOu-2017-early-readme.txt
    を読んで 適切なファイル配置をしているのですが、
    将棋所 v3.8.4 にて エンジン登録が完了しません。

    将棋所の「エンジン管理」にて
    YaneuraOu-2017-early.exe を選択すると、
    「エンジン登録中…」のまま 何分待っても終わらない状況になってしまいます。

    • お使いのCPUがAVX2対応ではないだとか、64bit OSでないだとか?試しにnoSSEとファイル名についてるものを登録してみるとどうでしょう?

  3. 質問失礼いたします。
    dbファイルの導入ですが、elmoは標準より容量の小さいstandard.dbが公開されていました。

    これをbookフォルダに上書きコピーした後、

    book/yaneura_book1.db : やねうら大定跡(これは別途ダウンロードが必要)
    book/yaneura_book3.db : 真やねうら定跡(これは別途ダウンロードが必要)

    上記の二つは使用されないのでしょうか?

    • やねうら王が使用する定跡ファイルは常に1つ(ないし、使用しない)です。どの定跡ファイルを使用するかについては、思考エンジンの設定画面で選択できます。また、思考エンジンの設定画面の細かいパラメーターの意味については、
      doc/USI拡張コマンド.txt
      doc/解説.txt
      にあります。

  4. やねうら王v4.66を使っているのですが、千日手を先手番のマイナス評価(後手からみたらプラス評価)に設定することは出来ないのでしょうか?
    contemptはどの程度千日手を回避するかという設定項目のようですのでそれは無理ですよね?
    contemptを200に設定してみた時は、先手番の時は千日手を先手番の-200という評価になっているのですが、後手の手番の時は後手の-200(つまり先手の+200)と評価してしまうようになってしまいました。マイナスに設定した時はその逆の現象が起こりました。
    現実の将棋だと先手は千日手を損と見て、後手は得とみることが多いと思うので、そういう風に設定できる方法があれば教えていただきたいです。

    readmeは目を通しましたが、初歩的な質問でしたらすみません。

    • Contemptが何故この仕様になっているかと言うと、Stockfishがこうなっているからで、Stockfishを参考にしているソフトはすべてこの仕様ですね。チェスでも先手有利なはずで、確かに実践的には後手なら積極的に千日手を狙いたい場合もあるでしょうね。オプション設定項目を増やせば対応できるのですが、すでにオプション設定項目はかなりたくさんあって、将棋所やShogiGUIではわかりづらいので(項目のグループ化等が出来ないため)、躊躇います。とりま、ContemptFromBlackというオプション項目をV4.67bで試験的につけておきましたので試してみていただけますでしょうか。

      • すみません、返事が随分と遅れてしまいましたが、contemptを正の値にして、contemptfromblackを有効にしたところ、私の求めていた状態にすることが出来ました。
        対応していただき本当にありがとうございました。
        これからも応援しております。

  5. YaneuraOu-local-serverにてgo depth Xで対局する場合にXの値が大きいとタイムアウトしてしまうので何とかしたいのですが、local-game-server.cppの355行目の
    if (now() >= start + 60 * 1000)からその下の{}までを削除してビルドすれば解決できますか?

    まだ試してないのですがそれ以外にすることがあれば教えていただきたいと思いコメントさせていただきました。(ここまで書いて書き込む記事間違えてるか不安になるっす)

    • すみません。いまコメントに気づきました。time outはそこを修正するだけでいいと思いますが、local-serverは、終了したプロジェクトなので、python製の自己対局フレームワークか、tanuki-さんのTanukiColosseumを使っていただければと…。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です