計算機的極限是什麼?
最近,吳軍博士的付費專欄《吳軍的谷歌方法論》上線了。其中一篇文章是《為什麼計算機不是萬能的?》,從本原上道破計算機的原理和極限。因為是試讀文章,可能隨時下線,所以我就把它轉載過來。
作者在上篇文章中探討並對比了生活的直覺思維和工程的極限思維,接著就是這篇文章:
今天我們就用工程中極限的思維方式,看看計算機的極限在哪裡。我們今天所說的人工智慧實際上是計算機的一個應用而已,因此,如果說計算機不是萬能的,那麼人工智慧自然也不是。
當然,談這個本原性質的問題時,我們需要拋開具體的技術,回到原點,從計算的本質來說說計算機的極限。這些思考方式當然不是我發明的,而是被譽為「計算機之父」的圖靈博士採用的。
圖靈博士被認為是神一樣的人。在20世紀,全世界智力上可以和愛因斯坦平起平坐的人恐怕只有圖靈和馮·諾依曼兩人了(而後者被認為智力甚至超過了愛因斯坦)。神人自然有超越常人的地方,這裡就讓我們看看他們之間的區別。先說說常人的。
在計算機的發展史上,常人想問題的方式是先做一兩個能解決簡單問題的計算機,然後越做越複雜。實際上直到圖靈之前,計算機的發展就是沿襲這個思路進行的。
西方科學史家有時也將這種發明的方式稱為工匠式的,也就是經過長期經驗積累,從量變到質變。關於計算機的歷史,我在後面還會講到,因此這裡我把細節跳過去。
當然,你聽到「工匠式的」這四個字時可能感覺不太好,其實科學史家們並沒有貶義,只是說出了這種方法的特點。這種方法我們至今依然在採用,而且在大多數時候很有效。
我們所說的「迭代式進步」,「小步快跑」其實都是這種方法的其它稱呼而已。可以講,這種方法符合人認識數字時,從1,2,3,一直數到一百的做法。
而圖靈想問題的方式恰恰和常人相反。在上個世紀30年代中期,圖靈在思考三個問題。
第一個問題,世界上是否所有數學問題都有明確的答案?
第二個問題,如果有明確的答案,是否可以通過有限步驟的計算得到答案?
第三個問題才是,對於那些有可能在有限步驟計算出來的數學問題,能否有一種假想的機械,讓它不斷運動,最後當機器停下來的時候,那個數學問題就解決了?
我們不妨仔細體會一下圖靈和常人思維方式的差別。像圖靈這樣超越時代的人,他不是跟在螞蟻后面來觀察一件事情發展的規律,而是在前面等著大家,找到極限所在,然後他告訴大家,就在極限里尋找具體問題的答案吧,不要浪費時間糾結沒有意義的事情,也就是那些試圖超越極限的事情。
具體到計算機這件事,圖靈首先考慮的是「數學問題是否都有明確的答案」。因為這個問題不解決,就辛辛苦苦去解題,最後可能發現無解,一切努力都是在浪費時間。
存在答案或者說能找到答案不等於能夠在有限步驟之內解決這個問題,因此圖靈考慮的第二件事就是劃定一個範圍,把計算機能解決的問題的範圍又縮小了。當然,這個範圍劃定以後,就要設計一種有效的,通用的辦法,保證按照這個辦法做事,最終能夠找到答案。
而圖靈設計的這種方法,是一個數學模型,後人稱呼它為圖靈機。今天所有的計算機,包括全世界正在設計的新的計算機,從解決問題的能力來講,都沒有超出圖靈機的範疇。
到此為止,圖靈其實為今天的計算機和很長時間以後的未來計算機所能解決的問題划了一條不可超越的邊界。
圖靈機提出至今已經80年了,全世界的 IT 行業依然沒有超出它,由此可見用理論武裝起來的工程的頭腦,比直覺的頭腦的影響力深遠得多。
接下來,我們總結一下人工智慧的邊界。
1. 世界上有很多問題,其中只有一小部分是數學問題;
2. 在數學問題中,只有一小部分是有解的;
3. 在有解的問題中,只有一部分是理想狀態的圖靈機可以解決的;
4. 在後一類的問題中,又只有一部分是今天實際的計算機可以解決的;
5. 而人工智慧可以解決的問題,又只是計算機可以解決問題的一部分。
我把這個嵌套邏輯畫成了下面這張圖,從圖中可以看到,人工智慧所能解決的問題真的只是世界上問題的很小一部分。對於人工智慧來講,我倒是覺得現在世界上沒有解決的問題太多,無論是人還是機器(其實是它們背後編寫程序的人),都應該想辦法解決各種問題,而不是杞人憂天,擔心人工智慧這個工具太強大了。
最後,講回到認知。圖靈的認知是一種高屋建瓴,自上而下的認知,和我們常人不同。當然,你可能好奇為什麼圖靈能夠有這樣超越時代的認知,是他自己聰明還是有高人指導?其實兩者兼而有之。
需要指出的是,圖靈的境界能想到這一層,首先是受到另一位數學大師希爾伯特的啟發。
希爾伯特在1900年的巴黎國際數學家大會上,提出了23個重要的、根本性的數學問題(也被稱為希爾伯特問題)。
其中第十個問題講的是這樣一件事情,「隨便給一個不確定的方程,能否通過有限步的運算,判定它是否存在整數解?」
如果答案是否定的,那麼就說明很多數學問題其實上帝也不知道答案是否存在。如果我們連答案是否存在都不知道,自然不可能去找到它。正是希爾伯特的這個提問,讓圖靈明白了計算機的極限所在。
當然,你可能會問,隨著技術的進步,圖靈是否錯了,是否所有的數學問題最終都有解?很遺憾,圖靈沒有錯。
1970年,前蘇聯偉大的數學家馬季亞謝維奇從數學上解決了希爾伯特的那個問題。也就是說,的的確確有很多數學問題,上帝也不知道有沒有答案,而且這樣的問題比有答案的問題還要多得多。
這件事情對人類認知上的衝擊,遠比在數學上的影響大,因為它向世人宣告了很多問題無解。
第二個給予圖靈巨大啟示的人是他的精神導師馮?諾依曼。
馮?諾依曼當時是普林斯頓大學的教授,而圖靈是那裡的博士生。圖靈在讀了馮?諾依曼的《量子力學的數學原理》一書後,意識到計算來自於確定性的機械的運動。
至於21世紀的電子計算機,裡面電子的運動其實等價於機械運動。圖靈同時猜測人的意識來自於測不準原理,這是宇宙本身的規律。圖靈從此得出結論,計算是確定的,而意識可以是不定的,兩者不可能劃等號。
很多人胡思亂想計算機是否有意識,其實早在80年前,圖靈就感到兩者是兩回事,這就是任何計算機的邊界。
可以講,沒有來自希爾伯特和馮?諾依曼的啟示,圖靈很難在那麼年輕的時候對計算機想得那麼透徹。我們經常講,要和比自己強的人在一起,這一點很重要,因為只有這樣我們的認知才能提升。反之,如果總是和臭棋簍子下棋,只能越下越臭。
從圖靈理解計算機本質這件事,希望能夠給你一些啟發,也希望你能有超出常人的認知。
祝進步
敲黑板劃重點:
1、圖靈和常人思維方式的差別在於:圖靈是先找到極限所在,然後在極限里尋找具體問題的答案,而不是浪費時間去做那些試圖超越極限的事情。
2、圖靈機是一個數學模型,今天所有的計算機,包括正在設計的新的計算機,從解決問題的能力來講,都沒有超出圖靈機的範疇。
3、人工智慧所能解決的問題只是世界上問題的很小一部分。現在世界上沒有解決的問題太多,要想辦法解決各種問題,而不是杞人憂天,擔心人工智慧太強大。
感覺這篇文章真的很深刻,值得再三閱讀和思考。BTW,題圖是吳軍博士《矽谷來信》中的一張明信片。
推薦閱讀: