Nengo.ca

ca.nengo.math.impl
Class MultiLevelKLNetworkPartitioner

java.lang.Object
  extended by ca.nengo.math.impl.MultiLevelKLNetworkPartitioner
All Implemented Interfaces:
NetworkPartitioner

public class MultiLevelKLNetworkPartitioner
extends java.lang.Object
implements NetworkPartitioner

Employs the multi-level Kernighan-Lin graph partitioning heuristic to partition a network into a given number of partitions such that the amount of information passed along the projections that cross partitions is minimized, while making sure the number of neurons in each partition is relatively balanced.


Constructor Summary
MultiLevelKLNetworkPartitioner()
           
 
Method Summary
 double getBalanceFactor()
           
 java.util.ArrayList<java.util.Set<Node>> getPartitions()
           
 int[] getPartitionsAsIntArray()
           
 void initialize(Node[] nodes, Projection[] projections, int numPartitions)
           
 void setBalanceFactor(double myBalanceFactor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiLevelKLNetworkPartitioner

public MultiLevelKLNetworkPartitioner()
Method Detail

getBalanceFactor

public double getBalanceFactor()

setBalanceFactor

public void setBalanceFactor(double myBalanceFactor)

initialize

public void initialize(Node[] nodes,
                       Projection[] projections,
                       int numPartitions)
Specified by:
initialize in interface NetworkPartitioner

getPartitions

public java.util.ArrayList<java.util.Set<Node>> getPartitions()
Specified by:
getPartitions in interface NetworkPartitioner

getPartitionsAsIntArray

public int[] getPartitionsAsIntArray()
Specified by:
getPartitionsAsIntArray in interface NetworkPartitioner

Nengo.ca