messif.pivotselection
Class IncrementalIDistanceChooser

java.lang.Object
  extended by messif.pivotselection.AbstractPivotChooser
      extended by messif.pivotselection.IncrementalIDistanceChooser
All Implemented Interfaces:
java.io.Serializable

public class IncrementalIDistanceChooser
extends AbstractPivotChooser
implements java.io.Serializable

Chooses pivots according to a generalized iDistance clustering strategy.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class messif.pivotselection.AbstractPivotChooser
counterBucketReadBuckets, counterObjectDistComp, counterPivotDistComp, counterPivotReadBuckets, preselectedPivots, sampleProviders
 
Constructor Summary
IncrementalIDistanceChooser()
          Creates a new instance of IncrementalPivotChooser
IncrementalIDistanceChooser(int sampleSetSize, int samplePivotSize)
          Creates a new instance of IncrementalPivotChooser.
 
Method Summary
protected  void selectPivot(int pivots, AbstractObjectIterator<? extends LocalAbstractObject> objectIter)
          Selects new pivots.
 
Methods inherited from class messif.pivotselection.AbstractPivotChooser
addPivot, clear, deregisterSampleProvider, getLastPivot, getNextPivot, getPivot, getPivot, iterator, registerSampleProvider, removeLastPivot, selectPivot, selectPivot, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IncrementalIDistanceChooser

public IncrementalIDistanceChooser()
Creates a new instance of IncrementalPivotChooser


IncrementalIDistanceChooser

public IncrementalIDistanceChooser(int sampleSetSize,
                                   int samplePivotSize)
Creates a new instance of IncrementalPivotChooser.

Parameters:
sampleSetSize - the size of the sample set used to test the candidate pivot (used to estimate mu_d)
samplePivotSize - the size of the candidate set of pivots from which one pivot will be picked
Method Detail

selectPivot

protected void selectPivot(int pivots,
                           AbstractObjectIterator<? extends LocalAbstractObject> objectIter)
Selects new pivots. Implementation of the incremental pivot selection algorithm. This method is not intended to be called directly. It is automatically called from getPivot(int). This pivot selection technique depends on previously selected pivots. The AbstractObjectList with such the pivots can be passed in getPivot(position,addInfo) in addInfo parameter (preferable way) or directly set using setAdditionalInfo() method. If the list of pivots is not passed it is assumed that no pivots were selected. Statistics are maintained automatically.

Specified by:
selectPivot in class AbstractPivotChooser
Parameters:
pivots - number of pivots to generate
objectIter - Iterator over the sample set of objects to choose new pivots from