公立はこだて未来大学特別講演会 「ここまできたコンピュータ将棋」

未来大学にはコンピュータ将棋の第一人者である松原教授がいるので、ちょくちょく将棋関連の講演会があるので毎回見に行っています。今回は電王戦で大将を務めたGPS将棋のメイン開発者である東京大学の金子准教授が講演をするために来函されるということで、万難を排して聞きに行って来ました。
18時30分の講演開始にギリギリ間に合って会場に入ると、だいたいは未来大学の学生で、あとはチラホラと将棋好きのお爺さんが座っている感じでした。

プロ棋士の背中を追いかけて

最初の一時間ほどで、松原教授の「コンピュータ将棋とは」という内容の講義が行われました。
1950年台に人工知能を作ろうという研究が始まり、その中で「ルールが明確、人間の名プレイヤーを真似できる、研究していて面白い」などの理由から、AI研究の前段階としてチェスのプログラムが作られたそうです。
「チェスはAI研究にとってのハエ」という言葉があり、生命科学の実験がハエを元に行われるように、実験材料として様々な手法が用いられたそうです。最初は人間がどう考えているか、昔からある格言をどう取り込むかといった人間の模倣から始まりましたが、コンピュータが強力になるにつれて力任せの探索主導型へと進化していったとのことでした。ディープブルー以降もどんどんコンピュータが強力になっていったため、現在は一般的に市販されているCD-ROMのチェスプログラムでさえ世界チャンピオンよりも強く、もうすぐスマートフォンのアプリでもそれが実現できるとのこと。
ところが、そのぐらい強くなっても「必勝法」を解析するのは無理そうだ、というのが松原教授の考えでした。2007年にはチェッカーの完全解析が済み、オセロはもう少しで解けそうだけど、それ以上の難しさになると場合の数が多すぎて、完全解析できないのではないかとのことでした。
これを聞いてPonanzaの山本一成さんが「将棋の完全解析をするよりも人間の知能を解析するほうが早い」と言っていたことを思い出しました。物理的に無理なことは無理だけど、プログラムで解決できそうな部分は解決可能だと考えるところがプログラマーらしいな、と感心しました。
 

GPS将棋について

基礎を一時間ほどやってから(長かった・・・)、ようやく金子さんの出番です。
GPS将棋の最終目的が「会話ができるようになりたい」というのはちょっと和みました。時々Twitterに出没して「きっと狙いは○○」とか「金が持ち駒にあれば詰み」とか喋らせているのは、その一環なんだそうで。単に強いプログラムには自分としては興味がなくて、たとえば人と指していて「こういうふうに指すともっといいよ」とか、待ったではなくて、指しながら感想戦をするような仕組みができたらいいなと思っていたので感心しました。
評価関数については今までよく知らなかったのですが、例えばこのような図があったとして(図は棋聖戦第二局より引用)、
http://kifulog.shogi.or.jp/photos/uncategorized/2013/06/22/74.gif
「3三の金は4ニの銀で紐がついてるから+5点」とか「6三の成銀は自分の玉に近すぎるから−15点」とか、駒の配置を点数に置き換えて合計して、局面の有利不利を割り出しているそうです。昔はこの表を手作りして、テストするたびに作り変えていたのを、ボナンザが開発した「自動学習」という手法によって、棋譜を解析していくことで「評価関数表を自動生成」できるようになったことで一気に強くなったとのことでした。いつも「自動学習」という言葉だけを聞いてちんぷんかんぷんだったのが、ようやく具体の中身がどういうものなのかを理解することができました。
 
GPS将棋は、コアをどんどん増やすことで強くする方針で、コンピュータ将棋選手権に参加した頃から一貫して、参加チームの中で最大のコア数を誇っていたとのことでした。電王戦ではその傾向をフルに活用して700台のPCをつなぐことになりましたが、rubyperlといった言語では700台のマシンを統合できないことがわかったり、Amazon EC2を使ったら攻撃だと思われてシャットダウンされたりと、力ずくでは簡単と思われがちだけど、作成にあたっては様々な苦労があったのことでした。
そもそも700台のマシンの電源を入れて歩くのに1時間半もかかるし、このぐらいの台数があると何台かは正常に動いてくれないのが普通なので、堅牢で単純でパワーを発揮できる手法を考えることが難しかったとのことでした。
イデアとしてはまず、700台のマシンでGPS将棋を動かして、多数決で指し手を決める方法を考えたそうですが、全く同じソフトでは意味が無いし、バージョン違いの700種類の異なるGPS将棋を、弱くせずに作成することが困難なためこの方法は取り入れられませんでした。
その代わり、一手ごとに一台のパソコンに局面を解析させ、次の手は次のパソコン、というようにゲーム木のノード一つ一つにパソコンを一台ずつ割り当てることにしたそうです。この方法による狙いの一つは、プロ棋士の読みのさらに先を行くことでした。どんなにいい手があってもそれがプロの読みの範疇であれば「お釈迦様の手のひらで転がされている」だけにすぎない場合もあります。良さそうな展開については集中的にパソコンを割り当て、人間の読みの限界を超えた先までを読ませるように工夫したそうです。
台数に制限がある中でさらに先の先を読ませるために、最初の方でダメそうな手を読んでいたパソコンを、その手を読むのは中断させて、良さそうな手を読んでいるパソコンの先を読ませるようにしたそうです。さらに、手番が進んでもそれまでその手を読んでいたパソコンには読みを継続させることで、一手30秒の制限があっても、一手前から考えていれば一手1分で読める、という方法を取り入れたそうです。
 
