三百二十六節 查錯的數學理論

錢羽之的眼神最早開始恍惚,李加奈堅持到這裡也開始走神了,只有馮珊還在聽。

“二分查找從一個有序表裡找特定值,本質是一種分治策略,也就是把一個大問題分割爲若干相似的子問題,然後要麼直接求解,要麼繼續分割。它爲什麼要求有序表?是爲了確保每次運算能夠同時求解全部子問題。舉個例子,如果升序表的中位值小於被查找值,我可以同時確保兩個結論,一,被查找值不在有序表的前一半中,二,被查找值在有序表的後一半中——那麼接下來我在有序表的後一半中重複上述操作就行了。”

“我們的問題是類似的,從概率上,首先我們可以合理地假設有且僅有1張卡是錯誤的。然後,我們每次統計已知的包含錯誤卡片的所有卡片中的一半,如果統計結果表明錯誤卡片不在這一半中,那麼一定在另一半中,反之亦然。於是我就縮小了一半的錯誤卡片‘嫌疑範圍’。我反覆進行折半操作縮小嫌疑範圍、縮小到一定程度時,問題也就不再是問題了。”

“我以前和你說過,我們現在做的穿孔卡計算機,其實際能力並不限於眼前看到的這些。剛纔我的折半操作很機械吧――總是分出一半、輸入,然後檢查結果,把包含錯卡的那疊拿來重複操作。”

“那麼如果有一天,我們設計一臺機器來代替我剛纔的重複機械操作,與製表機聯合起來就能夠完成更多的事情,很多大問題將被分解爲小問題,然後採用同一個操作流程解決。”

“把看似複雜的問題層層分解爲與原問題相似的規模較小的問題,反覆用類似的一系列機械性操作求解,讓計算機也能夠完成,這樣的思想叫做‘遞歸’。這是我們利用計算機很本質的一種思路,你們要好好思考。特別是,在思考這類問題時,不要把現有機械計算機的運行速度考慮進去,覺得還不如人力快。關鍵要想一想,在人不加以干涉的情形下,計算機僅依照規則運行能夠求解什麼問題。也就是,什麼樣的問題是計算機可以解決的,我們叫‘可計算問題’。至於速度,那不是問題――麪包會有的。”

馮諾停了下來,讓馮珊仔細咀嚼這段話,對她來說,這樣的思維模式與數學類似,但又與以前學習的數學相當不同。而李加奈和錢羽之的數學也就是四則運算的水平,要他們理解實在是有點勉爲其難。因爲昨晚都沒睡好,這時已經十分迷糊了,這番話不啻於催眠曲――迷糊間錢羽之還在納悶這事和麪包有什麼關係。

“好了,你倆睡覺去吧。我看看這張卡片究竟是怎麼回事。”馮諾把還在呆呆思考的馮珊撇在一邊,對錢羽之和李加奈說道,他一指裡間,“可以在那張牀上睡。”說完,他拿起了桌上打錯了孔的卡片。

李加奈從牀上醒來,發現錢羽之還坐在椅子上,靠着牆邊睡得正香。她環顧了一下,馮珊在工作臺邊看書邊計算着什麼,而馮元老不在房間裡,估計又去哪兒開會了。

她打着呵欠下了牀,捅了捅錢羽之,說了聲:“上牀去睡吧。”沒想到他只是哼了一聲又不動了。李加奈便用力把他拖到了牀上——說是兩人輪班,其實昨天晚上錢羽之熬夜值班的時間比她長得多。

大概是感覺到了牀上殘留的體溫,錢羽之翻了一個身,似乎想蜷進李加奈剛剛睡出的凹陷裡,繼續呼呼大睡起來。

李加奈走到了工作臺邊倒了一杯水喝。這時她看到馮珊放下書揉了揉眼睛,似乎是打算休息一會,就和她閒聊了起來。不一會,她們就說定下星期一起去參加李加奈和文理學院同學的聚會――據說還有幾位前輩也會參加。

攻關小組之後的幾天對複製機進行了反覆改進與測試,應馮諾的要求,又在複製機的穿孔機構那一排增加了一套讀卡機構,這個改動不大,但卻可以使複製機兼有部分驗證機(Verifier)的功能。複製完成後,可以改接少量配線,使機器功能變爲自動檢查兩疊卡片的穿孔是否一致,並在發現穿孔不一致時停機亮燈報警。

二分查找再快,總也比不得直接過一遍機器更快。

此外,改進後的版本還可以固定一張母卡在讀卡機構中,穿孔及驗證一疊卡片。在實際應用中,這項功能可以把一批卡片的共通孔位預先打好,減小人工打孔的工作量。

不過,雖然複製機經過改進,也修復了打錯孔的問題,卻仍會偶爾出現漏打孔的現象。最後,攻關小組降低了卡片傳動和處理速度,發現問題消失了。

“看來是繼電器反應速度的問題了。”孫立把手中的筆扔到了桌面上,“降速運行吧。”

所有人都“唰”地看向馮諾,馮諾只好無言地點了點頭。但元老們現在都練得臉皮頗厚――大家水平半斤八兩,誰也別笑話誰。尷尬很快恢復了過來,他又提出了開發譯碼機的方案。

按計劃,製表機本應集成打印和彙總穿孔的功能,出於簡化單臺機器複雜性的目的,現階段製表機沒有包含這些部分。因此馮諾打算先搞個最基本的數字譯碼機,由於不考慮拉丁字母的打印,甚至已經不能稱之爲“譯碼”,單純只是打印,其機械結構與複製機類似,無非是檢孔後激活繼電器驅動弧形字排把0-9的數字打印在卡片頂端。現在複製機算是開發完成了,譯碼機不過是水到渠成的事。

機械口的元老們覺得問題不大,答應儘快製造一臺樣機送過去。

會到這裡就散了,馮諾回到了辦公室:他想着今天還得再備備課――隨着機械計算機的進展,他覺得得深入的講授一些與軟件工程有關的數學問題了――第一代的程序員幾乎都是數學家。

他在辦公室裡處理了數據中心的日常公文,循例到機房走了一圈,做了日常的設備維護。又把“待修目錄”瀏覽了一遍,用紅鉛筆在幾個“火燒眉毛”級別的項目上打了鉤,這些只能等上完課之後犧牲睡眠時間來修理了――自從他弄了機械計算機的項目,原先的工作壓下來不少。現在徐老五已經幫他做了大多數的文書工作,本職再荒廢下去可就說不過去了。

好不容易把手頭的事情逐一處理完,他才起身到了工作間。

現在“工作間”裡已經塞的滿登登的。從機械廠製造的各種“工程樣機”塞滿了這個車間,有的則根本不是“技術會議”上的產物,而是某些動手能力強的元老的腦洞的產物――要說完全是腦洞也不盡然,因爲這些東西大致就是當年機械計算機發展過程中的不同技術思路。

工程樣機自然是不太考究的,因爲時間緊,又多是僅僅驗證設計思路是否具有工程可行性,所以在設計和製造上沒做什麼優化,秉承機械廠產品一貫的傻大黑粗不說,許多設備的零件也是外露的,一來節約製造時間,二來便於隨時查障調試。

車間裡滿是鐵嘴鋼牙的機器,地上也有不少散落的物料零件。所以馮諾一直關照自己的這三個幫工,進工作間一定要做好防護。他自己以身作則,頭戴藤編安全帽,身穿粗布工作服,腳穿勞保皮鞋。

穿過設備區,車間的另一頭是研究區,一張笨重的大號“聖船牌”12人會議桌矗立正中,桌面上堆滿了圖紙、文檔和草稿計算紙,周圍放着七八張摺疊椅。牆角是碩大的黑板架,黑板上滿是粉筆書寫的公式和數字。靠牆是一排開放式的書架,層層疊疊的塞滿了各種技術資料和參考材料――不過幾個月的時間,就累積起了這麼多的文書材料。這些材料按照企劃院的規定,都由馮珊和李加奈按類別整理裝訂起來――都是要存檔的,爲將來的技術工作者提供參考。

可是要是沒有一套高效的檢索設備的話,這些技術資料恐怕只會沉寂在大圖書館的某個角落最後被人慢慢的遺忘。想到這裡,馮諾愈發感到自己的重任在肩。

