Class BarabasiAlbertForestGenerator<V,​E>

  • Type Parameters:
    V - the graph vertex type
    E - the graph edge type
    All Implemented Interfaces:
    GraphGenerator<V,​E,​V>

    public class BarabasiAlbertForestGenerator<V,​E>
    extends Object
    implements GraphGenerator<V,​E,​V>
    Barabási-Albert growth and preferential attachment forest generator.

    The general graph generator is described in the paper: A.-L. Barabási and R. Albert. Emergence of scaling in random networks. Science, 286:509-512, 1999.

    The generator starts with a $t$ isolated nodes and grows the network by adding $n - t$ additional nodes. The additional nodes are added one by one and each of them is connected to one previously added node, where the probability of connecting to a node is proportional to its degree.

    Note that this Barabàsi-Albert generator only works on undirected graphs. For a version that works on both directed and undirected graphs and generates only connected graphs see BarabasiAlbertGraphGenerator.

    Author:
    Alexandru Valeanu
    • Constructor Detail

      • BarabasiAlbertForestGenerator

        public BarabasiAlbertForestGenerator​(int t,
                                             int n)
        Constructor
        Parameters:
        t - number of trees
        n - final number of nodes
        Throws:
        IllegalArgumentException - in case of invalid parameters
      • BarabasiAlbertForestGenerator

        public BarabasiAlbertForestGenerator​(int t,
                                             int n,
                                             long seed)
        Constructor
        Parameters:
        t - number of trees
        n - final number of nodes
        seed - seed for the random number generator
        Throws:
        IllegalArgumentException - in case of invalid parameters
      • BarabasiAlbertForestGenerator

        public BarabasiAlbertForestGenerator​(int t,
                                             int n,
                                             Random rng)
        Constructor
        Parameters:
        t - number of trees
        n - final number of nodes
        rng - the random number generator to use
        Throws:
        IllegalArgumentException - in case of invalid parameters