Skip to content

ANN - Approximate Nearest Neighbors Index with Locality Sensitive Hashing and Hyper Cube projections for vectors and multi-dimensional data.

Notifications You must be signed in to change notification settings

taslanidis/Nearest-Neighbors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ANN - Approximate Nearest Neighbors

Implementation of an ANN index with locality-sensitive hashing in C++, for efficient vector lookup of nearest neighbors.

Vector Projections (2D)

  • LSH
  • HyperCube

Hash Vectors with amplified hash functions and use Hash Table for storage.
Get approximate nearest neighbor - Or R-nearest neighbors, with M1 metric.

Hash Vectors with amplified hash functions and use Hyper Cube for storage. Get approximate nearest neighbor Or R-nearest neighbors, with M1 metric

Curve Projections (3D)

  • Grid LSH
  • Projections

Curve Vectorization with Grid, then calling LSH for vectors on the vectorized curves. (Poor method)

Find all relevant traversals, and project the nearest traversals, and use LSH on vectorized traversals, instead of vectorizing Curves. (Better method for curves)

General Use functions for I\O and searching:

Helper Functions

Usage:

  • Compilation
    make all
  • Instructions for usage
    ./build/lsh.x
    ./build/hypercube.x

Collaborators

Konstantinos Athinaios
Theofanis Aslanidis

About

ANN - Approximate Nearest Neighbors Index with Locality Sensitive Hashing and Hyper Cube projections for vectors and multi-dimensional data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published