networkx.generators.degree_seq.configuration_model
的用法。用法:
configuration_model(deg_sequence, create_using=None, seed=None)
返回具有給定度數序列的隨機圖。
配置模型通過隨機分配邊以匹配給定的度數序列來生成隨機偽圖(具有平行邊和自環的圖)。
- deg_sequence:非負整數列表
每個列表條目對應一個節點的度數。
- create_using:NetworkX 圖形構造函數,可選(默認 MultiGraph)
要創建的圖表類型。如果是圖形實例,則在填充之前清除。
- seed:整數、random_state 或無(默認)
隨機數生成狀態的指示符。請參閱隨機性。
- G:MultiGraph
具有指定度數序列的圖。節點從 0 開始標記,索引對應於 deg_sequence 中的位置。
- NetworkXError
如果度數序列沒有偶數和。
參數:
返回:
拋出:
注意:
正如紐曼[1]所說明的。
允許使用非圖形度數序列(某些簡單圖無法實現),因為此函數返回具有自環和平行邊的圖。如果度數序列沒有偶數和,則會引發異常。
此配置模型構建過程可能導致重複的邊和循環。您可以刪除自環和平行邊(見下文),這可能會導致圖形沒有指定精確的度數序列。
隨著節點數量的增加,自環和平行邊的密度趨於降低。然而,通常自環的數量將接近具有非零均值的泊鬆分布,平行邊的數量也是如此。考慮一個帶有
k
存根的節點。加入同一節點的另一個存根的概率本質上是 (k
-1
) /N
,其中k
是度數,N
是節點數。因此,對於某個常數c
,自循環的概率會像c
/N
一樣縮放。隨著N
的增長,這意味著我們期望c
自循環。對於平行邊也是如此。參考:
- 1
M.E.J. Newman, “The structure and function of complex networks”, SIAM REVIEW 45-2, pp 167-256, 2003.
例子:
您可以使用
random_sequence
中的一個分布函數(或您自己的一個)來創建遵循特定分布的度數序列。例如,要在一百個節點上創建一個無向多重圖,其度數序列選自冪律分布:>>> sequence = nx.random_powerlaw_tree_sequence(100, tries=5000) >>> G = nx.configuration_model(sequence) >>> len(G) 100 >>> actual_degrees = [d for v, d in G.degree()] >>> actual_degrees == sequence True
返回的圖是一個多重圖,它可能有平行的邊。要從返回的圖中刪除任何平行邊:
>>> G = nx.Graph(G)
同樣,要刪除自循環:
>>> G.remove_edges_from(nx.selfloop_edges(G))
相關用法
- Python NetworkX connected_double_edge_swap用法及代碼示例
- Python NetworkX contracted_edge用法及代碼示例
- Python NetworkX contracted_nodes用法及代碼示例
- Python NetworkX connected_caveman_graph用法及代碼示例
- Python NetworkX connected_components用法及代碼示例
- Python NetworkX complete_multipartite_graph用法及代碼示例
- Python NetworkX communicability_exp用法及代碼示例
- Python NetworkX collaboration_weighted_projected_graph用法及代碼示例
- Python NetworkX communicability用法及代碼示例
- Python NetworkX complete_to_chordal_graph用法及代碼示例
- Python NetworkX communicability_betweenness_centrality用法及代碼示例
- Python NetworkX complete_graph用法及代碼示例
- Python NetworkX common_neighbors用法及代碼示例
- Python NetworkX compose用法及代碼示例
- Python NetworkX common_neighbor_centrality用法及代碼示例
- Python NetworkX color用法及代碼示例
- Python NetworkX categorical_edge_match用法及代碼示例
- Python NetworkX cn_soundarajan_hopcroft用法及代碼示例
- Python NetworkX clustering用法及代碼示例
- Python NetworkX circulant_graph用法及代碼示例
- Python NetworkX categorical_node_match用法及代碼示例
- Python NetworkX capacity_scaling用法及代碼示例
- Python NetworkX circular_layout用法及代碼示例
- Python NetworkX cut_size用法及代碼示例
- Python NetworkX caveman_graph用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.degree_seq.configuration_model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。