0, 1, 1, 2, 3, 5, 8… – 書評 – プログラマの数学

6月 3rd, 2008 admin Posted in 書評 | コメントは受け付けていません。

最近フェルマーの最終定理 (そーとー面白い)も読んだので数学(というより数字)かぶれになって、先日フットサルの背番号を決めるときにも
「当然6だよ、完全数だからね」
とかいう感じで黒歴史を刻むことが多くなっています。
さあ今回の本は

プログラマの数学
プログラマの数学
posted with amazlet at 08.06.03
結城 浩
ソフトバンククリエイティブ
売り上げランキング: 6948

目次

普段は目次は紹介しないのですが、今回は紹介。なぜならこの本を読む人はこの本のタイトルを見ただけで読みたいと思うだろうし、もしそうでないとしても目次を見れば読みたくなるはずだから。

はじめに
第1章 ゼロの物語 ―― 「ない」ものが「ある」ことの意味

10進法 / 2進法 / 位取り記数法 / 指数法則 / 0の果たす役割 / 人間の限界と構造の発見
第2章 論理 ―― trueとfalseの2分割

どうして論理が大切なのか / 網羅的で排他的な分割 / 演算子で複雑な命題を組み立てる / ド・モルガンの法則 / カルノー図 / 未定義を含む論理
第3章 剰余 ―― 周期性とグループ分け

曜日クイズ / オセロで通信 / 恋人探し / 畳の敷き詰め / 一筆書き
第4章 数学的帰納法 ―― 無数のドミノを倒すには

ガウス少年 / 数学的帰納法 / オセロクイズ / ループ・インバリアント
第5章 順列・組み合わせ ―― 数えないための法則

数えるとは / 植木算 / 数え上げの法則 / 置換 / 順列 / 組み合わせ
第6章 再帰 ―― 自分で自分を定義する

ハノイの塔 / 階乗 / フィボナッチ数列 / パスカルの3角形 / 再帰的な図形
第7章 指数的な爆発 ―― 困難な問題との戦い

倍倍ゲーム / バイナリサーチ / 対数 / 計算尺 / 暗号
第8章 計算不可能な問題 ―― 数えられない数、プログラムできないプログラム

背理法 / カウンタブル / 対角線論法 / 計算不可能な問題 / 停止判定問題
第9章 プログラマの数学とは ―― まとめにかえて

本書を振り返って / 問題を解くということ / ファンタジーの法則

面白かったところ

オセロでパリティチェックの話が面白かった。

1.手品師が目隠しをする。
2.オセロを7個一列に並べる(裏表はランダム)
3.手品師のアシスタントが1つオセロを加える(これで8個になる)
4.客が1枚だけ裏返すか、放置する
5.手品師は目隠しをはずし、客が1枚裏返したか、そうでないかを当てる(当てることができる)

なんだか不思議じゃないですか?アシスタントは1つオセロを加えただけなのに客が1枚裏返したかどうかわかるなんて。

まとめ

プログラマは当然読むべだろうと思うし、そうでない人もミーシーがどうとか言ってないで読んで欲しい。この本を読めばなぜプログラマの人がすぐに
「じゃあ、それが無限だったどうなるんだ」
「じゃあ、それが同時に行われたらどうなるんだ」
「じゃあ、それが0だったらどうなるんだ」
「じゃあ、Aの途中でBも始まって、先にBがおわってAがその後になったらどうなるんだ」
とかっていう「俺に恥をかかせたいのか」的な事を目を輝かせながら言い出すのか少しでも分かってもらえるんじゃないかなと思う。

Comments are closed.