pr算法
1. PR的算法思路
在大学生上学时,需要写各种各样的论文,关于一篇论文,如何来评定它的价值呢?就是引用。写一篇论文,我们大多数并不能完全创新出新内容来,我们需要“站在巨人的肩膀上”,通过引用别人的文章,或者观点,来帮助说明自己的观点,当你引用别人的观点时,从一定意义上面来说,你是认为他的文章或者观点是有价值的。一个人说它有价值,两个人说它有价值,随着说它有价值的人越来越多,他的论文也显得越来越重要了。
从这个PR产生的背景上我们可以大致猜想到PR值的大致算法,如果将论文比作页面,引用别人的文章代表链接的话,PR值产生的大致思路便出现了:
A、B、C三个页面,B页面创建时,链接了A页面,C页面创建时也链接了A页面,那么A页面的PR值就是最高的了。
2. PR值的算法
PR值的算法:
PR(A)=(1-d)+d(PR(t1)/C(t1)+…+PR(tn)/C(tn))
其中PR(A)表示的是从一个外部链接站点t1上,依据PageRank系统给你的网站所增加的PR分值;PR(t1)表示该 外部链接网站本身的PR分值;C(t1)则表示该外部链接站点所拥有的外部链接数量。大家要谨记:一个网站的投票权 值只有该网站PR分值的0.85,而且这个0.85的权值平均分配给其链接的每个外部网站。设想我们的一个网站,被链 接至PR值为4,外部链接数为10的网站,则计算公式如下:
PR(AKA)=(1-0.85)+0.85*(4/10)=0.15+0.85*(0.4)=0.15+0.34=0.49
也就是说,如果我的网站和一个PR值为4、外部链接数为10的网站链接,最后我的网站将获得的PR值为0.49。 再让我们看看如果我们网站获得的是一个PR值为8,外部链接数为32的网站的链接,那么我将获得的PR分值将是:
PR(AKA)=(1-0.85)+0.85*(8/32)=0.15+0.85*(0.25)=0.3625
3. 网站PR的计算公式!
假设一个由4个页面组成的小团体:A,B, C 和 D。如果所有页面都链向A,那么A的PR(PageRank)值将是B,C 及 D的和。
PR(A) = PR(B) + PR(C) + PR(D)
继续假设B也有链接到C,并且D也有链接到包括A的3个页面。一个页面不能投票2次。所以B给每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的 PageRank 上。
PR(A) =PR(B) /2+PR(C) /1+PR(D)/3
换句话说,根据链处总数平分一个页面的PR值。
PR(A) =PR(B) /L(B)+PR(C) /L(C)+PR(D)/L(D)
最后,所有这些被换算为一个百分比再乘上一个系数q。由于下面的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每个页面一个最小值1−q。
PR(A) =(PR(B) /L(B)+PR(C) /L(C)+PR(D)/L(D)+...+PR(N)/L(N))q+1-q
所以一个页面的 PageRank 是由其他页面的PageRank计算得到。Google 不断的重复计算每个页面的 PageRank。如果您给每个页面一个随机 PageRank 值(非0),那么经过不断的重复计算,这些页面的 PR 值会趋向于正常和稳定。这就是搜索引擎使用它的原因。
其中,PR(A):指网页A的佩奇等级(PR值)
PR(B)、PR(C)...PR(N)表示链接网页A的网页N的佩奇等级(PR)。N是链接的总数,这个链接可以使来自任何网站的导入链接(反向链接)。
L(N):网页N往其他网站链接的数量(网页N的导出链接数量)
q:阻尼系数,介于0-1之间,google设为0.85.
从上面的公式我们可以看到网页A的PR是由链接它的其他网页L(N)所决定的。在网页L(N)中如果有一个链接指向网页A,那么A就得到了一个“投票气而这个投票来自网上任何一张网页。每个“投票”都是表示一份“支持”。越多的链接指向网页A,网页A的PR值或者等级就越高。没有链接就是没有一个网页支持A。
但是不同网页的PR值不同,所以不同的网页给网页A的投票权重是不一样的。
完整的PR值计算方法
这个方程式引入了随机浏览的概念,即有人上网无聊随机打开一些页面,点一些链接。一个页面的PageRank值也影响了它被随机浏览的概率。为了便于理解,这里假设上网者不断点网页上的链接,最终到了一个没有任何链出页面的网页,这时候上网者会随机到另外的网页开始浏览。