Search arXivSearch

arXiv · 2409.15023

Efficient Nearest Neighbor Search Using Dynamic Programming

Abstract

Given a collection of points in R^3, KD-Tree and R-Tree are well-known nearest neighbor search (NNS) algorithms that rely on space partitioning and spatial indexing techniques. However, when the query point is far from the data points or the data points inherently represent a 2-manifold surface, their query performance may degrade. To address this, we propose a novel dynamic programming technique that precomputes a Directed Acyclic Graph (DAG) to encode the proximity structure between data points. More specifically, the DAG captures how the proximity structure evolves during the incremental construction of the Voronoi diagram of the data points. Experimental results demonstrate that our method achieves a 1x-10x speedup. Additionally, our algorithm demonstrates significant practical value across diverse applications. We validated its effectiveness through extensive testing in four key applications: Point to Mesh Distance Queries, Iterative Closest Point (ICP) Registration, Density Peak Clustering, and Point to Segments Distance Queries. A particularly notable feature of our approach is its unique ability to efficiently identify the nearest neighbor among the first k points in the point cloud a capability that enables substantial acceleration in low-dimensional applications like Density Peak Clustering. As a natural extension of our incremental construction process, our method can also be readily adapted for farthest point sampling tasks. These experimental results across multiple domains underscore the broad applicability and practical importance of our approach.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Pengfei Wang, Jiantao Song, Shiqing Xin, Shuangmin Chen, Changhe Tu, Wenping Wang, Jiaye Wang. 2025-07-29. Efficient Nearest Neighbor Search Using Dynamic Programming. https://arxiv.org/abs/2409.15023

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

The Stretch Factor of Planar Delaunay Triangulations Is Less Than 1.65

Delaunay triangulations are a fundamental class of plane spanners, and determining their worst-case stretch factor has been a longstanding problem in computational geometry. We prove an upper bound of \(1.65\), improving the bound of \(1.998\) due to Xia (2011) and reducing the gap to the known lower bound of \(1.5932\) by a factor of more than seven. Our proof works with the chains of circumdisks introduced by Xia, along which a path between two sites is assembled disk by disk. Xia measures such a path against a quantity attached to the whole chain, and because that quantity is not additive, his induction has to be carried alongside a separate global estimate. Our main idea is to measure the path against the progress it makes along the segment joining the two sites. This quantity is additive, so the bound becomes a Bellman recursion that forgets all but one number about the disks already passed, and we show that the bound holds if and only if a potential on the current state satisfies three local inequalities. The smallest feasible potential is the value function of that recursion, so searching for a potential becomes the problem of fitting this value function from above. The geometry of the disks reduces the fit to a linear program over functions of one variable, in which a GPT-based multi-agent system that we developed found a feasible point, certified in exact arithmetic.

cs.CG

Fast Persistent Homology Computation for Functions on $\mathbb{R}$

0-dimensional persistent homology is known, from a computational point of view, as the easy case. Indeed, given a list of $n$ edges in non-decreasing order of filtration value, one only needs a union-find data structure to keep track of the connected components and we get the persistence diagram in time $O(nα(n))$. The running time is thus usually dominated by sorting the edges in $Θ(n\log(n))$. A little-known fact is that, in the particularly simple case of studying the sublevel sets of a piecewise-linear function on $\mathbb{R}$ or $\mathbb{S}^1$, persistence can actually be computed in linear time. This note presents a simple algorithm that achieves this complexity and an extension to image persistence. An implementation is available in Gudhi.

cs.CG

Numerical Simulation of Transdermal Insulin Delivery Using a Coated Microneedle in a 2D Skin Model

In this work, we present a computational model to investigate transdermal insulin delivery using coated microneedles. A detailed skin geometry incorporating a coated microneedles was developed to analyze insulin release through the different skin layers and to evaluate the influence of key transport parameters. The model represents the major skin layers: the stratum corneum, viable epidermis, and dermis. Unstructured grids were used to achieve a reliable resolution of the model. The simulations provide insights into the permeation of insulin from the coated microneedles and the transport and distribution across the different skin layers. Finally, the simulation results were compared with experimental data to evaluate the predictive capability of the model.

cs.CG