前編】将棋ソフトを800台つなげば、棋士800人分強くなる?

今年の3月から4月にかけて、プロ棋士とコンピュータ将棋ソフトが5対5の団体戦を繰り広げました。第2回将棋電王戦です。この勝負で、3勝1敗1引き分けと、将棋ソフトはプロ棋士に勝るとも劣らない強さを見せつけました。近年のコンピュータ将棋の発展はめざましく、人間を超えるかどうかというところが注目されています。ここでは、電王戦第2局に登場した将棋ソフトPonanza(ポナンザ)の開発者山本一成さんに、将棋好きでプログラミング経験もあるcakes編集長の加藤貞顕が、コンピュータ将棋ソフト開発について聞きました。

コンピュータの計算が速くなるだけでは、強くなるとは限らない

加藤 5月に行われた第23回世界コンピュータ将棋選手権で、Ponanza(ポナンザ)は2位に入賞、第2回将棋電王戦でもプロ棋士に勝利しました。Ponanza、本当に強いですよね。

山本 ありがとうございます。

加藤 Ponanzaは、どうしてこんなに強いのでしょうか?

山本 うーん、自分でもよくわかりません(笑)。Ponanzaが強いとしたら、多くの先人の知恵を借りているからだと思います。保木邦仁さんが開発した「Bonanza(ボナンザ)」(注)のメソッドを利用するなど、「巨人の肩に乗ってここまできた」という感じです。
注:コンピュータ将棋で初めて機械学習を取り入れた画期的なソフト

加藤 コンピュータ将棋を強くする要素というのは、どれだけ多くの手を読めるかという「読み」を深くすることと、局面がいいか悪いかを判断する「形勢判断」を正確にすること、の2つと考えればいいんでしょうか?

山本 そうですね。コンピュータ将棋では、読みは「探索」といい、形勢判断は「評価関数」がおこないます。その2つに加えて、コンピュータでもすべての手を読めるわけではないので、どの手を読むか、読まないかを判断するのも重要です。的はずれな部分をどんどん読んでいってもしょうがないですからね。

加藤 なるべくたくさんの手を速く読むためには、コンピュータの計算能力を強化する必要がありますよね。第2回電王戦の大将として登場した「GPS将棋」は、東大にある670台のコンピュータを接続して計算したことで話題になりました。

山本 たしかにハードの性能が上がれば、読める手の数は増えます。GPS将棋は、1秒で3億手読むと言われていました。でも計算速度が速くなると、それに比例して将棋が強くなるかといえば、そうでもないんですよ。GPS将棋を800台つないだからといって、800倍強くなるかといったらそうじゃないんです。

加藤 なるほど(笑)。

山本 私はよく、1人前の料理を2人でつくったら、1人の時に比べて2倍の効率になるでしょうか、という例えを使います。たしかにコンピュータをつなげると計算能力は上がるのですが、リソースを上手に割りふるのってむずかしいんですよ。
 次世代スーパーコンピュータの「京」を使ったらいいんじゃないか、と言われることもありますが、京を使ってもそこまで強くならないと思います。コンピュータにはそれぞれ得意な計算があり、京の計算能力は地球の環境シミュレーションなどには向いていますが、将棋には向いていない。イチローにサッカーをさせるようなものです。それでも普通の人よりは上手でしょうけれど(笑)。

Ponanzaと山本さんは似ている

加藤 いわゆるコンピュータ将棋プログラムの個性というのは、どういうところから出てくるのですか? いまのコンピュータ将棋は、保木邦仁さんが開発したBonanzaで用いられた、プロの棋譜から学習して評価関数をつくる手法を用いていますよね。学習の元にする棋譜が同じだと、同じような評価関数になってしまう気がします。

山本 おお、それはいい質問ですね。人間の棋士には個性があってそれを「棋風」と表現するのですが、コンピュータ将棋の場合は、主に評価関数によって棋風が生まれます。たとえば、そこを大きく左右するのがどういう局面を良いと判断するかなのですが、そういう部分の味付けは開発者によって異なるんですよ。たとえば、駒の利き、つまり駒がどこに動けるのかを評価に入れるかどうかなんて典型的な例ですが。

加藤 へえー! 駒の利きを評価していないプログラムがあるんですか。人間が将棋を指すときには、必ず意識するところですよね。

山本 もちろん、駒の利きで判断しているプログラムもありますよ。GPS将棋や電王戦第2回の第1局に登場した「習甦(しゅうそ)」などは、利きをベースに評価関数を生成しています。でも、Ponanzaは利きをほとんど使っていません。過去の棋譜から読み込ませた駒の配置パターンで評価しています。駒の配置がわかれば、駒の利きは結果的にすべて網羅できますから。

