Packages

class MGraphGen[TLabel] extends Error

The MGraphGen object is used to build random graph with various characteristics. Needs to generate vertex labels of various types including Int, Double, String, VectorD based on the TLabel type.

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

Instance Constructors

  1. new MGraphGen(typeSelector: TLabel, stream: Int = 0)(implicit arg0: ClassTag[TLabel])

    typeSelector

    the variable for type matches (work around for generic erasure)

    stream

    the random number stream to use (0 to 999)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def extractSubgraph(size: Int, g: MGraph[TLabel], inverse: Boolean = false, name: String = "g"): MGraph[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. FIX - needs testing

    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

  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  11. def genBFSQuery(size: Int, avDegree: Int, g: MGraph[TLabel], inverse: Boolean = false, name: String = "g"): MGraph[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

  12. def genPowerLawGraph(size: Int, nLabels: Int, eLabels: Int, maxDegree: Int, distPow: Double = 2.1, inverse: Boolean = false, name: String = "g"): MGraph[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)

    eLabels

    the number of edge labels (distributed uniformly)

    maxDegree

    the maximum allowed degree for any vertex

    distPow

    the power/exponent (2.1 is used in WWW graph pg 72 of m&m graph data)

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  13. def genPowerLawGraph_PowLabels(size: Int, nLabels: Int, eLabels: Int, maxDegree: Int, distPow: Double = 2.1, inverse: Boolean = false, name: String = "g"): MGraph[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)

    eLabels

    the number of edge labels (distributed uniformly)

    maxDegree

    the maximum allowed degree for any vertex

    distPow

    the power/exponent (2.1 is used in WWW graph pg 72 of m&m graph data)

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  14. def genRandomConnectedGraph(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, inverse: Boolean = false, name: String = "g"): MGraph[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

  15. def genRandomGraph(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, inverse: Boolean = false, name: String = "g", locality: Boolean = true): MGraph[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

    locality

    whether to select children from anywhere in graph or locally

  16. def genRandomGraph_PowLabels(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, distPow: Double = 2.1, inverse: Boolean = false, name: String = "g"): MGraph[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)

    eLabels

    the number of edge labels (distributed uniformly)

    avDegree

    the average out-degree

    distPow

    the power/exponent (2.1 is used in WWW graph pg 72 of m&m graph data)

    inverse

    whether to create inverse adjacency (parents)

    name

    the name of the graph

  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  23. 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

  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Error

Inherited from AnyRef

Inherited from Any

Ungrouped