第2部 コンピューター開発史

今回からしばらく、第2部としてコンピューターの歴史のオーバービューを解説して行こうと思います。

いままでも短いタイムスパン(およそ15年)の中で「筆者個人が所有した」コンピューターを紹介してきましたが、今度のタイムスパンはそれよりも長く、紹介するのも歴史に名を残すような機種のみに絞りこみます。


コンピューターの歴史は案外深く、計算に使う道具という意味までさかのぼれば、カルクリからアバカス(算盤)、ネイピアの計算棒、歯車計算機などがあります。もっとも、これらは「カリキュレータ」(計算する機械)と呼ばれ、計算の手助けを行うものでした。

コンピューターという言葉は、カリキュレータを正しい手順にしたがって操作する人、つまり計算手の意味です。計算というのは闇雲に行えば良いものではなく、一定の手順にしたがって、時によっては数値の意味を判断しながら行わなくては意味がありません。

歯車程度の仕掛けしか使えない時代には、この手順を正しくこなすというのは、人間にしか出来ない仕事でした。


しかし、19世紀の末に、間違えやすい人間の手を借りずに、歯車のみで正確な計算を行う事を夢みた男がいました。それが「コンピューターの父」と呼ばれる、チャールズ・バベジ卿です。

目次

バベジの生きた時代 階差機関 解析機関 解析機関のプログラム 功績の実証


なお、今回は機械が歯車で作られているという特性上、その動作原理などは社会の歯車階差機関&解析機関として取り上げています。そちらもあわせてご覧下さい。


バベジの生きた時代

バベジのことを語るには、時代を無視するわけに行きません。19世紀のイギリスおよびヨーロッパというのは、産業革命により急激な文化的進歩を遂げていました。

裕福な階層の間では、趣味としてさまざまな研究を行う人々も出てきました。当時はまだ「研究分野」という概念には乏しく、自然科学と芸術と発明は一体化していたのですが、このころから徐々に自然科学の分野が細分化され、「科学者」という言葉がうまれます。


バベジは、そんな科学者の一人でした。伝聞ではかなり変人だった事になっていますが、実際の所は科学的探求心旺盛で、完璧主義者だっただけのようです。

サー・チャールズ・バベジ(1850)  Sir Charles Babbage 晩年の写真 (1850年頃)

 本文には挙げていないが、バベジはイギリスに大陸式の微分積分学を広めた若き数学者集団「アナリティカルズ」の中心人物であり、イギリス数学者最高の栄誉であるケンブリッジ大学ルーカス講座教授でもあった。(現在、ルーカス教授はホーキング博士であり、古くはニュートンも教授職にあった)
 また、活動は科学・数学以外にも経済分野や実業にもおよび、マルクスなどにも多大な影響を与えている。

バベジは、水面を歩行出来る機械を考案して実験中に溺れ掛けたりしていますし、火山の調査で火口に降りて危険な目にもあっています。

鉄道の路線埋設にあたり、すでに普及している線路幅とは違う幅を提唱して論争をくりひろげたりもしていますし、発売される数表を片っ端からコレクションして、間違いを見つけては出版社にクレームをつけるなどということもしています。

これらはすべてバベジなりの考えがあっての事でしたが、他の人から見れば変人に見えたとしても仕方がなかったのでしょう。


また、バベジは統計学の父とも呼ばれ、優れた統計の手法によって、郵便料金の均一化や保険料算定の基礎となる式を考案しています。現在では世界中であたりまえのように普及している郵便制度も、彼がいなくては始まらなかったのです。

そんな「現状よりも理想」を追い求める彼らしい活動の最大の物が、「絶対に間違えない計算機」の作成だったのです。


階差機関 (Difference Engine)

当時、計算に数表は不可欠でした。三角関数、平方根立方根、対数表など、数多くの数表が作られ、その精度を競っていました。

これらの数表は、単純な計算を延々と繰り返すことで作る事が可能です。しかし、人間がやる事ですから、間違いによる誤差が入る事は有りましたし、たとえ正しい数表を作ったとしても、活字を拾う段階で間違う事も有りました。


