サーベイに関するQ&A

すみい (sumii AT yl.is.s.u-tokyo.ac.jp)


[Q] この文書はなんでQ&A形式なんですか? 文体が不自然じゃありませんか?

[A] すみません、長い文章を書くのが苦手なんです。口調が変なのは許してください。

[Q] なんでこんな文書を書いたんですか?

[A] 最近の米澤・小林研に、普段からサーベイをする習慣が身についていない(当てられたときしかやらない)人が増えているような気がして、ものすごく気になったためです。

[Q] 単なるM2の学生のくせに、生意気&余計なお世話じゃありませんか?

[A] はい、そうです。ごめんなさい。(_ _) でも、嘘はいっていないつもりです。


[Q] サーベイって何ですか?

[A] この文書でいうサーベイとは、一般に「人の研究について勉強すること」を指します。

[Q] どうしてサーベイが必要なんですか? 人の研究ばかり勉強していては、独創的な研究はできないんじゃありませんか?

[A] 完全に逆です。既存の研究を理解しないで、新しい成果を生み出すことなんてできません。そういう態度はトンデモさんたちの専売特許であって、我々には無縁です。

[Q] サーベイはどうやれば良いのですか?

[A] 「こうしろ」とか「こうやれば良い」とか断言することはできませんが、僕が知る限りでは以下のような方法があります。

[Q] 論文はどうやって探せば良いですか?

[A] 研究者のホームページにおかれていることも多いですが、基本は図書室でjournalやproceedingsをあさることです。幸いにして情報科学科の図書室は(五十嵐さんによるとIndiana大学やPennsylvania大学と比べても)極めて品揃えが良いので、大抵のメジャーな文献は手に入ります。

[Q] journalって何ですか?

[A] 定期的に刊行される学術雑誌です。掲載される論文は、普通は「投稿→査読→改訂→投稿→…」というサイクルを何度も繰り返すので、完成度の高いことが多いですが、逆にいえばtimelinessに欠けることもあります。

[Q] proceedingsって何ですか?

[A] 学術会議で発表される/された論文を収録した刊行物です。掲載される論文は、普通は0〜1回ぐらいしか査読・修正されない上に、スペースが限られていることも多いので、timelyではありますが玉石混淆でもあります。proceedingsに出た論文がrevise & extendされてjournalに出ることもよくあります。

[Q] どのようなjournalやproceedingsがありますか?

[A] あまりにも数が多いので、ここには書ききれません。ACMのdigital libraryMark Leoneのリンク集などをみてください。米澤・小林研に関係が深くてメジャーなところだと、journalにはTOPLAS, HOSC, JFP, IC, TCS等が、proceedingsにはPLDI, POPL, PPoPP, ICFP, LICS等のものがあります。略称がわからなかったら人に聞くか、上記のページを見てください。

[Q] メーリングリストにはどのようなものがありますか?

[A] TYPES, CONCURRENCY, GC等が有名です。僕がorganizeしているPEPT (Partial Evaluation and Program Transformation)もよろしくお願いします。:-) HaskellCamlなどの、特定の言語・システムに関するメーリングリストもあります。

[Q] メーリングリストにはどのような情報が流れてきますか?

[A] 普段は学会や論文のアナウンスが中心です。たまに特定の話題について議論が沸騰することもあります。特定の言語・システムに関するメーリングリストでは、研究に無関係な話題(初歩的な質問やバージョンアップのアナウンスなど)も多いですが、Simon Peyton Jones, Philip Wadler, Xavier Leroy, Didier Remyといった第一線の研究者の話が聞けるので、とてもためになります。

[Q] 研究者にメールを送るのはどのようなときですか?

[A] 論文が手に入らなかったり、読んでもわからない部分があったりして、周りの人に聞いても解決しなかった場合です。ただし、英語力や理解力が怪しい人は、事前に誰かに相談したほうが良いでしょう。書き出しが難しいのですが、僕はいつも

Dear Prof. (その論文の著者),

Excuse me for a sudden e-mail. I am a student in the University of Tokyo, studying basic theories of programming languages such as (その論文の分野). I have read your paper titled "(その論文のタイトル)" very interestedly, and would like to ask some questions. Forgive me for taking your time.

みたいな感じで書き始めます。本当に忙しい人は返事をくれないこともありますが、大抵は親切な答えが返ってきます。返事を受けとったら、ちゃんとお礼をいいましょう。

[Q] なんで英語の情報源ばかり挙げるんですか?

[A] 日本語の情報源よりも一般に質が高いからです。日本人でも優れた研究は英語で発表するのが普通です。理解できる人間の数が何十倍も多いのですから当然でしょう。


[Q] サーベイはどれぐらいの量をやるべきですか?

[A] 人にもよるとは思いますが、*最低でも*月に5〜6本の論文に目を通すべきです。最初のうちは時間がかかって大変かもしれませんが、慣れてくれば一本一時間ぐらいで大体の内容は把握できます。

[Q] 私はそんなにいろいろな研究には興味がありません。

[A] それは視野が狭すぎます! そんなに守備範囲が限られていては、まともな研究はできません。特定の分野のspecialistになるのは決して悪くありませんが、周辺の分野についても勉強しなくては、自己満足のための研究しかできないでしょう。たまに「理論には興味がない」という実装の人や、「実装には興味がない」という理論の人がいますが、そういう人はろくな研究をしていません。ほとんどのまっとうな研究者は、自分の専門じゃない分野でも本質をよく理解しています。たとえば、π-calculusのspecialistとして有名なDavide Sangiorgiは、実際に会って話を聞いてみたら、細粒度スレッドスケジューリングから並列/分散GCまで、実に様々な研究を詳しく知っていました。

[Q] サーベイした論文はミーティングで紹介すべきでしょうか?

[A] もちろんです。ただし、世の中には人に説明する意義の小さい論文も多い(僕の経験だと9割以上)ので、迷ったら誰かに相談すると良いでしょう。また、ミーティング(や授業)で発表するときは、少なくとも1〜2週間はかけて準備するべきです。直前に慌てて論文を読み始め、ろくに理解していない状態で発表するのは、自分にとっても損ですし、聴衆にとっても迷惑です。


[Q](by 田浦さん)とにかく論文をいっぱい読めといわれても困るのですが,どこから手をつけたら良いですか?

[A](by 田浦さん)勉強する論文の数を増やすにはいくつか方法があるでしょう.

  1. ACMIEEE情報処理学会ソフトウェア科学会の会員になりましょう.ACM/IEEEは自分が専門でなくても,興味のある分野のSIGに入ってproceedingsやjournalが送られてくるようにしましょう(研究をはじめて2−3年で自分の「専門」を定義せずに自分の興味の向くものにどんどん目を向けましょう).Proceedingsやjournalが来たら,こわがらずに目次を最初から最後まで眺めましょう.最初はわけわからなくても気にせずに続けましょう.タイトルに少しでも興味のある論文はアブストラクトに進みましょう.さらに興味があったら本文に突き進みましょう.時間がなければその論文の存在だけを心にとめておき,必要に応じて,例えばそろそろゼミで自分の発表の番だったり,自分の論文からその論文をreferする時などに丁寧に読み返しましょう.

    それを続けていくうちに,色々な分野の大体の様子がわかってきましょう.また,分野間のつながりも見えてくるでしょう.すると一つの論文を理解するのにかかる時間が短くなりましょう.

    たくさん読んでいくと,タイトルを見ただけで論文の内容がわかるようになるでしょう.また,本当に自分の専門とする分野であれば,来年のproceedingsに載るタイトルが予想できるようになりましょう(20%本気).そうなったら内心で喜びましょう.

  2. 論文を読んでいる時に,論文の引用マーク([3]など)が出てきて,少しでも重要だと思ったら面倒くさがらずに「必ず」なんという論文かをチェックしましょう.論文はほとんどの場合過去の仕事の拡張になっています.ある論文を読んで今一つ理解ができないと思ったら過去へ過去へと面倒くさがらずにさかのぼりましょう.いつか基本となるアイデアを明快に,かつ優しく説明した論文に突き当たるでしょう.

    たくさん読んでいくと,論文の引用コンテクストで,後ろを見なくても「あ,この論文でしょう」とわかる回数が多くなってくるでしょう.そうなったら内心で喜びましょう.

  3. ある論文の著者が,自分のプロジェクトへと読者をいざなうことはとくにシステムの実装の研究では良く行われましょう(プロジェクトのweb pageをreferしたりしてるでしょう).そうしたら必ずそのweb pageを面倒くさがらずに訪れましょう.そのプロジェクトの全体のゴールを知ることで,ある論文の背景を知ることができましょう.もう一つのご利益として(2)で述べた,過去の論文をたどるのがすべてonlineですむようになる,というのもありましょう.

  4. ACM/IEEEのDigital Libraryに入りましょう.しかしそれと同時に自分の足で図書室に探しに行く手間をおしまないようにしましょう.図書へ行くのがどうも面倒だという人は,ときどき思い立った時に,10個とか20個くらいの論文を「一気コピー」しましょう.紙をケチらずに関係のありそうな論文や興味のある論文をじゃんじゃんコピー・印刷し,詳細を理解しなくても良いものは「早いペースで」読む習慣をつけましょう.

    帰りの電車の中で10分で読んだ,読んでみると実はくだらなかった論文も「読んだ」うちに数えましょう.そうやって,たくさん読んだことにして内心で喜びましょう.


[Q] この文書について意見・感想があるのですが?

[A] 大歓迎です。まったく遠慮しないで、住井にいってください。口頭でもメール (sumii AT yl.is.s.u-tokyo.ac.jp) でもOKです。