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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。