random_k_out_graph#
- random_k_out_graph(n, k, alpha, self_loops=True, seed=None)[source]#
返回一个具有优先连接的随机
k
-out 图。具有优先连接的随机
k
-out 图是通过以下算法生成的多重有向图。从一个空的有向图开始,并初始设置每个节点的权重为
alpha
。均匀随机选择一个出度小于
k
的节点u
。根据节点的权重比例选择一个节点
v
。从
u
到v
添加一条有向边,并将v
的权重增加一。如果每个节点的出度为
k
,则停止,否则从步骤 2 重复。
有关此随机图模型的更多信息,请参见 [1]。
- Parameters:
- nint
返回图中节点的数量。
- kint
返回图中每个节点的出度。
- alphafloat
一个正的
float
,表示每个顶点的初始权重。数值越高意味着在步骤 3 中,节点将更像一个真正的均匀随机样本,数值越低意味着随着入度的增加,节点被选中的可能性越大。如果此参数不是正数,则会引发ValueError
。- self_loopsbool
如果为 True,则在生成图时允许自环。
- seedinteger, random_state, 或 None (默认)
随机数生成状态的指示器。 参见 Randomness 。
- Returns:
MultiDiGraph
根据上述算法生成的
k
-out-regular 多重有向图。
- Raises:
- ValueError
如果
alpha
不是正数。
Notes
返回的多重有向图可能不是强连通的,甚至不是弱连通的。
References
- [1]: Peterson, Nicholas R., 和 Boris Pittel.
“Distance between two random
k
-out digraphs, with and without preferential attachment.” arXiv preprint arXiv:1311.5961 (2013). <https://arxiv.org/abs/1311.5961>