random_spanning_tree#
- random_spanning_tree(G, weight=None, *, multiplicative=True, seed=None)[source]#
使用
G
的边权重随机采样一个生成树。此函数支持两种不同的方法来确定图的概率。如果
multiplicative=True
,概率基于边权重的乘积;如果multiplicative=False
,则基于边权重的和。然而,由于确定乘积版本的所有生成树的总权重更容易,因此速度显著更快,如果可能的话应该使用。此外,将weight
设置为None
将导致以均匀概率选择生成树。该函数使用[1]中的算法A8。
- Parameters:
- Gnx.Graph
原始图的无向版本。
- weightstring
边属性的键,用于保存边权重。
- multiplicativebool, default=True
如果为
True
,每个树的概率是其边权重的乘积除以图中所有生成树的边权重乘积之和。如果为False
,概率是其边权重的和除以图中所有生成树的边权重和之和。- seedinteger, random_state, or None (default)
随机数生成状态的指示器。 参见 Randomness 。
- Returns:
- nx.Graph
使用由树的权重定义的分布的生成树。
References
[1]V. Kulkarni, Generating random combinatorial objects, Journal of Algorithms, 11 (1990), pp. 185–207