個人資料
歸檔
正文

邏輯和計算機

(2014-09-04 07:16:22) 下一個

 

                                       邏輯和計算機

 

從原理上說,計算機是一個無比簡單的東西,就是一個邏輯處理器,計算機所做的所有工作最後都是轉化成邏輯運算來執行的。所以,任何能進行基本邏輯運算(非,與,和)的東西,都可以用來構成計算機。計算機的構想早在在17世紀就提出來了,不過隻能用機械方式。

第一個真正現代意義上的計算機是用電子管實現的,但是它的應用非常有限,龐大,奇貴,速度慢,而且耗能巨大。還有一個致命的缺陷,就是可靠性好不了。

現在的CPU集成了幾億隻器件,如果用電子管,意味著上億個插件,上十億個焊點,這樣複雜的東西沒有辦法保證質量,更不可能大規模生產。計算機的發展賴於集成電路的進步。

計算機的廣泛應用,以至於完全改變了人類的生活,其硬件基礎是上個世紀前30年以愛因斯坦為首的那一撥人做的,有了量子物理和相對論,才能有凝聚態物理,才能有集成電路,接下來才可能有計算機,網絡的廣泛使用。

記得曾經在網上有人討論愛因斯坦和愛迪生哪一個更牛,這實在有點過分,兩個人完全不在一個檔次,而且差得很遠。愛因斯坦是一個科學家,《維基百科》說也是一個思想家,我以為不錯,他奠定了現代物理學的基礎,對人類產生了根本的影響,極大地改變了人類的生活以及我們對這個世界的理解,《時代雜誌》把他評為上個世紀最偉大的人物,毫不過分。

愛迪生隻是一個發明家,發明了白熾燈,留聲機這一類應用的產品而以。他的那一套發明的方法已經過時,產品也沒有人用了。比如美國已經不生產白熾燈,將來的照明肯定是用發光二極管,效率接近於完美,壽命極長,這也是建立在愛因斯坦的理論基礎之上的。

總的說來,科學家對人類的影響是最大的,永久的,什麽政治家,帝國不過是過眼雲煙罷了。

 

計算機軟件的基礎是數理邏輯,它可以看成是上個世紀數學取得的最重要的進展,幾乎改變了數學的整個麵貌。建立的時間和現代物理基本上在同時,計算機科學可以看成是數理邏輯在這個領域的一個具體運用。當然,一般的“碼工”可能用不著知道數理邏輯,那是因為有人為他們弄出了某種計算機語言,但對於那些弄出語言的人,沒有數理邏輯作為基礎是不可能。

這個問題這樣來講也許容易一點,計算機的界限在哪裏。不能說計算機能做什麽,因為它能做的事太多了,隻能說計算機不能做什麽,或者說是人工智能的問題。這個詞好像容易引起誤解,因為要嚴格定義人工智能就得定義什麽是人的智力,或者思維,而人的思維是一個無法定義的東西,我們弄不清楚。

這個問題得從數學方麵來探究,因為計算機說到底是一個邏輯處理器,這是計算機的硬件所決定的,無法改變,這個問題就就能變成:邏輯能幹什麽?

這個問題主要由三個人的工作而得以闡明,弗雷格,羅素,哥德爾。這是數學最奇妙的一點,數學的一些基礎研究在開始的時候,根本看不到有什麽用處,隻是一些遊戲式的東西,或者哲學問題。但是,後來的發展卻使這些東西變得有極大的實用價值。那個時候的人根本就不知道什麽是現在的計算機。

弗雷格的名字恐怕大多數人都沒有聽說,但他卻是數理邏輯的奠基人,被認為是亞裏士多德以後最偉大的邏輯學家。羅素有了集合論這個工具,在弗雷格的基礎之上想要完成一件無比宏偉的工作,想把全部數學的基礎建立在邏輯的上麵。當然,羅素並不是要為計算機做什麽,他不怎麽不關心這種事,而是出自於一種哲學上的思考,這就是所謂的奧卡姆剃刀。

