![将棋AIで学ぶディープラーニング](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F233744%2Fded117b9-37c7-1b41-033d-960e63ca5fe1.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=935ba98476ebc61c2169e698c737d5cf)
本書では以下のことが取り上げられている。
①【評価関数】Networkモデルをチューニングして強くする
②【評価関数】PolicyとValueを同時学習により学習効率を上げる
③【評価関数】学習する棋譜をカスタマイズして最適化する
④【実行速度】処理を並列化する
⑤【実行速度】UCT探索の工夫
⑥【実行速度】実行速度の速い言語(C++)にする
⑦【詰将棋】詰み探索の導入
⑧【評価関数と定石】強化学習
ウワンの実力から言って、①から③はここで取り上げたが、④以降はすぐに実行するにはちょっと難しい。
そこで、④の並列化は本書ダウンロードサイトからアプリをもらって利用することとし、さらに実行速度を上げることは難しいので持ち時間を大幅に増加して、さらに探索深さをなるべく大きな値にするということでどこまで強くなるかを実施してみた。
###(2)Gikou2と対戦する
Gikou2のソフトレーティングは、読みの深さで調整できて以下の参考ページで公開されている。そしてイロレーティングで見たようにだいたいレート差200だと勝負になることから、Gikou2のDepth1違うとレート差がほぼ200程度となっていることから強さを見るのに都合がよい。
【参考】
・コンピュータ将棋 まとめサイト
実は、ここに並んでいる将棋ソフトはほとんどC言語で書かれている。
C言語とPythonの速度差は以下の参考によると、だいたい15倍程度の差がある。
逆に言うと、15倍持ち時間を与えれば速度差は吸収される可能性がある。
【参考】
・色々な言語で計算速度を比較してみた
ということで、持ち時間を長くして(最大1時間程度)かつ探索深さを10000にして対戦してみた。
####Gikou2 D1 1512 +17/-9
####Gikou2 D2 1799 +12/-9
####Gikou2 D3 2001 +12/-12
####Gikou2 D5 2187 +14/-13
ちなみに、Gikou2D5の強さについてはこういう強さ(技巧2と私)だそうです。
探索深さは上記は10000の結果だが、30000まで増加してやってみたが、あまり向上しなかった。
###まとめ
・将棋AIの強さのポイントをまとめた
・速度向上はスキル的に難しいので、持ち時間を長くして10000探索局面(playout)に増やしてGikou2とDepthを変えて対戦した
・だいたいレーティング1800程度だと見える
・探索局面がほぼ同一なら、評価関数レベルではGikouと同様なレベルになったかもしれないが確証はない