random_regular_expander_graph#

random_regular_expander_graph(n, d, *, epsilon=0, create_using=None, max_tries=100, seed=None)[source]#

返回一个具有 \(n\) 个节点和度数 \(d\) 的随机正则扩展图。

扩展图是一种具有强连通性质的稀疏图。[1]

更确切地说,返回的图是一个 \((n, d, \lambda)\) 扩展图,其中 \(\lambda = 2 \sqrt{d - 1} + \epsilon\),接近 Alon-Boppana 界。[2]

\(\epsilon = 0\) 的情况下,它返回一个 Ramanujan 图。Ramanujan 图具有几乎最大的谱隙,这使得它们成为优秀的扩展图。[3]

Parameters:
nint

节点数量。

dint

每个节点的度数。

epsilonint, float, default=0
max_triesint, (default: 100)

允许的循环次数,也用于 maybe_regular_expander 工具中

seed(default: None)

用于设置随机数生成状态的种子。参见 :ref 随机性

Raises:
NetworkXError

如果达到 max_tries

Notes

这会循环调用 maybe_regular_expander ,当 \(n\) 太大或 \(\epsilon\) 太小时可能会很慢。

References

Examples

>>> G = nx.random_regular_expander_graph(20, 4)
>>> nx.is_regular_expander(G)
True