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


Python NetworkX joint_degree_graph用法及代碼示例

本文簡要介紹 networkx.generators.joint_degree_seq.joint_degree_graph 的用法。

用法:

joint_degree_graph(joint_degrees, seed=None)

使用給定的聯合度字典生成一個隨機簡單圖。

參數

joint_degrees整數詞典

一個聯合度數字典,其中條目 joint_degrees[k][l] 是連接度數為 k 的節點與度數為 l 的節點的邊數。

seed整數、random_state 或無(默認)

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

返回

G圖形

具有指定聯合度字典的圖。

拋出

NetworkXError

如果joint_degrees 字典不可實現。

注意

在“while loop” 的每次迭代中,算法分別選擇兩個斷開的節點vw,度數為kl,其中joint_degrees[k][l] 尚未達到其目標。然後它添加邊(vw)並將圖 G 中的邊數增加一。

該算法的智能在於,即使一個或兩個節點沒有空閑存根,也總是可以在這些斷開連接的節點 vw 之間添加一條邊。這可以通過執行“neighbor switch” 來實現,這是一個邊重新布線移動,它釋放一個自由存根,同時保持 G 的關節度數相同。

該算法繼續進行 “while loop” 的 E(邊數)迭代,此時給定 joint_degrees[k][l] 的所有條目都已達到其目標值並且構造完成。

參考

1

M. Gjoka, B. Tillman, A. Markopoulou,“構建具有目標聯合度矩陣及以上的簡單圖”,IEEE Infocom,'15

例子

>>> joint_degrees = {
...     1: {4: 1},
...     2: {2: 2, 3: 2, 4: 2},
...     3: {2: 2, 4: 1},
...     4: {1: 1, 2: 2, 3: 1},
... }
>>> G = nx.joint_degree_graph(joint_degrees)
>>>

相關用法


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