第93章 用遊標卡尺量山
同學,你哪個院系的,這句話一出,C216里所有人的目光都落到了江臨身上。
江臨愣了一下,答道:「我不是數學學院的。」
「那你導師是誰?「顧南舟幾乎是脫口而出,聲音比平時高了半個八度,帶著些許急切。
「陸知行。」江臨沉吟道,「物理學院。」
顧南舟的眉頭微微動了一下,像是在腦子裡龐大的資料庫中翻找這個名字。
他聽過這個名字。
物理樓那邊有個做高穩定測量的青年PI,前陣子組裡好像還出了篇不大不小的成果,在理學部的大樓里傳過一陣。
做的是光路極低頻漂移抑制還是什麼量子精密測量,記不太清了。
叫陸知行。
但也僅止於此。
一個數學學院做離散幾何與非周期鋪砌的副教授,一個物理學院做精密測量實驗的青年研究員,平時八竿子打不著。
同在一所大學,同在兩棟隔著一片人工草坪和幾排行道樹的樓里,卻從沒說過一句話。
在學術這套精密運轉的龐大機器里,他們屬於完全不同的齒輪組,連潤滑油都不通用。
顧南舟連他的電話都沒有。
「你和陸教授現在能聯繫得上嗎?」顧南舟看著江臨。
江臨明白他的意思。
他摸出手機,翻到陸知行的微信,沒有發文字,直接撥了語音電話。
聽筒里響了三聲。
「喂,江臨?」
電話接通了,陸知行的聲音透著點明顯的意外,背景音里隱隱傳來真空泵低沉的轟鳴聲。
這個學生平時極少主動打電話。
在陸知行的印象里,江臨是一個效率高到甚至有些機械的人,有事一般都是微信里幾句話講完,連標點符號都透著一種精確的克制。
「陸老師,我在數學學院C樓這邊,C216討論室。」江臨的聲音沒有一絲波瀾,「有點事,可能需要麻煩您過來一趟。如果方便的話,越快越好。」
電話那頭沉默了一秒。
陸知行認為自己還算了解這個學生。
從上個月解決干涉儀低頻漂移那次起,他就知道江臨這個人,遣詞造句永遠帶著不確定度的考量,永遠把話說在邊界之內,絕不越界,絕不誇大。
這樣一個人,嘴裡能蹦出越快越好四個字,本身就是一種極不尋常的信號。
全網首發更新 海量小說在 TW 看書網,𝙨𝙝𝙪.𝙩𝙬任你讀
可能比普通學生喊實驗室著火了還要緊迫。
「什麼事?」
陸知行的聲音立刻沉了下來,透出導師本能的戒備。
江臨沒有回答,而是把手機遞向了顧南舟。
「顧教授,麻煩您跟陸老師說一說。「
顧南舟接過手機的時候,斟酌了三秒,最後說出口的話,和他給那兩個圈內人發的消息一樣,簡短得像一封加密電報。
「陸老師,我是數學學院的顧南舟,做離散幾何。「他說,「你這邊有個學生,今天下午在我的讀書班上,畫出了一個我不方便在電話里說全的東西,需要你過來。這件事,可能需要你這個做導師的,第一時間在場。「
聽筒那頭又是一陣沉默。
然後是一聲很輕的,像是被噎了一下的吸氣。
「我十分鐘到。「
把手機還給江臨,顧南舟看著他,問了一個他一直憋著的問題。
「能不能說說,你這塊磚,到底是從哪來的?「
這是整件事裡最不合常理的一環。
一個物理學院的學生,為什麼會一頭扎進非周期鋪砌?
這是數學裡最偏最冷,最折磨人的角落之一。
從王浩的王氏磚,到羅傑·彭羅斯那震驚世人的兩塊風箏與飛鏢,再到後來複雜的替代鋪砌系統。
這個領域就像是一個只對瘋子開放的迷宮。
沒有一兩年的離散幾何、符號動力系統和鋪砌理論訓練,一般人連門檻都摸不到。
可這塊磚偏偏被畫出來了。
甚至,連其內部的強迫機制和骨架都已經推演完整。
這中間一定有一條路,一條不從傳統的代數拓撲或幾何群論進來的路。
「排序。「江臨說。
這個詞落下去之後,C216 里安靜了一下。
並非震驚。
而是壓根就沒聽懂。
站在一旁的博士生陳彥下意識地皺起了眉。
作為一個在鋪砌理論里熬了三年,頭髮都稀疏了不少的資深學長,他想過無數種答案。
比如,江臨碰巧看到了某篇極其冷門且尚未發表的arXiv預印本。
比如,國外哪個頂尖課題組,比如劍橋或者普林斯頓的某個幾何群,有未公開的內部講義流出。
比如,江臨背後其實有一位隱居的做離散幾何的老院士指點。
再離譜一點,也可能是他小時候天賦異稟,接觸過Penrose鋪砌的拼圖玩具,自己默默在腦子裡玩了十幾年,碰巧撞大運撞出了一個解。
但排序?
排序算法和一塊能夠以非周期方式鋪滿整個歐幾里得平面的單磚之間,中間隔著的是一座山。
隔行如隔山,的山。
顧南舟也沒有立刻說話。
他看著江臨,像是在確認自己是不是因為過度激動而產生了幻聽。
「排序?」顧南舟確認了一遍。
「嗯。」
江臨沒有多做口頭上的辯解。
他側過身,拉開雙肩包的拉鏈,從裡面拿出一本厚重的黑色硬抄筆記本。
翻到前幾頁,將其平推到顧南舟面前的桌子上。
「準確說,是一個小排序程序。」江臨指著紙面上密密麻麻的符號說。
陳彥終於忍不住開口了,聲音裡帶著一絲顫抖:「排序網絡?」
江臨轉頭看了他一眼,微微點頭:「最開始是排序網絡。」
這四個字一出來,陳彥反倒鬆了一口氣,緊繃的神經略微舒緩。
排序網絡他知道。
在計算機科學和離散數學的交叉領域,這不算陌生。
固定規模的輸入、固定順序的比較器、沒有普通排序算法那種依賴於數據的動態分支預測。
就像是一個硬接線的電路,把亂序的數據扔進去,通過一層層的比較交換,最後輸出必然是有序的。
但他依然不明白。
排序網絡再怎麼考驗組合數學的極值,它也只是計算機科學裡一個用於底層硬體優化的小工具。
它和要求在無限二維平面上、不能出現任何平移對稱性的單磚問題,還是差得太遠了。
一個是有限狀態的線性組合,一個是無限延展的幾何拓撲。
顧南舟低頭看筆記本。
他原本以為自己會看到幾頁用C++或者是Python 的晦澀代碼,或者是一些關於時間複雜度的計算公式。
卻發現自己看到的不是代碼。
至少不只是代碼。
筆記本的第一頁上,江臨用黑色中性筆極其工整地畫了五個圓圈。
裡面分別標著:0,1,2,3,4。
圓圈之間連著一條條交叉的實線和虛線。
旁邊用小字批註著——
比較 0 和 1。
比較 3 和 4。
比較 2 和 4。
該換就換。
不該換就繼續。
顧南舟不懂底層電腦程式的性能優化,但他擁有頂級的數學直覺。
能看懂這根本不是普通意義上的排序。
這更像是一套被極度壓縮的固定拓撲動作。
五個位置,有限的幾步比較器。所有的全排列狀態(5!=120可能)作為輸入,都要被這套不可變通的動作,強行壓迫坍縮成同一個唯一的有序結果。
再翻一頁,圖開始變複雜了。
不再只是五個簡單的圓圈。
而是一張小型的嚴密的狀態轉移圖。
幾十個節點密密麻麻地分布在紙面上。
節點之間連著帶方向的箭頭。
有幾處分支被江臨用紅筆畫了巨大的X號。
旁邊寫著幾行字:狀態合併, 提前剪枝,不能誤殺最優路徑。
顧南舟翻頁的動作慢了下來。
到了第三頁,筆記本上已經很少有代碼或算法邏輯的痕跡了。
有些圖表仍然保留著程序狀態樹的影子,但有些節點和連接線,已經開始發生異變。
它們扭曲摺疊,變成了邊界。
一圈向內凹進去的線段。
一條向外凸出來的齒狀結構。
一個被紅筆叉掉、標明不可匹配的小缺口。
在這一頁的最下方,用極重的筆觸寫著一行英文。
Local rules force global structure.
(局部規則強迫全局結構。)
顧南舟的手指猛地停頓在那一行字上,像被電擊中了一樣。
「我在寫一個工具,暫時叫它微程序搜索器(Micro-Program Searcher, MPS)。」
江臨適時地開口解釋。
「它現在還很笨,算力極其有限,只會在一個被嚴格限定的很小範圍里,把所有可能的底層做法暴力試一遍。」
「比如,我們要找出給五個數排序的最優網絡。它可以把所有候選的比較順序逐個去試,留下那些正確,狀態穩定,沒有破壞缺失值規則,而且在底層指令周期上跑得更快的那一套。」
陳彥聽到這裡,本能地往前跨了半步,打斷道:「這不就是算法領域的窮舉搜索嗎,那這和鋪砌到底有什麼關係?你總不能把數字排著排著,排成了一塊磚吧?」
江臨抬起頭,淡淡地看了他一眼。
「關係不在排序本身。」
「關係在,搜索器為什麼會爆。」
江臨伸手將筆記本翻到了另一頁。
上面寫著——MPS v0.2 核心瓶頸: 哪些狀態可以被合併?
哪些死路可以被提前砍掉?
砍掉之後,怎麼在數學上嚴謹地證明:我沒有誤殺掉真正的解?
江臨修長的手指懸停在紙面上,指著第一行字。
「如果兩個算法狀態,在未來無論面臨什麼樣的輸入,無論怎麼往下走,它們都會面對完全相同的後續選擇空間,那麼它們就應該被歸入同一個等價類。」
手指下移,指向第二行。
「如果某條路徑從當前節點開始,無論未來怎麼修補、怎麼增加比較器,它都不可能超過當前已知的最好結果,那麼這條路徑就是無效的。它應該在第一步就被提前砍掉,不再占用算力。」
最後,手指重重地點在第三行上。
「但這裡有一個問題:當你決定用算法砍掉一類狀態時,你必須在全局給出一個證明,證明它絕對不可能參與到任何合法的最終排序網絡中。」
他說得很平靜。
卻讓顧南舟原本只是震驚的臉龐上,慢慢爬上了一層近乎驚悚的明悟。
因為江臨剛才說的這三句話,如果把主語換一下,換成離散幾何與鋪砌理論的專屬語言,就是另一套令所有數學家渾身發抖的東西。
如果兩個局部邊界未來的延展方式和約束條件等價,它們就可以被歸入同一類超磚。
如果某種局部的拼貼方法,在向外延展一圈時,必然在邊緣產生無法閉合的死角,那麼它就是一個死路。
你必須在局部鄰域和邊界延展上證明——它不可能參與任何合法的、覆蓋全平面的鋪砌。
這不是排序和磚的關係。
這是兩個看似風馬牛不相及的問題,在最底層的抽象邏輯上,共用著同一套骨架。
陳彥也慢慢聽懂了。
他盯著那幾頁筆記,炙熱的目光仿佛要在紙上燒出一個洞來。
「所以你從頭到尾,都不是在找磚。」
「我一開始不是。」江臨坦然承認。
「那你到底在找什麼?」陳彥的聲音近乎呻吟。
「找一種數學語言。」江臨抬起眼眸,目光深邃得像一台沒有感情的精密儀器,「我需要一種語言,能夠清晰地說明,為什麼那些有限的,只存在於局部的微小約束條件,在向外擴展到很大、甚至擴展到無限的尺度時,依然具有絕對的強迫性。」
顧南舟接過話,他的聲音比剛才低沉了許多,仿佛胸腔里壓著一塊巨石。
「所以,順著這個邏輯,你查到了Tiling(鋪砌理論)。」
「嗯。」
「為了解決狀態替代和規模放大的問題,你再查到了Substitution(替代系統)。」
「嗯。」
「最後,你不可避免地撞到了這個領域的終極問題,你查到了 Monotile(非周期單磚問題)。」
「對。」江臨點點頭。
這一刻,邏輯閉環。
顧南舟沒有再問下去,他顫抖著手,把筆記本往回翻。
開始以一種全新的視角,審視這本筆記本上的內容。
明面上,他看見的是一頁頁草圖,實際上,那屬於人類智慧跨越學科鴻溝的實證錄。
最開始,是計算機科學的圓圈和有向箭頭。
中間,是代數結構的等價狀態合併表。
再往後,線條開始扭曲,變成了一塊塊被畫成極其不規則的齒狀邊緣的幾何輪廓。
那些輪廓還很粗糙,帶著強烈的工程學審美的粗暴感。
有些多邊形旁邊,用紅筆寫著:DEAD。
有些形狀相似的區塊旁邊,被圈在一起,標註著:SAME CLASS。
還有一些幾個形狀咬合在一起的組塊,旁邊用驚嘆號標註著:FORCED LARGER BLOCK。
這些絕對不是數學系正統教科書里會使用的正式數學符號。
沒有同調群,沒有流形,沒有代數數論。
但顧南舟已經完全看懂了它們的意思。
死路, 同類, 強迫成更大的塊。
這哪裡是一個數學初學者在畫磚。
這是一個工程師,一個物理學家,試圖把他寫出來的搜索器里龐大而抽象的狀態剪枝邏輯,硬生生地用二維平面的物理邊界給畫出來。
顧南舟猛地抬起頭。
「草稿紙上的那塊十三邊形,就是從這些算法的邊界狀態圖裡,自己長出來的?」
「是。」江臨回答得很篤定。
「它絕對不是你從Penrose(彭羅斯)的風箏與飛鏢鋪砌,或者任何已有的Aperiodic set(非周期集合)里,反推或者修改出來的?」
「不是。」江臨搖了搖頭,語氣裡帶著些許對這種低效方法的否定,「用已有的集合反推,會陷入先入為主的幾何直覺陷阱。而且……」
他頓了一下。
「我今天下午,才第一次系統地看這個問題。」
C216再次陷入了死寂。
這一次,連窗外風吹樹葉的聲音都仿佛被抽乾了。
一個下午。
第一次系統看。
然後,利用算法狀態空間的具象化,畫出了一塊極具潛力的候選單磚。
這句話如果單獨拿到任何一個國際離散幾何的學術會議上聽,都會被當成無藥可救的瘋話。
會被保安直接請出場外。
可現在,桌上的這本黑色筆記本,把這句瘋話變得無比真實,真實到令人毛骨悚然。
因為顧南舟和陳彥,親眼看見了那條路。
它不是從單磚問題本身出發的。
它從五個數字的排序出發。
從一個在底層硬體里,每秒鐘會被調用幾千萬次的小動作出發。
從算法狀態的指數級爆炸出發。
從如何提前砍掉死路,並用絕對的嚴謹證明自己沒有砍錯出發。
一路橫衝直撞,硬生生地撞到了局部規則如何強迫全局結構這個純數學的南牆上,並且在牆上砸出了一個大洞。
顧南舟又翻到了夾在筆記本中間的那張大號方格紙。
那是江臨做的局部鄰域表。
表格里的幾列,簡直和江臨剛才說的MPSv0.2算法目標形成了完美的鏡像對稱。
Local Patch(局部拼塊)——對應算法里的當前狀態(State)。
Valid(是否合法)——對應正確性判定(Validity check)。
Forced Metatile(強迫歸屬的超磚)——對應狀態合併(State Merging)。
Dead End(死胡同)——對應算法剪枝(Pruning)。
顧南舟忽然覺得,這背後的意義,比一個研究了三十年鋪砌的數學老專家,在靈光乍現中苦思冥想終於解出來這個答案,更讓人感到頭皮發麻。
這個學生根本不是衝著解決愛因斯坦問題來的。
他沒有那種純粹數學家對幾何對稱性和美感的病態追求。
他是被一個完全不同領域的工程瓶頸給逼到了絕境,為了突圍,被逼到了同一個數學結構面前,最終硬是用暴力卻精妙的手段,把全局的無限信息,死死地摺疊壓縮進了一塊小小的局部規則里。
在排序網絡里,這種做法是把全局的排序正確性,巧妙地藏進一串局部的兩兩比較交換的動作中。
在離散鋪砌里,這種做法是把無限平面的非周期性,硬生生地刻進一塊磚的那幾道凹凸不平的幾何邊界裡。
底層邏輯,是完全同一件事。
而一雙從來沒有被傳統鋪砌理論訓練過,因此也從來沒有被它的成見,它的公理,它歷史上的失敗案例所束縛過的眼睛,從學科的側門,以一種最不講理的方式,撞了進來。
這反而比一個在這個領域裡泡了二十年的專家解出來,更讓顧南舟感到一種直擊靈魂的驚嘆。
半響,他心血來潮地問道:「你這套搜索器,能不能拿出來看看?」
這句話一出口,旁邊幾個學生都抬起了頭。
江臨點頭:「可以,都在我的電腦里。不過現在的版本還很弱,沒有經過大規模集群的並行化處理,只能處理很小規模的問題。」
「弱不弱另說,我現在更想知道,你到底是怎麼把一個小問題,壓成一套可以遷移的方法的。」
……
九分鐘後,C216的門被猛地推開。
由於用力過大,門板狠狠地撞在牆上的限位器上,發出一聲悶響。
陸知行幾乎是衝進來的。
他身上還穿著物理實驗室里那種灰色的防靜電工作服,甚至連口袋裡的雷射護目鏡都沒來得及掏出來。
額角上掛著一層薄薄的汗水,呼吸粗重。
進門第一眼就是找江臨。
確認這個學生好端端地站在那兒,緊繃的神色才稍稍放鬆了一點。
之後才迅速調整狀態,將目光落到了那個滿臉複雜情緒的中年人身上。
他快步上前,伸出手。
「顧教授,你好,我是物理學院的陸知行。」
「陸教授你好。」顧南舟握住他的手,力度很大,大到讓陸知行感到詫異。
打過招呼之後,顧南舟沒有任何寒暄,也沒有半句客套。
他直奔主題,毫不遲疑也不含糊地,將剛才這半個小時內發生的事情的來龍去脈,像倒豆子一樣說了一遍。
從江臨在黑板上糾正拓撲錯誤,到拋出排序網絡的概念,再到用算法剪枝邏輯推導邊界。
每說一句,陸知行的眉頭就跳動一下。
說完之後,顧南舟將那張剛剛被他像保護絕密文件一樣收進文件夾里的 A4 紙,又重新抽了出來,小心翼翼地攤開,放到陸知行的面前。
紙上畫著一個線條生硬,毫無美感可言的怪異十三邊形。
它看上去就像是被人粗暴地壓扁,然後又用力擰了一把的產物。
在旁邊,是那張摺疊的方格紙。
幾十種頂點鄰域的拼接可能,合法性(Validity)、強迫歸屬(Forced Rules)、死亡條件(Dead End Conditions),被江臨用極度理性的筆觸,列得整整齊齊。
陸知行看不懂這塊磚。
至少第一眼,從數學專業的角度,他完全看不懂。
高穩定光測量,法布里-珀羅干涉儀的光路漂移,高真空環境下的機械應力遲滯,極低溫條件下的熱循環噪聲……
這些東西他熟得不能再熟,閉著眼睛都能寫出誤差微分方程。
但是,離散幾何、替代系統、局部匹配規則、非周期鋪砌……
這不是他的領域,連公式符號看起來都像天書。
可是,他看不懂磚,卻看得懂顧南舟的表情。
眼前這個男人,是一個在一線高校里拿到長聘教職的數學副教授。
這種在純數學領域裡熬出來的人,骨子裡都帶著一種對邏輯的極致傲慢。
這樣的人,絕對不會因為一個外系學生隨手在紙上畫了個奇形怪狀的多邊形,就把人火急火燎地從物理樓叫過來。
更不會在電話里,用那種仿佛在處理某種極度危險的爆炸物的措辭,嚴肅地說你這個做導師的,最好第一時間在場。
那是發現了一座未被開採的金礦,生怕被別人搶走,又生怕金礦自己塌了的眼神。
陸知行張了張嘴。
他當然知道自己這個掛名弟子很厲害。
卻萬萬想不到,這個在工程物理領域很厲害的學生,還能將自己的方法論原封不動地搬到了一個他完全陌生,甚至連很多數學家都望而卻步的純基礎理論領域。
用來切分一塊磚。
而且極可能就是那塊所有人都在找,卻沒人能真正找出來的磚。
如果證實,它就是那個被數學界找了半個世紀的一塊磚。
陸知行又看了看旁邊神色平淡到仿佛只是做完了一道課後習題的江臨。
自己過去對這個學生的所有評價和判斷,還是過於低估了。
自己可能僅僅看到了他龐大體系在某一個特定維度上的局部投影。
物理直覺極好。
工程基本功紮實得離譜。
對誤差鏈和系統冗餘的嗅覺敏銳到了極點。
這些詞彙本身在這個學生身上都得到了完美的印證。
但現在看來,它們太小了。
格局太小了。
這就好像一個人拿到了這個世界上最鋒利的切削刀具,物理學院以為他只是個頂級的鉗工,能切出最平整的零件。
但實際上,這把刀具在切削物理參數的時候,和它切削計算機算法狀態,切削純數學拓撲空間的時候,根本沒有任何區別。
萬物在他的眼裡,都是可以被有限狀態壓縮和誤差鏈逼近的幾何結構。
陸知行長長地呼出一口氣。
過去以為自己在幫忙培養一個未來的實驗物理學家。
但現在他意識到,這簡直就像是拿了一把遊標卡尺,去試圖量測一座連綿不絕的巨大山脈的陰影。
「顧教授。」陸知行抬起頭,眼神已經恢復了一個PI該有的果決和護短,「既然我到了,那麼現在我們可以談談,關於這塊磚的驗證進度,以及保密和署名問題了。」
江臨愣了一下,答道:「我不是數學學院的。」
「那你導師是誰?「顧南舟幾乎是脫口而出,聲音比平時高了半個八度,帶著些許急切。
「陸知行。」江臨沉吟道,「物理學院。」
顧南舟的眉頭微微動了一下,像是在腦子裡龐大的資料庫中翻找這個名字。
他聽過這個名字。
物理樓那邊有個做高穩定測量的青年PI,前陣子組裡好像還出了篇不大不小的成果,在理學部的大樓里傳過一陣。
做的是光路極低頻漂移抑制還是什麼量子精密測量,記不太清了。
叫陸知行。
但也僅止於此。
一個數學學院做離散幾何與非周期鋪砌的副教授,一個物理學院做精密測量實驗的青年研究員,平時八竿子打不著。
同在一所大學,同在兩棟隔著一片人工草坪和幾排行道樹的樓里,卻從沒說過一句話。
在學術這套精密運轉的龐大機器里,他們屬於完全不同的齒輪組,連潤滑油都不通用。
顧南舟連他的電話都沒有。
「你和陸教授現在能聯繫得上嗎?」顧南舟看著江臨。
江臨明白他的意思。
他摸出手機,翻到陸知行的微信,沒有發文字,直接撥了語音電話。
聽筒里響了三聲。
「喂,江臨?」
電話接通了,陸知行的聲音透著點明顯的意外,背景音里隱隱傳來真空泵低沉的轟鳴聲。
這個學生平時極少主動打電話。
在陸知行的印象里,江臨是一個效率高到甚至有些機械的人,有事一般都是微信里幾句話講完,連標點符號都透著一種精確的克制。
「陸老師,我在數學學院C樓這邊,C216討論室。」江臨的聲音沒有一絲波瀾,「有點事,可能需要麻煩您過來一趟。如果方便的話,越快越好。」
電話那頭沉默了一秒。
陸知行認為自己還算了解這個學生。
從上個月解決干涉儀低頻漂移那次起,他就知道江臨這個人,遣詞造句永遠帶著不確定度的考量,永遠把話說在邊界之內,絕不越界,絕不誇大。
這樣一個人,嘴裡能蹦出越快越好四個字,本身就是一種極不尋常的信號。
全網首發更新 海量小說在 TW 看書網,𝙨𝙝𝙪.𝙩𝙬任你讀
可能比普通學生喊實驗室著火了還要緊迫。
「什麼事?」
陸知行的聲音立刻沉了下來,透出導師本能的戒備。
江臨沒有回答,而是把手機遞向了顧南舟。
「顧教授,麻煩您跟陸老師說一說。「
顧南舟接過手機的時候,斟酌了三秒,最後說出口的話,和他給那兩個圈內人發的消息一樣,簡短得像一封加密電報。
「陸老師,我是數學學院的顧南舟,做離散幾何。「他說,「你這邊有個學生,今天下午在我的讀書班上,畫出了一個我不方便在電話里說全的東西,需要你過來。這件事,可能需要你這個做導師的,第一時間在場。「
聽筒那頭又是一陣沉默。
然後是一聲很輕的,像是被噎了一下的吸氣。
「我十分鐘到。「
把手機還給江臨,顧南舟看著他,問了一個他一直憋著的問題。
「能不能說說,你這塊磚,到底是從哪來的?「
這是整件事裡最不合常理的一環。
一個物理學院的學生,為什麼會一頭扎進非周期鋪砌?
這是數學裡最偏最冷,最折磨人的角落之一。
從王浩的王氏磚,到羅傑·彭羅斯那震驚世人的兩塊風箏與飛鏢,再到後來複雜的替代鋪砌系統。
這個領域就像是一個只對瘋子開放的迷宮。
沒有一兩年的離散幾何、符號動力系統和鋪砌理論訓練,一般人連門檻都摸不到。
可這塊磚偏偏被畫出來了。
甚至,連其內部的強迫機制和骨架都已經推演完整。
這中間一定有一條路,一條不從傳統的代數拓撲或幾何群論進來的路。
「排序。「江臨說。
這個詞落下去之後,C216 里安靜了一下。
並非震驚。
而是壓根就沒聽懂。
站在一旁的博士生陳彥下意識地皺起了眉。
作為一個在鋪砌理論里熬了三年,頭髮都稀疏了不少的資深學長,他想過無數種答案。
比如,江臨碰巧看到了某篇極其冷門且尚未發表的arXiv預印本。
比如,國外哪個頂尖課題組,比如劍橋或者普林斯頓的某個幾何群,有未公開的內部講義流出。
比如,江臨背後其實有一位隱居的做離散幾何的老院士指點。
再離譜一點,也可能是他小時候天賦異稟,接觸過Penrose鋪砌的拼圖玩具,自己默默在腦子裡玩了十幾年,碰巧撞大運撞出了一個解。
但排序?
排序算法和一塊能夠以非周期方式鋪滿整個歐幾里得平面的單磚之間,中間隔著的是一座山。
隔行如隔山,的山。
顧南舟也沒有立刻說話。
他看著江臨,像是在確認自己是不是因為過度激動而產生了幻聽。
「排序?」顧南舟確認了一遍。
「嗯。」
江臨沒有多做口頭上的辯解。
他側過身,拉開雙肩包的拉鏈,從裡面拿出一本厚重的黑色硬抄筆記本。
翻到前幾頁,將其平推到顧南舟面前的桌子上。
「準確說,是一個小排序程序。」江臨指著紙面上密密麻麻的符號說。
陳彥終於忍不住開口了,聲音裡帶著一絲顫抖:「排序網絡?」
江臨轉頭看了他一眼,微微點頭:「最開始是排序網絡。」
這四個字一出來,陳彥反倒鬆了一口氣,緊繃的神經略微舒緩。
排序網絡他知道。
在計算機科學和離散數學的交叉領域,這不算陌生。
固定規模的輸入、固定順序的比較器、沒有普通排序算法那種依賴於數據的動態分支預測。
就像是一個硬接線的電路,把亂序的數據扔進去,通過一層層的比較交換,最後輸出必然是有序的。
但他依然不明白。
排序網絡再怎麼考驗組合數學的極值,它也只是計算機科學裡一個用於底層硬體優化的小工具。
它和要求在無限二維平面上、不能出現任何平移對稱性的單磚問題,還是差得太遠了。
一個是有限狀態的線性組合,一個是無限延展的幾何拓撲。
顧南舟低頭看筆記本。
他原本以為自己會看到幾頁用C++或者是Python 的晦澀代碼,或者是一些關於時間複雜度的計算公式。
卻發現自己看到的不是代碼。
至少不只是代碼。
筆記本的第一頁上,江臨用黑色中性筆極其工整地畫了五個圓圈。
裡面分別標著:0,1,2,3,4。
圓圈之間連著一條條交叉的實線和虛線。
旁邊用小字批註著——
比較 0 和 1。
比較 3 和 4。
比較 2 和 4。
該換就換。
不該換就繼續。
顧南舟不懂底層電腦程式的性能優化,但他擁有頂級的數學直覺。
能看懂這根本不是普通意義上的排序。
這更像是一套被極度壓縮的固定拓撲動作。
五個位置,有限的幾步比較器。所有的全排列狀態(5!=120可能)作為輸入,都要被這套不可變通的動作,強行壓迫坍縮成同一個唯一的有序結果。
再翻一頁,圖開始變複雜了。
不再只是五個簡單的圓圈。
而是一張小型的嚴密的狀態轉移圖。
幾十個節點密密麻麻地分布在紙面上。
節點之間連著帶方向的箭頭。
有幾處分支被江臨用紅筆畫了巨大的X號。
旁邊寫著幾行字:狀態合併, 提前剪枝,不能誤殺最優路徑。
顧南舟翻頁的動作慢了下來。
到了第三頁,筆記本上已經很少有代碼或算法邏輯的痕跡了。
有些圖表仍然保留著程序狀態樹的影子,但有些節點和連接線,已經開始發生異變。
它們扭曲摺疊,變成了邊界。
一圈向內凹進去的線段。
一條向外凸出來的齒狀結構。
一個被紅筆叉掉、標明不可匹配的小缺口。
在這一頁的最下方,用極重的筆觸寫著一行英文。
Local rules force global structure.
(局部規則強迫全局結構。)
顧南舟的手指猛地停頓在那一行字上,像被電擊中了一樣。
「我在寫一個工具,暫時叫它微程序搜索器(Micro-Program Searcher, MPS)。」
江臨適時地開口解釋。
「它現在還很笨,算力極其有限,只會在一個被嚴格限定的很小範圍里,把所有可能的底層做法暴力試一遍。」
「比如,我們要找出給五個數排序的最優網絡。它可以把所有候選的比較順序逐個去試,留下那些正確,狀態穩定,沒有破壞缺失值規則,而且在底層指令周期上跑得更快的那一套。」
陳彥聽到這裡,本能地往前跨了半步,打斷道:「這不就是算法領域的窮舉搜索嗎,那這和鋪砌到底有什麼關係?你總不能把數字排著排著,排成了一塊磚吧?」
江臨抬起頭,淡淡地看了他一眼。
「關係不在排序本身。」
「關係在,搜索器為什麼會爆。」
江臨伸手將筆記本翻到了另一頁。
上面寫著——MPS v0.2 核心瓶頸: 哪些狀態可以被合併?
哪些死路可以被提前砍掉?
砍掉之後,怎麼在數學上嚴謹地證明:我沒有誤殺掉真正的解?
江臨修長的手指懸停在紙面上,指著第一行字。
「如果兩個算法狀態,在未來無論面臨什麼樣的輸入,無論怎麼往下走,它們都會面對完全相同的後續選擇空間,那麼它們就應該被歸入同一個等價類。」
手指下移,指向第二行。
「如果某條路徑從當前節點開始,無論未來怎麼修補、怎麼增加比較器,它都不可能超過當前已知的最好結果,那麼這條路徑就是無效的。它應該在第一步就被提前砍掉,不再占用算力。」
最後,手指重重地點在第三行上。
「但這裡有一個問題:當你決定用算法砍掉一類狀態時,你必須在全局給出一個證明,證明它絕對不可能參與到任何合法的最終排序網絡中。」
他說得很平靜。
卻讓顧南舟原本只是震驚的臉龐上,慢慢爬上了一層近乎驚悚的明悟。
因為江臨剛才說的這三句話,如果把主語換一下,換成離散幾何與鋪砌理論的專屬語言,就是另一套令所有數學家渾身發抖的東西。
如果兩個局部邊界未來的延展方式和約束條件等價,它們就可以被歸入同一類超磚。
如果某種局部的拼貼方法,在向外延展一圈時,必然在邊緣產生無法閉合的死角,那麼它就是一個死路。
你必須在局部鄰域和邊界延展上證明——它不可能參與任何合法的、覆蓋全平面的鋪砌。
這不是排序和磚的關係。
這是兩個看似風馬牛不相及的問題,在最底層的抽象邏輯上,共用著同一套骨架。
陳彥也慢慢聽懂了。
他盯著那幾頁筆記,炙熱的目光仿佛要在紙上燒出一個洞來。
「所以你從頭到尾,都不是在找磚。」
「我一開始不是。」江臨坦然承認。
「那你到底在找什麼?」陳彥的聲音近乎呻吟。
「找一種數學語言。」江臨抬起眼眸,目光深邃得像一台沒有感情的精密儀器,「我需要一種語言,能夠清晰地說明,為什麼那些有限的,只存在於局部的微小約束條件,在向外擴展到很大、甚至擴展到無限的尺度時,依然具有絕對的強迫性。」
顧南舟接過話,他的聲音比剛才低沉了許多,仿佛胸腔里壓著一塊巨石。
「所以,順著這個邏輯,你查到了Tiling(鋪砌理論)。」
「嗯。」
「為了解決狀態替代和規模放大的問題,你再查到了Substitution(替代系統)。」
「嗯。」
「最後,你不可避免地撞到了這個領域的終極問題,你查到了 Monotile(非周期單磚問題)。」
「對。」江臨點點頭。
這一刻,邏輯閉環。
顧南舟沒有再問下去,他顫抖著手,把筆記本往回翻。
開始以一種全新的視角,審視這本筆記本上的內容。
明面上,他看見的是一頁頁草圖,實際上,那屬於人類智慧跨越學科鴻溝的實證錄。
最開始,是計算機科學的圓圈和有向箭頭。
中間,是代數結構的等價狀態合併表。
再往後,線條開始扭曲,變成了一塊塊被畫成極其不規則的齒狀邊緣的幾何輪廓。
那些輪廓還很粗糙,帶著強烈的工程學審美的粗暴感。
有些多邊形旁邊,用紅筆寫著:DEAD。
有些形狀相似的區塊旁邊,被圈在一起,標註著:SAME CLASS。
還有一些幾個形狀咬合在一起的組塊,旁邊用驚嘆號標註著:FORCED LARGER BLOCK。
這些絕對不是數學系正統教科書里會使用的正式數學符號。
沒有同調群,沒有流形,沒有代數數論。
但顧南舟已經完全看懂了它們的意思。
死路, 同類, 強迫成更大的塊。
這哪裡是一個數學初學者在畫磚。
這是一個工程師,一個物理學家,試圖把他寫出來的搜索器里龐大而抽象的狀態剪枝邏輯,硬生生地用二維平面的物理邊界給畫出來。
顧南舟猛地抬起頭。
「草稿紙上的那塊十三邊形,就是從這些算法的邊界狀態圖裡,自己長出來的?」
「是。」江臨回答得很篤定。
「它絕對不是你從Penrose(彭羅斯)的風箏與飛鏢鋪砌,或者任何已有的Aperiodic set(非周期集合)里,反推或者修改出來的?」
「不是。」江臨搖了搖頭,語氣裡帶著些許對這種低效方法的否定,「用已有的集合反推,會陷入先入為主的幾何直覺陷阱。而且……」
他頓了一下。
「我今天下午,才第一次系統地看這個問題。」
C216再次陷入了死寂。
這一次,連窗外風吹樹葉的聲音都仿佛被抽乾了。
一個下午。
第一次系統看。
然後,利用算法狀態空間的具象化,畫出了一塊極具潛力的候選單磚。
這句話如果單獨拿到任何一個國際離散幾何的學術會議上聽,都會被當成無藥可救的瘋話。
會被保安直接請出場外。
可現在,桌上的這本黑色筆記本,把這句瘋話變得無比真實,真實到令人毛骨悚然。
因為顧南舟和陳彥,親眼看見了那條路。
它不是從單磚問題本身出發的。
它從五個數字的排序出發。
從一個在底層硬體里,每秒鐘會被調用幾千萬次的小動作出發。
從算法狀態的指數級爆炸出發。
從如何提前砍掉死路,並用絕對的嚴謹證明自己沒有砍錯出發。
一路橫衝直撞,硬生生地撞到了局部規則如何強迫全局結構這個純數學的南牆上,並且在牆上砸出了一個大洞。
顧南舟又翻到了夾在筆記本中間的那張大號方格紙。
那是江臨做的局部鄰域表。
表格里的幾列,簡直和江臨剛才說的MPSv0.2算法目標形成了完美的鏡像對稱。
Local Patch(局部拼塊)——對應算法里的當前狀態(State)。
Valid(是否合法)——對應正確性判定(Validity check)。
Forced Metatile(強迫歸屬的超磚)——對應狀態合併(State Merging)。
Dead End(死胡同)——對應算法剪枝(Pruning)。
顧南舟忽然覺得,這背後的意義,比一個研究了三十年鋪砌的數學老專家,在靈光乍現中苦思冥想終於解出來這個答案,更讓人感到頭皮發麻。
這個學生根本不是衝著解決愛因斯坦問題來的。
他沒有那種純粹數學家對幾何對稱性和美感的病態追求。
他是被一個完全不同領域的工程瓶頸給逼到了絕境,為了突圍,被逼到了同一個數學結構面前,最終硬是用暴力卻精妙的手段,把全局的無限信息,死死地摺疊壓縮進了一塊小小的局部規則里。
在排序網絡里,這種做法是把全局的排序正確性,巧妙地藏進一串局部的兩兩比較交換的動作中。
在離散鋪砌里,這種做法是把無限平面的非周期性,硬生生地刻進一塊磚的那幾道凹凸不平的幾何邊界裡。
底層邏輯,是完全同一件事。
而一雙從來沒有被傳統鋪砌理論訓練過,因此也從來沒有被它的成見,它的公理,它歷史上的失敗案例所束縛過的眼睛,從學科的側門,以一種最不講理的方式,撞了進來。
這反而比一個在這個領域裡泡了二十年的專家解出來,更讓顧南舟感到一種直擊靈魂的驚嘆。
半響,他心血來潮地問道:「你這套搜索器,能不能拿出來看看?」
這句話一出口,旁邊幾個學生都抬起了頭。
江臨點頭:「可以,都在我的電腦里。不過現在的版本還很弱,沒有經過大規模集群的並行化處理,只能處理很小規模的問題。」
「弱不弱另說,我現在更想知道,你到底是怎麼把一個小問題,壓成一套可以遷移的方法的。」
……
九分鐘後,C216的門被猛地推開。
由於用力過大,門板狠狠地撞在牆上的限位器上,發出一聲悶響。
陸知行幾乎是衝進來的。
他身上還穿著物理實驗室里那種灰色的防靜電工作服,甚至連口袋裡的雷射護目鏡都沒來得及掏出來。
額角上掛著一層薄薄的汗水,呼吸粗重。
進門第一眼就是找江臨。
確認這個學生好端端地站在那兒,緊繃的神色才稍稍放鬆了一點。
之後才迅速調整狀態,將目光落到了那個滿臉複雜情緒的中年人身上。
他快步上前,伸出手。
「顧教授,你好,我是物理學院的陸知行。」
「陸教授你好。」顧南舟握住他的手,力度很大,大到讓陸知行感到詫異。
打過招呼之後,顧南舟沒有任何寒暄,也沒有半句客套。
他直奔主題,毫不遲疑也不含糊地,將剛才這半個小時內發生的事情的來龍去脈,像倒豆子一樣說了一遍。
從江臨在黑板上糾正拓撲錯誤,到拋出排序網絡的概念,再到用算法剪枝邏輯推導邊界。
每說一句,陸知行的眉頭就跳動一下。
說完之後,顧南舟將那張剛剛被他像保護絕密文件一樣收進文件夾里的 A4 紙,又重新抽了出來,小心翼翼地攤開,放到陸知行的面前。
紙上畫著一個線條生硬,毫無美感可言的怪異十三邊形。
它看上去就像是被人粗暴地壓扁,然後又用力擰了一把的產物。
在旁邊,是那張摺疊的方格紙。
幾十種頂點鄰域的拼接可能,合法性(Validity)、強迫歸屬(Forced Rules)、死亡條件(Dead End Conditions),被江臨用極度理性的筆觸,列得整整齊齊。
陸知行看不懂這塊磚。
至少第一眼,從數學專業的角度,他完全看不懂。
高穩定光測量,法布里-珀羅干涉儀的光路漂移,高真空環境下的機械應力遲滯,極低溫條件下的熱循環噪聲……
這些東西他熟得不能再熟,閉著眼睛都能寫出誤差微分方程。
但是,離散幾何、替代系統、局部匹配規則、非周期鋪砌……
這不是他的領域,連公式符號看起來都像天書。
可是,他看不懂磚,卻看得懂顧南舟的表情。
眼前這個男人,是一個在一線高校里拿到長聘教職的數學副教授。
這種在純數學領域裡熬出來的人,骨子裡都帶著一種對邏輯的極致傲慢。
這樣的人,絕對不會因為一個外系學生隨手在紙上畫了個奇形怪狀的多邊形,就把人火急火燎地從物理樓叫過來。
更不會在電話里,用那種仿佛在處理某種極度危險的爆炸物的措辭,嚴肅地說你這個做導師的,最好第一時間在場。
那是發現了一座未被開採的金礦,生怕被別人搶走,又生怕金礦自己塌了的眼神。
陸知行張了張嘴。
他當然知道自己這個掛名弟子很厲害。
卻萬萬想不到,這個在工程物理領域很厲害的學生,還能將自己的方法論原封不動地搬到了一個他完全陌生,甚至連很多數學家都望而卻步的純基礎理論領域。
用來切分一塊磚。
而且極可能就是那塊所有人都在找,卻沒人能真正找出來的磚。
如果證實,它就是那個被數學界找了半個世紀的一塊磚。
陸知行又看了看旁邊神色平淡到仿佛只是做完了一道課後習題的江臨。
自己過去對這個學生的所有評價和判斷,還是過於低估了。
自己可能僅僅看到了他龐大體系在某一個特定維度上的局部投影。
物理直覺極好。
工程基本功紮實得離譜。
對誤差鏈和系統冗餘的嗅覺敏銳到了極點。
這些詞彙本身在這個學生身上都得到了完美的印證。
但現在看來,它們太小了。
格局太小了。
這就好像一個人拿到了這個世界上最鋒利的切削刀具,物理學院以為他只是個頂級的鉗工,能切出最平整的零件。
但實際上,這把刀具在切削物理參數的時候,和它切削計算機算法狀態,切削純數學拓撲空間的時候,根本沒有任何區別。
萬物在他的眼裡,都是可以被有限狀態壓縮和誤差鏈逼近的幾何結構。
陸知行長長地呼出一口氣。
過去以為自己在幫忙培養一個未來的實驗物理學家。
但現在他意識到,這簡直就像是拿了一把遊標卡尺,去試圖量測一座連綿不絕的巨大山脈的陰影。
「顧教授。」陸知行抬起頭,眼神已經恢復了一個PI該有的果決和護短,「既然我到了,那麼現在我們可以談談,關於這塊磚的驗證進度,以及保密和署名問題了。」