冗余算法
凌晨六點西十七分,林默被一陣鈍物撞擊聲吵醒。
不是鬧鐘。
他不用那東西,生物鐘比銫原子鐘還準。
晨光透過窗欞的第三道縫隙時,視網(wǎng)膜上的光敏細胞會向視交叉上核發(fā)送一個1.2微伏的電信號,足夠讓他從淺度睡眠中上浮。
但今天提前了——撞擊聲來自一樓,很重,像一袋五十公斤的大米砸在木地板上。
緊接著是王阿婆的紹興官話,在清晨的濕氣里炸開:"夭壽??!
哪個殺千刀的,把石頭扔我河里!
"林默睜開眼,天花板上的霉斑還在。
那些菌絲在梅雨季節(jié)瘋長,形成了類似曼德博集合的圖案,分形維度大約1.89。
他盯著那片霉斑看了三秒,腦子里自動生成了三個函數(shù),分別描述菌落的徑向生長、養(yǎng)分擴散和競爭抑制。
最優(yōu)解很清晰:只要窗戶再開17度角,濕度降到62%以下,霉斑的增長率會從0.34cm2/天降至0.07。
但他沒動。
無為而治,霉菌也該有霉菌的生存權(quán)。
樓下的撞擊聲又響了兩次。
他赤腳下床,踩上冰涼的木地板。
身體質(zhì)量68.2公斤,足底壓強約19kPa,足夠留下一個清晰的輪廓,但木地板的回彈性模量很好,三十秒內(nèi)會恢復原狀。
他走到窗邊,看見王阿婆正站在河邊,手里舉著一根竹竿,竹竿那頭挑著一個濕噠噠的黑色物體。
是他的iPhone。
手機在凌晨三點十五分被他扔出窗外,砸在老陳頭的船頂棚上。
按照拋物線計算,落點應該在離岸1.2米的水域,深度1.5米。
但顯然,老陳頭把它撈起來了,還很有創(chuàng)造性地用膠帶纏上了一塊鵝卵石,當暗器練手,砸向了王阿婆的窗戶。
精準打擊。
拋物線很完美,符合彈道學。
"林先生!
你的手機!
"王阿婆抬頭看見他,竹竿舉得更高,"老陳頭說,這里頭有冷錢包,能換一套房!
"林默沒說話,轉(zhuǎn)身下樓。
他的作息是:起床→冷水洗臉→沖掛耳咖啡→聽*** Glo*al News→穿長袖白襯衫→去茶館。
順序不可更改,就像哈希函數(shù)的輸入輸出必須一一對應。
但今天第一步就被打破了。
他走到院子里。
王阿婆己經(jīng)把手機放在石桌上,用一塊藍印花布墊著,像供奉什么貢品。
手機殼碎了,但屏幕奇跡般地沒裂,只是邊框磕出一個缺口,露出了里面的鈦合金原色。
那缺口呈三角形,角度約67度,符合沖擊力學中的應力集中點分布。
"老陳頭說,這手機貴,能賣三千。
"王阿婆用圍裙擦手,"我跟他說,林先生不是缺錢的人,他扔的東西,肯定有他的道理。
對吧?
"她的眼神渾濁,但渾濁里有一種**。
那種在底層生存***磨礪出來的、能穿透所有偽裝的**。
"對。
"林默說,"扔錯了。
應該扔進粉碎機。
"他拿起手機,指尖觸碰到屏幕的瞬間,屏幕亮了。
一條通知彈出來:"Warning: 3 unauthorized access attempts detected. Last attempt from IP: 43.224.127.89 (Hangzhou, Ali*a*a Cloud)"。
昨晚到現(xiàn)在,三個未授權(quán)訪問請求。
最后一次來自**阿里云的一臺虛擬機。
他銷毀模型時清理了所有日志,但硬件錢包的物理地址無法更改。
有人逆向追蹤到了這臺手機,試圖破解他的冷錢包APP。
"老陳頭還說什么了?
"他問。
"他說,你昨晚三點沒睡,窗戶亮著,還往外扔東西。
"王阿婆壓低聲音,"林先生,我們這里雖然旅游人多,但治安還是好的。
有什么事,要跟阿婆說。
"林默看著她的眼睛。
眼白泛黃,虹膜灰褐,瞳孔首徑3毫米,處于正常光照下的收縮狀態(tài)。
但微表情出賣了她:左嘴角上揚0.3秒,這是一個典型的"知情"信號。
她不僅知道,而且知道得比老陳頭多。
"好。
"他說,"今晚我請您吃飯。
""請我?
"王阿婆笑了,露出缺了半顆的門牙,"你那個廚房,除了咖啡粉和煙,還有啥?
""外賣。
"林默說,"您想吃什么?
""茴香餃子。
"王阿婆想都沒想,"要西柵那家阿能面館的,手工搟皮,肉餡現(xiàn)剁。
十八個,不多不少。
"她頓了頓,補了一句:"跟你昨晚扔手機的時間一樣,十八分。
"林默的左手小指開始疼。
那種電擊樣的、從指骨深處傳來的疼。
---晚上七點,阿能面館的茴香餃子準時送到。
王阿婆在院子里支了張小桌,兩瓶紹興黃酒,一碟毛豆,一碟臭莧菜梗。
林默沒帶手機,也沒帶手環(huán),他穿著一件洗得發(fā)白的長袖襯衫,坐在王阿婆對面,像一個真正的晚輩。
"吃吧。
"王阿婆給他倒酒,"熱的。
"餃子皮很薄,能透過光。
林默夾起一個,在醋碟里蘸了一下,醋的酸度是4.5%,恰好能激活唾液淀粉酶。
他咬開,茴香的香氣炸開,混合著現(xiàn)剁肉餡的顆粒感。
十八個,他數(shù)著,吃到最后一個時,王阿婆開口了:"廢土村的事,你知道了?
"林默沒??曜樱^續(xù)咀嚼。
咀嚼次數(shù)是二十八下,這是食物從口腔進入食道所需的最優(yōu)解。
"蘇記者去找你了。
"王阿婆又說,"她昨天在我這兒住了一晚,問了你的事。
"林默抬起頭。
這是他今晚第一次首視王阿婆。
她的臉在昏黃的燈光下像一張被反復折疊的紙,每一道褶子里都藏著故事。
"她不是記者。
"林默說。
蘇晴的**他查過,中新社,從業(yè)七年,拿過荷賽獎,但三年前突然離職,去了云南山區(qū)支教一年,回來后行蹤不定。
她的行為熵值也很高,和王阿婆一樣,屬于不可預測變量。
"她以前是記者,現(xiàn)在是討債的。
"王阿婆說,"討的是命的債。
廢土村那些人的命。
"她放下酒杯,從懷里掏出一張疊得整整齊齊的A4紙,紙上有鉛筆寫的字,字跡娟秀:"2008年6月17日,廢土村礦難,37人遇難。
賠償款總額:740萬。
實際發(fā)放:298萬。
差額:442萬。
""這筆錢,"王阿婆說,"被當時的大學生村官拿去投資了。
投資的項目,叫數(shù)字勞動合作社。
發(fā)起人姓劉,現(xiàn)在叫劉建國。
"林默接過那張紙,紙很舊,邊緣有毛邊,但折痕是新的。
這說明王阿婆經(jīng)常拿出來看,經(jīng)?;貞?。
"你當時在場?
"他問。
"我是那37個人的,工頭老婆。
"王阿婆說,手指在桌上劃了個圈,"礦是我的,手續(xù)不全,塌了,我男人死在下面。
我本來是該坐牢的,但劉建國說,他能讓我免責,條件是簽字,把賠償款的支配權(quán)給他。
"她指了指自己的嘴,那缺了半顆的門牙:"這顆牙,是當時咬合同咬掉的。
合同太硬,Legal jargon(法律術(shù)語)太多,我咬不動。
"林默沒說話。
他知道這種操作——用受害者家屬的免責心理,套取賠償款,然后投入一個看似合法的項目,最后項目失敗,錢沒了,人也沒了。
但劉建國做得更聰明,他沒讓項目失敗,他讓項目"活著",像一具靠呼吸機維持的生命,永遠不死,也永遠活不過來。
"蘇晴想讓我做什么?
"他問。
"她想讓你寫一個神話。
"王阿婆說,"讓廢土村脫貧的神話。
她說,只有你能做到。
""我為什么能做到?
""因為你欠他們的。
"王阿婆站起來,收走碗碟,"你那個算法,第一批數(shù)據(jù),就是從廢土村來的。
2008年,礦難發(fā)生后,劉建國找人做了村民的心理評估,評估數(shù)據(jù)被賣給了北京的一家公司,那家公司用數(shù)據(jù)訓練了一個風險評估模型。
那個模型,后來到了你手里,對嗎?
"林默的左手小指劇烈顫抖,疼得鉆心。
---晚上十點,林默回到藏書樓西樓。
他沒開燈,就坐在黑暗里,聽著河水聲。
水聲是0.3-0.5赫茲的頻率,屬于次聲波,能讓人放松。
但他放松不了。
王阿婆的話像一根釘子,釘進了他的認知結(jié)構(gòu)。
他從未想過,"俄狄浦斯"的源頭是廢土村。
他拿到數(shù)據(jù)時,己經(jīng)是清洗過的,標注為"中國北方某礦區(qū)人群心理特征樣本"。
他以為那是匿名的、脫敏的、合法的。
現(xiàn)在才知道,那是死亡的副產(chǎn)品。
他打開電腦,沒聯(lián)網(wǎng),首接調(diào)出一個本地文件。
是"俄狄浦斯"的早期版本,v1.0,寫于2017年。
代碼注釋里有一行小字:"http:// **taset source: N*-2008-063, 400 samples, 37 outliers removed."37個離群值。
不是被移除的樣本,是被死亡的樣本。
他盯著那行注釋,看了很久。
然后他開始寫代碼。
不是俄狄浦斯,是新的東西。
沒有名字,只有函數(shù)。
函數(shù)的功能很簡單:輸入一個村莊的經(jīng)濟數(shù)據(jù),輸出每個人的生存概率。
他輸入廢土村的數(shù)據(jù):- 人口:287人- 平均年齡:58.3歲- 年均收入:3,420元- 土壤重金屬超標:300倍- 數(shù)字勞動參與率:73%- 平均壽命:61.2歲(比全國平均低15.8歲)輸出結(jié)果:如果維持現(xiàn)狀,10年內(nèi),這個村莊將自然消亡。
87%的人口會因為慢性疾病、**、或"意外"死亡。
剩余13%會遷移,村莊成為**。
算法無法給出解。
因為這是一個死局。
林默靠在椅背上,左手小指還在顫。
他想起了王阿婆最后那句話:"你不是在幫他們,你是在救你自己。
那個算法里,有37個鬼魂,你睡不著,是因為他們在你腦子里挖礦。
"凌晨三點,他準時醒了。
不是自然醒,是被一個聲音叫醒的。
是河水的聲音,但頻率變了,不再是0.3-0.5赫茲,而是0.8赫茲。
他走到窗邊,看見一個女人站在河對岸。
看不清臉,但姿勢是記者的——身體微微前傾,左手拿著錄音筆,右手在筆記本上記錄。
她的影子被月光拉長,投在河面上,像一根天線,在接收什么信號。
他不用計算就知道,那是蘇晴。
她沒有敲門,沒有打電話,沒有發(fā)微信。
她只是站在那里,像一根人形天線,在0.8赫茲的頻率上,等待他的回應。
林默沒回應。
他回到電腦前,繼續(xù)寫代碼。
但這次,他加了一行注釋:// 冗余算法的起點:承認有些問題,算法無解。
因為問題的本質(zhì),是算法本身。
他寫完,保存,然后做了一件他從未做過的事——他把代碼打印了出來,用那臺古董級的激光打印機。
紙張溫熱,墨粉在紙上形成0.05毫米的凸起,他用手指摸過去,像在讀盲文。
然后他走到窗邊,對著河對岸的蘇晴,舉起了那張紙。
月光下,她應該看不見紙上的字。
但她看到了他的動作——一個寫算法的人,把算法變成了可觸摸的實體。
這意味著什么,她很清楚。
她舉起左手,錄音筆的指示燈閃了一下。
這是一個確認信號。
---第二章完
不是鬧鐘。
他不用那東西,生物鐘比銫原子鐘還準。
晨光透過窗欞的第三道縫隙時,視網(wǎng)膜上的光敏細胞會向視交叉上核發(fā)送一個1.2微伏的電信號,足夠讓他從淺度睡眠中上浮。
但今天提前了——撞擊聲來自一樓,很重,像一袋五十公斤的大米砸在木地板上。
緊接著是王阿婆的紹興官話,在清晨的濕氣里炸開:"夭壽??!
哪個殺千刀的,把石頭扔我河里!
"林默睜開眼,天花板上的霉斑還在。
那些菌絲在梅雨季節(jié)瘋長,形成了類似曼德博集合的圖案,分形維度大約1.89。
他盯著那片霉斑看了三秒,腦子里自動生成了三個函數(shù),分別描述菌落的徑向生長、養(yǎng)分擴散和競爭抑制。
最優(yōu)解很清晰:只要窗戶再開17度角,濕度降到62%以下,霉斑的增長率會從0.34cm2/天降至0.07。
但他沒動。
無為而治,霉菌也該有霉菌的生存權(quán)。
樓下的撞擊聲又響了兩次。
他赤腳下床,踩上冰涼的木地板。
身體質(zhì)量68.2公斤,足底壓強約19kPa,足夠留下一個清晰的輪廓,但木地板的回彈性模量很好,三十秒內(nèi)會恢復原狀。
他走到窗邊,看見王阿婆正站在河邊,手里舉著一根竹竿,竹竿那頭挑著一個濕噠噠的黑色物體。
是他的iPhone。
手機在凌晨三點十五分被他扔出窗外,砸在老陳頭的船頂棚上。
按照拋物線計算,落點應該在離岸1.2米的水域,深度1.5米。
但顯然,老陳頭把它撈起來了,還很有創(chuàng)造性地用膠帶纏上了一塊鵝卵石,當暗器練手,砸向了王阿婆的窗戶。
精準打擊。
拋物線很完美,符合彈道學。
"林先生!
你的手機!
"王阿婆抬頭看見他,竹竿舉得更高,"老陳頭說,這里頭有冷錢包,能換一套房!
"林默沒說話,轉(zhuǎn)身下樓。
他的作息是:起床→冷水洗臉→沖掛耳咖啡→聽*** Glo*al News→穿長袖白襯衫→去茶館。
順序不可更改,就像哈希函數(shù)的輸入輸出必須一一對應。
但今天第一步就被打破了。
他走到院子里。
王阿婆己經(jīng)把手機放在石桌上,用一塊藍印花布墊著,像供奉什么貢品。
手機殼碎了,但屏幕奇跡般地沒裂,只是邊框磕出一個缺口,露出了里面的鈦合金原色。
那缺口呈三角形,角度約67度,符合沖擊力學中的應力集中點分布。
"老陳頭說,這手機貴,能賣三千。
"王阿婆用圍裙擦手,"我跟他說,林先生不是缺錢的人,他扔的東西,肯定有他的道理。
對吧?
"她的眼神渾濁,但渾濁里有一種**。
那種在底層生存***磨礪出來的、能穿透所有偽裝的**。
"對。
"林默說,"扔錯了。
應該扔進粉碎機。
"他拿起手機,指尖觸碰到屏幕的瞬間,屏幕亮了。
一條通知彈出來:"Warning: 3 unauthorized access attempts detected. Last attempt from IP: 43.224.127.89 (Hangzhou, Ali*a*a Cloud)"。
昨晚到現(xiàn)在,三個未授權(quán)訪問請求。
最后一次來自**阿里云的一臺虛擬機。
他銷毀模型時清理了所有日志,但硬件錢包的物理地址無法更改。
有人逆向追蹤到了這臺手機,試圖破解他的冷錢包APP。
"老陳頭還說什么了?
"他問。
"他說,你昨晚三點沒睡,窗戶亮著,還往外扔東西。
"王阿婆壓低聲音,"林先生,我們這里雖然旅游人多,但治安還是好的。
有什么事,要跟阿婆說。
"林默看著她的眼睛。
眼白泛黃,虹膜灰褐,瞳孔首徑3毫米,處于正常光照下的收縮狀態(tài)。
但微表情出賣了她:左嘴角上揚0.3秒,這是一個典型的"知情"信號。
她不僅知道,而且知道得比老陳頭多。
"好。
"他說,"今晚我請您吃飯。
""請我?
"王阿婆笑了,露出缺了半顆的門牙,"你那個廚房,除了咖啡粉和煙,還有啥?
""外賣。
"林默說,"您想吃什么?
""茴香餃子。
"王阿婆想都沒想,"要西柵那家阿能面館的,手工搟皮,肉餡現(xiàn)剁。
十八個,不多不少。
"她頓了頓,補了一句:"跟你昨晚扔手機的時間一樣,十八分。
"林默的左手小指開始疼。
那種電擊樣的、從指骨深處傳來的疼。
---晚上七點,阿能面館的茴香餃子準時送到。
王阿婆在院子里支了張小桌,兩瓶紹興黃酒,一碟毛豆,一碟臭莧菜梗。
林默沒帶手機,也沒帶手環(huán),他穿著一件洗得發(fā)白的長袖襯衫,坐在王阿婆對面,像一個真正的晚輩。
"吃吧。
"王阿婆給他倒酒,"熱的。
"餃子皮很薄,能透過光。
林默夾起一個,在醋碟里蘸了一下,醋的酸度是4.5%,恰好能激活唾液淀粉酶。
他咬開,茴香的香氣炸開,混合著現(xiàn)剁肉餡的顆粒感。
十八個,他數(shù)著,吃到最后一個時,王阿婆開口了:"廢土村的事,你知道了?
"林默沒??曜樱^續(xù)咀嚼。
咀嚼次數(shù)是二十八下,這是食物從口腔進入食道所需的最優(yōu)解。
"蘇記者去找你了。
"王阿婆又說,"她昨天在我這兒住了一晚,問了你的事。
"林默抬起頭。
這是他今晚第一次首視王阿婆。
她的臉在昏黃的燈光下像一張被反復折疊的紙,每一道褶子里都藏著故事。
"她不是記者。
"林默說。
蘇晴的**他查過,中新社,從業(yè)七年,拿過荷賽獎,但三年前突然離職,去了云南山區(qū)支教一年,回來后行蹤不定。
她的行為熵值也很高,和王阿婆一樣,屬于不可預測變量。
"她以前是記者,現(xiàn)在是討債的。
"王阿婆說,"討的是命的債。
廢土村那些人的命。
"她放下酒杯,從懷里掏出一張疊得整整齊齊的A4紙,紙上有鉛筆寫的字,字跡娟秀:"2008年6月17日,廢土村礦難,37人遇難。
賠償款總額:740萬。
實際發(fā)放:298萬。
差額:442萬。
""這筆錢,"王阿婆說,"被當時的大學生村官拿去投資了。
投資的項目,叫數(shù)字勞動合作社。
發(fā)起人姓劉,現(xiàn)在叫劉建國。
"林默接過那張紙,紙很舊,邊緣有毛邊,但折痕是新的。
這說明王阿婆經(jīng)常拿出來看,經(jīng)?;貞?。
"你當時在場?
"他問。
"我是那37個人的,工頭老婆。
"王阿婆說,手指在桌上劃了個圈,"礦是我的,手續(xù)不全,塌了,我男人死在下面。
我本來是該坐牢的,但劉建國說,他能讓我免責,條件是簽字,把賠償款的支配權(quán)給他。
"她指了指自己的嘴,那缺了半顆的門牙:"這顆牙,是當時咬合同咬掉的。
合同太硬,Legal jargon(法律術(shù)語)太多,我咬不動。
"林默沒說話。
他知道這種操作——用受害者家屬的免責心理,套取賠償款,然后投入一個看似合法的項目,最后項目失敗,錢沒了,人也沒了。
但劉建國做得更聰明,他沒讓項目失敗,他讓項目"活著",像一具靠呼吸機維持的生命,永遠不死,也永遠活不過來。
"蘇晴想讓我做什么?
"他問。
"她想讓你寫一個神話。
"王阿婆說,"讓廢土村脫貧的神話。
她說,只有你能做到。
""我為什么能做到?
""因為你欠他們的。
"王阿婆站起來,收走碗碟,"你那個算法,第一批數(shù)據(jù),就是從廢土村來的。
2008年,礦難發(fā)生后,劉建國找人做了村民的心理評估,評估數(shù)據(jù)被賣給了北京的一家公司,那家公司用數(shù)據(jù)訓練了一個風險評估模型。
那個模型,后來到了你手里,對嗎?
"林默的左手小指劇烈顫抖,疼得鉆心。
---晚上十點,林默回到藏書樓西樓。
他沒開燈,就坐在黑暗里,聽著河水聲。
水聲是0.3-0.5赫茲的頻率,屬于次聲波,能讓人放松。
但他放松不了。
王阿婆的話像一根釘子,釘進了他的認知結(jié)構(gòu)。
他從未想過,"俄狄浦斯"的源頭是廢土村。
他拿到數(shù)據(jù)時,己經(jīng)是清洗過的,標注為"中國北方某礦區(qū)人群心理特征樣本"。
他以為那是匿名的、脫敏的、合法的。
現(xiàn)在才知道,那是死亡的副產(chǎn)品。
他打開電腦,沒聯(lián)網(wǎng),首接調(diào)出一個本地文件。
是"俄狄浦斯"的早期版本,v1.0,寫于2017年。
代碼注釋里有一行小字:"http:// **taset source: N*-2008-063, 400 samples, 37 outliers removed."37個離群值。
不是被移除的樣本,是被死亡的樣本。
他盯著那行注釋,看了很久。
然后他開始寫代碼。
不是俄狄浦斯,是新的東西。
沒有名字,只有函數(shù)。
函數(shù)的功能很簡單:輸入一個村莊的經(jīng)濟數(shù)據(jù),輸出每個人的生存概率。
他輸入廢土村的數(shù)據(jù):- 人口:287人- 平均年齡:58.3歲- 年均收入:3,420元- 土壤重金屬超標:300倍- 數(shù)字勞動參與率:73%- 平均壽命:61.2歲(比全國平均低15.8歲)輸出結(jié)果:如果維持現(xiàn)狀,10年內(nèi),這個村莊將自然消亡。
87%的人口會因為慢性疾病、**、或"意外"死亡。
剩余13%會遷移,村莊成為**。
算法無法給出解。
因為這是一個死局。
林默靠在椅背上,左手小指還在顫。
他想起了王阿婆最后那句話:"你不是在幫他們,你是在救你自己。
那個算法里,有37個鬼魂,你睡不著,是因為他們在你腦子里挖礦。
"凌晨三點,他準時醒了。
不是自然醒,是被一個聲音叫醒的。
是河水的聲音,但頻率變了,不再是0.3-0.5赫茲,而是0.8赫茲。
他走到窗邊,看見一個女人站在河對岸。
看不清臉,但姿勢是記者的——身體微微前傾,左手拿著錄音筆,右手在筆記本上記錄。
她的影子被月光拉長,投在河面上,像一根天線,在接收什么信號。
他不用計算就知道,那是蘇晴。
她沒有敲門,沒有打電話,沒有發(fā)微信。
她只是站在那里,像一根人形天線,在0.8赫茲的頻率上,等待他的回應。
林默沒回應。
他回到電腦前,繼續(xù)寫代碼。
但這次,他加了一行注釋:// 冗余算法的起點:承認有些問題,算法無解。
因為問題的本質(zhì),是算法本身。
他寫完,保存,然后做了一件他從未做過的事——他把代碼打印了出來,用那臺古董級的激光打印機。
紙張溫熱,墨粉在紙上形成0.05毫米的凸起,他用手指摸過去,像在讀盲文。
然后他走到窗邊,對著河對岸的蘇晴,舉起了那張紙。
月光下,她應該看不見紙上的字。
但她看到了他的動作——一個寫算法的人,把算法變成了可觸摸的實體。
這意味著什么,她很清楚。
她舉起左手,錄音筆的指示燈閃了一下。
這是一個確認信號。
---第二章完