Improved Time-Space Tradeoffs for 3SUM-Indexing
Itai Dinur, Alexander Golovnev
TL;DR
The paper advances time-space tradeoffs for 3SUM-Indexing by exploiting problem structure within Fiat-Naor function inversion. It introduces a sub-function decomposition of the inversion target, enabling a tradeoff of TS = ~O(n^{2.5}) (equivalently, S = ~O(n^{2.5−δ}) and T = ~O(n^{δ}) for 0 ≤ δ ≤ 1) and extends this approach to kSUM-Indexing and kXOR-Indexing. Through reductions, it also yields improved bounds for Gapped String Indexing and Jumbled Indexing, demonstrating that application-specific refinements of the Fiat-Naor scheme can yield substantial gains. The results are obtained with RAM-model practicality, preserving near-linear online work and quadratic preprocessing, and suggest broader applicability of the sub-function technique to other structured inversions.
Abstract
3SUM-Indexing is a preprocessing variant of the 3SUM problem that has recently received a lot of attention. The best known time-space tradeoff for the problem is $T S^3 = n^{6}$ (up to logarithmic factors), where $n$ is the number of input integers, $S$ is the length of the preprocessed data structure, and $T$ is the running time of the query algorithm. This tradeoff was achieved in [KP19, GGHPV20] using the Fiat-Naor generic algorithm for Function Inversion. Consequently, [GGHPV20] asked whether this algorithm can be improved by leveraging the structure of 3SUM-Indexing. In this paper, we exploit the structure of 3SUM-Indexing to give a time-space tradeoff of $T S = n^{2.5}$, which is better than the best known one in the range $n^{3/2} \ll S \ll n^{7/4}$. We further extend this improvement to the $k$SUM-Indexing problem-a generalization of 3SUM-Indexing-and to the related $k$XOR-Indexing problem, where addition is replaced with XOR. Additionally, we improve the best known time-space tradeoffs for the Gapped String Indexing and Jumbled Indexing problems, which are well-known data structure problems related to 3SUM-Indexing. Our improvement comes from an alternative way to apply the Fiat-Naor algorithm to 3SUM-Indexing. Specifically, we exploit the structure of the function to be inverted by decomposing it into "sub-functions" with certain properties. This allows us to apply an improvement to the Fiat-Naor algorithm (which is not directly applicable to 3SUM-Indexing), obtained in [GGPS23] in a much larger range of parameters. We believe that our techniques may be useful in additional application-dependent optimizations of the Fiat-Naor algorithm.
