すのふら

すのふら

日々の備忘録

何気なく使っているアルゴリズムを歴史から『世界でもっとも強力な9のアルゴリズム』を読んだ

足りない頭でアルゴリズム勉強している。
『なっとく! アルゴリズム』から続くアルゴリズムをもう少し勉強しようの一環で読んだ。

世界でもっとも強力な9のアルゴリズム

世界でもっとも強力な9のアルゴリズム


『なっとく! アルゴリズム』がソースコードが記載されていたり数式の記載があったりと比較的エンジニア向きに対し、この書籍は文章がメインとなる。

文章自体もイメージをつかんでもらうことが前提とした例メインなので読みにくいということはないと思う。

そのためソースコードが読めないという人でも、概要はつかめると思う。
文章で想像する分、ちょっと分からなくなるとそのままずるずると分からなくなるので、立ち止まったり戻ったりするので読むのには時間がかかった。


目次

第1章 イントロダクション―コンピュータが日常的に使っているすごいアイデアはどんなものか
第2章 検索エンジンのインデクシング―世界最大の藁山から針を探す
第3章 ページランク―グーグルを起ち上げたテクノロジー
第4章 公開鍵暗号法―葉書で機密情報を書き送る
第5章 誤り訂正符号―自分で誤りを訂正するシステム
第6章 パターン認識―経験から学ぶ
第7章 データ圧縮―無から有を生み出す
第8章 データベース―一貫性の追求
第9章 デジタル署名―このソフトウェアを本当に書いたのは誰か
第10章 決定不能性とはなにか
第11章 まとめ―指先の天才はもっと賢くなるか


基本情報処理試験で見たことあるアルゴリズム

目次を見ると分かるように基本情報処理試験で出るような分野の内容が多い。
改めて基本情報処理試験は世の中で使用されているものを網羅的に試験にしているのだなと感じた。

基本情報処理試験のような要素というよりは、試験で出てくるワードを処理の変遷から追いかける要素が強いので、これを読めば基本情報処理試験完璧だというものではないのは銘打っておく。

公開鍵暗号方式を絵具という超アナログな表現で説明していたのは、今まで解説しているサイトや書籍を見てきたがない要素だった。
そんなアナログな表現がくみ取れず、どういうことだ?みたいな感じに最初なってしまったのは、俺の読み取りが甘いからかなと思ってる。

RSAがロナルド・リベスト、アディ・シャミア、レオナルド・エーデルマンの3人の名前からとられているなんて初めて知った。

個人的に面白かった点

個人的には5章の誤り訂正符号の解説はかなりわかりやすかった。
ここも処理の変遷をベースにどう処理が移り変わっていくのかを記載しているんだけど、ここの例は分かりやすい。

この辺りよく分からないという人は読んでみて損はないかなと。


概論だった6章と難しすぎる10章

逆に6章のパターン認識については、広い範囲の話を1章でまとめようとしているので、概論で終わってしまったなあと思う。

10章は正直読んでいてよくわからなかった。
文章表現向きじゃないテーマなのではと思いつつも、正直内容よくわからないのでもっと深掘りして読んでいく必要があると感じた。