World of Mathematics数学烟云 oogle 谷歌背后的数学 卢昌海 在如今这个互联网时代,有一家家喻户晓的公司,它自通常不超过几十个,图书馆里的同名图书和商店里的同种商 1998年问世以来,在极短的时间内就声誉鹊起,不仅超越了品通常也不超过几十种。 所有竞争对手,而且彻底改观了整个互联网的生态。这家公 但互联网的鲜明特点却是以上三条无一满足。事实上 司就是当今互联网上的第一搜索引擎:谷歌( Google) 即便在谷歌问世之前,互联网上的网页总数就己超过了诸如 在这样一家显赫的公司背后,自然有许许多多商战故图书馆藏书数量之类传统搜索对象的数目。而且这还只是 事,也有许许多多成功因素。但与普通商战故事不同的是,冰山一角,因为与搜索图书时单纯的书名搜索不同,互联 在谷歌的成功背后起着最关键作用的却是一个数学因素。 网上的搜索往往是对网页内容的直接搜索,这相当于将图书 本文要谈的就是这个数学因素 内的每一个字都变成了搜索对象,由此导致的数量才是真 谷歌作为一个搜索引擎,它的核心功能顾名思义,就是正惊人的,它不仅直接破坏了上述第一条,而且连带破坏了 网页搜索。说到搜索,我们都不陌生,因为那是凡地球人都二、三两条。在互联网发展的早期,象 Yahoo那样的门户 会的技能。我们在字典里查个生字,在图书馆里找本图书,网站曾试图为网页建立分类系统,但随着网页数量的激增 甚至在商店里寻一种商品等,都是搜索。如果我们稍稍推究这种做法很快就“挂一漏万”了。而搜索结果的重复度更 下的话,就会发现那些搜索之所以可能,并且人人都会,是以快得不能再快的速度走向失控。这其实是可以预料的 在很大程度上得益于以下三条 因为几乎所有网页都离不开几千个常用词,因此除非搜索 1.搜索对象的数量较小——比如一本字典收录的字生僻词,否则出现几十万、几百万、甚至几千万条搜索结 通常只有一两万个,一家图书馆收录的不重复图书通常不果都是不足为奇的。 过几十万种,一家商店的商品通常不超过几万种等。 互联网的这些“不良特点”给搜索引擎的设计带来了极 2.搜索对象具有良好的分类或排序—一比如字典里大的挑战。而在这些挑战之中,相对来说,对一、二两条的 的字按拼音排序,图书馆里的图书按主题分类,商店里的破坏是比较容易解决的,因为那主要是对搜索引擎的存储空 商品按品种或用途分类等 间和计算能力提出了较高要求,只要有足够多的钱来买“装 3.搜索结果的重复度较低——比如字典里的同音字备”,这些还算是容易解决的。套用电视连续剧《蜗居》中 数学文化/第2卷第1期12
World of Mathematics 数学烟云 数学文化/第2卷第1期 12 在如今这个互联网时代,有一家家喻户晓的公司,它自 1998 年问世以来,在极短的时间内就声誉鹊起,不仅超越了 所有竞争对手,而且彻底改观了整个互联网的生态。这家公 司就是当今互联网上的第一搜索引擎 :谷歌 (Google)。 在这样一家显赫的公司背后,自然有许许多多商战故 事,也有许许多多成功因素。但与普通商战故事不同的是, 在谷歌的成功背后起着最关键作用的却是一个数学因素。 本文要谈的就是这个数学因素。 谷歌作为一个搜索引擎,它的核心功能顾名思义,就是 网页搜索。说到搜索,我们都不陌生,因为那是凡地球人都 会的技能。我们在字典里查个生字,在图书馆里找本图书, 甚至在商店里寻一种商品等,都是搜索。如果我们稍稍推究 一下的话,就会发现那些搜索之所以可能,并且人人都会, 在很大程度上得益于以下三条 : 1. 搜索对象的数量较小——比如一本字典收录的字 通常只有一两万个,一家图书馆收录的不重复图书通常不 超过几十万种,一家商店的商品通常不超过几万种等。 2. 搜索对象具有良好的分类或排序——比如字典里 的字按拼音排序,图书馆里的图书按主题分类,商店里的 商品按品种或用途分类等。 3. 搜索结果的重复度较低——比如字典里的同音字 通常不超过几十个,图书馆里的同名图书和商店里的同种商 品通常也不超过几十种。 但互联网的鲜明特点却是以上三条无一满足。事实上, 即便在谷歌问世之前,互联网上的网页总数就已超过了诸如 图书馆藏书数量之类传统搜索对象的数目。而且这还只是 冰山一角,因为与搜索图书时单纯的书名搜索不同,互联 网上的搜索往往是对网页内容的直接搜索,这相当于将图书 内的每一个字都变成了搜索对象,由此导致的数量才是真 正惊人的,它不仅直接破坏了上述第一条,而且连带破坏了 二、三两条。在互联网发展的早期,象 Yahoo 那样的门户 网站曾试图为网页建立分类系统,但随着网页数量的激增, 这种做法很快就“挂一漏万”了。而搜索结果的重复度更 是以快得不能再快的速度走向失控。这其实是可以预料的, 因为几乎所有网页都离不开几千个常用词,因此除非搜索 生僻词,否则出现几十万、几百万、甚至几千万条搜索结 果都是不足为奇的。 互联网的这些“不良特点”给搜索引擎的设计带来了极 大的挑战。而在这些挑战之中,相对来说,对一、二两条的 破坏是比较容易解决的,因为那主要是对搜索引擎的存储空 间和计算能力提出了较高要求,只要有足够多的钱来买“装 备”,这些还算是容易解决的。套用电视连续剧《蜗居》中 谷歌背后的数学 卢昌海
World of Mathematics数学烟云 某贪官的台词来说,“能用钱解决的问题就不是大问题”。确定排序。具体地说,一个网页被其它网页链接得越多,它 但对第三条的破坏却要了命了,因为无论搜索引擎的硬件如的排序就越靠前。不仅如此,佩奇和布林还进一步提出 何强大,速度如何快捷,要是搜索结果有几百万条,那么任个网页越是被排序靠前的网页所链接,它的排序就也应该越 何用户想从其中“海选”出自己真正想要的东西都是几乎不靠前。这一条的意义也是不言而喻的,就好比一篇论文被诺 可能的。这一点对早期搜索引擎来说可谓是致命伤,而且它贝尔奖得主所引用,显然要比被普通研究者所引用更说明其 不是用钱就能解决的问题。 价值。依照这个思路,网页排序问题就跟整个互联网的链接 这致命伤该如何治疗呢?药方其实很简单,那就是对结构产生了关系,正是这一关系使它成为了一个不折不扣的 搜索结果进行排序,把用户最有可能需要的网页排在最前数学问题 面,以确保用户能很方便地找到它们。但问题是:网页的水 思路虽然有了,具体计算却并非易事,因为按照这种 平千差万别,用户的喜好更是万别千差,互联网上有一句思路,想要知道一个网页W的排序,不仅要知道有多少网 流行语叫做:“在互联网上,没人知道你是一条狗”( On the页链接了它,而且还得知道那些网页各自的排序—因为来 Internet, nobody knows you' re a dog)。连用户是人是狗都“没自排序靠前网页的链接更“值钱”。但作为互联网大家庭的 人知道”,搜索引擎又怎能知道哪些搜索结果是用户最有可一员,W;本身对其它网页的排序也是有贡献的,而且基于 能需要的,并对它们进行排序呢 来自排序靠前网页的链接更“值钱”的原则,这种贡献与W1 在谷歌主导互联网搜索之前,多数搜索引擎采用的排的排序有关。这样一来,我们就陷入了一个“先有鸡还是先 序方法,是以被搜索词语在网页中的出现次数来决定排序,有蛋”的循环之中:想要知道W的排序,就得知道与它链 出现次数越多的网页排在越前面。这个判据不能说毫无道接的其它网页的排序,而想要知道那些网页的排序,却又首 理,因为用户搜索一个词语,通常表明对该词语感兴趣。既先得知道W的排序。 然如此,那该词语在网页中的出现次数越多,就越有可能表 为了打破这个循环,佩奇和布林采用了一个很巧妙的 示该网页是用户所需要的。可惜的是,这个貌似合理的方法思路,即分析一个虚拟用户在互联网上的漫游过程。他们假 实际上却行不大通。因为按照这种方法,任何一个像祥林嫂定:虚拟用户一旦访问了一个网页后,下一步将有相同的几 样翻来复去倒腾某些关键词的网页,无论水平多烂,一旦率访问被该网页所链接的任何一个其它网页。换句话说,如 被搜索到,都立刻会“金榜题名”,这简直就是广告及垃圾网果网页W1有N个对外链接,则虚拟用户在访问了W之后, 页制造者的天堂。事实上,当时几乎没有一个搜索引擎不被下一步点击这些链接中任何一个的几率均为1N。初看起来 祥林嫂”们所困扰,其中最具讽刺意味的是:堪称互联网这一假设并不合理,因为任何用户都有偏好,怎么可能以相 巨子的当年四大搜索引擎在搜索自己公司的名字时,居然只同的几率访问一个网页的所有链接呢?但如果我们考虑到 有一个能使之出现在搜索结果的前十名内,其余全被“祥林佩奇和布林的虚拟用户实际上是对互联网上全体用户的 嫂”们挤跑了。 种平均意义上的代表,这条假设就不象初看起来那么不合理 就是在这种情况下,1996年初,谷歌公司的创始人,了。那么网页的排序由什么来决定呢?是由该用户在漫游了 当时还是美国斯坦福大学( Stanford University)研究生的佩很长时间(理论上为无穷长时间)后访问各网页的几率分布 奇( Larry Page)和布林( Sergey brin)开始了对网页排序问题来决定,访问几率越大的网页排序就越靠前 的研究。这两位小伙子之所以研究网页排序问题,一来是导 为了将这一分析数学化,我们用pn)表示虚拟用户在 师的建议(佩奇后来称该建议为“我有生以来得到过的最好进行第n次浏览时访问网页W1的几率。显然,上述假设可 建议”),二来则是因为他们对这一问题背后的数学产生了以表述为(请读者自行证明) 兴趣。 pn+1)=2jpn)p→NN 网页排序问题的背后有什么样的数学呢?这得从佩奇 和布林看待这一问题的思路说起。在佩奇和布林看来,网页这里B-是一个描述互联网链接结构的指标函数( indicator 的排序是不能靠每个网页自己来标榜的,无论把关键词重复 function),其定义是:如果网页W;有链接指向网页W,则 多少次,垃圾网页依然是垃圾网页。那么,究竟什么才是网P-;取值为1,反之则为0。显然,这条假设所体现的正是 页排序的可靠依据呢?出生于书香门第的佩奇和布林(两人前面提到的佩奇和布林的排序原则,因为右端求和式的存在 的父亲都是大学教授)想到了学术界评判学术论文重要性的表明与W有链接的所有网页W都对W的排名有贡献,而 通用方法,那就是看论文的引用次数。在互联网上,与论文求和式中的每一项都正比于p,则表明来自那些网页的贡献 引用相类似的是显然是网页链接。因此,佩奇和布林萌生了与它们的自身排序有关,自身排序越靠前(即p越大),贡 一个网页排序的思路,那就是通过研究网页间的相互链接来献就越大。 数学文化/第2卷第1期
World of Mathematics 数学烟云 数学文化/第2卷第1期 13 某贪官的台词来说,“能用钱解决的问题就不是大问题”。 但对第三条的破坏却要了命了,因为无论搜索引擎的硬件如 何强大,速度如何快捷,要是搜索结果有几百万条,那么任 何用户想从其中“海选”出自己真正想要的东西都是几乎不 可能的。这一点对早期搜索引擎来说可谓是致命伤,而且它 不是用钱就能解决的问题。 这致命伤该如何治疗呢?药方其实很简单,那就是对 搜索结果进行排序,把用户最有可能需要的网页排在最前 面,以确保用户能很方便地找到它们。但问题是 :网页的水 平千差万别,用户的喜好更是万别千差,互联网上有一句 流行语叫做 :“在互联网上,没人知道你是一条狗”(On the Internet, nobody knows you're a dog)。连用户是人是狗都“没 人知道”,搜索引擎又怎能知道哪些搜索结果是用户最有可 能需要的,并对它们进行排序呢? 在谷歌主导互联网搜索之前,多数搜索引擎采用的排 序方法,是以被搜索词语在网页中的出现次数来决定排序, 出现次数越多的网页排在越前面。这个判据不能说毫无道 理,因为用户搜索一个词语,通常表明对该词语感兴趣。既 然如此,那该词语在网页中的出现次数越多,就越有可能表 示该网页是用户所需要的。可惜的是,这个貌似合理的方法 实际上却行不大通。因为按照这种方法,任何一个像祥林嫂 一样翻来复去倒腾某些关键词的网页,无论水平多烂,一旦 被搜索到,都立刻会“金榜题名”,这简直就是广告及垃圾网 页制造者的天堂。事实上,当时几乎没有一个搜索引擎不被 “祥林嫂”们所困扰,其中最具讽刺意味的是 :堪称互联网 巨子的当年四大搜索引擎在搜索自己公司的名字时,居然只 有一个能使之出现在搜索结果的前十名内,其余全被“祥林 嫂”们挤跑了。 就是在这种情况下,1996 年初,谷歌公司的创始人, 当时还是美国斯坦福大学 (Stanford University) 研究生的佩 奇 (Larry Page) 和布林 (Sergey Brin) 开始了对网页排序问题 的研究。这两位小伙子之所以研究网页排序问题,一来是导 师的建议(佩奇后来称该建议为“我有生以来得到过的最好 建议”),二来则是因为他们对这一问题背后的数学产生了 兴趣。 网页排序问题的背后有什么样的数学呢?这得从佩奇 和布林看待这一问题的思路说起。在佩奇和布林看来,网页 的排序是不能靠每个网页自己来标榜的,无论把关键词重复 多少次,垃圾网页依然是垃圾网页。那么,究竟什么才是网 页排序的可靠依据呢?出生于书香门第的佩奇和布林(两人 的父亲都是大学教授)想到了学术界评判学术论文重要性的 通用方法,那就是看论文的引用次数。在互联网上,与论文 引用相类似的是显然是网页链接。因此,佩奇和布林萌生了 一个网页排序的思路,那就是通过研究网页间的相互链接来 确定排序。具体地说,一个网页被其它网页链接得越多,它 的排序就越靠前。不仅如此,佩奇和布林还进一步提出,一 个网页越是被排序靠前的网页所链接,它的排序就也应该越 靠前。这一条的意义也是不言而喻的,就好比一篇论文被诺 贝尔奖得主所引用,显然要比被普通研究者所引用更说明其 价值。依照这个思路,网页排序问题就跟整个互联网的链接 结构产生了关系,正是这一关系使它成为了一个不折不扣的 数学问题。 思路虽然有了,具体计算却并非易事,因为按照这种 思路,想要知道一个网页 Wi 的排序,不仅要知道有多少网 页链接了它,而且还得知道那些网页各自的排序——因为来 自排序靠前网页的链接更“值钱”。但作为互联网大家庭的 一员,Wi 本身对其它网页的排序也是有贡献的,而且基于 来自排序靠前网页的链接更“值钱”的原则,这种贡献与 Wi 的排序有关。这样一来,我们就陷入了一个“先有鸡还是先 有蛋”的循环之中 :想要知道 Wi 的排序,就得知道与它链 接的其它网页的排序,而想要知道那些网页的排序,却又首 先得知道 Wi 的排序。 为了打破这个循环,佩奇和布林采用了一个很巧妙的 思路,即分析一个虚拟用户在互联网上的漫游过程。他们假 定 :虚拟用户一旦访问了一个网页后,下一步将有相同的几 率访问被该网页所链接的任何一个其它网页。换句话说,如 果网页 Wi 有 Ni 个对外链接,则虚拟用户在访问了 Wi 之后, 下一步点击这些链接中任何一个的几率均为1/Ni 。初看起来, 这一假设并不合理,因为任何用户都有偏好,怎么可能以相 同的几率访问一个网页的所有链接呢?但如果我们考虑到 佩奇和布林的虚拟用户实际上是对互联网上全体用户的一 种平均意义上的代表,这条假设就不象初看起来那么不合理 了。那么网页的排序由什么来决定呢?是由该用户在漫游了 很长时间(理论上为无穷长时间)后访问各网页的几率分布 来决定,访问几率越大的网页排序就越靠前。 为了将这一分析数学化,我们用 pi (n) 表示虚拟用户在 进行第 n 次浏览时访问网页 Wi 的几率。 显然,上述假设可 以表述为(请读者自行证明): pi(n+1) = Σj pj(n)pj → i/Nj 这里 pj → i 是一个描述互联网链接结构的指标函数 (indicator function),其定义是 :如果网页 Wj 有链接指向网页 Wi ,则 pj → i 取值为 1,反之则为 0。显然,这条假设所体现的正是 前面提到的佩奇和布林的排序原则,因为右端求和式的存在 表明与 Wi 有链接的所有网页 Wj 都对 Wi 的排名有贡献,而 求和式中的每一项都正比于 pj ,则表明来自那些网页的贡献 与它们的自身排序有关,自身排序越靠前(即 pj 越大),贡 献就越大
World of Mathematics数学烟云 6 1313 41116 133 30 88 6416 43|2 随机矩阵在谷歌算法里占据了重要的地位 为符号简洁起见,我们将虚拟用户第n次浏览时访问各即所谓的“悬挂网页”( dangling page)注 网页的几率合并为一个列向量p,它的第i个分量为p(n) 上述公式的求解是简单得不能再简单的事情,即 并引进一个只与互联网结构有关的矩阵H,它的第i行j列 的矩阵元为H=P2-N,则上述公式可以改写为 Poti= hpn 其中po为虚拟读者初次浏览时访问各网页的几率分布(在 佩奇和布林的原始论文中,这一几率分布被假定为是均匀分 这就是计算网页排序的公式。 布)。 熟悉随机过程理论的读者想必看出来了,上述公式描 如前所述,佩奇和布林是用虚拟用户在经过很长(理 述的是一种马尔可夫过程( Markov process,而且是其中最论上为无穷长)时间的漫游后访问各网页的几率分布,即 简单的一类,即所谓的平稳马尔可夫过程( stationary Markov lim→=Pa’来确定网页排序的。这个定义要想管用,显然要 process)-,而H则是描述转移概率的所谓转移矩阵解决三个问题 ( transition matrⅸx)。不过普通马尔可夫过程中的转移矩阵通 常是随机矩阵( (stochastic matrix),即每一列的矩阵元之和都 极限lima→=pa是否存在? 为1的矩阵(请读者想一想,这一特点的“物理意义”是什 2.如果极限存在,它是否与po的选取无关? 么?)注二。而我们的矩阵H却可能有一些列是零向量 3.如果极限存在,并且与po的选取无关,它作为网页 从而矩阵元之和为0,它们对应于那些没有对外链接的网页, 排序的依据是否真的合理? 数学文化/第2卷第1期14
World of Mathematics 数学烟云 数学文化/第2卷第1期 14 为符号简洁起见,我们将虚拟用户第 n 次浏览时访问各 网页的几率合并为一个列向量 pn,它的第 i 个分量为 pi (n), 并引进一个只与互联网结构有关的矩阵 H,它的第 i 行 j 列 的矩阵元为 Hij = pj → i /Nj ,则上述公式可以改写为 : pn+1 = Hpn 这就是计算网页排序的公式。 熟悉随机过程理论的读者想必看出来了,上述公式描 述的是一种马尔可夫过程 (Markov process),而且是其中最 简单的一类,即所谓的平稳马尔可夫过程 (stationary Markov process) [ 注一 ] ,而 H 则是描述转移概率的所谓转移矩阵 (transition matrix)。不过普通马尔可夫过程中的转移矩阵通 常是随机矩阵 (stochastic matrix),即每一列的矩阵元之和都 为 1 的矩阵(请读者想一想,这一特点的“物理意义”是什 么?)[ 注二 ] 。而我们的矩阵 H 却可能有一些列是零向量, 从而矩阵元之和为 0,它们对应于那些没有对外链接的网页, 即所谓的“悬挂网页”(dangling page) [ 注三 ] 。 上述公式的求解是简单得不能再简单的事情,即 : pn = Hnp0 其中 p0 为虚拟读者初次浏览时访问各网页的几率分布(在 佩奇和布林的原始论文中,这一几率分布被假定为是均匀分 布)。 如前所述,佩奇和布林是用虚拟用户在经过很长(理 论上为无穷长)时间的漫游后访问各网页的几率分布,即 limn →∞ pn,来确定网页排序的。这个定义要想管用,显然要 解决三个问题 : 1. 极限 limn →∞ pn 是否存在? 2. 如果极限存在,它是否与 p0 的选取无关? 3. 如果极限存在,并且与 p0 的选取无关,它作为网页 排序的依据是否真的合理? 随机矩阵在谷歌算法里占据了重要的地位
World of Mathematics数学烟云 +5 0.10 0.70 S 1 a 1.0 0.20 0.5 0.95 a a 0.5 04 0.05 a 06人a0 040 a 0.30 2 马尔可夫过程( Markov process在谷歌算法里占据了重要的地位。我们称离散的马尔可夫过程为马尔可夫链;其在各个时刻的状态转变由 个概率矩阵所控制。这是一个马尔可夫过程的例子 如果这三个问题的答案都是肯定的,那么网页排序问题样的网页,就会由于没有对外链接而永远停留在那里),这 就算解决了。反之,哪怕只有一个问题的答案是否定的,网显然是不合理的。这种不合理效应是如此显著,以至于在 页排序问题也就不能算是得到满意的解决。那么实际答案如个连通性良好的互联网上,哪怕只有一个“悬挂网页”,也足 何呢?很遗憾,是后一种,而且是其中最糟糕的情形,即 以使整个互联网的网页排序失效,可谓是“一粒老鼠屎坏了 个问题的答案全都是否定的。这可以由一些简单的例子看一锅粥”。 出。比方说,在只包含两个相互链接网页的迷你型互联网上, 为了解决这些问题,佩奇和布林对虚拟用户的行为进行 如果p=(1,0)2,极限就不存在(因为几率分布将在(1,0)了修正。首先,他们意识到无论真实用户还是虚拟用户,当 和(0,1)2之间无穷振荡)。而存在几个互不连通(即互不链他们访问到“悬挂网页”时,都不可能也不应该“在一棵树 接)区域的互联网则会使极限——即便存在一与p的选取上吊死”,而是会自行访问其它网页。对于真实用户来说,自 有关(因为把p选在不同区域内显然会导致不同极限)。至行访问的网页显然与各人的兴趣有关,但对于在平均意义上 于极限存在,并且与p的选取无关时它作为网页排序的依代表真实用户的虚拟用户来说,佩奇和布林假定它将会在整 据是否真的合理的问题,虽然不是数学问题,答案却也是否个互联网上随机选取一个网页进行访问。用数学语言来说 定的,因为任何一个“悬挂网页”都能象黑洞一样,把其它这相当于是把H的列向量中所有的零向量都换成e/N(其中 网页的几率“吸收”到自己身上(因为虚拟用户一旦进入那e是所有分量都为1的列向量,N为互联网上的网页总数)。 数学文化/第2卷第1期15
World of Mathematics 数学烟云 数学文化/第2卷第1期 15 如果这三个问题的答案都是肯定的,那么网页排序问题 就算解决了。反之,哪怕只有一个问题的答案是否定的,网 页排序问题也就不能算是得到满意的解决。那么实际答案如 何呢?很遗憾,是后一种,而且是其中最糟糕的情形,即三 个问题的答案全都是否定的。这可以由一些简单的例子看 出。比方说,在只包含两个相互链接网页的迷你型互联网上, 如果 p0 = (1, 0) T ,极限就不存在 ( 因为几率分布将在 (1, 0) T 和 (0, 1) T 之间无穷振荡 )。而存在几个互不连通(即互不链 接)区域的互联网则会使极限——即便存在——与 p0的选取 有关(因为把 p0 选在不同区域内显然会导致不同极限)。至 于极限存在,并且与 p0 的选取无关时它作为网页排序的依 据是否真的合理的问题,虽然不是数学问题,答案却也是否 定的,因为任何一个“悬挂网页”都能象黑洞一样,把其它 网页的几率“吸收”到自己身上(因为虚拟用户一旦进入那 样的网页,就会由于没有对外链接而永远停留在那里),这 显然是不合理的。这种不合理效应是如此显著,以至于在一 个连通性良好的互联网上,哪怕只有一个“悬挂网页”,也足 以使整个互联网的网页排序失效,可谓是“一粒老鼠屎坏了 一锅粥”。 为了解决这些问题,佩奇和布林对虚拟用户的行为进行 了修正。首先,他们意识到无论真实用户还是虚拟用户,当 他们访问到“悬挂网页”时,都不可能也不应该“在一棵树 上吊死”,而是会自行访问其它网页。对于真实用户来说,自 行访问的网页显然与各人的兴趣有关,但对于在平均意义上 代表真实用户的虚拟用户来说,佩奇和布林假定它将会在整 个互联网上随机选取一个网页进行访问。用数学语言来说, 这相当于是把 H 的列向量中所有的零向量都换成 e/N(其中 e 是所有分量都为 1 的列向量,N 为互联网上的网页总数)。 马尔可夫过程 (Markov process) 在谷歌算法里占据了重要的地位。我们称离散的马尔可夫过程为马尔可夫链;其在各个时刻的状态转变由 一个概率矩阵所控制。这是一个马尔可夫过程的例子。 S S S 0 0 0 0 1 1 1 1 2 a a a a a a 0.5 0.5 0.6 1.0 0.4 0.20 0.70 0.10 +5 -1 0.95 0.05 0.40 0.30 0.30
World of Mathematics数学烟云 百度一下 百度的创始人李彦宏 如果我们引进一个描述“悬挂网页”的指标向量( indicator aS+(1-a )ee/N vector)a,它的第i个分量的取值视W1是否为“悬挂网页” 而定,如果是“悬挂网页”,取值为1,否则为零,并用S表 这个矩阵不仅是一个随机矩阵,而且由于第二项的加 示修正后的矩阵,则: 盟,它有了一个新的特点,即所有矩阵元都为正(请读者想 s=H+aeN 一想,这一特点的“物理意义”是什么?),这样的矩阵是所 谓的素矩阵( primitive matrix)四。这一修正因此被称为素 显然,这样定义的S矩阵的每一列的矩阵元之和都性修正( primitivity adjustment) 是1,从而是一个不折不扣的随机矩阵。这一修正因此被经过这两类修正,网页排序的计算方法就变成了 称为随机性修正( stochasticity adjustment)。这一修正相 当于剔除了“悬挂网页”,从而可以给上述第三个问题带 pu=Gp 来肯定回答(当然,这一回答没有绝对标准,可以不断改 这个算法能给上述问题提供肯定答案吗?是的,它能。 进)。不过,这一修正解决不了前两个问题。因此,佩奇因为随机过程理论中有一个所谓的马尔可夫链基本定理 和布林引进了第二个修正。他们假定,虚拟用户虽然是虚( Fundamental theorem of markov chains),它表明在一个马尔 拟的,但多少也有一些“性格”,不会完全死板地只访问当可夫过程中,如果转移矩阵是素矩阵,那么上述前两个问题 前网页所提供的链接。具体地说,他们假定虚拟用户在每的答案就是肯定的。而随机性修正已经解决了上述第三个问 步都有一个小于1的几率a访问当前网页所提供的链题,因此所有问题就都解决了。如果我们用p表示pn的极 接,同时却也有一个几率1-a不受那些链接所限,随机限注五,则p给出的就是整个互联网的网页排序——它的 访问互联网上的任何一个网站。用数学语言来说(请读者每一个分量就是相应网页的访问几率,几率越大,排序就越 自行证明),这相当于是把上述S矩阵变成了一个新的矩靠前。 阵G 这样,佩奇和布林就找到了一个不仅含义合理,而且数 数学文化/第2卷第1期16
World of Mathematics 数学烟云 数学文化/第2卷第1期 16 G = αS + (1-α)eeT/N 这个矩阵不仅是一个随机矩阵,而且由于第二项的加 盟,它有了一个新的特点,即所有矩阵元都为正(请读者想 一想,这一特点的“物理意义”是什么?),这样的矩阵是所 谓的素矩阵 (primitive matrix) [ 注四 ] 。这一修正因此被称为素 性修正 (primitivity adjustment)。 经过这两类修正,网页排序的计算方法就变成了 : pn = Gn p0 这个算法能给上述问题提供肯定答案吗?是的,它能。 因为随机过程理论中有一个所谓的马尔可夫链基本定理 (Fundamental Theorem of Markov Chains),它表明在一个马尔 可夫过程中,如果转移矩阵是素矩阵,那么上述前两个问题 的答案就是肯定的。而随机性修正已经解决了上述第三个问 题,因此所有问题就都解决了。如果我们用 p 表示 pn 的极 限 [ 注五 ] ,则 p 给出的就是整个互联网的网页排序——它的 每一个分量就是相应网页的访问几率,几率越大,排序就越 靠前。 这样,佩奇和布林就找到了一个不仅含义合理,而且数 如果我们引进一个描述“悬挂网页”的指标向量 (indicator vector) a,它的第 i 个分量的取值视 Wi 是否为“悬挂网页” 而定,如果是“悬挂网页”,取值为 1,否则为零,并用 S 表 示修正后的矩阵,则 : S = H + ae T /N 显然,这样定义的 S 矩阵的每一列的矩阵元之和都 是 1,从而是一个不折不扣的随机矩阵。这一修正因此被 称为随机性修正 (stochasticity adjustment)。这一修正相 当于剔除了“悬挂网页”,从而可以给上述第三个问题带 来肯定回答(当然,这一回答没有绝对标准,可以不断改 进)。不过,这一修正解决不了前两个问题。因此,佩奇 和布林引进了第二个修正。他们假定,虚拟用户虽然是虚 拟的,但多少也有一些“性格”,不会完全死板地只访问当 前网页所提供的链接。具体地说,他们假定虚拟用户在每 一步都有一个小于 1 的几率 α 访问当前网页所提供的链 接,同时却也有一个几率 1-α 不受那些链接所限,随机 访问互联网上的任何一个网站。用数学语言来说(请读者 自行证明),这相当于是把上述 S 矩阵变成了一个新的矩 阵 G : 百度的创始人李彦宏