統治世界的十大算法

36氪 於 20/02/2015 發表 收藏文章

6、整數因子分解

這是一個在計算領域使用頻繁的數學算法。如果沒有這一算法,密碼術就會變得不安全得多。整數因子分解是用來將一個合數分解成一系列素因子的一系列步驟。 整數因子分解可被視為是FNP問題(FNP是難以解決的典型NP問題的擴展)。

許多密碼協議均基於難以分解的大型合數或相關問題。比方說前面提到的RSA問題。如果有算法能夠有效分解任意數字,那麼就會使得基於RSA的公鑰密碼系統陷入不安全的境地。

而量子計算的誕生則令此問題的解決變得容易,從而也打開了一個全新的領域,可利用量子世界的屬性來令系統更加安全。

7、鏈接分析


在互聯網時代,不同實體間關係的分析至關重要。從搜索引擎和社交網絡到營銷分析工具,每個人都想找出互聯網的真正結構。

鏈接分析無疑是公眾對算法的最大困惑與迷思之一。其問題在於進行鏈接分析有不同的方式,而增加一些特徵就會令每一算法略有不同(從而使得算法受到專利保護),但基本上這些算法都是類似的。

鏈接分析算法首先由Gabriel Pinski和Francis Narin在1976年發明。其背後的思路很簡單,即把圖譜以矩陣的形式表示,從而轉為特徵值問題,而特徵值有助於了解圖譜結構及每個節點的相對重要性。

Google的PageRank,Facebook展示新聞源,Google+,Facebook朋友推薦,LinkedIn工作及聯繫人推薦,Netflix與Hulu的電影推薦,YouTube視頻推薦等均使用了鏈接分析算法。雖然每個都有不同的目標和參數,但其背後的數學是一樣的。

儘管Google似乎是利用此類算法的第一家公司,但是實際上百度創始人李彥宏在Google誕生2兩年前做的搜索引擎“RankDex”已經利用這種思路來進行搜索排名了。

8、比例積分微分算法

如果你用過飛機、汽車、微型服務或手機網絡,如果你在工廠呆過或者見過機器人,那麼你已經見識過這一PID算法的作用了。

該算法利用了控制迴路機制來讓期望輸出信號與實際輸出信號之間的錯誤降到最小。只要需要信號處理或需要電子系統來控制自動化的機械、水力或熱力系統就要用到它。

因此可以說如果沒有這一算法,人類的現代文明將不復存在。

9、數據壓縮算法

數據壓縮算法無疑是非常重要的,因為幾乎在所有的結構中都要用到。除了最明顯的壓縮文檔以外,網頁下載時也會壓縮,視頻遊戲、視頻、音樂、數據存儲、雲計算、數據庫等等也都要使用壓縮算法。可以說幾乎所有應用都要使用壓縮算法。壓縮算法令系統更有效成本更低,但是要想確定哪一個最重要卻很困難,因為應用不同,使用的壓縮算法從zip到mp3、JPEG或MPEG-2各異。

10、隨機數生成算法

很多應用都需要隨機數。像interlink connection,密碼系統、視頻遊戲、人工智能、優化、問題的初始條件,金融等都需要生成隨機數。但實際上目前我們並沒有“真正”的隨機數生成器,儘管有一些偽隨機數生成器也是非常有效的。

當然,十大算法也可能給有湊數之嫌,審視的角度不同對算法的重要性看法也會很不一樣,如果你​​認為這一榜單有錯漏的地方,不妨在評論中貢獻你的意見。

[本文編譯自:medium.com]


資料來源:36Kr
< 1 2 >

留言


請按此登錄後留言。未成為會員? 立即註冊
  • Mark Tsui 於 25/02/2015 評論 NO. 1

    太高級

快捷鍵:←
快捷鍵:→