Packages

class Partition[TLabel] extends AnyRef

The Partition class is used to partition large directed graphs. It support the following three algorithms: 'group_ran', 'group_ord', 'group_lp'.

(1) Random Partitioning - excellent balance, poor edge cuts Each vertex is given a randomly assigned integer label 'ilabel' and is grouped accordingly.

(2) Ordered Partitioning - excellence balance, edge cuts may or may not be good Each vertex is assigned an integer label 'ilabel' incrementally and is grouped accordingly, e.g., {0, 1, ..., 9}, {10, 11, ..., 19}, ...

(3) Label Propagation partitioning - fair balance, fair edge cuts Each vertex is initially given a unique integer label 'ilabel'. On each iteration, each vertex will have its 'ilabel' reassigned to the most popular/frequent 'ilabel' in its neighborhood (which includes its children, parents and itself).

See also

research.microsoft.com/pubs/183714/Partition.pdf ----------------------------------------------------------------------------

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

Instance Constructors

  1. new Partition(g: Graph[TLabel])(implicit arg0: ClassTag[TLabel])

    g

    the directed graph to partition

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 finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def formGraphs(): ArrayBuffer[Graph[TLabel]]

    Form subgraphs 'gi's from the original graph 'g'

  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. def group_lp(k: Int): Unit

    Group the vertices based on their 'ilabel's using label propagation.

    Group the vertices based on their 'ilabel's using label propagation.

    k

    the number of subgraphs to create

  12. def group_ord(k: Int): Unit

    Group the vertices based on the order of their 'ilabel's, which are assigned incrementally.

    Group the vertices based on the order of their 'ilabel's, which are assigned incrementally.

    k

    the number of subgraphs to create

  13. def group_ran(k: Int): Unit

    Group the vertices based on their randomly generated 'ilabel's.

    Group the vertices based on their randomly generated 'ilabel's.

    k

    the number of subgraphs to create

  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  19. def partition(): Unit

    Partition vertices with the same 'ilabel' after grouping.

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

Inherited from AnyRef

Inherited from Any

Ungrouped