Python
DeepLearning
データ分析
ディープラーニング

【将棋AI】「将棋AIで学ぶディープラーニング」を読む♪~将棋所で遊ぶ

将棋AIで学ぶディープラーニング
第七夜は休息、ということで将棋所での遊び方について記述します。

やったこと

(1)フリーな将棋ソフトをインストールする
(2)将棋所で遊ぶ~対局
(3)将棋所で遊ぶ~リーグ戦

(1)フリーな将棋ソフトをインストールする

まずはそこここに存在するフリーな将棋ソフトを調査します。
世界コンピュータ将棋選手権とかで出場していたソフトがそれなりにダウンロードして対戦できるのはほんとに面白い。

【参考】
将棋フリーソフト レーティング
技巧2(Windows版 v2.0.2)(最新)gikou2_win.zip(168 MB)
大合神クジラちゃん(将棋エンジン)Version 1.3.0.0 全部入り(更新日 2018/5/2)初回ダウンロードの場合はこちらをお使いください。
Apery第28回世界コンピュータ将棋選手権バージョン (for Windows 64bit) GitHub からダウンロード
tnk-wcsc28-2018-05-05tnk-wcsc28-2018-05-05.7z(24.8 MB)『the end of genesis T.N.K.evolution turbo type D』(tanuki- 第28回世界コンピュータ将棋選手権バージョン)のバイナリ・評価関数ファイル・定跡データベースです。
http://www.uuunuuun.com/blank-2
shogi686
saihyou/nozomi
1121 6 TukamotoRyuzo/Yomita

そして、これらのソフトのインストールは単にエンジン管理で追加で、そのソフトのexeファイルを登録するだけである。
つまり、これらのソフトはみなあのusi対応をしている。
また、すべてのソフトがC++版みたいなのでそれなり難易度高そう。
※そのうちやってみたい。。。

(2)将棋所で遊ぶ~対局

将棋所の機能はそれなりに豊富でいろいろな対戦ができる。
以下の参考サイトを見ると豊富な機能が解説されている。
【参考】
ホーム>将棋所の使い方

ここでは基本的な対局の使い方と棋譜解析を紹介したいと思う。
※自分が作成した将棋AIの強さを測る上でまず使う機能
【対局】
「対局」メニューから「対局...」を選ぶと、対局ダイアログが表示されます。
エンジン管理で登録したエンジンの一覧が出ているので、そこから選びます。
taikyoku.jpg
そして対局は連続対局も選べます。
エンジン設定は
相手の手番中に先読みとハッシュメモリの設定が共通でできるほか、そのエンジンのプロパティを設定できるようになっています。
例えばAperyだと以下のようにたくさん設定できます。
setengineApperry.jpg
【棋譜解析】
そして、棋譜の解析を対戦ソフトとは別に設定して解析できます。
以下のLesserkai1.4.2 vs policy_playerを解析してみます。
kifu1.jpg
この結果をAperyで解析してみると以下のとおりになりました。

kifukaiseki1.jpg
48手白番policy_playerが悪手でLesserkaiの優勢になっている。悪手一手で形勢が変わる。
そして、その後逆にLesserkaiが悪手を連発で一挙に形勢はpolicy_playerに傾き、それにしても57から75手までは悪手の応酬になっていて、やはり中盤はむつかしい(というかaperyとの強さの差)。
kifukaiseki2.jpg
そして、そこからは一挙に終盤、投了まで突き進む。
これを見るとpolicy_playerも勝てたとは言え、まだまだなのがよくわかる。

自分が作ったソフトがどの程度強いのか、このまま、それぞれのソフトと対戦していってもいいが、将棋所にはグループ対戦の機能がある。

(3)将棋所で遊ぶ~リーグ戦

やり方は簡単で、以下のとおり設定する。
leag.jpg
そして最強対決やってみました。
その結果は。。。
kyougo_kekka.jpg
Aperyさんがダメ出しだしてます。
たぬきさんに自己評価やってもらいました。

tanukihyouka.jpg
やはり自己評価でも悪手っていうんですね。。。

policy_playerもリーグ戦戦ってみました。

shougi_group.jpg
たまたま条件を極力持ち時間なしでやったのと、対戦は1回と変則ですが、。。

まとめ

・将棋所で遊んでみた
・いろいろなソフトで遊べて面白い
・棋譜評価が結構使えそう