networkx.generators.geometric.soft_random_geometric_graph
的用法。用法:
soft_random_geometric_graph(n, radius, dim=2, pos=None, p=2, p_dist=None, seed=None)
返回单位立方体中的软随机几何图。
软随机几何图 [1] 模型将
n
节点均匀地随机放置在维度为dim
的单位立方体中。如果计算的节点的距离度量值最多为radius
,则由p
-Minkowski 距离度量计算的距离为dist
的两个节点以概率为p_dist
的边连接,否则它们不连接.当 SciPy 可用时,使用 KDTree 确定彼此在
radius
内的边。这将时间复杂度从 降低到 。- n:int 或可迭代
节点数或可迭代节点
- radius: float:
距离阈值
- dim:整数,可选
图的维度
- pos:字典,可选
以节点位置为值的节点键控字典。
- p:浮点数,可选
使用哪个 Minkowski 距离度量。
p
必须满足条件1 <= p <= infinity
。如果未指定此参数,则使用 度量(欧几里德距离度量),p = 2。
这不应与 Erdős-Rényi 随机图的
p
混淆,它表示概率。- p_dist:函数,可选
一个概率密度函数,计算连接两个距离为 dist 的节点的概率,由 Minkowski 距离度量计算。概率密度函数
p_dist
必须是以度量值作为输入并输出 0-1 之间的单个概率值的任何函数。 scipy.stats 包实现了许多概率分布函数和用于自定义概率分布定义的工具 [2],并且可以在此处使用传递 scipy.stats 分布的 .pdf 方法。如果未提供概率函数p_dist
,则默认函数是带有速率参数 的 index 分布。- seed:整数、random_state 或无(默认)
随机数生成状态的指示符。请参阅随机性。
- 图形
软随机几何图,无向且无自环。每个节点都有一个节点属性
'pos'
,该属性存储该节点在欧几里得空间中的位置,由pos
关键字参数提供,或者如果没有提供pos
,则由该函数生成。
参数:
返回:
注意:
这使用
k
-d 树来构建图形。pos
关键字参数可用于指定节点位置,因此您可以为位置创建任意分布和域。例如,要使用均值 (0, 0) 和标准差 2 的节点位置的 2D 高斯分布
scipy.stats 包可用于定义概率分布,其中 .pdf 方法用作
p_dist
。>>> import random >>> import math >>> n = 100 >>> pos = {i: (random.gauss(0, 2), random.gauss(0, 2)) for i in range(n)} >>> p_dist = lambda dist: math.exp(-dist) >>> G = nx.soft_random_geometric_graph(n, 0.2, pos=pos, p_dist=p_dist)
参考:
- 1
Penrose, Mathew D. “Connectivity of soft random geometric graphs.” The Annals of Applied Probability 26.2 (2016): 986-1028.
- 2
scipy.stats - https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html
例子:
默认图表:
G = nx.soft_random_geometric_graph(50, 0.2)
自定义图表:
在 100 个均匀分布的节点上创建一个软随机几何图,其中节点由一条边连接,如果它们的欧几里德距离最多为 0.2,则其概率从 index 分布计算得出,速率参数为 。
相关用法
- Python NetworkX single_source_dijkstra_path_length用法及代码示例
- Python NetworkX single_source_bellman_ford用法及代码示例
- Python NetworkX subgraph_view用法及代码示例
- Python NetworkX shortest_path用法及代码示例
- Python NetworkX square_clustering用法及代码示例
- Python NetworkX sets用法及代码示例
- Python NetworkX simrank_similarity用法及代码示例
- Python NetworkX shell_layout用法及代码示例
- Python NetworkX single_source_bellman_ford_path用法及代码示例
- Python NetworkX sudoku_graph用法及代码示例
- Python NetworkX single_source_bellman_ford_path_length用法及代码示例
- Python NetworkX single_source_shortest_path_length用法及代码示例
- Python NetworkX snap_aggregation用法及代码示例
- Python NetworkX set_edge_attributes用法及代码示例
- Python NetworkX stochastic_block_model用法及代码示例
- Python NetworkX symmetric_difference用法及代码示例
- Python NetworkX selfloop_edges用法及代码示例
- Python NetworkX second_order_centrality用法及代码示例
- Python NetworkX simulated_annealing_tsp用法及代码示例
- Python NetworkX shortest_augmenting_path用法及代码示例
- Python NetworkX spring_layout用法及代码示例
- Python NetworkX simple_cycles用法及代码示例
- Python NetworkX single_source_dijkstra用法及代码示例
- Python NetworkX spectral_bipartivity用法及代码示例
- Python NetworkX strong_product用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.generators.geometric.soft_random_geometric_graph。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。