スマートフォン上のDEN将棋Xで「やねうら王」と対局する

 DEN将棋Xの記事で、「shogi-server自体も開放しているので、将棋所やK-将棋のようなshogi-server対応の将棋ソフトとの対局もできます。」と書きましたが使っていませんでした。かねてから、スマートフォンで手軽にあの「やねうら王」と対局してみたかったので、試してみました。最初うまくいきませんでしたが、将棋所作者の方のアドバイスもいただき成功したのでその備忘録です。

 これにより、家で寝転がりながら手元のスマートフォンでやねうら王などのUSI対応AIエンジンと対局ができます。スマートフォン側はDEX将棋Xなのでアプリのインストールは不要です。

1.通信イメージ

わかりにくいのイメージ図にしてみました。自宅のWindowsマシン上の将棋所と、DEN将棋Xにログインした手元のスマートフォンとの間でインターネット経由の対局になります。

スマートフォンは、DEN将棋Xですから、webkoza.comのウェブサーバーとゲートウェイプログラム経由でshogi-serverにログインし、将棋所は直接webkoza.comのshogi-serverにログインすることになります。

DEN_yaneura.png

2.将棋所のインストールと起動

ここからダウンロードできます。ダウンロードした圧縮ファイルを解凍して、Shogidokoro.exeを起動するだけです。.NET Framework 4以上が必要なので注意してください。

.将棋所にやねうら王を登録

やねうら王は、Git-Hubのリリースサイトからダウンロードしました。この時の最新リリース「やねうら王 実行ファイル詰め合わせ V4.89」の「YaneuraOu2019V489all.zip」をダウンロードし、決めたフォルダに解凍します。

将棋所を起動して、対局-エンジン管理 を選択し、下図の様に複数種のやねうら王エンジンを追加します。各々のやねうら王エンジンについてはreadmeを参照してください。

yaneura1.png

4.定石ファイルと評価関数ファイルをセット

次にやねうら王の定石ファイルをダウンロードしました。ちょっとわかりにくいのですが、上記リリースサイトの何ページ目かの「やねうら王 定跡ファイル詰め合わせ」の3つのzipファイルをダウンロードし、上記やねうら王エンジンフォルダにbookフォルダを作ってその中に解凍した3つのdbファイルをコピーします。

最後に、評価関数ファイルをダウンロードしました。これもわかりにくかったのですが、上記リリースサイトでは無く、トップページの「過去のサブプロジェクト」をクリックして、「やねうら王 KPP_KKPT型用評価関数」の「リゼロ評価関数 KPP_KKPT型 epoch4」をクリックするとダウンロード画面が表示されます。ダウンロードしたファイルを解凍すると3つのbinファイルができますので、それを上記やねうら王エンジンフォルダに作成した「eval」フォルダにコピーして完了です。最初readmeをよく読まず、これを怠ったため対局開始前にフリーズするという現象が起きてしまいました。

5.対局

 どちらが先でも良いのですが、まずDEN将棋X側から説明します。下図の様にUname・Passwd・Gnameを設定して「Login」を押してログインします。

DENX_login.png
着席番号が表示されたらOKを押すと、マッチメーク(対局者決定)待ちになります。

次に将棋所側は、「対局ーサーバー通信対局」を選び、下図のように「こちら側の対局者」にやねうら王を選択し、接続先にwww.webkoza.com、ログイン名はわかりやすい英数字、パスワードは、相手がDEM将棋XであればGname(****ー****ー**)と同じ文字列を入力します。DEN将棋であればPasswd(****ー****ー**)と同じ文字列を入力します。ハイフンも忘れずに。

yaneura2b.png

ここでOKを押すと、マッチメークしDEN将棋X側は下図のように先手/後手が通知されます。この時点で対局は開始されていますので、OKを押して手を進めてください。

DENX_matchmake.png

 将棋所側は下図の様になります。

yaneura3.png

この後は手番が回ってきたらDEN将棋X側で駒をタップすると進める場所がピンク色で示されます。(下図)。

DENX_te0.png

駒を進める場所をタップすると、駒がそこに移動した後相手手番になり、しばらくすると相手の駒が動いてこちらの手番になります。(下図)

DENX_te1.png

やねうら王エンジンのレベルは1-20まで選べるようです。自分のレベルに応じて最新AIと対局する事ができます。もちろん研究にもなります。

そういえば、DEN将棋Xには「中断」機能を実装しましたが、将棋所が対応しているかどうか試してません。shogi-serverの拡張モードを全て網羅していればできるはずなのですが、わかりません。試したらまた後日記事にします。