読み終わったので感想を書く。
この「なぜ」シリーズを読むのは今回で三冊目だが、今回紹介する本は「なぜ」シリーズの中で一番最初に読むべき本のように感じる。
理由は、アルゴリズム、データベース、ネットワークなど、コンピュータを扱う上で重要な部分を広く浅く解説しているからだ。
タイトルは「情報はなぜビットなのか」だが、これについて説明している部分はごく僅かである。
なので、本のタイトルが適切かどうかと考えると微妙なところだ(著者になんらかの思惑があるのかもしれないが)。
同じ「なぜ」シリーズに、「ネットワークはなぜつながるのか」や「プログラムはなぜうごくのか」などがあるが、「情報はなぜビットなのか」を読み、概要を理解した上で読むと、より理解が深まるだろう。
章ごとに分けて感想を書きたいが、全部で12章もあり多すぎるので、特に気になった章だけ感想を書いていく。
第1章 音声をデジタル化する (割愛)
第2章 一筆書きの可否を判定する
グラフ理論の話だ。
例をあげると、ケーニヒスベルクの橋、結婚問題、4色問題などについてだ。
なんとも難しい単語が並んでいるが、易しく解説がなされているので読みやすいだろう。
私は4色問題に興味が湧いたので、ブルーバックスの四色問題の本を読んでみようと思う。
第3章 最も儲かるようにお菓子を詰める (割愛)
第4章 身の回りのデータを解析する (割愛)
第5章 コンピュータとじゃんけんする (割愛)
第6章 どっちの手順がよいか判定する
アルゴリズムについての初歩的な説明がなされている。
流れ図にはじまり、線形探索・二分探索といったアルゴリズム、計算量などの説明が主にされている。
巡回セールスマン問題、ナップザック問題などのNP完全問題の説明にも少し触れているが、そこまで踏み入った解説はしていない。
第7章 プログラムでパズルを解く
引き続きアルゴリズムの話だ。
主に、ハノイの塔、エイトクイーン、モンテカルロ法など、前章よりも少し難しいアルゴリズムや典型問題についての説明がされている。
第6章・第7章は競プロを始めたばかりの人の役に立つのではないか、と思った。
第8章 機械に言葉を理解させる
形式言語、BNF記法、オートマトン、チューリングマシンなど、プログラミング言語やコンピュータの原型となるものについての話がされている。
個人的に一番面白い章だった。
川添 愛著の「白と黒のとびら」、「精霊の箱」でもう少し詳しく勉強してみようと思う。
第9章 スイッチで計算を行う (割愛)
第10章 情報を表形式で整理する
リレーショナルデータベースについての話だ。
私は第一正規形~第三正規形までしかよく知らなかったのだが、ボイス・コッド正規形、第四正規形、第五正規形についても粗方理解することができた。
従属性についても分かりやすく説明されており、良かった。
かなり得られるものが多い章だったように思う。
ただし、排他制御やロールバック、ロールフォワードのような話には触れていないことに注意する。
第11章 情報伝達の仕組みを階層的に整理する
私はネットワークの分野がどうも苦手だが、そんな私でも話の内容は粗方理解できた。
この章についても得られるものが多かったように感じる。
第10章・第11章については、情報処理技術者試験でも役に立つのではないだろうか。
第12章 コンピュータで社会貢献した人たち (割愛)
今回は割と内容が軽く、割とすらすら読める部類の本だった。
もう一度言うが、「なぜ」シリーズに興味がある方はまず最初にこれを読んでみて欲しい。
それでは、この辺で。