graphscope.nx.generators.directed.random_k_out_graph¶
- graphscope.nx.generators.directed.random_k_out_graph(n, k, alpha, self_loops=True, seed=None)[源代码]¶
返回一个具有优先连接的随机k-out图。
一个随机k-out图通过优先连接生成,是由以下算法产生的多重有向图。
从一个空的有向图开始,初始设置每个节点的权重为alpha。
随机均匀选择一个出度小于k的节点u。
根据权重比例选择一个节点 v。
添加一条从u指向v的有向边,并将v的权重增加1。
如果每个节点的出度为k,则停止,否则从步骤2开始重复。
有关这种随机图模型的更多信息,请参阅[1]。
- Parameters:
n (int) – 返回图中节点的数量。
k (int) – 返回图中每个节点的出度。
alpha (float) – 一个正的
float值,表示每个顶点的初始权重。数值越大意味着在上述步骤3中,节点选择会更接近真正的均匀随机抽样;数值越小则意味着节点更可能随着入度的增加而被选中。如果该参数不是正数,则会引发ValueError错误。self_loops (bool) - 如果为True,在生成图时允许自环。
seed (integer, random_state, or None (default)) - 随机数生成状态的指示器。 参见随机性。
- Returns:
根据上述算法生成的k-out-正则多重有向图。
- Return type:
MultiDiGraph- Raises:
ValueError – 如果 alpha 不是正数。
备注
返回的多重有向图可能不是强连通的,甚至不是弱连通的。
参考文献
- [1]: Peterson, Nicholas R., and Boris Pittel.
"两个随机k-out有向图之间的距离,包含与不包含优先连接的情况。" arXiv预印本 arXiv:1311.5961 (2013)。