be.hogent.tarsos.lsh.families
Interface HashFamily

All Known Implementing Classes:
CityBlockHashFamily, CosineHashFamily, EuclidianHashFamily

public interface HashFamily

An interface representing a family of hash functions. A hash family has the ability to generate a new member of the family, and can combine hashes generated by a family of hash functions.

Author:
Joren Six

Method Summary
 java.lang.Integer combine(int[] hashes)
          Combine a number of hashes generated by members of this hash function family.
 DistanceMeasure createDistanceMeasure()
          Create a new distance measure.
 HashFunction createHashFunction()
          Create a new hash function of this family.
 

Method Detail

createHashFunction

HashFunction createHashFunction()
Create a new hash function of this family.

Returns:
A new hash function of this family.

combine

java.lang.Integer combine(int[] hashes)
Combine a number of hashes generated by members of this hash function family.

Parameters:
hashes - The raw hashes that need to be combined.
Returns:
An integer representing a combination of the hashes. Normally, unique hash values result in a unique, deterministic combined hash value.

createDistanceMeasure

DistanceMeasure createDistanceMeasure()
Create a new distance measure.

Returns:
The distance measure used to sort neighbourhood candidates.