在弗雷格之前,數學和邏輯可以說是分開的東西。如果數學是一個假設,邏輯是另一個假設(不是所有的人都承認數學隻是一個假設的,這個問題我在談維特根斯坦時比較詳細地討論過,這裏不妨當做一個假設接受下來,並不影響下麵的討論),那麽把它們變成一個東西就有極大的價值,因為奧卡姆剃刀說:“若無必要,勿增實體”,少一個假設,自然出錯的可能將會減少,這可以說是科學的一個基本原則。當然,如果數學就是反映了客觀實在,那麽更應該能夠統一。

但是,羅素失敗了,因為他發現了所謂的羅素悖論,到了哥德爾不完備定律做了結論,那不可能成功,就像哥德爾所說:“有些事實被認知為真,但不必然可證。”當然,要是數學不是必然可證的話,那麽邏輯怎麽能是數學的基礎。雖然羅素失敗了,但是這些人的努力卻極大地推動了數學和哲學的發展,可以認為構成了上個世紀數學和哲學的主流,而且,他們的工作在後來就構成了計算機科學的基礎。

圖靈被廣泛地認為是計算機科學之父:“圖靈在他的重要論文《論可計算數及其在判定問題上的應用》,對哥德爾1931在證明和計算的限製的結果作了重新論述,他用現在叫做圖靈機的簡單形式裝置代替了哥德爾的以通用算術為基礎的形式語言。”《維基百科》這段話大致說明了圖靈和哥德爾的關係,圖靈不過是把哥德爾的定律用在計算機上(圖靈機可以看成是一種理想計算機),這種一致性的背後就是圖靈機和形式語言說到底都是邏輯。

