読者です 読者をやめる 読者になる 読者になる

創造情報学専攻を受けた話

本当に久しぶりの更新となる.

 

東京大学大学院情報理工学系研究科の院試を2回受ける事になったので,それについての詳しい情報を書き残しておこうと思う.念頭に置いている読者は,これから院試を受ける計数,とくに数理の方々であるが,それ以外の読者を排除する意図はない.そういう人が今後でてこないことを祈りながらも,特に内部落ちをやらかしたときの参考になればと思って記す.

 

夏入試は数理情報学専攻を受けた.結果,落ちた.これについては点数開示を見ないとなんとも言えない部分が大きいので,それを待って追記するつもりでいる.

 

計数数理はこの夏入試の直後に研究室配属となる.私は夏入試で行き先がなかったので,計数数理の「学士と修士で研究室を変えろ」という紳士協定から自動的に外れ,好きなように研究室を選べる.が,どこにしようかなと前向きに選べるほど精神に余裕はなかった.結局,某機械学習の研究室にしたが,配属当初は特に理由あって選んだわけではなかった…と思う.

 

研究室が決まると顔合わせがあったり,テーマを絞ったりと色々始めるが,私はここで冬にどこを受けるかも決めなければならなかった.受けられるのは情報理工だとコンピュータ科学,電子情報学,創造情報学.情報理工以外には情報学環とか.他にも大学院大学を受験するという手もあると思う.結局,創造情報を受けて今いるところに滑り込もうと心を決めた.ということで創造に滑り込むまでのお話を,科目ごとに分けてする.

 

1. TOEFL

 

どこを受けるかに関係なく,夏のTOEFL ITPは再利用できないので,TOEFL ibtの受験の必要もあった.院試に落ちたとわかった2日後くらいには申込みをして,9月下旬と11月上旬の2回受けた.年によって日程が違うので要確認だが,私の年は11月頭に受けたスコアが出てから,冬入試のスコア締め切りまでギリギリ8週間あったと思う.ということで受けるとしたら11月頭がラストチャンス.

 

1回目を受けるにあたってリスニングは真面目に対策した.ITPの教材を買っていたので電車の中で聞いていたが,これは良かったと思う.スピーキングとライティングは試験前日まで試験形式も調べていなかったが,もう少しちゃんとやれば取れたと思う.リーディングは普段から英語論文を読み慣れていたことにして,本番の頑張りに押し付けた.

 

蓋を開けたら89点(R25/L24/S17/W23)が取れたので,これを出せば多分アドバンテージが取れるだろうと思って2回目は適当に受けた*1.が,実際には創造の冬入試の英語だけに関して言えば90点でもアドバンテージにはならない可能性がそれなりにあると思う.あとでも述べるが,創造の冬は結構留学生が出願していた.流石に大幅な不利がつくことは考えにくいが,夏の雰囲気のまま60とか70とかで出すと多分不利がつく*2.それ以外の科目で充分高い点数を取れば何も問題はないが.

 

11月頭にもなると少しずつ卒論も忙しくなるので,英語の心配は早めに片付けておくことを推奨する.あと,受験料は地味に高いがしょうがない.

 

2. プログラミング

 

創造の冬入試の一般教育科目.冬入試において数学に逃げることは許されない.

 

競技プログラミングとか少しやろうかなと思いはしたが,結局卒論と専門科目の勉強が忙しくて真面目にやってない.私の場合は卒論でpythonコードをたくさん書く事になったので,それがいい練習になっていたような気がする.実際本番受けたときもpython2でやった.

 

ところで,地味に色々なサイトが競技プログラミングとかアルゴリズムイントロダクションとかを勧めているが,アルゴリズムがわかっている人間が特別有利になるような試験構成になっていることは珍しいようにも思えるので,なぜこのような推薦がなされているのかはよくわからない*3.それよりも,特にプログラミングに慣れていない場合は,標準入出力,ファイル操作,正規表現などをきちんとスムーズにこなせるようにしておいたほうがいいと思う.

 

実際の試験場では自分のPCとマニュアル1冊を持ち込める.ネットに繋がなければ何をしてもいいので,事前にpythonの標準入出力をまとめたQiitaと各種アルゴリズムのコードをまとめたサイトをwgetしておいた*4

 

実際の問題に関してはそのうち公開されると思う.ファイル操作と正規表現が使いこなせていないと書けない問題が出た.私はその両方とも,卒論でのプログラミングで見かけてはいたものの真面目に実装した経験はなかったので,試験中に冷や汗をかきながら調べてなんとか実装した.見かけてすらいなかったら多分詰んでいた.5題出題されて,4題解いて終わった.5題目は書きかけだった.

 