例えば相手の▲2六歩に対して△3四歩と△8四歩を読んでいて、△3四歩なら▲2五歩に△3三角かなと考えていて、△8四歩なら▲2五歩に△8五歩だなと考えていたとします。
この時に△8五歩で相掛かりにしたほうがよさそうだなと思ったら、△3四歩からの読みに割り当てていたのをやめて、△8五歩のあとは▲7八金△3二金▲2四歩か、と読ませるのが最初の方の手法です。
さらに自分が△8四歩を指したあとも▲2五歩以降を読んでいたコンピュータにはそのまま読みを継続させておくことで、実際の思考時間を長くとる、というのが後の方の手法です。
これを聞いていてふと思ったのが、「人間だったら普通にやっていることじゃない?」でした。まずそうなのは考えないでよさそうな先を考えたり、相手が考えている時間にさらに先を想像したりとか、将棋を指している間に普通にやっていることです。それを真似できるようになってきたということは、着実に機械は人間の脳を模倣できるようになってきているということです。
 
このあとは実際の電王戦の際の読み筋を紹介していました。700台ものパソコンがあっても誰も思わしい手が見つけられず、そのうちの1台だけが考えた1四歩を指してしまったり、わからないときは結構適当に指しているんだ、というのが面白く、「たまたま上手く転がったから勝てたものの、何戦かやったら全部勝てるわけではないと思います」との金子さんのコメントが印象的でした。
 

質問タイム

金子さんの講演が終わっていよいよ質問タイムです。自分はこういう講演会では「いかに良さげな質問をするか」を生きがいにしているので、前の日からどんなことを聞こうか考えてきました。
「電王戦でクラスタを組んでいるのを見て、一つ一つのパソコンはそうでもなくても全体で力を発揮するのは、人間の脳の働きに近いと思いました。そこで質問なのですが、コンピュータ将棋の研究はもともとAI開発からであるとのことでしたが、金さんとしては現在のコンピュータ技術は、人間の脳の何%くらいまで解析できていると思いますか?」
というのが自分の質問でした。羽生さんが七冠を制覇した時に「将棋をどのぐらい理解していますか」と聞かれて「7%くらい」と答えたことを思い出して考えました。
これに対して金子さんは難しい質問ですね、と前置きして答えたのは次のようなことでした。
「設問がしっかりしている問題、例えば将棋やチェスといったゲームならばコンピュータが有利だが、何が正解なのかわからない局面、例えば空気を読んだり、人を笑わせたり、そういった局面ではほとんど無力なので何パーセントとも言えない」
とのことでした。そういう意味ではやはり、コンピュータが偉いのではなく、コンピュータに問題設定を与える人間が偉い、ということになるのだなと思っているうちに講演会は終了しました。
 
内容は充実していて短いくらいでしたが、せっかく未来大学で講演をするのであれば、もっと踏み込んだ内容でも良かったかなと思ってしまいました。わからない人は置いていってもいいじゃん・・・。それでも、インターネットで記事になっている内容よりも中身が濃くて勉強になりました。これ以上の中身のものになると、それこそ東大に入らないと聞けないのかねえ。ハードル高杉。田舎に住んでいると面白い話を聞ける機会はめったにないので、未来大学が地元にあって良かったと思っています。これまで聞きに行った講演会の内容はこちらからどうぞ。
プロ棋士はどう考えているか 〜前編〜 - 鵜の目鷹の目
プロ棋士はどう考えているか 〜中編〜 - 鵜の目鷹の目
プロ棋士はどう考えているか 〜後編〜 - 鵜の目鷹の目
公立はこだて未来大学開学10年記念講演会 羽生善治「情報社会における将棋の未来」〜前編〜 - 鵜の目鷹の目
公立はこだて未来大学開学10年記念講演会 羽生善治「情報社会における将棋の未来」〜後編〜 - 鵜の目鷹の目