盤點當今正“主宰”著世界的十大編程算法!

時間:2014-11-04 10:25:00   來源:   評論:加載中...   點擊:加載中...
算法對于我們今天生活十分重要,怎樣宣揚也不會夸張。它們在虛擬世界中無處不在,從金融機構到交友網站。但是,相比于其他算法,其中有一些算法更大程

編程語言 計算機算法 谷歌搜索

算法對于我們今天生活十分重要,怎樣宣揚也不會夸張。它們在虛擬世界中無處不在,從金融機構到交友網站。但是,相比于其他算法,其中有一些算法更大程度上改變并控制著我們的世界——本文列舉了其中十種最為重要的算法。

在正式介紹算法內容之前,讓我們來迅速復習一些基本內容。雖然,沒有明確的定義,但是計算機科學家將算法描述為一個定義了操作順序的規則集合。它們是一組順序指令,用來告訴計算機怎樣解決一個問題或者達到某種既定目標。認識算法的好方法,是將算法可視化為流程圖。

1. Google Search 谷歌搜索

不久之前,搜索引擎成為了互聯網時代的霸主。與搜索引擎一起崛起的還有谷歌和谷歌提出的PageRank算法。

編程語言 計算機算法 谷歌搜索

今天,在美國的核心搜索市場中,谷歌的市場占有率達到了66.7%,其次是微軟(18.1%),雅虎(11.2%),Ask(2.6%),AOL(1.4%)。毋庸置疑,谷歌已經統治了搜索市場,而且我們中的很多人把谷歌作為使用互聯網的主要途徑。

PageRank 的工作依賴于兩個組成部分,一是叫做“蜘蛛”或者“爬蟲”的自動程序,另一部分是關鍵詞索引及其 位置。這個算法通過計算某個網頁的相關鏈接數量和鏈接質量,來大致計算這個網頁的重要性。算法的基本思想是越重要的網頁會有越多的鏈接指向它。這是一個基 本的人氣競賽。除此之外,PageRank算法也考慮了一個網頁中關鍵詞的頻率和出現位置,以及這個網頁發布的時間。

2. Facebook News Feed

雖然我們不愿承認,但是Facebook的新聞提要(NewsFeed)是我們最喜歡浪費時間的地方。除非你的個人偏好已經設置為展示所有事件并且 按照時間順序更新所有好友新聞,不然你看到的新聞是一個預處理之后的選擇,這個預處理是由Facebook的算法為你量身選擇某些新聞而展示。

編程語言 計算機算法 谷歌搜索

為了決定哪些新聞的內容是最有意思的,這個算法會考慮很多因素,比如評論數,發表人(是的,有一個內容的“流行”人物排名,所謂的“流行”人物是與你互動最多的人),發表類型(比如照片、視頻、狀態、更新等等)。

3. OKCupid 情侶匹配

在線交友現在是一個價值20億美元的產業。由于Match.com, eHarmony, and OKCupid等網站的發展,這個產業自從2008年以來每年擴大3.5%。分析家認為這個產業的加速發展在未來五年還將繼續——情有可原:這是情侶遇見 的有效方式。婚戀網站不僅僅造就了更多的成功婚姻,他們也擅長于根據個人不同的喜好和傾向,匹配潛在情侶。當然,這樣的匹配完全是由算法完成的。

編程語言 計算機算法 谷歌搜索

我們將以OKCupid為例,OKCupid是一個免費的婚戀網站,聯合創始人之一是哈佛大學的數學家Christian Rudder。OKCupid采用一種絕對的分析方法促成約會,他們從用戶那里盡力獲取信息。OKCupid 的配對算法不僅僅是簡單地匹配一些共同愛好,同時,每一個問題都被賦予了權重,用來衡量這個問題對于用戶和他們潛在情侶的重要程度。這就是所謂的差異造就 不凡——這是OKCupid成為最高效婚戀網站的原因之一。

4. NSA 數據采集,解讀和加密

我們越來越多地被算法而不是被人觀察。感謝Edward Snowden,我們知道了美國安全局(NSA)及其小伙伴已經暗中監控了上百萬的無辜公民。近期披露的文件顯示,已經有許多的監控項目被 FiveEyes實施,FiveEyes是由美國、澳大利亞、加拿大、新西蘭和英國共同組成的情報組織。它們已經監控了我們的移動電話、電子郵箱、網絡攝 像頭圖像和地理位置信息。同時,“它們”我指的是他們的算法,這其中有太多的數據,人力無法進行收集和解讀。

編程語言 計算機算法 谷歌搜索

有意思的是,NSA聲稱實際上他們并沒有“采集”我們的數據。根據一份1982年的程序手冊,“信息“采集”是指當信息被收集并被國防部情報機構在 職責范圍內使用”。同時“數據由電子系統采集是指信息采集并被轉換為可理解的形式”。英國衛報的Bruce Schneier解釋道:

“ 因此,假設你的朋友在家里有成千上萬的書籍,根據NSA的解釋,他并不“收集”圖書。只有他真正在讀的那些才是他“收集”的圖書,他利用圖書做其他事情時并不能認為他在“收集”圖書。”

這會產生一個問題因為:

計算機算法與人們密切相關。當我們想到計算機算法正在監控我們并且分析我們的個人數據時,我們必須想想在算法背后的人。是不是有人正在看著我們的數據,事實上,他們能做的事情正是監視。

最后,最相關的還有美國國家安全局的Suite B 加密算法,這是一套功能強大的算法,用于加密、數據交換、數字簽名和哈希。機構正是利用這一算法來保護分類以及未分類文件的。

1 2 下一頁 查看全文



相關熱詞搜索:

 
上一篇:TIOBE編程語言排行榜:Dart首次躋身TOP 20
下一篇:HTML5定稿了,為什么原生App世界將被顛覆
收藏 將此文推薦給朋友
分享到:
10个数复式三中三多少组公式