I'm Standing on the Shoulders of Giants.

読んだ本から個人的に惹かれた部分を抜き出します。心理学およびその周辺領域を中心としています。 このBlogの主な目的は,自分の勉強と,出典情報付きの情報をネット上に残すことにあります。書誌情報が示されていますので,気になった一節が見つかったら,ぜひ出典元となった書籍をお読みください。

   

リレーショナルデータベース

私たちが使ってきた表のように,相互につながりを持つ表にすべてのデータを格納するデータベースを「リレーショナル」データベース(関係データベース)と呼ぶ。リレーショナルデータベースは,IBMの研究者,E.F.コッドが1970年に書いた「A Relational Model of Data for Large Shared Data Banks」というおそろしく強い影響を与えた論文のなかで推奨したものである。科学分野におけるもっとも優れた発想にはよくあることだが,リレーショナルデータベースは,あとから考えるとずいぶん単純に見える。しかし当時は,情報の効率のよい保存と処理に向かって非常に大きな1歩を踏み出したものだったのである。リレーショナルデータベースに対するほどあらゆる問い合わせへの解答としての仮想テーブルは,ごく一握りの操作(先ほど示した「選択」,「結合」,「射影」などの関係代数の演算)だけで生成できる。そのため,リレーショナルデータベースは,効率のよい構造に作られた表にデータを格納する一方で,別の形でデータが格納されていなければ答えられないように見える問い合わせにも仮想テーブルトリックで答えられる。
 リレーショナルデータベースが大部分のeコマース活動で使われているのはそのためである。何かをオンラインで購入するたびに,あなたは製品,顧客,個々の売買契約についての情報を格納するリレーショナルデータベースの一連の表を操作している。サイバースペースでは,それと気づきさえしないうちに,私たちはリレーショナルデータベースに囲まれているのである。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.221-222

クラッシュ

今までの説明を読むと,私達が不必要にクラッシュの可能性にこだわっているように見えるかもしれない。結局のところ,今のアプリケーションプログラムを実行している今のオペレーティングシステムなら,クラッシュを起こすことは非常にまれなのだ。しかし,この疑問には答えるべきことが2つある。まず第1に,ここで使っている「クラッシュ」の概念は,かなり一般的である。コンピュータが機能を止めてデータを失うようなあらゆる事故を網羅している。考えられることとしては,電源異常,ディスクエラー,その他のハードウェアの誤動作,OSやアプリケーションプログラムのバグなどがある。第2に,一般化しようがクラッシュが起きるのはまれだとしても,銀行,保険会社など,データが実際の金額を表している会社のシステムでは,どのような状況でもレコードに不一致が含まれていてよいことはない。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.196

トランザクション

データベースの世界でもっとも重要な観念は,おそらくトランザクション[英語のtransactionは,取引,処理などを意味する。データベースにおけるtransactionは,日本語文献でもトランザクションとカタカナ表記するのが普通なので,ここでもトランザクションという言葉を使う。意味についてはすぐあとを参照のこと]。しかし,トランザクションとは何なのか,なぜ必要なのかを理解するためには,コンピュータについて2つの事実を受け入れなければならない。最初の事実は,たぶん誰もはいやというほど知っていることである。コンピュータプログラムはクラッシュする。そして,プログラムはクラッシュしたときに,自分がしていたことをすべて忘れてしまう。コンピュータのファイルシステムに明示的に保存された情報だけが残る。知らなければならない第2の事実は,だいぶわかりにくいが,きわめて重要なことである。コンピュータのハードディスクやフラッシュメモリーなどの記憶装置が瞬間的に書き込めるデータはごくわずかで,一般的には約500字ほどである(専門用語に関心のある読者に説明しておくと,ここで言っているのはハードディスクの「セクターサイズ」のことで,一般に512バイトである。フラッシュメモリーの場合,問題になるのは「ページサイズ」だが,やはり数百〜数千バイトである)。最近のドライブは500字の書き込みを1秒に数百,数千回実行できるので,普通のコンピュータユーザーは,デバイスに瞬間的に書き込めるデータのサイズがこのように小さく制限されていることには気づかない。しかし,ディスクの内容は,1度に数百字ずつしか書き換えられないのは事実である。
 このこととデータベースにいったいどのような関係があるのだろうか。実は,きわめて重要な意味がある。一般に,コンピュータは,同時にデータベースの1行分しか更新できないのだ。先ほどの非常に小さくて単純なサンプルサイズでは,これを実証できない。上の例は,表全体で200字に足りないので,コンピュータは2行を同時に更新できるだろう。しかし,一般に合理的な規模のデータベースでは,2つの異なる行を書き換えるためには,2回の別々のディスク操作が必要である。
 以上の事実をはっきりさせると,問題の核心に入っていくことができる。データベースに一見単純な変更を加えようとすると,複数の行を書き換えなければならない。そして,今わかったように,2つの異なる行の書き換えは,1回のディスク操作では実行できない。そのため,データベースの更新は,複数回のディスク操作を連続的に行った結果となる。しかし,コンピュータはいつでもクラッシュする可能性がある。コンピュータがこのような2回のディスク操作の「間に」クラッシュしたらどうなるだろうか。コンピュータをリブートすることはできるが,クラッシュしたときに実行することになっていた処理のことは忘れている。そのため,必要とされる変更が実行されない場合がある。つまり,データベースが一貫性のない状態に取り残される場合があるということだ。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.190-192