自分の書いたプログラムは,試験時に配られるUSBに入れてUSBを提出する.また,USBには試験に必要なファイルが事前に入っている(これを読み込んでXXせよ,みたいな問題が出る).他にも解答用紙に解答する問題もあるので,解答用紙も配られる.午前中に試験を受けたあとは,パソコンを部屋に置いて試験室から退室させられる.午後の口頭試問は次のような流れだった.

  1. 受験者控室で待っていると呼ばれて,午前の部屋に入れられ,自分のパソコンの前に座らされ,プログラム実行の準備を命じられる.
  2. 問Xのプログラムを書いたか訊かれる.ただし,全ての問についてそうされるわけではない.
  3. 書いている,と答えたら,「これを入力にして動かして」と言われるので入力して動かす.試験官はどうやら出力を見て正しいかどうか判定しているようだった.
  4. 以下2と3を繰り返し.ただし,ファイルI/Oが必要なプログラムで,うっかりファイルの置き場所が変わってしまって動かない程度だったら,調整してもいいですよとは言われた.実際私はそれで少しだけ調整をした.

口頭試問という言葉から想定されるような,「なぜこのようにプログラムを書いたのか」といったことは問われなかった.単に結果しか見ていないようだった.口頭試問されていないプログラムもあるが,それは「解答用紙に結果を書け」としか指示されていない.

 

ということで多分,結果が合ってたら満点,間違っていたら0点の可能性が割とある.もちろん自分の書いたコードは提出する.が,言語不問で,出力形式を厳格に取り決めていない出題であるということは,出力結果が全てだと考えておくのが無難だろう.

 

3. 専門科目

 

出題範囲が異常に広い.これだけはやっておいたほうがいいと思われる分野を列挙しておく.

具体的な書籍名については,他のブログがとても参考になるのでそちらに譲る.

 

私が受けたときは,全3問構成だった.公開されている過去問は全4問から3問選択なので「逃げ」が利くが,今回はそうは行かなかった.それぞれかんたんに構成を述べておく.

  1. データ点が与えられたときに,それらのデータを直線で近似する手法についての出題.線型回帰の計算も出たが,「できるだけたくさんの点を通る直線を求めろ」とか,「点が増えると,たくさんの点を通る直線はなかなか現れないから近似手法を使う.その近似について書き,その計算量を求めろ,ただし時間計算量は削減しろ」とか,「この問題において直線のパラメトライズを取り替えて得られるご利益を書け」とか.なんだか掴みどころのない問題.
  2. 美術館に監視カメラを置いて全域を監視したいが,できるだけ少なくするにはどうするか,みたいな問題.美術館定理というものを知っていれば一撃っぽいが,私は知らなかった.
  3. 語句説明.出た語句は確か「GPUアクセラレーション」「TCPウィンドウ制御」「継続的インテグレーション」「ゼロデイ攻撃」「共分散分析」「レイトレーシング」「強化学習」「組み合わせ論理回路」.ただし順番はこの通りではなかった.

正直なところ非常に掴みどころがなかった.その場で考えればまあ分かるような出題も多かった気がする.

 

4. その他雑感

今年の冬入試の創造の受験者は45人.未受験はほとんどいなかった.TOEFLのところでも述べたが,留学生が結構いる.試験終了後の答案回収時にまわりをなんとなく見渡したところ,英語で答案を書いている人もいたので,英語ができる人は多いんだろう.

 

実際の合格者数はどれくらいかわからないが,夏入試の事も併せて考えると,10人未満程度なのではないかと思う.

 

私の場合は卒論提出の翌日から院試で,その後週末を挟んで卒論審査だったので,本当に死ぬかと思った.不幸中の幸いとしては,こうなることがわかっていたので卒論がそこまで大変ではない9月10月にある程度きちんと専門科目の勉強をできたことくらいか.

 

以上ざっくばらんに,覚えているうちに受験までの話をまとめた.誰かの参考になれば幸いである.

 

更新履歴

2017/02/17 公開.

2017/03/11 タイトルを付けた.

*1:もちろん点数は下がった.

*2:ちなみにコンピュータ科学専攻の冬入試は留学生を取ることを念頭においているが,90点以上のTOEFL ibtスコアがないと出願をリジェクトされる.ご参考まで.

*3:もちろんアルゴリズムはできないよりできたほうがいい.というか専門科目では平気な顔して出て来る.

*4:私が「アルゴリズムがそんなに出ているようにあんまり見えない」と言ったのはこれが理由.受験者がこういうことをやってくることくらい,出題者側も把握しているはずで,そこでよく知られたアルゴリズムの実装とかを問題にしてしまうと,事前にwgetしたかどうかで大幅な差が生まれる.流石に試験としては不健全だろう.…と言いつつ,出てくると困るので引っ張ったわけだが.