Quantumleap
953 words
5 minutes
将棋検討ソフトをmacOSに導入する
2021-07-18

将棋検討ソフト#

将棋所 Mac#

Mac 版の将棋所は ShogiGUI とは違うのでちょっと操作になれが必要でした。

不満点#

何故か駒の解像度が異常に低いです。解像度が高い画像に差し替えてもこれなのでつらいところです。

これなら MyShogi とか将棋 GUI を使ったほうが良いのではないかとも思えてきました。

エンジン導入方法#

どこかに適当にshogiというフォルダを作成し、以下のようなディレクトリ構造になるようにします。

nn.bin, user_book1.db, Yaneuraou-by-arm64の三つのファイルはこれからダウンロードしてくるのでeval, book, engineの三つのフォルダだけ作成しておきましょう。

shogi
 engine
  ├ eval
  │ nn.bin
  ├ book
  │ user_book1.db
  └ Yaneuraou-by-arm64

やねうら王のダウンロード#

やねうら王の M1 用ビルドが公開されていたのでそれを利用します。

ここにMac OSX版 M1チップ対応やねうら王があるのでそれをダウンロードしてきます。ソースコードが公開されていないのが気になるのですが、まあそれはおいておきましょう。

ダウンロードしたらYaneuraou-by-arm64みたいな名前に変えておきます。変えなくても別に困らないので変えたくない人はそのままでいいです。

評価関数のダウンロード#

無償で公開されている評価関数はいろいろあるのですが、自分はコンピュータ将棋データベースを愛用しています。

少し古いですがorqha1018を使うことにしました。

ダウンロードして展開するとnn.binという評価関数ファイルがあります。

定跡ファイル#

やねうら王さんが作成した100 テラショック定跡を利用します。

もちろん、自身で学習させた定跡でも構いません。

エンジン設定#

エンジン管理から利用したいYaneuraou-by-arm64を指定します。

メモリが何故か 16MB しか使用してくれない設定になっているので 2048MB くらいを指定します。今回利用しているやねうら王のビルドは 32 ビット扱いなのでメモリは 2048MB までしか使えないようになっているぽいです。まあそれでもめちゃくちゃ早いのでいいとしましょう。

M1 vs SSE42#

今回の記事ではネイティブの M1 で動かしていますが Rosetta2 と呼ばれるシステムを利用して SSE42 として動作させることもできます。

他のブログや記事などで書かれている方法はほとんどがその方法です。ネイティブの方が速いに決まっているのですが、どのくらい速いか調べてみました。

設定は完全に同じにできればよかったのですが、全く同じにはできなかったことをご了承ください。

相横歩取りの指定局面をどちらも 60 秒間読ませてみることにしました。

SSE42#

こちらはメモリ上限がないので 4096MB、スレッド数は 8 を指定しました。

60 秒間で探索した局面は約 2150 万局面でした。

M1#

メモリが 2048MB までしか使えないという制約がありました。スレッド数は 8 を指定。

60 秒間で探索した局面は約 3570 万局面でした。なんと M1 仕様の方が 1.5 倍くらい速いという結果になりました。

これは M1 版やねうら王を使う価値が十分にあるといえるでしょう。

将棋検討ソフトをmacOSに導入する
https://fuwari.vercel.app/posts/2021/07/shogidokoromac/
Author
tkgling
Published at
2021-07-18