Wednesday, February 06, 2008

今さらながら computer

------------------------------------------------------------------------------------
   

あなたはコンピュータを理解していますか? <梅津 信幸>

“Do you understand what a computer is?”
この問いかけに対してまったく答えることができなかったのでこの本を手に取った。

表紙に書いてある
「10年後、20年後まで必ず役立つ根っこの部分がきっちりわかる!」
という文句にも興味をそそられた。
20年後も現在のようなコンピュータが使われる時代かどうかは定かではないが、とりあえず今日この世界を生きるうえで、コンピュータのことを少しでも理解するよう努めることは重要だろう。

コンピュータを理解するというのは、何も情報検索が上手くできるということではないし、マイクロソフトのオフィスがパーフェクトに使えるということでもない。この「箱」の中で何がどのように起きているか、その仕組みを知るということだ。
僕は日常生活のPC使用という表面的な触れ合いからコンピュータの本質へと近づいていけばいくほどコンピュータが嫌いになっていく感覚がある。大学でも UNIX とかなんだかそっけない感じの OS も使ったし、プログラムの画面も何度かは見たことがある。しかし、どうにも Windows だの Word だのの方が使いやすすぎるのだ。そういうわけで、コンピュータとは何か?という質問にはかなり抵抗があるのだが、それをくだけた文体で解説してくれる本書はとても魅力的に見えた。

さて、内容はというと、本当にコンピュータの「0→1」の部分が解説されている。だから今日のような進化したコンピュータの仕組みがどうかということではなく、最初のコンピュータはどういう仕組みで、どのような考えで作られたかというのがわかるようになっている。これさえわかれば、1を100にして現在のレベルのコンピュータにすることはおそらく容易なのだろう。本質は変わらず、性能だけが良くなっているだけなのだから。

大きなキーワードは
・データと情報
・エントロピー(情報理論における)
・チャネル
・有限オートマン
・プログラムカウンタ
・参照の局所性
などだろうか。

とくにエントロピーの話のところで出てきた

エントロピー = Σ(-確率)log2(確率) 

という式が非常に面白かった。情報理論のド基礎らしいが、まったく知らなかった。物理化学でエントロピーという単語は耳タコなほど聞いていたにもかかわらず…
この式、身近なことにけっこう当てはめられそうなので、時間があるときに平均のありがたさ、すなわちエントロピーについて考えてみようと思う。

あとは、参照の局所性というのが実に素晴らしいものだということが本書を読んで良く分かった。

全体的には…
僕の理解力が足りないのか、この例、微妙じゃない?というのが多かった気もした。全体的には易しく書かれているのだが、肝心なところを万人に理解させることができるかというと少し心配。からっきし数字だとか確率の話がダメという人には向かないかもしれない。いい本ではあるが、まだ改良の余地があるだろう。
 

No comments: