數學之美 系列十一 - Google 阿卡 47 的製造者阿米特.辛格博士



槍迷或者看過尼古拉斯.凱奇(Nicolas Cage)主演的電影“戰爭之王”(Lord of
War)的人也許還記得影片開頭的一段話:(在所有輕武器中,)最有名的是阿卡 47( AK47)衝鋒槍(也就是中國的五六式衝鋒槍的原型),因爲它從不卡殼、從不損壞、可在任何環境下使用、可靠性好、殺傷力大並且操作簡單。

我認爲,在計算機中一個好的算法,應該向阿卡 47 衝鋒槍那樣簡單、有效、可靠性好而且容易讀懂(或者說易操作),而不應該是故弄玄虛。Google 的傑出工程師阿米特.辛格博士 (Amit Singhal) 就是爲 Google 設計阿卡 47 衝鋒槍的人,在公司內部,Google 的排序算法便是以他的名字命名的。

從加入 Google 的第一天,我就開始了和辛格長期而愉快的合作,而他一直是我的一個良師益友。辛格、Matt Cutts(中國一些用戶誤認爲他是聯邦調查局特工,當然他不是)、馬丁和我四個人當時一同研究和解決網絡搜索中的作弊問題(Spam)。我們需要建一個分類器,我以前一直在學術界工作和學習,比較傾向找一個很漂亮的解決方案。我設計了一個很完美的分類器,大約要花三個月到半年時間來實現和訓練,而辛格認爲找個簡單有效的辦法就行了。我們於是儘可能簡化問題,一、兩個月就把作弊的數量減少了一半。當時我們和公司工程副總裁羅森打了個賭,如果我們能減少 40% 的作弊,他就送我們四個家庭去夏威夷度假,後來羅森真的履約了。這個分類器設計得非常小巧(只用很小的內存),而且非常快速(幾臺服務器就能處理全球搜索的分類),至今運行得很好。

後來我和辛格一起又完成了許多項目,包括對中、日、韓文排名算法的改進。每一次,辛格總是堅持找簡單有效的解決方案。這種做法在 Google 這個人才濟濟的公司常常招人反對,因爲很多資深的工程師懷疑這些簡單方法的有效性。不少人試圖用精確而複雜的辦法對辛格的設計的各種“阿卡47” 進行改進,後來發現幾乎所有時候,辛格的簡單方法都接近最優化的解決方案,而且還快得多。另一條選擇簡單方案的原因是這樣設計的系統很容易查錯(debug)。

當然,辛格之所以總是能找到那些簡單有效的方法,不是靠直覺,更不是撞大運,而是靠他豐富的研究經驗。辛格早年從師於搜索大師薩爾頓(Salton)教授,畢業後就職於 AT&T 實驗室。在那裏,他和兩個同事半年就搭起了一箇中等規模的搜索引擎,這個引擎索引的網頁數量雖然無法和商用的引擎相比,但是準確性卻非常好。在 AT&T,他對搜索問題的各個細節進行了仔細的研究,他的那些簡單而有效的解決方案,常常是深思熟慮去僞存真的結果。

辛格非常鼓勵年輕人不怕失敗,大膽嘗試。一次一位剛畢業不久的工程師因爲把帶有錯誤的程序推出到 Google 的服務器上而惶惶不可終日。辛格安慰她講,你知道,我在 Google 犯的最大一次錯誤是曾經將所有網頁的相關性得分全部變成了零,於是所有搜索的結果全部是隨機的了。這位工程師後來爲 Google 開發了很多好的產品。

辛格在 AT&T 時確立了他在學術界的地位,但是,他不是一個滿足於做實驗寫論文的人,於是他離開了實驗室來到了當時只有百、十人的 Google。在這裏,他得以施展才智,重寫了 Google 的排名算法,並且一直在負責改進它。辛格因爲捨不得放下兩個孩子,很少參加各種會議,但是他仍然被學術界公認爲是當今最權威的網絡搜索專家。2005年,辛格作爲傑出校友被請回母校康乃爾大學計算機系在 40 年系慶上作報告,獲得這一殊榮的還有大名鼎鼎的美國工程院院士,計算機獨立磁盤冗餘陣列(RAID)的發明人凱茨(Randy Katz) 教授。 
發佈了3 篇原創文章 · 獲贊 4 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章