一次叫車,滴滴計算576億次,背後說明了什麼?
乘客一次叫車,滴滴在毫秒之間需要計算576億次。這個數字看起來有點兒略驚人,為什麼叫一次車,需要計算那麼多次?這個驚人的數字到底背後說明了什麼?
576億次是指CPU指令集
滴滴的576億次計算,是一種通俗的說法,嚴格地講,指的是576億CPU指令集。
為什麼叫一個車,需要運算這麼多次?打個比方,用滴滴叫車,跟搜索的邏輯不一樣,網上的商品、資訊,都是靜態停留在那裡,計算方式只是將這個商品、信息挖掘出來即可。而滴滴的計算則類似於動態打靶,車輛永遠在運動當中,要在眾多運動的車輛中,給乘客一個最優的選擇,這明顯是要比靜態挖掘複雜很多,所以,這也就導致滴滴對計算能力的要求必須很高。
乘客打開APP界面,滴滴就開始計算。乘客輸入目的地需要解析,路況、路徑,以及不同類型的計程車、快車、專車、順風車、拼車等訂單,都需要計算。而且,不同等級之間的車輛,運力還可以相互打通,來給予乘客最優的出行選擇,這樣又會讓計算量呈幾何級增長。
為什麼滴滴對計算能力要求那麼高?因為每一次有一個訂單發出來,滴滴不是簡單地對周圍有多少可用的司機,馬上做一個最近的匹配,從長期運營經驗來看,這樣的匹配並不是最優的。因為在訂單量巨大的情況下,一毫秒之後,很可能馬上就有另外的訂單出現,這個剛剛派出去的司機,也許對於第二位乘客來說才是更優的選擇。目前,滴滴的演算法是等兩秒鐘,攢了一批訂單。這兩秒鐘攢的訂單中,乘客形成一個需求池,司機形成一個運力池,兩個池子之間形成巨大的運算矩陣。
龐大的運算矩陣
在每一個矩陣中,滴滴都需要大量的計算,比如,司機與顧客的距離、路況怎麼樣、要做路徑規劃、預測接駕時間、司機的服務分怎麼樣、乘客的個人畫像喜好怎麼樣?以上各種值,滴滴會在0到1之間打分,值越大表示相關性越高。在做了一個矩陣以後,滴滴要做一個最大的撮合值,要在這兩秒鐘中,總體上都是最優的。這裡面對實時的計算要求非常高,如果算得慢了,幾百毫秒沒有算過來,司機已經掉頭了,那麼就是白算了。
不僅要保證每對乘客、司機之間的匹配最優,滴滴還要計算區域之間的最優。不同的區域情況不一樣,比如,有一些區域是供過於求,司機多、乘客少;有一些區域是供不應求,司機少、乘客多。這是滴滴計算的強項,如何讓整個區域達到全局的供需平衡,一發單馬上就有司機接單。
另外,滴滴還需要考慮每一次的調度,對未來的影響,因為每一次的調度都會影響下一次的狀況。就像下棋一樣,每動一個棋子,都會改變未來的局勢。所以,滴滴會做未來的預測,大家知道下圍棋棋盤上面只有19×19,而滴滴瞬間調度的車輛有數十萬部,這比下圍棋複雜一百倍以上。所以,滴滴要計算的數據量是極其巨大的。
這是滴滴大致的出行引擎架構圖,一個訂單進來之後,滴滴會以一個區域為一個單位,司機、乘客進行撮合,撮合以後再來歸併。歸併以後通過長鏈接服務來通知司機接單,這裡面有一個巨大的集群來計算。
這是滴滴的供需預測熱力圖,當前,滴滴對所有的地圖上做一個分槽,劃分為正六邊形的一個個小覆蓋,每一個正六邊形,目前邊長是700米,差不多一平方公里多一點的範圍。紅的區域表示訂單的數目超過當前可用的司機數目,綠色的區域表示運力是很充沛。在每個城市中,不同的區域會不一樣,有一些區域是供不應求,這是滴滴面臨的問題。最理想的狀況是城市中,每個正六邊形都是綠色,也就是所有區域供需平衡,每一個地方發出來的訂單數跟司機的供給是平衡的。當然,這背後對整個運力和調度是巨大的挑戰,滴滴目前對每一個格子裡面,甚至每一棟樓裡面大概會有多少單發出來,我們會在未來15分鐘做一個預測,預測的精準性達到85%。預測的精準度,會有利於運力調度,從而達到達到全局的平衡。
需要解決世界級的出行難題
滴滴本身平台的數據量非常多,滴滴(含優步中國)平台上,有超過1700萬司機夥伴,全職的,兼職的,白領上班族順路帶個同路人的。他們在超過四百個城市,為接近4億用戶服務。在經濟轉型的時期,滴滴為這麼多人提供了靈活就業機會,讓大家能有實實在在的收入,有一個體面的工作機會,其中有很多是下崗職工和退伍軍人。技術是滴滴的發展引擎。滴滴平台每天新增軌跡原始數據超過70TB數據(相當於7萬部電影),每日處理超過90億次路徑規劃請求,日均定位數據超過130億。規模巨大的數據24小時不間斷地強化著我們的機器學習能力,實現演算法的自我改善。
其實,滴滴面臨著真正世界級的、前所未有的調度難題,這意味著滴滴對人工智慧的需求,也是世界級的、前所未有的。過去移動互聯網從來沒有面臨過的,未來可能同時有上千萬車在滴滴上調度,這比飛機調度複雜非常多,飛機的調度只是在飛機場裡面,飛機都是固定時間起飛,而滴滴平台上都是動態化的。
中國的數據比世界上更複雜,中國人口非常多,這就意味著交通、車更為複雜。滴滴每日服務超過2000萬人次,在北美加上Uber等等所有的移動出行加起來,每日服務大約300萬人次,中國光滴滴一家的服務量就是北美移動出行的七倍以上。如果滴滴把中國的問題解決好,那麼肯定在全世界是最好的計算能力。
中國的出行需求巨大,運力比較缺,而且道路資源也不夠,種種問題的存在,這讓滴滴業務平台應對的訂單數、複雜度、數據量,包括路網的複雜、整個供需的不平衡,都是世界級的難題。國外研究交通的人,研究的是交通路網是非飽和的,而在中國絕大部分的路網是飽和的。所以,交通優化,路徑演算法在中國的場景都是不一樣的,這些都讓滴滴面對的問題複雜度、問題的規模、需求量都是世界級的難題。
因此,一次叫車,滴滴毫秒間計算576億次,正是利用大數據、人工智慧等高科技,為了給用戶最優的選擇。而且,滴滴在中國解開複雜交通難題的同時,積累起來的大數據、黑科技、人工智慧等科技優勢,也將會給用戶帶來更便利的出行服務。
推薦閱讀:
※數據帶你領略,超市貨架的擺放藝術
※有沒有因為沒有使用大數據而失敗的公司?
※獨立DSP未來預測(上)——數字營銷2017職業雞湯
※第三屆大數據金融論壇北京峰會來襲 數據核心場景革命