  Graph-based approaches are empirically shown to be very successful for the
nearest neighbor search (NNS). However, there has been very little research on
their theoretical guarantees. We fill this gap and rigorously analyze the
performance of graph-based NNS algorithms, specifically focusing on the
low-dimensional (d << \log n) regime. In addition to the basic greedy algorithm
on nearest neighbor graphs, we also analyze the most successful heuristics
commonly used in practice: speeding up via adding shortcut edges and improving
accuracy via maintaining a dynamic list of candidates. We believe that our
theoretical insights supported by experimental analysis are an important step
towards understanding the limits and benefits of graph-based NNS algorithms.
