R igraph 手册页

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

sample_pa {igraph}R 文档

使用优先连接生成随机图

描述

优先连接是一种用于构建图的简单随机算法族。变体包括 Barabási-Abert 模型和 Price 模型。

用法

sample_pa(
  n,
  power = 1,
  m = NULL,
  out.dist = NULL,
  out.seq = NULL,
  out.pref = FALSE,
  zero.appeal = 1,
  directed = TRUE,
  algorithm = c("psumtree", "psumtree-multiple", "bag"),
  start.graph = NULL
)

pa(...)

参数

n

顶点数。

power

优先连接的幂,默认值为 1,即线性优先连接。

m

数值常数,每个时间步要添加的边数。仅当省略 out.distout.seq 或为 NULL 时才使用此参数。

out.dist

数值向量,每个时间步要添加的边数的分布。仅当省略 out.seq 参数或为 NULL 时才使用此参数。

out.seq

数值向量,给出每个时间步要添加的边数。它的第一个元素被忽略,因为第一个时间步不添加边。

out.pref

逻辑值,如果为真,则总度数用于计算引用概率,否则使用入度。

zero.appeal

没有相邻边的顶点的“吸引力”。请参阅下面的详细信息。

有向

是否创建有向图。

algorithm

用于生成图的算法。 psumtree 使用部分前缀和树来生成图,此算法可以处理任何 powerzero.appeal 值,并且永远不会生成多重边。 psumtree-multiple 也使用部分前缀和树,但允许生成多重边。在 0.6 版本之前,如果 power 不为 1 或 zero.appeal 不为 1,igraph 使用此算法。 bag 是先前(0.6 版本之前)如果 power 等于 1 且 zero.appeal 也等于 1 时使用的算法。它的工作原理是将顶点的 ID 放入一个包(实际上是多重集)中,次数恰好等于它们的(入)度,再加上一次。然后从包中抽取所需数量的引用顶点,并进行替换。此方法可能会生成多重边。它仅在 powerzero.appeal 等于 1 时才有效。

start.graph

NULL 或 igraph 图。如果是图,则提供的图用作优先连接算法的起始图。该图应至少有一个顶点。如果在此处提供了一个图,并且 out.seq 参数不为 NULL,那么它应该只包含新顶点的出度,而不是 start.graph 中的顶点的出度。

...

传递给 sample_pa

详细信息

这是一个简单的随机算法,用于生成图。它是一个离散时间步模型,在每个时间步中添加一个顶点。

我们从第一个时间步中的单个顶点和没有边开始。然后在每个时间步中添加一个顶点,并且新顶点启动一些到旧顶点的边。旧顶点被选择的概率由下式给出

P[i] \sim k_i^\alpha+a

其中 k_i 是当前时间步中顶点 i 的入度(更准确地说,是 i 的相邻边的数量,这些边不是由 i 本身启动的),\alphaa 是由 powerzero.appeal 参数给出的参数。

在时间步中启动的边数由 mout.distout.seq 参数给出。如果给出了 out.seq 且不为 NULL,那么它在一个向量中给出要添加的边数,第一个元素被忽略,第二个是在第二个时间步中要添加的边数,依此类推。如果未给出 out.seq 或为 null 并且给出了 out.dist 且不为 NULL,那么它用作离散分布来生成每个时间步中的边数。它的第一个元素是不添加边的概率,第二个是添加一条边的概率,等等。(out.dist 不需要总和为 1,它会自动标准化。)out.dist 应该包含非负数,并且至少一个元素应该是正数。

如果省略 out.seqout.dist 或为 NULL,那么将使用 m,它应该是一个正整数常数,并且在每个时间步添加 m 条边。

sample_pa 默认生成一个有向图,将 directed 设置为 FALSE 以生成无向图。请注意,即使生成了无向图,k_i 也表示不由顶点本身启动的相邻边的数量,而不是顶点的总(入 + 出)度数,除非将 out.pref 参数设置为 TRUE

一个图对象。

作者

Gabor Csardi csardi.gabor@gmail.com

参考

Barabasi, A.-L. and Albert R. 1999. Emergence of scaling in random networks Science, 286 509–512.

de Solla Price, D. J. 1965. Networks of Scientific Papers Science, 149 510–515.

参见

sample_gnp

示例


g <- sample_pa(10000)
degree_distribution(g)


[包 igraph 版本 1.3.5 索引]