圧縮

データやら情報やらを壊さずに「本当の」サイズよりも小さくし,あとですべての情報を完全に作り直すなどということが,どうすればできるのだろうか。実は,人間は,そうと考えもせずに始終これを行っている。例として週間のカレンダーについて考えてみよう。話を簡単にするために,あなたの仕事は1日8時間,週に5日で,カレンダーは1時間ごとに区切られているものとする。つまり,5日間でそれぞれ8時間分の枠があり,1週間あたり40時間分の枠があるということになる。そこで,あなたは自分の1週間分のカレンダーを誰か他人に知らせるときに,40個分の情報を伝えなければならない。しかし,誰かが翌週の会議の時間を押さえるために電話をかけてきたとき,40個の情報をずらずらと並べて出席できる時間を説明するだろうか。もちろん,そんなことはしないだろう。「月曜と火曜はいっぱいで,木曜と金曜は午後1時から3時がふさがっているけど,あとは大丈夫だよ」のように言うはずだ。これは,ロスなし圧縮の実例である。あなたの話を聞いた相手は,週の40時間の枠のうち,あなたが会議に出席できる時間を完全に再現できる。しかし,あなたは40個の枠全部についていちいち説明するわけではないのだ。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.162-163

20の質問と決定木

コンピュータ科学者たちにとって,「20の質問」ゲームには特別な魅力がある。このゲームでは,プレーヤーの1人があるものを思い浮かべ,ほかのプレーヤーたちは20個以下のイエス・ノーで答えられる質問に対する答えからそのものが何かを当てなければならない。あなたに20の質問をしてくる小さな携帯電話機さえ売っている。このゲームは,主として子どもを楽しませるために使われるものだが,大人がやっても意外に面白い。ゲームを始めて数分経つと,このゲームには「よい質問」と「悪い質問」があることがわかってくる。よい質問は大量の「情報」(どのような意味であれ)を与えてくれるのに対し,悪い質問は手がかりを与えてくれない。たとえば,最初の質問として「それは銅製ですか?」と尋ねるのはうまくない。答えが「ノー」だったら,可能性の幅がほとんど狭まらないからだ。良い質問と悪い質問を見分ける直観は,情報理論という魅力的な学問分野の核心である。そして,「決定木」というシンプルで強力なパターン認識テクニックの核心である。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.138

情報時代のマグナカルタ

誤り訂正符号は1940年代にはすでに存在していた。電子コンピュータ自体が誕生してからそれほど時間が経っていない。あとから考えると,その理由は割と簡単にわかる。初期のコンピュータは信頼性が低く,その部品は頻繁に誤りを生み出していた。しかし,誤り訂正符号の本当のルーツはもっと古く,電信や電話などの通信システムの頃からあった。だから,誤り訂正符号の開発のきっかけとなった2度の事件がともにベル研究所で起きたのは,驚くべきことではない。この物語のヒーローであるクロード・シャノンとリチャード・ハミングは,ともにベル研の研究員だった。ハミングにはすでに登場してもらっている。現在ハミング符号として知られる最初の誤り訂正符号が発明されたのは,ベル研のコンピュータが2回の週末にクラッシュするのにハミングがうんざりしたことからだった。
 しかし,誤り訂正符号は,「情報理論」というもっと大きな学問分野の一部に過ぎない。そして,ほとんどのコンピュータ科学者は,情報理論という学問分野の起源を1948年のクロード・シャノンの論文に求める。「The Mathematical Theory of Communication」(通信の数学理論)というタイトルのこの傑出した論文は,シャノンのある伝記作家が「情報時代のマグナカルタ」と呼んでいるほどのものである。アービング・リード(後述のリード=ソロモン符号の共同発明者)は,この論文について,「科学技術にこの論文以上に大きな影響を与えた仕事は,この世紀にはほとんどない。彼は通信理論と実践のあらゆる側面をもっとも深いところから刷新したのである」と言っている。このように高い評価が与えられているのはなぜだろうか。シャノンは,ノイズが多く誤りを引き起こしやすい回線を使っても,驚くほど高い確率で誤りのない通信を実現することが原則として可能だということを数学を通じて示したのである。シャノンが理論的に割り出した通信の最高速度を科学者たちが実際に実現したのは,それから何十年も後のことだった。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.122-123

