階差機関
階差機関(かいさきかん、英: Difference Engine)は、
チャールズ・バベッジが提唱した歴史的な機械式計算機の一つで、
多項式の数表を自動的に生成するために設計されました。この機械は、対数や
三角関数も
多項式で
近似可能であるため、非常に多用途に利用できる可能性がありました。
歴史的背景
階差機関のコンセプトは、1786年に
ドイツの技術者ヨハン・ヘルフリッヒ・フォン・ミュラーによって提案されましたが、当時は資金不足により実現には至りませんでした。その後、このアイデアは一時的に忘れ去られましたが、1822年に
チャールズ・バベッジによって再評価され、「天文暦と数表の計算への機械の適用に関する覚え書き」という論文が発表されました。この機械は階差機関の初号機であり、クランクを手作業で回すことで動作しました。
バベッジは1830年に改訂版を設計しましたが、1832年に関係者との不和から計画が頓挫しました。英国政府の支援を受けていましたが、最終的には1842年には資金提供が停止されました。バベッジはその後、1847年から1849年にかけて改良型の階差機関二号機の設計を行いましたが、完成には至りませんでした。
階差機関の製作と影響
バベッジのアイデアに触発されたスウェーデンの実業家ペール・シュウツは、1843年にスウェーデン政府の援助を受けて階差機関の製作を開始し、1853年には実用化に成功しました。しかし、シュウツの機械はバベッジの設計に比べて機能が制限されており、販売には成功しきれず、シュウツは破産しました。
さらに、バベッジの階差機関の計画を具現化したロンドンの
サイエンス・ミュージアムは、
1989年から
1991年にかけてバベッジの設計に基づいて実動する階差機関二号機を製作しました。このプロジェクトは、バベッジの生誕200周年を記念するもので、設計上の誤りを訂正し、無事に機械と
プリンターが機能することが確認されました。
操作と機構
階差機関は、番号付きのカラムで構成され、それぞれのカラムには十進数の値を格納できます。その基本的な機能は、隣接するカラムの値を加算することです。操作を行うには、まず初期値を設定し、各カラムに初期値を入力します。次に、クランクを回すことで加算を行い、新しい値を得るのです。
作業はステップごとに進行し、これにより新しい結果が生成されます。バベッジの設計では、加算とキャリー操作は特定の順序で実行され、奇数と偶数のカラムで交互に動作します。
減算の方法
階差機関における減算は、負の数を10の
補数で表現することで実現されています。これは、現代のコンピュータで用いられる2の
補数表現に類似しています。
階差のテクニック
階差機関の
原理は、有限
差分法に基づいています。初期値を計算できれば、その値を基に次々と
多項式の値を求めることができます。この機械は、
多項式の値を加算だけで得られるため、乗算操作を行う必要がありません。バベッジの階差機関二号機は、さらに高度な計算機能を備えており、7次
多項式の数表を作成できる能力を持っていました。
初期値の設定
各カラムの初期値は、
多項式の
多項式係数に基づいて計算され、最初のN個の値を用いて求めます。これにより順次階差を計算しながら、階差機関は正確に動作します。
結論
階差機関は、計算機発展の初期における重要な技術であり、その基本的な
原理は現在のコンピュータ技術にも影響を及ぼしています。おそらくバベッジの夢は当時には実現しませんでしたが、彼のアイデアは後の多くの技術者にインスピレーションを与えました。