Counterexamples expose gaps in the proof of time complexity for cover trees introduced in 2006
Yury Elkin, Vitaliy Kurlin
View presentation:2022-10-17T20:07:00ZGMT-0600Change your timezone on the schedule page
2022-10-17T20:07:00Z
The live footage of the talk, including the Q&A, can be viewed on the session page, TopoInVis: Opening, Keynote + Session 1.
Keywords
Cover tree, k-nearest neighbors, counterexample, compressed cover tree, dual-tree algorithms, parametrized time complexity
Abstract
This paper is motivated by the k-nearest neighbors search: given an arbitrary metric space, and its finite subsets (a reference set R and a query set Q), design a fast algorithm to find all k-nearest neighbors in R for every point q in Q. In 2006, Beygelzimer, Kakade, and Langford introduced cover trees to justify a near-linear time complexity for the neighbor search in the sizes of Q,R. Section 5.3 of Curtin's PhD (2015) pointed out that the proof of this result was wrong. The key step in the original proof attempted to show that the number of iterations can be estimated by multiplying the length of the longest root-to-leaf path in a cover tree by a constant factor. However, this estimate can miss many potential nodes in several branches of a cover tree, that should be considered during the neighbor search. The same argument was unfortunately repeated in several subsequent papers using cover trees from 2006. This paper explicitly constructs challenging datasets that provide counterexamples to the past proofs of time complexity for the cover tree construction, the k-nearest neighbor search presented at ICML 2006, and the dual-tree search algorithm published in NIPS 2009. The corrected near-linear time complexities with extra parameters are proved in another forthcoming paper by using a new compressed cover tree simplifying the original tree structure.