アルゴリズムと計算の歴史年表

Decrypt history, Encrypt future™

アルゴリズムと計算の歴史年表

1. 古代:計算の体系化

時代人物 (English Spelling)主な著作・論文貢献の要約
ca. 300 BCEEuclidElements (原論)最大公約数(GCD)を求めるアルゴリズムの提示。
ca. 300 BCE(Chinese Mathematicians)The Nine Chapters on the Mathematical Art (九章算術)連立一次方程式を解くための「ガウスの消去法」の記述。

2. 中世〜ルネサンス:代数学の確立と公式競争

時代人物 (English Spelling)主な著作・論文貢献の要約
9th Centuryal-KhwārizmīCompendious Book on Calculation by Completion and Balancing代数学(Algebra)とアルゴリズムの基礎。
On the Hindu Art of Reckoning十進法による算術操作の普及。
Early 1500sTartaglia, Piore, Ferrari, etc.(Mathematical Competitions)三次・四次方程式の解法(アルゴリズム)の競争。

3. 近代:近代数学の幕開けと機械への試み

時代人物 (English Spelling)主な著作・論文貢献の要約
1687Isaac NewtonPhilosophiæ Naturalis Principia Mathematica理論予測のための計算手法。多項式の近似解法(ニュートン法)。
17th Cent.G. W. Leibniz(Designs for computing devices)汎用計算機械の設計と先駆的な試み。
1801C. F. GaussDisquisitiones Arithmeticae (算術研究)数論の体系化。FFT(高速フーリエ変換)の発見(没後出版)。
1824N. H. Abel / P. Ruffini(Abel–Ruffini theorem)五次以上の方程式に代数的解法が存在しないことの証明(困難性の証明)。
19th Cent.C. Babbage / A. Lovelace(Analytical Engine documentation)汎用計算機の設計と、世界初のプログラム概念。

4. 20世紀:計算理論の誕生とコンピュータ革命

時代人物 (English Spelling)主な著作・論文貢献の要約
1920sDavid Hilbert(Hilbert’s Program)数学を計算可能な基礎の上に置く「機械的な手続き」の夢。
1931Kurt GödelOn Formally Undecidable Propositions of Principia Mathematica and Related Systems不完全性定理。ヒルベルトの夢の打破。
1936Alonzo ChurchAn Unsolvable Problem of Elementary Number Theoryラムダ計算による計算可能性の定義。
1936Alan TuringOn Computable Numbers, with an Application to the Entscheidungsproblemチューリングマシンの提唱。現代計算理論の基礎。
1930sEmil Post(Post–Turing machine / Post production system)計算モデルの形式化。
1965J. W. Cooley & J. W. TukeyAn Algorithm for the Machine Calculation of Complex Fourier SeriesFFT(Fast Fourier Transform)の「公式な」発見と普及。

歴史のハイライト

  • 名前の由来: 9世紀の al-Khwārizmī の名前が、Algebra(代数)や Algorithm(アルゴリズム)という言葉の語源となりました。
  • 150年の空白: Gauss が発見していたFFT(高速フーリエ変換)は、Cooley と Tukey によって再発見されるまで、公式には歴史に埋もれていました。
  • 不可能性からの誕生: ヒルベルトが夢見た「すべての数学を解く機械的手続き」は、若手のGödel や Turing によって「不可能」であると証明されました。その後の時代で「何が計算不可能なのか」を突き詰めた研究が、私たちが今使っているコンピュータの動作原理(Formal definitions of computation)を生みました。

数学の歴史は「答えを出すこと」から、「限界を定義すること」「効率的な手順を編み出すこと」「複雑性、非決定性とは何かを定義する」歴史であったことが分かります。