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


Python NetworkX connected_double_edge_swap用法及代码示例


本文简要介绍 networkx.algorithms.swap.connected_double_edge_swap 的用法。

用法:

connected_double_edge_swap(G, nswap=1, _window_threshold=3, seed=None)

尝试在图形 G 中指定数量的 double-edge 交换。

double-edge 交换删除两个随机选择的边 (u, v)(x, y) 并创建新边 (u, x)(v, y)

u--v            u  v
       becomes  |  |
x--y            x  y

如果 (u, x)(v, y) 已存在,则不执行交换,因此交换边的实际数量始终为 at most nswap

参数

G图形

无向图

nswap整数(可选,默认=1)

要执行的double-edge 交换次数

_window_threshold整数

每次交换后将检查图形连接性的窗口大小。

此函数中的“window” 是一个动态更新的整数,表示在检查图形是否保持连接之前尝试进行交换的次数。它是一种优化,用于减少算法的运行时间,以换取增加的实现复杂性。

如果窗口大小低于此阈值,则算法在每次交换后检查图是否保持连接,方法是检查是否存在连接刚刚删除边的两个节点的路径。如果窗口大小高于此阈值,则算法执行窗口中的所有交换,然后才检查图形是否仍然连接。

seed整数、random_state 或无(默认)

随机数生成状态的指示符。请参阅随机性。

返回

int

兑换成功次数

抛出

NetworkXError

如果输入图未连接,或者该图的节点少于四个。

注意

初始图G 必须是连接的,并且生成的图是连接的。图 G 已就地修改。

参考

1

C. Gkantsidis and M. Mihail and E. Zegura, The Markov chain simulation method for generating connected power law random graphs, 2003. http://citeseer.ist.psu.edu/gkantsidis03markov.html

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.swap.connected_double_edge_swap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。