partial_duplication_graph#

partial_duplication_graph(N, n, p, q, seed=None)[source]#

返回一个使用部分复制模型生成的随机图。

Parameters:
Nint

最终图中的节点总数。

nint

初始完全图中的节点数。

pfloat

将每个节点的邻居连接到复制节点的概率。必须在0和1之间,包括0和1。

qfloat

将源节点连接到复制节点的概率。必须在0和1之间,包括0和1。

seedinteger, random_state, 或 None (默认)

随机数生成状态的指示器。 参见 随机性

Notes

一个节点图通过创建一个大小为 n 的完全连接图来增长。然后重复以下过程,直到达到总共 N 个节点。

  1. 随机选择一个节点 u,并创建一个新节点 v

  2. 对于 u 的每个邻居,以概率 p 创建从邻居到 v 的边。

  3. 以概率 q 创建从 uv 的边。

此算法出现在 [1] 中。

此实现允许生成不连通的图。

References

[1]

Knudsen Michael, 和 Carsten Wiuf. “一种随机增长图的马尔可夫链方法.” 应用数学杂志 2008. <https://doi.org/10.1155/2008/190836>