The Analytical Engine
Charles Babbageは1830年代に解析機関を設計した——メモリ(『Store』)、処理ユニット(『Mill』)、パンチカードによる入力、条件付き分岐を備えた機械式コンピュータである。コストと製造上の制限のため決して建設されなかったが、設計は論理的に完全だった。Lovelaceの注記は、それがどのように機能するかについての最も明確な説明である。
ベルヌーイ数アルゴリズム
Note Gは操作の表——本質的には現代の用語でのアルゴリズム——を含み、解析機関を使用してベルヌーイ数を計算するためのものである。ループ、条件付き操作、複数の変数の同時管理を含む。Babbageが記録していたものより複雑であり、歴史家は一般的にその設計をBabbageではなくLovelaceに主に帰している。
計算を超えたビジョン
より重要なことに、Lovelaceは、その機関が単なる計算機ではなく、記号操作機——象徴的に表現できるあらゆるオブジェクトに作用することができ、数字だけではない——であることをつかんでいた。『機関は、あらゆる複雑さまたは範囲の精密で科学的な音楽作品を作成することができるかもしれない』と彼女は書いた。この洞察——計算は本質的に算術ではないということ——は100年でChurch-Turing計算可能性理論を予見する。
彼女の役割に関する議論
何人かの歴史家は、Lovelaceの貢献は主に編集的であったと主張してきた——主要なアイデアはBabbageから来たのだと。彼らの間の対応はBabbageの改訂と提案を含む広範な協力を示している。しかし、Note Gのベルヌーイアルゴリズムおよび計算の性質についての哲学的洞察は、Lovelaceの貢献が主であるように見える。
Frequently Asked Questions
Ada Lovelaceは実際に何をプログラムしたのか?
Lovelaceは1843年のNote G でBabbageの解析機関を使用してベルヌーイ数を計算するアルゴリズムを作成した——最初のコンピュータプログラムと考えられている。このアルゴリズムはループと条件付き操作を含む。彼女はまた、コンピュータが数字だけでなく、象徴的に表現できるあらゆるものを操作できるという原則を述べ、現代の計算論を予見した。
Ada Lovelaceは本当に最初のプログラマーだったのか?
この主張は議論の余地がある。1843年のLovelaceのNote Gは、機械によって実行されることを意図した最初の記録されたアルゴリズムを含んでいる。Babbageがアルゴリズムに実質的に貢献し、Lovelaceの役割は現代のポピュラーな説明によって誇張されていると主張する歴史家もいる。しかし、算術を超えた計算の哲学的ビジョンは、Lovelaceの本当の洞察であるように見える。
ベルヌーイ数とは何か?
ベルヌーイ数は有理数の数列で、整数の累乗の和の公式、リーマンゼータ関数、三角関数のテイラー級数に現れるなど、数論との深い関係がある。最初のいくつかはB0=1、B1=-1/2、B2=1/6、B4=-1/30である。Lovelaceのベルヌーイ数を計算するアルゴリズムは、機械による実行のために設計された最初のアルゴリズムだった。
Geniuses.Clubの完全な記事を読む