我有一个关于PageRank的问题,这可能表明我对此并不了解。如果我有一个带有两个节点“A”和“B”以及链接A - >的图形。 B权重1.0和B - >体重2.0,不应该更高,因为它的体重更高?
当我从networkx尝试PageRank时似乎并非如此,但我不知道为什么。
>>> from networkx import nx
>>> DG = nx.DiGraph()
>>> DG.add_weighted_edges_from([("A", "B", 1.0),("B", "A",2.0)])
>>> pr = nx.pagerank(DG)
>>> pr
{'A': 0.5, 'B': 0.5}
答案 0 :(得分:5)
有向图的PageRank可以被认为是随机冲浪者在沿着有向边的几次随机跳跃之后结束的所有节点上的概率分布(随机传送以解决断开连接和悬空的节点)。在每一跳,随机冲浪者跟随特定边缘的概率是其权重除以离开当前节点的所有边缘上的权重之和。
在你的例子中,每个节点的随机冲浪者只有一个链接可以跟随跳到另一个,因此无论你在这两个链接上放置什么权重,PageRank总是会给出(0.5,0.5)。