第一百零八章 世界的大門

投票推薦 加入書籤 小說報錯

  第108章 世界的大門

  這一次的題目是彭老師出的。

  他在考試開始前說了一段話:「這次測評的三道題,沒有一道是IMO題庫里的。每一道都是我根據你們這幾個月在集訓隊裡討論過、碰撞過、卡住過的問題,重新設計的。你們不是在答標準答案,你們是在和我對話。」

  試捲髮下來。

  第一道是代數,關於群作用下的不變量的一個不等式,條件給得很開放,留了好幾條可能的證明路徑。

  第二道是組合幾何,涉及一個動態點集的劃分問題,題乾的最後有一行括號里的字:「(提示:可以考慮提升維度。)」

  陸沉看到那行字的時候,手指在桌上輕輕叩了一下。

  彭老師把他三維凸包構造的思想,變成了一道競賽題。

  第三道是數論,關於二次域中一個特殊序列的分布問題,題干末尾標註了「本題受周堯同學數論筆記啟發」。

  陸沉看到周堯那兩個字的時候,手裡的筆停了一瞬。

  然後他低下頭,開始寫。

  四個小時後交卷。

  陸沉三道題全寫完了,第二題他用了三維提升的方法,步驟比標準解法縮短了將近一半。

  寫完之後他在證明末尾加了一行附註:「此方法可推廣至任意有限點集的k維剖分問題。」

  這是他留給彭老師的對話。

  交卷的時候,他看到陳志遠的試卷上第二題也用了三維提升。

  陳志遠的字還是那麼用力,三維凸包的示意圖畫得方方正正,像一個微縮的建築模型。

  走出活動室的時候,四月的陽光從走廊的窗戶照進來,暖洋洋地鋪在地面上。

  窗外的槐樹已經長出了滿樹的新葉,嫩綠色的,在風裡輕輕搖晃。

  操場上有人在踢球,喊叫聲和足球砸在泥地上的悶響交替傳來。

  陸沉站在窗邊,看見何巍正蹲在操場邊的台階上,手裡拿著那疊草稿紙。

  他現在不是在想那個框架,是在把那個框架寫成一篇完整的論文。

  測評一結束,他就蹲到操場邊上繼續寫。

  王雪松從後面走過來,手裡端著一個搪瓷缸子,缸子裡泡著茶。

  他在陸沉旁邊站定,也看著操場上何巍的背影。

  「他那個框架如果能發表,會是組合數學一個挺重要的進展。」王雪松說。

  【寫到這裡我希望讀者記一下我們域名 TW 看書網體驗佳,𝘴𝘩𝘶.𝘵𝘸輕鬆讀 】

  「會的。」陸沉說。

  王雪松喝了一口茶。

  「你那個三維凸包構造,彭老師把它出成題了。」

  「看到了。」

  「被出成題,說明這個方法是可推廣、可教學的,它從一個陸沉想到的技巧,變成了一種可以被學會的方法。」王雪松把搪瓷缸子放在窗台上,「後者比前者重要得多,技巧只有一個人會,方法是所有人都會。」

  陸沉看著王雪松。

  這個上海少年說話的方式永遠帶著一種工程師式的精確。

  他把重要和更重要分得清清楚楚,把一個人和所有人的權重算得明明白白。

  但正是這種精確,讓他的稱讚有了重量。

  「你那道題做了多久?」王雪松問。

  「一小時多一點。」

  「我用了兩個小時。三維提升那一步我想偏了,一開始往球面投影的方向走了,繞了一大圈才發現平面提升到柱面就夠了。

  19

  王雪松搖了搖頭,「不過繞的那一圈也不白繞,球面投影的思路在處理球面點集的時候應該能用上。」

  他端著搪瓷缸子往閱覽室走去,走了幾步又回頭。

  「你那個方法推廣到k維的附註我看到了,等我寫完球面投影的筆記,跟你交換。」

  晚自習的時候,陸沉把第三次測評的三道題從頭復盤了一遍。

  第二題的三維提升已經驗證過了,他重點看了第一題和第三題。

  第一題的代數不等式,他用的是特徵標正交關係的路子,寫完之後他忽然想到,何巍那個群表示論的框架里有一個引理,正好可以用來給這道題一個更簡潔的證明。

  他把何巍框架中那個引理的核心結構畫在便簽本上,然後把它嫁接到的第一題上一推導步驟從原來的七步縮減到了四步。

  第三題,周堯的數論筆記。

  題干里那個二次域特殊序列的分布問題,本質上是對周堯那個圖論方法的一個應用變體。

  彭老師把周堯的思路從二次剩餘推廣到了更一般的代數整數環里的素理想分解,然後用一個具體序列的分布問題來考察這種推廣。

  陸沉在做這道題的時候,用到的核心構造正是周堯筆記本第一頁那個把數論問題轉化為圖論問題的思想,只是圖的結構從原來的奇偶圈變成了更複雜的有向多重圖。

  他把這道題的證明重新整理了一遍,在證明開頭加了一行字:「本題的核心構造源於周堯《數論雜記》第一頁的方法。以下證明是該方法在二次域上的一個自然推廣。」

  然後他把這份整理好的證明裝進信封,寄往四川那個小縣城。

  信寄出去的那天是五月三號。

  距離IMO還有兩個多月。

  五月的BJ,槐花開了。

  集訓隊駐地院子裡那幾棵老槐樹,一夜之間掛滿了白中帶綠的花串,香氣從窗戶縫裡鑽進來,把閱覽室里的油墨味和草稿紙味都壓下去幾分。

  顧小北每天早上洗漱的時候都要在槐樹底下站一會兒,仰著頭深吸幾口氣,然後說一句「今天又能多做一道題」。

  陳志遠說她這是把槐花當汽油使,顧小北沒反駁。

  傳達室的信件還在增加。

  方宜民已經放棄了用橡皮筋分捆,從食堂借了一個裝白菜的竹筐,信件來了就往裡扔,誰的信誰自己翻。

  竹筐放在活動室門口,每天早晚各被翻兩次,翻信的聲音嘩啦嘩啦的,像秋天掃落葉。

  林楓突然來信,他在信里說他爸托人從深圳帶回來一樣東西,一個巴掌大的黑色方塊,上面有個小屏幕,叫電子詞典。

  能查英文單詞,他第一次用的時候查了algorithm這個詞,機器告訴他意思是算法,他站在那兒愣了半分鐘,不是說機器有多聰明,是覺得,這個時代真的來了。

  他還說長春的機房換了一批新機器,顯示器從綠光的換成了一種叫VGA的東西,能顯示十六種顏色,他用十六種顏色畫了一個排序過程的動態圖,機房老師站在他身後看了十分鐘,然後問他能不能把這個程序留下來當教學演示。

  陸沉把信放進口袋裡。

  他想起林楓在莫斯科算法模塊結束以後說的那句話—「我回去就把三千頁習題刷完。」

  當時他以為那是一句豪言壯語。

  現在他知道那不是豪言壯語,那是一份已經執行了將近半年的計劃書。

  五月第二周,集訓隊來了一位不速之客。

  那天下午隊員們正在活動室里做彭老師發的組合題,方宜民推門進來,身後跟著一個穿灰色西裝的中年男人。

  中年男人的西裝料子很好,但在五月的BJ已經顯得有些厚了,領口微微洇著汗漬。

  他手裡提著一個黑色的皮質公文包,包上印著一行銀色的小字一中國計算機發展公司。

  「這位是鄒工,中關村的。」方宜民介紹得很簡短,但中關村三個字讓活動室里一半以上的人抬起了頭。

  1989年的中關村還不是後來的中國矽谷,但電子一條街的名聲已經傳開了一長城、

  聯想、四通,這些名字都是從那條街上的灰磚樓里長出來的。

  鄒工把公文包放在講台上,打開,從裡面拿出一樣東西。

  不是文件,是一台筆記本電腦。

  黑色的,大概一本《辭海》縮印本那麼大,屏幕合著,外殼上有一個紅綠藍三色組成的標誌。

  他把屏幕掀開,按了一下側面的一個按鈕,機器發出一聲輕微的蜂鳴,屏幕上亮起了一片藍色的光。

  活動室里的空氣凝固了大概三秒鐘。

  1990年,一台真正的筆記本電腦,能掀開屏幕就能用的那種。

  集訓隊裡大多數人只在《計算機世界》雜誌上見過照片。

  鄒工把機器轉過來面朝大家,屏幕上是一個DOS命令行,光標一閃一閃的。

  「這是我們公司跟香港合作開發的一款可攜式微機。」

  鄒工的聲音帶著一點南方口音,「80286的晶片,1兆內存,20兆硬碟,國內目前還沒有批量上市,這是工程樣機。」

  他從公文包里又掏出一張軟盤,三寸半的,黑色塑料殼,貼著一張手寫的標籤數學函數庫·測試版。

  他把軟盤插進機器側面的驅動器里,軟盤推進去的時候發出咔嗒一聲脆響。

  屏幕上的光標閃了幾下,然後跳出一行字:「MathLibv0.1—中國計算機發展公司。」

  「這個數學函數庫是我們公司正在開發的產品,主要是給國內的科研單位和大學用的。」

  鄒工敲了幾個命令,屏幕上列出了一長串函數名一三角函數、指數對數、矩陣運算、數值積分。「目前核心算法部分基本完成了,但有一個模塊一直沒達到預期的精度。」

  他打開了一個名為SPLINE.TST的文件,屏幕上顯示出一組數據和對應的曲線擬合結果。

  「三次樣條插值模塊,在邊界條件比較複雜的情況下,誤差會放大,我們調試了兩個月沒找到問題出在哪裡。」

  鄒工轉過身看著活動室里的隊員們。

  「公司離這兒不遠,騎車二十分鐘,我們李總聽說集訓隊有一群數學底子紮實的年輕人,讓我帶著機器過來,看有沒有人願意幫忙看看。不是白干,按項目外包算報酬。」

  活動室里響起一陣低低的議論聲。

  報酬的事大家沒太在意,真正讓人興奮的是那台機器。

  一台能掀開蓋子就能用的筆記本電腦,一張三寸半的軟盤,一個實實在在的、正在開發中的軟體產品。

  不是課本上的例題,不是競賽卷上的試題,是出了這間屋子就要被千千萬萬人用的東西。

  陸沉看著屏幕上那行SPLINE.TST的數據。

  三次樣條插值,數值分析里的經典內容。

  邊界條件複雜時誤差放大,這個問題他前世見過。

  通常不是插值算法本身的問題,是邊界導數的估計方法在特定數據分布下會產生病態C

  標準做法是用自由邊界或者固定邊界的樣條,但實際工程數據往往既不滿足自由邊界也不滿足固定邊界,硬套標準方法就會在邊界附近出現振盪。

  他站起來,走到講台前面。

  鄒工讓開鍵盤的位置。

  陸沉調出樣條模塊的原始碼,屏幕上的C語言代碼一行一行地滾動。

  他看代碼的速度讓鄒工的眉毛微微揚了一下。

  不是瀏覽,是在追蹤數據流和邊界處理的邏輯鏈條。

  看到邊界導數估計那一段的時候他停下來。

  「問題在這裡。」他指著屏幕上一段代碼,「邊界導數的估計用的是三點差分公式,這個公式假設邊界附近的數據是光滑的,如果實際數據在邊界處有突變或者曲率很大,三點差分的截斷誤差會急劇上升。」

  鄒工湊近屏幕看了一會兒。

  「我們試過用五點差分,精度沒改善多少。

  「不是差分點數的問題。」

  陸沉把代碼往下翻了幾頁,找到邊界條件判斷的那一段,「是邊界條件的分類不夠細。標準樣條只分三種邊界—固定邊界、自由邊界、周期邊界。

  但實際工程數據的邊界形態遠不止這三種。

  你們這個模塊在處理非標準邊界時,會自動歸到最近的標準類型里,然後硬套標準公式,這才是誤差的根源。」

  他在鍵盤上敲了幾行,在邊界條件判斷模塊里加了一個新的分支—非標準邊界預處理。

  思路很簡單:在進入樣條求解之前,先用一個低階多項式對邊界附近的幾個點做局部擬合,用擬合曲線的端點導數代替原來的差分估計。

  這樣做相當於在邊界處加了一個緩衝區,讓邊界條件從非標準平滑過渡到標準類型能處理的範疇。

  鄒工看著陸沉加的代碼,沉默了好一會兒。

  他搞了十幾年軟體,一眼就能看出一個改動的本質。

  陸沉加的那幾行代碼,從語法上看平平無奇,但從數值計算的角度看,是把一個開放性問題轉化為了一個可求解的問題!

  「我回去讓測試組跑一遍。」

  鄒工把修改後的代碼保存到軟盤裡,拔出軟盤的時候他看了看那張黑色的小方塊,又看了看陸沉,「小伙子,你幾歲了?」

  「十一。」

  鄒工把軟盤裝進公文包,拉上拉鏈。

  「我兒子十六歲,連BASIC都還沒學明白。」

  他搖了搖頭,然後從公文包側袋裡掏出一張名片遞給陸沉,「上面有我電話,以後要是想了解計算機方面的事,直接找我。」

  名片上印著中國計算機發展公司軟體部鄒世明,地址是HD區中關村路某某號。

  陸沉把名片收進便簽本里,和索科洛夫那張並排放著。

  兩張名片,一張白底黑字俄文英文,一張淺灰色底燙金中文。

  兩個世界,同一個方向。

  鄒工走的時候在門口停了一下,回頭看著活動室里的隊員們。

  「你們這些孩子,可能不知道自己在做什麼,你們覺得只是在解題,在競賽,在拿獎牌,但實際上——」

  他拍了拍公文包里的軟盤,「你們已經在參與這個國家正在發生的事了。十年以後你們回頭看今天,就會明白我的意思。」

  門關上了。

  活動室里安靜了幾秒,然後被一陣興奮的議論聲淹沒。

  陳志遠第一個衝上去摸那台筆記本電腦—鄒工忘了帶走,或者說故意留下讓隊員們多玩一會兒的。

  機器還開著,屏幕上DOS提示符一閃一閃。

  陳志遠小心翼翼地敲了一個DIR命令,硬碟里的文件目錄嘩嘩地滾上來,每一個文件名都讓他眼睛發亮。

  顧小北在旁邊看著,忽然冒出一句:「你們說,鄒工說的十年以後——十年以後我們在幹什麼?」

  沒有人能回答這個問題。

  十年以後是2000年,二十一世紀的開端。

  對於這群十幾歲的少年來說,十年是一個長得幾乎無法想像的時間跨度。

  但那個黑色的小方塊就擺在桌上,三寸半的軟盤還插在驅動器里,屏幕上綠瑩瑩的光映在每個人的臉上。

  十年以後是什麼樣的,沒人知道。

  但他們此刻正把手放在通往那個不知道的門把手上。


章節目錄