Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

scale_free_graph

scale_free_graph(n, alpha=0.41, beta=0.54, gamma=0.05, delta_in=0.2, delta_out=0, create_using=None, seed=None)[source]

Returns a scale-free directed graph.

Parameters:
  • n (integer) – Number of nodes in graph
  • alpha (float) – Probability for adding a new node connected to an existing node chosen randomly according to the in-degree distribution.
  • beta (float) – Probability for adding an edge between two existing nodes. One existing node is chosen randomly according the in-degree distribution and the other chosen randomly according to the out-degree distribution.
  • gamma (float) – Probability for adding a new node conecgted to an existing node chosen randomly according to the out-degree distribution.
  • delta_in (float) – Bias for choosing ndoes from in-degree distribution.
  • delta_out (float) – Bias for choosing ndoes from out-degree distribution.
  • create_using (graph, optional (default MultiDiGraph)) – Use this graph instance to start the process (default=3-cycle).
  • seed (integer, optional) – Seed for random number generator

Examples

Create a scale-free graph on one hundred nodes:

>>> G = nx.scale_free_graph(100)

Notes

The sum of alpha, beta, and gamma must be 1.

References

[1]B. Bollobás, C. Borgs, J. Chayes, and O. Riordan, Directed scale-free graphs, Proceedings of the fourteenth annual ACM-SIAM Symposium on Discrete Algorithms, 132–139, 2003.