ウェブスパムとの闘い

検索エンジンの世界では,この種の濫用を「ウェブスパム」と呼んでいる(この用語は,電子メールのスパムからの類推で作られたものである。ウェブ検索の結果を撹乱する迷惑なウェブページがあることは,電子メールの受信ボックスに迷惑なメールが届いているのとよく似ている)。すべての検索エンジンにとって,さまざまなタイプのウェブスパムを検出し,取り除いていくことは,継続的に進めなければならない重要な仕事である。たとえば,マイクロソフトの研究者たちは,2004年にちょうど1001個のページがリンクしているウェブサイトを30万以上も見つけた。これは非常に怪しげな動きである。これらのウェブサイトを手作業で調べてみたところ,そのリンクの大多数は,ウェブスパムであることがわかった。
 そのため,検索エンジンはウェブスパマーとの知恵比べに否応なく巻き込まれており,リアルなランクを返せるように,たえずそれぞれのアルゴリズムを改良しようとしている。このようにページランクに改良圧力がかかっているために。アカデミズムでも業界内でも,ウェブのハイパーリンク構造を使ってページのランク付けをするほかのアルゴリズムの研究が数多く生まれている。この種のアルゴリズムは,リンクベースランキングアルゴリズムと呼ばれることが多い。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.64

ハイパーリンク

ハイパーリンクは,驚くほど古いアイデアだ。1945年,つまりコンピュータ自体が初めて作られたのと同じ頃のことだが,アメリカの技術者,ヴァネヴァー・ブッシュは,「As We May Think」という予見的エッセイを発表した。ブッシュは,この広範な対象について論じたエッセイの中で,memexというマシンなど,彼が将来生まれるだろうと予想した様々な技術について論じている。memexは文書を保存して自動的に索引を作るが,できることはそれだけに留まらない。memexは「連想的なインデクシング,つまり,任意の項目が,ただちに,そして自動的にほかの項目を意のままに選択する機構」も持つ。つまり,初歩的な形のハイパーリンクである。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.48-49

インデクシング

インデックス(索引)の概念は,あらゆる検索エンジンを支えるもっとも基礎的な考え方である。しかし,インデックスを発明したのは検索エンジンではない。実際には,インデクシングの思想は,文章を書くこととほぼ同じくらい古い。たとえば,考古学者たちは,5000年前のバビロニアの遺跡で,テーマごとに楔形文字の粘土板の目録を所蔵する寺院の附属図書館を発見している。このように,インデクシングはコンピュータ科学でもっとも古い有用なアイデアだと言うことができる。

ジョン・マコーミック 長尾高弘(訳) (2012). 世界でもっとも強力な9のアルゴリズム 日経BP社 pp.28

「不徳のいたすところ」

どんなにスバラシイ会社でありましても,不慮の事故不測の事態,不可抗力的な災厄ともうしますものは——これ,避けられるものではございません。
 災厄は振りかかる時には振りかかるもの。社長一人が有能だからといって災厄が除けて通るようなことは,これもまたございません。どう考えましょうとも,何もかもが社長の行いの悪さに起因していると考えますのは,やっぱり飛躍でございましょうな。それでも釈明は決まって“不徳のいたすところ”なのでございます。
 これは,トップ——王様に“徳”が足りないが故に不祥事——災害が起きてしまった,という“理屈”に基づく誤り方なのでございますな。
 天人相関説の焼き直しでございます。
 王様がダメダメなので天変地異が起きるようというのも,トップがヘタレなので会社がぐだぐだだよう——というのも,構造としては同じ。因果関係のないところに因果関係を幻視している訳でございます。こうした“お約束”を作り,広め,行使することで文化やら国家やらは成り立っておる訳でございます。

京極夏彦 (2013). 文庫版 豆腐小僧双六道中おやすみ 角川書店 pp.171-172

counter

Top

twitter

AdMax

Copyright ©  -- I'm Standing on the Shoulders of Giants. --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /