三百二十五節 卡片復制(2 / 2)

臨高啟明 吹牛者 1609 字 2020-11-28

他發現馮珊正領著錢羽之和李加奈二人一張張地對著光線檢查卡片穿孔是否一致。——大概已經檢查了半天,三人的眼神均有些渙散,錢羽之和李加奈更是頂著黑眼圈。馮諾十分奇怪,連忙過去詢問。

原來,錢羽之和李加奈昨晚一直用制表機檢查1000張卡片的復制結果,卻發現新舊卡片在某列的0-9數量並不相同,復制的卡片少了一個3,卻多了一個4。也就是說,復制機出現了錯誤,在某張卡片上錯把3打成了4。所以他們現在正在找究竟是哪張卡片出了問題。

「工作態度可嘉,工作方法愚蠢。」馮諾評論道。他走過去拿起三人還沒檢查過的兩疊卡片,問:「檢查多少了?」

「122張。」

「114張。」

「107張。」

三個人分別答道。

「看看,三個人一上午才查了三百多張。以後我們要測試1萬張卡片,得找多少人來?」說著他把手中的一疊卡片遞給馮珊,說:「查出330張來。」

然後他問錢羽之是哪一列出了錯,調整了制表機的讀卡電刷位置。又把自己手里剩余的一疊也分成330張和327張的兩疊。

隨後,馮諾先後把馮珊查出來的的330張新卡和自己分出的330張舊卡用制表機統計了一遍。

十幾分鍾後,統計結束了,結果是相同的。

「所以,錯卡肯定在另外一半里面了。」馮諾指了指剩余的兩疊卡片。

於是他從剩余的兩疊327張卡片中,各分出了160張卡片,輸入了制表機。這次結果顯示錯誤的卡片就在這160張之中。

馮諾把這批卡片又分為兩份,每份包括一一對應的新舊卡片各80張,隨便拿了一份再次重復上面的操作。

……

幾分鍾後,嫌疑范圍縮小到了10張,馮諾把卡片分給馮珊三人,很快找出了錯誤卡片。

馮諾把錯卡放到了桌子上,沒有去看。而是對馮珊說:「我們做計算機,目的就是為了代替人力完成機械性的計算工作。機械的工作它來做,不用你來做。你要做的是什么呢?是思考怎么驅使它工作達到你的目的。你來說說,剛才這樣找錯誤卡片是什么原理?」

「二分查找法?」馮珊不確定地問到。

馮諾點點頭,「不一樣,但思路是類似的。如果你稍微思考一下,昨天我為什么讓羽之和加奈用制表機檢查兩疊1000張卡片是否一致,就能想到很多方案。最起碼,你可以每次輸入100張卡,最多10次,你們也就能知道錯卡在哪個100張里面了。——當然,如果你能想到這個,也就能意識到二分查找是最快的。」

「我們這么做有個前提,就是復制出錯的概率很低。否則多張穿孔卡都在同一列出錯,這方法就不靈了。所以,昨天我們先檢查了1次和10次復制的結果,都沒問題。」

「事實也表明我們的估計符合實際情況,1000張卡片,也就是有80000列的復制操作,他們兩個昨晚到今早檢查了30多列,實際只發現1列出錯,而且統計發現只少了一個3,並且只多了一個4。這是在查找錯誤卡片之前你們就知道的,對吧?我們沒有別的先驗知識,所以只能假設復制機的出錯概率為1/30000,不考慮目前的錯誤是多張卡片在同一列的出錯累積而成,因為那概率更低,暫時可以忽略。

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

下次更新:第七卷-兩關攻略篇52節