Results 1  10
of
40
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 46 (3 self)
 Add to MetaCart
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.
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 35 (19 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.
SelfAdjusting Computation
 In ACM SIGPLAN Workshop on ML
, 2005
"... From the algorithmic perspective, we describe novel data structures for tracking the dependences ina computation and a changepropagation algorithm for adjusting computations to changes. We show that the overhead of our dependence tracking techniques is O(1). To determine the effectiveness of change ..."
Abstract

Cited by 35 (13 self)
 Add to MetaCart
From the algorithmic perspective, we describe novel data structures for tracking the dependences ina computation and a changepropagation algorithm for adjusting computations to changes. We show that the overhead of our dependence tracking techniques is O(1). To determine the effectiveness of changepropagation, we present an analysis technique, called trace stability, and apply it to a number of applications.
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 26 (5 self)
 Add to MetaCart
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
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 13 (1 self)
 Add to MetaCart
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.
Maintaining visibility information of planar point sets with a moving viewpoint
 In 17th Canadian Conference on Computational Geometry
, 2005
"... Abstract Given a set of n points in the plane, we consider theproblem of computing the circular ordering of the points about a viewpoint q and efficiently maintaining this ordering information as q moves. 1 Introduction Let P = {p0, p1,..., pn1} be a set of points in theplane. A point p is visible ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Abstract Given a set of n points in the plane, we consider theproblem of computing the circular ordering of the points about a viewpoint q and efficiently maintaining this ordering information as q moves. 1 Introduction Let P = {p0, p1,..., pn1} be a set of points in theplane. A point p is visible from a viewpoint q if the linesegment pq contains no other point of P. If p coincideswith q then p is not visible. The view of P from a viewpoint
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 9 (4 self)
 Add to MetaCart
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.
Delineating boundaries of imprecise regions
 Proceedings of the EWCG
, 2005
"... Abstract. In geographic information retrieval, queries often use names of geographic regions that do not have a welldefined boundary, such as “Southern France. ” We provide two classes of algorithms for the problem of computing reasonable boundaries of such regions, based on evidence of given data ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Abstract. In geographic information retrieval, queries often use names of geographic regions that do not have a welldefined boundary, such as “Southern France. ” We provide two classes of algorithms for the problem of computing reasonable boundaries of such regions, based on evidence of given data points that are deemed likely to lie either inside or outside the region. Our problem formulation leads to a number of problems related to redblue point separation and minimumperimeter polygons, many of which we solve algorithmically. We give experimental results from our implementation and a comparison of the two approaches. 1
A Fully Dynamic Algorithm for Planar Width
 in Proc. 17th ACM Sympos. Comput. Geom
, 2002
"... We show how to maintain the width of a set of n planar points subject to insertions and deletions of points in O( n) amortized time per update. Previously, no fully dynamic algorithm with a guaranteed sublinear time bound was known. ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We show how to maintain the width of a set of n planar points subject to insertions and deletions of points in O( n) amortized time per update. Previously, no fully dynamic algorithm with a guaranteed sublinear time bound was known.
Finger Search Trees
, 2005
"... One of the most studied problems in computer science is the problem of maintaining a sorted sequence of elements to facilitate efficient searches. The prominent solution to the problem is to organize the sorted sequence as a balanced search tree, enabling insertions, deletions and searches in logari ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
One of the most studied problems in computer science is the problem of maintaining a sorted sequence of elements to facilitate efficient searches. The prominent solution to the problem is to organize the sorted sequence as a balanced search tree, enabling insertions, deletions and searches in logarithmic time. Many different search trees have been developed and studied intensively in the literature. A discussion of balanced binary search trees can e.g. be found in [4]. This chapter is devoted to finger search trees which are search trees supporting fingers, i.e. pointers, to elements in the search trees and supporting efficient updates and searches in the vicinity of the fingers. If the sorted sequence is a static set of n elements then a simple and space efficient representation is a sorted array. Searches can be performed by binary search using 1+⌊log n⌋ comparisons (we throughout this chapter let log x denote log 2 max{2, x}). A finger search starting at a particular element of the array can be performed by an exponential search by inspecting elements at distance 2 i − 1 from the finger for increasing i followed by a binary search in a range of 2 ⌊log d ⌋ − 1 elements, where d is the rank difference in the sequence between the finger and the search element. In Figure 11.1 is shown an exponential search for the element 42 starting at 5. In the example d = 20. An exponential search requires