假设我有一个有向图,对于每个节点,我想衡量它是更多的“上游”节点(位于许多路径的开头)还是“下游”节点(到许多路径会聚)。
比如说,在 A->B->CI 的序列中,希望 A 具有最高值,而 C 具有最低值,而 B 将“介于两者之间”。在一个完美的循环中,A->B->C->AI 希望所有节点都具有相同的“中间”值。指标应该容忍循环和非循环元素的混合。
理想情况下,它还会为来自较长非循环路径的节点提供更多极端值:具有较大河口的节点(“万物之母”节点)具有较高的值,而具有较大分水岭的节点(“条条大路通罗马”)的值较低集成所有流的节点)。
理想情况下,它应该推广到加权图。并且,理想情况下,以不依赖于权重的比例因子的方式(因此,如果将图中的所有权重乘以 2,则每个节点的指标不应改变,因为拓扑显然不会因此而改变缩放)。
对于非加权图,我可以提供这样的指标:找到一个节点的所有前辈,找到一个节点的所有子节点,然后将子节点的数量除以子节点和祖先节点的总和;对于任何原点,此值为 1;将给出 0 表示死胡同,并给出 0.5 表示循环。所以基本没问题。我不喜欢这个指标的是1)它不关心路径的长度,2)它的计算速度很慢,3)我不知道如何将它推广到加权图的规模 -不变的方式。
所以我想知道是否有一个已知的度量标准,这些度量标准与之前描述和研究过的这些属性大致相同。例如,许多人在分析社交网络时会使用计算,这感觉像是一件合乎逻辑的事情;所以感觉它应该有一个名字和发布的算法。谢谢!
编辑:我认为可以公平地说,pagerank 指标具有我描述的许多属性(值颠倒了):汇高,具有较大分水岭的汇更高,源节点低,周期往往具有“in- between”值,并且该算法清楚地支持加权图。它不关心的部分是起源节点是否有大河口或根本没有河口。现在我想知道我是否真的需要两个指标:一个页面排名,用于分水岭,另一个用于河口。就像在感兴趣的节点中发起的随机游走访问的节点的加权份额,或类似的东西。还是有更简单的指标?