先日開催された「第5回 電王トーナメント」に出場した「elmo」をLinuxにインストールする方法を紹介します。
優勝した「平成将棋合戦ぽんぽこ」のインストール方法については、以下の記事をご覧ください。
「elmo」も「平成将棋合戦ぽんぽこ」と同様、思考エンジンに「やねうら王 2017Early KPPTビルド V4.79」を用いて動作させることができます。また、このページでは将棋GUIソフトとして「ShogiGUI」を使う手順を紹介します。既に「平成将棋合戦ぽんぽこ」などを動作させるために、「やねうら王」や「ShogiGUI」がインストール済みの場合、それらのインストール手順は飛ばしてください。
必要なパッケージのインストール
まずは「やねうら王」のビルドに必要なパッケージと、Windows用ソフトである「ShogiGUI」をLinuxで動かすための「Mono」をインストールします。
Ubuntu 16.04以降の場合、以下のコマンドを実行するだけです。
sudo apt install make g++ mono-complete
Fedora 26以降の場合、以下のようにMonoの配布元リポジトリを追加し、パッケージのインストールを実行します。
sudo dnf -y install dnf-utils
sudo rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
sudo yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
sudo dnf install -y make gcc-c++ mono-complete
CPUがサポートする拡張機能の確認
やねうら王をビルドする際に必要になる、CPUがサポートする拡張機能を以下のコマンドで確認しておきましょう。
grep flags /proc/cpuinfo | head -1 | grep -E '(avx2|sse4_2|sse4_1|sse2)'
avx2、sse4_2、sse4_1、sse2のいずれが含まれているかをチェックしておいてください。
「やねうら王」のダウンロードとビルド
以下のコマンドで、「やねうら王 2017Early KPPTビルド V4.79」のダウンロードと展開を行い、ソースコードの入ったディレクトリに移動します。
cd /tmp/
wget https://github.com/yaneurao/YaneuraOu/archive/v4.79engine2017.tar.gz
tar xvzf v4.79engine2017.tar.gz
cd YaneuraOu-4.79engine2017/source/
続いてビルドします。CPUがサポートする拡張機能により、以下のうちいずれかを実行してください(上にかかれているものを優先して選んでください)。
avx2をサポートしている場合
make avx2 COMPILER=g++
sse4_2をサポートしている場合
make sse42 COMPILER=g++
sse4_1をサポートしている場合
make sse41 COMPILER=g++
sse2をサポートしている場合
make sse2 COMPILER=g++
ビルドが正常に終わると、実行ファイル「YaneuraOu-by-gcc」が生成されているはずです。ここでは、ホームディレクトリに「Shogi/YaneuraOu-4.79/bin/」ディレクトリを作成して置くことにしましょう。
mkdir -p ~/Shogi/YaneuraOu-4.79/bin
cp -a YaneuraOu-by-gcc ~/Shogi/YaneuraOu-4.79/bin/
「elmo SDT5版」のインストール
次に、「elmo SDT5版」の評価関数と定跡をダウンロードします。以下の、elmoを開発された方のツイートからGoogleドライブのページを開き、ダウンロードしてください。
elmoのsdt5版を公開します。選手権版と比べて+R150程度なので他と較べるとちょっと弱いですね。https://t.co/aYBQrpoJee
— 瀧澤 誠@elmo (@mktakizawa) November 14, 2017
ダウンロードした「elmo.sdt5.zip」を、「~/Shogi/YaneuraOu-4.79/」に展開することにしましょう。以下のように実行します(「ダウンロード」フォルダにダウンロードした場合)。
cd ~/Shogi/YaneuraOu-4.79/
unzip ~/ダウンロード/elmo.sdt5.zip
cd elmo.sdt5/
ln -s ../bin/YaneuraOu-by-gcc .
echo 'elmo SDT5版' > engine_name.txt
echo '瀧澤誠' >> engine_name.txt
「ShogiGUI」のダウンロードと展開
ShogiGUIのサイトを開き、ダウンロードページからリンクされている最新のzip版をダウンロードしましょう。本記事公開時点の最新版は「ShogiGUIv0.0.6.11.zip」でした。以下は、「~/Shogi/」に展開する例です。
cd ~/Shogi/
unzip ~/ダウンロード/ShogiGUIv0.0.6.11.zip
「ShogiGUI」の起動と「elmo SDT5版」の登録
以下のコマンドを実行して、「ShogiGUI」を起動します。
cd ~/Shogi/ShogiGUI*
mono ShogiGUI.exe
起動したら、「ツール」→「エンジン設定」を開きます。
エンジン一覧で「追加」をクリックし、ファイル選択ダイアログで先ほど追加したディレクトリ「~/Shogi/YaneuraOu-4.79/elmo.sdt5/」を開き、「Files of type」を「すべてのファイル」に切り替えます。そして、「YaneuraOu-by-gcc」を選択して「Open」を押してください。左ペインの「Personal」をクリックするとホームディレクトリが開くので、そこからたどっていくと良いでしょう。
続いて、エンジン設定ダイアログが開きます。推奨設定は以下の通りです。
- BookDepthLimit: 0
- BookMoves: 200
- ConsiderBookMoveCount: True
- MinimumThinkingTime: 1000
- NetworkDelay: 0
- NetworkDelay2: 0
設定後、「OK」を押します。
これで、エンジン一覧に「elmo STD5版」が追加されます。「OK」を押してエンジン一覧ダイアログを閉じましょう。対局を始めるには、ツールバーの「対局」をクリックします。
対局者に「elmo STD5版」を選んで、対局を開始することができます。「elmo」同士で対戦させることもできますし、「平成将棋合戦ぽんぽこ」など他のエンジンと対戦させることもできます。
コメント
インストールしてみましたが、初期化エラーと出ます。
環境は、ubuntu 18.04
ShogiGUI.exe を起動しますと文字化けします。
どんな解決方法がありえますか?アドバイスしていただけるとありがたいです。
「初期化エラー」と出たのは、どのコマンドを実行した時でしょうか。
「mono ShogiGUI.exe」と実行すると、文字化けしたウィンドウが表示される、ということでしょうか。
実行した内容と、出力結果を正確に書いていただければ、何か分かるかもしれません。