数表は航海等でも使われ、わずかな誤差は遭難に繋がりかねませんでした。そのため、正確な数表を作ることは、国の勢力を左右するほどの重要ごとだったのです。


バベジが数表の誤りを見つけてはクレームをつけていた、というのも、それほど数表が重要なものだったからです。しかし、出版社にとっては迷惑な客だったようです。

そこで、バベジは計算から印刷までを完全自動で行う機械、階差機関を考案します。この機械はすべての数列が最終的に単純な「差」で表される事を利用して、複雑な計算を行う機械でした。


階差、というのは、数字列の間の差に注目する考え方です。
 たとえば、Xの自乗数列(X2の解)

   1 4 9 16 25 36 49

 の差を考えると、

   3 5 7 9 11 13

 というふうになります。これを1次階差と呼びます。

 さらにこの差(2次階差)を考えて見ると、

   2 2 2 2 2

というふうに、すべての差が一定になっていることがわかります。

このように、一見複雑な関係を単純な関係として表すことができるのが階差の便利なところです。

多項式からなる関数では、何次もの階差を求めると、最終的に一定の数値になることがわかっています。そこで、これを歯車で計算できるようにすれば、逆に足し算の繰り返しで正確な数表が作れることになります。

バベジは、このようにして関数の表を作ろうと考えたのです。

階差機関(試作品)
 階差機関の制作が長引くなか、周囲の理解を得るために急遽作られた階差機関。
 実演用であり、5桁の数値を2次階差まで演算できる。
 (実際の階差機関のスペックは、20桁6次階差が予定されていた)

 当時はバベジ家の居間に置かれ、現在はロンドン科学博物館に保存されている。現在でも動作するそうだ。
 また、東京理科大学の科学資料室に複製が置かれている。上野の国立科学博物館にもあるそうだが、こちらは未確認。

 ちなみに、小さなテーブルに載せられるほどのサイズ。案外小さい。

バベジのアイデアはこれだけにとどまりません。正確な数表を作っても出版のさいに活字を拾い間違えては意味がありませんから、自動的に活字をならべる機構まで作ろうとしたのです。

さらに、その為の活字を人間がセットする時に間違った活字が混入しないように、新型の活字を考案すると言う念の入りようです。


この機械は、動力に蒸気を使うことを想定しており、やはり蒸気を使う当時の最大の発明品であった、「エンジン」の名を使って「ディファレンス・エンジン」と名付けられました。エンジンというのは、ラテン語で「創造力・創造力によって作られた機械」の意味でもあります。

しかし、これだけの機械を個人で作るのは、さすがに資金的に難が有りました。そこでバベジはこれを国家プロジェクトにするように進言し、約束を取り付けます。これは世界で始めて行われた国家プロジェクトでした。


解析機関(Analytical Engine)

しかし、このプロジェクトは、10年の歳月と1万7千ポンド(当時、中流階層の年収が250ポンド)の巨費を使った挙句に破綻します。


要因についてはいろいろと言われています。最も有名な説は「当時の工作技術では、歯車の精度が不足していた」と言うものですが、現在ではその様なことはなかったと考えられています(詳しくはこのページの最後に)。むしろ、階差機関の制作は、当時の加工技術を飛躍的に高め、工業部品の規格化という道を開きました。

本当の原因は、完璧主義者のバベジが完全な仕事を求めたために、いつまで経っても仕事が前に進まず、職人との間に亀裂が生じたためだったようです。また、政府の科学顧門がバベジのことを嫌っており、金を出し渋ったのも原因の一つです。

ともかく、階差機関は完成しませんでした。バベジは新しいアイデアを取り入れ、装置を簡略化しながら高機能にした第2階差機関の設計を始めますが、更にその途中で新しいアイデアを思い付き、階差機関の設計を中止します。


そのアイデアこそが、彼を「コンピューターの父」と呼ばしめる「解析機関」でした。

解析機関のアイデアは、もともと多項式しか演算できない階差機関の汎用性を上げるためのものでした。


