邏輯和人工智能 “人工智能(英語:Artificial Intelligence, AI)亦稱機器智能,是指由人工製造出來的係統所表現出來的智能。通常人工智能是指通過普通電腦實現的智能。該詞同時也指研究這樣的智能係統是否能夠實現,以及如何實現的科學領域。”
維基百科這個詞條還是相對嚴謹的。在這裏我們得注意一個非常重要的問題,就是我們對人的智能了解得非常之少,基本上是不知道。所以說,我們能想辦法定義智能(比如邏輯思維是一種智能),但是我們無法定義人的智能,不知道的東西怎麽可能定義。許多人(包括一些所謂專家)在這一點上都沒有弄清楚,把人工智能理解為機器模仿人的智能,但不知道的東西當然無法模仿,許許多多錯誤就是這樣來的。
記憶毫無疑問是任何所謂智力的最基礎的東西,計算機的記憶非常簡單,任何能夠有清晰狀態的東西都可以作為存儲器,現在我們廣泛使用的是隻有0,1兩個狀態的存儲器,這隻是因為利用了電子元件的一種性質。但是,人是怎麽來記憶的,基本原理到現在我們根本就不知道。
下麵來定義什麽是計算機(電腦)。我們可以說一個有CPU,電源,輸入,輸出設備的東西,這是從硬件的角度來定義什麽是計算機。如果是從原理(計算機科學),定義就非常簡單,計算機就是用圖靈機的模式來處理信息的工具。也就是說,計算機是一個工具,那麽當然,用計算機來實現的人工智能也隻是一種工具,任何把人工智能胡亂瞎吹的人都不是在談科學,而是在寫科幻。
下麵還得要來定義什麽圖靈機,“其更抽象的意義為一種數學邏輯機,可以看作等價於任何有限邏輯數學過程的終極強大邏輯機器。(維基百科)”圖靈機非常有意思,它極為簡單又非常強大,曆史上許多科學奇才(比如愛因斯坦)都認為這個世界的根本應該是極為簡約的,圖靈機就是一個極好的例證。在下麵的討論中,我們隻要記住一點就足夠了,圖靈機是一個邏輯機器,也就是說它隻能進行邏輯運算。
我們可以把需要處理的信息大致分為兩類,一類本來就是邏輯問題,比如像數字運算,搜索,因為計算機本來就是一個邏輯處理器,所以這一類事情對它們一點問題都沒有,飛快就完了;另一類並不是邏輯問題,最簡單例子就是日常語言。當然計算機並不是完全不能處理這一類問題,而是必須得要把這些問題轉變成為邏輯問題,它才能夠處理,可以想得到,這就會對它的硬件和軟件都會有一定的要求,不然就會吭哧半天,然後給你一個哭笑不得的答案。
下麵一個問題自然就是,有沒有一些事情是計算機完全不能處理的,計算機的能力有沒有一條上線,如果有,在哪裏?這個問題在上個世紀由哥德爾作出了重大的進展,因此他被人稱為數學上的愛因斯坦。當然他並不知道後來的計算機,隻是說邏輯有些事是做不到的,那麽當然,計算機也就不可能做得到。
後來圖靈把哥德爾不完全定律發展到了計算機科學領域,這就是圖靈的停機問題,從這裏入手好像簡單一些。圖靈告訴我們,不可能找到一個通用的辦法來判斷任何程序會不會停機。 要注意的是,圖靈不是說人類不夠聰明,而是說如果有這樣的一個辦法,就會產生邏輯問題,所以根本不可能,隻有在邏輯崩潰,失效的情況下才有可能,那麽當然,也就沒有計算機了。
理解停機問題的重要性並不難,比如我想大家都知道哥德巴赫猜想,任一大於2的偶數,都可表示成兩個質數之和。我們可以為計算機寫一個簡單的程序讓它不停地往下找,如果有一個偶數不能成為兩個質數之和,計算機就停機,輸出這個質數。這樣一來,這個猜想就轉變成為了停機問題,判斷計算機會不會停機實際上就是解決了這個猜想。很多數學上的問題都可以這樣轉變成為停機問題。
也許我應該強調一下,圖靈並不是說我們找不到一個辦法來證明哥德巴赫猜想的停機問題,不然那些數學家在忙乎什麽?而是說沒有一個萬能辦法來解決數學的所有問題,隻可能有針對一個個問題的特殊程序。用哥德爾的話來說,當一個形式(數學)係統複雜到了某個程度,僅僅從邏輯是得不到的。或者用哥德爾那句簡單的話,在數學上有些東西不可證,而我們必須得認為是真。
或者我們這樣來想,盡管我們有一個無比強大的計算機,哪怕有一個完美的學習程序,計算機仍然不可能發現某些數學定律,因為不是全部的數學定律都可以從邏輯中推理出來的。
我們可以直截了當地說,計算機永遠不可能發現哥德爾不完全定律,因為根據羅素悖論,任何命題不能涉及自身。這樣理解應該容易一些,哥德爾不完全定律是數理邏輯的基礎,而計算機不過是數理邏輯的一個應用,是根據那個定律而得到的東西,如果計算機再來發現自己的基礎,那是什麽玩意?這隻是一種循環論證,和人想揪著頭發離開地球是一回事。
如果從哲學上來理解上麵的那些說法就是,數學裏沒有絕對真理,邏輯不允許。那麽當然,任何絕對真理都應該包括數學,所以所謂絕對真理不可能存在。其實在邏輯上非常簡單,一個絕對真理,也就是在任何情況下都正確的東西,如果有一個根據,那麽這個根據就不能再用那個絕對真理來證明了,因為這是循環論證;而如果一個東西不需要證明就可以讓我們堅信,那隻能是上帝。 語言哲學認為過去的東西都沒有擺脫神學,原因就在於此。
下麵來談一些相對簡單的說法。 諾依曼是毫無爭議的大牛人,曾經作過不小的努力,但卻沒有完成哥德爾不完全定律,挺遺憾,其實那個定律並不複雜,短短幾句話,不是《紅樓夢》。從這我們可以知道,這個定律肯定不能簡簡單單從邏輯推導出來,不然數學天才就是無用了。
科學也是如此,相對論肯定不是從邏輯中可以直接得到的,雖然其必須合乎邏輯。一些實驗數據得不到解釋,一些人絞盡腦汁,有些想法的確有點稀奇古怪,隻有愛因斯坦是真正的蓋世牛人,從一些嶄新的觀念出發,由此建立了現代物理。就像科學曆史學家所說,科學發現並不是發明了什麽新東西,那些東西本來就是在你身邊(比如原子),而是發現一些新的觀念,從而使你對這個世界有了不同的看法,就能看到你原來看不到的東西,理解原來你理解不了的世界。
如果我們認為上麵的說法有道理,那麽當然,單單憑借邏輯,我們得不到新東西。用語言哲學家的話來說,邏輯不過是重言式,我們從中不可能得到新東西,邏輯不過是把蘊含前提中的東西延伸,表達出來。那麽當然,從計算機我們也得不到新東西。當然,這裏的新東西是說我們得不到新的觀念,新的理論等等這樣的東西。
也許這樣說容易理解一些,人類真正的創造力都是與非邏輯有關的,哪怕是在數學邏輯領域,計算機的工作原理決定了其永遠不可能做到這一點,從這個意義上說,計算機沒有創造力,所謂天才,就是邏輯解釋不了的。
要是從心理學的角度來說,計算機和人有著不可逾越的鴻溝。人是有著感情,情緒,潛意識,這些東西極大地影響著人的思維和行為,而它們都不是能用邏輯來理解的。 在網上經常可以看到極為情緒化的爭吵,甚至謾罵,哪裏有一點點邏輯。就拿美國的總統競選來說,情緒化的一塌糊塗。比如說如果有一個功能不錯的計算機,就會認為依靠遣返解決非法移民是做不到的。道理非常簡單,所謂遣返,實際上是一個法律程序,必須要兩個國家都同意。美國有一千多萬的非法墨西哥移民,如果遣返,意味著墨西哥政府要安排那些人的工作,居住,教育,醫療等等等問題,這得需要多少錢?而本來這些人每年是在往墨西哥寄錢的。 所以墨西哥政府不可能同意美國的大規模遣返,實際上他們公開表達這種意見不是一次了,因為他們承受不了。那麽當然,遣返就是不可能,這是一個非常簡單的邏輯問題。
如果計算機再能繼續推理,就是:相信大規模遣返的人不是幼稚就是在撒謊,由於有幾千萬人都想當總統,所以可能的候選人不可能幼稚,所以隻有我們幼稚,那些候選人在投我們所好,目的自然就是選票。 如果這個計算機的內存足夠大,就能知道所有以政治為職業的人都會說謊,與年代和國家無關。如果內存小一點,至少會知道美國總統在競選時說的話,兌現的記錄是一塌糊塗。計算機如果有感情,就會驚訝怎麽還會有人相信,當然它沒有,所以也理解不了感情,恐怕隻好認為人的記憶不會超過四年。
人的感情是一個非常奇怪的東西,它使得人類堅強,也使得他們軟弱;使得人類偉大,也使得他們渺小,真是說不清楚。能說的就是沒有它,人就不是人了,會有極大的不同,而計算機永遠不會有這個東西,因為它完全是反邏輯的。
所以從小的方麵來說,計算機永遠不能成為莎士比亞,永遠寫不出《紅樓夢》,因為它們不可能有感情;在大的方麵,要控製人類,無非隻有兩種辦法,武力和忽悠,武力當然不可能,但它們無法去忽悠一個它們所不了解人類,所以它們永遠不可能控製世界。
我想這樣說是不錯的,計算機不能取代人,因為我們根本就不知道什麽是人,所以我們做不出一個自己不知道的東西,實在無法可想。
下麵來說從圖靈的停機問題所得到的一個重要結論,就是計算機程序的bug不可能完全避免。 從沒有一個通用程序來解決停機問題我們可以知道,也就沒有一個通用辦法來解決bug,那麽就可以說,bug是不可能完全避免的。
所謂程序其實就是想辦法把具體問題轉變成為邏輯運算,這樣計算機才能夠一步步的執行,而所謂bug,就是程序中出了邏輯問題,計算機就沒有辦法做下去或者做得不對,所以所謂解決bug就是要解決一係列相關的邏輯陳述之間有沒有邏輯問題,因為無論幹什麽程序說到底都是都是這種東西。
既然都是一係列相關的邏輯陳述,如果我們有一個通用辦法來知道任何陳述之間會不會有邏輯問題,那麽事情就非常完美了,任何程序用這個辦法來檢查檢查就可以知道有沒有bug。不管這個事情有多麽複雜,隻要理論上可以我們總是有辦法可想。
如果沒有,程序如果用人來檢查,當然不可能保證沒有bug,因為人都是會犯錯的;如果用計算機,那就得有一個程序,但是,這個檢測的程序仍然是人寫的,所以仍然不能斷定有沒有bug,這個怪圈是沒有辦法出去的。所以說,我們沒有辦法來解決計算機的bug問題。
其實這個問題是非常嚴重的,在實際應用中,可靠性始終是第一位的。比如在計算機和李世石的第四盤中,計算機突然一下發瘋了,下出了不可思議的昏招,當然,我不知道是bug還是程序本身就不完善。但是,很多事情並不是下棋,玩玩而已,如果是在股市上,要是人工智出了這樣的問題,也許公司就會破產,那個智能都會被拍賣掉(估計沒有人買),這種錯誤是不能有的,而如果bug不能避免,我們憑什麽說不會有這樣的事情呢。
另一個問題就是前麵所說,計算機並非不能解決非邏輯的問題,而是得想辦法把它轉換成邏輯。但是,這裏有一個不好辦的事情,就是如何來判斷對錯。按照語言哲學的觀點,非邏輯的東西是沒有對錯的。
比如說,把《紅樓夢》翻譯成為英文,這肯定不是一個單純能夠嚴格用邏輯來解決的問題,要用到複雜的軟件和硬件,這都不是問題,現在這些東西發展得飛快。但是,我們如何能判斷翻譯的質量,則是一個無法解決的問題。當然,這個問題比較特殊,如果我們認為這個翻譯程序是雙向的,就可以讓它再把英文的翻譯回來,來看有多少的相同的地方(這恐怕是標準的理工思維)。看起來不錯,但是,相同地方多就一定好,我表示懷疑,這種文學語言的理解太難了,本來就不可能有一個標準,各人是不一樣的。而找不到一個判斷好壞的標準,在技術上就不知道應該怎麽做。
多得很的問題並不是這樣的,什麽樣的思維都找不到判斷對錯的線索。比如說,如果要計算機來當法官或者陪審員,那是怎麽能辦得到。
實際上這個世界最重要的事情都不是能簡單地用邏輯來處理的,計算機找不到答案,我們可以說這是不幸,但也可能是萬幸,誰知道呢?
當我聽到有人說,李世石代表人類來和計算機戰鬥的時候,就有一點想笑,計算機還不是人類發明的一個工具嗎,說到底還不是人和人在爭峰。就像一個西部牛仔和武林高手爭鬥,你能說武林高手代表人類和手槍戰鬥嗎?手槍背後是科學技術,肯定是勝利者,但科學技術的背後還不同樣是人。
這個世界是好還是壞,是走向悲劇還是喜劇,都是我們決定的,與機器有何關係? 計算機的基礎理論都是幾十年前那一幫大牛人弄出來的,以後隻能算技術上的進步,再也沒有根本性突破。所以說,這個世界其實還是那樣,人工智能不過是一種圖靈機罷了,不要以為它能夠改變世界。也許用那一句哲人的話:這個世界並沒有變化,改變的隻是我們自己。
You are a little bit arrogant to say this. I am not sure what is this "根本性突破"? I guess that is just a "feeling", which is not logical??
所以計算機永遠是人類的助手,不休息、高速、準確重複 ETC。