Class ErdosRenyiGenerator<V,​E>

  • All Implemented Interfaces:
    com.google.common.base.Supplier<Graph<V,​E>>, GraphGenerator<V,​E>, java.util.function.Supplier<Graph<V,​E>>

    public class ErdosRenyiGenerator<V,​E>
    extends java.lang.Object
    implements GraphGenerator<V,​E>
    Generates a random graph using the Erdos-Renyi binomial model (each pair of vertices is connected with probability p).
    Author:
    William Giordano, Scott White, Joshua O'Madadhain
    • Constructor Summary

      Constructors 
      Constructor Description
      ErdosRenyiGenerator​(com.google.common.base.Supplier<UndirectedGraph<V,​E>> graphFactory, com.google.common.base.Supplier<V> vertexFactory, com.google.common.base.Supplier<E> edgeFactory, int numVertices, double p)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Graph<V,​E> get()
      Returns a graph in which each pair of vertices is connected by an undirected edge with the probability specified by the constructor.
      void setSeed​(long seed)
      Sets the seed of the internal random number generator to seed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ErdosRenyiGenerator

        public ErdosRenyiGenerator​(com.google.common.base.Supplier<UndirectedGraph<V,​E>> graphFactory,
                                   com.google.common.base.Supplier<V> vertexFactory,
                                   com.google.common.base.Supplier<E> edgeFactory,
                                   int numVertices,
                                   double p)
        Parameters:
        graphFactory - factory for graphs of the appropriate type
        vertexFactory - factory for vertices of the appropriate type
        edgeFactory - factory for edges of the appropriate type
        numVertices - number of vertices graph should have
        p - Connection's probability between 2 vertices
    • Method Detail

      • get

        public Graph<V,​E> get()
        Returns a graph in which each pair of vertices is connected by an undirected edge with the probability specified by the constructor.
        Specified by:
        get in interface com.google.common.base.Supplier<V>
        Specified by:
        get in interface java.util.function.Supplier<V>
      • setSeed

        public void setSeed​(long seed)
        Sets the seed of the internal random number generator to seed. Enables consistent behavior.
        Parameters:
        seed - the seed to use for the internal random number generator