涂林機到人工智慧,誰讓電腦強大?是數學!

數學有什麼用

我們每天使用的電腦,就是源自於數學。中研院數學所的李國偉兼任研究員,聊聊涂林機的故事,解開生活中的數學密碼。簡單來說,拿一個手機出來,裡面很多功能、App 的演算法,都使用數學。

涂林的「模仿遊戲」

人工智慧圍棋程式 AlphaGo,壓倒性擊敗棋王而轟動全世界,令人不禁疑問:機器可以思考嗎?機器可以超越人類心靈嗎?而著名的「涂林測試」 (Turing Test),就是對此問題的一種判定。

李國偉說,涂林測試就是「模仿遊戲」。 1950 年涂林 (Alan Turing) 發表了 Computing machinery and intelligence 這篇文章,討論「電腦會不會思考」,成為人工智慧的重要思想來源。由於「思考」本身很難定義,涂林訴諸可供判定的方法:一台電腦和一個人交談,如果交談的人始終分不清楚誰是電腦、誰是人,那這台電腦在行為上已經接近人的思考能力。

「涂林測試」是利用電腦模仿人類的遊戲,來判斷機器的思考能力。圖│研之有物
「涂林測試」是利用電腦模仿人類的遊戲,來判斷機器的思考能力。
圖│研之有物

AlphaGo 擊敗棋王,可以說是通過涂林測試了嗎?李國偉解釋,雖然電腦很多能力的確比人強,不僅下圍棋,計算數學的能力也早就超越人類,但是涂林測試是「漫無目標」的智能測驗,包括各種「常識」。電腦在很多專業知識上都超越人腦,但是最弱的就是常識。至今,還沒有一台機器真正通過涂林測試。

不過,如何訓練機器擁有常識,是有方向可循。如同 AlphaGo,訓練機器的方法,就是從一個「嬰兒機器」開始,讓它不斷學習、演化。下棋的好方法保留下來,壞方法淘汰掉,機器就不斷增強。

事實上,機器學習的方法,早在涂林 1950 年的文章中就已經提出。當時沒有相應的硬體條件可以實際做出,直到現在,GPU, TPU 等硬體效能趕上軟體運算的需求,開始表現出早期人們預期人工智慧能達到的事情。

在涂林的時代,有許多先進的工程師,甚至不相信電腦有可能幫人算帳。

只有涂林,深刻了解數學的核心慨念,所以思想沒有受制於當時的硬體,認為未來電腦的能力將會大幅提升

涂林為何有先見之明?憑藉的就是他發展出的一套理論數學計算機模型──涂林機 (Turing Machine)。涂林機的故事說來話長,李國偉從 19 世紀的數學發展聊起。

從數學難題到資訊科學的開端

19 世紀末的數學家,發現一些數學的基礎出了問題,例如「無窮」的概念定義不清。他們想從最簡單的概念出發,就像歐幾里得建立公理、公設一樣,重新建立起一套數學的體系。他們想到,在自然數之前,更基礎的是 and、or、not 之類的邏輯概念。

and、or、not 的邏輯概念,也是電子電路、電腦程式碼的基礎。 圖│研之有物
and、or、not 的邏輯概念,也是電子電路、電腦程式碼的基礎。
圖│研之有物

試圖找出算術的基礎,數學家弗雷格 (Gottlob Frege) 嘔心瀝血寫成大作,嚴謹定義什麼叫做「集合」。沒想到,當時才二十幾歲的羅素 (Bertrand Russell) 找到致命的矛盾:當我考慮把所有「自己不屬於自己」的集合,放在一個集合 A 裡,那麼那個集合 A 屬於不屬於自己?這就導出了著名的「羅素悖論」。

世界頂尖的數學家都跳進來解決集合論基礎問題。若要解決,必須把「自己不屬於自己」這種奇怪的東西,排除到數學王國之外。問題來了,數學王國的圍牆怎麼蓋?大數學家希爾伯特 (David Hilbert) 選擇了一條安全的途徑:假裝我們每天講的數學,都是以符號寫成。他從「形式系統」出發,完全玩符號遊戲。

