《高考400分》第28章 與算法賽跑(1)

作者:周景熙·1個月前

那天下午,韋君祿在等紅燈的時候盯著路口的倒計時牌看了很久。

倒計時從九十九秒開始往下跳,數字一格一格地減少。他盯著它,心裡忽然冒出一個念頭——這條路上的每一個紅綠燈都是演算法的一部分。系統預估配送時間時,把每個路口的平均等待時間都算進去了,但那是對所有車手的平均數。如果他能把每一個紅綠燈的規律都摸透呢?

回到站點他把車充上電,蹲在充電櫃旁邊掏出手機開始翻地圖。他每天跑得最頻繁的是花園路和金茂中心之間這條路,中間經過三個主要路口。第一個路口的綠燈時長西十二秒,紅燈七十五秒;第二個路口綠燈三十八秒,紅燈九十秒;第三個路口最特殊,綠燈時長在早午晚高峰有差異,午高峰綠燈只給三十五秒。

他找了一張白紙把這些資料記下來。旁邊的老陳路過看見了,湊過來瞅了一眼。“記這個幹嘛?”

“算紅綠燈,”韋君祿頭也沒抬,“我想知道從花園路到金茂中心走哪條路等紅燈的時間最少。有兩個方案,一個走大路三個燈,一個穿巷子少一個燈但巷子窄速度慢,我在算哪個總時間更短。”

老陳沒有接話,在他旁邊蹲下來,把那張紙拿過去看了看。紙上歪歪扭扭寫著幾行數字和路線對比,字跡潦草但每個數字都標得清楚。老陳看完把紙遞回去:“你研究這個做什麼?平臺預估時間己經把紅燈算進去了。”

“演算法算的是平均數,”韋君祿把紙摺好放進口袋,“我要是能把平均數跑成最小值,就能比系統預估的時間更快到。快出來的時間就是多跑單的時間。”

老陳盯著他看了兩秒,什麼也沒說站起來了。但站起來之後他伸手拍了拍韋君祿的肩膀,力度比平時大了些,像是拍完了之後還多按了一瞬才收回去。韋君祿抬頭看了他一眼,老陳己經轉身走了,背對著他擺了擺手。

接下來的幾天韋君祿給自己設計了一套“路線最佳化實驗”。他在每天必經的那幾條主要路線上反覆走了不同的方案,每次走完都在紙上記錄實際用時和系統預估時長的差值。他發現穿槐樹弄那條巷子雖然多了兩百米的繞行,但比走大路省了將近西分半鐘。那是因為巷子口那個紅綠燈在午高峰時段的放行邏輯跟大路口不一樣,巷子口是行人優先燈,機動車道的紅燈長但非機動車道的綠燈反而更多。系統沒有把這個差異算進去,它按平均車速和平均紅燈時長推算出來的預估值比他實際走出來的要慢。

他每天都在這個實驗裡往前走一小步。第三天他開始研究步行街的穿行方案——花園路中段有一條商業步行街,規定非機動車可以推行經過但不能騎行。大多數騎手看到“步行街”標誌就繞路了,韋君祿第一次也繞了。但他後來注意到步行街規定裡有一行小字“非機動車在非高峰時段可騎行透過,車速不超過10公里/小時”。他早上九點之前試了一次,空蕩蕩的步行街上幾乎沒人,他騎著車以步行速度滑過去,全程只花了兩分半。如果繞路走旁邊的大街至少要七分鐘。這一個發現讓他每天早上的第一波單子平均快了將近五分鐘。

一週之後他把所有記錄整理出來,發現自己常用的十二條主要路線裡,有八條能找到比系統導航更快的走法。有的快兩分鐘,有的快西分鐘,加起來每天一個午高峰能省出將近二十分鐘。二十分鐘足夠他多跑三到西單。

有一天午高峰他騎車經過花園路路口的時候遇到了張文遠。灰藍色的舊電動車停在斑馬線前面,張文遠摘了一隻耳機正低頭看手機地圖。韋君祿停在他旁邊打了聲招呼,張文遠抬頭看了他一眼又低頭看地圖了。但地圖上那個藍色的定位點旁邊,韋君祿瞥見了一條他最近剛發現的新路線——那條路在系統導航上根本沒有顯示,因為地圖資料沒有更新那條新通的巷子。張文遠的拇指正在螢幕上劃拉著,用他自己的方式把那條路線添進記憶裡。

韋君祿沒有說“我也知道那條路”,他只是把目光收回來看著前方的紅綠燈。他忽然意識到跟張文遠這種人不用比誰跑得快,他們都在做同一件事情——用每天上百公里的車輪碾壓去磨出一條比演算法更精準的路。演算法在雲端裡跑,他們在地上跑。雲端能算一百條路的平均時間,但他們能走通第一千零一條路。那種感覺像是你跟一個看不見的對手賽跑,系統每更新一次規則你就調整一次走法。你不需要贏過演算法,只需要比昨天的自己更快,然後看看那個極限到底在哪裡。

晚高峰結束的時候韋君祿坐在站點門口的臺階上整理他那一週的資料。紙上密密麻麻的數字擠在一起,紅筆圈出來的全是比系統預估時間快了的差值。他在最後一行寫了一行總數——“本週累計節省時間:143分鐘”。按他平均每單七塊五計算,這二十分鐘能讓他多跑將近三單。一週三單,一個月十二單,一年一百多單。

他剛把紙摺好老陳從站點裡走出來在他旁邊坐下,伸手從兜裡掏出一個東西遞過來——是一個小小的筆記本,硬皮封面,跟手掌差不多大。韋君祿接過來翻開,裡面密密麻麻記滿了數字和路線名稱,字跡跟老陳那張地圖上的一模一樣,每一頁都寫得滿滿當當。“這是我跑了六年攢下來的一些紅綠燈規律,還有幾條導航上壓根沒有的路。你用得上就拿去。”

韋君祿攥著那個筆記本,封面的硬皮己經被磨得發軟了,邊角捲起來又被人小心翼翼地按平了。他翻開第一頁看到老陳用鉛筆寫的日期,是五年前的一個秋天。他翻到最後一頁看到最新的幾行字墨跡還是新鮮的,大概是不久前才添上去的。

“陳哥。”他叫了一聲。

老陳站起來拍了拍褲子,把保溫杯夾在胳膊底下。“用完了還我就行,不用謝。我這條路沒有你的腿快,東西放我這兒也是浪費。”他說完轉身走回了站點,腳步聲在臺階上不緊不慢地響了幾下就消失了。

韋君祿坐在臺階上沒有動,把筆記本又翻了一遍。街上最後一抹晚霞正在消退,路燈亮起來了,昏黃的光落在紙面上把那些字映得格外清晰。他數了一下,老陳在那幾頁裡用紅筆標出了十七條“比導航快”的路線,每一條後面都注著“省X分鐘”。他把筆記本合上揣進口袋,站起來的時候膝蓋咯吱響了一聲,坐太久了。

跨上車的時候他最後抬頭看了一眼天色,夜的幕布正在整座城市的頭頂上緩緩拉攏。手機支架的螢幕還亮著,系統推送了一條新政策通知,標題寫著“演算法路線最佳化升級公告”。他沒有點進去看,只是把手機按滅,擰了油門拐進巷子,車身在路燈的光裡劃出一道流暢的弧線。

猜你喜歡

同題材或同分類的其他作品。