「平成将棋合戦ぽんぽこ」をLinuxにインストールする方法【第5回電王トーナメント優勝ソフト】

おすすめLinuxアプリ

先日開催された「第5回 電王トーナメント」において、「平成将棋合戦ぽんぽこ(tanuki- 第5回電王トーナメントバージョン)」が優勝し、「第5代電王」となりました。

この「平成将棋合戦ぽんぽこ」は、思考エンジンに「やねうら王」を用いて動作するオープンソースソフトウェアです。やねうら王の導入方法については、以下の記事で紹介しました。

名人より強い!?将棋ソフト「やねうら王」をLinuxで動かす方法【Ubuntu 16.04・Fedora 26対応】
近年、ニコニコ動画でプロ棋士と将棋ソフトが対戦する「将棋電王戦」というのをやっていましたよね。結果はソフトがプロ棋士に大きく勝ち越しており、もう人間がトップレベルの将棋ソフトに勝ち越すのは難しそうです。 「電王戦」では最終的に、ハイスペッ...

この記事では、「やねうら王」や「ShogiGUI」を用いて「平成将棋合戦ぽんぽこ」をLinuxで動かす方法を解説します。なお、8ギガバイト以上のメモリを搭載したPCでの実行をおすすめします(メモリが少ない環境では正常に動作しないことがあります)。

必要なパッケージのインストール

「平成将棋合戦ぽんぽこ」を動作させるには、「やねうら王 2017Early KPPTビルド V4.79」が必要です。
まずは「やねうら王」のビルドに必要なパッケージと、Windows用ソフトである「ShogiGUI」をLinuxで動かすための「Mono」、「平成将棋合戦ぽんぽこ」の配布ファイルを展開するための「p7zip」をインストールします。

Ubuntu 16.04以降の場合、以下のコマンドを実行するだけです。

sudo apt install make g++ mono-complete p7zip-full

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 p7zip

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/

「平成将棋合戦ぽんぽこ」のインストール

次に、「平成将棋合戦ぽんぽこ」の評価関数と定跡をダウンロードし、「~/Shogi/YaneuraOu-4.79/tanuki-sdt5/」に置くことにしましょう。以下のように実行します。

cd ~/Shogi/YaneuraOu-4.79/
mkdir tanuki-sdt5
cd tanuki-sdt5/
wget https://github.com/nodchip/hakubishin-/releases/download/tanuki-sdt5-2017-11-16/tanuki-sdt5-2017-11-16.7z
7za x tanuki-sdt5-2017-11-16.7z 
rm tanuki-sdt5-2017-11-16.7z
ln -s ../bin/YaneuraOu-by-gcc .
echo '平成将棋合戦ぽんぽこ' > engine_name.txt
echo 'nodchip' >> engine_name.txt
cd book
ln -s user_book3.db standard_book.db

「ShogiGUI」のダウンロードと展開

ShogiGUIのサイトを開き、ダウンロードページからリンクされている最新のzip版をダウンロードしましょう。本記事公開時点の最新版は「ShogiGUIv0.0.6.11.zip」でした。以下は、「~/Shogi/」に展開する例です。

cd ~/Shogi/
unzip ~/ダウンロード/ShogiGUIv0.0.6.11.zip

「ShogiGUI」の起動と「平成将棋合戦ぽんぽこ」の登録

以下のコマンドを実行して、「ShogiGUI」を起動します。

cd ~/Shogi/ShogiGUI*
mono ShogiGUI.exe

起動したら、「ツール」→「エンジン設定」を開きます。

エンジン一覧で「追加」をクリックし、ファイル選択ダイアログで先ほど追加したディレクトリ「~/Shogi/YaneuraOu-4.79/tanuki-sdt5/」を開き、「Files of type」を「すべてのファイル」に切り替えます。そして、「YaneuraOu-by-gcc」を選択して「Open」を押してください。左ペインの「Personal」をクリックするとホームディレクトリが開くので、そこからたどっていくと良いでしょう。

続いて、エンジン設定ダイアログが開きます。「BookDepthLimit」を「0」、「ConsiderBookMoveCount」を「True」にしましょう。また、「平成将棋合戦ぽんぽこ」は「まふ定跡横歩取り(改)」を使用していますが、この定跡を使用する上限手数を「BookMoves」に設定します。初期値は「16」ですが、定跡を可能な限り使うなら「999」など十分に大きな数値を入れておきましょう。また、1台のPCで対戦するだけなら「NetworkDelay」と「NetworkDelay2」は「0」でいいでしょう。まとめると、以下の通りになります。

  • BookDepthLimit: 0
  • BookMoves: 999
  • ConsiderBookMoveCount: True
  • NetworkDelay: 0
  • NetworkDelay2: 0

設定後、「OK」を押します。

これで、エンジン一覧に「平成将棋合戦ぽんぽこ」が追加されます。「OK」を押してエンジン一覧ダイアログを閉じましょう。対局を始めるには、ツールバーの「対局」をクリックします。

対局者に「平成将棋合戦ぽんぽこ」を選んで、対局を開始することができます。エンジン同士で対戦させることも可能です。

おすすめLinuxアプリ
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました