1. 程式人生 > 資訊 >國外博主戲稱“用貓咪完成了圖靈機實驗”,不過嚴格來說還缺少無限大的房子

國外博主戲稱“用貓咪完成了圖靈機實驗”,不過嚴格來說還缺少無限大的房子

震驚!我的貓居然是圖靈機!

不信,先把祖師爺關於圖靈機的定義拉出來看一下:

在一條無限長的紙帶(tape)上,一個讀/寫頭進行移動,或按照特定的指令集執行更加複雜的行為。

圖靈本人還證明:只要圖靈機可以被實現,就能夠用來解決任何可計算問題。

可以說,這一非實體概念是任何一個現代計算機程式的層級結構能達到的最高水平。

所以,要成為一隻圖靈貓,就至少要做到:

  • 輸入和輸出

  • 增加或減小當前記憶體值

  • 在當前的紙帶上向左或向右移動

  • 執行迴圈

接下來,你將看到貓貓能模擬出圖靈機的完整證明流程

勇敢的貓貓快去創造奇蹟

整個證明流程最快只需花費 5 分鐘。

首先,來進行一個簡單的輸入:

戳!

然後迅速得到了輸出:

一個看鏟屎官的眼神和瀟灑的轉身!

顯然,貓貓具有處理輸入和輸出的能力,條件完成(1/4)。

接下來是看貓貓能不能完成記憶體值的增減,不過前提是先擁有一個記憶體條。

再複習一遍圖靈機的概念:

無限長的紙帶(tape)會被分割成一個個的方格(square),每個格子上可以寫上至多一個字元(symbol)。

而讀寫頭(head)相當於指向其中一個格子的指標,可以讀取、擦除、寫入當前格子的內容,也可以每次向左或向右右移動一個格子。

剛好,貓貓把鏟屎官買的貓糧弄灑在了鏟屎官的房間地板上,就是這個了!

(鏟屎官的東西當然都是貓貓的啦)

可以像右邊這樣,把地板磚看作是紙帶上的方格,相當於是一個記憶體單元。

貓貓可以識別到地板上的貓糧以讀取記憶體值,可以跑過去吃掉貓糧以擦除記憶體值,也可以再次踹翻貓糧,在記憶體條上其他位置寫入新的值。

增加或減小當前記憶體值,完成(2/4)!

後面兩條就簡單了,貓貓顯然具有向左向右移動記憶體頭的能力:

這下貓貓就可以繼續在別的瓷磚裡讀取/擦除/寫入貓糧了。

也就是移動記憶體頭來編輯另一個記憶體單元。

而當鏟屎官剛剛收拾完之後,貓貓又能在極小的時間差內再次打翻貓糧,完成一次完美的迴圈:

兩個條件一次完成,(4/4)!

上述整個實驗流程都來自一名國外博主 Chloé Lourseyre,她在完成了實驗後興奮宣佈:

貓貓做到了能夠用圖靈機做到的大部分事情,所以,這是一隻圖靈完備貓!

顯然不是。

雖然成功模擬圖靈機,能執行所有可被描述的計算是實現圖靈完備(Turing Complete)的充分必要條件,但人家圖靈機還有一個無限長的紙帶呢

而鏟屎官並沒有無限大的房子(淚目了家人們)。

因此,Chloé Lourseyre 本人雖然手握圖靈貓,卻連一串簡單的程式碼都無法執行:

貓貓為科學付出了太多

不過針對上面的問題,也有熱心網友提出了改進建議:

雖然沒辦法啟動和執行計算服務,但可以改變商業模式,將其作為一個世界級的熵源(Entropy Source)來出售嘛!

技術上是沒啥護城河(任何一個有貓、貓糧、鐳射裝置的人都能做到),不過可以通過混合不同品種的貓糧,改變鐳射速度等方式,把積累的知識轉化為一個優秀的貓熵(Cat-Entropy)系統服務業務。

甚至還有改進建議的改進建議:

為了防止競爭者觀察你的貓群行為後預測到你的熵流輸出,可以用一個隨機資料來源來驅動鐳射裝置。

比如把鐳射裝置綁在另一個貓貓的背上,然後將其輸出轉換成 G 程式碼(一種數控程式語言)的移動指令,再傳遞到物件鐳射器上。

最離譜的是這位:

找 64 個貓貓核心,搞一臺量子計算機出來!

不過說到這個量子學,貓貓可就又不困了啊。

來,請出科學界和貓貓界的雙料頂流,薛定諤的貓:

把一隻貓、一個裝有氣體的玻璃燒瓶和放射性物質放進封閉的盒子裡,當盒子內的監控器偵測到衰變粒子時,就會打破燒瓶,殺死這隻貓。

根據量子力學的哥本哈根詮釋,在實驗進行一段時間後,貓就會處於又活又死的疊加態。

可如果實驗者開啟盒子觀察內部,他看到的貓只會是死亡或存活的狀態,而非又活又死的疊加態。

這就引出了一個問題:量子疊加到底在何時終止,或坍縮成兩種可能狀態中的一種狀態?

貓貓表示:隨便吧,反正我心已經死了。

哦,還有這個拉長貓,你看到的是一個表情包,但有人卻看到了流體力學,還為此一本正經地寫了篇論文:

論文中提到:液體定義的核心是一種行為,即一種材料必須能夠修改其形狀,以適應容器。

而這個行為還必須有一個特定的持續時間,在流體力學中叫做弛豫時間(Relaxation Time)。

所以如果要判斷貓貓是否為液體,就要看它是否能在給定的弛豫時間內,根據容器調整自己的形狀。

這篇文章最終也獲得了 2017 年的搞笑諾貝爾物理學獎。

所以,貓貓真的是為科學付出了很多呢。