/盧鶇翔
無論是網際網路,還是手機、電視,現代通訊都遵循資訊理論的規律,整個資訊理論的基礎都是數學。搜尋引擎、語音識別、機器翻譯也都是我們生活中離不開的技術,數學也是解決這些問題的最好工具。在《浪潮之巔》出版後,吳軍將蘊含在這些技術中原本深奧難懂的數學知識和背後的故事, 通過深入淺出的筆端,在《數學之美》中向讀者娓娓道來。
《程式設計師》:《數學之美》集中闡述了對數學和資訊處理這些專業學科的理解,可否再舉乙個數學方法徹底改變了計算機領域的例子?
吳軍:在通訊編碼方面,有個稱為turbo code的方法。以往**傳輸語音時只能使用64kbps頻寬(pcm標準)。如果希望在其基礎之上傳輸資料,也無法超越64kbps的瓶頸,因此通過調 制解調器上網最快只能到56kbps。而利用turbo code則能將**線擴充套件到很多頻帶。頻帶拓寬以後,再利用它提供的一套編碼方法,能夠實現容錯、校驗,保證資料平滑地傳輸。我們今天使用的dsl就得益 於這項數學編碼技術。
dsl技術在20世紀80年代前後就已經被提出,但直到90年代網際網路興起之後才真正得到普及和推廣。因為在此之前, 公司內部計算機往往使用同軸電纜相連,不需要考慮使用**線傳輸大量資料。網際網路興起以後,家庭使用者對**線路傳輸資料有了迫切需要,為這項技術的實踐提供了契機。turbo code還被用於計算機內部的通訊,比如硬碟的控制器,它的應用使得硬碟的傳輸率大大提高,這樣通訊不會成為硬碟資料讀寫的瓶頸。今天的硬碟控制器都用到 了這項技術。在turbo code的解碼中,最重要的演算法是bcjr演算法,乙個典型的應用數學的成果。這個演算法,在《數學之美》書中也提及過。
《程式設計師》:統計學對提高自然語言處理效率發揮了重要的作用,是否還有其他一些數學知識對未來的計算機領域也將發揮重要的作用,值得程式設計師關注?
吳軍:雲計算興起以後,大資料處理日益重要。大資料處理在很大程度上依賴於機器學習,因為對資料進行挖掘不可能由人完成。機器學習對各種數學工具的需求非常 多。過去一些數學工具我們沒有看到特別的用處,比如線性代數,但今天很多分析都仰仗於此。比如pagerank、社交網路關係鏈分析都基於線性代數。
從前我們講到機器智慧型,往往是針對乙個小問題、小專家系統,這已經是公認的很難繼續發展的領域了。然而在有了大資料之後,機器智慧型的問題被集中到了如何最快 地從大量的、看似沒有太多聯絡的資料中獲取知識,這不僅是當今的熱門話題,也是乙個很有意義的事情。在這個過程中,以往研究人員覺得派不上大用場的數學工 具又開始重新發揮重要作用。另外,最大熵模型中最優化理論的很多基礎也是以往大家所忽視的,其中泛函分析就是乙個比較純粹的數學理論,但如今它也有很多實 際應用。
《程式設計師》:對於大學生,以及工作後的程式設計師,如果他們希望進一步學習數學和演算法的知識,你有哪些建議?
吳軍:對於已經工作的人,在知道某個好方法之後,還要在做事的過程中有意識地使用這些好方法,這一點非常重要。
以 中文分析為例,通常我們遇到的問題,可以使用常規語言模型得到比較好地解決,但某些特殊情況,比如詩詞就涉及很多特定分詞,而無法通過常規語言模型處理。 此時有兩個辦法:可以通過編寫一些特別的規則拼湊——這樣寫出的程式必然混亂;但假如你相信這樣的問題不只會出現一次,也可以為此建立乙個特定的語言模 型,並結合常規模型一起解決。程式設計過程中涉及數學的情況非常多,關鍵看你用不用它——是相信存在乙個數學模型能夠解決,還是只圖省事將問題繞過去,差別很 大。
對於在校生,建議多在實驗室參與專案實踐,畢業以後在實驗室之外也繼續實踐。我覺得國內學生學習課程時,課程設計做得太少,很多計算機 系課程的程式設計量,可能連美國同類課程的1/10都不到。此外,如果閱讀與數學相關的工程書籍,我建議選擇從國外引進的譯作,系統性和嚴謹性都好些。關於具 體選擇哪本,還需要看是解決哪個領域的問題。
關於演算法,一直有「道」和「術」的說法,大部分專業書籍介紹的往往是具體演算法,屬於「術」的範疇,讀者在閱讀之後並不容易舉一反三。與此類似,如果僅是了解乙個數學工具或學會解決乙個問題,也存在這樣的弊端。我希望讀者在閱讀書籍之後能夠進一步做 深入的思考,真正掌握演算法的精髓,在遇到需要使用的場合,才可能做到自如運用,這樣才算從本質層面真正學會。否則就算了解再多演算法,問題稍微變化,就會覺 得無所適從。
《程式設計師》:在你的學習經歷中,有沒有希望與讀者分享的經驗?
吳軍:我的學習過程應該與大家沒有很大差別,但作 為工程人員,我學習的內容可能相對多一些、廣泛一些。我所幸的是,在成長的過程中,在學習和工作經歷中,總能和很多各個方面一流的人共事,比如我在清華時 遇到王作英教授、李星教授,在約翰·霍普金斯遇到賈里尼克院士、運籌學大師阿蘭·高德曼院士,在google遇見搜尋名師阿公尺特·辛格院士、計算機系統專 家r·凱茨院士等。我覺得乙個人周圍是什麼朋友,是什麼樣的同事與自己能否取得進步的關係很大。在年輕的時候,選擇工作時,寧可少掙些錢,也要尋找最好的 成長機會。我所從事的計算機領域是乙個應用廣泛、機會很多的領域。但在這個領域中我也見到過許多年輕人,過早地考慮經濟利益,放棄了很多學習的機會,以至 於長期發展缺乏基礎,運用所學知識也難以自如。因此,對自己是否有高要求,追求高的境界,好的方法,對能否取得進步的影響也很大。
《程式設計師》:你提到寫作這本書也是希望it公司的工程主管們能夠帶領自己的部門提高工程水平,對於工程主管,你有哪些經驗希望與他們分享?
吳軍:對於做工程來說,如果使用乙個正確的好方法,未必一定能夠取得成功,因為在整個過程中還有很多非技術因素會發揮作用。但從長遠來看,如果使用乙個不好 的方法和不正確的模型,幾乎可以肯定這個產品不會取得成功。即使短期看起來有效,但做出的產品往往只是山寨的結果。產品是能夠持續受到使用者歡迎,還是曇花 一現,很多時候就在於是否能用正確的方法處理問題,能否真正把握其中的本質規律。
《程式設計師》:princeton大學出版社出版了一本《nine algorithms that changed the future》,其中也講到許多關於搜尋引擎、密碼學方面的知識,可否談談演算法和數學之間的關係?
吳軍:演算法很多時候是以數學為基礎的,比如pagerank,我覺得影響更大的還有viterbi演算法,它是我們今天通訊技術的基礎。還有應用數學一些分 支,比如運籌學、博弈論中的方法,在電腦科學,以及經濟學上都有很多直接應用,這些方法背後的數學是許多計算機演算法的基礎。
《程式設計師》:你是國家核高基專案「新一代搜尋引擎與瀏覽器」的總負責人,可否介紹一下這個專案和目前取得的進展。
數學找規律 number
題幹去內網找。計算方法是可以通過找規律的方法找出來的,但是正規的式子是 f i,k x 1,x mid k,p c ax 1,k x 1 c ax,k x 1 其中 p表示i在二進位制下1的個數,ax表示二進位制下第x高的1所在為代表的2的冪次。可以證明出f i.k f i 1,k 因此滿足的答案連...
擺方格 (數學規律)
點選開啟鏈結 時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述給你乙個n n的方格,每個方格裡的數必須連續擺放如 下圖為不連續的,請輸出從左上角到右下角的對角線上的最大和 輸入輸入包含多組測試資料。每一行包括乙個資料n,表示n n的方格 保證所有資料在2 64範圍內且n 0 輸...
HDU 5312(規律 數學)
思路 這個題看上去是乙個貪心,但是這個貪心顯然是錯的.事實上這道題目很簡單,先判斷1個是否可以,然後判斷2個是否可以.之後找到最小的k k 2 k k 2 使得 m k mod 6 0 m k m od6 0即可.證明如下 3n n 1 1 6 n n 1 2 13n n 1 1 6 n n 1 2...