class GraphGen[TLabel] extends Error
The GraphGen
object is used to build random graphs with various characteristics.
Needs to generate vertex labels of various types including Int
, Double
,
String
, VectorD
based on the TLabel
type.
- Alphabetic
- By Inheritance
- GraphGen
- Error
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GraphGen(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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def flaw(method: String, message: String): Unit
- Definition Classes
- Error
- def genBFSQuery(size: Int, avDegree: Int, g: Graph[TLabel], inverse: Boolean = false, name: String = "g"): Graph[TLabel]
Given a graph 'g', perform a breadth first search starting at a random vertex until the breadth first tree contains 'size' vertices.
Given a graph 'g', perform 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
- def genPowerLawGraph(size: Int, nLabels: Int, maxDegree: Int, distPow: Double = 2.1, inverse: Boolean = true, name: String = "g"): Graph[TLabel]
Generate a graph with power law degree distribution with exponent 'distPow' and uniformly distributed labels.
Generate 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 (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
- def genPowerLawGraph_PowLabels(size: Int, nLabels: Int, maxDegree: Int, distPow: Double = 2.1, inverse: Boolean = false, name: String = "g"): Graph[TLabel]
Generate a graph with power law degree distribution with exponent 'distPow' and power law distributed labels.
Generate 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 (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
- def genRandomConnectedGraph(size: Int, nLabels: Int, avDegree: Int, inverse: Boolean = true, name: String = "g"): Graph[TLabel]
Generate a random connected graph by using 'genRandomGraph' and checking whether it is connected.
Generate a random connected graph by using 'genRandomGraph' and checking whether it is connected.
- size
the number of vertices to generate
- nLabels
the number of labels (distributed uniformly)
- avDegree
the average degree
- inverse
whether to create inverse adjacency (parents)
- name
the name of the graph
- def genRandomGraph(size: Int, nLabels: Int, avDegree: Int, inverse: Boolean = false, name: String = "g", locality: Boolean = true): Graph[TLabel]
Generate a random graph with the specified size (number of vertices), average degree and labels evenly distributed across vertices from 0 to 'nLabels - 1'.
Generate 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 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
- def genRandomGraph_PowLabels(size: Int, nLabels: Int, avDegree: Int, distPow: Double = 2.1, inverse: Boolean = true, name: String = "g"): Graph[TLabel]
Generate a random graph with labels distributed based on a power law distribution (currently with the magic number 2.1 for the power law exponent).
Generate 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 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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated