6 research outputs found

    All non-trivial variants of 3-LDT are equivalent

    Full text link
    The popular 3-SUM conjecture states that there is no strongly subquadratic time algorithm for checking if a given set of integers contains three distinct elements that sum up to zero. A closely related problem is to check if a given set of integers contains distinct x1,x2,x3x_1, x_2, x_3 such that x1+x2=2x3x_1+x_2=2x_3. This can be reduced to 3-SUM in almost-linear time, but surprisingly a reverse reduction establishing 3-SUM hardness was not known. We provide such a reduction, thus resolving an open question of Erickson. In fact, we consider a more general problem called 3-LDT parameterized by integer parameters α1,α2,α3\alpha_1, \alpha_2, \alpha_3 and tt. In this problem, we need to check if a given set of integers contains distinct elements x1,x2,x3x_1, x_2, x_3 such that α1x1+α2x2+α3x3=t\alpha_1 x_1+\alpha_2 x_2 +\alpha_3 x_3 = t. For some combinations of the parameters, every instance of this problem is a NO-instance or there exists a simple almost-linear time algorithm. We call such variants trivial. We prove that all non-trivial variants of 3-LDT are equivalent under subquadratic reductions. Our main technical contribution is an efficient deterministic procedure based on the famous Behrend's construction that partitions a given set of integers into few subsets that avoid a chosen linear equation

    Data Structures Meet Cryptography: 3SUM with Preprocessing

    Full text link
    This paper shows several connections between data structure problems and cryptography against preprocessing attacks. Our results span data structure upper bounds, cryptographic applications, and data structure lower bounds, as summarized next. First, we apply Fiat--Naor inversion, a technique with cryptographic origins, to obtain a data structure upper bound. In particular, our technique yields a suite of algorithms with space SS and (online) time TT for a preprocessing version of the NN-input 3SUM problem where S3⋅T=O~(N6)S^3\cdot T = \widetilde{O}(N^6). This disproves a strong conjecture (Goldstein et al., WADS 2017) that there is no data structure that solves this problem for S=N2−δS=N^{2-\delta} and T=N1−δT = N^{1-\delta} for any constant δ>0\delta>0. Secondly, we show equivalence between lower bounds for a broad class of (static) data structure problems and one-way functions in the random oracle model that resist a very strong form of preprocessing attack. Concretely, given a random function F:[N]→[N]F: [N] \to [N] (accessed as an oracle) we show how to compile it into a function GF:[N2]→[N2]G^F: [N^2] \to [N^2] which resists SS-bit preprocessing attacks that run in query time TT where ST=O(N2−ε)ST=O(N^{2-\varepsilon}) (assuming a corresponding data structure lower bound on 3SUM). In contrast, a classical result of Hellman tells us that FF itself can be more easily inverted, say with N2/3N^{2/3}-bit preprocessing in N2/3N^{2/3} time. We also show that much stronger lower bounds follow from the hardness of kSUM. Our results can be equivalently interpreted as security against adversaries that are very non-uniform, or have large auxiliary input, or as security in the face of a powerfully backdoored random oracle. Thirdly, we give non-adaptive lower bounds for 3SUM and a range of geometric problems which match the best known lower bounds for static data structure problems

    Perfect Binary Space Partitions

    No full text
    In this paper we discuss some results on perfect binary space partitions on sets of non-intersecting line segments in two dimensions. A binary space partition is a scheme for recursively dividing a configuration of objects by hyperplanes until all objects are separated. A binary space partition is called perfect when none of the objects is cut by the hyperplanes used by the binary space partition. Given a set of n non-intersecting line segments, our method constructs a perfect binary space partition, or decides that no perfect binary space partition exists for the arrangement of line segments, in O(n 2 log n) time

    Perfect binary space partitions

    Get PDF
    A binary space partition is a recursive partitioning of a configuration of objects by hyperplanes until all objects are separated. A binary space partition is called perfect if none of the objects is cut by the hyperplanes used by the binary space partition. We present an algorithm that, given a set S of n non-intersecting line segments in the plane, constructs a perfect binary space partition for S, or decides that no perfect binary space partition exists for S, in O(min(n2, n log3 n+m log n)) time, where m is the number of edges in the visibility graph of S. We also prove that deciding whether a set of segments admits a perfect BSP is 3 -hard
    corecore