R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

sample_fitness {igraph}R 文档

从顶点适应度分数生成随机图

描述

此函数生成一个非增长随机图,其边的概率与节点适应度分数成比例。

用法

sample_fitness(
  no.of.edges,
  fitness.out,
  fitness.in = NULL,
  loops = FALSE,
  multiple = FALSE
)

参数

no.of.edges

生成的图中的边数。

fitness.out

一个数值向量,包含每个顶点的适应度。对于有向图,这指定了每个顶点的出度适应度。

fitness.in

如果为 NULL(默认值),则生成的图将是无向图。 如果不为 NULL,则它应该是一个数值向量,并指定每个顶点的入度适应度。

如果此参数不为 NULL,则生成有向图,否则生成无向图。

循环

逻辑标量,是否允许图中的循环边。

multiple

逻辑标量,是否允许图中的多重边。

详细信息

此函数生成一个有向或无向随机图,其中顶点 ij 之间边的概率取决于所涉及的两个顶点的适应度分数。 对于无向图,每个顶点都有一个适应度分数。 对于有向图,每个顶点都有一个出度和入度适应度,并且从 ij 的边的概率取决于顶点 i 的出度适应度和顶点 j 的入度适应度。

生成过程如下。 我们从 N 个断开连接的节点开始(其中 N 由适应度向量的长度给出)。 然后我们随机选择两个顶点 ij,其概率与它们的适应度成正比。 (当生成的图是有向图时,i 根据出度适应度选择,j 根据入度适应度选择)。 如果顶点尚未连接(或者如果允许多重边),我们会连接它们; 否则我们选择一个新的对。 重复此操作,直到创建所需数量的链接。

可以证明,每个顶点的预期度数将与其适应度成正比,尽管实际观察到的度数不会。 如果您需要生成具有精确度序列的图,请考虑使用 sample_degseq

此模型通常用于生成静态无标度网络。 为实现此目的,您必须从所需的幂律分布中提取适应度分数。 或者,您可以使用 sample_fitness_pl,它会为您生成具有给定指数的适应度。

一个 igraph 图,有向或无向。

作者

Tamas Nepusz ntamas@gmail.com

参考

Goh K-I, Kahng B, Kim D: Universal behaviour of load distribution in scale-free networks. Phys Rev Lett 87(27):278701, 2001.

示例


N <- 10000
g <- sample_fitness(5*N, sample((1:50)^-2, N, replace=TRUE))
degree_distribution(g)
## Not run: plot(degree_distribution(g, cumulative=TRUE), log="xy")

[包 igraph 版本 1.3.5 索引]