1. 程式人生 > >谷歌背後的數學

谷歌背後的數學

微信又改版了,為了方便第一時間看到我們的推送,請按照下列操作,設定“置頂”:點選上方藍色字型“程式設計師之家”-點選右上角“…”-點選“設為星標”。

可以啦,讓我們繼續相互陪伴。

本文轉載自:盧昌海個人網站

作者:盧昌海 

連結:http://www.changhai.org/articles/technology/misc/google_math.php

一、引言

在如今這個網際網路時代, 有一家公司家喻戶曉——它自 1998 年問世以來, 在極短的時間內就聲譽鵲起, 不僅超越了所有競爭對手, 而且徹底改觀了整個網際網路的生態。 這家公司就是當今網際網路上的第一搜索引擎: 谷歌 (Google)。

在這樣一家顯赫的公司背後, 自然有許許多多商戰故事, 也有許許多多成功因素。 但與普通商戰故事不同的是, 在谷歌的成功背後起著最關鍵作用的卻是一個數學因素。

本文要談的就是這個數學因素。

谷歌作為一個搜尋引擎, 它的核心功能顧名思義, 就是網頁搜尋。 說到搜尋, 我們都不陌生, 因為那是凡地球人都會的技能。 我們在字典裡查個生字, 在圖書館裡找本圖書, 甚至在商店裡尋一種商品, 等等, 都是搜尋。 只要稍稍推究一下, 我們就會發現那些搜尋之所以可能, 並且人人都會, 在很大程度上得益於以下三條:

搜尋物件的數量較小——比如一本字典收錄的字通常只有一兩萬個, 一家圖書館收錄的不重複圖書通常不超過幾十萬種, 一家商店的商品通常不超過幾萬種, 等等。

搜尋物件具有良好的分類或排序——比如字典裡的字按拼音排序, 圖書館裡的圖書按主題分類, 商店裡的商品按品種或用途分類, 等等。

搜尋結果的重複度較低——比如字典裡的同音字通常不超過幾十個, 圖書館裡的同名圖書和商店裡的同種商品通常也不超過幾十種, 等等。

但網際網路的鮮明特點卻是以上三條無一滿足。 事實上, 即便在谷歌問世之前, 網際網路上的網頁總數就已超過了諸如圖書館藏書數量之類傳統搜尋物件的數目。 而且這還只是冰山一角, 因為與搜尋圖書時單純的書名搜尋不同, 網際網路上的搜尋往往是對網頁內容的直接搜尋, 這相當於將圖書裡的每一個字都變成了搜尋物件, 由此導致的數量才是真正驚人的, 它不僅直接破壞了上述第一條, 而且連帶破壞了二、 三兩條。 在網際網路發展的早期, 象雅虎 (Yahoo) 那樣的入口網站曾試圖為網頁建立分類系統, 但隨著網頁數量的激增, 這種做法很快就 “掛一漏萬” 了。 而搜尋結果的重複度更是以快得不能再快的速度走向失控。 這其實是可以預料的, 因為幾乎所有網頁都離不開幾千個常用詞, 因此除非搜尋生僻詞, 否則出現幾十萬、 幾百萬、 甚至幾千萬條搜尋結果都是不足為奇的。

網際網路的這些 “不良特點” 給搜尋引擎的設計帶來了極大的挑戰。 而在這些挑戰之中, 相對來說, 對一、 二兩條的破壞是比較容易解決的, 因為那主要是對搜尋引擎的儲存空間和計算能力提出了較高要求, 只要有足夠多的錢來買 “裝備”, 這些都還能算是容易解決的——套用電視連續劇《蝸居》中某貪官的臺詞來說, “能用錢解決的問題就不是大問題”。 但對第三條的破壞卻要了命了, 因為無論搜尋引擎的硬體如何強大, 速度如何快捷, 要是搜尋結果有幾百萬條, 那麼任何使用者想從其中 “海選” 出自己真正想要的東西都是幾乎不可能的。 這一點對早期搜尋引擎來說可謂是致命傷, 而且它不是用錢就能解決的問題。

