我在寫1.1節(jié)的時候本來是要寫這個的,但是突然就忘了……就作為一節(jié)來寫吧。
順便說一下,1946年的今天,世界上第一臺通用電腦——電子數(shù)值積分計算機在美國賓夕法尼亞大學正式啟用,就是那個ENIAC。
別只想著情人節(jié),要不是幾十年來科技的進步,你們才沒機會在朋友圈、空間什么的大秀恩愛。

“算法”一詞的來歷
中文的“算法”一詞至少在唐代就出現(xiàn)了,在此之前也有“術”“算術”等詞,最早出現(xiàn)在《周髀算經(jīng)》《九章算術》。而且,“算法”一詞的含義從古到今幾乎沒有發(fā)生變化。
英文的“算法”(algorithm)一詞來源于9世紀波斯數(shù)學家花拉子米(al-Khwārizmī,780?~850?)——就是那個解決一次方程及一元二次方程的方法的人?;ɡ用椎睦∥淖g名是“Algoritmi”。英文對“算法”原譯為“algorism”,意思是花拉子米的運算法則,在18世紀演變?yōu)椤癮lgorithm”。這個詞出現(xiàn)于12世紀,指的是用阿拉伯數(shù)字進行算術運算的過程。

歷史上的一些著名算法
對于算籌、算盤的操作的方法,我不知道是否屬于算法。
約公元前300年記載于《幾何原本》中的輾轉相除法(歐幾里得算法)被人們認為是史上第一個算法,可以求兩數(shù)的最大公約數(shù)。直到今天,它還有很大的用途。
《九章算術》給出了四則運算、最大公約數(shù)、最小公倍數(shù)、開平方根、開立方根、求素數(shù)的埃拉托斯特尼篩法,線性方程組求解的算法。

三國時代的劉徽給出求圓周率的算法:劉徽割圓術,比阿基米德割圓術得出的結果更加精確。祖沖之使用該方法將圓周率的準確值計算到了3.1415926和3.1415927之間,保持了世界最準確圓周率達900年之久。

唐代以來,歷代更有許多專門論述“算法”的專著。宋代的秦九韶提出的秦九韶算法,直到今天仍是多項式求值比較先進的算法。
在9世紀的阿拉伯世界,花拉子米寫成《代數(shù)學》,其對解決一次方程及一元二次方程的方法催生了代數(shù)——大家熟知的求多元(尤其是二元)一次方程和一元二次方程的解法就來源于此。700多年后,三次方程、四次方程的求根公式才被得出。
牛頓于1671年提出的牛頓法,相比于二分法可以更快速地求函數(shù)的根或者是函數(shù)的極值。

17世紀之后算法的發(fā)展
17世紀起,早期的機械計算機出現(xiàn)了。從加法到傅里葉變換,它們的功能越來越強大。

工業(yè)革命帶來了紡織業(yè)的變革,出現(xiàn)了可以自動織出帶花紋的布的織布機,它們使用打孔卡輸入指令。這種設計也被英國數(shù)學家查爾斯·巴貝奇設計的分析機使用。

拜倫的女兒愛達·勒芙蕾絲(Ada Byron;Ada, Countess of Lovelace)于1842年為這個想象中的機器編寫求解伯努利微分方程的程序,因此愛達·勒芙蕾絲被大多數(shù)人認為是世界上第一位程序員。但是,這個機器因為種種原因,直到巴貝奇去世也沒有被真正地制造出來。

后來的數(shù)學家對算法的貢獻大多在于數(shù)理邏輯的構建上,在此我因為知識缺乏,看不懂資料,不便講述。感興趣的話可以看一下參考資料。
20世紀的英國數(shù)學家圖靈提出了著名的圖靈論題,并提出一種假想的計算機的抽象模型,這個模型被稱為圖靈機。圖靈機的出現(xiàn)解決了算法定義的難題,圖靈的思想對算法的發(fā)展起到了重要的作用。

在此之后,算法更偏向于計算機科學領域,各種解決不同問題的算法也層出不窮,涉及排序、統(tǒng)計、線性規(guī)劃、搜索、壓縮等方面。
到了現(xiàn)在,隨著人工智能和機器學習的發(fā)展,涉及到神經(jīng)網(wǎng)絡的算法變得越發(fā)重要。
拓展閱讀
The Best of the 20th Century: Editors Name Top 10 Algorithms
http://www.uta.edu/faculty/rcli/TopTen/topten.pdf
參考資料
- 普通高中課程標準實驗教科書(必修) 數(shù)學(A版) 必修3. 人民教育出版社
- 算法 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E7%AE%97%E6%B3%95 - 電子數(shù)值積分計算機 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E9%9B%BB%E5%AD%90%E6%95%B8%E5%80%BC%E7%A9%8D%E5%88%86%E8%A8%88%E7%AE%97%E6%A9%9F - 花拉子米 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E8%8A%B1%E6%8B%89%E5%AD%90%E7%B1%B3 - 九章算術 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E4%B9%9D%E7%AB%A0%E7%AE%97%E6%9C%AF - 割圓術 (劉徽) - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E5%89%B2%E5%9C%86%E6%9C%AF_(%E5%88%98%E5%BE%BD) - 牛頓法 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E7%89%9B%E9%A1%BF%E6%B3%95 - Pascal's calculator - Wikipedia
https://en.wikipedia.org/wiki/Pascal%27s_calculator - 分析機 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E5%88%86%E6%9E%90%E6%A9%9F - 埃達·洛夫萊斯 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E6%84%9B%E9%81%94%C2%B7%E5%8B%92%E8%8A%99%E8%95%BE%E7%B5%B2 - 圖靈機 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E5%9B%BE%E7%81%B5%E6%9C%BA