Software Development for Algorithmic Problems

Implemented state-of-the-art algorithms for the Approximate Nearest Neighbor problem, including classic Locality Sensitive Hashing, its variation using the Hypercube projection, and Graph based nearest neighbors using the MRNG technique, using C++ and trained CNNs in python to reduce dimensions and compare effectiveness and execution times of the above algorithms on the starting and latent spaces. Used threads to make computations on MRNG and graph construction more efficient, and the silhouette metric for measuring the effectiveness of clustering. All algorithms were tested on the MNIST dataset.

Technologies Used

  • C++
  • Python
  • Convolutional Neural Networks
  • PyTorch

Collaborators

  • Konstantinos Fragkos