joint_degree_graph#

joint_degree_graph(joint_degrees, seed=None)[源代码]#

用给定的联合度字典生成一个随机简单图。

参数
joint_degrees整数词典

一本联合学位词典,其中的词条 joint_degrees[k][l] 是连接度数结点的边数 k 具有度数节点 l

seed整数、随机状态或无(默认)

随机数生成状态的指示器。见 Randomness .

返回
G

具有指定的连接度词典的图。

加薪
NetworkXError

如果 joint_degrees 字典不可实现。

笔记

在“while loop”的每次迭代中,算法选择两个断开连接的节点 vw 程度 kl 相应地,对于 joint_degrees[k][l] 尚未达到目标。然后添加边缘( vw )并将图G中的边数增加1。

该算法的智能在于始终可以在这些断开连接的节点之间添加一条边。 vw ,即使一个或两个节点没有空闲存根。这可以通过执行“邻居开关”来实现,这是一种边重新布线移动,在保持G的接合度相同的情况下释放一个空闲的存根。

算法继续进行“while循环”的e(边数)迭代,此时给定循环的所有条目 joint_degrees[k][l] 已达到目标值,施工完成。

工具书类

1

M.Gjoka,B.Tillman,A.Markopoulou,“具有目标联合度矩阵及以上的简单图的构造”,IEEEInfocom,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)
>>>