将棋の先読みとは、先の先の先まで読むことであり、人工知能が大好きな仕事の一つです。前回は人工知能が苦手な盤面評価を見てきましたが、今回は人工知能が得意の先読みを見ていくことにします。

 人工知能は、先読みした盤面から一番いい評価になった盤面を選び、その盤面になる指し手を探します。

 前回では「将棋の初級者は3手先読みをしている」と紹介しました。3手先読みとは、自分がこの手を指すと、相手はこのように指し、このときに自分はこう指すんだ、という3手先の自分の手順までの先読みです(図1)。

図1●将棋における「先読み」
図1●将棋における「先読み」
[画像のクリックで拡大表示]

 このように、先読みは人間も自然に行っている思考方法ですが、これはコンピュータにとっても機械的に簡単に実装できます。むしろ得意です。単純な全探索できる深さの先読みであれば、ヒューリスティックス(経験にもとづく知見)を使った非決定的なプログラムをつくる必要はありません。また機械学習を実装する必要もありません。

 ただし、単純な全探索ではなく、「盤面のどの展開を深く先読みするか」という判断を加える場合は、ヒューリスティックス、あるいは機械学習が必要になり、その結果、非決定的な動作をするようになります。

 以前にも紹介したように、将棋は全ての情報がプレイヤーに開示される「二人零和有限確定完全情報ゲーム」に分類されるゲームです。

 このようにゲームを定義・分類し、その理論と実装を考える理論として「ゲーム理論(Game Theory)」があります。これまでに紹介してきた評価関数や、これから紹介する先読みのためのミニマックス法なども、ゲーム理論の成果です。

 またゲーム理論は純粋なゲームからスタートしましたが、初期のころから経済行動の分野で注目され、ゲームだけに留まらず多くの分野で使われています。