org.jgrapht.generate

## 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 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 $n_1$ and $n_2$ of the two partitions $(n_1+n_2=n)$ and a number $m$ which is the total number of edges to create. The generator supports both directed and undirected graphs.
Author:
Michael Behrisch, Dimitrios Michail
GnpRandomBipartiteGraphGenerator
• ### 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 $n_1$ and one partition with size $n_2$. In this model a graph is chosen uniformly at random from the collection of bipartite graphs whose partitions have sizes $n_1$ and $n_2$ 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 $n_1$ and one partition with size $n_2$. In this model a graph is chosen uniformly at random from the collection of bipartite graphs whose partitions have sizes $n_1$ and $n_2$ 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,
Random rng)
Create a new random bipartite graph generator. The generator uses the $G(n, m)$ model when $n = n_1 + n_2$ and the bipartite graph has one partition with size $n_1$ and one partition with size $n_2$. In this model a graph is chosen uniformly at random from the collection of bipartite graphs whose partitions have sizes $n_1$ and $n_2$ 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,
Map<String,V> resultMap)
Generates a random bipartite graph.
Specified by:
generateGraph in interface GraphGenerator<V,E,V>
Parameters:
target - the target graph
resultMap - not used by this generator, can be null
• #### getFirstPartition

public Set<V> getFirstPartition()
Returns the first partition of vertices in the bipartite graph. This partition is guaranteed to be smaller than or equal in size to the second partition.
Returns:
one partition of the bipartite graph
• #### getSecondPartition

public Set<V> getSecondPartition()
Returns the second partitions of vertices in the bipartite graph. This partition is guaranteed to be larger than or equal in size to the first partition.
Returns:
one partition of the bipartite graph