怎樣走出計算機萬能的誤區

時間 2021-06-02 11:11:26

1樓:undefined

這個取決於萬能的定義。

比如「計算機能否製造出一塊它無法舉起的石頭」,所以「萬能」意義上的萬能不可能存在,任何事物的能力都是有極限的。人的能力是有極限的,計算機的能力是有極限的,甚至世界的能力也是有極限的。

那麼,是否「凡是人有能力做到的事情,某種人造的機器都有能力做到」,又或者是否「凡是世界允許發生的事情,人或機器都有能力令其發生」,這大概才是萬能的真正含義。

對於第乙個問題,一種典型的態度是「為什麼不行」。沒有機器能夠在有限時間內解決停機問題,但是,人可以嗎?沒有機器能夠在有限時間內處理無限精度,但是,人可以嗎?

說到底,抽象機器的極限實際上是邏輯的極限,而邏輯的極限實際上是人思維的極限。

如果人不過是由血肉組成的機器,那麼機器就不應該弱於人。如果世界上不可能存在具有等同於人的能力的機器,那麼人就必然具有某種區別於所有其他存在的特殊性,但是這種特殊性卻從來沒有被人發現過。所以,這樣的機器不應該不存在。

但是,人卻對人自身缺乏了解。因此,即使「這樣的機器存在」,人也不得不懷疑,「這樣的機器,人是否有能力實現」。

而事實上,人甚至無法在現實中實現真正的圖靈機,人只能通過有限狀態機/有限紙帶圖靈機去在一定問題規模內模擬圖靈機。

但是,人自身又是不是某種通過有限狀態機模擬的,僅限於一定問題規模內的某種更高階的機器呢?如果將問題限制在一定規模以內,那麼是否有可能甚至停機問題都不是那麼困難呢?

比如說,在一顆具有4個8位通用暫存器的8位哈佛架構處理器上,包含程式指標暫存器在內,這顆處理器總共有2^40種可能的內部狀態,而這顆處理器最多可訪問2^11位的資料記憶體,因此整個系統最多具有2^2088種可能狀態,由鴿巢原理,指定任意程式和輸入,只要程式停機,便一定會在2^2088步內停機,否則程式必然會在某一時刻回到曾經經歷的狀態,從而造成無限迴圈。

這同時證明,這顆處理器本身並不是圖靈完備的。

雖然說這樣的解法不具有現實意義,但至少說明,如果我們對問題施加某些限制,那麼甚至某些不可計算問題也是有迴旋的餘地的。

如果認為人腦不具有無限狀態,那麼只要找出等價於人腦的演算法,人就可以讓機器達到人的高度,這裡唯一的問題依然是,人對人自身缺乏了解。但是如果認為人腦可能具有無限狀態,那麼至少人目前製造機器的思路是無法達到人的高度的。

那麼第二個問題,人是「萬能」的嗎?首先造物的能力不可能超越創造者的能力,因為如果造物具有這項能力,那麼這意味著創造者同樣也具有這項能力。如果說機器有可能能夠達到人的能力,那麼人能夠達到世界的能力嗎?

至少目前不能,但是我願意相信人可以。

2樓:Xyan Xcllet

對角化的魔咒是很強的 ... 其次是:我們人類以及能夠在現實中實現的計算機架構的抽象化 目前均滿足 以下幾個條件:

乙個有限狀態集 反例:無限狀態圖靈機

帶子上的格仔數量是有限的。反例:computing onor computing on

每乙個格仔也只會儲存有限的資訊。反例:Persistent Turing Machine

程式只在有限步驟內執行。反例:各種 Zeno - like machines 以及無限時間圖靈機

只存在有限並行性。反例:無限並行圖靈機

以上反例結構至今沒有一項是可實現的。

我們也並沒有走出之外。

3樓:逸之

計算機是萬能的,本身就是一種錯誤的認識。

再萬能的東西,也扛不住致命的自指——當乙個系統強大到一定程度時,終究會遇到無法處理自己的窘境。

這一點恰恰是電腦科學之父艾倫·圖靈證明的。當然他的老師阿隆佐·邱奇也用不同方法證明了這一點。

這個錯誤認識可以認為是大數學家大衛·希爾伯特在2023年提出來的,他幻想著數學是完美的。我們知道,只要數學上能解決的問題,計算機都能解決,一旦什麼問題是數學搞不定的,那計算機肯定也搞不定。

如果你對圖靈機已有了解,可以跳過這一段,直接看停機問題。

那麼讀寫頭該如何移動,移動之前或移動之後又該作何操作呢?這取決於機器當前的狀態,以及讀寫頭當前所指小方格中的內容,機器中有著一張應對各種情況的策略表。這就好比有乙隻小貓,你往它碗裡放些食物,它會根據自己餓不餓以及食物的類別判斷吃還是不吃,我們可以大體列出一張策略表:

在這個例子中,小貓就好比圖靈機,碗就是紙帶上的小方格,食物就是小方格中的符號。當然這只是乙個簡化的模擬,也有很多不挑食的小貓會吃白公尺飯,或者貪食的小貓即使吃飽了看見魚還是會繼續吃。在理想情況下,當我們提供一排足夠多的碗,並在碗中放置更多種類的食物和玩具,貓在碗與碗間來回走動,就更像一台圖靈機了。

