soft_random_geometric_graph#

soft_random_geometric_graph(n, radius, dim=2, pos=None, p=2, p_dist=None, seed=None)[源代码]#

返回单位多维数据集中的软随机几何图形。

软随机几何图形 [1] 模型场所 n 维度单位立方体中均匀随机的节点 dim . 两个距离节点, dist ,由 p -Minkowski距离度量由概率边缘连接 p_dist 如果节点的计算距离度量值最多为 radius ,否则它们不会联接。

内边缘 radius 当scipy可用时,使用kdstree确定彼此之间的关系。这减少了时间复杂性 \(O(n^2)\)\(O(n)\) .

参数
n整型或可迭代

节点数或可迭代节点数

radius: float

距离阈值

dim整型,可选

图的维度

posDICT,可选

以节点为关键字,以节点位置为值的词典。

p浮动,可选

要使用的Minkowski距离度量。 p 必须满足条件 1 <= p <= infinity

如果未指定此参数,则 \(L^2\) 使用公制(欧几里得距离公制),p=2。

这不应该与 p 一个Erd_s-r_nyi随机图,它表示概率。

p_dist函数,可选

计算连接由Minkowski距离度量计算的距离Dist的两个节点的概率的概率密度函数。概率密度函数, p_dist 必须是将度量值作为输入并输出介于0-1之间的单个概率值的任何函数。Scipy.stats包实现了许多概率分布函数和定制概率分布定义的工具 [2] ,并且传递scipy.stats分布的.pdf方法可以在这里使用。如果概率函数, p_dist ,不提供,则默认函数为带速率参数的指数分布 \(\lambda=1\)

seed整数、随机状态或无(默认)

随机数生成状态的指示器。见 Randomness .

返回

一种无向无自环的软随机几何图形。每个节点都有一个节点属性 'pos' 在欧几里得空间中存储该节点的位置 pos 关键字参数或,如果 pos 未提供,由此函数生成。

笔记

这使用了 k -D树来构建图表。

这个 pos 关键字参数可用于指定节点位置,以便为位置创建任意分布和域。

例如,使用平均值(0,0)和标准偏差2的节点位置的二维高斯分布

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

作者:Mathew D.“软随机几何图的连通性。”应用概率年鉴26.2(2016):986-1028。

2

Scipy.stats-https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html

实例

默认图形:

G=nx.软随机几何图形(50,0.2)

自定义图:

在100个均匀分布节点上创建一个软随机几何图,其中节点由一条边连接,该边的概率由具有速率参数的指数分布计算得出。 \(\lambda=1\) 如果欧几里得距离至多为0.2。