net.obsearch.pivots.perm
Class AbstractIncrementalPerm<O extends OB>

java.lang.Object
  extended by net.obsearch.pivots.AbstractIncrementalPivotSelector<O>
      extended by net.obsearch.pivots.perm.AbstractIncrementalPerm<O>
Direct Known Subclasses:
IncrementalPermFloat

public abstract class AbstractIncrementalPerm<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 AbstractIncrementalPerm(Pivotable<O> pivotable, int l, int m)
          Receives the object that accepts pivots as possible candidates.
 
Method Summary
protected abstract  double distance(O a, O b)
           
 PivotResult generatePivots(int pivotCount, cern.colt.list.LongArrayList elements, Index<O> index)
           
 
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

AbstractIncrementalPerm

protected AbstractIncrementalPerm(Pivotable<O> pivotable,
                                  int l,
                                  int m)
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

distance

protected abstract double distance(O a,
                                   O b)
                            throws OBException
Throws:
OBException

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


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