為了更精確地說明,我們構造一台簡單的圖靈機,實現對紙帶上所有3位二進位制數的+1操作(超過3位的進製將被丟棄),相鄰兩個二進位制數之間通過乙個空的小方格隔開,形如下圖所示,讀寫頭從最右側二進位制數的最低位開始掃瞄,遇到連續2個空方格時認為已處理完所有數,機器停機。

策略表如下表所示,其中E表示擦除、P表示列印、L表示左移。

該圖靈機有3種工作狀態:

S1是+1狀態,也是機器的初始狀態。如果讀寫頭遇到的是0,則直接將0改為1即完成了+1任務,左移一格後進入狀態S2;如果遇到的是1,則將1改為0,由於需要進製,即對下一位+1,左移一格後仍留在狀態S1;如果遇到的是乙個空方格,即使當前需要進製,也不做處理(將進製丟棄),左移一格後進入狀態S3。

S2是左移狀態,此時已實現當前二進位制數的+1,需要將讀寫頭移到下乙個數的最低位。如果遇到0或1,說明讀寫頭還在當前二進位制數上,繼續左移;如果遇到空方格,後面等著它的可能是下乙個二進位制數,也可能是永無止境的空方格,左移一格之後進入狀態S3。

S3是判斷狀態,根據情況判斷是否還有二進位制數要處理。如果讀寫頭遇到的是0或1,說明當前位置是乙個新的二進數的最低位,直接交給S1處理;如果遇到的仍是空方格,說明後續不再有資料,停機。

根據以上策略,該圖靈機處理紙帶的過程為:

如法炮製,我們可以設計出具有各種功能的圖靈機,而策略表的制定則類似於程式設計。圖靈想到,如果把策略表中的資訊以統一的格式寫成符號串(比如上表可以表達成S1/0/EP1L/S2 S1/1/EP0L/S1 S1//L/S3 ……),然後放在紙帶的頭部,再設計一台能在執行伊始時從紙帶上讀取這些策略的圖靈機,那麼針對不同的任務,就不需要設計不同的圖靈機,而只需改變紙帶上的策略即可。這種能靠紙帶定製策略的圖靈機,稱為通用圖靈機UTM(universal Turing machine)。

不單是策略表,其實用於描述圖靈機的所有資訊(包括所使用的符號、初始狀態等)都可以表達成紙帶上的符號串。這就意味著,一台圖靈機可以成為另一台圖靈機的輸入。

在試想一下,在有些情況下,一台圖靈機如果長時間沒有輸出結果,那麼它很可能陷入了死迴圈或永無止境的計算中。這是我們不願看到的,因為機器可能執行1分鐘後停機,也可能執行10天半個月甚至幾十年才停機,亦或者永遠也不會停機,這個很難靠人為判斷。假設我們構建出一台圖靈機H,它接收其他圖靈機及其輸入資訊作為輸入,並能夠判定其是否會停機,就解決了上面的煩惱——構建這樣的機器難度雖大,但理論上是可行的。

這就是著名的停機問題(halting problem)。

H所處理的,本質上正是一種判定問題:某台圖靈機在某輸入上是否會停機。只要找到一台H判定不了的機器,希爾伯特的美夢就破滅了。

令H表現如下圖所示,如果其判定物件會停機則輸出1,反之輸出0。

我們再構建一台圖靈機G,其執行流程如下圖所示。如果H輸出1,說明G會停機,但事實上它將陷入迴圈;如果H輸出0,說明G不會停機,但事實上它將停機。

悖論已經出現,H無法對G的停機問題進行判定。又一次歸因於尷尬的自指:當乙個系統強大到一定程度時,終究會遇到無法處理自己的窘境。

因此,不存在一台圖靈機,可以判定任意圖靈機是否會停機。圖靈機不是萬能的,計算機當然就不是萬能的。而這個看似有點耍賴的證明方式,有著圖靈長達36頁的數學論證支撐。

4樓:陳越姥姥

有人說計算機除了不能生孩子其他都能?錯!

計算機當然可以生孩子啊又不難,哪個計算機晶元不是計算機控制的機器做出來的啊(*/\*)

如果說萬能是指有10000種能力,那計算機肯定有啦~如果題主想說的是無所不能,那的確不行,至少不能起死回生。。。

墨爾本大學的Science能學計算機專業嗎?

留學輔導學長Pan 當然如果能射你請你剛到墨爾本的Master of Science Computer Science 這個專業的話,那就選擇墨大,畢竟這是research專案,還是有優勢在的。 harriet 你好.如果你是指申請本科的話 選擇Bachelor of Science Computi...

怎樣選擇計算機專業的研究生?

小周考研 考研的確是提公升學歷,提公升能力的渠道之一。所以針對你的問題並且結合你的情況給你做以下兩方面的建議。第一就是關於專業選擇 就考慮軟體工程專業碩士。軟體工程是 專業碩士 工程下的二級學科專業。本專業設立的主要目的是培養從事軟體工程各領域工作,如軟體開發 專案管理 網路安全等具有較高學歷層次的...

英語不好能學計算機類的專業嗎?

Keen Lit 但是你學起來會很吃力呀,可以多下功夫把英語提公升起來,相信自己!而且英語真的很重要,你到時候要考研用到,研究生時期也一定要翻文獻,想深造還需要會英語,語言通了,世界才會通! 北極羊 入門沒問題,但天花板會相對更低,包括知識能力與就業出路兩方面。知識能力方面 畢竟最全 最新 最豐富的...