夏のブログリレー35日目の記事を担当します、@chuukunnです。
さて、数日前に19Bが数学系大学院の体験記を投稿していることに今気づきました。そうです。我々19Bがあと2年間東工大に貼り付くためには、院試という大きな壁を越えなくてはならないわけです。というわけで、例にもれず私も数理計算科学系の体験記をつづっていこうと思います。と、その前に大前提を。
カス
私はカスの大学生です。
4月
2022年3月をもって4年生になりました。つまり、ここから院試まではあと5ヶ月しかないわけです。ここで、これまでのぼくのGPAを見てみましょう。
1年前期:2.46 1年後期:2.30
まあまあですね。はい。上限が4.5で下限が0.5なので、まあ平均よりちょっと下ってところでしょう。......はい、大嘘です。騙されてはいけません。確かに上限と下限のちょうど中間ではありますが、基本的にうちの生徒の多くは90点付近を余裕でとってくるので、俺の成績は東工大においては下の中です。東工大に入ろうとしている皆さんも、油断しているとこうなってしまうので気を付けましょう。
2年前期:1.68 2年後期:1.59
リモート化が始まりました。家での授業になり、今まで無駄になっていた移動時間(3時間)が短縮され、これで勉強に専念できますね!はい、しません。基本的に、他責的な人間はだらける環境ができるとどこまでも自堕落に落ちていくものです。リモート化に伴って自宅でリラックスして、講義中にこっそりネットサーフィンでもしようかと思っている皆さん。今すぐやめましょう。
3年前期:1.89 3年後期:1.33
自堕落な人間はどんどんと落ちていきます。オートマトンの単位を2年連続で落としました。確率論基礎の講義はぎりぎり取れました。結果的に、のべ5単位くらいは落としてしまいました。そのような環境なので、当然成績もボロボロです。とはいえ、人によってはGPAが1を割ったりもするので、そう言った人の存在を考えればまだマシだともいえるでしょう。
通算GPA:1.94
全体で見るとギリまともくらい。さて、院試の勉強に入っていきます。自分が院試の勉強を始めた時期は明確ではないですが、3月あたりからは過去問をちらちら見始めてたような気がします。本格的に取り組んだのは5月の終盤くらいだったかなと思います。皆さんはもっと早めに取り組んだほうがいいですよ。
数理計算科学系院試の構成
院試の問題は、大きく分けて「基礎問題」と「応用問題」に分かれています。僕はカスの大学生なので、知らん分野(サボってた分野)は正直に「しらん」と書きます。そこは各自で調べておいてください。
基礎問題(一年次からの出題)
「基礎問題」は、以下の3題のうち2題を選択することになります。
A.行列(しらん)
B.微積(微分、積分、極限、整級数)
C.情報(関係、写像、論理、無限、アルゴリズム)
Cだけ曖昧な気もします。実際、過去問を見ても出題内容がころころと変わっているように見受けられるでしょう。しかし、これは割とサービス問題です。なぜなら、簡単だから。Cの情報問題は、その殆どが1年時に取得する情報理工学基礎からの出題です。本番で不安を抱えている人も、実際に当該教科書をぱらぱらと捲ってみれば、その多くが教科書の内容とその応用で対策可能な問題であることに気づくでしょう。というわけで、私はまずCを選択することにしました。そのうえで、AかBを選ぶ必要があるのですが、自分はBを選びました。
理由は単純で、授業をさぼっていたために行列問題の知識がほとんどないからです。カスですね。くたばったほうがいいのに。
微積の問題は、教科書に載っている基本定理を問うことや、極限、整級数を用いることが多いです。これらは、過去問で十分対策可能でしょう。基本定理は意外なところを突かれることもあるので注意しましょう。例えばですが、あなたはロピタルの定理がなぜ成立するかを証明できますか?......それをぱぱっと証明できるくらいには、教科書を読みこんでおくとよいでしょう。無論、ほかの分野に関してもです。
これは余談ですが、知り合い数人に効いた話だと基本的にBのほうが簡単らしいです。とはいえできる人はどっちの勉強もしておいたほうがいいです。心の余裕が段違いです。私はBかCのどっちかで躓いたらそれで終わりだったので、プレッシャーが半端なかったです。マジで全部できるようにしておくことをお勧めします。
応用問題(二年次~の出題)
「応用問題」は、以下の9題のうち3題を選択することになります。
1.しらん
2.しらん
3.微分方程式っぽいけどしらん
4.数理最適化
5.確率
6.統計
7.オートマトン
8.プログラミング(アルゴリズム)
9.ネットワークっぽいけどしらん
8~9あたりは年によってばらつきがありますが、それ以外は基本固定です。
特に4と7は、傾向的には比較的簡単な問題が出やすく、狙い目です。また、5と6についても片方を学ぶ中でもう片方の知識がついてくるお得な組み合わせです。8については、3年間かけてプログラミング経験をある程度積んできた人であればそこまで難しくもないでしょう。9については、年によって知識が問われたり問われなかったりします。問われないときは出題傾向が8と近いため、その場合は狙い目かもしれません。
4.数理最適化について
最適化問題の出題傾向は、過去問の中でも安定しています。基本的にはシンプレックス法の概念さえ知っていれば前半を解けて、後半では感度分析を行います。それも対策すれば大丈夫というだけですが......。また、max(a,b)やmin(a,b)などが導入されることもありますが、それも事前に対策すれば大した脅威にはなりません。これ以外には、双対問題や相補性定理をもちいた出題をされる年があるので、それらへの対策もしましょう。
7.オートマトンについて
基本的にはポンピング補題の証明ができれば問題ありません。過去問で練習できるだけしておきましょう。また、DFAやCFGを自分で構成する問題もありますが、これも数をこなしてできるようにしておきましょう。{0^i 1^i|i∈N}の補集合を構築する問題などは、よい練習になります。とにかくあらゆるパターンを予想して、それを書けるようにしておきましょう。そうしていれば、そこまで脅威になることはないはずです。ただし、今後の傾向については予測できないため、もしかすると難化するかもしれません。油断だけはしないように。
5.6.確率統計について
確率と統計は地続きな部分も多いので、同時に学ぶことで両方に対応可能な点が有利に働きます。
5.の確率問題は範囲が広範であり出題内容を予測することは難しく、年によって差はあれど難易度は高めです(主観)。ある程度学習していて、「なんとなく問題文の意図が理解できて、解けたぞ」と思った場合でも、凡ミスで大失点の可能性もありリスクが高い分野です。それでも、(1)すら分からないということは少ないので、良くも悪くも安定的であるといえるかもしれません。
一方で、6.の統計問題は出題傾向がある程度定まっています。基本的には最尤推定量をメインに据えた年が多く、たまに回帰分析や有意水準を用いた問題が出てきます。最尤推定量自体は対策をすれば簡単に求めることができるので、過去問で応用パターンを積み重ねれば基本的に対応可能でしょう。また、マルコフの不等式やチェビシェフの不等式を用いた問題も要対策です。これは5.にも言えることですが......。
8.プログラミングについて
計算量オーダーを求めさせる問題は頻出です。オーダーが満たす漸化式からオーダーを導けるようにしておきましょう。また、二分木を用いた応用問題も頻出なので、要対策です。正直なところ、競技プログラミングをやっていれば大分有利になるのではないかなと考えています。時間に余裕があれば、AtCoderなどでプログラミングを学んでおきましょう。僕ですか?やってないです。
本番体験記
本番前日
推しのVtuberが配信してるので夜遅くまで見ちゃった。
本番当日
コンディション:寝不足を獲得!
バカですね〜こいつ。くたばったほうがいいのに。すく君に土下座しときます。
試験開始。試験問題実況はR4年度のものなので、ネタバレ注意。
問Aは完全無視。知り合いによると簡単だったらしいですが、知らん。
問Bを見ると、過去問に比べ圧倒的に文量が多い。少し慌てたものの、冷静に見ると(1)はテーラー展開の公式そのままを答えるだけ。(3)は(2)から自明に導けるので、その旨だけ書いて放置。一番の難関は(2)。しかし分からないので一旦飛ばす。この時点で結構慌てています。
問C。なんと過去問とほぼ同じ出題が有り。余裕
……かと思いきや、試験後に条件の見落としに気づく。こういううっかりをなくすため、きちんと問題文を見直しましょう。僕は出来ませんでした。ゴミだから。
1〜3を無視して問4。なんだこれは。意味が分からない。過去問と比べ物にならないほど難化しているように感じた。おそらく実際そうなのだろう。華麗にスルー。
問5をチラリ。なんてことだ、出やがったな特性関数。実は全く対策をしていなかったため、打つ手なし。実のところ、特性関数は過去問にも無かったし出ないものと思って一切対策していなかった。こんなところでツケを払わされるとは。
4と7は解くつもりでいたので、これはまずいと思いつつ問6を見る。う〜〜〜〜〜ん、微妙。全四問で、もしかしたら難問も混ざっているかもしれないと思うと手が動かない。保留して問7へ。
問7は簡単。よかった〜。唯一の癒し。過去問で対策したものと似た問題も出てきていたので、楽々全完。意気揚々と問8へ。
なんだこれ?ユークリッドの互除法のような計算問題だ。もしかして大学入試と間違えた?と思うほど余裕の問題。プログラミングのプの字もないままとりあえず分かるところだけ終えて、後から全完。しかし、予想はつく。こういう年は問9にプログラミングが来る。
果たして、問9はプログラミング。出題傾向はこれまでと異なり乱数生成プログラムの問題だった。全四問。(2)までは余裕で解いたものの、(3)で躓く。これを実装できるアルゴリズムが全く思い浮かばない。仮に(3)が出来たとして、それを応用しても(4)ができる気がしない。
作戦変更。問9の解答を全て消去し、問6へ移動。(2)までは最尤推定量の問題であることは確認済みなので、問9とフラットな状況にできることはわかっている。難なく尤度関数を用いて、さて(3)だ。
謎の不等式。どう足掻いても解ける気がしない。問9よりは現実的に見えたような気がしたものの、結局分からずスルー。しかし、(4)は(3)を基にすれば自明であったため、その旨を書いて終える。これで点がもらえれば良いのだが。
さて、問Bに戻る。放置状態だった(2)に対して、ゆっくりと状況を整理する。すると、特定の条件下においてJの4階微分まで全て0であれば成立することに気づく。そこからはひたすらに計算計算計算。なんとか解けたぞ。
適当に見直しをして試験終了。帰り道の途中で問Cの不備に気づく。泣。
面接
多分すく君と似たような感じでした。事務事項と、やりたい事について詳しく聞かれて、早めに終了。このパターンは合格と相場が決まっている。
結果
合格
よかったね。おわり。
感想
なんだかんだ言って、本番では過去問にない事態の一つや二つは起きることがわかりました。今回の場合、数理最適化の難化、過去にない傾向の問5、謎の問8と閃き問題となった問9がそれにあたります。これらのような事態に遭遇しても対処できるよう、やはり過去問は完璧にできるようにしておいた方が良いでしょう。研究室の先輩に教えてもらうなりサークルの同級生に質問するなりして、解く予定の問題で解き方がわからないものはない程度まで行けば〇。
とはいえ、終わってみての感想は、「こんな簡単な問題を解くだけでいいの?」という気もする。この分野をなんも知らない外部生も、多分数か月頑張れば入れると思いますよ。知らんけど。
終わり
明日は@iroriさんですね。よろしくお願いします。