写点什么

Week 13 命题作业

用户头像
卧石漾溪
关注
发布于: 2020 年 09 月 08 日

Google 搜索引擎是如何对搜索结果进行排序的?(请用自己的语言描述 PageRank 算法)

 

解答:

 

PageRank 的核心思想:

如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是 PageRank 值会相对较高。

如果一个 PageRank 值很高的网页链接到一个其他的网页,那么被链接到的网页的 PageRank 值会相应地因此而提高。

 

PageRank 算法主要分为两步:

1.给每个网页一个 PR 值(下面用 PR 值指代 PageRank 值)

2.通过(投票)算法不断迭代,直至达到平稳分布为止。

 

互联网中的众多网页可以看作一个有向图,比如下图:



由于 PR 值物理意义上为一个网页被访问概率,所以初始值可以假设为 1/N,其中 N 为网页总数。一般情况下,所有网页的 PR 值的总和为 1。

B、C、D 三个页面都链入到 A,则 A 的 PR 值将是 B、C、D 三个页面 PR 值的总和:

PR(A)=PR(B)+PR(C)+PR(D)

继续上面的假设,B 除了链接到 A,还链接到 C 和 D,C 除了链接到 A,还链接到 B,而 D 只链接到 A,所以在计算 A 的 PR 值时,B 的 PR 值只能投出 1/3​的票,C 的 PR 值只能投出 1/2​的票,而 D 只链接到 A,所以能投出全票,所以 A 的 PR 值总和应为:

PR(A)=PR(B)/3+PR(C)/2+PR(D)

所以可以得出一个网页的 PR 值计算公式应为:



其中,Bu ​是所有链接到网页 u 的网页集合,网页 v 是属于集合 Bu 的一个网页,L(v)则是网页 v 的对外链接数(即出度)。

计算的 PR 值如下:



经过几次迭代后,可以看出 PR 值逐渐收敛稳定。

 

用户头像

卧石漾溪

关注

还未添加个人签名 2020.05.04 加入

还未添加个人简介

评论

发布
暂无评论
Week 13 命题作业