見出し画像

やねうら王で検討中に定跡を表示する方法

2024.12.29 加筆

筆者が開発している ShogiHome の v1.20.0 が 2024 年 12 月 28 日にリリースされ、やねうら王を使わずに ShogiHome で直接定跡を読み込めるようになりました。

やねうら王定跡フォーマット2016(.db 形式)に対応しています。エンジンで読み込む場合は閲覧のみが可能でしたが、ShogiHomeの機能で読み込む場合は編集と保存も可能です。

2024.11.29 加筆

MultiPV 使用時に、やねうら王の定跡手の表示がおかしくなる問題については、やねうら王開発者へ不具合報告を行い、修正を予定していると聞いています。

はじめに

やねうら王 は人気の将棋 AI で、プロも含めて多くの人が利用しています。
そして、やねうら王に対応した定跡データも配布されています。
定跡データにはあらかじめ検討した結果が記録されているため、定跡データに含まれる局面であれば改めて読むことなく、正確な結果をすぐに出すことができます。
将棋 AI が PC にかける負荷は非常に高いので、可能な限りそれを省略できるなら嬉しいところです。
しかし、やねうら王の初期設定は対局を想定したものになっているため、検討機能で良い感じに定跡を表示するにはいくつかの設定を変えなければなりません。
この記事ではその設定方法を説明します。

【補足】ShogiGUI と BookConv について

ShogiGUI の開発者が公開している BookConv というツールを使えば、 ShogiGUI の定跡 (.sbk) とやねうら王の定跡 (.db) を相互変換できます。
ただし、定跡データによっては変換ができない場合もあるのと、 .sbk には後述する BookOnTheFly のような巨大なファイルを読み込む機能は無いので注意が必要です。

やねうら王の公式ドキュメント

やねうら王の使い方は、公式の解説で網羅されています。

 「やねうら王の解説記事」https://github.com/yaneurao/YaneuraOu/wiki

かなり丁寧に書かれているので、やねうら王を利用する方にはぜひ読んでほしいのですが、そうは言っても専門用語も多く理解しきれない部分もあると思います。
特に定跡に関する設定は難易度が高めなので、この記事で説明します。

【重要】注意点

やねうら王本体のセットアップ方法はわかっていることを前提にしています。

2024 年 8 月時点で入手可能なやねうら王のバージョンでは、MultiPV(複数の候補手を出す機能)を使用した場合に定跡に登録された評価値が期待通りに表示されないようです。
そのため、検討時に MultiPV を使用したい場合は、定跡参照用のエンジンと検討用のエンジンを分けて GUI に登録することをお勧めします。

定跡ファイルの設置方法

やねうら王に定跡を読み込ませるには、まず適切な場所に定跡ファイルを設置しなければなりません。

※定跡ファイルは、無償配布のものをダウンロードするなり、やねうら王に支援してニュースレターを受け取るなり、適切な方法で手に入れてください。

やねうら王を設置してあるフォルダを開きます。
そこに「book」というフォルダがあれば、その中に移動します。
無ければ作成してから中に移動します。
(「book」とはチェス用語で定跡のことです。)

やねうら王のインストール場所

book フォルダの中に移動できたら、そこに定跡ファイルを入れます。

book フォルダの中に定跡ファイルを設置

ファイルの名前は「user_book1.db」になっていることが多いので、その名前の前提で話を進めます。
名前が異なる場合は適宜読み替えてください。
PC の設定次第で「.db」が表示されず「user_book1」となる場合がありますがそのままで問題ありません。

エンジン設定

利用している GUI でエンジン設定を開き、定跡に関する設定を変更します。

ShogiGUI の場合は下図のように設定を変えます。赤枠のところを初期値から変えてください。その他の場所も設定が合っているか確認してください。

ShogiGUI のエンジン設定画面

BookOnTheFly は定跡が大きすぎてメモリが足りなくなる場合に使用します。図には「1GB 以上なら」と書いていますが、自身の環境に合わせて判断してください。
また、BookOnTheFly に対応していない定跡ファイルもあるので注意してください。

ShogiHome を使う場合の例は次の通りです。

ShogiHome のエンジン設定画面

検討機能の実行

検討機能を起動します。
ShogiGUI の場合は「定跡を使う」にチェックを入れてください。

ShogiGUI の検討開始ダイアログ

動作確認

定跡登録されていそうな序盤の局面で動作を確認してください。
うまく行けば、AI が先を読まずに指し手と評価値を出してくれるはずです。

「深さ」や「ノード数」の数値がどんどん大きくなっていく場合は、定跡を使わずに AI が探索をしています。
定跡に局面が登録されていないか、あるいは何か設定がうまくできていないと思います。

前述の「注意点」で説明した通り、 MultiPV(候補手の数)を 2 以上にしていると定跡(特に次善手以降)が期待通りに表示されない場合があるようです。
その場合は MultiPV を 1 に設定してください。
MultiPV を 1 に設定しても定跡手は複数の候補が全て表示されます。

ShogiGUI の MultiPV 設定
ShogiHome の MultiPV 設定

【トラブル時】エラーメッセージの確認方法

定跡を使っている様子が一切無い場合は、ファイル名の指定方法やファイルの配置方法が間違っているかもしれません。
その場合はエラーメッセージを読むと原因がわかるかもしれません。

ShogiHome や将棋所の場合はエンジンのエラーメッセージを GUI 上で確認できます。ShogiGUI の場合は GUI 上で直接見ることができませんが、やねうら王の WriteDebugLog オプションを使えばどの GUI でもログファイルで確認することが可能です。

ShogiHome の画面で確認する場合

ShogiHome の場合は、検討機能開始直後に「監視」タブを開き、「プロンプトを開く」をクリックします。

「監視」タブ

別ウィンドウが出てくるので、下図の要領でエラーメッセージを探します。

プロンプトウィンドウ

設定で指定したファイルが存在しない場合は「info string Error! : can't read file : ~」というメッセージが出ます。
その場合はファイル名を再確認したり、ファイルの置き場所が本当に合っているかを確認しましょう。

上記のエラー確認方法は他のトラブルでも使えるので、慣れておくと自分で対処できるケースが増えるかもしれません。
エンジン開発者に問い合わせる場合でも、エラーメッセージを添えて連絡すると調査の手間を軽減できると思います。

将棋所の画面で確認する場合

将棋所の場合は「表示」メニューの中にある「デバッグウィンドウ」を選択します。

メニューからデバッグウィンドウを選択

デバッグウィンドウが表示されたらその中からエラーメッセージを探します。エンジンから新しい読み筋が送信されると勝手にスクロールしてしまうので、先に検討モードを終了した方が良いかもしれません。

デバッグウィンドウ

ログファイルで確認する場合

ShogiGUI の場合は画面上でエラーメッセージを確認できませんが、やねうら王のデバッグログを使えばファイルに書き出すことができます。これは他のどの GUI でも使える方法です。

エンジン設定画面で WriteDebugLog という項目に適当なファイル名を入力します。メモ帳で開きやすいように「~.txt」または「~.log」とするのが良いでしょう。

WriteDebugLog オプション

設定を反映したらエンジンを実行します。そうするとエンジンを保管しているフォルダにログファイルが生成されます。このファイルを開いてエラーメッセージを探します。

ログファイル