你玩過超級馬里奧嗎?那位來自布魯克林的水管工,穿過下水道、踩扁蘑菇怪,一路狂奔去救桃子公主。這個游戲看起來就是個童話,但你有沒有想過:從起點到城堡,馬里奧真的能到達嗎?科學家最近給出了一個讓你意外的答案——在某些設計出來的關卡里,這個問題竟然和破解我們的銀行交易密碼一樣復雜,甚至計算機都算不出來答案。
這可不是隨便說說。麻省理工學院有一個叫“硬度小組”的團隊,名字聽上去很正式,其實并不是官方的研究機構。它更像是個臨時的名號,放在理論計算機科學的幾個項目上,好幾個都跟超級馬里奧有關。這些項目來自埃里克·德梅因教授的課程“算法下界:硬度證明的樂趣”。德梅因是計算機科學的教授,拿過麥克阿瑟獎,也就是俗稱的“天才獎”,研究計算幾何,方向是蛋白質折疊和折紙。但他也研究復雜度理論,就是一門給問題分科的學問:按照計算機解題需要花多少時間和記憶空間,把它們整理進不同的類別里。
![]()
德梅因還是個超級馬里奧的鐵粉。他說:“我是玩任天堂紅白機游戲長大的。小時候花了好多時間在這些游戲上,所以這么多年后能把它們跟自己的研究綁在一起,特別有意思。”就是這種個人興趣,讓他和合作者花了十幾年,把水管工闖關變成了嚴肅的數學對象。
![]()
我們先回到超級馬里奧本身。游戲在一個水平滾動的世界里展開,有平臺、管道和各種障礙。目標是營救蘑菇王國的統治者桃子公主,你得一關一關地跑,躲開或踩扁那些擋路的蘑菇怪——它們叫板栗仔,還有刺猬一樣的刺殼龜。初代版本里,每關結束都有一根旗桿,馬里奧碰上去就進入下一段旅程。這聽上去簡單,玩起來也不覺得有什么不對。可是在計算機科學的眼光里,這就成了一個抽象的圖景:馬里奧在橫軸上移動,遇見各種敵人和機關,他的跳躍和踩踏動作構成了解決問題的手段。問題就是:給定一個自定義的關卡,馬里奧到底能不能到達旗桿,或者城堡?
這就進入了復雜度理論的范疇。過去十四年里,德梅因和他的合作者已經證明了許多關于超級馬里奧的事情。比如說,算出馬里奧能否過關,竟然比那個著名的旅行商問題還要棘手。旅行商問題是什么?想象一個快遞員要跑遍幾十個城市,每兩個城市之間都有道路,他想找一條最短的總路線。城市越多,可能的走法就指數級增加,計算機找最優解的速度會變得極慢。超級馬里奧的闖關問題,在復雜度層級圖上站的位置比它更高,意味著更難。甚至比大數的因子分解問題也不遜色。因子分解有多難?我們每天網上銀行、支付密碼的安全性,就建立在沒法很快把一個極大數分解成兩個質數乘積的基礎上。到現在,這還是個假設——沒人證明它絕對不可解,可也沒人找到快速算法。馬里奧闖關的難度,至少就站在這個層次上。
不過,真正讓德梅因都驚訝的結果來自他的四個學生。在二〇二三年的那堂課上,海耶什·阿尼、霍爾登·霍爾、里卡多·魯伊斯和納文·文卡特組成小組,完成了期末項目。他們用一群粉絲制作的超級馬里奧關卡編輯器,結合一個叫“超級馬里奧制作器”的平臺,建構出了一些特殊關卡。這些關卡硬生生把闖關問題推到了“不可判定”的邊界。不可判定是什么意思?就是在邏輯上,我們不可能寫出一段電腦程序,讓它永遠正確地預測:在這些關卡里,馬里奧到底能不能走到城堡。
我們深入看看這種不可判定性。普通的電腦游戲里,敵人怎么移動、臺階怎么擺放,都是固定的套路。計算機會一步一步模擬馬里奧的動作,遲早能試出有沒有路可達。但如果關卡復雜到一定程度,問題就不再是“能不能算出來”,而是“邏輯上就不存在一個普適的算法”。這就像有人問你:“這句話是假的。”如果這句話是真的,那它說的又是假的;如果它是假的,那它又說對了。沒有任何程序能穩定地給出答案。超級馬里奧的某些關卡就被建造成了這樣一類結構,迫使計算機鉆進邏輯的死循環。
![]()
你可能想說,游戲里不是可以一條條路去試嗎?關鍵在于,這些學生造的關卡里,障礙的排列方式模擬了抽象的數學機器,比如圖靈機的計算過程。圖靈機是計算機的原型概念,可以執行任何形式的計算。如果某個圖靈機會停止,馬里奧就能過關;如果它不會停,馬里奧就永遠走不到終點。而停機問題,就像剛才說的自指語句,已經被證明是不可判定的。學生們極其巧妙地把這種邏輯困境,翻譯成了蘑菇、管道和跳躍的動作。于是,預測馬里奧能否成功,就相當于要解出一個根本解不出的數學謎。
這個發現把游戲和金融安全掛上了鉤。銀行交易加密的根基是大數分解問題,沒人能證明它絕對難倒計算機,可目前也沒有高效的解法。馬里奧闖關問題至少跟它一樣深。也就是說,假如有一天有人找到了破解密碼的方法,也可能會順手解決馬里奧的關卡謎題。反過來,假如我們能證明馬里奧關卡絕對不可判定,那也可能對加密理論帶來更深的理解。二者在數學結構的底層共享著一片黑暗森林。
德梅因回憶起自己的游戲時光說,當年握著任天堂紅白機手柄打水管工時,從沒想過跳躍和踩踏能藏著這么深的數學。更沒預想到,那批學生的作業能在復雜度理論上劃出一條清楚的刻痕。如今,研究團隊還在繼續挖掘各類經典游戲里的計算難度,從俄羅斯方塊到口袋妖怪,都成了理論計算機科學的試驗田。每個關卡就像是給電腦出的一道智力題,有些題有解,有些題可能永遠懸在半空。
最后的懸念還留在那批學生制造的關卡里。它們并沒有超出超級馬里奧的視覺范圍,蘑菇還是那個像素蘑菇,管道還是那個綠色管道,可背后的數學已經漫入了未知領域。也許有一天,有人會設計出新的數學工具來破解它們;也許,就像某些邏輯悖論,會永遠留給水管工一個到不了的城堡。這正是復雜度理論迷人之處:在跳躍和踩扁的童趣背后,藏著一個和世界最嚴謹的計算問題同等硬核的故事。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.