375 research outputs found
On Ray Shooting for Triangles in 3-Space and Related Problems
We consider several problems that involve lines in three dimensions, and
present improved algorithms for solving them. The problems include (i) ray
shooting amid triangles in , (ii) reporting intersections between query
lines (segments, or rays) and input triangles, as well as approximately
counting the number of such intersections, (iii) computing the intersection of
two nonconvex polyhedra, (iv) detecting, counting, or reporting intersections
in a set of lines in , and (v) output-sensitive construction of an
arrangement of triangles in three dimensions.
Our approach is based on the polynomial partitioning technique.
For example, our ray-shooting algorithm processes a set of triangles in
into a data structure for answering ray shooting queries amid the given
triangles, which uses storage and preprocessing, and
answers a query in time, for any . This
is a significant improvement over known results, obtained more than 25 years
ago, in which, with this amount of storage, the query time bound is roughly
. The algorithms for the other problems have similar performance
bounds, with similar improvements over previous results.
We also derive a nontrivial improved tradeoff between storage and query time.
Using it, we obtain algorithms that answer queries on objects in time, for any
, again an improvement over the earlier bounds.Comment: 33 pages, 7 figure
On Range Searching with Semialgebraic Sets II
Let be a set of points in . We present a linear-size data
structure for answering range queries on with constant-complexity
semialgebraic sets as ranges, in time close to . It essentially
matches the performance of similar structures for simplex range searching, and,
for , significantly improves earlier solutions by the first two authors
obtained in~1994. This almost settles a long-standing open problem in range
searching.
The data structure is based on the polynomial-partitioning technique of Guth
and Katz [arXiv:1011.4105], which shows that for a parameter , , there exists a -variate polynomial of degree such that
each connected component of contains at most points
of , where is the zero set of . We present an efficient randomized
algorithm for computing such a polynomial partition, which is of independent
interest and is likely to have additional applications
Output-Sensitive Tools for Range Searching in Higher Dimensions
Let be a set of points in . A point is
\emph{-shallow} if it lies in a halfspace which contains at most points
of (including ). We show that if all points of are -shallow, then
can be partitioned into subsets, so that any hyperplane
crosses at most subsets. Given such
a partition, we can apply the standard construction of a spanning tree with
small crossing number within each subset, to obtain a spanning tree for the
point set , with crossing number . This allows us to extend the construction of Har-Peled
and Sharir \cite{hs11} to three and higher dimensions, to obtain, for any set
of points in (without the shallowness assumption), a
spanning tree with {\em small relative crossing number}. That is, any
hyperplane which contains points of on one side, crosses
edges of . Using a
similar mechanism, we also obtain a data structure for halfspace range
counting, which uses space (and somewhat higher
preprocessing cost), and answers a query in time , where is the output size
Efficient algorithms for optimization problems involving semi-algebraic range searching
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' and a semi-algebraic predicate
of constant complexity on pairs of input objects, which depends
on and is monotone in . One then defines a graph whose edges are
all the pairs for which is true, and seeks the smallest
value of for which some monotone property holds for .
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 such that if we expand each
of the ellipses by , the resulting intersection graph contains a perfect
matching, (vi) generalized distance selection problems: given, e.g., a set of
disjoint segments, find the 'th smallest distance among the pairwise
distances determined by the segments, for a given (sufficiently small but
superlinear) parameter , 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
On the complexity of range searching among curves
Modern tracking technology has made the collection of large numbers of
densely sampled trajectories of moving objects widely available. We consider a
fundamental problem encountered when analysing such data: Given polygonal
curves in , preprocess into a data structure that answers
queries with a query curve and radius for the curves of that
have \Frechet distance at most to .
We initiate a comprehensive analysis of the space/query-time trade-off for
this data structuring problem. Our lower bounds imply that any data structure
in the pointer model model that achieves query time, where is
the output size, has to use roughly space in
the worst case, even if queries are mere points (for the discrete \Frechet
distance) or line segments (for the continuous \Frechet distance). More
importantly, we show that more complex queries and input curves lead to
additional logarithmic factors in the lower bound. Roughly speaking, the number
of logarithmic factors added is linear in the number of edges added to the
query and input curve complexity. This means that the space/query time
trade-off worsens by an exponential factor of input and query complexity. This
behaviour addresses an open question in the range searching literature: whether
it is possible to avoid the additional logarithmic factors in the space and
query time of a multilevel partition tree. We answer this question negatively.
On the positive side, we show we can build data structures for the \Frechet
distance by using semialgebraic range searching. Our solution for the discrete
\Frechet distance is in line with the lower bound, as the number of levels in
the data structure is , where denotes the maximal number of vertices
of a curve. For the continuous \Frechet distance, the number of levels
increases to
Algorithms for Unit-Disk Graphs and Related Problems
In this dissertation, we study algorithms for several problems on unit-disk graphs and related problems. The unit-disk graph can be viewed as an intersection graph of a set of congruent disks. Unit-disk graphs have been extensively studied due to many of their applications, e.g., modeling the topology of wireless sensor networks. Lots of problems on unit-disk graphs have been considered in the literature, such as shortest paths, clique, independent set, distance oracle, diameter, etc. Specifically, we study the following problems in this dissertation: L1 shortest paths in unit-disk graphs, reverse shortest paths in unit-disk graphs, minimum bottleneck moving spanning tree, unit-disk range reporting, distance selection, etc. We develop efficient algorithms for these problems and our results are either first-known solutions or somehow improve the previous work.
Given a set P of n points in the plane and a parameter r \u3e 0, a unit-disk graph G(P) can be defined using P as its vertex set and two points of P are connected by an edge if the distance between these two points is at most r. The weight of an edge is one in the unweighted case and is equal to the distance between the two endpoints in the weighted case. Note that the distance between two points can be measured by different metrics, e.g., L1 or L2 metric.
In the first problem of L1 shortest paths in unit-disk graphs, we are given a point set P and a source point s ∈ P, the problem is to find all shortest paths from s to all other vertices in the L1 weighted unit-disk graph defined on set P. We present an O(n log n) time algorithm, which matches the Ω(n log n)-time lower bound. In the second problem, we are given a set P of n points, parameters r, λ \u3e 0, and two points s and t of P, the goal is to compute the smallest r such that the shortest path length between s and t in the unit-disk graph with respect to set P and parameter r is at most λ. This problem can be defined in both unweighted and weighted cases. We propose an algorithm of O(⌊λ⌋ · n log n) time and another algorithm of O(n5/4 log7/4 n) time for the unweighted case. We also given an O(n5/4 log5/2 n) time algorithm for the weighted case. In the third problem, we are given a set P of n points that are moving in the plane, the problem is to compute a spanning tree for these moving points that does not change its combinatorial structure during the point movement such that the bottleneck weight of the spanning tree (i.e., the largest Euclidean length of all edges) during the whole movement is minimized. We present an algorithm that runs in O(n4/3 log3 n) time. The fourth problem is unit-disk range reporting in which we are given a set P of n points in the plane and a value r, we need to construct a data structure so that given any query disk of radius r, all points of P in the disk can be reported efficiently. We build a data structure of O(n) space in O(n log n) time that can answer each query in O(k + log n) time, where k is the output size. The time complexity of our algorithm is the same as the previous result but our approach is much simpler. Finally, for the problem of distance selection, we are given a set P of n points in the plane and an integer 1 ≤ k ≤ (n2), the distance selection problem is to find the k-th smallest interpoint distance among all pairs of points of p. We propose an algorithm that runs in O(n4/3 log n) time. Our techniques yield two algorithmic frameworks for solving geometric optimization problems.
Many algorithms and techniques developed in this dissertation are quite general and fundamental, and we believe they will find other applications in future
- …