戻る バベジの階差機関・解析機関



babbage バベジ (Charles Babbage 1791〜1871) は 「コンピュータの父」 として知られています。

彼が作ろうとした階差機関 (difference engine) は、 数表を計算しながら印刷することを目的としていました。 また、 解析機関 (analitical engine) は歯車を使った自動計算機ですが、 現在のコンピュータと基本的に同じ概念を持っていました。
残念ながら資金や当時の機械加工精度の不足などのため、 いずれも完成に至りませんでしたが、 バベジの先駆的な業績は高く評価されていて、 1935 年には月のクレーターのひとつに彼の名前がつけられました。



階差機関 (differrence engine)

当時イギリスでは海運が盛んでしたが、 船の位置の計算に使う数表に誤りが多く、 そのため海難事故の多発に悩まされていました。 1833年、 バベジはそのような計算を自動的に行い、 計算結果を自動的に印刷する階差機関を作ろうと考えました。
difference engine 簡単な例として、丸い棒をピラミッド状に積み重ねることについて考えてみましょう。
N 段に積み重ねたときの棒の本数 Q は、Q = N (N+1) /2 という式で計算できます。

     

図のように、1段では1本、2段では3本、3段では6本…と、積み重ねる段数が増えると、 積み重ねられる棒の数も増えます。
この棒の本数、1、3、6、10、15 の隣どうしの差をとると、3−1=2、6−3=3、のように、 2、3、4、5 になります。 この 2、3、4、5 のさらに隣どうしの差は 1、1、1 と、一定になります。


difference engine 三角関数や対数などの複雑な数式も、このような操作を繰り返すと隣どうしの差が一定になるものがあり、 こうした性質を利用すれば、単純な操作の繰り返しで複雑な数式を計算できます。

しかしその都度計算していたのではたいへんですから、 あらかじめ計算したものを印刷した数表が使われていました。

当時の航海でも、船の位置を計算するのに数表を使用しましたが、 これには計算の間違いや印刷ミスが多く、そのために遭難する船が少なくありませんでした。

バベジは正確な数表を作るために、計算と印刷を同時に行う 「階差機関」 を作ろうとしましたが、 完成させることはできませんでした。

左の写真は、1991年、バベジの生誕200年を記念して、 バベジが残した設計図をもとに、イギリスの科学博物館が作ったものです。
バベジの図面にはほとんど間違いがなかったそうです。


 解析機関 (analytical engine)

analytical engine 解析機関は、歯車の組み合わせで構成された、機械的な 「コンピュータ」 です。

パンチカードを読みとる入力装置、演算結果を印刷する出力装置、演算装置、 記憶装置からなっていて、今日のコンピュータとほとんど同じ構成になっています。

エイダ (Augusta Ada Byron) は解析機関のためのプログラムを作り、 「プログラマの始祖」 とされています。 今日のコンピュータで常用されている条件分岐、サブルーチンなどがすでに考えられていました。

計算機といえば卓上型の、四則演算の計算機しかなかった時代に、このような 桁外れの構想を持っていたバベジには、やはり 「コンピュータの父」 の名が相応しいように思えます。




情報処理概論 に戻る   目次 に戻る   戻る

このページの画像は、THE HISTORY OF COMPUTING (http://ei.cs.vt.edu/~history/), NSF SUCCEED Engineering Visual Database (http://www.ce.vt.edu/evd/default.html) から許可を得て引用しています。

1999.09.19   address