階差機関では、三角関数のような「階差を求めると、元の式に戻ってしまう」関数や、円周率の計算のように「階差だけではもとまらない」数値を計算することが出来ませんでした。

これらを計算するのに必要なことは、計算部分と数値部分を切り離して考えることと、精度を上げながら繰り返し計算を行う事です。そこで、バベジはその様な装置を考え、計算と数値を外から指示してやることを思い至ったのです。

解析機関構造図
解析機関の構造図

 バベジが考案した独特の記方で書かれた、装置のブロック図である。
 大きな円の周囲に、四則演算のための装置や計算を制御する装置がならぶ。図の右側に整然とならんでいる歯車群は記憶装置を意味している。

こうして考案された解析機関は、すでにただの計算機ではありませんでした。計算手順を自分で判断し、一連の複雑な演算を行う事の出来る「計算手」、つまりコンピューターとなったのです。

たとえば、単純な手回し計算機で割り算を行う場合、「被除数から、除数を何回引けるか」を計算します。値がマイナスになるまで計算するのですが、従来この判断を行うのは人間でした。しかし、解析機関では、これを機械自身に判断させる事が出来ます。

解析機関(試作品)  試作された解析機関

 精度も低く、記憶容量も小さいものではあるが、理論を確認するために試作されたもの。
 実機の制作には、政府の援助を受け国家プロジェクトとして行いたい、というのがバベジの悲願であったため、一度援助の話しが来たにもかかわらず彼は断わっている。
 そのため、解析機関はついに制作されることはなかった。

このような計算の手順を記録するために、解析機関ではパンチカードを使用しました。パンチカードは、当時最大の発明品であった、自動織機で使われていた記録装置です。

パンチカードは順次解析機関に送り込まれ、計算がなされますが、必要に応じて巻きもどされ、繰り返し演算を行う事も有りました。

先の割り算の例でいくと、値が正の間は、計算後にパンチカードが巻き戻され同じ計算を繰り帰しますが、負になると次の手順に進みます。


実際はパンチカードは2組有り、1つはプログラムを、もう一つはデータを格納した変数を示します。これは、現在のコンピューターと違い、メモリに番地を割り振ると言うアイデアがなかったために、常に変数を指示する必要性があった事に由来します。


プログラマーの方には「配列型がない状態で連立1次方程式を解く」ことを考えていただきたい。この難問を前にすると、誰でもプログラムと変数を分離したくなるはずだ。
 もっとも、配列こそがこの「プログラムと分離された変数」のことなのだが、この発明はもっとずっと後のことなのだ。

解析機関は大きく4つのブロックに分かれます。

パンチカードを読み込む入力部、パンチカードを出力する出力部、値を保存する記憶部(Store)、四則演算を行う演算部(Mill)です。

これ以前の計算機には、このような分離は考えられていませんでした。そして、現在のコンピューターでも、大きく分けるとこの4つの部分からなっています。


このようなわけ方をする事で、それぞれの部分は独立して動作する事が可能になりました。四則演算部では、いくつかの基本演算の組みあわせを同時に計算出来ました。

解析機関のプログラムでは、並列動作を念頭に入れてプログラムを行う事で、歯車の遅さをカバー出来るようにもなっていました。これは、現在で言うスーパースケーラや、パイプラインと同じ概念です。

バベジの計算機は、最初から高速な演算を行う工夫がこらされていたのです。


パイプラインと言うよりは、VLIW と考えたほうが良いかもしれません。命令の中に並列実行可能なものを最初から並べてあるので。


解析機関のプログラム

解析機関によってもたらされた最大の発見は、プログラミングの可能性でした。

結局解析機関は作成されませんでしたし、プログラムの概念も現在から見れば単純な物なのですが、バベジはプログラムによって、無限に複雑な計算が可能な事を発見したのです。


バベジの理解者に、詩人バイロンの娘、エイダがいました。彼女は「世界最初のプログラマー」と言われています。

