Results 1  10
of
40
Dynamic planar convex hull
 Proc. 43rd IEEE Sympos. Found. Comput. Sci
, 2002
"... In this paper we determine the amortized computational complexity of the dynamic convex hull problem in the planar case. We present a data structure that maintains a finite set of n points in the plane under insertion and deletion of points in amortized O(log n) time per operation. The space usage o ..."
Abstract

Cited by 66 (1 self)
 Add to MetaCart
In this paper we determine the amortized computational complexity of the dynamic convex hull problem in the planar case. We present a data structure that maintains a finite set of n points in the plane under insertion and deletion of points in amortized O(log n) time per operation. The space usage of the data structure is O(n). The data structure supports extreme point queries in a given direction, tangent queries through a given point, and queries for the neighboring points on the convex hull in O(log n) time. The extreme point queries can be used to decide whether or not a given line intersects the convex hull, and the tangent queries to determine whether a given point is inside the convex hull. We give a lower bound on the amortized asymptotic time complexity that matches the performance of this data structure.
An experimental analysis of selfadjusting computation
 In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
, 2006
"... Selfadjusting computation uses a combination of dynamic dependence graphs and memoization to efficiently update the output of a program as the input changes incrementally or dynamically over time. Related work showed various theoretical results, indicating that the approach can be effective for a r ..."
Abstract

Cited by 50 (24 self)
 Add to MetaCart
Selfadjusting computation uses a combination of dynamic dependence graphs and memoization to efficiently update the output of a program as the input changes incrementally or dynamically over time. Related work showed various theoretical results, indicating that the approach can be effective for a reasonably broad range of applications. In this article, we describe algorithms and implementation techniques to realize selfadjusting computation and present an experimental evaluation of the proposed approach on a variety of applications, ranging from simple list primitives to more sophisticated computational geometry algorithms. The results of the experiments show that the approach is effective in practice, often offering orders of magnitude speedup from recomputing the output from scratch. We believe this is the first experimental evidence that incremental computation of any type is effective in practice for a reasonably broad set of applications.
LowDimensional Linear Programming with Violations
 In Proc. 43th Annu. IEEE Sympos. Found. Comput. Sci
, 2002
"... Two decades ago, Megiddo and Dyer showed that linear programming in 2 and 3 dimensions (and subsequently, any constant number of dimensions) can be solved in linear time. In this paper, we consider linear programming with at most k violations: finding a point inside all but at most k of n given half ..."
Abstract

Cited by 43 (3 self)
 Add to MetaCart
(Show Context)
Two decades ago, Megiddo and Dyer showed that linear programming in 2 and 3 dimensions (and subsequently, any constant number of dimensions) can be solved in linear time. In this paper, we consider linear programming with at most k violations: finding a point inside all but at most k of n given halfspaces. We give a simple algorithm in 2d that runs in O((n + k ) log n) expected time; this is faster than earlier algorithms by Everett, Robert, and van Kreveld (1993) and Matousek (1994) and is probably nearoptimal for all k n=2. A (theoretical) extension of our algorithm in 3d runs in near O(n + k ) expected time. Interestingly, the idea is based on concavechain decompositions (or covers) of the ( k)level, previously used in proving combinatorial klevel bounds.
Random Sampling, Halfspace Range Reporting, and Construction of (≤k)Levels in Three Dimensions
 SIAM J. COMPUT
, 1999
"... Given n points in three dimensions, we show how to answer halfspace range reporting queries in O(logn+k) expected time for an output size k. Our data structure can be preprocessed in optimal O(n log n) expected time. We apply this result to obtain the first optimal randomized algorithm for the co ..."
Abstract

Cited by 37 (9 self)
 Add to MetaCart
(Show Context)
Given n points in three dimensions, we show how to answer halfspace range reporting queries in O(logn+k) expected time for an output size k. Our data structure can be preprocessed in optimal O(n log n) expected time. We apply this result to obtain the first optimal randomized algorithm for the construction of the ( k)level in an arrangement of n planes in three dimensions. The algorithm runs in O(n log n+nk²) expected time. Our techniques are based on random sampling. Applications in two dimensions include an improved data structure for "k nearest neighbors" queries, and an algorithm that constructs the orderk Voronoi diagram in O(n log n + nk log k) expected time.
Tight degree bounds for pseudotriangulations of points
, 2003
"... We show that every set of n points in general position has a minimum pseudotriangulation whose maximum vertex degree is five. In addition, we demonstrate that every point set in general position has a minimum pseudotriangulation whose maximum face degree is four (i.e., each interior face of this p ..."
Abstract

Cited by 28 (8 self)
 Add to MetaCart
