當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python NetworkX random_clustered_graph用法及代碼示例

本文簡要介紹 networkx.generators.random_clustered.random_clustered_graph 的用法。

用法:

random_clustered_graph(joint_degree_sequence, create_using=None, seed=None)

生成具有給定聯合獨立邊度和三角形度序列的隨機圖。

這使用配置model-like 方法通過隨機分配邊以匹配給定的關節度數序列來生成隨機圖(具有平行邊和自環)。

關節度數序列是形式為 的整數對列表。根據此列表,頂點 三角形的成員,並具有 其他邊。編號 triangle degree ,編號 independent edge degree

參數

joint_degree_sequence整數對列表

每個列表條目對應一個節點的獨立邊度和三角形度。

create_usingNetworkX 圖形構造函數,可選(默認 MultiGraph)

要創建的圖表類型。如果是圖形實例,則在填充之前清除。

seed整數、random_state 或無(默認)

隨機數生成狀態的指示符。請參閱隨機性。

返回

GMultiGraph

具有指定度數序列的圖。節點從 0 開始標記,索引對應於 deg_sequence 中的位置。

拋出

NetworkXError

如果獨立邊度數序列和不是偶數或三角形度數序列和不能被 3 整除。

注意

正如 Miller [1] 所說明的(另請參見 Newman [2] 的等效說明)。

允許使用非圖形度數序列(某些簡單圖無法實現),因為此函數返回具有自環和平行邊的圖。如果獨立度數序列沒有偶數和或三角形度數序列和不能被 3 整除,則會引發異常。

此配置model-like 構造過程可能導致重複的邊和循環。您可以刪除自環和平行邊(見下文),這可能會導致圖形沒有指定精確的度數序列。這種“finite-size 效果”隨著圖表大小的增加而減少。

參考

1

Joel C. Miller. “Percolation and epidemics in random clustered networks”. In: Physical review. E, Statistical, nonlinear, and soft matter physics 80 (2 Part 1 August 2009).

2

M. E. J. Newman. “Random Graphs with Clustering”. In: Physical Review Letters 103 (5 July 2009)

例子

>>> deg = [(1, 0), (1, 0), (1, 0), (2, 0), (1, 0), (2, 1), (0, 1), (0, 1)]
>>> G = nx.random_clustered_graph(deg)

要刪除平行邊:

>>> G = nx.Graph(G)

要刪除自循環:

>>> G.remove_edges_from(nx.selfloop_edges(G))

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.random_clustered.random_clustered_graph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。