原始的pagerank算法
对每个节点给定一个初始pr值
迭代直到节点值不变:
对所有节点,按照概率将节点的pr值分配给其他节点(对于其他节点是一个收集值的累加过程)
这里会出现几种case:
case1:出现了dead end
dead end就是死节点,没有出边,分配给该节点的pr值,由于没有出边,所以直接归零。在多次迭代后,慢慢的所有的pr值都会被消耗殆尽,归于沉寂。
多次迭代后结果(假设初始pr值都为1/4):
case2:出现了Spider Traps
只有入边没有出边,pr值只进不出,多次迭代后,会出现这个节点收集到了所有的pr值,为1,其他节点全为0。例如
升级版的pagerank算法
算是给原先的打了一个补丁,但是引入了一个参数。
升级后的算法,
对于case1,虽然pr值仍然会流失,pr值的总和不至于为0,为小于1的某个数。
对于case2,由于引入了一些参数,所以即是到了只进不出的顶点还是有机会出