2,868 research outputs found

    Subquadratic Algorithms for Some 3Sum-Hard Geometric Problems in the Algebraic Decision Tree Model

    Get PDF
    We present subquadratic algorithms in the algebraic decision-tree model for several 3Sum-hard geometric problems, all of which can be reduced to the following question: Given two sets A, B, each consisting of n pairwise disjoint segments in the plane, and a set C of n triangles in the plane, we want to count, for each triangle ∆ ∈ C, the number of intersection points between the segments of A and those of B that lie in ∆. The problems considered in this paper have been studied by Chan (2020), who gave algorithms that solve them, in the standard real-RAM model, in O((n2/log2 n) logO(1) log n) time. We present solutions in the algebraic decision-tree model whose cost is O(n60/31+ε), for any ε > 0. Our approach is based on a primal-dual range searching mechanism, which exploits the multi-level polynomial partitioning machinery recently developed by Agarwal, Aronov, Ezra, and Zahl (2020). A key step in the procedure is a variant of point location in arrangements, say of lines in the plane, which is based solely on the order type of the lines, a “handicap” that turns out to be beneficial for speeding up our algorithm.SCOPUS: cp.pinfo:eu-repo/semantics/publishe

    An Optimal Algorithm for Higher-Order Voronoi Diagrams in the Plane: The Usefulness of Nondeterminism

    Full text link
    We present the first optimal randomized algorithm for constructing the order-kk Voronoi diagram of nn points in two dimensions. The expected running time is O(nlogn+nk)O(n\log n + nk), which improves the previous, two-decades-old result of Ramos (SoCG'99) by a 2O(logk)2^{O(\log^*k)} factor. To obtain our result, we (i) use a recent decision-tree technique of Chan and Zheng (SODA'22) in combination with Ramos's cutting construction, to reduce the problem to verifying an order-kk Voronoi diagram, and (ii) solve the verification problem by a new divide-and-conquer algorithm using planar-graph separators. We also describe a deterministic algorithm for constructing the kk-level of nn lines in two dimensions in O(nlogn+nk1/3)O(n\log n + nk^{1/3}) time, and constructing the kk-level of nn planes in three dimensions in O(nlogn+nk3/2)O(n\log n + nk^{3/2}) time. These time bounds (ignoring the nlognn\log n term) match the current best upper bounds on the combinatorial complexity of the kk-level. Previously, the same time bound in two dimensions was obtained by Chan (1999) but with randomization.Comment: To appear in SODA 2024. 16 pages, 1 figur

    Unit-Disk Range Searching and Applications

    Get PDF
    Given a set PP of nn points in the plane, we consider the problem of computing the number of points of PP in a query unit disk (i.e., all query disks have the same radius). We show that the main techniques for simplex range searching in the plane can be adapted to this problem. For example, by adapting Matou\v{s}ek's results, we can build a data structure of O(n)O(n) space so that each query can be answered in O(n)O(\sqrt{n}) time. Our techniques lead to improvements for several other classical problems, such as batched range searching, counting/reporting intersecting pairs of unit circles, distance selection, discrete 2-center, etc. For example, given a set of nn unit disks and a set of nn points in the plane, the batched range searching problem is to compute for each disk the number of points in it. Previous work [Katz and Sharir, 1997] solved the problem in O(n4/3logn)O(n^{4/3}\log n) time while our new algorithm runs in O(n4/3)O(n^{4/3}) time.Comment: Accepted to SWAT 2022. Abstract shortened to fit arXiv requirement

    Lower Bounds for Semialgebraic Range Searching and Stabbing Problems

    Get PDF
    In the semialgebraic range searching problem, we are to preprocess nn points in Rd\mathbb{R}^d s.t. for any query range from a family of constant complexity semialgebraic sets, all the points intersecting the range can be reported or counted efficiently. When the ranges are composed of simplices, the problem can be solved using S(n)S(n) space and with Q(n)Q(n) query time with S(n)Qd(n)=O~(nd)S(n)Q^d(n) = \tilde{O}(n^d) and this trade-off is almost tight. Consequently, there exists low space structures that use O~(n)\tilde{O}(n) space with O(n11/d)O(n^{1-1/d}) query time and fast query structures that use O(nd)O(n^d) space with O(logdn)O(\log^{d} n) query time. However, for the general semialgebraic ranges, only low space solutions are known, but the best solutions match the same trade-off curve as the simplex queries. It has been conjectured that the same could be done for the fast query case but this open problem has stayed unresolved. Here, we disprove this conjecture. We give the first nontrivial lower bounds for semilagebraic range searching and related problems. We show that any data structure for reporting the points between two concentric circles with Q(n)Q(n) query time must use S(n)=Ω(n3o(1)/Q(n)5)S(n)=\Omega(n^{3-o(1)}/Q(n)^5) space, meaning, for Q(n)=O(logO(1)n)Q(n)=O(\log^{O(1)}n), Ω(n3o(1))\Omega(n^{3-o(1)}) space must be used. We also study the problem of reporting the points between two polynomials of form Y=i=0ΔaiXiY=\sum_{i=0}^\Delta a_i X^i where a0,,aΔa_0, \cdots, a_\Delta are given at the query time. We show S(n)=Ω(nΔ+1o(1)/Q(n)Δ2+Δ)S(n)=\Omega(n^{\Delta+1-o(1)}/Q(n)^{\Delta^2+\Delta}). So for Q(n)=O(logO(1)n)Q(n)=O(\log^{O(1)}n), we must use Ω(nΔ+1o(1))\Omega(n^{\Delta+1-o(1)}) space. For the dual semialgebraic stabbing problems, we show that in linear space, any data structure that solves 2D ring stabbing must use Ω(n2/3)\Omega(n^{2/3}) query time. This almost matches the linearization upper bound. For general semialgebraic slab stabbing problems, again, we show an almost tight lower bounds.Comment: Submitted to SoCG'21; this version: readjust the table and other minor change

    Efficient algorithms for optimization problems involving semi-algebraic range searching

    Full text link
    We present a general technique, based on parametric search with some twist, for solving a variety of optimization problems on a set of semi-algebraic geometric objects of constant complexity. The common feature of these problems is that they involve a `growth parameter' rr and a semi-algebraic predicate Π(o,o;r)\Pi(o,o';r) of constant complexity on pairs of input objects, which depends on rr and is monotone in rr. One then defines a graph G(r)G(r) whose edges are all the pairs (o,o)(o,o') for which Π(o,o;r)\Pi(o,o';r) is true, and seeks the smallest value of rr for which some monotone property holds for G(r)G(r). Problems that fit into this context include (i) the reverse shortest path problem in unit-disk graphs, recently studied by Wang and Zhao, (ii) the same problem for weighted unit-disk graphs, with a decision procedure recently provided by Wang and Xue, (iii) extensions of these problems to three and higher dimensions, (iv) the discrete Fr\'echet distance with one-sided shortcuts in higher dimensions, extending the study by Ben Avraham et al., (v) perfect matchings in intersection graphs: given, e.g., a set of fat ellipses of roughly the same size, find the smallest value rr such that if we expand each of the ellipses by rr, the resulting intersection graph contains a perfect matching, (vi) generalized distance selection problems: given, e.g., a set of disjoint segments, find the kk'th smallest distance among the pairwise distances determined by the segments, for a given (sufficiently small but superlinear) parameter kk, and (vii) the maximum-height independent towers problem, in which we want to erect vertical towers of maximum height over a 1.5-dimensional terrain so that no pair of tower tips are mutually visible. We obtain significantly improved solutions for problems (i), (ii) and (vi), and new efficient solutions to the other problems.Comment: Significantly generalized and with additional applications. Notice the change in titl

    Further Results on Colored Range Searching

    Get PDF
    We present a number of new results about range searching for colored (or "categorical") data: 1. For a set of nn colored points in three dimensions, we describe randomized data structures with O(npolylogn)O(n\mathop{\rm polylog}n) space that can report the distinct colors in any query orthogonal range (axis-aligned box) in O(kpolyloglogn)O(k\mathop{\rm polyloglog} n) expected time, where kk is the number of distinct colors in the range, assuming that coordinates are in {1,,n}\{1,\ldots,n\}. Previous data structures require O(lognloglogn+k)O(\frac{\log n}{\log\log n} + k) query time. Our result also implies improvements in higher constant dimensions. 2. Our data structures can be adapted to halfspace ranges in three dimensions (or circular ranges in two dimensions), achieving O(klogn)O(k\log n) expected query time. Previous data structures require O(klog2n)O(k\log^2n) query time. 3. For a set of nn colored points in two dimensions, we describe a data structure with O(npolylogn)O(n\mathop{\rm polylog}n) space that can answer colored "type-2" range counting queries: report the number of occurrences of every distinct color in a query orthogonal range. The query time is O(lognloglogn+kloglogn)O(\frac{\log n}{\log\log n} + k\log\log n), where kk is the number of distinct colors in the range. Naively performing kk uncolored range counting queries would require O(klognloglogn)O(k\frac{\log n}{\log\log n}) time. Our data structures are designed using a variety of techniques, including colored variants of randomized incremental construction (which may be of independent interest), colored variants of shallow cuttings, and bit-packing tricks.Comment: full version of a SoCG'20 pape

    Multi-engine packet classification hardware accelerator

    Get PDF
    As line rates increase, the task of designing high performance architectures with reduced power consumption for the processing of router traffic remains important. In this paper, we present a multi-engine packet classification hardware accelerator, which gives increased performance and reduced power consumption. It follows the basic idea of decision-tree based packet classification algorithms, such as HiCuts and HyperCuts, in which the hyperspace represented by the ruleset is recursively divided into smaller subspaces according to some heuristics. Each classification engine consists of a Trie Traverser which is responsible for finding the leaf node corresponding to the incoming packet, and a Leaf Node Searcher that reports the matching rule in the leaf node. The packet classification engine utilizes the possibility of ultra-wide memory word provided by FPGA block RAM to store the decision tree data structure, in an attempt to reduce the number of memory accesses needed for the classification. Since the clock rate of an individual engine cannot catch up to that of the internal memory, multiple classification engines are used to increase the throughput. The implementations in two different FPGAs show that this architecture can reach a searching speed of 169 million packets per second (mpps) with synthesized ACL, FW and IPC rulesets. Further analysis reveals that compared to state of the art TCAM solutions, a power savings of up to 72% and an increase in throughput of up to 27% can be achieved
    corecore