架构师训练营 - 第 13 周课后作业(1 期)
Google 搜索引擎是如何对搜索结果进行排序的?(请用自己的语言描述 PageRank 算法)。
PageRank 算法是 Google 的网页排名算法,通过页面间的链接关系确定页面的等级,如果一个页面被其他页面引用多的话说明页面等级高,一个重要的页面链接到一个等级低的页面,等级低的页面的等级也会相应提高。
A 的 PR 值是由 B、C、D 的链出值决定的,B 访问了 2 个页面,C 访问了 1 个页面,D 访问了 3 个页面,所以 A 的 PR 值计算公式如下:
PR(A) = PR(B) / 2 + PR(C) / 1 + PR(D) / 3
互联网中一个网页只有对自己的出链,或者几个网页的出链形成一个循环圈。那么在不断地迭代过程中,这一个或几个网页的 PR 值将只增不减,为解决这个问题,假设随机浏览网页,会有一定概率跳转到随机网页且概率一致,所以 A 的 PR 值计算如下(α为访问到 A 页面后继续向后浏览的概率):
PR(A) = α(PR(B) / 2 + PR(C) / 1 + PR(D) / 3) + (1 - α) / 4
版权声明: 本文为 InfoQ 作者【Pudding】的原创文章。
原文链接:【http://xie.infoq.cn/article/efc06184e3a98d9d2137019c4】。未经作者许可,禁止转载。
评论