グーグルの子会社で人工知能の研究を続ける英ディープマインドが開発した囲碁AIの「アルファ碁(AlphaGo)」が韓国のプロ棋士・李世ドル氏に勝ったというニュースは世界を駆け抜けた。2016年3月9~15日まで開催された対局では、アルファ碁が5局中4局に勝利。これまで、チェス、将棋でコンピューターがプロを下してきたものの、「囲碁は10年先」と言われてきた。10年分の短縮の“勝因”は、コンピューターの性能向上よりも、知能の改善、とりわけ事前の学習方法を改善したことが大きい。つまりアルファ碁は、よく勉強した“優等生”だったのだ。

 過去10年で最強の棋士とも言われる李世ドル氏に4対1で勝利したアルファ碁。「すごい」ということはわかっても、何がすごいのか、どうして予想よりも10年も早くAIが人間に勝てたのか、よくわからないという人は多いかもしれない。

 アルファ碁には、1200のCPUと180のGPUが使われているが、今回の勝利ではハードウエアはあまり重要ではない。数万台のコアが使えるシステムが実用化されている現在、これは驚くような規模ではないし、戦い方も過去の対局を記憶した巨大なデータベースを検索し、あらゆる手順を探した、というようなハード面での力技によるものではないからだ。

「アルファ碁」と対戦した李世ドル氏。過去10年で最強の棋士とも言われる(提供:Google)
[画像のクリックで拡大表示]

重要なのはハードの力のみではない

 そもそも、将棋や囲碁のゲームでは、どのような処理がされるのだろう。一般に、コンピューターの中では、指せる手の分岐を木の枝のような形で示す「探索木」と呼ばれる構造が作られ、「ここに石を置いた場合、相手はここに置く」といった予想を表現する。この予想は、「ここに置きそう」という「予想の確からしさ」を表現する関数(予想関数)で決めてゆく。探索木は、相手が置く可能性がある場所が多いほど横に広くなり、勝負が付くまでの手順が多いほど深くなっていく。

 あらゆる可能性を探索木で表現し、すべての手を検査することで、必勝の手順を見つけることは可能だ。ただし、現実には木が大きくなりすぎて処理が追いつかない。そこで、適切かつ有効な動きのみを抽出して木を「小さくする」必要がある。前出の予想関数で「置く確率」が高いとされた場所のみを探索する、といった方法だ。この処理は、昔から対戦ゲーム用のソフトで行われてきた。

 しかし、囲碁の場合、既存の方式で木を刈り込んでも、まだまだ碁石を置ける場所が多く、処理は膨大とされた。囲碁の終局までの手順は約10の360乗とされている。コンピューターの性能が現在の1000倍に上がったとしても、単純な探索では歯が立たない。「10年」と予想されてきたのは、トッププロに対抗できる強さと、制限時間内で処理する速さが両立した方法を見つけるまでの時間であり、ただハードの規模や速度の問題ではなかったのだ。