村松 正和 教授に0x10個の質問をしてみた
文中における所属・肩書きは、2011年7月19日掲載時のものです。
-
村松 正和 (むらまつ まさかず)
博士(学術)
国立大学法人 電気通信大学 情報理工学研究科 情報・通信工学専攻
昭和40年生 東京都出身
専門は最適化理論。2005年ごろよりコンピュータ囲碁の研究を開始。
UEC 杯、FIT2008 などでコンピュータvs. プロ棋士のイベントを企画&参加。
コンピュータ囲碁フォーラム (CGF) 副会長
情報処理学会ゲーム情報学研究会幹事0x00.簡単な自己紹介をお願いします。
村松:「一番効率の良い方法を探る」という最適化に関する研究をしております。
その研究をしようと思われた動機などありましたか? そのテーマを目指されたきっかけなどありましたか?
村松:実は、学部のときには純粋なプログラム書きをしていたんです。 Lisp List Processor。FORTRANやCOBOLと並ぶ、最も古いプログラミング言語のひとつ。リスト構造と、その操作で処理を行う。ダイナミックなデータを扱うプログラムがシンプルに組めるため、「人工知能のアセンブラ」などと呼ばれた時期もあり、特に同分野の研究者に利用者が多い。基本5関数 (car, cdr, cons, atom, eq) のみを実装したLISPを、特に「純LISP」と呼ぶ。この実装で「チューリング完全」(雑に言うと何でも計算できるという事) であることが数学的に証明されている。CEDEC 2010では、控室で王唯任プロとMITの石井教授が対話したが、王プロから囲碁のルール説明を聞いた石井教授が放った言葉が「まるで純LISPだ」であった。 の コンパイラ 人間に理解しやすいプログラミング言語を、コンピューターが効率良く実行できる形式に一気に変換するプログラム。今日のソフトウェア開発では、「C言語」や「Java」などのコンパイラが多く使われている。対して、プログラミング言語を逐次解釈する系を「インタープリター」と呼ぶ。 を書くというものでした。 これは面白かったです。 プログラムを書く楽しみを知りました。 しかし私のいた学科は、学部と修士で異なる研究室に属する事、という決まりがあったので、修士では統計に関する数学的なことを勉強する事になりました。 これは難しくて、大変でした。 結局、博士の試験に落っこちてしまい、途方に暮れていたときに、新しくできた大学院大学が拾ってくれたのです。 そこで出会ったのが、最適化の研究をしていた田辺國士先生と土谷隆先生です。 彼らの論文を読んだときに、ビビッときましたね。 コンピュータ一辺倒でもなく、数学一辺倒でもなく、その中間のちょうど良い感じでした。
0x01.今のお仕事を選ばれた理由は何ですか?
村松:自分の頭で考えることが大好きなのです。 ゆっくりとしたペースで、じっくり考える事ができる研究者というのは自分にあった仕事だと思います。
最適化の研究は、数学的なこととコンピュータを使うこととの合わせ技で、自分に合っていると思います。
村松さんは子供のころから自分で考えることがお好きだったのですか? それとも、何かきっかけがあったのでしょうか。 あと、具体的にはどんな数学をお使いになるのですか?
村松:子供のころは、よくわかりませんが、たぶんそういうところはあったのかもしれません。
数学に関しては、 線形代数 線形変換(雑に言うと、真っ直ぐなものは真っ直ぐに、位置の関係も変えない変換)を扱う代数。行列形式を道具として用いる。コンピューターグラフィックスでは必須の数学。 を使うことが多いですね。 それで証明をしたり、計算量を見積もったりします。 重積分 あっちにもこっちにも積分すること。 とか 微分方程式 微分を用いた方程式のこと。運動のシミュレーションなど、時間軸のかかわる計算では、ほぼ必ず使われる。 は嫌いでさっぱりわかりません。
コンピュータはどんな役にたっているのですか?
村松:最適化は、結局はコンピュータを使ってプログラムを書いて動かして、それで問題や現象に対する知見を得る事を目的としています。 最適化に関する研究はプログラムを書く人、動かす人、 モデル CGの世界で言う「モデル」や、ファッションの世界でいう「モデル」とは違って、数学的な「モデル」のこと。シミュレーションにおける前提条件を決めるようなもの。ゲーム制作における「世界観」のほうが近いかも知れない。 を作る人など、多岐にわたっています。 その中で私は、「 アルゴリズム コンピュータープログラムにおいて、計算の手順を示す。コードよりは抽象度が高く、数学モデルよりは抽象度が低い。日本語では「算法」などと訳される。 を考える人」「 アルゴリズムの性質 アルゴリズムが機能したからといって、その「性質」までわかったわけではない。どのような条件で、どのような振る舞いをするかを解明するのは簡単ではない。例えば、一般に高速と言われているクイックソートアルゴリズムは、入力がランダムな場合は早いが、ほとんど整列済みの場合は遅いし、メモリも多く使ってしまう。 を解明する人」の役割を担っていると考えています。
0x02.今のお仕事は一番好きなことですか? そうでなければ一番好きなことは何ですか?
村松:たぶん、考える事が好きなんだと思います。 マラソンランナーが走るのが好きなのと同じで。いつも頭を回転させていないと気が済まない。 だから、最適化の研究は好きだけれども、それだけにとどまらずちょっとずついろいろなテーマに手を出しています。 どれが一番とは言えないんじゃないかな。
考えるのを止められないわけですか。 何か、泳ぎ続けないと死んじゃうサメみたいですね (笑)。 最適化の研究以外だと、どんなテーマに興味を持たれているのでしょうか?
村松:まずは囲碁そのものにすごく興味を持っています。 囲碁を打っている間はずっと頭がフル回転しているわけですから、楽しいですね。 しかし当然、自分の頭の能力には限界があり、ある程度以上強くなる事はできません。 そこでコンピュータに囲碁の計算をさせよう、ということになるわけですね。 コンピュータに囲碁をどうやって教え込むのか、これは面白いテーマですね。
0x03.お仕事をされていて一番楽しい事は何ですか?
村松:考えていて、何か発見をしたときですね。 小さな事でも、わかるとうれしいし、すっきりします。
何か、これは嬉しくてスッキリしたという発見例があれば教えて下さい。 あと、「発見」に至る予感みたいなものってありますか? それとも突然雷みたいなものが落ちてくるのですか?
村松:つい最近もあったのですが、なかなか一般の方に表現するのは難しいですね。 予感のようなものは全くなく、数式をいじくったり、眺めたりしていると、「あれ?こうなんじゃないの?」と思いつく。 それで計算して確かめたりしてみる、という過程かな。 でも、計算してみると間違っていることが多いんですが。
0x04.お仕事をされていて一番辛い事は何ですか?
村松:上の逆で「わかないこと」と思う人がいるかもしれませんが、「わからない」状態はほとんど常にそうなので、慣れています。 それよりもやっぱりこの職業、競争とは無縁ではないので、そのあたりでプレッシャーを感じたり、挫折感を感じると辛いですね。
競争が進歩の原動力みたいな面もありますからね。 村松さんほどの方でも、競争のプレッシャーに負けそうになったり、挫折感を感じられるというのは驚きではあります。 そんなとき、どんなふうに解消されるのですか?
村松:お酒を飲んで、忘れる事ですね。 だからしょっちゅう飲んでいます。
0x05.ご自身のお仕事が誤解されているなあと思う事はどんなことですか?
村松:コンピュータ囲碁なんて最適化と関係ないだろ、もっと真面目に研究しろ、といわれるときですかね。
やっぱり遊んでいるように見えちゃうんですかね。 村松さんが、いつも楽しそうだから余計そう見えるかも。 囲碁も、相手より効率の良い手を打たないと負けるのですから、最適化とは関係があるように素人考えでも思います。 囲碁の研究を通して、最適化の方法を研究されているとの事ですが、将来的にはどんなことへの応用をお考えなのでしょうか?
村松:囲碁と最適化って、まだくっついていないんですよ。 最適化の技術は使われていますが、あまり直接くっついていない感じ。 それをくっつけられたら面白いと思います。 応用を考えるのは苦手なので、誰か他の人にお願いしたいな。。。
0x06.その誤解を解いて、面白さを伝えるためにどんな工夫や取り組みをされていますか?
村松:あんまりそういう人の前ではコンピュータ囲碁の話をしないとか。
いや、それは逃げの方向だから (笑)。 攻めの方向で何かないですか? お相手は研究者のお仲間じゃなくてもいいです。
村松:あ、そういうことなら、数年前から電気通信大学で UEC 杯コンピュータ囲碁大会 CEDEC CHALLENGEとは異なり、無差別級でAI同士が対戦するイベント。ここから多くのAIプログラムが生まれている。一般の人も見学できる。http://jsb.cs.uec.ac.jp/~igo/ というのを毎年秋に開いています。 20プログラム以上が参加する、国内最大の大会です。 コンピュータ囲碁の進歩を願って我々が手弁当で企画している大会ですが、そこからいろいろなプログラムが育っていますし、実際にここ数年で劇的に強くなってきています。 これはこれからも続けて行きたいと思っています。 CEDEC Challenge に参加した方には、是非こちらへの参加も考えていただければと思います。 UEC杯の方は 19路盤 囲碁の盤で一般的に使われているもの。19x19の交点がある。他に、6路盤、9路盤、13路盤などがある。通常、入門者は6路や9路から始める場合が多い。 の戦いになりますが、強いプログラムもあれば弱いプログラムもありますので、気軽に参加していただきたいです。
0x07.自分 (が開発したAI | の教え子) が勝ったとき、どんなふうに感じますか?
村松:やっぱりうれしいですね。 学生が、力をつけたということですから。
これは教育者のお立場としての村松さんからのご意見ですね。 研究者としてはいかがでしょう? ご自分が開発したAIをどのようにご覧になられますか?
村松:誤解の無いように言っておくと、私自身が囲碁 AI を開発しているわけではありません。 それは学生たちに任せています。私はそれをサポートしているだけです。
0x08.自分 (が開発したAI | の教え子) が負けたとき、どんなふうに感じますか?
村松:悔しいですね。 特に昨年の CEDEC で真鍋さんが負けたのは悔しかった。 この悔しさをバネにして、今年の CEDEC では 村松研 電気通信大学 村松教授の研究室。http://jsb.cs.uec.ac.jp/ はやりますよ。 JAIST 北陸先端科学技術大学院大学。日本では珍しい、大学院のみをもつ大学。http://www.jaist.ac.jp/ がなんぼのもんじゃ!
では、打倒nomitanという事で、今年も白熱した試合が期待できそうですね。 去年の真鍋さんのAI (kasumi) は優勝こそ逃しましたが、優秀な成績を納めました。
http://cedec.cesa.or.jp/2010/event/challenge/ai/entry.html
http://cedil.cesa.or.jp/session/detail/394
村松さんがご覧になられて、nomitanの強さはどこにありましたか? また、kasumiの特徴は?
村松:nomitan は最初に作られた学生がすごくて、第一回のUEC杯のときに入賞しました。 それからずっと、同じコードを改良しているので、完成度が高いと思います。 Kasumi もそうですが、村松研では「自分で全部コードを書く」という方針でやっているので、どうしても完成度が低くなってしまいます。 そろそろこの方針は変更しようかと考えているところです。
0x09.今の囲碁AIで凄いなと思う事は何ですか?
村松: 大局観 特に19路盤の場合、盤面が広いので、細かいところにこだわるより、全体をしっかりと見て有利な手を打つ必要がある。場合によっては、自分の石を敢えて捨てることで有利な局面を得る場合もある。 ですね。 捨てて勝てると思ったら大胆に捨てる。
機械が「大局観」を持つように見えるというのは、意外な感じがします。 もう少し詳しく教えて頂けますか?
村松:人間だと、ある程度 大きな石 沢山石を取られるのは嫌なものだが、最後に勝っていればいい。 は捨てたくないじゃないですか。 特にどう考えても 生きそうな石 囲碁では一群の石に「二眼」を作ることで、「活き」となる。これは、相手が打てない箇所が二か所以上ある状態の事で、絶対に取られない。 の場合。 捨てても勝てそう、捨てなくても勝てそう、というとき、人間は捨てません。 でも、今の モンテカルロ木探索 乱数を用いて、計算を何度も繰り返すことで精度を上げる方法。AIだけではなく、グラフィックスにおける光の計算、多数の粒子の振る舞いのシミュレーションなど、非決定性の強い計算で用いられることが多い。語源は、カジノで有名なモンテカルロで遊ばれるルーレットゲームから。 を使った囲碁AIは、全て確率で考えますから、捨てた方が少しでも勝つ確率が高ければ捨てちゃうんですよね。
0x0a.今の囲碁AIに感じる違和感は何ですか?
村松:特に AI 同士だと 囲い合う碁 お互いに石を取りあうのではなく、おだやかにそれぞれの陣地を作りあうような碁のこと。 が多いですね。 プロの碁のように、序盤から ねじりあい 陣地を囲うよりも、お互いに攻撃を仕掛けあうような碁のこと。 というのは少ない気がします。 長い手数の 定石 囲碁における長い歴史の中で、黒と白双方が最善の手であろうと考えられている一連の着手パターンのこと。 は決して打たないことも、なんだかなあ、と思います。
基本に忠実な感じですね。 プロは物凄く強い人たちの対局ですから、基本通りじゃ勝てない。 だから、いきなりねじりあいに行くんだと理屈では理解しているつもりです。 一方で、ある囲碁高段者の方に伺った時は、AIの打つ手は「ムカっとくる」というお話しも聞きました。 これの正体って何でしょう? 長い定石を打たないというのも面白いですね。 人間より単純な記憶ならコンピューターのほうが有利なはずですが、まだ、その定石を始めるべき状況が把握できない。ということですか?
村松:むかっと来るのは、やはり表情が無いからでしょう。 顔が無いのは当たり前ですが、着手にも表情が無い。 人間だと、ネット碁を打っていても、相手があわてているのがわかったりします。 冷静さを失ってるな、とか。 そういうのが無いんですよね。コンピュータは。
定石に関してはおっしゃる通りです。 定石を記憶するのは簡単ですが、どの状況でどの定石を選択すべきかは難しい問題です。 最初から定石を考えず、全部計算した方が強いプログラムになるようです。
0x0b.コンピューターがいつかトッププロを負かすとして、それはいつごろだと思いますか?
村松:囲碁は結構幅の大きいゲームだから、プロにときどき勝つ、というレベル( プロに二子 囲碁では弱いほうが予めいくつか石を盤面に置く事でハンディキャップの調整をする(他にコミ出しといって、予め陣地を取ったことにして調整する方法もある)。とにかくプロ棋士というのはとんでもなく強い。そのプロ棋士を相手に、たったの二子というのは、これまたとんでもなく強い。 程度)には10年で行くでしょう。 特に 早碁 一手の時間制限が秒単位の碁。NHK杯なども、一手30秒の早碁。CEDEC CHALLENGEは一手一秒という、機械同士の対戦でしかありえない超早碁。 なら、5年かもしれません。 でもその後、トッププロと例えば賞金をかけて真剣勝負をやって勝てるようになるには、さらに20年はかかるのではないでしょうか。
金とか名誉をかけると人間は強い (笑)。 そうかも知れませんね。 人間の火事場の馬鹿力みたいなものって何なんでしょうね。 これをコンピューターでやるとしたら、どうやるんですか? 何かアイデアはありますか?
村松:これは難しいですね…
0x0c.もし、コンピューターのほうが強くなった時に、それでも人間を越えられないことは何だと思いますか?
村松:囲碁の持つドラマ性でしょうか。 お互いの読み合いの中で、意地がぶつかり合う。 そういう迫真性はコンピュータ囲碁には難しいかもしれません。
「読み合い」「意地」から生まれる「迫真のドラマ」。 コンピュータでシミュレートできる日が来るのでしょうか。 どうして、機械はこういうことができなくて、人間というハードウェアとしてはそんなに豪華じゃないものには出来るんでしょう?
村松:たぶん前の質問に関係すると思うのですが、人間は死ぬのが怖いですよね。 だからいろいろな感情が生まれる。 でもコンピュータは電源切られるのがいやじゃない。 怖いという概念が無い。 だからコンピュータは主役になれない、心が通わないんだと思います。 映画「マトリクス」に出てくる機械みたいになれば別なんでしょうが…
0x0d.囲碁というゲームは「誰」が作ったのだと思いますか?
村松:宇宙です。
言い切りましたね (笑)。その感覚は、どのあたりから来ますか?
村松:よく数学者(私ではなく、 純粋数学 工学などに役立つような応用数学、実用数学の反対。数そのものの性質や、論理について研究する。整数論や、数学基礎論などは、数とは何か? 無限とは何か? などと議論していて、ほとんど哲学の世界。 を研究している人たち)は、「宇宙がなくても数学は残る」というようなことを言います。 でも、さすがに囲碁はそういうものではない。 プレイする主体がいないと成り立ちませんから。 でも、宇宙さえあれば、自然と出てくるゲームだと思うのです。 地球は無くなっても囲碁は残る、と。
0x0e.囲碁というゲームの魅力をひとつ挙げるなら何ですか?
村松:良く友人たちと、「宇宙人だったらどう思うか」という話をすることがあります。 例えばスキーをしているとき、「宇宙人がスキーやってるところをみたら、のぼっておりるだけ、役にも立たないし、何やってんだと思うだろうね」という感じで。 そういう意味で、囲碁は宇宙人にもわかるゲームだと思います。 いや実際に、様々な星で本質的に同じゲームが行われているのではないでしょうか。 23路盤だったり、15路盤だったりするかもしれませんが。 そう考えると、何か浮き浮きしてきませんか?
もしかしたら碁盤も三角形だったり丸かったり、石の素材も色も様々かも知れないですけど、なんとなくそんな気がします。 将棋やチェスと同じものが宇宙の彼方にあったら相当ビックリしますけど、囲碁だったら「あ、やっぱりね」かも知れません。 でも、囲碁って挫折者多数という意味でも有数のゲームだと思います。 どうしたら、村松さんのような高段者の方が感じる「浮き浮き」を入門者の方にもお伝えできるでしょうか?
村松: 囲碁を教えるのは非常に難しい 囲碁が上手い人は下手の気持ちがわからないという。これは、自転車に乗る事や、プログラミングと似ている。どうしてわからないのか、わからないのだ。 です。私も自分の娘に教えようとして失敗しました。 これに関してはプロの方のご意見を伺いたいですね。
0x0f.CEDEC CHALLENGEに参加される方々に一言お願いします。(期待、心構え、楽しさなど)
村松:1手1秒というのは、現在のコンピュータ囲碁のテクノロジーではそれほど強いプログラムはつくれません。 逆にそのために、新しいアイデアを実現しやすいとも言えます。 あっと驚くようなプログラムの出現を心待ちにしております。