net.obsearch.pivots.sss
Class AbstractMySSS<O extends OB>

java.lang.Object
  extended by net.obsearch.pivots.AbstractIncrementalPivotSelector<O>
      extended by net.obsearch.pivots.sss.AbstractMySSS<O>
Direct Known Subclasses:
SSSByte, SSSDouble, SSSFloat, SSSInt, SSSLong, SSSShort

public abstract class AbstractMySSS<O extends OB>
extends AbstractIncrementalPivotSelector<O>

IncrementalBustosNavarroChavez implements the pivot selection described here: Pivot Selection Techniques for Proximity Searching in Metric Spaces (2001) Benjamin Bustos, Gonzalo Navarro, Edgar Chavez The idea was also suggested by Zezula et all in their book "Similarity Search: The Metric Space Approach"

Author:
Arnoldo Jose Muller Molina

Field Summary
 
Fields inherited from class net.obsearch.pivots.AbstractIncrementalPivotSelector
pivotable, r
 
Constructor Summary
protected AbstractMySSS(Pivotable<O> pivotable)
          Receives the object that accepts pivots as possible candidates.
 
Method Summary
protected abstract  double distance(O o1, O o2)
           
 PivotResult generatePivots(int pivotCount, cern.colt.list.LongArrayList elements, Index<O> index)
           
 void setAlpha(double value)
           
 
Methods inherited from class net.obsearch.pivots.AbstractIncrementalPivotSelector
enableAcceptRepeated, generatePivots, getObject, mapId, max, select, selectO, selectUnique
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractMySSS

protected AbstractMySSS(Pivotable<O> pivotable)
Receives the object that accepts pivots as possible candidates. Selects l pairs of objects to compare which set of pivots is better, and selects m possible pivot candidates from the data set.

Parameters:
pivotable -
l -
m -
Method Detail

setAlpha

public void setAlpha(double value)

generatePivots

public PivotResult generatePivots(int pivotCount,
                                  cern.colt.list.LongArrayList elements,
                                  Index<O> index)
                           throws OBException,
                                  IllegalAccessException,
                                  InstantiationException,
                                  OBStorageException,
                                  PivotsUnavailableException
Specified by:
generatePivots in class AbstractIncrementalPivotSelector<O extends OB>
Throws:
OBException
IllegalAccessException
InstantiationException
OBStorageException
PivotsUnavailableException

distance

protected abstract double distance(O o1,
                                   O o2)
                            throws OBException
Throws:
OBException


Copyright © 2007-2011 Arnoldo Jose Muller Molina. All Rights Reserved.