(株)インフォマティクスが運営する、GIS・AI機械学習・数学を楽しく、より深く学ぶためのWebメディア

エイダ・ラブレス|世界初のプログラマーは英国貴族女性

はじめに

モバイル端末とイヤホン ── 現代の音楽を聴くスタイルです。いったい誰がこのような時代になることを予言できたでしょうか。

驚くべきことに、今から200年前に予言した人物がいました。世界初のコンピュータ・プログラマーとして知られるエイダ・ラブレスです。

1815年12月10日、エイダ・ラブレス(Ada Lovelace)はイギリスの貴族で有名な詩人、ジョージ・バイロンの娘として誕生しました。

父親である詩人バイロン卿は産まれた子が男子でなかったことに失望し、家庭を捨ててギリシャへ渡ってしまいます。

錚々たる数学者による英才教育で才能を開花

母アナベラは社会革命家ウィリアム・フレンド(1757–1841)に学んだほどの高い教養人で、娘エイダに家庭教師をつけて幼少期から数学と科学の教育を受けさせます。

家庭教師には、内科医ウィリアム・キング(1786-1865)、天文学者であり数学者で王立天文学会の初の女性会員となったメアリー・サマヴィル(1780-1872)、そして数学者ド・モルガン(1806-1871)──数理論理学のド・モルガンの法則で有名──という錚々たる学者揃いです。

飛び抜けた英知に触れた少女エイダは彼らに才能を認められ激励されて数学の才能を伸ばしていきました。

1833年、18歳のエイダに運命の出会いが訪れます。

数学者チャールズ・バベッジ(1791-1871)が行った「階差機関(Difference Engine:ディファレンス・エンジン)」のデモンストレーションにエイダは招かれました。

1832年、41歳のバベッジが発表した論文が"Note on the application of machinery to the computation of astronomical and mathematical tables"(天文暦と数表の計算への機械の適用に関する覚書)。

この“machinery”こそ階差機関です。

数表作成に必要な多項式の演算を“階差”によってのみ行う歯車式自動計算機を、バベッジは階差機関と名付けました。

計算間違いだらけの対数表を眺めながら「そうだ、数表作成をすべて機械にやらせよう」と思い付いたのがバベッジでした。

解析機関の記事をまとめ、世界初のプログラマーに

エイダはマシンに強い興味を持ち、一瞬で虜になりました。いつしかバベッジにとって弟子であり秘書でもあるような立場になっていきました。

その頃バベッジはさらなる高性能なマシン、解析機関(Analytical Engine)の開発を始めたところでした。

新しいマシンは数値記憶と演算部分を分けた構造で、プログラムとデータの入力用パンチカード、印刷機能を備え、動力源として蒸気機関を用いるというモンスターマシン。

バベッジがコンピュータの父と呼ばれる所以が階差機関と解析機関の考案にあります。

バベッジは解析機関についてのフランス語の記事を翻訳する仕事をエイダに依頼しますが、エイダは翻訳にとどまらず、解析機関について彼女自身の解説・アイデアを盛り込んでいったのです。

はたして、記事の分量は2倍に増え、彼女の格言に満ちた言葉がしたためられた格調高いドキュメントが完成しました。

解析エンジンは、花や葉の模様を織り込んだジャカード織のように、代数のパターンを織り込んでいきます

この中に世界初のプログラム・コードが書かれました。

バベッジによるベルヌーイ数を算出するためのプログラミングの記述を読んだエイダはその仕組みを理解し、独自のベルヌーイ数計算コードを作り上げてしまったのです。

基本命令群を考案

さらにエイダは解析エンジンに実行させる計算内容を指定した基本的な命令群──サブルーチン・ループ・ジャンプなど──を考案しました。世界初のコンピュータ・プログラマー誕生の瞬間です。

しかしエイダは子宮癌を患い、1852年、36歳の若さで亡くなりました。

それから一世紀後、数学者アラン・チューリング(1912-1954)が1950年の論文の中でバベッジとエイダの功績は「計算機科学において非常に重要」と結論付け、エイダは甦りました。

1983年、米国国防総省がプログラミング言語「Ada」を開発。

毎年「Ada Lovelace Day」が開催され、エイダの栄誉を称えるとともにSTEM分野のキャリアを目指す新しい世代の女性たちを応援しています。

例えば、これまで音楽学の和音理論や作曲論で論じられてきた音階の基本的な構成を、数値やその組み合わせに置き換えることができれば、解析機関は曲の複雑さや長さを問わず、細密で系統的な音楽作品を作曲できるでしょう。

(エイダ)

あわせて読みたい