結城浩著「プログラマの数学」読みました。
本書は、「数学ガール」などで有名な結城浩さんが、
プログラミングに関係する数学の雑学をまとめた本です。
正直いうと、これを読んだからプログラミングができるような本にはなっていません。
本書中で、何か動くプログラムを組むということもありません。
ゆえに、入門書だと思って読むと、少しがっかりするかもしれません。
===
では何の本なのかというと、ざっくり言えば、数学を題材にした雑学読み物です。
「へぇ~、そんな考えあるんだ!」と、読みながらワクワクするような本です。
数学的な一般化や、写像などの考え方が、
難しい言葉や数式を使わずに説明されていきます。
このため、数学が苦手な人には、面白く読めるのではないかと思いました。
一方、これまで、ある程度数学を勉強してきたひとや、
数学をあつかった本などを読んできた人には、
「またその話かぁ」という感じで、目新しいところは少ないかもしれません。
===
以下、目次から抜粋して、ざっくりと本書の概要をまとめておきます。
第1章 ゼロの物語 「ない」ものが「ある」ことの意味
- 10進法
- 2進法
- 0の果たす役割
第2章 論理 trueとfalseの2分割
- ド・モルガンの法則
- カルノー図
- 未定義を含む論理
第3章 剰余 周期性とグループ分け
- 一筆書きクイズ
第4章 数学的帰納法 無数のドミノを倒すには
第5章 順列・組み合わせ 数えないための法則
- 植木算
- 置換
- 順列
- 組み合わせ
第6章 再帰 自分で自分を定義する
- ハノイの塔
- フィボナッチ数列
- パスカルの三角形
- 再帰的な図形
第7章 指数的な爆発 困難な問題との戦い
- 倍々ゲーム
- バイナリサーチ
- 対数
- 暗号
第8章 計算不可能な問題 数えられない数、プログラムできないプログラム
- 背理法
- カウンタブル
- 対角線論法
- 計算不可能な問題
第9章 プログラマの数学とは まとめにかえて
- 問題を解くということ
付録1 機械学習への第一歩
- 予測問題と分類問題
- パーセプトロン
- ニューラルネットワーク
- 人間は不要になるのか
付録2 読書案内
===
本書を読みながら、もう少し詳しい本を探したいと思った方は、
吉田武さんの「素数夜曲」をおすすめします。
この本も、プログラミングと数学を扱った本ですが、
結城さんの本よりも初歩的なところから始めて、より深いところまで進みます。
こちらの本は、数式の展開もありますし、プログラミングもLISPを実際に動かします。
そして、かなり分厚いです。
読み応えは抜群ですし、わたしも大好きな本なのですが、
最初に読む本としては、まったくオススメできません。
ちょっと重すぎるのです。
あくまでも結城さんの本を読んでみて、
もっと数学とプログラミングの本を読んでみたい、
と思った方だけが、手に取ってほしい本です。
きっと読んでいて楽しい体験ができると思います。
内容自体は、本当に面白いので、
ぜひ「素数夜曲」も合わせて読んでみてください。
かじとじむ のオススメ記事: