文/王 楠 王國強
我們正在經歷一場智慧革命,而這場智慧革命建立在演算法的基礎上。無論是智慧城市、智慧製造、智慧醫療等宏大願景,還是自動駕駛、智慧機器、虛擬現實等前沿應用,抑或是智慧購物、智慧出行、智慧娛樂等生活日常,“智慧”的實現都離不開演算法。可以說,我們生活在一個演算法無所不在的時代。
古代演算法思想及其發展
“演算法”一詞的英文“algorithm”源於波斯數學家花拉子密(Al Khwarizmi)名字的拉丁化。在數學和計算機科學中,演算法是有明確定義、有限步驟且計算機可執行的,通常用於計算、資料處理和自動推理的一組指令序列。演算法作為一個複雜的體系,是數學、邏輯學和計算機科學的集合。儘管第一臺計算機誕生距今不過70多年,但是演算法思想源遠流長。
●演算法思想的數學源頭
數學起源於人類早期的生產活動對計數、天文、度量甚至貿易的需要。這些需要可以簡單概括為數學對結構、空間和時間的研究。數學對結構的研究發展出算術和代數,對空間的研究發展出幾何,對時間的研究發展出函式。人類關於數字和算術的概念從史前時代就已存在,如蘇美爾人用黏土保留數字資訊和我國古人用結繩計數都是人類對計算的早期實踐。公元前7世紀的古希臘數學家及天文學家泰勒斯(Thales of Miletus)被認為是最早提出幾何定理的人。公元前4世紀,古希臘數學家歐幾里得(Euclid)所著的《幾何原本》是歷史上第一部系統化的數學理論典籍,而求最大公約數的歐幾里得演算法是人類歷史上第一個演算法。12世紀至13世紀,阿拉伯數學中的代數思想,尤其是數字“零”的概念隨著十字軍東征傳入歐洲。花拉子密所著的《代數學》是第一本解決一次方程及一元二次方程的系統著作,他也因此被稱為代數的開創者,他的著作《印度數字計算》在12世紀將十進位制和演算法思想傳入歐洲。函式的概念最早出現在蘇格蘭數學家及天文學家格雷戈裡(James Gregory)發表於1667年的論文《論圓和雙曲線的求積》中。1673年,德國數學家萊布尼茨(Gottfried Wilhelm Leibniz)在其手稿裡使用了“函式”這一概念,後來又引進“常量”“變數”和“參變數”的概念。函式概念的引入使人們可以從數量上描述運動,伽利略的落體運動定律、牛頓的萬有引力定律和愛因斯坦的質能轉換公式等都是用函式概念表達的。
中國同樣有悠久的數學傳統。數學在中國歷史上稱為“算學”,起源於仰韶文化,距今已有5 000多年的歷史。在距今3 000年前的周朝,“數”是六藝之一。在春秋時代,十進位制的籌算已經普及。算學的文獻記載最早見於《周髀算經》。《周髀算經》是中國流傳至今最早的天文學和數學著作,其中記載了周公曾問商高如何測量天地高遠,這是勾股定理最早的文字記錄,比古希臘數學家畢達哥拉斯(Pythagoras)的證明早了500多年。中國古代數學把利用算籌進行計算的演算法稱為“術”,中國古代數學的成就多是用術來表述的,如成書於東漢前期的《九章算術》中的方程術、正負術、今有術,三國時期劉徽的割圓術,南宋數學家秦九韶《數術九章》中的大衍求一術等。尤其是大衍求一術,已經是相當複雜的演算法,具備了現代演算法的基本特徵。
●演算法思想的邏輯學脈絡
邏輯學是一門關於推理或論證的學問,主要研究推理的有效性和正確性問題。邏輯學分別發源於古希臘、中國古代和古印度,其中古希臘邏輯最終發展成當前的國際主流邏輯。古希臘邏輯學大約誕生於公元前350年,古希臘哲學家亞里士多德(Aristotle)開創了以“三段論”為核心的詞項邏輯,這是人類歷史上第一個演繹邏輯體系,他關於邏輯的6篇論文被追隨者彙編成《工具論》,對西方思想史產生了深遠影響。公元前3世紀早期,古希臘哲學家芝諾(Zeno of Citium)創立斯多葛學派,發展了命題邏輯,但是與亞里士多德邏輯的主導地位相比影響較小。
1543年,波蘭數學家及天文學家哥白尼(Nicolas Copernicus)的《天體執行論》和比利時醫生及解剖學家維薩留斯(Andreas Vesalius)的《人體結構》在同一年出版,標誌著現代科學的誕生。自然科學需要根據個別現象概括出一般性結論,以解釋現象間的因果關係,但亞里士多德邏輯無法處理自然科學研究中的因果問題。1620年,英國科學家及哲學家培根(Francis Bacon)提出以觀察和實驗為基礎的科學認識理論,開創了歸納邏輯。1843年,英國哲學家穆勒(John S. Mill)在培根歸納法基礎上提出判斷因果聯絡的5種邏輯方法。歸納邏輯在17世紀歐洲科學革命中起到了不可估量的作用。1666年,萊布尼茨在《論組合術》中闡述了以符號運算表述推理過程的思想,開創了符號邏輯和數理邏輯的研究。符號邏輯是現代邏輯的基礎,包括命題演算和謂詞演算;數理邏輯是符號邏輯在數學中的應用。1847年,英國數學家布林(George Boole)提出的布林邏輯就是一個命題演算系統。1928年,德國數學家希爾伯特(David Hilbert)和阿克曼(Wilhelm Ackermann)在《理論邏輯原理》中提出了現在人們常用的命題演算系統。1879年,德國邏輯學家費雷格透過引入量詞,將命題演算拓展成了謂詞演算系統,最終完成了符號邏輯體系的構建。
(未完待續)
王楠,中國科協創新戰略研究院博士後,主要研究方向為科技戰略和科技政策。
王國強,中國科協創新戰略研究院研究員,博士,主要研究方向為科技史、科技政策和科技傳播。