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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。