Packages

class MuGraphGen[TLabel] extends Error

The MuGraphGen class is used to build random graph with various characteristics.

Linear Supertypes
Error, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MuGraphGen
  2. Error
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MuGraphGen(typeSelector: TLabel)(implicit arg0: ClassTag[TLabel])

Value Members

  1. def extractSubgraph(size: Int, g: MuGraph[TLabel], inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Extracts a subgraph of 'size' vertices from graph 'g' by performing a breadth-first search from a random vertex.

    Extracts a subgraph of 'size' vertices from graph 'g' by performing a breadth-first search from a random vertex.

    size

    the number of vertices to extract

    g

    the data graph to extract from

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  2. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  3. def genBFSQuery(size: Int, avDegree: Int, g: MuGraph[TLabel], inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Given a graph 'g', performs a breadth first search starting at a random vertex until the breadth first tree contains 'size' vertices.

    Given a graph 'g', performs a breadth first search starting at a random vertex until the breadth first tree contains 'size' vertices. At each junction, it chooses a random number of children to traverse, with that random number averaging to 'avDegree'.

    size

    the number of vertices to extract

    avDegree

    the average out degree

    g

    the data graph to extract from

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  4. def genPowerLawGraph(size: Int, nLabels: Int, maxDegree: Int, distPow: Double, inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Generates a graph with power law degree distribution with exponent 'distPow' and uniformly distributed labels.

    Generates a graph with power law degree distribution with exponent 'distPow' and uniformly distributed labels.

    size

    the number of vertices

    nLabels

    the number of labels (distributed uniformly)

    maxDegree

    the maximum allowed degree for any vertex

    distPow

    the power/exponent

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  5. def genPowerLawGraph_PowLabels(size: Int, nLabels: Int, maxDegree: Int, distPow: Double, inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Generates a graph with power law degree distribution with exponent 'distPow' and power law distributed labels.

    Generates a graph with power law degree distribution with exponent 'distPow' and power law distributed labels.

    size

    the number of vertices

    nLabels

    the number of labels (distributed according to power law)

    maxDegree

    the maximum allowed degree for any vertex

    distPow

    the power/exponent

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  6. def genRandomConnectedGraph(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Generates a random connected graph by using 'genRandomGraph' and checking whether it is connected.

    Generates a random connected graph by using 'genRandomGraph' and checking whether it is connected.

    size

    the number of vertices to generate

    nLabels

    the number of vertex labels (distributed uniformly)

    eLabels

    the number of edge labels (distributed uniformly)

    avDegree

    the average degree

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  7. def genRandomGraph(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Generates a random graph with the specified size (number of vertices), average degree and labels evenly distributed across vertices from 0 to 'nLabels - 1'.

    Generates a random graph with the specified size (number of vertices), average degree and labels evenly distributed across vertices from 0 to 'nLabels - 1'. Not necessarily a connected graph.

    size

    the number of vertices to generate

    nLabels

    the number of vertex labels (distributed uniformly)

    eLabels

    the number of edge labels (distributed uniformly)

    avDegree

    the average degree

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  8. def genRandomGraph_PowLabels(size: Int, nLabels: Int, avDegree: Int, inverse: Boolean = false, name: String = "g"): MuGraph[TLabel]

    Generates a random graph with labels distributed based on a power law distribution (currently with the magic number 2.1 for the power law exponent).

    Generates a random graph with labels distributed based on a power law distribution (currently with the magic number 2.1 for the power law exponent).

    size

    the number of vertices to generate

    nLabels

    the number of labels (distributed according to power law)

    avDegree

    the average degree

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  9. def setVariate(nLabs: Int): Unit

    Set the Random Variate Generator, using the one based on the TLabel type.

    Set the Random Variate Generator, using the one based on the TLabel type.

    nLabs

    the number of labels to generate