プログラマの数学
実は発売前日からちょくちょく本屋を覗いていたほど期待してました。
結城さんはデザパタ本の衝撃以来大ファンなのです。
想像を越えるわかりやすさと読み易さで、三日で読了しました。
三日坊主になる前に終わったということですか。
私にとって技術書を読み終えるスピードとしては異例ですね。
内容は
ゼロ、二値論理、剰余、帰納法、順列、再帰、指数的爆発、計算不可能性
という感じです。
全体のテーマとしては
「大きな問題をより小さな問題に分けて解く」
「具体例からパターンを見つけて一般化する」
「解きやすい形に変換して解いて逆変換する」
ということかなと思いました。
本の帯には
プログラミングに役立つ「数学的な考え方」を身につけよう。
プログラムや数学の知識は必要ありません。
難しい数式はいっさい使わず、
明快な文章、たくさんの図、パズルを通して、やさしく解説しています。
プログラミング初心者、数学の苦手な人にも最適。
とあります。
正にその通りでした。
数学が得意な人にとってはあまり知的好奇心を満たすものはないかもしれませんが、
わかりやすい説明の参考例として読むには十分過ぎる価値があると思います。
私は順列・組み合わせの話が学校教育でよく理解できていなかったので、
この本を読んで、そういうことだったのか、と何年ぶりかに理解しました。
パスカルの三角形と組み合わせの関係とか今更ながら数学に興奮しました。
立ち読みでも読み切れる量(もちろん質ゆえにね)なので、
読んでみて良い本だと思ったらぜひ購入してみては。
良い本が売れれば良い本が増えるはずです。

表紙はパスカルの三角形を用いたフラクタル図形か。
2項定理は自力で編み出したんでまあアレっすかね。つか、
結論分かってから考え直してみると、もっと簡単な考え方が
あったことに気付くのがなんだかなぁと。
x ^ p ≡ x mod p
とかはどうだね?pは素数で。素数ってフシギダナ~
フェルマーの小定理もコンビネーションが出てくるのか。
なるほど、前のwizlogの内容も大体わかりました。
面白いなぁ。