geometric_soft_configuration_graph#
- geometric_soft_configuration_graph(*, beta, n=None, gamma=None, mean_degree=None, kappas=None, seed=None)[source]#
返回一个从几何软配置模型中随机生成的图。
:math:`mathbb{S}^1`模型[1]是几何软配置模型,能够解释现实网络的许多基本特征,如小世界属性、异质度分布、高聚类水平和自相似性。
在几何软配置模型中,节点:math:
i`被分配两个隐藏变量:隐藏度:math:kappa_i`,量化其流行度、影响力或重要性,以及在抽象相似空间中的角位置:math:theta_i,其中节点间的角距离是其相似性的代理。聚焦于角位置,该模型常被称为:math:mathbb{S}^1`模型(一维球面)。圆的半径调整为:math:`R = N/2pi,其中:math:`N`是节点数,使得密度在不失一般性的情况下设为1。任意一对节点的连接概率随其隐藏度(即它们的综合流行度)的乘积增加,随两节点间的角距离减少。具体地,节点:math:`i`和:math:`j`以概率
\(p_{ij} = \frac{1}{1 + \frac{d_{ij}^\beta}{\left(\mu \kappa_i \kappa_j\right)^{\max(1, \beta)}}}\)
连接,其中:math:
d_{ij} = RDeltatheta_{ij}`是节点:math:`i`和:math:`j`间圆弧的长度,分隔角距离为:math:Deltatheta_{ij}`。参数:math:mu`和:math:beta`(也称为逆温度)分别控制平均度和聚类系数。可以证明[2],模型在:math:
beta=1`处经历结构相变,使得对于:math:beta<1`,网络在热力学极限(当:math:Nto infty)下无聚类,而对于:math:beta>1,集合生成具有有限聚类系数的网络。\(\mathbb{S}^1`模型可以表示为双曲平面中的纯几何模型:math:\)mathbb{H}^2`[3],通过将每个节点的隐藏度映射为径向坐标,
\(r_i = \hat{R} - \frac{2 \max(1, \beta)}{\beta \zeta} \ln \left(\frac{\kappa_i}{\kappa_0}\right)\)
其中:math:
hat{R}`是双曲盘的半径,:math: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}\)
是两个节点间双曲距离的良好近似,分隔角距离为:math:
Deltatheta_{ij},径向坐标为:math:r_i`和:math:`r_j。对于:math:beta > 1,曲率:math:zeta = 1,对于:math:beta < 1,\(\zeta = \beta^{-1}\)。- Parameters:
- 提供 `n` 、 `gamma` 、 `mean_degree` 或 `kappas` 。 `n` 、 `gamma` 、 `mean_degree` 的值(如果提供)用于构建一个随机kappa字典,按节点键值,值从幂律分布中采样。
- beta正数
逆温度,控制聚类系数。
- n整数 (默认: None)
网络的大小(节点数)。 如果未提供,必须提供
kappas并包含节点。- gamma浮点数 (默认: None)
隐藏度
kappas的幂律分布指数。 如果未提供,必须直接提供kappas。- mean_degree浮点数 (默认: None)
网络中的平均度。 如果未提供,必须直接提供
kappas。- kappas字典 (默认: None)
按节点键值到其隐藏度值的字典。 如果未提供,基于幂律分布使用
n、gamma和mean_degree计算随机值。- seed整数, random_state, 或 None (默认)
随机数生成状态的指示器。 见 Randomness 。
- Returns:
- 图
一个随机几何软配置图(无向且无自环)。 每个节点有三个节点属性:
kappa表示隐藏度。theta相似空间 (\(\mathbb{S}^1\)) 中的位置,也是双曲平面中的角位置。radius双曲平面中的径向位置(基于隐藏度)。
References
[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.
Examples
生成具有指定参数的网络:
>>> G = nx.geometric_soft_configuration_graph( ... beta=1.5, n=100, gamma=2.7, mean_degree=5 ... )
创建一个具有100个节点的几何软配置图。:math:`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,所有节点的隐藏度:math:\)kappa=10`。