第三十章:算法大賽(四更)
書迷正在閱讀:重生之全能明星學(xué)霸不太易、紅樓之賈赦修仙記、[綜漫]在下才不要穿小洋裙、抗日之超級壯丁、紅樓之貴妃是個小花精、拯救二次元美女、他的陸太太很甜、抗戰(zhàn)雙子星、變身最強(qiáng)之病弱七實(shí)、大宋超級學(xué)霸
算法大賽是由國內(nèi)知名的細(xì)細(xì)打車公司,于四月份在燕京召開的u生態(tài)大會上提出的,在演講中李思燕表示,今年細(xì)細(xì)將舉辦首屆“細(xì)細(xì)世界調(diào)度算法大賽”。 根據(jù)介紹,從生態(tài)大會舉行的那天起,世界上所有的團(tuán)隊(duì)、個人都可以在細(xì)細(xì)移動端、c端官網(wǎng)上了解詳細(xì)的賽程及流程,并且在大會結(jié)束一周以內(nèi)可以開始報名活動,在“細(xì)細(xì)世界調(diào)度算法大賽”開始的第三天,也就是7月26號截止報名。 這次算法舉辦的目的是,希望與廣大開發(fā)者一起探索算法的更多可能。 算法大賽設(shè)置了獎項(xiàng),第一名是50萬元的獎金,第二名是20萬元獎金,還有第三名10萬元獎金。 打車出行,是我們?nèi)粘3鲂械囊粋€重要的組成部分,已經(jīng)有幾百年的歷史,不過在早期是黃包車,再往前是馬車。 到了21世紀(jì),互聯(lián)網(wǎng)和打車的結(jié)合,給大家的出行帶來了更多的便捷之處。 現(xiàn)在人們只需要在手機(jī)上下一個軟件,乘客在上面說要在何時何地上車在什么地方下車,細(xì)細(xì)打車公司就會通過后臺,給安裝了司機(jī)版本a的手機(jī)上推送相應(yīng)的消息。司機(jī)師傅看到后,可以在手機(jī)上cao作選擇是否接單。 如果有師傅接單,打車者的手機(jī)就能收到已接單的提醒,然后就可以通過手機(jī)a看到車輛的位置、車牌號,還有司機(jī)的手機(jī)號碼。 一般情況下司機(jī)會打個電話確認(rèn)一下,只需要到時候乘客出現(xiàn)在約定好的上車地點(diǎn)就行,然后司機(jī)就開車帶著乘客去目的地。 到了目的地,可以選擇現(xiàn)金支付或者在線支付,這個流程就算是完成了。 但是調(diào)度是由以下各個環(huán)節(jié)組成的預(yù)測目的地、價格預(yù)估、時間預(yù)估、最佳路徑匹配、司機(jī)和乘客匹配、訂單分派、供需預(yù)測、預(yù)測乘客體驗(yàn)。 其中,司機(jī)和乘客匹配、訂單分配是智能調(diào)度的核心。 在某個時刻有成千上萬的乘客,同時也有成千上萬的空閑車輛,要完成司機(jī)和乘客的最優(yōu)匹配,最大限度提升匹配率和成交率。 一個好的調(diào)度算法,能讓乘客等待更少的時間,帶來更好的體驗(yàn),同時也能讓司機(jī)在相同的時間拉更多的人,帶來更多的收入。 林奇詳細(xì)的了解了這些存在的問題之后,就開始搜集相關(guān)的信息,然后進(jìn)行調(diào)度算法的開發(fā)。 首先下載了一個小城市的地圖,包含了大部分的商家、辦公樓、地鐵入口、公交站點(diǎn)、電影院、酒店、飯店、公園、小區(qū)等和生活息息相關(guān)的場所。然后寫程序模擬城市中的隨機(jī)乘客和固定數(shù)量的出租車。 沒有拉人的時候,出租車在路上來回的跑,范圍一般在自己家附近,也不跑太遠(yuǎn)的地方。 模擬的機(jī)器人有了出行計劃之后,就會用手機(jī)打車,然后通知附近的車輛。算法會根據(jù)司機(jī)的位置,和上車地點(diǎn)目的地,這些所有的相關(guān)因素,綜合考慮起來,最后給相關(guān)的人推薦,然后模擬司機(jī)搶單模式。 通過這樣的方式,用一些固定的人固定的時間打車到不同的地方,來訓(xùn)練自己的算法程序。 剛開始的時候,林奇發(fā)現(xiàn)自己的算法,總是不盡人意。 分配的的訂單總是有問題,有的時候給某些人分配的比較多的,而其他人分配的較少,并且乘客的等待時間,還有司機(jī)的等待時間、收入都不是很滿意。 于是林奇不斷地調(diào)整算法,每一次調(diào)整都是在曲折中前進(jìn),優(yōu)化了很多次,每次能做到讓乘客和司機(jī)更加滿意。 不過還是無法和細(xì)細(xì)公司,公布出來的算法的結(jié)果相比。 一直到比賽的前幾天,林奇才想到了一個新的算法,能更加優(yōu)化這個算法。經(jīng)過在不同的數(shù)據(jù)集里面測試,林奇發(fā)現(xiàn)這個算法模型比官方公布的數(shù)據(jù)效果還要好。 到了參賽的時間,林奇非常有信心的帶上了自己的程序坐上火車去參加比賽。 做火車到了燕京之后,找到了細(xì)細(xì)公司說的比賽的地方之后,先到簽到處簽了到,然后在一個機(jī)器人充當(dāng)引路人的指導(dǎo)之下來到了比賽大廳。 大廳里面已經(jīng)來了很多的參賽者,大部分都是團(tuán)隊(duì)參賽的,很少有個人參賽,在40多個的參賽隊(duì)伍中僅僅有3個是個人參賽。 林奇仔細(xì)看了參賽人員的配置,發(fā)現(xiàn)他們都自己帶了電腦。 林奇有點(diǎn)尷尬,自己家里只有一個臺式機(jī),雖然性能還可以,但是太大了,自己來的時候也沒有打包帶來,結(jié)果到了這里遇到了沒有電腦可用的尷尬局面。 趕緊向工作人員反映這個情況,大會的組織人員也驚呆了,他們也沒有想到居然會有人不帶電腦就來參賽,也怪公司沒有在官網(wǎng)上說明必須自己帶電腦,不過話又說回來,現(xiàn)在搞開發(fā)的,誰還沒有一個筆記本電腦。 經(jīng)過協(xié)調(diào)之后,工作人員從細(xì)細(xì)公司來參加比賽的同事那里,借來了一臺acbook給林奇救急一下,并告訴了他電腦的密碼。 林奇拿著acbook,打開了蓋子。輸入密碼后,進(jìn)入了系統(tǒng),因?yàn)橹傲制鎻膩頉]有用過ac電腦,所以對這個系統(tǒng)不是特別熟悉,進(jìn)入了系統(tǒng)后林奇第一件事就是馬上熟悉下新系統(tǒng)的使用。 算法大賽的主持人在臺上開始了激情的演講。 首先是細(xì)細(xì)的cto開始了一段激情的演講,從細(xì)細(xì)的創(chuàng)立之初講到了細(xì)細(xì)是如何發(fā)展成為現(xiàn)在這樣大的規(guī)模,是怎么在之前的殘酷的戰(zhàn)爭中勝利的,還有舉辦這場算法大塞的目的。 洋洋灑灑的一個小時過去了,除了林奇以外(林奇沒有聽過這些演講所以很有興趣),大家都有點(diǎn)想睡覺的時候,cto終于結(jié)束了他的演講。 主持人接著開始了他的主持。 “我們今天的比賽是在一個虛擬的地圖上進(jìn)行的,這次的地圖是由軟件隨機(jī)生成的一個大型而復(fù)雜的虛擬城市地圖,再生成過程中參考了很多城市建筑,所以雖然是虛擬地圖,但是也有很大的參考意義。和之前相同的是同樣的是出租車的數(shù)量是固定的,還有隨機(jī)出來了一些乘客,目的地也是隨機(jī)的。但是每一個人拿到的都是相同的副本。我背后的大屏幕上出現(xiàn)的下載地址,是這次比賽需要用到的素材,大家可以自行下載。” “從現(xiàn)在開始在接下來的5個小時內(nèi),大家可以根據(jù)這個地圖模型來隨意調(diào)整自己的算法,你們可以在本地模擬多次,也可以提交多次,結(jié)果以最好的為準(zhǔn)?!?/br> 林奇在電腦中輸入了大屏幕顯示的地址,開始下載模型,在剛才cto演講的時候,林奇已經(jīng)把他寫的程序考到了電腦上,并且編譯好了。 之前林奇在測試時候,就發(fā)現(xiàn)了一個問題,每次寫了之后都要重新編譯,會花費(fèi)一定的時間。 后來林奇把程序修改了,只要程序改動不大,直接就能熱編譯,且編譯速度非常的快,這給林奇帶來了一些時間上的優(yōu)勢。 在這場比賽中這樣的時間優(yōu)勢,也給林奇帶來了不少的優(yōu)勢。 最終,林奇在這個算法大賽中獲得了第二名。第一名受邀上臺,講了一下自己算法的核心思想。 林奇聽完之后,感覺自己進(jìn)入了一個神奇的世界。這個算法讓林奇眼前一亮,頓時又有了新的想法,要不是時間不允許,林奇相信自己絕對能寫出來比他更好的算法。 大會剛結(jié)束,林奇就趕緊向家里打了一個電話,說自己這次算法贏得了第二名,獎金有20萬之多。 家里人聽到之后,都非常的激動,二十萬啊,一輩子都沒有見過這么多錢,如果全部換成現(xiàn)金得有好幾斤重吧! 贏得了20萬元的獎勵,林奇一路上高興的都沒有睡著覺。 回到家里,林奇把獎金都給了父母,和父母商量了一下,用一萬多塊錢買了一臺acbook電腦,林奇在參賽的時候用過這個電腦,就對這個電腦念念不忘。 最后林奇開始了暑假最后一個月的沖刺。 只是他不知道他這一個月給開源世界帶來了多大震驚。