連載
» 2008年06月16日 18時37分 UPDATE

ロサンゼルスMBA留学日記・特別編:「人工知能は必ずプロを超える」――将棋ソフト「激指」が名人に勝てる日 (1/2)

数年前まではアマ強豪にも勝てなかったのに、今ではプロ棋士をも苦しめるほどにレベルアップしているコンピュータ将棋。今回は番外編として、将棋ソフト「激指」の開発者に、なぜ将棋ソフトが強くなってきたのか、そして人工知能が名人を倒す日は来るのかを尋ねた。

[新崎幸夫,Business Media 誠]

著者プロフィール:新崎幸夫

南カリフォルニア大学のMBA(ビジネススクール)在学中。映像関連の新興Webメディアに興味をもち、映画産業の本場・ロサンゼルスでメディアビジネスを学ぶ。専門分野はモバイル・ブロードバンドだが、著作権や通信行政など複数のテーマを幅広く取材する。


 このところ、将棋ソフトの実力向上が目覚ましい。

 2007年には将棋ソフト「Bonanza(ボナンザ)」が、プロ棋士の渡辺明竜王を大いに苦しめて話題になった。2008年に入ると、アマチュア棋士の中でもトップクラスの実力を誇る加藤幸男さんと清水上徹さんが、相次いで将棋ソフトに破れ注目を集めた。アマチュア将棋のトップは、しばしばプロ棋士を負かすことがある。この実力関係を考えると、プロ棋士がコンピュータに公開対局で敗れるのも、時間の問題か――とすら思えてくる。

 数年前まで、コンピュータはアマ強豪にすら遠く及ばなかった。この数年で、何がそこまで将棋ソフトを変えたのか。人工知能が「名人」を倒す日は来るのか。来るとすればそれはいつなのか。有名将棋ソフト「激指」を開発する東京大学IRT研究機構、IRT環境研究部門の特任助教である、横山大作博士に話を聞いた。

yd_geki.jpg 東京大学の横山氏と、将棋ソフト「激指」(=コンピュータ画面)。激指は横山氏や鶴岡慶雅氏など、有志数人の手で開発されたソフトウェアだ。2008年5月に開催された「第18回世界コンピュータ将棋選手権」で優勝し、その後のエキシビジョンマッチでトップアマの清水上徹さんを倒して、棋界に衝撃を与えた

コンピュータはどう考えている?

 そもそも将棋ソフトは、どのような思考ルーチンを持っているのか。横山氏によると、ここでどんな手を指せばどんな局面になって、それが自分に有利か不利かを絶えず判定しているようだ。

 有利/不利の判定基準は、いくつかある。代表的なものは「駒得」(相手より飛車や角を多く持っているなど)であったり、「駒の利き」(飛車がいろんな場所に移動できるなど)であったりする。将棋では「終盤は駒得より速度」という格言があり、終盤になるほど相手玉へ迫る手が重要になってくる。将棋ソフトではこれを考慮するため、“進行度”と呼ばれる基準を用意。局面が序盤であるか、終盤かを判断して、終盤なら相手玉への攻撃を重視する、といった判断しているという。

 さらに激指オリジナルのアイデアとしては、どの局面が「確率が高いか」ということも考慮しているという。将棋には、「ここで指しそうな手」と「まず指さないであろう手」とがある。例えば中央で激しく駒がぶつかっているときに、ゆっくりと端歩を突くような手はあり得ない。このように、中央で戦いが始まれば「中央を中心に読む」といったアルゴリズムも持っているようだ。

 「羽生さん(羽生善治二冠)の棋譜集を持ってきて、『ここではこんな手を多く指した』といったデータを蓄積している。何%の確率でその手がありうるのかを判断して、20%の確率でありうるなら、それに応じた労力で手を読む、といったことをやっている」

yd_geki-c.jpg 激指の「思考過程」を公開。これによると、図の局面で一番「ありそうな手」は3五歩だと判断し、それを中心に読んでいることが分かる。2番手候補は2九飛。3番手は8七歩打のようだ。人間のように「第一感(相対したときに最初に浮かぶ考え)はこの手」といったプロセスを経て指しているのが面白い

なぜこんなに強くなった?

 なぜ、将棋ソフトがここまで強くなったのか。これについて横山氏は、ソフトとハード両面の理由を挙げる。

 ソフトに関しては、「人間の関与を減らすような方向性」(同氏)がうまくいったという。具体的には“機械学習”(マシン・ラーニング)というキーワードを挙げる。

 「例えば昔の激指は『こうなったら、歩を伸ばす』などと人間の手によって何千行というルールを書き、それによって判断を下していた。しかしそれだと労力もかかるし、複雑になる」。今ではそうではなく、勝手にソフトウェアが「こういう局面では、こう指すもの」と自動学習=マシン・ラーニングをして、ものごとを覚えて、判断していくのだという。

 「考え方としては、スパムフィルタに近い。パッと見で、スパムかそうでないか(=どの手を指すべきか)を分けていく」

 有名将棋ソフトであるBonanzaも、やはり別の自動化で成功した例だと横山氏は続ける。

 「Bonanzaの場合は、評価関数(局面の有利不利を判断する関数)を自動化している。これはエポックメイキングな変化で、(加藤アマを破った)棚瀬将棋も同様のアイデアを採用するなど、多くのソフトがボナンザの手法を採用している」

 ハードウェア面の進化も見逃せないようだ。具体的には、CPUの計算処理能力の向上ということになる。

 「コンピュータの対局では、8コアのXeon 3.2GHzが載ったMacを使っていた。1秒間に100万局面読める。考慮時間として100秒与えられれば、1億局面読めることになる」(同氏)

 これだけ計算が速ければ、各局面でしっかりと読みの入った好手を指すことができる。また、コンピュータが最も得意とする「ここで詰みがあるか、ないか」という判断についても「普通の対局に出てくるような局面なら、まず何秒もかからない。たいていは1秒以内に詰みを発見することが多い」という。

 コンピュータ性能を上げれば上げるほど強いのか? という質問に対して、横山氏は「それは、コンピュータの“ルート台数倍”ぐらいしか強くならない」とコメントする。

 「つまり、9台のコンピュータで計算すれば3倍の強さ。100台なら10倍ということになる」とのこと。とはいえ、純粋にマシン性能の部分で強くすることは可能なようだ。

       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

Loading

注目のテーマ