We show that every set of n points in general position has a minimum pseudotriangulation whose maximum vertex degree is five. In addition, we demonstrate that every point set in general position has a minimum pseudotriangulation whose maximum face degree is four (i.e., each interior face of this pseudotriangulation has at most four vertices). Both degree bounds are tight. Minimum pseudotriangulations realizing these bounds (individually but not jointly) can be constructed in O(n log n) time.
A dynamic data structure for 3d convex hull and 2d nearest neighbor queries
 In: Proceedings of the seventeenth ACMSIAM symposium on Discrete algorithm
, 2006
"... We present a fully dynamic randomized data structure that can answer queries about the convex hull of a set of n points in three dimensions, where insertions take O(log 3 n) expected amortized time, deletions take O(log 6 n) expected amortized time, and extremepoint queries take O(log 2 n) worstca ..."
Abstract

Cited by 27 (4 self)
 Add to MetaCart
(Show Context)
We present a fully dynamic randomized data structure that can answer queries about the convex hull of a set of n points in three dimensions, where insertions take O(log 3 n) expected amortized time, deletions take O(log 6 n) expected amortized time, and extremepoint queries take O(log 2 n) worstcase time. This is the first method that guarantees polylogarithmic update and query cost for arbitrary sequences of insertions and deletions, and improves the previous O(n ε)time method by Agarwal and Matouˇsek a decade ago. As a consequence, we obtain similar results for nearest neighbor queries in two dimensions and improved results for numerous fundamental geometric problems (such as levels in three dimensions and dynamic Euclidean minimum spanning trees in the plane). 1
Taking a Walk in a Planar Arrangement
 SIAM J. Comput
, 1999
"... We present a new randomized algorithm for computing portions of an arrangement of n arcs in the plane, each pair of which intersect in at most t points. We use this algorithm to perform online walks inside such an arrangement (i.e., compute all the faces that a curve crosses, where the curve is g ..."
Abstract

Cited by 27 (7 self)
 Add to MetaCart
(Show Context)
We present a new randomized algorithm for computing portions of an arrangement of n arcs in the plane, each pair of which intersect in at most t points. We use this algorithm to perform online walks inside such an arrangement (i.e., compute all the faces that a curve crosses, where the curve is given in an online manner), and to compute a level in an arrangement, both in an outputsensitive manner. The expected running time of the algorithm is O( t+2 (m+n) log n), where m is the number of intersections between the walk and the given arcs. No algorithm with similar performance is known for the general case of arcs. For the case of lines and segments, our algorithm improves the best known algorithm of [OvL81] by almost a logarithmic factor. 1 Introduction Let S be a set of n xmonotone arcs in the plane. Computing the whole (or parts of the) arrangement A( S), induced by the arcs of S, is one of the fundamental problems in computational geometry, and has received a lot o...
Buddy Tracking  Efficient Proximity Detection Among Mobile Friends
, 2004
"... Global positioning systems (GPS) and mobile phone networks are making it possible to track individual users with an increasing accuracy. It is natural to ask whether one can use this information to maintain social networks. Here each user wishes to be informed whenever one of a list of other users, ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
(Show Context)
Global positioning systems (GPS) and mobile phone networks are making it possible to track individual users with an increasing accuracy. It is natural to ask whether one can use this information to maintain social networks. Here each user wishes to be informed whenever one of a list of other users, called the user's friends, appears in the user's vicinity. In contrast to more traditional positioning based algorithms, the computation here depends not only on the user's own position on a static map, but also on the dynamic position of the user's friends. Hence it requires both communication and computation resources. The computation can be carried out either between the individual users in a peertopeer fashion or by centralized servers where computation and data can be collected at one central location. In the peertopeer model, a novel algorithm for minimizing the number of location update messages between pairs of friends is presented. We also present an efficient algorithm for the centralized model, based on region hierarchy and quadtrees. The paper provides an analysis of the two algorithms, compares them with a naive approach, and evaluates them using the IBM City Simulator system.
Computing the visibility graph of points within a polygon
 In Symposium on Computational Geometry
, 2004
"... We study the problem of computing the visibility graph defined by a set P of n points inside a polygon Q: two points p, q ∈ P are joined by an edge if the segment pq ⊂ Q. Efficient outputsensitive algorithms are known for the case in which P is the set of all vertices of Q. We examine the general c ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
(Show Context)
We study the problem of computing the visibility graph defined by a set P of n points inside a polygon Q: two points p, q ∈ P are joined by an edge if the segment pq ⊂ Q. Efficient outputsensitive algorithms are known for the case in which P is the set of all vertices of Q. We examine the general case in which P is an arbitrary set of points, interior or on the boundary of Q and study a variety of algorithmic questions. We give an outputsensitive algorithm, which is nearly optimal, when Q is a simple polygon. We introduce a notion of “fat ” or “robust ” visibility, and give a nearly optimal algorithm for computing visibility graphs according to it, in polygons Q that may have holes. Other results include an algorithm to detect if there are any visible pairs among P, and algorithms for outputsensitive computation of visibility graphs with distance restrictions, invisibility graphs, and rectangle visibility graphs.