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
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  10. 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

  11. def genPowerLawGraph(size: Int, nLabels: Int, eLabels: Int, maxDegree: Int, distPow: Double = 2.1, inverse: Boolean = true, 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

  12. 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

  13. def genRandomConnectedGraph(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, inverse: Boolean = true, 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

  14. 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

  15. def genRandomGraph_PowLabels(size: Int, nLabels: Int, eLabels: Int, avDegree: Int, distPow: Double = 2.1, inverse: Boolean = true, 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

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

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

Inherited from Error

Inherited from AnyRef

Inherited from Any

Ungrouped