geometric_soft_configuration_graph#

geometric_soft_configuration_graph(*, beta, n=None, gamma=None, mean_degree=None, kappas=None, seed=None)[source]#

返回一个来自几何软配置模型的随机图。

\(\mathbb{S}^1\) 模型 [1] 是几何软配置模型,它能够解释真实网络的许多基本特征,例如小世界特性、异构度分布、高聚类系数和自相似性。

在几何软配置模型中,节点 \(i\) 被赋予两个隐藏变量:隐藏度 \(\kappa_i\),量化其受欢迎程度、影响或重要性;以及角位置 \(\theta_i\) 在一个代表相似性空间的圆上,其中节点间的角距离是其相似性的代理。关注角位置时,此模型通常被称为 \(\mathbb{S}^1\) 模型(一维球)。圆的半径被调整为 \(R = N/2\pi\),其中 \(N\) 是节点数量,以便密度设置为 1 而不失一般性。

任意一对节点之间的连接概率随着其隐藏度乘积(即其综合受欢迎程度)的增加而增加,并随着两节点间角距离的增加而减少。具体来说,节点 \(i\)\(j\) 以以下概率连接:

\(p_{ij} = \frac{1}{1 + \frac{d_{ij}^\beta}{\left(\mu \kappa_i \kappa_j\right)^{\max(1, \beta)}}}\)

其中 \(d_{ij} = R\Delta\theta_{ij}\) 是节点 \(i\)\(j\) 之间被角距离 \(\Delta\theta_{ij}\) 分隔的圆弧长度。参数 \(\mu\)\(\beta\)(也称为逆温度)分别控制平均度和聚类系数。

[2] 表明,该模型在 \(\beta=1\) 处发生结构相变,使得当 \(\beta<1\) 时,网络在热力学极限(当 \(N\to \infty\) 时)下是无聚类的,而当 \(\beta>1\) 时,该集合生成具有有限聚类系数的网络。

\(\mathbb{S}^1\) 模型可以表示为双曲平面 [3] 中的纯几何模型 \(\mathbb{H}^2\),方法是将每个节点的隐藏度映射到径向坐标,如下所示:

\(r_i = \hat{R} - \frac{2 \max(1, \beta)}{\beta \zeta} \ln \left(\frac{\kappa_i}{\kappa_0}\right)\)

其中 \(\hat{R}\) 是双曲盘的半径,\(\zeta\) 是曲率,

\(\hat{R} = \frac{2}{\zeta} \ln \left(\frac{N}{\pi}\right) - \frac{2\max(1, \beta)}{\beta \zeta} \ln (\mu \kappa_0^2)\)

连接概率则为:

\(p_{ij} = \frac{1}{1 + \exp\left({\frac{\beta\zeta}{2} (x_{ij} - \hat{R})}\right)}\)

其中

\(x_{ij} = r_i + r_j + \frac{2}{\zeta} \ln \frac{\Delta\theta_{ij}}{2}\)

是两个由角距离 \(\Delta\theta_{ij}\) 分隔、径向坐标分别为 \(r_i\)\(r_j\) 的节点之间双曲距离的一个很好的近似。对于 \(\beta > 1\),曲率 \(\zeta = 1\);对于 \(\beta < 1\),曲率 \(\zeta = \beta^{-1}\)

参数
必须提供 `n`、`gamma`、`mean_degree` 或 `kappas`。`n`、
`gamma`、`mean_degree`(如果提供)的值用于构建一个随机的
kappa 字典,以节点为键,值从幂律分布中采样。
beta正数

逆温度,控制聚类系数。

nint (默认: None)

网络大小(节点数)。如果未提供,则必须提供 kappas 且其中包含节点。

gammafloat (默认: None)

隐藏度 kappas 的幂律分布指数。如果未提供,则必须直接提供 kappas

mean_degreefloat (默认: None)

网络中的平均度。如果未提供,则必须直接提供 kappas

kappasdict (默认: None)

一个字典,以节点为键,其隐藏度值为值。如果未提供,则根据使用 ngammamean_degree 的幂律分布计算随机值。

seedint, random_state, 或 None (默认)

随机数生成状态的指示器。参见 随机性

返回

一个随机几何软配置图(无向且无自环)。每个节点有三个节点属性

  • kappa 表示隐藏度。

  • theta 表示相似性空间 (\(\mathbb{S}^1\)) 中的位置,同时也是双曲平面中的角位置。

  • radius 表示双曲平面中的径向位置(基于隐藏度)。

参考文献

[1]

Serrano, M. Á., Krioukov, D., & Boguñá, M. (2008). Self-similarity of complex networks and hidden metric spaces. Physical review letters, 100(7), 078701.

[2]

van der Kolk, J., Serrano, M. Á., & Boguñá, M. (2022). An anomalous topological phase transition in spatial random graphs. Communications Physics, 5(1), 245.

[3]

Krioukov, D., Papadopoulos, F., Kitsak, M., Vahdat, A., & Boguná, M. (2010). Hyperbolic geometry of complex networks. Physical Review E, 82(3), 036106.

示例

使用指定参数生成网络

>>> G = nx.geometric_soft_configuration_graph(
...     beta=1.5, n=100, gamma=2.7, mean_degree=5
... )

创建一个包含 100 个节点的几何软配置图。\(\beta\) 参数设置为 1.5,隐藏度幂律分布指数为 2.7,平均值为 5。

使用预定义隐藏度生成网络

>>> kappas = {i: 10 for i in range(100)}
>>> G = nx.geometric_soft_configuration_graph(beta=2.5, kappas=kappas)

创建一个包含 100 个节点的几何软配置图。\(\beta\) 参数设置为 2.5,所有节点的隐藏度 \(\kappa=10\)