2

PageRank について質問がありますが、よく理解していない可能性があります。2 つのノード "A" と "B" とリンク A --> B の重み 1.0 と B --> A の重み 2.0 を持つグラフがある場合、次数の重みが高いため、A の方が高くランク付けされるべきではありませんか?

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}
4

1 に答える 1

6

有向グラフの PageRank は、無作為なサーファーが有向辺に沿っていくつかのランダムなホップを行った後に最終的に到達するすべてのノードの確率分布と考えることができます (切断されたノードやぶら下がっているノードに対処するためのランダムなテレポーテーションを使用)。各ホップで、ランダム サーファーが特定のエッジをたどる確率は、その重みを現在のノードから出るすべてのエッジの重みの合計で割った値になります。

あなたの例では、各ノードのランダムサーファーには、他のリンクにホップするためにたどるリンクが1つしかないため、これらの2つのリンクにどのような重みを付けても、PageRankは常に(0.5,0.5)になります。

于 2013-07-02T06:03:12.120 に答える