電子書籍
コンピュータに慣れてなくとも読める
2017/11/20 20:47
1人中、1人の方がこのレビューが役に立ったと投票しています。
投稿者:ドングリ - この投稿者のレビュー一覧を見る
アルゴリズムと聞くと数学的なイメージがあり敷居の高いものと想像されるかもしれませんが、この本は数学的素養をほとんど必要としておらず平易な言葉で的確な解説がなされています。IT志望の文系の方に特にオススメします。
投稿元:
レビューを見る
公開鍵暗号法。
鍵が公開されているのに、なんで暗号化できているんだっけ?
何回読んでも忘れる。
今回もそうだろう。
でも、これまでで一番やさしく、かつ、数学的でした。
(以下抜粋。○:完全抜粋、●:簡略抜粋)
●公開鍵暗号法(P.75-78)
ステップ1:A、Bが秘密色を選ぶ
ステップ2:公開色を確認する
ステップ3:A、Bは自分の秘密色と公開色をまぜた混合色を作り、公開する
ステップ4:AがBの混合色を持ってくる
ステップ5:Aは秘密色とBの混合色を混ぜ合わせて、共有用の混合色をBに渡す
ステップ6:Bは受け取った共有用の混合色から、
公開色、Bの秘密色を取り除くと、Aの秘密色がわかる
○混合処理は「離散べき乗」、分散処理は「離散対数」と呼ばれる。
そして、コンピュータが離散対数を効率よく計算する方法は見つかっていないので、
離散べき乗は私たちが探している一方通行操作の一種と考えることができる。(P.85)
投稿元:
レビューを見る
1.検索エンジンのインデクシング、
2.ページランク、
3.公開鍵暗号法、
4.誤り訂正符号、
5.パターン認識、
6.データ圧縮、
7.データベース、
8.デジタル署名、
9.決定不可性とはなにか
の9のアルゴリズムについて書かれている。
比喩がすぎてかえって分かりにくくなっているようなところもあるが、データベースが書き込み途中で停電などの非常事態にあっても大丈夫なようにトランザクションを重視しているという話やインデクシングはなぜ必要かなど、改めて考えさせられた内容も多かった。各章は独立しており、細切れの時間を使ってどこからでも読める
投稿元:
レビューを見る
現在のコンピュータ社会を支えるキーアルゴリズムを9つピックアップし、身近な例もしくはアナロジーを使って解説する。この方法方法が見事で、素人にも理解でき、玄人にも満足できる内容となっている。
投稿元:
レビューを見る
何かを知りたいとき、Googleで検索をすればだいたいのことはわかります。では果たしてGoogleはどのようにしてこの広大なWWWを探索しているのでしょうか。
何かが欲しいとき、Amazonへ行けばだいたいのものは買えます。では果たしてAmazonはどのようにして私たちとクレジットカードを用いた取引を成立させているのでしょうか。
何かが聴きたいとき、iTunesへ行けばだいたいの音楽はダウンロードできます。では果たして私たちはダウンロードした音楽がiTunesから提供されたものとどうやって判断しているのでしょうか。
その答えが本書を読めばわかります。
なお、本書で紹介されている9つのアルゴリズムは以下の通りです。
・検索エンジンのインデクシング
・ページランク
・公開鍵暗号法
・誤り訂正符号
・パターン認識
・データ圧縮
・データベース
・デジタル署名
・決定不能性
投稿元:
レビューを見る
実際にプログラミングするための技術書ではない。しかし、(社会的に影響力のある各種)アルゴリズムの「妙」を平易な言葉でうまく伝えている。そこに美学を感じられるかどうかは人それぞれだろう。自分は十分共感するので星五つ。
どの章もわかりやすく面白いが、一風変わった(ゲーデルの不完全性定理とも絡んでいると思われる)「実現不可能なプログラムの存在証明」の章が一番印象的。
投稿元:
レビューを見る
良書です。普段意識することなく使っている「検索インデクシング」「ページランク」「公開鍵暗号」といったものが、いかによく考えられて作られたものかが分かりやすく説明されています。ここで紹介されているアルゴリズムが内含する論理一貫性やキメの細かさには、美しさが感じられるほどです。Kindleで発売されるのを待っていたのですが、待ちきれず書籍版を買って読んで正解でした。
投稿元:
レビューを見る
ページランク、公開鍵暗号、2フェーズコミットなどIT系の人間にはある程度常識となっている著名なアルゴリズムを平易に解説している本。数式や抽象的な記述を極力排除した平易な解説が特徴なのだが、それが逆に少々まどろっこしいという印象もある。数式嫌いの人にはとても良い本だと思います。
個人的には第十章、決定不能性の章がおもしろかった。存在し得ないプログラム、を具体例を通して解説されておりとてもわかりやすい。全てのプログラムを対象としたクラッシュ検出プログラムというのが実現不能であることを具体例を通じてわかりやすく証明しています。チューリングなどが研究していた内容。要するに、”全てのプログラム”を対象とすると、プログラムには自分自身も含まれ、自己言及が発生するとおかしくなる、というのが肝だと思います。ゲーデルの不完全性定理などと通じるないようですね。ただ筆者も述べているように、”決定不能性がコンピュータの利用に及ぼす実際の影響はない”。あくまでも理論的な限界の追求ですね。なのであまり応用的な面では重要ではないのでしょうが、コンピュータ科学の理論としてはおもしろいと思います。
投稿元:
レビューを見る
コンピュータを使い物にするアルゴリズムにはどういうものがあるか、今日的な視点から選んだ実際に役立っている9のアルゴリズムのアイデアを、章ごとに掲げてわかりやすく説明した読み物です。図を多用し、その仕組みをたとえを使いながら見せることに重点を置いています。著者が選んだ基準は、(1)インターネットでメールやブラウザを利用する一般ユーザーの日常のコンピュータで使われていること、(2)特定の状況や高度のソフトウェアだけに使えるものは除くこと、(3)基本的にコンピュータ・サイエンスの理論に基づくこと、です。扱っている9のアルゴリズムのテーマは、検索エンジンのインデクシング、ページランク、公開鍵暗号、誤り訂正符号、パターン認識、データ圧縮、データベース、デジタル署名、計算不能性。
Amazon紹介 より
今とっても便利に使っているインターネットがどのようなしくみのもとに動いているのか、どのような考え方で設計されているのか、といったことを解説してくれる本.
投稿元:
レビューを見る
コンピュータの肝、アルゴリズムの解説。
いかにコンピュータが無力でありまた強力なツールなのかがよくわかる。よくわかるのだがやはりアルゴリズムの一つ一つはややこしく難しい。
検索エンジン ページランキング 公開鍵暗号法 誤り訂正符号 パターン認識 データ圧縮 データベース デジタル署名 バグ、クラッシュ等 についての考察
各々一冊の本にできるような内容をうまくまとめてあり概要はよくわかる、わかる故にそれ以上の内容を深堀してみたくなる。
投稿元:
レビューを見る
専門書、サイトで個々の難解な解説はいくらでも見ることができるが、これだけ網羅的に平易な解説を読むことができる本書は貴重。
人に説明するためには高みに上る必要がある。その高みは高ければ高いほど、わかりやすい説明ができる。
プレゼン技術云々の前に、理解度であるということ。
投稿元:
レビューを見る
気になってたのがなぜか今頃本屋に並んでたからパラパラと立ち読み。翻訳が読みにくいような…。この本以外で読んだことある内容だったので買わずにスルー。
投稿元:
レビューを見る
ひたすらただの感想。
暗号の話は詳しくなかったのでなるほど、勉強になった。パターン認識と演繹思考は馴染みがあるので、普段やってることはそんなに間違ってないんだなと確認。
量子コンピュータについても軽く触れてるだけだけど、なぜ高速なのか=ゼロイチじゃないから、というのもなるほど。
思えば、20歳くらいからずっと、ささやかなことばかりだけど、どうやったらコンピュータにやってもらえるかを考えてて、自分はこの分野が好きだったんだな。
投稿元:
レビューを見る
偉大なアルゴリズムを以下の点で定義して、その定義に当てはまる9つの
アルゴリズムを紹介している
1.普通のコンピューターユーザーが毎日使っている
2.現実の世界の具体的な問題を解決している
3.コンピューター科学理論に関係している
9つのアルゴリズムは確かに普段はあまり意識せずに
使用しているものばかりだった
(最後の決定不能性:コンピューターが出来ないことについて以外は。。)
しかも平易な説明であり、具体的な比喩が多く使われているため
アルゴリズムのイメージがつかみやすかった
1.検索エンジンのインデクシング
2.Webページのページランク
3.公開鍵暗号法
4.誤り訂正符号
5.パターン認識
6.データ圧縮
7.データベース
8.デジタル署名
9.決定不能性
数学的な知識がなくても理解できるように記載されていて、
詳しい内容については参考文献に任せている潔さがいい。
特に1.2.のインデクシングとページランクは
普段ググった結果のランク付け方法についてイメージがつかめて良かった
投稿元:
レビューを見る
所々に英訳が変な部分を感じた。英語特有の言い回しを感じた。
a.普通のコンピュータユーザーが毎日使っているアルゴリズム
b.現実の世界の具体的な問題を解決するアルゴリズム
c.コンピュータ科学理論に関係のあるアルゴリズム
の3つの基準で
1.検索エンジンのインデクシング、
2.ページランク、
3.公開鍵暗号法、
4.誤り訂正符号、
5.パターン認識、
6.データ圧縮、
7.データベース、
8.デジタル署名、
9.決定不可性
の9つを取り上げています。