但是,問題又來了。怎麼證明一個形式系統是一致的,沒有矛盾?李國偉說,如果用機械化的方法,一步一步寫出來所有系統裡的定理,即使矛盾一直沒有出現,這種方式還是無法說服人!希爾伯特試著尋找真正有效的證明。

沒想到,在 1931 年,年輕數學家哥德爾(Kurt Gödel) 證明了相反的結果:如果你的系統複雜到可以講一點點的自然數理論,那就沒有辦法在你的系統裡面,保證不出矛盾。希爾伯特的夢想是達不到的!

順著這些數學脈絡發展,涂林從一個新的角度切入,才充分捕捉到「機械性的計算」的概念。

涂林機:理論數學的計算機模型

李國偉解釋,所謂的涂林機,其實不是一個真正的「機器」,而是「理論數學」的模型。

涂林為了敘述的容易,把理論描述成一張紙帶,上面畫了很多格子,還有一個讀寫頭。讀寫頭儲存了有限個不同狀態,若決定了現在的狀態,再看底下格子的符號,就決定了下一步會變成什麼狀態。

涂林機就是一張表格:現在的狀態 →下一步怎麼走 → 移動 → 現在的狀態。

涂林澄清了「什麼是數學的機械化」這件事情。一般從小到大學過的函數,只要在整數值上,涂林機都可以計算。李國偉說明,因為這個表格是有限的,所以可用自然數來編碼。自然數可以因數分解,一個非常大的數字,一層一層因數分解下來,等於肚子裡頭一層一層包含訊息。就像數字變成了一個機器!

延伸這個思維,涂林還提出一種「通用涂林機 (Universal Turing Machine) 」,可以把各種機器的程式都吃進來,模擬另一個機器計算的結果。這就是我們現在使用的電腦,同一套軟體不論移到哪台電腦都能計算。

電腦時代的數學家

涂林一方面說電腦可以很強大,另一方面又指出機器的侷限。他證明,有個「停機問題」是任何計算機都無法判定,也就是「是否存在一個程式 P ,對於任意輸入的程式 w ,能夠判斷 w 會在有限時間內結束、或者無窮迴圈。」以數學的角度來說,並沒有一般的機械方式,可以處理這種判定。

李國偉笑著說:「數學證明不可能全部由一部電腦產生出來。不然所有工作搞一個電腦跑光,我們就不用做數學了!」 圖│研之有物
李國偉笑著說:「數學證明不可能全部由一部電腦產生出來。不然所有工作搞一個電腦跑光,我們就不用做數學了!」
圖│研之有物

話又說回來,電腦還是有強大的功能,協助數學研究。 1976 年,電腦輔助證明了經典難題「四色定理」;至今,電腦甚至已經能夠自動證明數學定理,只差在還無法主動發明有深度而令數學家感興趣的定理,讓數學家還能保住飯碗。電腦也促成了很多新的數學研究主題,李國偉的研究領域「組合數學」,隨著計算機的發展更加興盛。

組合數學研究的對象是離散的、有限數目的問題。李國偉說,他的師長輩的老派數學家,由於沒有受過計算機的洗禮,認為他們研究組合數學,就好像研究高中的排列組合一樣,沒什麼意思。他們沒想到,當「有限」的數目夠大,可能比探討「無限」的問題更困難。

計算機的發展,創造了龐大的「有限」世界,也產生了深刻的「組合數學」問題。

李國偉說明,組合數學的問題,在網際網路的時代更有趣。人們使用網際網路,假如全世界有幾十億個節點,我跟你通訊就代表兩個點連上一個邊,邊的數目就是更龐大的數字,狀況非常複雜。使用算術處理龐大的離散數據,這類問題成為計算機科學裡面「演算法」的學問。

在有限的範圍內一定存在答案,但是實際求解的時候,希望找到最有效率、最節省資源的解,這就是數學的組合優化。

若下回有小朋友問你「學數學有什麼用」,別忘了指著電腦或手機 App 說:「這裡面,就是數學。」

訂閱電子報

立即訂閱研之有物電子報,一起探索這世界