IBM 中國研究院 Offer 之感言——能力是一種態(tài)度
當(dāng)我對著遠程的大屏,給北京的IBM中國研究院幾位面試官匯報完30分鐘技術(shù)報告之后,心里忐忑不安,這已經(jīng)是終面了一關(guān)關(guān)拼得不容易,但卻很精彩!
在之后的幾天,很高興接到了來自IBM兩位高級經(jīng)理的電話,分別給我介紹了他們部門情況和項目情況,表示我的報告印象深刻,能力很突出真的是非常感謝他們能給我這個機會!
訣竅
我不是聰明過人的人,但是我相信自己的研究能力,這來源于一個訣竅我悟出一條定律,那就是:能力是一種態(tài)度!
簡單解釋如下:這世界上不缺乏聰明人,但是缺乏懂得運用自己聰明才智的人。
今天的帖子,我希望通過7個真實的故事,去詮釋這條定律能力是一種態(tài)度!
1. 我通過qq在課題組做了一次試驗,將同一個問題群發(fā)給了6個成員,有3個人回復(fù)我:這個我沒遇到過,不會做啊;有2個去Google了下,大概告訴了解了 應(yīng)該怎么弄;有一個人,做程序試驗了不同方法的優(yōu)劣,告訴我最好的方法是什么。多年以后,對很多問題都報以沒遇到過,不會啊的人,和能力在積累的人,雖然 一樣聰明,但是差距就很大了。
2. 行人仿真系統(tǒng)研發(fā)的初期,我突然發(fā)現(xiàn)A*算法和Social Force Model特別有意思,就鉆了進去,花了一些時間把它們研究透徹當(dāng)我興致勃勃給老板介紹完各種模型算法之后,老板說:你去給領(lǐng)導(dǎo)介紹這些模型算法是沒用 的,他們要的是效果,模型是無止境的。當(dāng)時我也很沮喪,但是后來事實證明,我的不務(wù)正業(yè)是對的!因為智能化的動態(tài)尋路能力成為了我們系統(tǒng)的核心創(chuàng)新點,也 是每次項目介紹中最得意的內(nèi)容。
3. 給北京做的城市軌道交通運營輔助決策系統(tǒng)是要在08奧運前上線的,時間很緊,臨近系統(tǒng)調(diào)試的時候,北京測試人員突然打電話說發(fā)現(xiàn)某些車站之間候選路徑似乎 少了一條當(dāng)時大家都認(rèn)為可能就是邊界條件問題,稍微改改就好了。我研究了下這個K短路算法(其他人負責(zé)開發(fā)的)發(fā)現(xiàn)竟是理論上的缺陷
一時半會兒又沒辦法給領(lǐng)導(dǎo)解釋清楚,我就決定重寫這個部分,用數(shù)據(jù)來說明。由于時間太緊,在北京回上海的火車上看這些很多文獻,憑借著良好的A*算法基礎(chǔ),很快設(shè)計出新的算法。通過測試發(fā)現(xiàn),老算法共丟了500多條路徑!(總共十幾萬條左右),這時候大家總算舒了一口氣了
但我并沒有罷休,因為匆忙,算法速度不快。繼續(xù)花了幾天,將北京軌道網(wǎng)絡(luò)中2萬多OD之間清分計算時間優(yōu)化到10多分鐘,最后優(yōu)化到1分鐘(在我筆記本上)。上線調(diào)試當(dāng)天,領(lǐng)導(dǎo)贊嘆道:這算法可真是又快又準(zhǔn)啊!
4. 還是上面這個系統(tǒng)的故事:當(dāng)時北京路網(wǎng)基礎(chǔ)數(shù)據(jù)是一個碩士負責(zé)錄入的,他畢業(yè)以后,上海路網(wǎng)數(shù)據(jù)沒人弄了,老板叫我去做。雖然只是半天時間的體力活,但是心里很不是滋味
雖然有人勸說:花個半天搞定算了哦!但是我決心不用笨辦法我花了一個星期,憑借曾經(jīng)開發(fā)的二維矢量圖形庫,設(shè)計出一個智能化的基礎(chǔ)數(shù)據(jù)管理子系統(tǒng), 只需要在圖上簡單點擊,然后拷入excel中的車站名稱和代碼,系統(tǒng)自動識別,然后再自動生成區(qū)間、換乘關(guān)系等等6張數(shù)據(jù)庫表需要的全部數(shù)據(jù)。后來課題組 利用這個工具構(gòu)建了很多路網(wǎng),因為非常簡單,這個子系統(tǒng)也成為了后來863中網(wǎng)絡(luò)客流仿真系統(tǒng)的基礎(chǔ)。
5. 上物流系統(tǒng)課老師提到一個著名的NP問題Vehicle Routing Problem,要求大家回去寫寫系統(tǒng)設(shè)計書。我當(dāng)時就決定要開發(fā)這個系統(tǒng),后來的幾個星期,我發(fā)現(xiàn)遺傳算法和自然界的規(guī)律真的是如此的吻合,達到了如癡 如醉的地步,被女朋友嘲笑為:整天關(guān)在屋里下崽后來結(jié)果是,我設(shè)計的遺傳算法,不但能夠求解最少需要多車,還能找到總里程很短的方案。
6. 在斯坦福訪學(xué)主要是參與一個疏散仿真系統(tǒng)的研究。但是,由于有遺傳算法的背景,另外一個教授介紹我參加他們的一個課題辦公大樓改造優(yōu)化方案的輔助決策系統(tǒng)。
剛開始我認(rèn)為這是一個確定性問題,因此采用A*算法得到了比較好的效果,已經(jīng)可以滿足項目需求了。我想為了作對比,又設(shè)計了遺傳算法,居然發(fā)現(xiàn)在少 數(shù)情況下能變異到更好解。大量實驗后,我發(fā)現(xiàn)了兩種算法雖然原理差別很大,數(shù)據(jù)結(jié)構(gòu)上卻存在內(nèi)在聯(lián)系,能夠組合成一種具備通用性的框架,解決大量離散優(yōu)化 問題。
完全出于對科學(xué)問題本身的癡迷,我并沒有罷手自行設(shè)計了一種數(shù)據(jù)結(jié)構(gòu)替換哈希表,將兩個算法性能同時提升10倍之多(在遺傳算法中提出了花名冊的概 念),后來又發(fā)明一種交叉算法,再次將遺傳算法提升十幾倍。當(dāng)時測試案例的人說已經(jīng)完全跟不上了(已經(jīng)讓他反復(fù)做了好多次了),因此最后我們paper里 面的數(shù)據(jù)不是我最快的算法得到的。
7. 利用上面的離散優(yōu)化問題搜索框架,我發(fā)現(xiàn)還可以解決《編程之美》中的許多問題。在大家都忙于找工作面試的時候,我卻整整花了一個月關(guān)在寢室里研究《編程之 美》,有時候挑戰(zhàn)一個題目整整花去1天時間,當(dāng)時我身邊的人都說我不務(wù)正業(yè),我自己都有點懷疑了。可是事實證明,這份研究不但證明了興趣,還證明了我的算 法能力,對后來找工作很有幫助。
結(jié)論
通過上面的故事,我想已經(jīng)可以證明我這個定律了能力是一種態(tài)度。如果要問態(tài)度是什么,那么我想是一種單純的,沒有任何功利的科學(xué)態(tài)度,對問題本身的執(zhí)著。