情報系の人間に学科何?って聞かれると必ず似たような質問をされてめんどくさくなったのでまとめます。
Q. 数学科?こわっ
A. 数学科のほとんどの人間はTeXも書けません。
分野が違うため競合にはなりません。
情報分野で「数学出身だ」と注目されるほど存在感を残せる時点で強いという生存バイアスだと思います。
Q. TeXも書けないって言ったって、いざプログラミングをはじめたらすぐできるようになるんでしょう?
A. 人によります。
数学科にもプログラミングの授業がありますが、リストのfor文での検索も書けない人もいます。
Q. なんの研究してるんですか?
A. 学部時代は数学基礎論、院ではHaskellと圏論をやっています。
うちの数学科は特殊でコンピューターサイエンスも扱ってるってだけで、普通他の数学科ではHaskellはやってないと思います。
Q. 数学の研究……卒論とか修論とかあるんですよね?新規性の発見の余地なんてあるんですか?
A. 普通ないです。
卒論はない研究室が多いです。
修論は既存の本や証明をわかりやすくまとめなおしたりすることでお茶を濁します。
新規性のある論文は、独自の指標を自分で定義してその指標の性質をまとめる、といった内容のものが多いと聞いたことがあります。
私の研究室の先輩の修論はHaskellのGUIライブラリの改良でした。
Q. 研究テーマはなんですか?
A. まだ決まってません。
数学の研究は実験による物理的な時間の拘束がないため、工学とは感覚が全然違うと思います。
テーマ決めがメインで、テーマが決まれば論文自体にはあまり時間をかけないのが通例のようです。
Q. 自分も数学やった方がいいですか?やはり原理を理解していた方がいいですよね
A. 統計、確率論、機械学習一通りやりましたが、確率論の知識がDLに活きたという実感はありません。
何事も知らないよりは知っていた方がいいだろうとは思いますが、他にも知っていた方がいいであろうことはたくさんあると思いますし、数学は学習コストが高いだろうと思うので、優先順位が特別高いとは思いません。
抽象的な論理を扱う現実から解離した思考実験の感覚が楽しいと思えるなら趣味としてやってればいつか役に立つかもね、ぐらいだと思います。
Q. 数学ってどうやって勉強するんですか?
A. 基本本を読んで問題演習をします。
Q. 我々はコードを書いて理解を確認しますが、それに対応する勉強法は数学にありますか?
A. 具体例を考えることがそれに相当すると思います
Q. Haskellの研究って何するんですか?
A. 研究室の先輩はGUIライブラリの開発をしていました。
私はもう少し数学寄りのHaskellの圏論的性質についてになる予定ですがまだ決まってません。
Q. 数学基礎論ってなんですか?
A. 数学基礎論は大きなくくりで、その中に集合論や数理論理学を含みます。
集合論は、0をΦ、1を{Φ}、2を{Φ, {Φ}}と定義したりとか、アレフワン(連続濃度)は2^アレフゼロ(離散濃度)とかそういう話をするやつです。
数理論理学は、不確定性原理とか、Coqとか、ああいうやつです。
三段論法をカット除去により証明するとか、なんかああいう感じのやつ。
Q. なんでソフトウェア開発やってるんですか?研究と関係あるんですか?
A. 趣味です。
研究とは関係ありません。
学科でもほとんどやってません。
サークルで教わりました。
Q. なんでセキュリティのアルバイトやってるんですか?研究と関係あるんですか?
A. なんでやってるんでしょうね……成り行き、といいますか……。
少なくとも研究とは関係ありません。
ノリでIPAのセキュスペ(今は名前変わりましたね)を取ったら、ちょうどいいタイミングで大学でセキュリティバグハンティングコンテストをやってて。
基本稼働中の学内向けWebサービスをペネトレーションテストしてレポートを書くんですけど、なんか優勝しちゃって。
バイト探すときに、コンビニバイトなんて自分にはできそうにないし、そのときの審査員だった先生に連絡とってバイト紹介してくださいとお願いしたらそのまま雇われました。
Q. 優勝!すごいですね
A. そもそも参加者数も少なくて、参加した人も時間がなくてまともにレポートの形になってない人が大半だったようです。
まともにレポートを出したら優勝しました。
ちなみにOWASP ZAPというソフトウェアを使って攻撃したのですが、ログイン機能のところを攻撃したらしばらくアカウントがロックされました。
今回のコンテストは参加者は特別に許可を与えられた形で、普段は稼働中の学内サービスに試しに攻撃したら犯罪になるのでZAPで攻撃は試さないでくださいね。
試すなら、学内サービスではなく、バグを報告したら賞金がもらえるタイプのサイトを攻撃してください。