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]。
- 参数:
- nint
返回的图中的节点数量。
- kint
返回的图中每个节点的出度。
- alphafloat
一个正
float
,表示每个顶点的初始权重。数值越高,意味着在上述步骤 3 中,节点更倾向于像真正的均匀随机样本那样被选择;数值越低,意味着节点越有可能随着其入度增加而被选择。如果此参数非正,则会引发ValueError
。- self_loopsbool
如果为 True,则在生成图时允许自环。
- seedinteger, random_state, or None (default)
随机数生成状态的指示器。详见 随机性。
- 返回:
MultiDiGraph
根据上述算法生成的
k
-出度正则多重有向图。
- 引发:
- ValueError
如果
alpha
非正。
注意
返回的多重有向图可能不是强连通的,甚至不是弱连通的。
参考文献
- [1]: Peterson, Nicholas R., and 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>