Class GnmRandomBipartiteGraphGenerator<V,​E>

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

    public class GnmRandomBipartiteGraphGenerator<V,​E>
    extends java.lang.Object
    implements GraphGenerator<V,​E,​V>
    Create a random bipartite graph based on the G(n, M) Erdős–Rényi model. See the Wikipedia article for details and references about Random Graphs and the Erdős–Rényi model . The user provides the sizes n1 and n2 of the two partitions (n1+n2=n) and a number m which is the total number of edges to create. The generator supports both directed and undirected graphs.
    Since:
    Sep 13, 2004
    See Also:
    GnpRandomBipartiteGraphGenerator
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int m  
      private int n1  
      private int n2  
      private java.util.Random rng  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void generateGraph​(Graph<V,​E> target, VertexFactory<V> vertexFactory, java.util.Map<java.lang.String,​V> resultMap)
      Generates a random bipartite graph.
      • Methods inherited from class java.lang.Object

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

      • rng

        private final java.util.Random rng
      • n1

        private final int n1
      • n2

        private final int n2
      • m

        private final int m
    • Constructor Detail

      • GnmRandomBipartiteGraphGenerator

        public GnmRandomBipartiteGraphGenerator​(int n1,
                                                int n2,
                                                int m)
        Create a new random bipartite graph generator. The generator uses the G(n, m) model when n = n1 + n2 and the bipartite graph has one partition with size n1 and one partition with size n2. In this model a graph is chosen uniformly at random from the collection of bipartite graphs whose partitions have sizes n1 and n2 respectively and m edges.
        Parameters:
        n1 - number of vertices of the first partition
        n2 - number of vertices of the second partition
        m - the number of edges
      • GnmRandomBipartiteGraphGenerator

        public GnmRandomBipartiteGraphGenerator​(int n1,
                                                int n2,
                                                int m,
                                                long seed)
        Create a new random bipartite graph generator. The generator uses the G(n, m) model when n = n1 + n2 and the bipartite graph has one partition with size n1 and one partition with size n2. In this model a graph is chosen uniformly at random from the collection of bipartite graphs whose partitions have sizes n1 and n2 respectively and m edges.
        Parameters:
        n1 - number of vertices of the first partition
        n2 - number of vertices of the second partition
        m - the number of edges
        seed - seed for the random number generator
      • GnmRandomBipartiteGraphGenerator

        public GnmRandomBipartiteGraphGenerator​(int n1,
                                                int n2,
                                                int m,
                                                java.util.Random rng)
        Create a new random bipartite graph generator. The generator uses the G(n, m) model when n = n1 + n2 and the bipartite graph has one partition with size n1 and one partition with size n2. In this model a graph is chosen uniformly at random from the collection of bipartite graphs whose partitions have sizes n1 and n2 respectively and m edges.
        Parameters:
        n1 - number of vertices of the first partition
        n2 - number of vertices of the second partition
        m - the number of edges
        rng - random number generator
    • Method Detail

      • generateGraph

        public void generateGraph​(Graph<V,​E> target,
                                  VertexFactory<V> vertexFactory,
                                  java.util.Map<java.lang.String,​V> resultMap)
        Generates a random bipartite graph.
        Specified by:
        generateGraph in interface GraphGenerator<V,​E,​V>
        Parameters:
        target - the target graph
        vertexFactory - the vertex factory
        resultMap - not used by this generator, can be null