Embedding Graphs as Euclidean kNN-Graphs
T. Schibler, S. Suri, J. Xue
TL;DR
This work addresses the problem of realizing a directed $k$-regular graph as a Euclidean $k$NN-graph. It provides an efficient, dimension-aware strategy: for fixed $d\ge 2$, an efficient algorithm yields a $(1-\varepsilon)$-approximate realization or proves non-realizability, using a separator-based edge-splitting approach and per-component realizations; for $d=1$, it offers a linear-time decision procedure and, if realizable, a realization via a line-embedded linear program with $O(n)$ variables, solvable in $O(n^{2.5}\mathrm{polylog}(n))$ time. The results establish an efficient polynomial-time approximation scheme (EPTAS) in higher dimensions and a tight, fast 1D algorithm, advancing the understanding of embedding ordinal neighbor relations into Euclidean space. The methods hinge on graph separators, quasi-realizations on small components, and a constructive concatenation across components, with potential extensions to ranked neighbor data and related proximity graphs. These findings facilitate practical embedding of proximity graphs while clarifying the computational limits of exact realizability in low and higher dimensions.
Abstract
Let G = (V, E) be a directed graph on n vertices where each vertex has out-degree k. We say that G is kNN-realizable in d-dimensional Euclidean space if there exists a point set P = {p1, p2, ..., pn} in R^d along with a one-to-one mapping phi: V -> P such that for any u, v in V, u is an out-neighbor of v in G if and only if phi(u) is one of the k nearest neighbors of phi(v); we call the map phi a "kNN realization" of G in R^d. The kNN realization problem, which aims to compute such a mapping in R^d, is known to be NP-hard already for d = 2 and k = 1 (Eades and Whitesides, Theoretical Computer Science, 1996), and to the best of our knowledge, has not been studied in dimension d = 1. The main results of this paper are the following: (1) For any fixed dimension d >= 2, we can efficiently compute an embedding realizing at least a (1 - epsilon) fraction of G's edges, or conclude that G is not kNN-realizable in R^d. (2) For d = 1, we can decide in O(kn) time whether G is kNN-realizable and, if so, compute a realization in O(n^{2.5} * polylog(n)) time.