加藤 なるほど、そんなやりかたがあるんですね。で、過去の棋譜から判断とおっしゃいましたが、それだと今まで指されたことのない局面の判断に困ったりしないんですか?

山本 そうなんです。将棋の指し手は10の220乗あるといわれているので、プロの棋譜をいくら覚えさせても足りない。だから未知の局面でも正しい評価ができる力が必要なんです。未知の局面では、やはり利きが入ってるほうが強いんですよね。利きがわかると、ある程度類推ができますから。
 でも、利きをコンピュータ内で生成するのは、けっこう計算コストがかかるんですよ。そこにコンピュータのリソースがかなり使われてしまう。そうすると手の探索、つまり読みが浅くなる。だから、利きを評価に入れるかどうかは悩みどころなんです。本当は、利きの評価も含めて、もっといろんなことを試したいんですが、プログラムを書くことを考えるとなんでもやる訳にはいかない。

加藤 なんでも試すと、Ponanzaらしさが失われてしまうということはないんですか?

山本 Ponanzaは、「これがPonanzaだ」という美学がそんなにありません(笑)。こだわりがないのがこだわりというか、強くなれればなんでもいいんです。だから、2009年に開発した最初のバージョンと、今のPonanzaでは、全然違う評価の手法を採用していたりもします。

加藤 おもしろいですねえ。そうやって生まれたPonanzaの将棋は、人に例えるとどういう棋風なんですか?

山本 棋風というか、序盤が強いけれど終盤が弱いタイプです(笑)。

加藤 へえ! 将棋ソフトというのは、むしろ終盤が強いものだと思っていました。

山本 うーん、人間に比べると読み間違えはないかもしれないですが、他のコンピュータソフトと比べるとちょっと力弱い感じを受けるんですよ。実は、私の指す将棋も序盤はいいけど、終盤が弱いタイプで(笑)。Ponanzaって、楽観型なんです。ソフトは作者に似るのかもしれません。

加藤 山本さんは、コンピュータ将棋プログラムを開発する前から、将棋をずっとやっていたんですよね?

山本 はい。小学生のころからやっていました。

加藤 段位はどれくらいなんですか?

山本 「将棋倶楽部24(コンピュータ上で将棋の対戦ができるサイト)」や将棋対戦ゲームの「将棋ウォーズ」で五段くらいです。

加藤 おお! それはかなりすごい。県代表レベルかそれよりも強いくらいですね。山本さんは普段、将棋ウォーズの開発・運営をされているんですよね。僕も将棋ウォーズでよく将棋を指しているんですが、「棋神」という形勢が悪くなった時にコンピュータ側が五手ほど指してくれる機能が画期的だと思いました。判断に迷う局面で「棋神」を使うと、すごくいい手を指してくれますよね。こんな手があったのかと毎回驚いています。

山本 棋神って、中身はPonanzaなんですよ(笑)。最初は、ヒントを出すとどうかなどいろいろ考えたんですが、いっそ代わりに指したほうがわかりやすいと思ってああいう機能にしました。使っていただけているのを聞くとうれしいです。

加藤 そうか、Ponanzaに指してもらっていたのか! 強くて当然ですね。ネットでの将棋対局は「ソフト指し」(強い将棋ソフトを使って人と対戦をする不正)などの問題があったのですが、それをアイテム化して、楽しい機能にしてしまったのは画期的ですよね。すごくおもしろいと思います。

山本 ありがとうございます。棋神は課金アイテムとして販売もしているのでぜひご利用ください(笑)。

(中編へ続く)

ケイクス

この連載について

コンピュータ将棋ソフトはどこまで強くなるのか? —山本一成×加藤貞顕 対談

山本一成

2013年の3月から4月にかけて、プロ棋士とコンピュータ将棋ソフトが5対5の団体戦を繰り広げました。第2回将棋電王戦です。この勝負で、3勝1敗1引き分けと、将棋ソフトはプロ棋士に勝るとも劣らない強さを見せつけました。近年のコンピュータ...もっと読む

関連記事

関連キーワード

コメント

yaiask 去年の電王戦後に書いた、ポナンザ山本一成さんの記事。コンピュータ将棋についての話はやっぱりおもしろいと思うんだなー→ 3年以上前 replyretweetfavorite

shogi_pineapple でも計算速度が速くなると、それに比例して将棋が強くなるかといえば、そうでもないんですよ。GPS将棋を800台つないだからといって、800倍強くなるかといったらそうじゃないんです。(山本一成)https://t.co/aVG9WNY6A7 3年以上前 replyretweetfavorite

Ferry_z ああ、ゾクゾクする:) /  4年弱前 replyretweetfavorite