PageRank和PeopleRank的计算公式
From paper “PeopleRank: Social Opportunistic Forwarding”
PageRank使google成为搜索之王,它用于网页等级的计算。如今,我们已经进入社交网络时代,承载信息的网页不再是我们考虑的焦点,“人”(people)成为网络的核心。如何评估社交网络中每个人的等级(PeopleRank)呢?
首先来看PageRank的一个计算公式(简略版,只用于说明原理):
PageRank算法将Web看成一个图(Graph),学习过离散数学和数据结构课程的朋友应该都对图论有所了解,这里不详细介绍了。图的节点是网页(page),图中的边是网页之间的链接。PageRank算法对图进行自由遍历。要计算出一个概率分布,表示随机点击链接的用户访问某个网页的概率。
上述公式里,p1,p2,p3...pn代表n个不同的网页,M(i)是链接到pi的所有网页的集合,L(j)是pj网页上的外链数。d (0 < d ≤ 1)是阻尼因子,表示用户继续点击链接而不是随机打开其他网页的概率。
根据pagerank的思想,可以为社交网络中的人定义一个等级peoplerank。基本思想:社交网络中的用户,如果其好友中”important people“越多,在该用户对应的级别就有可能高。
我们同样将社交网络看作一个无方向图(undirected graph),图的节点是社交网络用户,图的边代表两个社交网络用户之间的社交关系。两个用户是明确的社交好友或者他们有一些共同的兴趣就认为他们具有社交关系。上述公式中,N1,N2,N3...Nn代表的是社交网络用户,F(Ni)表示与Ni具有社交关系的用户集合。d是阻尼因子,表示节点间的社交关系有可能改善节点等级的概率,它是决定社交关系所能发挥作用的一个权值。
这些公式都只用于说明原理,省略了很多要素,而且也没有考虑具体的技术实现,特此说明。