geographical_threshold_graph#

geographical_threshold_graph(n, theta, dim=2, pos=None, weight=None, metric=None, p_dist=None, seed=None)[源代码]#

返回地理阈值图。

地理门槛图模型的位置 \(n\) 节点在矩形域中均匀随机分布。每个节点 \(u\) 被分配一个权重 \(w_u\) 。两个节点 \(u\)\(v\) 在以下情况下由一条边连接

\[(w_u+w_v)p_{dist}(R)\ge\theta\]

哪里 r 是两个人之间的距离 uvp_dist 是的任何函数 r ,以及 \(\theta\) 作为阈值参数。 p_dist 用于在决定是否应该连接节点时对节点之间的距离赋予权重。越大 p_dist 是,越容易出现的节点被隔开 r 是相互联系的,反之亦然。

参数
n整型或可迭代

节点数或可迭代节点数

theta: float

阈值

dim整型,可选

图的维度

posDICT

节点位置为按节点为关键字的元组字典。

weightDICT

以节点为关键字的数字字典形式的节点权重。

metric功能

关于数字向量(表示为列表或元组)的度量。这必须是一个接受两个列表(或元组)作为输入并产生一个数字作为输出的函数。该函数还必须满足 metric 。具体地说,如果 \(d\) 是函数和 \(x\)\(y\) ,以及 \(z\) 是图中的矢量,那么 \(d\) 必须满足

  1. \(d(x, y) \ge 0\),

  2. \(d(x, y) = 0\) if and only if \(x = y\),

  3. \(d(x, y) = d(y, x)\),

  4. \(d(x, z) \le d(x, y) + d(y, z)\).

如果未指定此参数,则使用欧几里得距离度量。

p_dist函数,可选

在决定是否应该连接节点时,用于对节点之间的距离赋予权重的任何函数。 p_dist 最初被设想为概率密度函数,该函数给出了连接具有公制距离的两个节点的概率 r 分开。这里的实现允许更随意地定义 p_dist 它们不需要对应于有效的概率密度函数。这个 scipy.stats 包中实现了许多概率密度函数和用于自定义概率密度定义的工具,并将 .pdf 统计分布的方法可以在这里使用。如果 p_dist=None (默认设置),指数函数 \(r^{{-2}}\) 是使用的。

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

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

返回

一种无向和无自循环的随机地理阈值图。

每个节点都有一个节点属性 pos 在欧几里得空间中存储该节点的位置 pos 关键字参数或,如果 pos 未提供,由此函数生成。同样,每个节点都有一个节点属性 weight 它存储所提供或生成的节点的权重。

笔记

如果未指定权重,则通过从具有速率参数的指数分布中随机绘制来将其分配给节点。 \(\lambda=1\) . 要指定来自不同分布的权重,请使用 weight 关键字参数:

>>> import random
>>> n = 20
>>> w = {i: random.expovariate(5.0) for i in range(n)}
>>> G = nx.geographical_threshold_graph(20, 50, weight=w)

如果未指定节点位置,则从均匀分布中随机分配。

工具书类

1

Masuda,N.,Miwa,H.,Konno,N.:具有小世界和无标度特性的地理阈值图。物理评论E 71036108(2005)

2

Milan Bradonji_,Aric Hagberg和allon G.Percus,《地理阈值图中的巨分量和连通性》,《网络图的算法和模型》(Waw 2007),Antony Bonato和Fan Chung(eds),第209-216页,2007。

实例

使用指定备用距离度量 metric 关键字参数。例如,要使用 taxicab metric 而不是默认值 Euclidean metric ::

>>> dist = lambda x, y: sum(abs(a - b) for a, b in zip(x, y))
>>> G = nx.geographical_threshold_graph(10, 0.1, metric=dist)