infomat.algorithms.grouping
Class TopDownSplitter

java.lang.Object
  extended by infomat.algorithms.grouping.TopDownSplitter
All Implemented Interfaces:
NeedsISimilarity

public class TopDownSplitter
extends java.lang.Object
implements NeedsISimilarity

Top-Down-Splitter. Basic class for repeatedly splitting bad clusters.


Field Summary
protected  UniqueIdentifier identifier
           
private  IntrinsicGroupEvaluation intrinsicGroupEvaluation
           
protected  boolean printGroupSizesInIterations
           
protected  Properties properties
           
private  ISimilarity similarity
           
static int topDownClusteringNumber
           
 
Constructor Summary
TopDownSplitter()
           
TopDownSplitter(Properties properties)
           
 
Method Summary
 IObjectGrouping cluster(IObjectGroup iogroup, GroupingAlgorithm alg)
           
 IObjectGrouping cluster(IObjectSet ioset, GroupingAlgorithm alg)
           
 java.lang.String getAlgorithmName()
           
 Properties getDefaultProperties()
           
 java.lang.String getInfoString()
           
 Properties getProperties()
           
 java.lang.Object getPropertyValue(java.lang.String name)
           
 java.util.Vector getPropertyVector()
           
 UniqueIdentifier getUniqueIdentifier()
           
protected  void printGroupSizes(java.util.Vector<IObjectGroupNode> nodes)
          For debuggin purposes!
private  java.util.Vector removeWorstNode(java.util.Vector<IObjectGroupNode> currentNodes)
           
 void setProperties(Properties properties)
           
 void setProperty(java.lang.String name, java.lang.Object value)
           
 void setSimilarity(ISimilarity similarity)
           
 void setUniqueIdentifier(UniqueIdentifier uniqueIdentifier)
           
private  java.util.Vector<IObjectGroup> split(IObjectGroup worstGroup, GroupingAlgorithm alg, int numberOfTries, int splitEvalution)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

topDownClusteringNumber

public static int topDownClusteringNumber

similarity

private ISimilarity similarity

intrinsicGroupEvaluation

private IntrinsicGroupEvaluation intrinsicGroupEvaluation

properties

protected Properties properties

identifier

protected UniqueIdentifier identifier

printGroupSizesInIterations

protected boolean printGroupSizesInIterations
Constructor Detail

TopDownSplitter

public TopDownSplitter()

TopDownSplitter

public TopDownSplitter(Properties properties)
Method Detail

getDefaultProperties

public Properties getDefaultProperties()

setSimilarity

public void setSimilarity(ISimilarity similarity)
Specified by:
setSimilarity in interface NeedsISimilarity

cluster

public IObjectGrouping cluster(IObjectGroup iogroup,
                               GroupingAlgorithm alg)

split

private java.util.Vector<IObjectGroup> split(IObjectGroup worstGroup,
                                             GroupingAlgorithm alg,
                                             int numberOfTries,
                                             int splitEvalution)

cluster

public IObjectGrouping cluster(IObjectSet ioset,
                               GroupingAlgorithm alg)

removeWorstNode

private java.util.Vector removeWorstNode(java.util.Vector<IObjectGroupNode> currentNodes)

printGroupSizes

protected void printGroupSizes(java.util.Vector<IObjectGroupNode> nodes)
For debuggin purposes!


getInfoString

public java.lang.String getInfoString()

getAlgorithmName

public java.lang.String getAlgorithmName()

getPropertyVector

public java.util.Vector getPropertyVector()

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.String name)

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
                 throws PropertyNotFoundException
Throws:
PropertyNotFoundException

getProperties

public Properties getProperties()

setProperties

public void setProperties(Properties properties)

getUniqueIdentifier

public UniqueIdentifier getUniqueIdentifier()

setUniqueIdentifier

public void setUniqueIdentifier(UniqueIdentifier uniqueIdentifier)