I'm trying to reproduce the synthetic networks (graphs) described in some papers.
It is stated that the Barabasi-Albert model was used to create "scale-free networks with power-law degree distributions, $P_A(k) ∝ k^{-λ}$".
$P_A$ is a probability distribution that returns the probability of a node having degree $k$. For instance, $P_A(2)$ indicates the probability of randomly choosing a node from the network and getting a node with degree 2.
The average degree $k$ stroke seems to be 4 in one paper, with a the minimum $k$ of 2. No word about the maximum $k$. In the other paper it is not specified. It does not seem that important to define the network.
Lambda λ values are given, as is the number of nodes $n$. Combinations are
- n = 50000, λ = 3, 2.7, 2.3, with in a paper
- n = 4000 and λ = 2.5, or n = 6000 and λ = 3 in the other paper
I looked for libraries implementing the Barabasi-Albert algorithm and they seem to require different parameters than lambda and the average degree. One is NetworkX, another is GraphStream (implementation here). They work in similar ways and ask for:
- n : int - number of nodes
- m : int - number of edges to attach from a new node to existing nodes; the number of edges to be added at each step
How can I calculate the settings m to generate a comparable graph?
Here are some references:
- Catastrophic cascade of failures in interdependent networks, Buldyrev et al. 2010, with a separately provided Supplementary Information
- Small Cluster in Cyber Physical Systems, Huang et al. 2014
- Catastrophic cascade of failures in interdependent networks, Havlin et al. 2010, this is on the Arxiv and somewhat clarifies the first
Note that these papers used "generating functions" to analytically study some properties of those graphs. However, they also run simulations on those models, so they must have generated those networks somehow.
Thanks.