Class MixedRandomGraphGenerator


  • public class MixedRandomGraphGenerator
    extends java.lang.Object
    Generates a mixed-mode random graph (with random edge weights) based on the output of BarabasiAlbertGenerator. Primarily intended for providing a heterogeneous sample graph for visualization testing, etc.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <V,​E>
      Graph<V,​E>
      generateMixedRandomGraph​(com.google.common.base.Supplier<Graph<V,​E>> graphFactory, com.google.common.base.Supplier<V> vertexFactory, com.google.common.base.Supplier<E> edgeFactory, java.util.Map<E,​java.lang.Number> edge_weights, int num_vertices, java.util.Set<V> seedVertices)
      Returns a random mixed-mode graph.
      • Methods inherited from class java.lang.Object

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

      • MixedRandomGraphGenerator

        public MixedRandomGraphGenerator()
    • Method Detail

      • generateMixedRandomGraph

        public static <V,​E> Graph<V,​E> generateMixedRandomGraph​(com.google.common.base.Supplier<Graph<V,​E>> graphFactory,
                                                                            com.google.common.base.Supplier<V> vertexFactory,
                                                                            com.google.common.base.Supplier<E> edgeFactory,
                                                                            java.util.Map<E,​java.lang.Number> edge_weights,
                                                                            int num_vertices,
                                                                            java.util.Set<V> seedVertices)
        Returns a random mixed-mode graph. Starts with a randomly generated Barabasi-Albert (preferential attachment) generator (4 initial vertices, 3 edges added at each step, and num_vertices - 4 evolution steps). Then takes the resultant graph, replaces random undirected edges with directed edges, and assigns random weights to each edge.
        Type Parameters:
        V - the vertex type
        E - the edge type
        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
        edge_weights - storage for the edge weights that this generator creates
        num_vertices - number of vertices to generate
        seedVertices - storage for the seed vertices that this generator creates
        Returns:
        the generated graph