random_geometric_graph#

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

返回以维度为单位的多维数据集中的随机几何图形 dim .

随机几何图形模型的位置 n 单位立方体中均匀随机的节点。如果两个节点之间的距离最多,则两个节点由一条边连接。 radius .

当SciPy可用时,使用KDTree来确定边。这降低了时间复杂性,从 \(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随机图,它表示概率。

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

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

返回

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

笔记

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

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

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

>>> import random
>>> n = 20
>>> pos = {i: (random.gauss(0, 2), random.gauss(0, 2)) for i in range(n)}
>>> G = nx.random_geometric_graph(n, 0.2, pos=pos)

工具书类

1

彭罗斯,马修, 随机几何图形 牛津概率研究,2003年5月。

实例

在20个节点上创建一个随机几何图形,如果节点的距离最多为0.1,则这些节点由一条边连接:

>>> G = nx.random_geometric_graph(20, 0.1)