研究區的地上滿是散落的計算草稿,搞得如同老電影炮黨敗逃時候一樣。研究小組整天廢寢忘食,自然也顧不上打掃衛生。總算他們的便當盒還是每個人都洗乾淨帶走的,不然就這邋遢程度非招來老鼠不可。

馮諾一屁股在椅子上坐下,拿出一本關於離散數學的專業教材――這是臨高本地翻印的,經過真理辦公室的審覈,所以無需保密措施,可以直接插在書架上。

剛想打開,忽然看到桌子底下的字紙簍塞滿了碎紙片――不是一般的碎紙片,而是撕的粉碎的碎紙片,這不是他們常用的計算紙張,而是信紙。上面似乎還密密麻麻的寫滿了字跡。

------------------------------------------------------------------------

下次更新第七卷兩廣攻略篇53節

第三百九十六節 面授機宜第十節 道長來了第九十二節 南京第一百四十二節 廣州紡織品市場(一)第九節 騷亂第2832章 儋州特化第一百六十七節 鼓舞士氣第七十六節 流民第二百二十一節 小十字路計劃(二)第四百三十三節 進度第二百零三節 江湖客第三百七十節 集村並屯(三)第一百九十三節 幻滅第2718章 京師(七十一)第一百四十一節 試生產第三百三十二節 政體架構第三十九節 突入陣地第一百節 俘虜帶來的後續第一百四十七節 前路茫茫第一百零七節 埋伏(一)第二百一十九節 遊艇第五節 機構改革(三)第一百七十八節 專案組第三百零二節 一路暢通第七節 廁所第二百零三節 江湖客第三十二節 應對第一百七十八節 周瑜打黃蓋第二百二十四節 改造組織三百五十一節 徵收籌備第二百六十節 出航第三百一十二節 秘書和徒弟二百一十四節 還鄉(四)第一百三十六節 完璧書坊續第一百九十一節 招供第四十二節 茶社的拍賣會(三)第六十五節 建廠方案二百一十九節 地位不同了三百七十二節 聚會(二)第五十五節 甜港風雲--對策第2829章 合作伙伴三百二十三節 第一次約會第一百四十九節 布莊老闆第2835章 演習(一)第二百四十一節 孔令洋的野望第二百零七節 星之所在第一百五十五節 東莞的暗流三百五十三節 “舞弊”第十九節 軍事問題第二十六節 羊城暗哨第二十五節 鄔德的新任務(三)第一百二十節 海陸糾紛第二十三節 博鋪要塞區第二百一十二節 閨閣的秘密(一)第二百八十二節 採訪第三百五十節 機構調整第一百五十八節 餘波第二百一十四節 財政官第六十節 藏身之處第一百六十節 議和的打算第六十節 藏身之處三百七十節 陰陽合同第二百七十四節 新鮮出爐的南洋公司(四)第六十七節 苟家莊(四)第一百三十八節 新出爐的說客第一百七十二節 萬人體育場第二百零四節 畫舫上的人第一百七十九節 拷贓三百四十八節 新生第五十七節 不能收徒三百八十五節 與時俱進的史公子第一百六十三節 神秘的船第二百五十二節 各懷鬼胎(三)第三十八節 入寶山第一百三十六節 佛山之行(二)第六十七節 走馬觀花第二百七十八節 新鮮出爐的南洋公司(八)第三百二十六節 正攻和迂迴第四百二十二節 網絡輿論分析第一百六十八節 廣州的防務第一百六十節 議和的打算第二百九十節 篾片第二節 女海盜第一百九十三節 調查(二十一)第一百零九節 招兵買馬第一百七十一節 水災第二百四十一節 孔令洋的野望第一百七十八節 破寨之後第二百八十七節 京師(四十四)第七十一節 高定客戶第一百七十二節 瓊山縣辦事處第一百四十八節 巧舌如簧三百四十三節 軍指定茶社第八十一節 大門檻二百七十六節 沈睿明的公訴書第一百七十八節 招降納叛第一百九十一節 師徒第一百七十六節 大會(三)第四百六十八節 竭盡全力第一百八十七節 調查(十五)