圖靈最重要的工作是:“停機問題(halting problem邏輯數學可計算性理論的一個問題。通俗的說,停機問題就是判斷任意一個程序是否會在有限的時間之內結束運行的問題。該問題等價於如下的判定問題:給定一個程序P和輸入w, 程序P在輸入w下是否能夠最終停止。

艾倫·圖靈1936年證明了,一個可以解決停機問題的通用算法是不存在的。這個證明的關鍵在於對計算機和程序的數學定義,這被稱為圖靈機。停機問題在圖靈機上是不可判定問題。這是最早提出的決定性問題之一。

用數學語言描述,則其本質問題為: 給定一個圖靈機 T,和一個任意語言集合 S,是否 T 會最終停機於每一個 s \in S。其意義相同於可確定語言。顯然任意有限 S 可判定性的,可數的(countableS 也是可停機的。
停機問題本質是一階邏輯的不自洽性和不完備性,類似的命題有理發師悖論全能悖論等。”(本篇所有引用都來自《維基百科》,例外注明)

這裏的理發師悖論全能悖論都是羅素悖論的另一些表達形式。

 

這裏就我自己的理解來解釋一下,你要計算機幹一個活,必須要知道它能不能勝任,也就是在有限的時間裏能不能得到一個結果,不然的話,就是眼前一片黑,所謂理論的指導作用就是這個意思,實際上就是要了解計算機一個什麽東西,我想這一點的重要性不難理解。

毫無疑問,語言是人類最重要,也是最偉大的工具,但是,仍然隻是一個工具,用於人與人之間的溝通。那麽對於一個工具來說,最要緊的就是知道它能夠做什麽,也許更重要的是要知道它不能做什麽,比如說你知道汽車不能在水裏開肯定比能開多快要重要得多。在語言哲學家看來,過去哲學的荒謬之處就在於對語言泛用,而根本不知道語言的局限性,就像他們一直在水裏開汽車,還在宣稱感覺好極了,而且還邊開邊領悟到了這個世界的真諦。

語言哲學和停機問題是有關聯的,它們都是要企圖找到一條線,那些是做不到的事情,一個是針對語言,另一個是針對計算機,而且都是以數理邏輯作為基礎的,這一點也決不是偶然的。

在維特根斯坦看來,我們真正能理解的,能夠達到一致的東西都必須以邏輯作為基礎,因為邏輯是一個天生的東西,大家都是一樣的。除此以外,達到一致是不可能的,就像你不可能說清楚什麽是漂亮。

如果我們認可維特根斯坦關於語言隻能確實地表達邏輯結構,那麽從計算機的角度來理解語言就會容易一些。如果一些計算機的程序和數據庫是一模一樣,那麽當然,對同一個問題它們的結論也必然是同樣的。所以也許可以說,人與人的不同就在於各自程序和數據庫並不一樣,這個不一樣可以認為是與遺傳和早年的經曆和教育有關,恐怕沒有兩個人可能一模一樣,所以說,人與人的不同是不可以避免的。用維特根斯坦的話來說,人與人的不同就在於各自的原子命題不同,出發點不同,所以各人眼中的世界是不可能一樣的。

而哥德爾告訴我們,在邏輯的基礎之上,我們不能建立一個無所不包而完美的數學體係。用圖靈的話來說,一個可以解決停機問題的通用算法是不存在的。這個問題可以這樣來看,我們要讓計算機解決哥德巴赫猜想(任一大於2偶數,都可表示成兩個質數之和),寫了一個程序,從小到大嚐試將這樣的偶數分成兩個素數的和。如果它遇到一個不能被分解為兩個素數之和的 偶數,它就停機並輸出這兩個偶數;否則,它就一直運行下去。這樣一來,問題就可以變成判斷計算機能不能停機,知道計算機會不會停機就是解決這個猜想。很多數學猜想實際上都可以轉化成停機問題,所以說,如果有一個通用辦法,我們就可以證明很多數學猜想。

但是,圖靈告訴我們,沒有通用算法,隻能有針對各個不同的問題的辦法,當然,如果我們找到了一個辦法來判斷哥德巴赫猜想的停機問題,就是解決了這個猜想。由於計算機是一個邏輯運算的機器,這樣我們就能理解哥德爾的說法,不是說哥德巴赫猜想不能用邏輯證明(所謂證明就是邏輯),而隻是說我們不能建立一個無所不包而完備的數學體係。那麽當然,在邏輯的基礎之上,我們也不能建立一個理想的語言體係來說出所有的東西,因為數學可以看成是一種語言,而且是比日常語言要簡單得多。

進一步來說,對於計算機,娼妓和淑女的區別僅僅是兩個字的代碼不同,不可能有自己的好惡感。從這個角度,我們也容易理解倫理學,美學都是與邏輯無關的東西,因此達不到一致,就根本不是哲學所應該討論的問題。就像羅素所說,所謂好壞與美醜一樣,都是各人自己的喜愛,就像蘿卜白菜,

邏輯是一個有限的東西,所以計算機不可能什麽都能做;同樣,邏輯的有限也就造成了語言的有限,用語言表達的所謂絕對真理一定有邏輯上的毛病。這種真理我們無法斷定存不存在,但就是有,也是不能用語言說出來的。因此,人的所知非常有限,我們隻能依靠邏輯,而邏輯有限。

我們也許還能這樣說,如果我們能構造一台完美的計算機,能夠解決一切數學問題,那麽當然這台計算機可以是一個絕對的參照,其它計算機都要以它來確定對錯。但是,哥德爾告訴我們在邏輯上這是不可能的;同理,也就不可能有一個人能做到這一點,沒有人能知道什麽絕對真理,而讓我們可以無條件的追隨。那麽當然,懷疑和批判就是我們永遠必須的。

當然,如果是神那就是另一個故事了,因為神是超人的,宗教與邏輯無關。有人有另一種說法,神其實是靠人來解釋的,也可以說是人造的。

所以說,計算機不但不可能是莎士比亞,也不可能寫出《紅樓夢》,而且,甚至有些數學理論都不是用計算機能得到的,得依靠人的直覺,人的創造能力不能是邏輯的,愛因斯坦那種天才人物永遠是我們需要的。

 

哥德爾是一個奇人,極為低調,家人從別人那裏才知道他在數學界的地位。很多人認為他是上個世紀最偉大的數學家,被譽為數學上的愛因斯坦。與他同時的另一個大天才諾依曼曾經在那個問題上作過不小的努力,但卻沒有成功。

“在普林斯頓時,哥德爾和愛因斯坦成了很好的朋友。後人常將他們比較。哥德爾和愛因斯坦都在自己的範疇有極為重大的貢獻,很聰明,有好奇心,直率。但愛因斯坦性格開朗外向,這點和哥德爾大相徑庭。愛因斯坦的死對哥德爾的情緒有很大打擊。”

下麵轉錄幾段哥德爾的軼事(以下三段不是來自《維基百科》):“哥德爾曾透露他和愛因斯坦的友誼是基於他們之間觀點的不同而不是一致。哥德爾晚年在廣義相對論裏取得重要成果,並於1951年被授予愛因斯坦獎。愛因斯坦晚年說:“我自己的工作沒啥意思,我來上班就是為了能有同哥德爾一起散步回家的榮幸。”我總有些好奇,這二個天才在一起會談些什麽?我們能不能理解?

不過“羅素在普林斯頓訪問時,每周都去愛因斯坦家,同愛因斯坦,哥德爾,泡利討論。他流露出失望:他們仨都是流亡的猶太人,也都見多識廣,但對形而上學都有德國傾向。哥德爾根本就是個柏拉圖主義者。"其實哥德爾不是猶太人。”哥德爾相信有神論,而羅素一直對基督教持批評態度,重要原因就是柏拉圖的哲學是基督教哲學(經院哲學)直接來源,而批判柏拉圖則被羅素視為自己的終身任務。

“數 學家、經濟學家摩根斯頓和愛因斯坦同是哥德爾入美國籍的證人(那時入籍要證人)。去移民局的路上,哥德爾號稱可以證明美國憲法邏輯上會導致獨裁。愛因斯坦 和摩根斯頓都建議哥德爾不要在移民官麵前提這事,但哥德爾還是提了。愛因斯坦吸引了移民官注意力,哥德爾順利變成公民。”這麽偉大的一個邏輯學家有這種看法,恐怕是不錯的。

“他自幼多病,而且從小就患了強迫症疑病症)。他還患過抑鬱症。後來他在普林斯頓的醫院絕食而死,因為他認為那些食物有毒。”“哥德爾的妻子Adele Nimbursky 比哥德爾大六歲。哥德爾21歲兩人認識時,Adele 已婚且在夜總會 Der Nachtfalter 工作。他們的婚姻遭到哥德爾家人反對,但有情人終成眷屬,在1938920日結婚。他們沒有小孩。”天才看來和我們這些普通人相距甚遠。

 

我去過普林斯頓高等研究院,那是這二個天才最後工作的地方。那是一個初春,陽光燦爛,但樹蔭處仍然可見積雪,春風依舊帶著陣陣寒意。就像那些美國漂亮的校園,那裏開闊而人跡稀少,不由有了一些感歎,這二人的工作完全改變了世界,改變了每一個人生活方式,但是,這裏卻如此寂寥!

不過這倒是與他們秉性相符,淡漠甚至有些厭惡名利,安安靜靜做自己喜歡的事情最好。不過我毫無疑問地相信,隻要這個世界上還存在科學和數學,他們就絕不會被人遺忘!

 

 

[ 打印 ]
閱讀 ()評論 (5)
評論
penguin2014 回複 悄悄話 高, 實在是高!
HENRYMTL 回複 悄悄話 好文。
無知無為 回複 悄悄話 計算機和人的哲學區別本質就是邏輯和辯證的區別,邏輯嚴密、死板,辯證靈活、演變,這也是西方和中國思維的主要區別所在。羅素悖論邏輯上悖論,辯證上可以這樣理解:理發師刮自己的時候把自己的臉當顧客就不矛盾了,這就是辯證思維的一個特點,換個角度看、解決問題。這也是為什麽計算機永遠不可取代人的思維

辯證(法)不是矛盾(論),不是馬列毛的哲學垃圾
久經沙場的槍 回複 悄悄話 把我的計算機理論又複習了一遍。
十分感謝。
jo-62 回複 悄悄話 Good article, thank you.
登錄後才可評論.