tuffy.ground.partition
Class PartitionScheme

java.lang.Object
  extended by tuffy.ground.partition.PartitionScheme

public class PartitionScheme
extends java.lang.Object

A partitioning scheme on an MRF. Such a scheme consists of one or more components, with each component consisting of one or more partitions. Components are disjoint from each other, whereas partitions within the same component may share hyper-edges (i.e., clauses). In the current policy, each hyper-edge being shared across partitioned is randomly assigned to only one of the adjacent partitions.


Field Summary
private  java.util.HashMap<java.lang.Integer,Component> compMap
           
 java.util.ArrayList<Component> components
          Components and partitions.
 double maxCompSize
           
 double maxNumAtomsInComp
           
 double maxNumAtomsInPart
           
 double maxPartSize
           
private  int maxSplitFactor
           
private  int ncomp
          Stats.
private  int npart
           
private  long numAtoms
           
private  long numClauses
           
private  long numCutClauses
           
private  int numSplitComps
           
private  java.util.HashMap<java.lang.Integer,Partition> partMap
           
 double totalSize
           
 
Constructor Summary
PartitionScheme(java.util.ArrayList<Component> comps)
           
 
Method Summary
 Component getCompByID(int id)
           
 Component getCompByPartID(int pid)
           
 MRF getMRFByPartID(int pid)
           
 long getNumAtoms()
           
 Partition getPartitionByID(int pid)
           
 java.lang.String getStats()
          Show stats about this partitioning scheme.
 int numComponents()
           
 int numParts()
           
 double size()
          Estimated RAM size required to hold everything.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

components

public java.util.ArrayList<Component> components
Components and partitions. Each component or partition has a unique ID.


compMap

private java.util.HashMap<java.lang.Integer,Component> compMap

partMap

private java.util.HashMap<java.lang.Integer,Partition> partMap

ncomp

private int ncomp
Stats.


npart

private int npart

totalSize

public double totalSize

maxCompSize

public double maxCompSize

maxPartSize

public double maxPartSize

maxNumAtomsInComp

public double maxNumAtomsInComp

maxNumAtomsInPart

public double maxNumAtomsInPart

numAtoms

private long numAtoms

numClauses

private long numClauses

numCutClauses

private long numCutClauses

numSplitComps

private int numSplitComps

maxSplitFactor

private int maxSplitFactor
Constructor Detail

PartitionScheme

public PartitionScheme(java.util.ArrayList<Component> comps)
Method Detail

getStats

public java.lang.String getStats()
Show stats about this partitioning scheme.


getNumAtoms

public long getNumAtoms()

getCompByID

public Component getCompByID(int id)

getCompByPartID

public Component getCompByPartID(int pid)

getPartitionByID

public Partition getPartitionByID(int pid)

getMRFByPartID

public MRF getMRFByPartID(int pid)

size

public double size()
Estimated RAM size required to hold everything.


numComponents

public int numComponents()

numParts

public int numParts()