階差機関 階差機関の概要

階差機関

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/30 07:40 UTC 版)

完全動作する階差機関。カリフォルニア州コンピュータ歴史博物館

歴史

ドイツヘッセンの軍人で技術者のヨハン・ヘルフリッヒ・フォン・ミュラー (Johann Helfrich von Müller) は1786年に出版した本の中で階差機関に類する機械のアイデアを公表しているが、資金が集められず、それ以上実現に向けて進めることができなかった[1]

階差機関(一号機)

階差機関は一旦は忘れられ、1822年にチャールズ・バベッジによって再発見(再発明)された。彼は6月14日、王立天文学会に「天文暦と数表の計算への機械の適用に関する覚え書き」と題する論文を提出した[2]。この機械が階差機関一号機である。十進方式で、人の手でクランクを回すことで動作する。1830年の設計では、16桁で6階の階差を計算するものであった。しかし1832年にバペッジと協力者のエンジニア、ジョセフ・クレメント英語版との行き違いから計画の進行は頓挫した。英国政府は当初この計画に資金を提供したが、後に予算を大幅にオーバーし、最終的に1842年に資金的なサポートが断たれている。開発に当たっては、当時の金額で17,000ポンド(さらにバベッジの自己資金がほぼ同額)がつぎ込まれた[3]。右図が階差機関一号機である。バベッジはより汎用的な解析機関の設計に興味を移したが、1847年から1849年にかけて改良した階差機関二号機を設計した(第一階差エンジン・第二階差エンジン、としている文献(新戸『バベッジのコンピュータ』)もあるが、番号付けが「階差」にかかるようにも読めてまぎらわしいので、この記事では「一号機」「二号機」とする。基本設計を大幅に拡大したものであり、同型機の1台目と2台目という意味ではない)。

シュウツの階差機関三号機

バベッジの階差機関計画に刺激されたスウェーデンの実業家ペール・シュウツは1843年ごろからスウェーデン政府の援助を受けて階差機関の製作を開始し、1853年には実用機が完成した。シュウツの階差機関はイギリスやアメリカにもわずかながら売れている。しかし、バベッジの本来の設計よりも階数を少なくしたため用途が限られ、想定よりも売れず、シュウツは破産している[4]マルティン・ヴィーベリもスウェーデンでさらに改良した階差機関を製作したが、彼はそれを使って対数表を作ることしか興味がなかった。しかし、そのころには歯車式計算機を使うことで一般の数表も間違いが少なくなってきていたため、彼の商売も行き詰った。

バベッジの本来の計画に基づいて、ロンドンのサイエンス・ミュージアムは実動する階差機関二号機を1989年から1991年にかけて製作した。バベッジ生誕200周年の記念事業の一環である。2000年には、バベッジが設計した数表出力用プリンターも完成している。もともとの設計図を製造に適した図面に書き写す段階でバベッジの設計にいくつかの細かいミスが見つかったため、それらは訂正する必要があった。完成した階差機関とプリンターはどちらも問題なく動作した。階差機関とプリンターは19世紀の技術水準の信頼性や精度に合わせて製作され、バベッジの設計したものは動くのかという長年の議論に終止符を打った。バベッジの階差機関の開発が失敗した理由としては、当時の工作技術力が不足しているという説もあった。しかし、シュウツ親子による階差機関が完成していることもあり、工作技術力というよりは、実際の開発作業を行なった技術者クレメントとの間での確執、すなわち必要とする費用の問題であったという説もある。今日の視点からは、バベッジが当時要求した精度が過剰なものであったという指摘もあるが、そもそも公差という概念ができる前の時代であることを考えると、工作精度といったことより、このような複雑な機械の製作を管理する工学的手法がまだ無かったと言える。

なお、ここでは便宜的に「プリンター」と呼んでいるが、実際には印刷用の原版を作る機械である。バベッジの意図としては、数表を出版する際に間違いやすい人手による植字という工程を経ずに大量に印刷したいという考えがあった。そのプリンターが紙にも結果を出力するようになっていたのは、階差機関の性能をチェックする手段という意味があった。

サイエンス・ミュージアムでの製作に加え、元マイクロソフトCTOネイサン・ミルボルド の依頼で階差機関二号機の2台めの製作が行われ、2008年5月から2010年末までマウンテンビューコンピュータ歴史博物館に展示された[5][6][7]

操作

サイエンス・ミュージアム(ロンドン)にある階差機関のクローズアップ。縦に並んだ歯車がひとつのカラム。6と7の間に金属板の出っ張りがあるが、これは表示している数が9から0になった際に桁上がりが発生したことを伝達するためのものである。数字のあるカラムとカラムの間にある幅の広い歯車が、カラムからカラムへの加算動作を担う部分歯車である。

階差機関は、1 から N まで番号が振られたカラムで構成される。各カラムには十進数の数値を1つ格納できる。階差機関ができることは、n + 1 番のカラムの値を n 番のカラムに加算して n 番のカラムに新たな値(和)を格納することだけである。カラム N には定数のみを格納でき、カラム 1 には現在の繰り返しでの計算値が表示されている(それがプリンターで印刷される)。

