2013年3月から4月にかけて開催された「第2回将棋電王戦」において、5種類の「コンピュータ将棋ソフト」と5人の現役プロ棋士が対戦、コンピュータ将棋が3勝1敗1引き分けで勝ち越し、話題になった。

 コンピュータ将棋ソフトは人間の棋士と同様、局面の形勢が有利か不利かを判断し、そこから先の展開を読み、打つ手を決めていく。ここへ来て、コンピュータ将棋が人間に勝てるようになってきたのは、コンピュータの処理性能が向上したこと、それを活かした機械学習という手法が確立したからである。

 局面を判断する「評価関数」を定義し、これを使って先々の局面を評価して最善の手を選び出すには膨大な計算が必要になる。数100台のコンピュータによる並列処理によって、従来はこなせなかった計算ができるようになった。

 こうなると、人間が指せない最善手をコンピュータ将棋が見つけ出すこともある。コンピュータなら可能性のある手をすべて検討できるが、人間の場合あらかじめ選択肢を絞り込んで検討せざるを得ないからだ(関連記事『「コンピュータの視点は純粋。ただし判断が完璧というわけでもない」~渡辺明氏・将棋棋士 竜王・棋王・王将』)。

 機械学習とは、言語処理やゲームにおいて人間が無意識に実施している認識や判断の規則を抽出し、コンピュータで代行できるようにする技術である。将棋の場合、過去の対戦記録である棋譜をコンピュータに取り込み、評価関数を作成することで、手を読むために必要な計算量を減らせる。

 例えば最終戦で勝利を収めたコンピュータ将棋ソフト「GPS将棋」は、事前に2万数千の棋譜を学習し、対戦当日には700台のパソコンを使って、1秒間に2億8000万手を読んだという(関連記事『「人間から学び、人間を支援する人工知能を」~金子知適氏・「GPS将棋」開発メンバー』)。

 並列処理と機械学習はインターネットの検索エンジン、コンピュータによる翻訳、音声認識など様々な分野にも応用され、成果を挙げている。

 特定用途に絞れば機械学習は有用である。この技術を使って人間を支援し、人間はコンピュータでやれない仕事に時間をかけることができる。

 GPS将棋の開発者、金子知適氏(東京大学総合文化研究科広域科学専攻広域システム科学系准教授)は「個人のレベルに合わせてアドバイスができる将棋ソフトの実現がまず目標」と延べ、「人間をサポートするシステムを作ること」を目指したいと語っている。

 コンピュータ将棋が棋士に勝つことがあるといっても、それをもってコンピュータが人間の能力を超えたとは言えない。一定のルールに基づくゲームで打ち手を探索する点において拮抗あるいは凌駕しつつあるに過ぎないからである。