マイロ将棋(2)コンピュータ将棋の作成方針

ディープラーニングでできること自体はとてもシンプルです。大まかには、分類問題と回帰問題の学習に分かれます。分類問題は手書き文字認識のような入力された情報がどのパターンに分類されるものかを当てる問題、回帰問題は住宅物件の価格予測のような、結果を数値として予測する問題です。ディープラーニングを使って将棋のプログラムを作る方法は一通りではなく、いろいろなやり方があると思いますが、マイロは盤面の情報を元に勝率を予測するという回帰問題と捉えて取り組んでいます。

将棋は盤面(と持ち駒)の内容によって、有利不利が決まります。駒をたくさん持っていて、王が固く守られていれば有利、自分の駒が少なくて相手から攻められている局面は不利と言えるでしょう。有利不利の状況は手を進める毎に変わっていきます。どの手を指すのが一番有利な状況にできるのかがわかれば勝てるといってもいいと思います。この有利さ不利さの状況を求めるための評価関数をディープラーニングで実施することで強い将棋プログラムが作成できると考えています。

先を読むということでも強くすることはできます。一見いい手に見えても実は次の相手の手によって形勢が逆転するということもあり得ます。先を読むことで、有利さ不利さを多少見誤っていたとしても、最終的に勝利につながる手を選択できるようになります。ですがマイロ将棋では、先を読むということはしていません。本当に強くするには先を読むことも必要だと思いますが、ディープラーニングを用いた評価関数で有利不利の状況を正確に見極められるようにしたいという思いから、今は評価関数を用いた強いプログラムを目指しています。