這致命傷該如何治療呢? 藥方其實很簡單, 那就是對搜尋結果進行排序, 把使用者最有可能需要的網頁排在最前面, 以確保使用者能很方便地找到它們。 但問題是: 網頁的水平千差萬別, 使用者的喜好更是萬別千差, 網際網路上有一句流行語叫做: “在網際網路上, 沒人知道你是一條狗” (On the Internet, nobody knows you're a dog)。 連使用者是人是狗都 “沒人知道”, 搜尋引擎又怎能知道哪些搜尋結果是使用者最有可能需要的, 並對它們進行排序呢?

640?wx_fmt=png

在谷歌主導網際網路搜尋之前, 多數搜尋引擎採用的排序方法, 是以被搜尋詞語在網頁中的出現次數來決定排序——出現次數越多的網頁排在越前面。 這個判據不能說毫無道理, 因為使用者搜尋一個詞語, 通常表明對該詞語感興趣。 既然如此, 那該詞語在網頁中的出現次數越多, 就越有可能表示該網頁是使用者所需要的。 可惜的是, 這個貌似合理的方法實際上卻行不大通。 因為按照這種方法, 任何一個象祥林嫂一樣翻來覆去倒騰某些關鍵詞的網頁, 無論水平多爛, 一旦被搜尋到, 都立刻會 “金榜題名”, 這簡直就是廣告及垃圾網頁製造者的天堂。 事實上, 當時幾乎沒有一個搜尋引擎不被 “祥林嫂” 們所困擾, 其中最具諷刺意味的是: 在谷歌誕生之前的 1997 年 11 月, 堪稱早期網際網路鉅子的當時四大搜索引擎在搜尋自己公司的名字時, 居然只有一個能使之出現在搜尋結果的前十名內, 其餘全被 “祥林嫂” 們擠跑了。

二、基本思路

正是在這種情況下, 1996 年初, 谷歌公司的創始人, 當時還是美國斯坦福大學 (Stanford University) 研究生的佩奇 (Larry Page) 和布林 (Sergey Brin) 開始了對網頁排序問題的研究。 這兩位小夥子之所以研究網頁排序問題, 一來是導師的建議 (佩奇後來稱該建議為 “我有生以來得到過的最好建議”), 二來則是因為他們對這一問題背後的數學產生了興趣。

網頁排序問題的背後有什麼樣的數學呢? 這得從佩奇和布林看待這一問題的思路說起。

在佩奇和布林看來, 網頁的排序是不能靠每個網頁自己來標榜的, 無論把關鍵詞重複多少次, 垃圾網頁依然是垃圾網頁。 那麼, 究竟什麼才是網頁排序的可靠依據呢? 出生於書香門第的佩奇和布林 (兩人的父親都是大學教授) 想到了學術界評判學術論文重要性的通用方法, 那就是看論文的引用次數。 在網際網路上, 與論文的引用相類似的是顯然是網頁的連結。 因此, 佩奇和布林萌生了一個網頁排序的思路, 那就是通過研究網頁間的相互連結來確定排序。 具體地說, 一個網頁被其它網頁連結得越多, 它的排序就應該越靠前。 不僅如此, 佩奇和布林還進一步提出, 一個網頁越是被排序靠前的網頁所連結, 它的排序就也應該越靠前。 這一條的意義也是不言而喻的, 就好比一篇論文被諾貝爾獎得主所引用, 顯然要比被普通研究者所引用更說明其價值。 依照這個思路, 網頁排序問題就跟整個網際網路的連結結構產生了關係, 正是這一關係使它成為了一個不折不扣的數學問題。

思路雖然有了, 具體計算卻並非易事, 因為按照這種思路, 想要知道一個網頁 Wi 的排序, 不僅要知道有多少網頁連結了它, 而且還得知道那些網頁各自的排序——因為來自排序靠前網頁的連結更有分量。 但作為網際網路大家庭的一員, Wi 本身對其它網頁的排序也是有貢獻的, 而且基於來自排序靠前網頁的連結更有分量的原則, 這種貢獻與 Wi 本身的排序也有關。 這樣一來, 我們就陷入了一個 “先有雞還是先有蛋” 的迴圈: 要想知道 Wi 的排序, 就得知道與它連結的其它網頁的排序, 而要想知道那些網頁的排序, 卻又首先得知道 Wi 的排序。

為了打破這個迴圈, 佩奇和布林採用了一個很巧妙的思路, 即分析一個虛擬使用者在網際網路上的漫遊過程。 他們假定: 虛擬使用者一旦訪問了一個網頁後, 下一步將有相同的機率訪問被該網頁所連結的任何一個其它網頁。 換句話說, 如果網頁 Wi 有 Ni 個對外連結, 則虛擬使用者在訪問了 Wi 之後, 下一步點選那些連結當中的任何一個的機率均為 1/Ni。 初看起來, 這一假設並不合理, 因為任何使用者都有偏好, 怎麼可能以相同的機率訪問一個網頁的所有連結呢? 但如果我們考慮到佩奇和布林的虛擬使用者實際上是對網際網路上全體使用者的一種平均意義上的代表, 這條假設就不象初看起來那麼不合理了。 那麼網頁的排序由什麼來決定呢? 是由該使用者在漫遊了很長時間——理論上為無窮長時間——後訪問各網頁的機率分佈來決定, 訪問機率越大的網頁排序就越靠前。

為了將這一分析數學化, 我們用 pi(n) 表示虛擬使用者在進行第 n 次瀏覽時訪問網頁 Wi 的機率。 顯然, 上述假設可以表述為 (請讀者自行證明):

640?wx_fmt=png

這裡 pj→i 是一個描述網際網路連結結構的指標函式 (indicator function), 其定義是: 如果網頁 Wj 有連結指向網頁 Wi, 則 pj→i 取值為 1, 反之則為 0。 顯然, 這條假設所體現的正是前面提到的佩奇和布林的排序原則, 因為右端求和式的存在表明與 Wi 有連結的所有網頁 Wj 都對 Wi 的排名有貢獻, 而求和式中的每一項都正比於 pj, 則表明來自那些網頁的貢獻與它們的自身排序有關, 自身排序越靠前 (即 pj 越大), 貢獻就越大。

為符號簡潔起見, 我們將虛擬使用者第 n 次瀏覽時訪問各網頁的機率合併為一個列向量 pn, 它的第 i 個分量為 pi(n), 並引進一個只與網際網路結構有關的矩陣 H, 它的第 i 行 j 列的矩陣元為 Hij = pj→i/Nj, 則上述公式可以改寫為:

640?wx_fmt=png

這就是計算網頁排序的公式。

熟悉隨機過程理論的讀者想必看出來了, 上述公式描述的是一種馬爾可夫過程 (Markov process), 而且是其中最簡單的一類, 即所謂的平穩馬爾可夫過程 (stationary Markov process)[注一], 而 H 則是描述馬爾可夫過程中的轉移概率分佈的所謂轉移矩陣 (transition matrix)。 不過普通馬爾可夫過程中的轉移矩陣通常是隨機矩陣 (stochastic matrix), 即每一列的矩陣元之和都為 1 的矩陣 (請讀者想一想, 這一特點的 “物理意義” 是什麼?)[注二]。 而我們的矩陣 H 卻可能有一些列是零向量, 從而矩陣元之和為 0, 它們對應於那些沒有對外連結的網頁, 即所謂的 “懸掛網頁” (dangling page)[注三]。

上述公式的求解是簡單得不能再簡單的事情, 即:

640?wx_fmt=png

其中 p0 為虛擬讀者初次瀏覽時訪問各網頁的機率分佈 (在佩奇和布林的原始論文中, 這一機率分佈被假定為是均勻分佈)。

三、問題及解決

如前所述, 佩奇和布林是用虛擬使用者在經過很長——理論上為無窮長——時間的漫遊後訪問各網頁的機率分佈, 即 limn→∞pn, 來確定網頁排序的。 這個定義要想管用, 顯然要解決三個問題:

1、極限 limn→∞pn 是否存在?

2、如果極限存在, 它是否與 p0 的選取無關?

3、如果極限存在, 並且與 p0 的選取無關, 它作為網頁排序的依據是否真的合理?

如果這三個問題的答案都是肯定的, 那麼網頁排序問題就算解決了。 反之, 哪怕只有一個問題的答案是否定的, 網頁排序問題也就不能算是得到了滿意解決。 那麼實際答案如何呢? 很遺憾, 是後一種, 而且是其中最糟糕的情形, 即三個問題的答案全都是否定的。 這可以由一些簡單的例子看出。 比方說, 在只包含兩個相互連結網頁的迷你型網際網路上, 如果 p0 = (1, 0)T, 極限就不存在 (因為機率分佈將在 (1, 0)T 和 (0, 1)T 之間無窮振盪)。 而存在幾個互不連通 (即互不連結) 區域的網際網路則會使極限——即便存在——與 p0 的選取有關 (因為把 p0 選在不同區域內顯然會導致不同極限)。 至於極限存在, 並且與 p0 的選取無關時它作為網頁排序的依據是否真的合理的問題, 雖然不是數學問題, 答案卻也是否定的, 因為任何一個 “懸掛網頁” 都能象黑洞一樣, 把其它網頁的機率 “吸收” 到自己身上 (因為虛擬使用者一旦進入那樣的網頁, 就會由於沒有對外連結而永遠停留在那裡), 這顯然是不合理的。 這種不合理效應是如此顯著, 以至於在一個連通性良好的網際網路上, 哪怕只有一個 “懸掛網頁”, 也足以使整個網際網路的網頁排序失效, 可謂是 “一粒老鼠屎壞了一鍋粥”。

為了解決這些問題, 佩奇和布林對虛擬使用者的行為進行了修正。 首先, 他們意識到無論真實使用者還是虛擬使用者, 當他們訪問到 “懸掛網頁” 時, 都不應該也不會 “在一棵樹上吊死”, 而是會自行訪問其它網頁。 對於真實使用者來說, 自行訪問的網頁顯然與各人的興趣有關, 但對於在平均意義上代表真實使用者的虛擬使用者來說, 佩奇和布林假定它將會在整個網際網路上隨機選取一個網頁進行訪問。 用數學語言來說, 這相當於是把 H 的列向量中所有的零向量都換成 e/N (其中 e 是所有分量都為 1 的列向量, N 為網際網路上的網頁總數)。 如果我們引進一個描述 “懸掛網頁” 的指標向量 (indicator vector) a, 它的第 i 個分量的取值視 Wi 是否為 “懸掛網頁” 而定——如果是 “懸掛網頁”, 取值為 1, 否則為 0——並用 S 表示修正後的矩陣, 則:

640?wx_fmt=png

顯然, 這樣定義的 S 矩陣的每一列的矩陣元之和都是 1, 從而是一個不折不扣的隨機矩陣。 這一修正因此而被稱為隨機性修正 (stochasticity adjustment)。 這一修正相當於剔除了 “懸掛網頁”, 從而可以給上述第三個問題帶來肯定回答 (當然, 這一回答沒有絕對標準, 可以不斷改進)。 不過, 這一修正解決不了前兩個問題。 為了解決那兩個問題, 佩奇和布林引進了第二個修正。 他們假定, 虛擬使用者雖然是虛擬的, 但多少也有一些 “性格”, 不會完全受當前網頁所限, 死板地只訪問其所提供的連結。 具體地說, 他們假定虛擬使用者在每一步都有一個小於 1 的機率 α 訪問當前網頁所提供的連結, 同時卻也有一個機率 1-α 不受那些連結所限, 隨機訪問網際網路上的任何一個網站。 用數學語言來說 (請讀者自行證明), 這相當於是把上述 S 矩陣變成了一個新的矩陣 G:

640?wx_fmt=png

這個矩陣不僅是一個隨機矩陣, 而且由於第二項的加盟, 它有了一個新的特點, 即所有矩陣元都為正 (請讀者想一想, 這一特點的 “物理意義” 是什麼?), 這樣的矩陣是所謂的素矩陣 (primitive matrix)[注四]。 這一修正因此而被稱為素性修正 (primitivity adjustment)。

經過這兩類修正, 網頁排序的計算方法就變成了:

640?wx_fmt=png

這個演算法能給上述問題提供肯定答案嗎? 是的, 它能。 因為隨機過程理論中有一個所謂的馬爾可夫鏈基本定理 (fundamental theorem of Markov chains), 它表明在一個馬爾可夫過程中, 如果轉移矩陣是素矩陣, 那麼上述前兩個問題的答案就是肯定的。 而隨機性修正已經解決了上述第三個問題, 因此所有問題就都解決了。 如果我們用 p 表示 pn 的極限[注五], 則 p 給出的就是整個網際網路的網頁排序——它的每一個分量就是相應網頁的訪問機率, 機率越大, 排序就越靠前。

這樣, 佩奇和布林就找到了一個不僅含義合理, 而且數學上嚴謹的網頁排序演算法, 他們把這個演算法稱為 PageRank, 不過要注意的是, 雖然這個名稱的直譯恰好是 “網頁排序”, 但它實際上指的是 “佩奇排序”, 因為其中的 “Page” 不是指網頁, 而是佩奇的名字。 這個演算法就是谷歌排序的數學基礎, 而其中的矩陣 G 則被稱為谷歌矩陣 (Google matrix)。

細心的讀者可能注意到了, 我們還遺漏了一樣東西, 那就是谷歌矩陣中描述虛擬使用者 “性格” 的那個 α 引數。 那個引數的數值是多少呢? 從理論上講, 它應該來自於對真實使用者平均行為的分析, 不過實際上另有一個因素對它的選取產生了很大影響, 那就是 Gnp0 收斂於 p 的快慢程度。 由於 G 是一個 N×N 矩陣, 而 N 為網際網路上——確切地說是被谷歌所收錄的——網頁的總數, 在谷歌成立之初為幾千萬, 目前為幾百億 (並且還在持續增加), 是一個極其巨大的數字。 因此 G 是一個超大型矩陣, 甚至很可能是人類有史以來處理過的最龐大的矩陣。 對於這樣的矩陣, Gnp0 收斂速度的快慢是關係到演算法是否實用的重要因素, 而這個因素恰恰與 α 有關。 可以證明, α 越小, Gnp0 的收斂速度就越快。 但 α 也不能太小, 因為太小的話, “佩奇排序” 中最精華的部分, 即以網頁間的彼此連結為基礎的排序思路就被弱化了 (因為這部分的貢獻正比於 α), 這顯然是得不償失的。 因此, 在 α 的選取上有很多折衷的考慮要做, 佩奇和布林最終選擇的數值是 α = 0.85。

以上就是谷歌背後最重要的數學奧祕。 與以往那種憑藉關鍵詞出現次數所作的排序不同, 這種由所有網頁的相互連結所確定的排序是不那麼容易做假的, 因為做假者再是把自己的網頁吹得天花亂墜, 如果沒有真正吸引人的內容, 別人不連結它, 一切就還是枉然[注六]。 而且 “佩奇排序” 還有一個重要特點, 那就是它只與網際網路的結構有關, 而與使用者具體搜尋的東西無關。 這意味著排序計算可以單獨進行, 而無需在使用者鍵入搜尋指令後才臨時進行。 谷歌搜尋的速度之所以快捷, 在很大程度上得益於此。

四、結語

640?wx_fmt=jpeg

谷歌公司創始人佩奇 (左) 和布林 (右)

在本文的最後, 我們順便介紹一點谷歌公司的歷史。 佩奇和布林對谷歌演算法的研究由於需要收集和分析大量網頁間的相互連結, 從而離不開硬體支援。 為此, 早在研究階段, 他們就四處奔走, 為自己的研究籌集資金和硬體。 1998 年 9 月, 他們為自己的試驗系統註冊了公司——即如今大名鼎鼎的谷歌公司。 但這些行為雖然近乎於創業, 他們兩人當時卻並無長期從商的興趣。 1999 年, 當他們覺得打理公司干擾了自己的研究時, 甚至萌生了賣掉公司的想法。

他們的開價是 100 萬美元。

與谷歌在短短几年之後的驚人身價相比, 那簡直就是 “跳樓大甩賣”。 可惜當時卻無人識貨。 佩奇和布林在矽谷 “叫賣” 了一圈, 連一個買家都沒找到。 被他們找過的公司包括了當時搜尋業巨頭之一的 Excite (該公司後來想必連腸子都悔青了)。 為了不讓自己的心血荒廢, 佩奇和布林只得將公司繼續辦了下去, 一直辦到今天, 這就是谷歌的 “發家史”。

谷歌成立之初跟其它一些 “發跡於地下室” (one-man-in-basement) 的 IT 公司一樣寒酸: 僱員只有一位 (兩位老闆不算), 工作場所則是一位朋友的車庫。 但它出類拔萃的排序演算法很快為它贏得了聲譽。 公司成立僅僅 3 個月,《PC Magzine》雜誌就把谷歌列為了年度最佳搜尋引擎。 2001 年, 佩奇為 “佩奇排序” 申請到了專利, 專利的發明人為佩奇, 擁有者則是他和布林的母校斯坦福大學。 2004 年 8 月, 谷歌成為了一家初始市值約 17 億美元的上市公司。 不僅公司高管在一夜間成為了億萬富翁, 就連當初給過他們幾十美元 “贊助費” 的某些同事和朋友也得到了足夠終身養老所用的股票回報。 作為公司搖籃的斯坦福大學則因擁有 “佩奇排序” 的專利而獲得了 180 萬股谷歌股票。 2005 年 12 月, 斯坦福大學通過賣掉那些股票獲得了 3.36 億美元的鉅額收益, 成為美國高校因支援技術研發而獲得的有史以來最鉅額的收益之一[注七]。

谷歌在短短數年間就橫掃整個網際網路, 成為搜尋引擎業的新一代霸主, 佩奇和布林的那個排序演算法無疑居功至偉, 可以說, 是數學成就了谷歌[補註一]。 當然, 這麼多年過去了, 谷歌作為 IT 界研發能力最強的公司之一, 它的網頁排序方法早已有了巨大的改進, 由當年單純依靠 “佩奇排序” 演變為了由 200 多種來自不同渠道的資訊——其中包括與網頁訪問量有關的統計資料——綜合而成的更加可靠的方法。 而當年曾給佩奇和布林帶來過啟示的學術界, 則反過來從谷歌的成功中借鑑了經驗, 如今一些學術機構對論文影響因子 (impact factor) 的計算已採用了類似 “佩奇排序” 的演算法。

在本文的最後, 還有一件事情在這裡提一下, 那就是與佩奇和布林研究排序演算法幾乎同時, 有另外幾人也相互獨立地沿著類似的思路從事著研究[注八]。 他們中有一位是當時在美國新澤西州工作的中國人, 他的演算法後來也成就了一家公司——一家中國公司。 此人的名字叫做李彥巨集 (Robin Li), 他所成就的那家公司就是百度。 這些新公司的發展極好地印證了培根 (Francis Bacon) 的一句名言: 知識就是力量。

註釋

1、馬爾可夫過程, 也稱為馬爾可夫鏈 (Markov chain), 是一類離散隨機過程, 它的最大特點是每一步的轉移概率分佈都只與前一步有關。 而平穩馬爾可夫過程則是指轉移概率分佈與步數無關的馬爾可夫過程 (體現在我們的例子中, 即 H 與 n 無關)。 另外要說明的是, 本文在表述上不同於佩奇和布林的原始論文, 後者並未使用諸如 “馬爾可夫過程” 或 “馬爾可夫鏈” 那樣的術語, 也並未直接運用這一領域內的數學定理。

2、在更細緻的分類中, 這種每一列的矩陣元之和都為 1 的隨機矩陣稱為左隨機矩陣 (left stochastic matrix), 以區別於每一行的矩陣元之和都等於 1 的所謂右隨機矩陣 (right stochastic matrix)。 這兩者在應用上基本是等價的, 區別往往只在於約定。

3、這種幾乎滿足隨機矩陣條件, 但有些列 (或行) 的矩陣元之和小於 1 的矩陣也有一個名稱, 叫做亞隨機矩陣 (substochastic matrix)。

4、確切地說, 這種所有矩陣元都為正的矩陣不僅是素矩陣, 而且還是所謂的正矩陣 (positive matrix)。 這兩者的區別是: 正矩陣要求所有矩陣元都為正, 而素矩陣只要求自己的某個正整數次冪為正矩陣。

5、讀者們想必看出來了, p 其實是矩陣 G 的本徵值為 1 的本徵向量, 而利用虛擬使用者確定網頁排序的思路其實是在用迭代法解決上述本徵值問題。 在數學上可以證明, 上述本徵向量是唯一的, 而且 G 的其它本徵值 λ 全都滿足 |λ|<1 (更準確地說, 是 |λ|≤α ——這也正是下文即將提到的 Gnp0 的收斂速度與 α 有關的原因)。

6、當然, 這絕不意味著在網頁排序上已不可能再做假。 相反, 這種做假在網際網路上依然比比皆是, 比如許多廣告或垃圾網頁製造者用自動程式到各大論壇發貼, 建立對自己網頁的連結, 以提高排序, 就是一種常見的做假手法。 為了遏制做假, 谷歌採取了很多技術手段, 並對有些做假網站採取了嚴厲的懲罰措施。 這種懲罰 (有時是誤罰) 對於某些靠網際網路吃飯的公司有毀滅性的打擊力。

7、從投資角度講, 斯坦福大學顯然是過早賣掉了股票, 否則獲利將更為豐厚。 不過, 這正是美國名校的一個可貴之處, 它們雖擅長從支援技術研發中獲利, 卻並不唯利是圖。 它們有自己的原則, 那就是不能讓商業利益干擾學術研究。 為此, 它們通常不願長時間持有特定公司的股票, 以免在無形中干擾與該公司存在競爭關係的學術研究的開展。

8、那些研究與 “佩奇排序” 的類似僅僅在於大方向 (即都利用網際網路的連結結構來決定網頁排序), 而非具體演算法類似。

補註

1、有些讀者對 “是數學成就了谷歌” 這一說法不以為然, 認為是佩奇和布林的商業才能, 或將數學與商業結合起來的才能成就了谷歌。 這是一個見仁見智的問題, 看法不同不足為奇。 我之所以認為是數學成就了谷歌, 是因為谷歌當年勝過其它搜尋引擎的地方只有演算法。 除演算法外, 佩奇和布林當年並無其它勝過競爭對手的手段, 包括商業手段。 如果讓他們去當其它幾家搜尋引擎公司的老總, 用那幾家公司的演算法, 他們是不可能脫穎而出的; 而反過來, 如果讓其它幾家搜尋引擎公司的老總來管理谷歌, 用谷歌的演算法, 我相信谷歌依然能超越對手。 因此, 雖然谷歌後來確實用過不少出色的商業手段 (任何一家那樣巨型的公司都必然有商業手段上的成功之處), 而當年那個演算法在今天的谷歌——如正文所述——則早已被更復雜的演算法所取代, 但我認為谷歌制勝的根基和根源在於那個演算法, 而非商業手段, 因此我說 “是數學成就了谷歌”。 [2011-01-01]

參考文獻

D、Austin, How Google Finds Your Needle in the Web's Haystack.

J、 Battelle, The Birth of Google, Wired (August 2005).

S、Brin and L. Page, The Anatomy of a Large-Scale Hypertextual Web Search Engine, Seventh International World-Wide Web Conference, April 14-18, 1998, Brisbane, Australia.

O、Ibe, Markov Processes for Stochastic Modeling, (Elsevier Academic Press, 2009).

A、N. Langville and C. D. Meyer, Google's PageRank and Beyond: The Science of Search Engine Rankings, (Princeton University Press, 2006).

C、Rousseau and Y. Saint-Aubin, Mathematics and Technology, (Springer, 2008).

公眾號內回覆“1”帶你進粉絲群640?wx_fmt=gif