【書評】プログラマの数学
今回は著者:結城浩さんのプログラマの数学について書評したいと思います.
購入は↑↑↑こちらからどうぞ!!
読んだきっかけは単純にこれからプログラミングをやるにあたって,読んどいた方が良いかなぁ~ってだけでありました.軽い気持ちで読み始めたけど,予想以上の成果が得られたのではと個人的に思っています.
内容の難しさとしては高校数学程度です.しかし,けっこう細かく解説してくれているので,高校数学が苦手だったって人でも全然読めると思います.数学が好きなら高校入学したばかりでもある程度は読めると思います.それくらい例とかを使い分かりやすく説明してくれているので,とても読みやすかったです.
概要
1章:ゼロの物語
2章:論理
3章:乗除
4章:数学的帰納法
5章:順列・組み合わせ
6章:再帰
7章:指数的爆発
8章:計算不可能問題
9章:プログラマの数学とは
という構成でした.あと付録が少々.付録で今注目されている機械学習について軽く触れられています.
内容については以下で一言ずつくらいで説明します.
内容
1章:ゼロの物語
ここでは「0」についての説明と二進法や十進法などの説明がされています.ここで説明されていることはコンピュータに必要不可欠な分野であるため1度は目を通すべきだと思います.
2章:論理
ここではif,True,False,and,orなどプログラムで条件式など書くのに用いられる内容が書かれています.
3章:乗除
ここでは周期的なもの(例えば曜日など)を見抜くための内容になっています.
4章:数学的帰納法
ここでは数学的帰納法について書かれています.私は数列がけっこう苦手でした.その数列の範囲で出てくる数学的帰納法ですがこの本ではとても分かりやすく解説してあり,大体は理解できたと思います.ぜひ読んでみて!!
5章:順列・組み合わせ
ここでは順列・組み合わせです.簡単に説明すると確率などと言えばいいのかな!?確率が苦手だった人でも,図などで分かりやすく解説されているので読みやすいと思います.
6章:再帰
ここでは漸化式やフィボナッチ数列などが説明されてます.
7章:指数的爆発
ここでは爆発と書かれている通り,倍々ゲーム(指数的爆発が生み出す困難)が書かれています.指数が簡単にものすごく大きくなるのは皆さん知っていると思います.指数的爆発により,プログラムのテストなどを難しくすることが書かれています.
他にもバイナリサーチについてや指数的爆発を逆に利用した暗号についても書かれているので絶対読むべき内容です.
8章:計算不可能問題
ここでは背理法やプログラムの停止判定について書かれています.プログラムバグで永遠に止まらなかったら困りますからね・・・
9章:プログラマの数学とは
本書のまとめ
この本を読むことでプログラムを書くのに必要最低限の知識が付くのではないでしょうか!?何回も言いますがめちゃめちゃわかりやすく解説されてます.絶対読むべき1冊だと思います.
これからプログラミングを勉強するという方には良いと思います!!プログラムを実際に書かないとしても,システムを作る人や論理的思考を身につけるには良本だと思います.
時間があったら結城浩さんの「数学ガール」のシリーズなんかも,ぜひ読んでみたい.