voterank#
- voterank(G, number_of_nodes=None)[source]#
使用VoteRank算法选择图中的重要节点列表
VoteRank [1] 根据投票方案计算图G中节点的排名。通过VoteRank,所有节点为其每个入邻居投票,节点根据获得的票数迭代地被选出。被选出节点的出邻居的投票能力在后续轮次中减少。
- Parameters:
- G图
一个NetworkX图。
- number_of_nodes整数, 可选
要提取的排名节点数量(默认所有节点)。
- Returns:
- voterank列表
计算出的种子节点有序列表。 仅返回具有正投票数的节点。
Notes
在多重图中,每条边被独立处理。
References
[1]Zhang, J.-X. et al. (2016). Identifying a set of influential spreaders in complex networks. Sci. Rep. 6, 27823; doi: 10.1038/srep27823.
Examples
>>> G = nx.Graph([(0, 1), (0, 2), (0, 3), (1, 4)]) >>> nx.voterank(G) [0, 1]
该算法既可用于无向图,也可用于有向图。然而,有向图版本在两个方面有所不同: (i) 节点仅为其入邻居投票, (ii) 仅更新被选出节点及其出邻居的投票能力:
>>> G = nx.DiGraph([(0, 1), (2, 1), (2, 3), (3, 4)]) >>> nx.voterank(G) [2, 3]