階差機関を使用するには、まず各カラムの初期設定を行う。カラム 1 には計算の開始時点の多項式の値をセットする。カラム 2 には一階階差、すなわち次の関数値と前の関数値の差をセットする。カラム 3 以降も1つ前のカラム(階差)についての階差をセットしていく。最終的に N 次多項式では N+1 カラム目で定数となる。従って、少なくとも元の関数値をN個求めておく必要がある。

タイミング

バベッジの設計では、1回の繰り返し(すなわち、必要なカラム間の加算とキャリー操作)はクランクを4回まわすことでなされる。奇数番目のカラムと偶数番目のカラムは交代で加算を行う。n 番目のカラムの動きは次のようになる。

  1. n + 1 番目のカラムから数値を受け取って加算する(歯車の歯をその桁の数のぶんだけ回してカウントアップする)
  2. キャリー伝播(各桁で桁上がりがあったら、そのぶんだけ上の桁の歯車を回す)
  3. n - 1 番目のカラムに数値を渡して加算させる(現在格納している数のぶんだけ隣のカラムの歯車を回すので、自分自身はカウントダウンすることになる)
  4. リセットして元の値に戻す(加算の際に歯車を回したぶんを戻す)

奇数番目のカラムでは 1,2,3,4 の順に動作し、偶数番目のカラムでは 3,4,1,2 の順に動作する。

ステップ

1回の反復ごとに新たな結果が生成され、それは下の写真に見える右端のハンドルを4回転させることで4つのステップ動作をすることでなされる。各ステップは次のようになっている。

ステップ1
偶数番目の全カラム (2,4,6,8) の内容を奇数番目の全カラム (1,3,5,7) に同時に加算する。内部の機構により、偶数番目のカラムの各桁の歯車が回転し0になるまでカウントダウンする。その歯車が示す値が0になるまでに回転した歯数が偶数カラムと奇数カラムの間に位置する別の部分歯車に転写される。その部分歯車の回転した歯数を値として奇数カラムに伝達され、奇数カラムでカウントアップする方向に歯車が回転する。このとき値が "9" から "0" に変わるとき、キャリーレバーが活性化される。
ステップ2
キャリーレバーが動くと、カラムの背後にある螺旋状のアームにその動きが伝わり、それによって1つ上の桁に1が加算される。この加算によってさらにキャリーが発生することもあるため、アームが螺旋状になっている。同時に部分歯車が元の位置に戻り、それに連動して偶数カラムの各歯車が元の位置に戻される。部分歯車は一方が幅広くなっており、ステップ2ではそれを上下にずらすことで(幅が狭い方とかみ合っている)奇数カラムには動きを伝達しない。
ステップ3
ステップ1と似たような動作をする。ただし、ここでは奇数カラム (3,5,7) から偶数カラム (2,4,6) への加算を行う。また、1番のカラムは部分歯車を通じて印刷機構に値を伝達する。偶数カラムでも値が"9"から"0"に変わるときキャリーレバーを動かす。
ステップ4
ステップ2と似たような動作をする。ただし、キャリー伝播が行われるのは偶数カラム上で、値を戻すのは奇数カラムである。

減算

バベッジの階差機関では、負の数を10の補数で表現する。そのようにして、減算を負数の加算として計算できる(補数#補数を利用した減算)。これは、現代のコンピュータが負数を2の補数で表現しているのと全く同じである。


注釈

  1. ^ 直訳的には「差分機関」となることなどからそのように訳されていることもあるが、「差分を得る機械」ではないし、詳細で説明するように高階差分と合計計算を利用する機械であるから、「階差」と意訳するのが適切である。

出典

  1. ^ Swedin, E.G. & Ferro, D.L. (2005). Computers: The Life Story of a Technology. Greenwood Press, Westport, CT. https://books.google.co.jp/books?id=c1QbNtTz4CYC&redir_esc=y&hl=ja 2007年11月17日閲覧。 
  2. ^ Charles Babbage”. The MacTutor History of Mathematics archive. School of Mathematics and Statistics, University of St Andrews, Scotland (1998年). 2006年6月14日閲覧。
  3. ^ 星野 1995, p. 23
  4. ^ 星野 1995, p. 25
  5. ^ At the Museum”. 2009年7月28日閲覧。
  6. ^ Daniel Terdiman (2008年4月9日). “Charles Babbage's masterpiece difference engine comes to Silicon Valley”. CNET News. 2008年4月28日閲覧。
  7. ^ The Computer History Museum Extends Its Exhibition of Babbage's Difference Engine No. 2”. press release. Computer History Museum (2009年3月31日). 2009年11月6日閲覧。
  8. ^ a b Ed Thelen (2008年). “Babbage Difference Engine #2 - How to Initialize the Machine -”. 11-1-2009閲覧。


「階差機関」の続きの解説一覧




階差機関と同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「階差機関」の関連用語

階差機関のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



階差機関のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの階差機関 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS