gpt4 book ai didi

algorithm - 计算具有高死链接百分比的稀疏有向图的 pageranks

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:11:50 25 4
gpt4 key购买 nike

我是印第安纳大学布卢明顿分校计算机科学专业的研究生。对于我的一个研究项目,我正在为一个非常稀疏且死链接百分比很高的有向图计算 pageranks。

我所说的死链接是指出度为零的节点。有时,在具有大量死链接的图中,可能会出现蜘蛛陷阱。无论如何,我感兴趣的问题是在这种情况下找出 pageranks。

我正在使用 JUNG(Java 通用图形网络)计算网页排名。

当我使用正常程序时,

Graph<String, String> jungGraph = new DirectedSparseGraph<String, String>();
PageRank<String, String> pagerank = new PageRank<String,String>(jungGraph, 0.2);
pagerank.setMaxIterations(20);
pagerank.setTolerance(0.000001);
pagerank.evaluate();

当我清楚地知道情况不应该如此时,我或多或少地获得了所有节点的相同 pagerank 值。由于图中的某些节点有大量的出节点并且是强互连的。

在这种情况下,建议的方法是什么。我知道有这个类 PageRankWithPriors。我是否应该首先提取没有死链接的网络,为它们计算 pageranks,然后将它们的排名传播到死链接,直到它们收敛。?在后一种情况下,简化网络中的所有节点(outdegree != 0 )都将设置其先验,而死链接则不会。

我在这里遗漏了什么吗?

最佳答案

我认为 PageRankWithPriors 不是您想要的。

您使用的是哪个版本的 PageRankedu.uci.ics.jung.algorithms.importance.PageRankedu.uci.ics.jung.algorithms.scoring.PageRank 类?在 Jung 2.0 Beta 中,前者已被弃用,取而代之的是后者。

他们似乎以不同方式对待出度 0 节点,这可能是您的问题。前者的规范说:

probability of going from node u to node v is equal to (1-alpha)[1/outdegree(u)] + alpha(1/|V|)

If u has no out-edges in the original graph then 0 is used instead of 1/outdegree(v).

这似乎是错误的,因为它会导致概率损失(通过某种方法离开 u 的总概率应该等于 1,但事实并非如此)。后者的做法不同:

If a vertex has no outgoing edges, then the probability of taking a random jump from that vertex is (by default) effectively 1

这应该保留您想要的概率。

关于algorithm - 计算具有高死链接百分比的稀疏有向图的 pageranks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com