歸根結底,這是在用矽基生命的優勢來補全碳基生命的劣勢。但是林遠從好團的測試記錄來看,好團工程師們寫出來的矽基生命顯然不怎麼給力。
由於出餐的、送餐的、點餐的這些人的不可預知性,ai演算法識別面臨“資料取樣缺失”的問題。因此演算法能準才有鬼了。
這就好比一道題目的已知條件有部分是隱藏的,那你能解出這道題才怪了。
因而林遠很理解好團方面的無奈,為此他也找紫金分部這邊的技術部老大仔細聊過。好團目前的演算法策略主要就是兩招:從過往歷史資料中去估算訂單量,以及透過ai計算最佳化騎手的送餐路徑以及派單和轉派邏輯。
針對某個區域估算訂單量,這個很好理解。預測出訂單量後就可以針對性安排站點分佈和騎手數量。
雖然只要老天爺稍微動動手指,天氣稍微有點變化,訂單量和送餐效率都會隨之波動。節假日因素又時不時過來插一腳搗亂。但是總體上根據歷史資料估算出的訂單量也有個七七八八。
至於路徑和派單最佳化,就更好理解了,就是讓騎手送餐更順利嘛。提高單位時間勞動效率,增加整條經濟鏈上各方面的收益。
林遠從詳細的測試報表來看,好團八成的精力都花在路徑和派單最佳化上了。畢竟相比於一個區域的訂單總量,路徑和派單問題要複雜的多。
如果把一個外賣訂單比作是一次從a地到b地的導航,那在配送側演算法看來,每個騎手的任務就是一堆導航路線的集合。演算法的任務就要把這一堆導航路線集合規劃的合理。
僅僅是一次導航的話,這個問題看起來很簡單。
可首先外賣訂單不同於出行導航,騎手首先需要取餐,那這個路線就變成了a==》b==》c。騎手先要從接單位置a,去商家位置b,再送到顧客位置c。
完成a到b步驟的時間受限於商家b的位置,以及商家的出餐速度。b的位置還不能簡單的透過電子地圖直線距離來獲取,萬一商家在商場裡,那騎手還需要考慮小電驢的停車問題,以及爬樓問題。
而b到c的這個過程則更加多變。因為顧客比商家數量多的多,分佈的也廣的多。騎手面臨著爬樓和小區能不能進等等問題。
一個外賣訂單就面臨各種問題了,而每個騎手手頭不可能只有一個外賣訂單,而是好幾個外賣訂單的集合。
而在演算法的角度就更加複雜n倍,因為演算法要兼顧所有的騎手。
假如整體的複雜度用大o來表示,每個訂單的複雜度用o來表示。
那o=o*騎手的訂單數量*騎手總數。
這還沒完。
因為每個騎手手頭的不同訂單之間存在互相干擾。因為騎手送餐是序列的,必須送完一餐再送一餐,手頭5份餐的時候如果多出來第6份餐,那這第6份餐很可能會影響另外5份餐的送餐效率。
這就導致了每個外賣訂單的邏輯複雜度是非線性的,不但非線性還特麼是隨機的。
總之就是影響路徑和派單的因素實在是太多了。有的因素還偏偏是獲取不到的。
林遠把問題總結歸納了下。
好團方面認為外賣行業最值得被最佳化的就是:路徑和派單。而路徑和派單問題因為過於複雜,因而對ai演算法的模型複雜度要求很高,進而就對算力要求很大。且由於存在採集資料缺失的問題,訓練出來的演算法天生肯定存在缺陷。
於是,林遠自然而然地就想到了--要不我拿算力系統來試試?。