オーガスト・エイダ・バイロン Augusta Ada Byron の肖像画。後のLovelace婦人。

 バベジとの出会いはエイダ17歳、バベジ40歳の頃である。
 階差エンジンの試作を完成したバベジは、披露を兼ねたパーティーを催した。その時にエイダは計算を行う不思議な機械に魅せられ、バベジと親しく付き合うようになるのである。

 なお、余談ではあるが米国国防総省が開発したプログラミング言語、Adaは彼女の名を取ったものである。

実際は、プログラム(アルゴリズムを考案する事)はほとんど行っておらず、バベジに教わったアルゴリズムを解析機関で実行出来るように翻訳(コーディング)する程度でした。

それでも、当時の知識レベルから見れば遥かに頭の良い女性でしたし、なによりもバベジの業績を正しく理解していました。


エイダ最大の業績は、バベジがイタリアで行った解析機関に関する講演を、イタリアの軍事技術者メナブレアがフランス語でまとめた「メナブレア記録」を、英語に翻訳し、その際に膨大な訳注をつけていることです。

ですから、エイダについては実際にはプログラマーと呼ぶよりは、解析機関の伝道者と言った方が正しいでしょう。


ともかく、バベジの研究は、エイダの助けを得て大きく進みます。そして「プログラムが複雑になるにつれ、その間違いを探し出す労力は途方も無いものになる」と考えるにいたります。

これは、現在のコンピューター社会でも最大の問題である、バグの問題に付きあたったということです。バベジは、この問題が将来重要になるであろうと感じていたようです。


功績の実証

バベジは結局、階差機関を完成せず、解析機関は組み立てに着手することすらなく、この世を去りました。バベジの葬式には周辺に住んでいた多くの人が集まり・・・バベジの死を喜んだそうです。早すぎた天才の、悲しい死でありました。

このうち階差機関の夢は、幾人かが後を追い、簡素化した装置を実用化しています。一番最近では、バベジの生誕200年(1991年)を記念して、ロンドンの科学博物館が、印字部分を除く第2階差機関を復元することに成功しています。

階差機関(復元)  復元された第二階差機関

 第二階差機関は、最初の階差機関よりも精度が10桁高く、部品点数は3分の1に絞り込まれているため、復元計画の目標となった。

 完成品の大きさは高さ2.1m、幅3.3m、奥行き0.46m 、重さ3トンで、復元にかかった総費用は75万ポンド(1億8千万円)。
 復元は当時の技術・当時の設計図で行われたが、設計上のミスがいくつか修正されている。また、加工精度は当時のままだが、実際の加工には現在の機械を使っている。

 完成した機関は、見事に動作し、バベジの考えの確かさを証明した。

しかし、解析機関はあまりにも複雑であったため、また、「プログラム」という概念を理解出来る人がほとんどいなかったため、だれも作る事はなかったのです。


唯一、バベジの息子ヘンリが、遺品として受け継いだ図面から解析機関の試作を行っています。この機械は、πの倍数の計算を29桁まで正確に行ったとされていますが、工作精度が低かったこともあり故障してしまったそうです。

最後に、多くの人が持つ誤解を解くためにも、蛇足ながら付け加えて置かなくてはなりません。

バベジをコンピューターの父、と呼ぶとき、紹介されるのは主に階差エンジンですが、これは数表計算用の専用機であり、汎用の計算機ですら有りません。

解析エンジンを階差エンジンの延長上に見る人も多いのですが、この間にある「計算機自体が手順を理解する」ということこそが、最も重要な発明です。


100年以上前に、蒸気で動くコンピューターを夢見た男。早すぎた天才、という表現すら空しく感じるほど、彼の登場は早すぎたのかもしれません。



参考文献
バベッジのコンピューター新戸雅章1996筑摩書房

(ページ作成 1997-12-07)
(最終更新  1999-04-02)

戻る

トップページへ

このページの誤字脱字発見・情報提供・意見などありましたら、下の一行掲示板へどうぞ。樫樹の広場から全体を見ることも出来ます。

名前 内容

あきよし】 誤字指摘ありがとうございました。修正いたしました。 (2008-10-20 14:08:44)

【てつら】 「復元された階差機関」の写真注釈、重さが主さになっています。 (2008-10-18 16:26:02)

Google


Web 当サイト内