2018年のプライベートで読んだ本振り返り

数理科学に興味があるITエンジニアが2018年にプライベートで勉強したことのまとめです。どうしてこの本読んだのかとか、どういう内容だったのかとか、気が向いたら別記事にして詳しく掘っていきます。

1~5月:暗号の代数理論4~5章、暗号技術入門、量子コンピュータ―超並列計算のからくり一部、プログラミングコンテスト攻略のためのアルゴリズムとデータ構造1~13章、プログラミングのための確率統計

暗号の代数理論
暗号の代数理論

暗号の代数理論

 

この本は2017年の6月から読み始めて、演習問題も全部解いていたが、残すところ6章のみとなったところで挫折し、5章まででやめた。

 もともとグレブナー基底の暗号系への応用についての興味から読んでいました。

暗号技術入門
暗号技術入門 第3版

暗号技術入門 第3版

 
量子コンピュータ―超並列計算のからくり
量子コンピュータ―超並列計算のからくり (ブルーバックス)

量子コンピュータ―超並列計算のからくり (ブルーバックス)

 

 「暗号の代数理論」で勉強したことを無駄にしたくなかったので、「耐量子暗号についてしゃべる」という題目で会社で発表することにした。耐量子暗号とは、量子コンピュータが実用化されても利用できる暗号系のことです(逆にいうと、今使われているRSAなどは量子コンピュータが実用化されると破られてしまうと言われています)。「暗号の代数理論」自体は耐量子暗号の文脈ではなくいくつかの暗号系と代数学の関わりについて書かれたことだったので、発表資料をまとめるために追加でちょっと勉強しました。

 プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

 

こちらは上記の発表とかとは関係なく、独立で勉強した。13章までが基礎編みたいな感じで、そこまでやった。

ぶっちゃけあまりプログラミングコンテスト対策にはならないと思ったけどこれは別記事かく気になったら書きます。

アルゴリズム自体の勉強としてはとても良い本だと思います。

 プログラミングのための確率統計
プログラミングのための確率統計

プログラミングのための確率統計

 

 ふと統計のことが知りたいと思い勉強することにした。数理科学系の学科を卒業しているのだが統計は苦手で、今まであまり勉強していなかった。

あとで書く「統計学入門」は修士の時に読むだけ読んだことがあるのだが全てを忘却していた。

この本は6章まで読んで、結局全て忘却してしまった。

6~7月:統計学入門5章〜、Spring徹底入門2,14章、ふつうのLinuxプログラミング6章まで、AtCoder始めた 

統計学入門
統計学入門 (基礎統計学?)

統計学入門 (基礎統計学?)

 

前述の通り読むだけ読んだことがあったのだが、手を動かさないと統計は身につきづらいのではないかという仮説を立てた僕は「統計学入門」をもう一度読んでさらに練習問題もやることにした。1〜4章は飽きそうな内容だったので触れないことにした。

練習問題は全てやったわけではない。「ある年の宝くじのデータは以下の通りで〜」みたいな、手を動かす量が多すぎる問題は避けた。

有名な本なのに誤植が多い。特に練習問題。しかしこのレベル感の本で他にいい本があるのかは知らない。 

Spring徹底入門
Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
 

 業務関係のこともちょっとは勉強しないといけないのではないかと思い2,14章を読んだ。2章はSpring Coreのことについて。結構理解度が上がるいい文章だった気がする。難しくて「あ、そういうこともあるのね」みたいに流した箇所も多い。14章はチュートリアルになっていて、ひたすら写経。thymeleafのところは業務に関係なさそうだったのでコピペで飛ばした。このチュートリアルが結構長くて、70ページくらいあったが、実践的で良かった。具体的には、僕はMVCとかのアーキテクチャのことわからないので、そこを意識したチュートリアルなのが良かった。

 ふつうのLinuxプログラミング

業務関係ではないのだが、もうちょっとITに寄った勉強したほうがいいのではないかと思い読んでみた。7章あたりからコマンドの説明を網羅的に書くような天下り的な書き方が多くて、挫折。そこまで興味がなかったということですね

AtCoder始めた

前述の「4月:プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」をやってるときはつまらなかったのだが、コンテスト自体はかなり楽しいと感じた。今まで趣味らしい趣味を持つことなく生きてきたのだが、これはいい趣味になりそうと感じた。2018年はある程度継続的にコンテストに出れたので、2019年も継続的にコンテストに出たい。

 8~11月:現代数理統計学の基礎2〜8章、蟻本、統計検定1級受験

 現代数理統計学の基礎
現代数理統計学の基礎 (共立講座 数学の魅力)

現代数理統計学の基礎 (共立講座 数学の魅力)

 

実践的な統計処理より、まず数理統計について興味があったので、理解を深めるために読んだ。後述の統計検定1級の参考書としても利用。練習問題は量が多くて早々に諦め、9章以降に関してもヘヴィだったため諦めた。

 プログラミングコンテストチャレンジブック
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

 

 通称「蟻本」。前述の「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」がアルゴリズム自体の理解を深める本だったのに対してこちらはアルゴリズムの使い方について書いてある、本当のコンテスト対策の本である。統計検定対策が本格化するまで読んでいた。

統計検定1級受験

統計検定1級は午前と午後に分かれているのだが、結論をかくと午前だけ合格・午後は不合格だった。

勉強法としては、上記の「現代数理統計学の基礎」を2〜8章まで写経してあとは過去問を解いていた。過去問を解くうちに「現代数理統計学の基礎」より「数理統計学―基礎から学ぶデータ解析」の方が統計検定1級の範囲をカバーしている上に記述も丁寧だと気付いた。 

数理統計学―基礎から学ぶデータ解析

数理統計学―基礎から学ぶデータ解析

 

 統計検定1級の受験についてはやる気が出たら別記事にまとめたい。

12月:蟻本

12月は統計検定が終わったので蟻本の勉強を復活させた。仕事が忙しくて電車内で気が向いたときに読むくらいしかできなかったが。

 

2019年どうするか

目標としては、以下3つ。

AtCoder青色

・統計検定1級午後合格

・Kaggleとかやってみる

AtCoder青色 

現在水色なので、青色を目指す。圧倒的に演習量が足りないのでここをどうにかしたい。AtCoder挑戦についても気が向いたら別記事にまとめたい。

統計検定1級午後合格

午前・午後合格することで、正式に1級合格となるようなので、不合格だった午後を今年も挑戦したい。多分過去問ちゃんとやればなんとかなるでしょ。

Kaggleとかやってみる

数理科学に関わるお仕事をしたいと言いながらデータ分析については全くやったことがないので、こういうのもやってみたい。

ところで数理科学に関わる仕事がしたい件

正直数理科学に関わる仕事がしたいと言う割に、素養も演習量も興味も足りない気がする(数理科学に関わる仕事をしている人はもっと素養も演習量も興味もあって、かつ業界的に僕が入れるようなパイの広さではない気がする)。でもやってみたい。ここら辺のコダワリどうするかも2019年考えないとね。