New directions in nearest neighbor searching with applications to lattice sieving

Anja Becker, Leo Ducas, Nicolas Gama, Thijs Laarhoven

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

205 Citations (Scopus)


To solve the approximate nearest neighbor search problem (NNS) on the sphere, we propose a method using locality-sensitive filters (LSF), with the property that nearby vectors have a higher probability of surviving the same filter than vectors which are far apart. We instantiate the filters using spherical caps of height 1 -α, where a vector survives a filter if it is contained in the corresponding spherical cap, and where ideally each filter has an independent, uniformly random direction. For small a, these filters are very similar to the spherical locality-sensitive hash (LSH) family previously studied by Andoni et al. For larger α bounded away from 0, these filters potentially achieve a superior performance, provided we have access to an efficient oracle for finding relevant niters. Whereas existing LSH schemes are limited by a performance parameter of p ≥ 1/(2c2 - 1) to solve approximate NNS with approximation factor c, with spherical LSF we potentially achieve smaller asymptotic values of ρ, depending on the density of the data set. For sparse data sets where the dimension is super-logarithmic in the size of the data set, we asymptotically obtain ρ = 1/(2c2 - 1), while for a logarithmic dimensionality with density constant κ we obtain asymptotics of ρ ∼ l/(4κc2). To instantiate the filters and prove the existence of an efficient decoding oracle, we replace the independent filters by filters taken from certain structured random product codes. We show that the additional structure in these concatenation codes allows us to decode efficiently using techniques similar to lattice enumeration, and we can find the relevant filters with low overhead, while at the same time not significantly changing the collision probabilities of the filters. We finally apply spherical LSF to sieving algorithms for solving the shortest vector problem (SVP) on lattices, and show that this leads to a heuristic time complexity for solving SVP in dimension n of (3/2)n/2+o(n) ≈ 20.29n+o(n). This asymptotically improves upon the previous best algorithms for solving SVP which use spherical LSH and cross-polytope LSH and run in time 20.298n+o(n). Experiments with the GaussSieve validate the claimed speedup and show that this method may be practical as well, as the polynomial overhead is small.

Original languageEnglish
Title of host publication27th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2016
Place of PublicationNew York
PublisherAssociation for Computing Machinery, Inc
Number of pages15
ISBN (Print)978-1-611974-33-1
Publication statusPublished - 1 Jan 2016
Event27th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2016) - Arlington, United States
Duration: 10 Jan 201612 Jan 2016
Conference number: 27


Conference27th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2016)
Abbreviated titleSODA2016
Country/TerritoryUnited States
Internet address


Dive into the research topics of 'New directions in nearest neighbor searching with applications to lattice sieving'. Together they form a unique fingerprint.

Cite this