アブストラクトゲームの代表とも言える将棋とコンピューター技術の祭典、当博物館が見逃すことはできません。
ということで、2010年5月2日~4日に電気通信大学
(東京調布)で開催された、第20回世界コンピュータ将棋選手権の決勝の5/4を観戦してきました。
電通大の伊藤先生のご配慮で、「アブストラクトゲーム博物館」は、プレスとして取材できることになりました。
大会の様子は、初日からネットで中継されていました。
5/4の決勝、会場に着くと、すでに朝から大勢の人、近年著しく成長したコンピューター将棋への関心が伺えます。取材した、大会最終日の決勝は、8チーム(1次、2次予選を勝ち残った5チーム+シード3チーム)による総あたり戦です。
選手権への参加プログラムは43チーム(うち招待プログラム1)ありましたが、将棋というゲームの特殊性からか、海外勢は少数。 アメリカから2チーム、イギリスとオランダから各1チームを除き、すべて日本のチームでした。 また、3階会場を見渡した限り、関係者も含め、女性の姿は圧倒的に少ないです。*1
会場は、1階の一般の方向けの解説室と3階の大会会場、双方をWebカメラや、観戦ソフトで接続してお互いの様子がわかります。
一般の将棋ファン向け1階会場では、子供からお年寄りまで、さまざまな年齢の方々が来場して対局中継とプロ棋士による解説を楽しんでいました。 世界コンピュータ将棋選手権ということで、ソフトウェア・エンジニアだろうと思われる男性たち多数、後は学生さんでしょうか。年配の方々も多く見られます。お父さんの膝に抱かれて熱心にプロジェクターを見つめる小さな男の子や、おじいさんと仲良く来場していた女の子が印象的でした。
感心したのは、プロ棋士の方々の、分かりやすい解説です。 持ち時間は25分ですので、一局は45~50分程で決着します。 序盤からすごいスピードで、指し手が進められていきます。 早くから定跡を外れ力将棋になる対局もめずらしくありません。 高い棋力のコンピューターによる指し手が進んでいきますので、 盤面の変化について行くのが大変です。 しかも、プロジェクターで映し出されたモニター上では、同時に4局が進行しています。 ある対局のある一手についてちょっと考えているうちに、目にも留まらぬ速さで進んでおり、まったく追いつけなくなってしまうのです。
棋士の方の解説もかなりのスピード、当然私たちにとっては、 形勢や手の良し悪しなんてきちんと判断できません。
分かりやすく解説するのはさぞ大変であろうと思うのですが、プロ棋士の方々はさすがです。
特に勝又六段は、話もうまい上、コンピュータの指し手をとらえて、 過去のプロ棋士の対局中に存在した似たような手筋を、
膨大なアーカイブの中からタイムリーに見つけ出し、
一般の人にもよく分かるように説明してくださるのです。本当に見事でした。
私たちは、3階の取材受付にて受付。3階の大会会場は、参加者、関係者、棋士の方達で活気があふれています。 年1回の大会ということで、出場チームにとっては1年間の成果が試される場です。会場には、「ここまできたぞ」「いよいよ決勝」という高揚感、ライバル・チームたちも含めていっしょに戦ってきた仲間たちが醸し出す一体感があふれていました。
1階の解説室よりも、3階の大会会場の方がにぎやかです。 考えてみるとあたりまえなのですが、プログラム同士が対戦するのですから、 ログインして接続(試合が開始)したら、人は対局を見つめている他に、 何もすることがありません。(勝つためにできることは、すべて前日までに終了しているわけです。) あちらでもこちらでも、ライバルチーム同士が、自分たちのプログラムの戦いぶりを仲良くいっしょに観戦しながら、 アタマをひねったり、歓声を上げたりしています。 対局中の選手(コンピューター)達には、こうした声が聞こえませんので問題ありません。 皆さんあちこち動きまわってはモニターを覗き込んで、同時に進行する4対局について、 隣にいる人を捕まえてそれぞれの読みや思い思いの感想を述べ合うなど、本当に楽しそうです。
たくさんの試合を効率的に時間どおりに消化しながら、一般の人も、出場者も、関係者も、みんなが楽しむ、 ということを見事に実現させていました。 今年の開催は、電通大。大学での開催は、本選手権の趣旨に合致していますし、 学問の香りがして、大変よいと思いました。
プログラムは人と違って、肉体的に疲れたり、精神的に引きずったり…ということがありません。 決勝は8チームの総当り戦なので、1チーム7局ずつ戦うことになります。人であれば、1日に7局、集中力を失わず指すのは到底不可能でしょう。
棋士みなさんの解説から分かる共通な点に、人間の上級者は、 動揺する、動揺させる、後悔する、後悔させるなど、 心理面で影響に配慮した指し手を選択していることや、 対局におけるコンテキストを考慮していることがわかります。 コンピューターは、手番における局面を客観的にのみ判断するので、 人と対戦する場合違います。 片上六段によると、 「人は形勢を直感で判断するが、コンピュータはそのときそのときでベストと判断する手を指す。 昔は駒の損得で判断していたが、今は駒の働きを重視する、という形で進歩している。」そうです。
Chessの世界チャンピオンだったKasparov*2もDeep Blueに敗れた1997年の対局後、 「Deep Blueとの対戦は、 毎局まったく別の個性との戦いだった」*3*4と語っています。 人間同士では、当然この人は振り飛車党だからこの作戦でいこうなど、 対戦相手によって戦形を選択して対戦します。番勝負であれば、 前回と同じ戦術で行こうとか、変えようとかいろいろと考えます。 それぞれのプログラムは、対戦相手の個性を(プログラム内で、 もしくは対戦前に事前に選択)考慮して戦形を決めているのでしょうか、 本大会の観戦中に興味がわいてきました。
今回は二次予選8位でした、あと一つ勝って順位が上がっていたなら決勝進出というところで、おしかったですね。
昨年に続く出場でした。昨年も予選敗退でしたが、 Bonanza作者の保木さんには、一年でこんだけじゃ駄目だって、言われちゃいました。 より強くするためには、評価関数と、大局観の強化が課題です。
参加表を見ると、個人参加と、チーム参加とあります。山本さんは個人での参加ですね。山本さんから見た違いを教えてください。
一人なら、すべて自分で決めていけるので、迅速な対応ができることがよいことです。 チームでは、意見の統一をしなければならないので、まとまらずにプロジェクトが停滞 してしまうこともあります。
チームでやることの最大の長所は、一人でプログラムを作っていて心が折れそうになった時に支えが居ることです。
次に、分業できることは大きな長所です。ざっと分類するだけでも、強い将棋プログラムを実現するには異なるスペシャリティーが必要です。例えば、
これらのことを、(ボンクラーズの伊藤英紀さんを指して)一人でやりのけてしまうすごい人もいますが、通常はなかなか難しいです。伊藤さんの場合、ハードウェアまで作って参加しますから...
Chess、将棋、囲碁などを比較して、AIプログラミングの違いを教えていただけますか。
Chess < 将棋 < 囲碁*5 の順にどんどん難しくなります。 将棋の終盤はChessに比べて、局面が収束しにくい*6のですが、駒の働きがChessよりも弱いものが多く、終盤うまい具合に収束していきます。
囲碁では、局面評価を諦めるという大胆な発想が注目されています。簡単に言うと、適当に着手した結果、後にその手が有利になるのか不利になるのかをシミュレーションして、着手の良し悪しを判断するのです。 これは、モンテカルロシミュレーションというやりかたです。*7 こうした戦略をとるAIを用いて、9路盤なら人間相手に十分な強さになっているそうです。
将棋は、2005年のBonanza出現以降、機械学習による評価関数の強化が主流です。 *8 裏返すと現在は、だれでもよい評価関数を作ることができる環境にあります。 ちなみに自分がはじめて作ったプログラムは、8枚落ち*9でもぼくに勝てませんでした。
すこし脱線
「アブストラクトゲーム博物館」の方たちは、大手ゲームソフト会社におられたんですよね。 機械学習は、RPG*10などの制作においてNPC*11の制作にも応用されていませんか。
日本型RPGなどでは、あまり例がないかもしれません。欧米型のゲームでは、プログラムの制御に重きを置く傾向があります。(例えば、Blizzardのゲーム、Diablo や Star Craft などでは、有効な手法かもしれません。)
一方、先ほどの分業については、コンシューマーゲーム業界は、とても進んでいます。RPG制作では、ワールドマップ, フィールド, バトル, メニューなど、担当者が異なりますし、それぞれのパートを複数で作業することもあります。また、これらのインテグレーションに責任を持つメインパート担当者もいますね。
メニューやメッセージシステムは、独立して作るほど複雑なのでしょうか。
ゲーム中のダイアログは、既存のフォントを表示することはあまりなく、フォントを個別に用意します。ユーザー体験を重視して、文字もアートの一部としています。また、多カ国語対応を考えると、ダイアログなどの大きさも言語毎に変わってきますので大変です。
もうひとつの主流は、クラスタ化によるハードウェア性能/資源の投入です。 Team GPS, Team Bonanzaなどは、複数のCPU, コアだけでなく、コンピューターを並列に接続しています。 手を検索するAIプログラム技術では、単純な並列計算による評価だけでは効率があがりません。手を探索しているときに、特定の手が有効になると、どこかのnode以下がすべて不要になるようなことが頻繁におこります*12*13。不要になったリソースを速やかに解放して、再利用する技術がそれほど単純で簡単ではありません。
今後の抱負をお聞かせください。
次回は、優勝を目指します!!
楽しみですね、今後の活躍を期待します。
第5局、前回はじめて決勝に進出した習甦(Shueso : シュウソと読むそうです。)は全勝、 優勝経験も豊富な激指は昨年優勝のGPS将棋に第2局で敗れてここまで1敗、 この対決を制したのは、激指でした。 激指は、そのまま残りの大局を勝ち優勝。習甦も6勝1敗でしたが、GPS将棋は途中ボンクラーズに敗れて5勝2敗、直接対局の結果から、激指が優勝しました。
芝浦将棋は、初出場での検討でした。
1位から3位までが、次回決勝戦にシードされます。
コンピュータ将棋選手権は、ハードウェアの性能に制限を設けない無差別級の戦い。 ()内の数字は、前がCPU数、後ろがコア数。数字がないものは、複数のサーバーを組み合わせたクラスタ構成。
Open SourceのCSAライブラリを用いているのが、 GPS将棋 = osl-for-csa, ボンクラーズ = bonanza, Bonanza Feliz = bonanza。
習甦 竹内氏, ボンクラーズ 伊藤氏, YSS 山下氏は単独の参加、それ以外はチームでの参加。
2010年4月に、情報処理学会がトッププロ棋士に挑戦状を手渡したこともあるのか、 にわかにコンピューターと人類の勝負への期待が高まってきました。 館長等は、2002年の国際将棋フォーラムで開催された「コンピュータソフト王者決定戦」を観戦しましたが、その時とは比べ物にならないほど強くなっています。 将棋においては、あと数年でコンピューターが人類を凌駕する時がやってくるに違いありません。
これは、AI研究者からすれば、三十余年にわたって数々の英知を、 ソフトウェア+ハードウェアに注ぎ込んできた結果、 ようやくたどり着いた頂です。 機械が進歩することで、人類が取り残されてしまうかのような印象は確かにありますが、 その機械を作っているのは人類、つまり、棋士=人類 対 研究者=人類 の戦いです。
1996年、Deep Blue 対 Kasparovに、「機械 対 人類」と世界中に注目され、Kasparovは機械の挑戦をしりぞけました。しかし、翌1997年の再戦ではコンピューターが勝利したのです。 その結果を、私たちも含め情報システムを生業としている者の多くは、複雑な思いで見ていました。 Deep Blueは、IBM専用のハードウェアを使い、Chessのグランドマスターなど多数の英知を結集したドリームチームでした。 Chessでは、その後すぐにPCソフトがグランドマスターと互角に戦うレベルに到達しました。 コンピューターがあまり強くなりすぎてしまうと、Chessへの人々の関心が薄れてしまうかという危惧はありました。しかし、その後のChessソフトは、強いということよりも、 人の能力を向上させる方向に技術を磨き、よりよきトレーナーやデータベースとして高品質なソフトウェアや専用ハードウェア等の商品が発展しました。 KasparovもAdvanced Chess*14を提唱し、コンピューターの支援によって発展的にChessを楽しみ、人の能力を引き出すことができるだろうといった発言もしています。
これまでのコンピューター将棋の発展は、今回で20回目になるコンピュータ将棋選手権によって牽引されてきました。多くのクラスター化やアルゴリズムなどの技術発展が推進されました。Kasparovを倒したIBMのドリームチームによるコンピューターChessの進歩とは異なり、コンピューター将棋は技術者・研究者が競い合い発展する土壌が魅力です。来るべき日が来るまで、この努力は続くことと思います。
一方で今後の将棋ソフトには、現在のChessソフトが重視するトレーナーや楽しい対戦相手としての機能充実や、将棋ファンの間でのコミュニケーションをサポートするような、人に焦点を当てた技術の発展が期待されます。
本ページに掲載している写真は、2010/5/4の決勝戦の様子を電気通信大学にてアブストラクトゲーム博物館が撮影いたしました。