圖靈機
章節報錯
高一的放學鈴打響之後,我又在教室留了一會兒,把最後的作業題寫完再走。剛好,值日生做完了值日,我收拾完了書包。九點一刻,我要乘的89路公交五分鐘一班,最後一班是九點半。還來得及。
旁邊自習教室的燈怎麼還亮著?我走過去打算順手關掉,卻看到零醛正在裡面,一隻手撐著頭,一隻手翻著書。
“你在……”
“看閒書。”她舉起封面給我看,第一推動叢書的《複雜》。
“啊……我也想看,期中考完之後可以借我嗎?”
“現在就可以借你。”她用有些沙啞的聲音說道,看樣子精神不太好。
“呃,還是過兩天……你為什麼不在教室?”
“不想待在那。全是人。”她順勢往椅背上一躺,拿著書的那隻手有氣無力地垂下來,“二氧化碳濃度太高,喘不過氣。沒有力氣,不想寫作業。關鍵是,巧克力也吃完了。”
“啊……我這有薄荷糖,可以嗎……”我從兜裡掏出一條黑色的“午夜風暴”薄荷糖,隨身攜帶是為了防止我這個“特困生”上課打瞌睡。
“哈,湊合吧。謝謝。”她抬起細瘦的手接過糖果,“但還是想要巧克力,微量的花生四烯乙醇胺,大麻素類似物……”
“你怎麼從教室溜出來的?”
“我跟班主任說數競要去刷題,她就放我走了。——我也沒說謊啦,好歹還是寫了一會兒題的。……薄荷糖好辣!我喜歡。”
“嗯……一起走嗎?”我問。
她沒有說話,只是默默收拾起書包,把書和小藍本放回自習教室的櫃子。
“你沒有急著回家嗎?”
“我跟我媽說我要在學校多自習一會兒。反正只要是和學習有關的事情她就不怎麼反對。”
“啊……”
關掉最後一盞燈,我們藉著“安全通道”標誌的幽幽綠光下樓。秋天夜晚帶著涼意的風圍著我們打轉兒,零醛還是穿著白襯衫,外面套著校服的運動外套。她使勁拉緊領口的拉鍊。
“冷嗎?”
“正好啊,分泌甲狀腺素,提高神經系統興奮性。”
“……說得好,我期中考試時也少穿點。”我若有所思地點點頭。
“It’sajoke!”她學著《生活大爆炸》中謝爾頓的語氣,潛臺詞好像在說“真是個大笨蛋”。
“那,我們跑快點,就不冷了。”
“不要。”她突然拉住我的袖子。
“一起走。慢點走。”她輕輕地,用微微顫抖的聲音請求。
“隨堂測的第一條大題我忘記寫空集的情況了……”
“我今天才……所以我討論了半小時,結果發現題目說‘正整數’!啊快點再給我一顆薄荷糖!太氣人了!”
“……寫了一晚上題目了,不要再聊題目了。”我嘆著氣說。
“嗯……好,不過還是再給我一顆薄荷糖。”
我們混在高二放學的人流中,零醛剝開糖紙把糖扔進嘴裡“嘎嘣”嚼碎。
“要是有那種自動解題的程式就好了……”
“噗哈哈哈哈哈哈哈……解高中數學題的話說不定將來真的會有,但一般的數學命題……真可惜啊,不可能。”吃著糖的零醛好像恢復了一些活力,於是開始向我講解奇怪的東西。
“你知道希爾伯特問題嗎?”
“不太清楚……不過聽說過他的名言,‘我們必將知道,我們終將知道’。”
“啊對,他在1900年提出過‘世紀之交待解決的23個問題’,其中一個——所謂的‘Entscheidungsproblem’——”她念著這個冗長的德語單詞——“就是‘是不是對所有命題都有明確程式(definiteprocedure)可以在有限時間內告訴我們命題是真是假’。要是真能這樣就好啦,什麼哥德巴赫猜想黎曼猜想……只要把這些問題放進判定機器讓他執行一下就能知道了。更早的時候萊布尼茲也有過類似的幻想,他自己製造了加法器和乘法器,並且覺得人類將來能建造出所有判斷數學命題真假的機器。”
“好了好了我知道了……所以快點來打破我的幻想吧。”
“嗯……你要聽聽用圖靈機的證明嗎?”
“圖靈機……是電腦嗎?”
“只能說電腦算是一種通用圖靈機啦。——圖靈機是圖靈構造的一種假想的機器,它有一個讀寫頭,”零醛從口袋裡掏出一支自動鉛筆,戳了戳筆尖示意,“一根紙帶,有很多格子,寫著零和一,讀寫頭在紙帶上自由移動。”她將鉛筆沿著手指前後移動,“機器還有一些內建的狀態,它會根據當前所處的狀態和讀到的方格里的0或1來改變自己的狀態、左右移動,或在當前的格子裡寫下和擦除記號。”她“咔噠咔噠”地按了按筆尾。
“給一根輸入紙帶,有的圖靈機可以上面執行有限步後進入停機狀態,有的則會一直執行下去——比如我可以造一臺機器,在狀態1下讀到0或1都右移一格進入狀態2,在狀態2下讀到0或1都左移一格進入狀態1,進入“左移右移左移右移”的死迴圈……順便說一下,透過一些編碼,這些規則可以寫成01紙帶的形式,於是它們就既可以放在機器的腦袋裡,也可以拿出來作為機器的輸入。——這很重要!”她揮了揮自動鉛筆。
我點了點頭,表示能聽懂。
“所以我們現在有一臺圖靈機——叫他小明吧。有一張輸入紙帶。我們就遇到了一個問題——能否在有限時間內透過明確的步驟判定小明在處理這條紙帶時會不會停機。
“先假設答案是‘能’——於是我們就會有一臺特殊的圖靈機——叫它‘檢查員’吧,他只要左手拿著小明的紙帶,右手拿著輸入紙帶——呃也可以把它們列印到一張紙帶上,算了幾張紙帶不重要——就能判定小明對這個輸入會不會停機。如果左右手都拿著小明的紙帶,就能判定小明對自身的輸入會不會停機。想象一下,比如說——這是一座機器人工廠,由於陷入死迴圈很麻煩,所以大家在執行紙帶之前都要去讓檢查員判定一下能不能停機……挺好的,嗯哼?
“只是有一天,檢查員出了點狀況——無論是喝多了酒還是吃多了巧克力還是腦袋裡飛進了一隻蟲子——總之,當小明對輸入紙帶不能停機時,生病的檢查員照常在執行完這兩條紙帶後停下,給出‘不能停機’的結論;而當小明對輸入紙帶能夠停機時,生病的檢查員自己在處理這兩條紙帶時卻進入了死迴圈,其他機器不得不把他強行從紙帶上扯開。場面一度失控。
“所以生病的檢查員想給自己作個檢查。他左右手都拿著自己的紙帶,想看看自己對自己的輸入會不會停機——然後就出現了矛盾。”
“如果判定能停機,就會進入死迴圈;如果判定不能停機,就會停下來……所以生病的檢查員最終會怎樣……”
“所以由反證法,檢查員這樣的機器不會存在。——或者,如果你一定要問他怎樣了的話——被自己的讀寫頭與紙帶摩擦所產生的熱量焚燬殆盡了吧。”
我嘆出一口氣。
“希爾伯特還提出了其他的問題,比如數學是不是完備的——是不是所有數學命題都可以用一組有限的公理證明或證否;數學是不是一致的——是不是可以證明的都是真命題。”
“——這個命題是假命題!”
“哈,挺聰明的。之後哥德爾證明了如果算術系統一致那它就不完備——誒幾點了?”
我抬頭看了下學校門口電子屏上的大鐘,九點三十,我們已經在校門口的秋風中站了將近一刻鐘。
“……我們是圖靈機嗎?”我問了最後一個問題。
“誰知道呢,不過我覺得是的。”
“但我還沒聽說過誰的大腦因為接收了什麼奇怪的輸入而陷入不可預知的死迴圈……”
她不置可否地咧咧嘴。
到了要分別的路口。她向左,我向右。該奔向車站了,別誤了末班車。
轉身之前零醛停下了腳步,“哥德爾在天堂碰見了圖靈,他說:‘看吧,果然有人要毒死我們!’”她說道,然後發出幾聲上氣不接下氣的笑。
怎麼了?我回頭擔心地望著她,她搖搖頭,抬眼凝視著我,然後又恢復了平日的微笑:
“沒什麼,It’sajoke.”
一點也不好笑。