voterank#
- voterank(G, number_of_nodes=None)[source]#
使用 VoteRank 算法选择图中的一组有影响力的节点
VoteRank [1] 根据投票机制计算图 G 中节点的排名。使用 VoteRank,所有节点都为其每个入邻居投票,得票最高的节点被迭代地选出。在随后的回合中,已选节点的外邻居的投票能力会降低。
- 参数:
- G图
一个 NetworkX 图。
- number_of_nodes整数,可选
要提取的排名节点的数量(默认为所有节点)。
- 返回:
- voterank列表
计算出的种子的有序列表。只返回得票数为正的节点。
注意
在多重图的情况下,每条边都被独立处理。
参考
[1]Zhang, J.-X. et al. (2016). Identifying a set of influential spreaders in complex networks. Sci. Rep. 6, 27823; doi: 10.1038/srep27823.
示例
>>> 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]