将棋電王戦への道 :コンピュータ将棋に革命をもたらしたボナンザのアルゴリズム

写真拡大

プロ棋士とコンピュータ将棋ソフトの対局「将棋電王戦」はご存知でしょうか? 2012年より毎年ニコ生で完全中継されてきた「電王戦」シリーズは、将棋というどちらかと言うとマイナーな競技ながら、人類vsコンピュータという図式が反響を呼び、60万PVを超える視聴者数を獲得。

今年4月に「将棋電王戦FINAL」が行われ、惜しまれつつ終止符が打たれるかと思われましたが、ドワンゴと日本将棋連盟との協議により、趣向を変えて存続が決定。新たにプロ棋士代表を選ぶ新棋戦「叡王戦」を立ち上げ(すでに本選出場者16名が決定)、12月に決定する優勝者と11月21日より開催される「第3回将棋電王トーナメント」で優勝したコンピュータ将棋ソフトが来年春に対局します。

果たしてコンピュータ将棋ソフトは人類を凌駕してしまうのでしょうか? ここでは「第3回将棋電王トーナメント」から「叡王戦」決勝、「第1期 将棋電王戦」へ向けて、これまでの将棋ソフトや電王戦の歴史を振り返りながら、コンピュータ将棋ソフトの現状と電王戦の楽しみかたを紹介していきます。



偶然から生まれた初めての将棋ソフト

コンピュータチェスは1950年代、コンピュータ囲碁は1960年代から研究されていましたが、コンピュータ将棋ソフトは1974年と意外と歴史は浅く、まだ半世紀経っていません。最初のコンピュータ将棋ソフトを作ったのは、当時早稲田大学院生だった瀧澤武信氏(現早稲田大学教授でありコンピュータ将棋連盟会長)のグループ。作家の斎藤栄氏が日本電気(現NEC)の社内報に載せるネタとして「江戸時代の棋士と今の棋士が戦ったらどうなるか」という興味本位から、たまたま瀧澤武信氏のグループに依頼がきたことから生まれました。

「汎用機」と呼ばれる大型コンピュータを使ってプログラミングしましたが、将棋のルールに則ってゲームが進めするのがやっとで、一手先しか読めず弱すぎて話しにならなかったそうです。ただ、これをきっかけに研究を続け、「コンピュータ将棋協会」を発足させました。当時は人間に勝つのは50年はかかると思っていたそうです。

コンピュータ将棋協会会長・瀧澤武信氏

その後、汎用機からマイコン、パソコンと時代とともにコンピュータは変化し続け、扱いやすく性能もアップし、市場にも将棋ソフトが出回るようになってきました。1990年からコンピュータ将棋協会が主催する「世界コンピュータ将棋選手権」を開催。参加チームは6つという小さな規模でしたが、コンピュータ将棋ソフトが強くなっていく第一歩を踏み出したのです。

コンピュータ将棋協会のサイト

1997年にIBMの『Deep Blue』がチェスで世界チャンピオンに勝利したことは、世界中に大きな衝撃を与えました。IBMは人間に勝つために専用のコンピュータを制作して実現させましたが、コンピューターが人間の知性を超えるときがこんなに早く訪れようとは思ってもみなかったことでしょう。今では人間が勝てない領域まで突き進んでしまいました。

Deep Blue記念サイト

一方、コンピュータ将棋ソフトはというと、21世紀に入ってもたいして強くはありませんでした。駒の価値を数値化して局面ごとに評価し判断させる手法を用い、「人間ならこう考える」という判断を加えて最善手を見つけていましたが、開発者が将棋に強くなければならず、読みも安定しないため、初心者に通用しても、アマレベルやプロ棋士に対してはまったく歯が立ちませんでした。

2002年の第12回世界コンピュータ選手権で優勝したのが鶴岡慶雅氏の「激指」です。「実現確率探索」という手法で、プロの棋譜をたくさん集め、ある局面で指しそうな手を統計学的に集計。プロがあまり指さない(確率が低い)手は切り捨て(一定の確率を下回ったものを排除)、いい手だけを深く読み進めることで、最善手を導きやすくしたのが特徴です。「プロ棋士が指す手はいい手」という前提のもとの考え方ですが、この後、激指は上位入賞の常連となり3度の優勝を飾っています。また、このころアマ段位までレベルが上がり、アマやプロ棋士と対局して善戦したためか、2005年には日本将棋連盟が、プロ棋士が公式の場でのコンピュータとの対戦を禁止しました。

「激指」のサイト

アルゴリズム革命が起こる

コンピュータ将棋ソフトが強くなる光明を見出した激指ですが、さらに革命が起きたのが、2006年に登場した保木邦仁氏の「Bonanza」です。これまでコンピュータ将棋ソフトを開発してきた人たちは、プログラミングするためにも、ある程度将棋が指せましたが、保木氏は理学研究者(当時)であり、将棋には興味がありませんでした。そんな保木氏が革命をもたらしたのは、コンピュータチェスの考え方を将棋に取り入れたことです。そのひとつが「全幅検索」という、合法手はすべて読むという荒業でした。そもそも、将棋はチェスに比べて合法手が格段に多く、終盤になってもその数は減ることがありません。このためすべての手を読むという行為は、処理に時間がかかってしまうため、これまで避けられてきました。ところが、読む際にさまざまな条件で絞り込んで評価する時間と、単純に読んで評価する時間とでは、あまり変わらないため、同じ時間ならプロも読まない最善手が見つかる可能性がある全幅検索のほうが有利になります。もちろんコンピュータの進歩により処理能力が格段にアップしてきたのも、この全幅検索導入の後押しになったことは言うまでもありません。2006年というと、インテルがCore 2 Duoを発表した年です。

もうひとつが「機械学習」です。評価関数と呼ばれる最善手を見つけるための関数の精度を上げるため、評価する項目を従来の1000程度から1万以上にアップ。プロ棋士の棋譜を6万局も読み込ませ、プロが指しそうな手を選択するようパラメータを機械的に調整させることで、各局面で最適な手を導き出すようになりました。プロっぽい手を指すことが多くなったと言われてるの、この機械学習のおかげです。

「Bonanza」のサイト

こうして「Bonanza」は、第16回世界コンピュータ将棋選手権で優勝を果たします。そんなソフトの根幹となるソースを2009年に惜しげもなくオープンソース化し、自由に利用できるようにしたことも、コンピュータ将棋ソフトが飛躍的に躍進するきっかけを与えてくれました。近年の多くの将棋ソフトが、このBonanzaをベースにしています。

2007年には渡辺明 竜王(当時)とBonanzaが対局し、善戦したものの渡辺竜王の勝利しました。2008年には激指がアマトップに勝利、2010年には4つの将棋ソフトの合議制で指し手を決める「あから2010」が清水市代女流王将(当時)に勝利。緩やかな進化だったコンピュータ将棋ソフトが、アルゴリズムの革命とコンピュータの進化によって急激にコンピュータ将棋ソフトとプロ棋士との差が縮まってきました。

渡辺明 棋王​

そして2012年。ドワンゴと日本将棋連盟の共催で実現したのが「将棋電王戦」です。当時すでに引退していた米長邦雄日本将棋連盟会長が、2011年に第21回世界コンピュータ将棋選手権に優勝した伊藤英紀氏の「ボンクラーズ」と対局することになりました。次回は、米長会長が電王戦に込めた思いについて語ろうと思います。

第1期叡王戦サイト

第3回将棋電王トーナメントサイト