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


Python NetworkX is_aperiodic用法及代码示例


本文简要介绍 networkx.algorithms.dag.is_aperiodic 的用法。

用法:

is_aperiodic(G)

如果 G 是非周期性的,则返回 True。

如果没有整数 k > 1 来整除图中每个循环的长度,则有向图是非周期性的。

参数

GNetworkX 有向图

有向图

返回

bool

如果图形是非周期性的,则为 True 否则为 False

抛出

NetworkXError

如果 G 未定向

注意

这使用 [1] 中概述的方法,该方法在给定 G 中的 边的情况下在 时间内运行。请注意,如果图是非循环的,则它不是非周期的,因为每个整数平凡除以长度 0 个周期。

参考

1

Jarvis, J. P.; Shier, D. R. (1996), “Graph-theoretic analysis of finite Markov chains,” in Shier, D. R.; Wallenius, K. T., Applied Mathematical Modeling: A Multidisciplinary Approach, CRC Press.

例子

由一个循环组成的图,其长度为 2。因此 k = 2 除以图中每个循环的长度,因此图为 not aperiodic

>>> DG = nx.DiGraph([(1, 2), (2, 1)])
>>> nx.is_aperiodic(DG)
False

由两个循环组成的图:一个长度为 2,另一个为长度 3。循环长度是互质的,因此没有 k 的单个值,其中 k > 1 将每个循环长度除以,因此该图是 aperiodic

>>> DG = nx.DiGraph([(1, 2), (2, 3), (3, 1), (1, 4), (4, 1)])
>>> nx.is_aperiodic(DG)
True

由两个循环组成的图:一个长度为 2,另一个为长度 4。循环的长度共享一个公因数 k = 2 ,因此该图是 not aperiodic

>>> DG = nx.DiGraph([(1, 2), (2, 1), (3, 4), (4, 5), (5, 6), (6, 3)])
>>> nx.is_aperiodic(DG)
False

一个无环图,因此该图是 not aperiodic

>>> DG = nx.DiGraph([(1, 2), (2, 3)])
>>> nx.is_aperiodic(DG)
False

相关用法


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