networkx.generators.degree_seq.directed_configuration_model
的用法。用法:
directed_configuration_model(in_degree_sequence, out_degree_sequence, create_using=None, seed=None)
返回具有给定度数序列的directed_random 图。
配置模型通过随机分配边以匹配给定的度数序列来生成随机有向伪图(具有平行边和自环的图)。
- in_degree_sequence:非负整数列表
每个列表条目对应于节点的入度。
- out_degree_sequence:非负整数列表
每个列表条目对应于节点的out-degree。
- create_using:NetworkX 图形构造函数,可选(默认 MultiDiGraph)
要创建的图表类型。如果是图形实例,则在填充之前清除。
- seed:整数、random_state 或无(默认)
随机数生成状态的指示符。请参阅随机性。
- G:MultiDiGraph
具有指定度数序列的图。节点从 0 开始标记,索引对应于 deg_sequence 中的位置。
- NetworkXError
如果度数序列的总和不同。
参数:
返回:
抛出:
注意:
Newman [1] 说明的算法。
允许使用非图形度数序列(某些简单图无法实现),因为此函数返回具有自环和平行边的图。如果度数序列的总和不同,则会引发异常。
此配置模型构建过程可能导致重复的边和循环。您可以删除自环和平行边(见下文),这可能会导致图形没有指定精确的度数序列。这种“finite-size 效应”随着图表大小的增加而减少。
参考:
- 1
Newman, M. E. J. and Strogatz, S. H. and Watts, D. J. Random graphs with arbitrary degree distributions and their applications Phys. Rev. E, 64, 026118 (2001)
例子:
可以修改现有有向图中的 in- 和 out-degree 序列,以创建新的有向图。例如,这里我们修改有向路径图:
>>> D = nx.DiGraph([(0, 1), (1, 2), (2, 3)]) >>> din = list(d for n, d in D.in_degree()) >>> dout = list(d for n, d in D.out_degree()) >>> din.append(1) >>> dout[0] = 2 >>> # We now expect an edge from node 0 to a new node, node 3. ... D = nx.directed_configuration_model(din, dout)
返回的图是一个有向多重图,它可能有平行的边。要从返回的图中删除任何平行边:
>>> D = nx.DiGraph(D)
同样,要删除自循环:
>>> D.remove_edges_from(nx.selfloop_edges(D))
相关用法
- Python NetworkX directed_joint_degree_graph用法及代码示例
- Python NetworkX directed_modularity_matrix用法及代码示例
- Python NetworkX dijkstra_path_length用法及代码示例
- Python NetworkX dijkstra_path用法及代码示例
- Python NetworkX difference用法及代码示例
- Python NetworkX disjoint_union用法及代码示例
- Python NetworkX dinitz用法及代码示例
- Python NetworkX dijkstra_predecessor_and_distance用法及代码示例
- Python NetworkX dedensify用法及代码示例
- Python NetworkX draw_networkx_edge_labels用法及代码示例
- Python NetworkX double_edge_swap用法及代码示例
- Python NetworkX draw用法及代码示例
- Python NetworkX dag_longest_path_length用法及代码示例
- Python NetworkX descendants_at_distance用法及代码示例
- Python NetworkX degree_assortativity_coefficient用法及代码示例
- Python NetworkX dfs_successors用法及代码示例
- Python NetworkX draw_planar用法及代码示例
- Python NetworkX draw_circular用法及代码示例
- Python NetworkX descendants用法及代码示例
- Python NetworkX draw_spectral用法及代码示例
- Python NetworkX degree_mixing_matrix用法及代码示例
- Python NetworkX degrees用法及代码示例
- Python NetworkX degree_pearson_correlation_coefficient用法及代码示例
- Python NetworkX draw_random用法及代码示例
- Python NetworkX draw_shell用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.generators.degree_seq.directed_configuration_model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。