今年の3月から4月にかけて、プロ棋士とコンピュータ将棋ソフトが5対5の団体戦を繰り広げました。第2回将棋電王戦です。この勝負で、3勝1敗1引き分けと、将棋ソフトはプロ棋士に勝るとも劣らない強さを見せつけました。近年のコンピュータ将棋の発展はめざましく、人間を超えるかどうかというところが注目されています。ここでは、電王戦第2局に登場した将棋ソフトPonanza(ポナンザ)の開発者山本一成さんに、将棋好きでプログラミング経験もあるcakes編集長の加藤貞顕が、コンピュータ将棋ソフト開発について聞きました。5月に行われた第23回世界コンピュータ将棋選手権で、Ponanza(ポナンザ)は2位に入賞、第2回将棋電王戦でもプロ棋士に勝利しました。Ponanza、本当に強いですよね。ありがとうございます。うーん、自分でもよくわかりません(笑)。Ponanzaが強いとしたら、多くの先人の知恵を借りているからだと思います。保木邦仁さんが開発した「Bonanza(ボナンザ)」(注)のメソッドを利用するなど、「巨人の肩に乗ってここまできた」という感じです。コンピュータ将棋では、読みは「探索」といい、形勢判断は「評価関数」がおこないます。その2つに加えて、コンピュータでもすべての手を読めるわけではないので、どの手を読むか、読まないかを判断するのも重要です。的はずれな部分をどんどん読んでいってもしょうがないですからね。たくさんの手を速く読むためには、コンピュータの計算能力を強化する必要がありますよね。第2回電王戦の大将として登場した「GPS将棋」は、東大にある670台のコンピュータを接続して計算したことで話題になりました。たしかにハードの性能が上がれば、読める手の数は増えます。GPS将棋は、1秒で3億手読むと言われていました。計算速度が速くなると、それに比例して将棋が強くなるかといえば、そうでもないんですよ。GPS将棋を800台つないだからといって、800倍強くなるかといったらそうじゃないんです。私はよく、1人前の料理を2人でつくったら、1人の時に比べて2倍の効率になるでしょうか、という例えを使います。たしかにコンピュータをつなげると計算能力は上がるのですが、リソースを上手に割りふるのってむずかしいんですよ。次世代スーパーコンピュータの「京」を使ったらいいんじゃないか、と言われることもありますが、京を使ってもそこまで強くならないと思います。コンピュータにはそれぞれ得意な計算があり、京の計算能力は地球の環境シミュレーションなどには向いていますが、将棋には向いていない。イチローにサッカーをさせるようなものです。それでも普通の人よりは上手でしょうけれど(笑)。いまのコンピュータ将棋は、保木邦仁さんが開発したBonanzaで用いられた、プロの棋譜から学習して評価関数をつくる手法を用いていますよね。学習の元にする棋譜が同じだと、同じような評価関数になってしまう気がします。おお、それはいい質問ですね。人間の棋士には個性があってそれを「棋風」と表現するのですが、コンピュータ将棋の場合は、主に評価関数によって棋風が生まれます。そこを大きく左右するのがどういう局面を良いと判断するかなのですが、そういう部分の味付けは開発者によって異なるんですよ。駒の利き、つまり駒がどこに動けるのかを評価に入れるかどうかなんて典型的な例ですが。駒の利きを評価していないプログラムがあるんですか。人間が将棋を指すときには、必ず意識するところですよね。駒の利きで判断しているプログラムもありますよ。GPS将棋や電王戦第2回の第1局に登場した「習甦(しゅうそ)」などは、利きをベースに評価関数を生成しています。Ponanzaは利きをほとんど使っていません。過去の棋譜から読み込ませた駒の配置パターンで評価しています。駒の配置がわかれば、駒の利きは結果的にすべて網羅できますから。そんなやりかたがあるんですね。将棋の指し手は10の220乗あるといわれているので、プロの棋譜をいくら覚えさせても足りない。未知の局面でも正しい評価ができる力が必要なんです。未知の局面では、やはり利きが入ってるほうが強いんですよね。利きがわかると、ある程度類推ができますから。利きをコンピュータ内で生成するのは、けっこう計算コストがかかるんですよ。そこにコンピュータのリソースがかなり使われてしまう。すると手の探索、つまり読みが浅くなる。利きを評価に入れるかどうかは悩みどころなんです。本当は、利きの評価も含めて、もっといろんなことを試したいんですが、プログラムを書くことを考えるとなんでもやる訳にはいかない。Ponanzaは、「これがPonanzaだ」という美学がそんなにありません(笑)。こだわりがないのがこだわりというか、強くなれればなんでもいいんです。2009年に開発した最初のバージョンと、今のPonanzaでは、全然違う評価の手法を採用していたりもします。棋風というか、序盤が強いけれど終盤が弱いタイプです(笑)。将棋ソフトというのは、むしろ終盤が強いものだと思っていました。うーん、人間に比べると読み間違えはないかもしれないですが、他のコンピュータソフトと比べるとちょっと力弱い感じを受けるんですよ。実は、私の指す将棋も序盤はいいけど、終盤が弱いタイプで(笑)。Ponanzaって、楽観型なんです。ソフトは作者に似るのかもしれません。小学生のころからやっていました。「将棋倶楽部24(コンピュータ上で将棋の対戦ができるサイト)」や将棋対戦ゲームの「将棋ウォーズ」で五段くらいです。県代表レベルかそれよりも強いくらいですね。山本さんは普段、将棋ウォーズの開発・運営をされているんですよね。僕も将棋ウォーズでよく将棋を指しているんですが、「棋神」という形勢が悪くなった時にコンピュータ側が五手ほど指してくれる機能が画期的だと思いました。判断に迷う局面で「棋神」を使うと、すごくいい手を指してくれますよね。こんな手があったのかと毎回驚いています。棋神って、中身はPonanzaなんですよ(笑)。最初は、ヒントを出すとどうかなどいろいろ考えたんですが、いっそ代わりに指したほうがわかりやすいと思ってああいう機能にしました。使っていただけているのを聞くとうれしいです。ネットでの将棋対局は「ソフト指し」(強い将棋ソフトを使って人と対戦をする不正)などの問題があったのですが、それをアイテム化して、楽しい機能にしてしまったのは画期的ですよね。すごくおもしろいと思います。ありがとうございます。棋神は課金アイテムとして販売もしているのでぜひご利用ください(笑)。山本一成2013年の3月から4月にかけて、プロ棋士とコンピュータ将棋ソフトが5対5の団体戦を繰り広げました。第2回将棋電王戦です。この勝負で、3勝1敗1引き分けと、将棋ソフトはプロ棋士に勝るとも劣らない強さを見せつけました。いっせい)プロ棋士に初めて勝利した現在最強の将棋プログラム「Ponanza」作者。HEROZ(株)リードエンジニア。去年の電王戦後に書いた、ポナンザ山本一成さんの記事。計算速度が速くなると、それに比例して将棋が強くなるかといえば、そうでもないんですよ。GPS将棋を800台つないだからといって、800倍強くなるかといったらそうじゃないんです。記事の書籍化のお問い合わせcakes。