架构师训练营第 2 期 第 13 周命题作业
Google 搜索引擎是如何对搜索结果进行排序的?(请用自己的语言描述 PageRank 算法。)
如果一个被越多的被其他页面持有超链接,则越重要。
1、A 页面持有到 B 页面的链接则表示 A 页面给 B 页面投票。
2、如果 A 页面持有 M 个页面的链接,则 B 页面获得的来自于 A 页面的票数为 1/M,计算结果为 PageRank(A) /M
3、B 的总票数是统计所有投票给他的页面后得出的。
4、如果页面持有自己的链接,上面的逻辑会出现问题。所以我们假定存在概率 a,网民会输入网址直接跳转到一个随机的网页,并且对于不同的目标页面,概率是相同的。这种方式给予页面 B 的票数可以看作 a/N,其中 N 是页面总数;对于 2 里所说的场景,来自于 A 页面的票数为 (1-a)* PageRank(A)/M
PageRank(B) = a/N + 所有节点进行 (1-a)* PageRank(i)/Mi 计算并求和
评论