将棋の最新・最強ソフトの導入手順(2019年07月11日時点)
将棋ソフトを導入する手順について
はじめに
下記のアベマTVのサイトで藤井聡太七段の対局のある日は中継をやっています。そして毎日のように過去の藤井七段の対局が再放送されています。
そういった対局の放送を見ながら現在の形勢がどうなっているかを教えてくれるのが将棋ソフトになります。この将棋ソフトの評価値を見て藤井七段が最善手を指すかどうか見守ることになります。これからそんなソフトをどうやってセットアップするか説明していきます。
🔲 将棋ソフトは、[GUI]、[探索エンジン]、[評価関数]で構成されています。
[ GUI ] は将棋盤の表示と駒を動かす部分です。
[ 探索エンジン ] 思考部分であり、将棋の指し手候補を評価関数に問い合わせることで評価値を入手します。
[ 評価関数 ] 評価関数とは局面と手番を考慮した評価値を算出してくれる関数です。
探索エンジンは現局面から着手した局面の評価値を入手し、その上位を例えば3つぐらいに絞ってそれを繰り返すことで以降の分岐を深く読むことになります。現局面の評価値が先へ行ってどう変化するか調べ総合的な評価値として算出することになります。
🔲 前提知識はこれぐらいにして早速導入してみましょう!
GUIの代表的ソフト「ShogiGUI」のインストールが最初に実行する作業になります。
なおGUIは最初からエンジンも登録されているので、インストール後すぐにコンピュータとの対局や検討ができます。
実際は最新・最強のソフトを登録した後ではそれよりはるかに弱いソフトは使う気になりません。最強のソフトを使っているという満足感が得られないからです。
最先端の探索エンジン+評価関数の組み合わせて探索エンジンを「ShogiGUI」に登録することで常に最強のソフトで局面の評価を行うことができるようになります。
1.将棋GUIのダウンロード
現在の最新版のShougiGUIのバージョンは2019/06/26 ver 0.0.7.10 です。
下記のURLをクリックするとダウンロードできます。
http://shogigui.siganus.com/shogigui/ShogiGUIv0.0.7.10.zip
なおダウンロード場所と解凍については以下のやり方をお勧めします。
[ ダウンロード場所 ] %USERPROFILE%\Desktop\将棋ソフト\ダウンロード
・デスクトップに「将棋ソフト」フォルダを作成します。
・「将棋ソフト」フォルダ配下に「ダウンロード」フォルダを作成します。
・ダウンロード時に用意した上記フォルダを指定します。
ダウンロード終了後は以下のようにzipファイルを右クリックしてコンテキストメニューから「7-Zip > "ShogiGUIv0.0.7.10\"に展開」クリックして解凍します。
※解凍ソフトは7-Zipをお勧めします。
https://7-zip.org/a/7z1900-x64.msi
解凍後の「将棋GUI」の立ち上げとエンジンの登録方法については項番4で実施します。
2.探索エンジンのダウンロード
下記はgithubのTOPページになります。余裕ができた時に見てみましょう。
以下のリンクは最新のリリースのページになります。これも余裕が出来たら見てみましょう。
下記のリンクをクリックすると2019年7月11日時点での最新版がダウンロードできます。
https://github.com/yaneurao/YaneuraOu/releases/download/V4.88/YaneuraOu2019V488all.zip
項番1と同様にダウンロード後、解凍します。
3.最強の評価関数の入手
現時点での最強評価関数はKristallWeizenですが私がおすすめのillqha4も評価値的には殆ど差異がありません。
下記リンクをクリックすることで、illqha4(イルカ4と読んでいます)の評価関数をダウンロードが出来ます。
① dolphin4.01+illqha4.zip
https://drive.google.com/uc?authuser=0&id=13jSnNwc1RT_TSX6CnS2tbouHc_6scfsk&export=download
KristallWeizenのリリースのページです。余裕が出来たら見てみましょう。
KristallWeizenの評価関数のダウンロードページです。余裕が出来たら見てみましょう。
② このリンクをクリックするとKristallWeizenの評価関数をダウンロードできます。
https://github.com/Tama4649/Kristallweizen/raw/master/releases/Kristallweizen.zip
「水匠改」のダウンロードページになります。
下記のように右クリックしてダウンロード可能です。なおページの上段にあるダウンロードをクリックするとフォルダ内にあるすべてをダウンロードできます。余裕が出てきたらすべてダウンロードしてあれこれ試してみましょう。
③ 今回は下記の水匠改のZIPファイルのみクリックすると目的の評価関数がダウンロードできます。この評価関数は1500万ノード以下では現時点では最強の評価関数です。ノード数が1億ノードとかに増えると何故かKristallWeizenに負け越すようです。
④ 評価関数 orqha1018 はクリスタルワイゼンとの対戦では勝ち越しています。しかしillqha4には負け越しています。
https://www.qhapaq.org/static/media/bin/orqha1018.7z
※以下は2019年1月時点での最強関数でした。参考として掲載しています。
https://www.qhapaq.org/shogi/kifdb/
上記サイトにある以下のURLをクリックしてダウンロード後、解凍します。
https://www.qhapaq.org/static/media/bin/dolphin1.01%2Billqha3.zip
4.将棋GUIにおいて「ツール>エンジン設定」の手順
手作業で実施すると以下の手順となります。結構面倒なファイル操作が続くので一連の作業をバッチファイルの実行で実現できるようなバッチスクリプトを用意しますので、それをダウンロード後にダブルクリックで実行できるようにします。
http://gyokusen.space.toratorawiki.net/?IT%E9%96%A2%E9%80%A3/0031/make_shogi.bat&action=raw
※但し下記の手作業の手順の項番③から項番⑨までの手作業を実行してくれるバッチスクリプトです。なお下記の画面が出たら「詳細情報」をクリック後に「実行」ボタンが表示されるのでクリックすれば実行できます。
<将棋GUIを起動前に行う準備手順>
① 解凍した「ShogiGUIv0.0.7.10」フォルダ、「YaneuraOu2018V488all」フォルダ、「dolphin4.01+illqha4」フォルダを選択後(Ctrlキーを押しながらクリックする)、右クリックでコンテキストメニューを表示後、「切り取り」をクリック。
②「将棋ソフト」フォルダ配下に移動して右クリックでコンテキストメニュー表示後、「貼り付け」をクリック。
③「将棋ソフト」フォルダ配下に「YOv488_illqha3」フォルダを作成する。操作方法は、右クリック後、コンテキストメニューが表示されたら「新規作成>フォルダ」をクリックする。「新しいフォルダ」の名前を「YOv488_illqha4」に変更する。
④「dolphin4.01+illqha4」フォルダ配下にある「illqha4」フォルダを選択し右クリック後、「コピー」をクリックする。次に項番③で作成した「YOv488_illqha4」フォルダ配下で右クリック後、
⑤ 項番③で作成した「YOv488_illqha4」フォルダを開き、右クリック後、「貼り付け」をクリックすると「illqha4」フォルダが作成される。さらにもう一度同様に「貼り付け」をクリックすると「illqha4 - コピー」フォルダが作成される。
⑥「YOv488_illqha4」フォルダ配下に貼り付けされた「illqha4 - コピー」フォルダをクリックするとフォルダ名の変更ができる状態になるので、そこで「eval」と名前変更する。
⑦ 「YOv488_illqha4」フォルダ配下に下記の内容のテキストファイルを作成する。
ファイル名 :engine_name.txt
ファイルの1行目:YOv488_illqha4
ファイルの2行目:YaneuraOu2018NNUE_avx2.exe YOv488_illqha4
⑧ 項番①で「将棋ソフト」フォルダ配下に移動した「YaneuraOu2018V488all」フォルダを開き、「YaneuraOu2018NNUE_avx2.exe」にカーソルを移動してクリックして選択後、右クリックしてコンテキストメニューを表示後、「コピー」をクリックする。
⑨ 「将棋ソフト」フォルダ配下の「YOv488_illqha4」フォルダを開き、右クリック後、「貼り付け」をクリックする。
⑩ 項番①で「将棋ソフト」フォルダ配下に移動した「ShogiGUIv0.0.7.10」フォルダを開き、「ShogiGUI.exe」にカーソルを移動してクリックして選択後、右クリックしてコンテキストメニューを表示後、「送る>デスクトップ(ショートカットを作成)」をクリックする。
<将棋GUIを起動後の手順>
① デスクトップ上にあるショートカットをダブルクリックする。
② メニューバーにある「ツール>エンジン設定」をクリックする。
③ 「エンジン一覧」画面がポップアップしたら「追加」ボタンをクリックする。
④ 先ほど登録した「S01E01_YOv483_illqha3」フォルダ配下にある「YaneuraOu2018NNUE_avx2.exe」を選択後、「開く」ボタンをクリックする。
⑤ 「エンジン設定」画面が開いたら「OK」ボタンをクリックする。
⑥ 「エンジン一覧」画面に戻ったら「OK」ボタンをクリックする。
⑦ メニューバーにある「ツール>検討設定」をクリックする。
⑧ 「検討」画面が開いたらエンジンリストから先ほど登録したエンジンを選択する。
⑨ 「設定」枠にある「候補手の数」をとりあえず「3手」に変更して「OK」ボタンをクリックする。
⑩ メニューバーの下にある「検討」ボタンをクリックする。
⑪ 「検討」画面がポップアップしたら「検討開始」ボタンをクリックする。
⑫ 以上で終了です。このあとのもろもろの設定方法などはご自分でヘルプ等を参照してやりたいことを実現してください。
参考:
エンジン設定の用語について
Threads スレッド数
Hash 置換表サイズ[MB]
Ponder Ponder(相手番でも考慮)
WriteDebugLog デバッグログ出力
NarrowBook 出現確率の低い定跡を採用しない
NetworkDelay 通信の平均遅延時間[ms]
NetworkDelay2 通信の最大遅延時間[ms]
Contempt 引き分け時スコア(歩を100とする)
ContemptFromBlack 引き分け時スコアを先手から見た値とみなす
MultiPV MultiPV(指し手を上位N個求める)
Param1 パラメータ自動調整用X軸
Param2 パラメータ自動調整用Y軸
MinimumThinkingTime 最小思考時間[ms]
MaxMovesToDraw 引き分けまでの手数(0なら無制限)
EnteringKingRule 入玉ルール
# このコンボボックスの値
NoEnteringKing 入玉ルールを用いない
CSARule24 24点法(31点勝ち)
CSARule27 CSAの入玉ルール
TryRule トライルール
BookFile 定跡ファイル
# このコンボボックスの値
no_book 定跡なし
standard_book.db 標準定跡
yaneura_book1.db やねうら大定跡
yaneura_book2.db 超やねうら定跡
yaneura_book3.db 真やねうら定跡
yaneura_book4.db 極やねうら定跡
user_book1.db ユーザー定跡1
user_book2.db ユーザー定跡2
user_book3.db ユーザー定跡3
book.bin Apery用定跡DB
BookMoves 定跡を用いる手数(0=未使用)
BookEvalDiff 定跡の幅(0=無,30=狭,100=広)
BookLowLimitBlack 定跡で採用する評価値下限(先手)
BookLowLimitWhite 定跡で採用する評価値下限(後手)
BookOnlyThinkingMove 定跡では思考した指し手のみ用いる
BookEvalDiff 定跡の第一候補手との評価値の差
BookEvalBlackLimit 定跡の先手の評価値下限
BookEvalWhiteLimit 定跡の後手の評価値下限
BookDepthLimit 定跡のdepth下限(0=下限なし)
BookOnTheFly 定跡をメモリに丸読みしない
ConsiderBookMoveCount 定跡の指し手を採択率に比例させる
追加補足:
最新の評価関数のダウンロード先
Kristallweizen
この画面でdownloadをクリックすると保存出来る
orqha1018
この画面で「こちら」をクリックすると保存出来る
(最新版)評価関数 orqha1018
ダウンロードはこちら
https://www.qhapaq.org/shogi/kifdb/
illqha4
この画面の右上の左から2番目の「↓」(ダウンロードアイコン)をクリックすると保存出来る
振り飛車党評価関数「振電」
この画面の「振電(振り飛車評価関数)」リンクをクリックすると保存できる