当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。