Empirical complexity of comparator-based nearest neighbor descent

A Java parallel streams implementation of the -nearest neighbor descent algorithm is presented using a natural statistical termination criterion. Input data consist of a set of objects of type V, and a Function<V, Comparator<V>>, which enables any to decide which of is more similar to . Experiments with the Kullback-Leibler divergence Comparator support the prediction that the number of rounds of -nearest neighbor updates need not exceed twice the diameter of the undirected version of a random regular out-degree digraph on vertices. Overall complexity was in the class of examples studied. When objects are sampled uniformly from a -dimensional simplex, accuracy of the -nearest neighbor approximation is high up to , but declines in higher dimensions, as theory would predict.
View on arXiv