Kinetic Medians and kd-trees
|
|
- Rosalind Bates
- 6 years ago
- Views:
Transcription
1 Kinetic Medians and kd-trees Pankaj K. Agarwal 1,JieGao 2, and Leonidas J. Guibas 2 1 Department of Computer Science, Duke University, Durham, NC 27708, USA pankaj@cs.duke.edu 2 Department of Computer Science, Stanford University, Stanford, CA 94305, USA fjgao, guibasg@cs.stanford.edu Abstract. We propose algorithms for maintaining two variants of kd-trees of a set of moving points in the plane. A pseudo kd-tree allows the number of points stored in the two children to differ by a constant factor. An overlapping kd-tree allows the bounding boxes of two children to overlap. We show that both of them support range search operations in O(n 1=2+ffl ) time, where ffl only depends on the approximation precision. As the points move, we use event-based kinetic data structures to update the tree when necessary. Both trees undergo only a quadratic number of events, which is optimal, and the update cost for each event is only polylogarithmic. To maintain the pseudo kd-tree, we develop algorithms for computing an approximate median level of a line arrangement, which itself is of great interest. We show that the computation of the approximate median level of a set of lines or line segments can be done in an online fashion smoothly, i.e., there are no expensive updates for any events. For practical consideration, we study the case in which there are speed-limit restrictions or smooth trajectory requirements. The maintenance of the pseudo kd-tree, as a consequence of the approximate median algorithm, can also adapt to those restrictions. 1 Introduction Motion is ubiquitous in the physical world. Several areas such as digital battlefields, air-traffic control, mobile communication, navigation system, geographic information systems, call for storing moving objects into a data structure so that various queries on them can be answered efficiently; see [23, 25] and the references therein. The queries might relate either to the current configuration of objects or to a configuration in the future in the latter case, we are asking to predict the behavior based on the current information. In the last few years there has been a flurry of activity on extending the capabilities of existing database systems to represent moving-object databases (MOD) and on indexing moving objects; see, e.g., [14, 22, 23]. The known data structures for answering range queries on moving points either do not guarantee a worst-case bound on the query time [26, 25, 19] or are too complicated [1, 15]. In this paper we develop kinetic data structures for kd-trees, a widely used data structure for answering various proximity queries in practice [10], which can efficiently answer range queries on moving points. The kinetic data structure framework, originally proposed by Basch et al. [5], has led to efficient algorithms for several geometric
2 problems involving moving objects; see [13] and references therein. The main idea in the kinetic framework is that even though the objects move continuously, the relevant combinatorial structure of the data structure changes only at certain discrete times. Therefore one does not have to update the data structure continuously. The kinetic updates are performed on the data structure only when certain kinetic events occur; see [5, 13] for details. Recall that a kd-tree on a set of points is a binary tree, each node v of which is associated with a subset S v of points. The points in S v are partitioned into two halves by a vertical or horizontal line at v and each half is associated with a child of v. The orientation of the partition line alternates as we follow a path down the tree. In order to develop a kinetic data structure for kd-trees, the first step is to develop a kinetic data structure for maintaining the median of a set of points moving on a line. In fact, this subroutine is needed for several other data structures. Related work. The problem of maintaining the point of rank k in a set S of points moving on the x-axis is basically the same as computing the k-level in the arrangement of curves; the k-level in an arrangement of x-monotone curves is the set of edges of the arrangement that lie above exactly k curves [4]. If the points in S are moving with fixed speed, i.e., their trajectories are lines in the xt-plane, then the result by Dey [11] implies that the point of rank k changes O(nk 1=3 ) times; the best-known lower bound is ne Ω(p log k) [24]. Only much weaker bounds are known if the trajectories of points are polynomial curves. Edelsbrunner and Welzl [12] developed an algorithm for computing a level in an arrangements of lines. By combining their idea with kinetic tournaments proposed by Basch et al. [6] for maintaining the maximum of a set of moving points on a line, one can construct an efficient kinetic data structure for maintaining the median of a set of moving points. Since no near-linear bound is known on the complexity of a level, work has been done on computing an approximate median level. A ffi-approximate median-level is defined as a x-monotone curve that lies between (1=2 ffi)n- and(1=2 + ffi)n-levels. Edelsbrunner and Welzl [12] showed that a ffi-approximate median level with at most d (n)=(ffin)e edges, where (n) is the number of vertices on the median level of the arrangement, can be computed for line arrangements. Later Matoušek [16] proposed an algorithm to obtain a ffi-approximate median level with constant complexity for an arrangement of n lines. However no efficient kinetic data structure is known for maintaining an approximate median of a set of moving points. Because of their simplicity, kd-trees are widely used in practice and several variants of them have been proposed [3, 7, 17]. It is well known that a kd-tree can answer a two-dimensional orthogonal range query in O( p n + k) time, where k is the number of points reported. Variants of kd-trees that support insertions and deletions are studied in [18, 9]. No kinetic data structures are known for kd-trees. Agarwal et al. [1] were the first to develop kinetic data structures for answering range-searching queries on moving points. They developed a kinetic data structure that answers a two-dimensional range query in O(log n+k) time using O(n log n=(log log n)) space, where k is the output size. The amortized cost of a kinetic event is O(log 2 n),
3 and the total number of events is O(n 2 ). 1 They also showed how to modify the structure in order to obtain a tradeoff between the query bound and the number of kinetic events. Kollios et al. [15] proposed a data structure for range searching among points moving on the x-axis, based on partition trees [3]. The structure uses O(n) space and answers queries in O(n 1=2+ffl +k) time, for an arbitrarily small constant ffl>0.agarwalet al. [1] extended the result to 2D. Unlike kinetic data structures, these data structures are time oblivious, in the sense that they do not evolve over time. However all these data structures are too complex to be used in practice. In the database community, a number of practical methods have been proposed for accessing and searching moving objects (see [26, 25, 19] and the references therein). Many of these data structures index the trajectories of points either directly or by mapping to higher dimensions. These approaches are not efficient since trajectories do not cluster well. To alleviate this problem, one can parametrize a structure such as the R- tree, which partitions the points but allows the bounding boxes associated with the children of a node to overlap. To expect good query efficiency, the areas of overlap and the areas of the bounding boxes must be small. Although R-tree works correctly even when the overlap areas are too large, the query performance deteriorates in this case. Kinetic data structures based on R-tree were proposed in [25, 20] to handle range queries over moving points. Unfortunately, these structures also do not guarantee sublinear query time in the worst case. Our results. Let S = fp 1 ;:::;p n gbeasetofn points in R 1, each moving independently. The position of a point p i at time t is given by p i (t).weuseμp i = S t (p i(t);t)to denote the graph of the trajectory of p i in the xt-space. The user is allowed to change the trajectory of a point at any time. For a given parameter ffi > 0, we call a point x, not necessarily a point of S, affi-approximate median if its rank is in the range [(1=2 ffi)n; (1=2 + ffi)n]. We first describe an off-line algorithm that can maintain a ffi-approximate median of S in a total time of O((μ=(n 2 ffi 2 )+1=ffi)n log n), whereμ is the number of times two points swap position. We then show how a ffi-median can be maintained on-line as the points of S move. Our algorithm maintains a point x Λ on the x-axis, not necessarily one of the input points, whose rank is in the range (1=2±ffi)n.As the input points move, x Λ also moves, and its trajectory depends on the motion of input points. We show that the speed of this point is not larger than the fastest moving point, and that our algorithm can be adapted so that the trajectory of x Λ is C k -continuous for any k 0. Next, let S beasetofn points in R 2, each moving independently. We wish to maintain the kd-tree of S, sothatrange searching queries, i.e., given a query rectangle R at time t, report js(t) Rj, can be answered efficiently, Even if the points in S are moving with fixed velocity, the kd-tree on S can change (n 2 ) times, and there are point sets on which many of these events can cause a dramatic change of the tree, i.e., each of them requires Ω(n) time to update the tree. We therefore propose two variants of kd-trees, each of which answers a range query in time O(n 1=2+" + k), for any constant 1 Agarwal et al. [1] actually describe their data structure in the standard two level I/O model, in which the goal is to minimize the memory access time. Here we have described their performance in the standard pointer-machine model.
4 ">0,(k is the number of points reported), processes quadratic number of events, and spends polylogarithmic (amortized) time at each event. The first variant is called the ffi-pseudo kd-tree, in which if a node has m points stored in the subtree, then each of its children has at most (1=2 +ffi)mpoints in its subtree. In the second variant, called ffi-overlapping kd-tree, the bounding boxes of the points stored in the subtrees of two children of a node can overlap. However, if the subtree at a node contains m points, then the overlapping region at that node contains at most ffim points. As the points move, both of the trees are maintained in the standard kinetic data structure framework [5]. The correctness of the tree structure is certified by a set of conditions, called certificates, whose failure time is precomputed and inserted into an event queue. At each certificate failure, denoted as an event, the KDS certification repair mechanism is invoked to repair the certificate set and possibly the tree structure as well. In the analysis of a KDS, we assume the points follow pseudo-algebraic motions. By this we mean that all certificates used by the KDS can switch from TRUE to FALSE at most a constant number of times. In some occasions, we may make stronger assumptions, like the usual scenario of linear, constant velocity motions. For both pseudo and overlapping kd-trees, we show that the set of certificates has linear size, that the total number of events is quadratic, and that each event has polylogarithmic amortized update cost. Dynamic insertion and deletion are also supported with the same update bound as for an event. The pseudo kd-tree data structure uses our ffi-approximate median algorithms as a subroutine. Unlike pseudo kd-trees, the children of a node of an overlapping kdtree store equal number of points and the minimum bounding boxes of the children can overlap. However, maintaining overlapping kd-trees is somewhat simpler, and the analysis extends to pseudo-algebraic motion of points. 2 Maintaining the Median 2.1 Off-line maintenance Matoušek [16] used a level shortcutting idea to compute a polygonal line, with complexity O(1=ffi 2 ),whichisaffi-approximate median. Here we extend his idea to a set S of line segments in the plane. Let μ denote the number of intersection points between the segments. We divide the plane by vertical lines l i s into strips such that there are at most ffi 2 n 2 =16 intersections and at most ffin=4 endpoints inside each strip. In addition, we can assume that each strip either has exactly ffi 2 n 2 =16 intersections or exactly ffin=4 endpoints, otherwise we can always enlarge the strip. The number of strips is O(μ=(n 2 ffi 2 )+ 1=ffi). Along each l i, we compute the median X i of the intersections between S and l i. We connect adjacent medians. We claim that the resulting polygonal line is a ffiapproximate median level. Indeed, consider a strip bounded by l i and l i+1.wefirst delete the segments of S that have at least one endpoint inside the strip. Let U S be the set of line segments that intersect the segment X i X i+1 and that lie above X i at l i. Similarly let V S be the set of line segments that intersect X i X i+1 and that lie below X i at l i. ju j = u, jv j = v. SinceX i and X i+1 are on the exact median level and we
5 have deleted at most ffin=4 segments, ju vj» ffin=4. Suppose u» v» u + ffin=4. The intersection of a segment in U and a segment in V must be inside the strip (see Figure 1 (i)), therefore uv» ffi 2 n 2 =16, thereby implying that u» ffin=4 and v» ffin=2. X i X i+1 X i+1 X i X i+2 X 0 i+1 l i l i+1 l i l i+1 l i+2 (i) Fig. 1. (i) Approximate median level of n lines; (ii)when points change motion plan. (ii) Consequently, X i X i+1 is intersected at most ffin times, and thus it is a ffi-approximation of the median level between l i and l i+1. Computing the partition line l i involves computing the kth leftmost intersection in an arrangement. This can be done in O(n log n) time, using the slope-selection algorithm [8]. Computing a median along a cut line costs O(n). So the total computational cost is O((μ=(n 2 ffi 2 )+1=ffi)n log n). Theorem 1. Let S be a set of n segments in the plane with a total of μ intersection points. A ffi-approximate median level of S with at most O(μ=(n 2 ffi 2 )+1=ffi) vertices can be computed in O((μ=(nffi 2 )+n=ffi) log n) time. 2.2 On-line maintenance In previous subsection we assume that we know the motion plan of the points beforehand and compute the approximate median ahead of time. However, when the points change their motion plan, we want to maintain the approximate median online and distribute the amount of work more uniformly over time. Assume that the total number of motion plan changes over time is only linear in the number of points. We will show that the approximate median can be maintained smoothly, with linear number of events and polylogarithmic time update cost per event. Consider the time-space plane. As in Theorem 1, the plane is divided by vertical lines l i at time t i into strips. We maintain the invariant that each strip either contains at most ffi 2 n 2 =36 vertices or ffin=3 flight plan changes. Also if the strip contains less than ffin=3 flight plan changes, then it contains at least ffi 2 n 2 =72 vertices. We approximate the median level by computing a polygonal line X 1 X 2 :::X m in which X i lies on l i.we can see that the total number of strips is bounded by O(1=ffi 2 ) since there are only linear number of flight plan changes in total. However, instead of computing the O(1=ffi 2 ) cut lines all at one time, we compute them one by one. We begin with computing the median on the two leftmost cut lines l 1 and l 2 (l 1 corresponds to the starting time). There are ffi 2 n 2 =72 vertices between l 1 and l 2. The approximate median then moves along line segment X 1 X 2. This preprocessing
6 costs O(n log n). Then we compute the position of the cut line l i+2 and the median along l i+2 gradually, as we are moving along X i X i+1. The position of l i+2 is computed such that there are ffi 2 n 2 =72 vertices between l i+1 and l i+2.sox i+2 is our prediction of the median on l i+2, assuming there is no flight plan change between t i+1 and t i+2. The cost of computing l i+2 and X i+2, which is a slope-selection problem, is amortized over the time interval [t i ;t i+1 ], using the technique proposed by Agarwal et al. [2]. In an online version, we need to accommodate the flight plan changes in the future. If there are ffin=6 motion plans changes before we reach l i+1, we start another session to compute X i+2 based on the current (changed) trajectories. If we reach X i+1 before another ffin=6 motion updates, we switch to the segment X i+1 X i+2 computed from the first construction. Otherwise, if we see another ffin=6 motion plan changes (i.e., a total of ffin=3 changes since t i ) before we reach l i+1, then we just stop and move l i+1 to the current position and X i+1 to the current position of the approximate median. The next line segment that the approximate median needs to follow is X i+1 X i+2,wherex i+2 is the value returned by the second computation (the one initiated after ffin=6 motion-plan changes). Thus inside one strip, the number of intersections is at most ffi 2 n 2 =36,andthe number of flight plan changes is at most ffin=3. Next we prove that the polygonal line we compute is a ffi-approximation of the median level. The only problem is that if some points change their flight plans between time t i and t i+1,thenx i+1, which is computed before t i, is no longer the real median X 0 i+1.see Figure 1 (ii). However, only the points between X i+1 and X 0 i+1 can cross X i+1x i+2 without crossing X 0 i+1 X i+2. Since there are only at most ffin=3 flight plan changes, there are at most ffin=3 points between X i+1 and X 0 i+1.sincex0 i+1 X i+2 is crossed by at most 2ffin=3 lines, X i+1 X i+2 is still a ffi-approximation. Theorem 2. Let S be a set of n points, each moving with a constant velocity. Suppose the flight paths of S change a total of m times. Then a ffi-approximate median of S can be maintained in an online fashion so that the median moves continuously with at most O(1=ffi 2 ) flight plan changes. The total maintenance cost is O((n + m) log n=ffi 2 ).Each flight plan change costs polylogarithmic update time. Remark. Finding the next cut line in Theorem 2 is based on complex algorithms and data structures (e.g., slope selection). We can use a considerably simpler randomized algorithm, based on the random-sampling technique, for computing the next cut line. We omit the details from this version of the paper. 2.3 Approximate median with speed limit In many applications like mobile networks and spatial databases, the maximum velocity of the points is restricted. We ll show an approximate median that moves no faster than the fastest point. Lemma 1. The approximate median computed above cannot move faster than the maximum speed of the n points, if the points do not change flight plans. Proof. Observe that the approximate median is composed of line segments connecting two median points X and Y at different time steps. So if there is a line l crossing XY
7 and going up, there must be another line l 0 crossing XY and going down. So the slope of XY is bounded by the slope of l and l 0.IfXY is not crossed by any lines, X and Y lie on the same line as they are both medians. Hence, the approximate median moves along one of the input points between X and Y. This proves the lemma. If the points can change their flight plan, our scheme in Theorem 2 does not guarantee that the approximate median moves within the limit restriction. But we can adapt it as follows. Let X i and Xi 0 denote the precomputed and exact median, respectively. We let the approximate median to move toward the precomputed median. If we can reach there without violating the speed constraint, then everything is fine. Otherwise, we just move toward it with the maximum speed. Figure 2 (i) shows the second case. W.l.o.g., X ik+2 X ik+3 X i+1 X i 00 Xi+2 X i+2 X ik X 0 i+1 X 0 i+2 X ik+1 X (i+1)k l i l i+1 l i+2 (i) (ii) Fig. 2. (i) Speed restricted median; (ii) Smooth medians. we assume X i+1 is above X 0 00 i+1. Assume the approximate median gets to the point Xi+2 at time t i+2. Since the approximate median moves with the maximum speed, the points above X i+1 will stay above X 00 i+2.soatmostffin=3 points, the ones that lie between X i+1 and X 0, can cross i+1 X i+1x 00 without crossing i+2 X 0 i+1 X i+2. Following the argument in Theorem 2, X 0 i+1 X i+2 is crossed by at most 2ffin=3 lines. So X i+1 X 00 is a i+2 ffi-approximate median level. There are n=2 points below X 0 and i+1 X 0, respectively, i+2 so the number of points between X 00 and i+2 X 0 i+2 can only be less than the number of points between X i+1 and X 0 i+1. This imples that we can continue this process for the next time interval and we obtain the following result. Theorem 3. Let S bea setofnpoints, eachmovingwith fixedvelocity. We canmaintain a ffi-approximate median of S that preserves all the properties of Theorem 2 and that cannot move faster than the maximum speed of the input points. 2.4 Smooth medians For a set of moving points, the approximate median we computed above, follows a polygonal line composed of line segments. Although the approximate median moves continuously, it may have to make sharp turns. In practice, a smooth trajectory is preferred. A curve is said to have C k continuity if its k-th derivative is continuous. The idea is to use Bézier interpolation on the medians along the vertical lines, see Figure 2 (ii). We will give the theorem whose proof is omitted.
8 Theorem 4. Given an arrangement of n lines in the plane, we can compute a curve with C k continuity which is a ffi-approximate median level. The curve is determined by O(k 2 =ffi 2 ) control points and is computed in O(k 2 n log n=ffi 2 ) time. 3 Pseudo kd-tree Overmars [18] proposed the pseudo kd-tree as a dynamic data structure for range searching that admits efficient insertion and deletion of points. Definition. A ffi-pseudo kd-tree is defined to be a binary tree created by alternately partitioning the points with vertical and horizontal lines, so that for each node v with m points in the subtree, there are at most (1=2 +ffi)mpoints in the subtrees rooted at the children of v. Affi-pseudo kd-tree is an almost balanced tree with depth log 2=(1+2ffi) n. We denote by d(u) the depth of a node u. The same analysis as for the standard kd-tree implies that a range query in a ffi-pseudo kd-tree can be answered in O(n 1=2+" + k) time, k is the number of points in the answer and " = log (1=2+ffi) 2 2 1=2. Maintaining the pseudo kd-tree. One way to maintain the pseudo kd-tree is to maintain the input points sorted by their x- aswellasy-coordinates and update the tree when a point crosses the partition line. Maintaining the points in two sorted lists will generate (n 2 ) events. The subtree is rebuilt if the number of points in one child exceeds fraction 1=2 + ffi. Each event has an amortized update cost of O(log n). Another way of maintaining the pseudo kd-tree is to use the dynamic data structure proposed by Overmars [18]. However, it maintains a forest of kd-trees instead of a single tree. Here, we will show how to maintain a single kd-tree with only polylogarithmic update cost per event without any rebuilding,assume the points move with constant velocity. To maintain a pseudo kd-tree, we need to maintain a hierarchical partition of the points, which always supports a ffi-pseudo kd-tree. Since points are inserted into or deleted from a subtree, the trajectories of the points stored in a node are actually line segments. Maintaining the partition line of a node involves finding the approximate median of a set of line segments in an online fashion. The idea for online maintenance in Section 2.2 works here as well. The difference is, points may come in and out of the range of a node. So inside one strip the number of intersections, endpoints of the line segments and flight plan changes should be bounded all at the same time. The endpoints of the line segments can be treated in the same way as the events of motion plan changes we described before. We omit the details here and prove the following lemma and theorem in an off-line setting. We define a ffi-approximate partition line of depth k to be a ffi-approximate median level in the arrangement of the trajectories of points stored in the subtree of a node at depth k.letv k denote the set of nodes at depth k. Lemma 2. There exists a set of ffi-approximate partition lines of V k with total complexity O(k=(ffiff k ) 2 ), and it can be computed in O((kn log n)=(ffiff k ) 2 ) time, where ff =1=2 ffi.
9 Proof. A key observation is that the combination of the trajectories of all the points in V k is the arrangement of n lines. So the total number of intersections of the segments in V k is bounded by O(n 2 ). Assume a node of depth k has n k points associated with it. Since the child of a node with m points has at least (1=2 ffi)m points, we have n k nff k where ff =1=2 ffi.lets k be the total number of line segments in V k,and let c k be the total complexity of the ffi-approximate partition lines for V k. By Theorem 1, we have that c k = O((n=(ffin k )) 2 + s k =(ffin k )). When a point crosses the partition line at a node of depth k, it ends the trajectory in the old child and begins a trajectory in the new child. Therefore we have s k+1 =2c k ffin k = O(n 2 =(ffin k ))+2s k. By induction, we get s k = O(kn=(ffiff k )), c k = O(k=(ffi 2 ff 2k )). The running time is bounded in the same way as in Theorem 1. An event happens when a point crosses a partition line. Updating the pseudo tree involves moving a point from one subtree to the other, which costs log 2=(1+2ffi) n.the number of events of depth k is bounded by s k+1 =2. So the total number of events is O((n 2 =ffi) log 2=(1+2ffi) n). In summary, we have Theorem 5. For a set of n moving points on the plane, each moving with a constant velocity, we can find a moving hierarchical partition of the plane which supports a ffi-pseudo kd-tree at any time. The number of events in the kinetic data structure is O((n 2 =ffi) log 2=(1+2ffi) n) in total. Update cost for each event is O(log 2=(1+2ffi) n). 4 Overlapping kd-tree In the second variant of the kd-tree, the bounding boxes associated with the children of a node can overlap. Definition. Assume S(v) is the set of points stored in the subtree of a node v, B(v) is the minimum bounding box of S(v),andd(v) is the depth of v.defineff(w) =B(u) B(v)to be the overlapping region of two children u and v of node w. Affi-overlapping kd-tree is a perfectly balanced tree so that for each node w with m points in the subtree, there can be at most ffim points in the overlapping region ff(w), 0 < ffi < 1. The overlapping kd-tree has linear size and depth O(log n). We call a node x-partitioned (y-partitioned) if it is partitioned by a vertical (resp. horizontal) line. An orthogonal range query can be answered in the same way as in the standard kd-tree. Lemma 3. Let ` be a vertical (or horizontal) line, and let v, w be two x-partitioned (y-partitioned) nodes of a ffi-overlapping kd-tree such that w is a descendant of v. If` intersects both ff(v) and ff(w), thend(w) d(v) + log 2 fl,wherefl =(1 2ffi)=(2ffi). Theorem 6. A range query in a ffi-overlapping kd-tree can be answered in O(n 1=2+" + k) time, where " = log fl 2, fl =(1 2ffi)=(2ffi), k is the number of points reported. Proof. As for the standard kd-tree, it suffices to bound the number of nodes whose bounding boxes intersect a vertical line `. Letv be a x-partitioned node at depth k, and let n v be the points stored in the subtree rooted at v. The query procedure visits bothchildrenandthusall fourgrandchildrenof v onlyif ` intersects ff(v).otherwise,`
10 intersects at most two grandchildren of v. The granchildren of v are also x-partitioned. By Lemma 3, ` does not intersect ff(w) for any descendent w of v at depth less than k + log 2 fl. An easy calculation shows that ` intersects at most 8 p fl nodes of depth at most k + log 2 fl and at most 2 p fl nodes of depth k + log 2 fl. On the other hand, any descendent of v at depth k + log 2 fl has at most n v =fl points. Let C(n v ) denote the number of nodes intersected by ` in the subtree rooted at a x-partitioned node that contains at most n v points. Then we obtain the following recurrence C(n v )» 2 p flc(n v =fl) +8 p fl whose solution is C(n v )=O(n 1=2+" v ),where" = log fl 2. Maintaining the overlapping kd-tree. Maintaining the ffi-overlapping kd-tree mainly involves tracking the number of points in the overlapping region. Consider the root of the kd-tree, assume n points are divided into n=2 red points and n=2 blue points by a vertical line at the beginning. W.l.o.g, assume red points have bigger coordinates. Consider the time-space plane, the goal is to track the depth of the lower(upper) envelope of red(blue) curves in the arrangement of blue(red) curves. An event happens when those two numbers add up to ffin. So at least ffin=2 points in the overlapping region have the same color, suppose they are red. Then the highest blue point must be above at least ffin=2 red points. We define a red-blue inversion to be the intersection of a red curve and a blue curve. So there must be at least Ω(ffin) red-blue inversions since the last recoloring. The number of recoloring events in the root of the kd-tree is bounded by O(n=ffi), if the points follow pseudo-algebraic motion. Since the combination of the trajectories of all the points in nodes of depth k becomes the arrangement of the trajectories of n points, the total number of recoloring events in depth k is bounded by O(n2 k =ffi), using the same argument as above. When an event happens at depth k, we rebuild the subtree, which costs O(n log n=2 k ).Sothe total update cost sumed up over all events is O(n 2 log n=ffi). The amortized cost for one event is therefore O(log n). Putting everything together, we obtain the following. Theorem 7. Let S be aset ofn pointsmovingin the plane, andletffi > 0bea constant. We can maintaina ffi-overlapping kd-tree by spending O(log n) amortized time at each event. Under pseudo-algebraic motion of S, the number of events is O(n 2 =ffi). Acknowledgements: The authors wish to thank John Hershberger and An Zhu for numerous discussions and for their contribution to the arguments in this paper. Research by all three authors is partially supported by NSF under grant CCR Research by P. Agarwal is also supported by NSF grants EIA , EIA , and CCR , and by a grant from the U.S. Israel Binational Science Foundation. Research by J. Gao and L. Guibas is also supported by NSF grant CCR and grants from the Stanford Networking Research Center, the Okawa Foundation, and the Honda Corporation. References 1. P. K. Agarwal, L. Arge, and J. Erickson. Indexing moving points. In Proc. Annu. ACM Sympos. Principles Database Syst.,
11 2. P. K. Agarwal, L. Arge, and J. Vahrenhold. Time responsive external data structures for moving points. In Workshop on Algorithms and Data Structures, pages 50 61, P. K. Agarwal and J. Erickson. Geometric range searching and its relatives. In B. Chazelle, J. E. Goodman, and R. Pollack, editors, Advances in Discrete and Computational Geometry, volume 223 of Contemporary Mathematics, pages American Mathematical Society, Providence, RI, P. K. Agarwal and M. Sharir. Arrangements and their applications. In J.-R. Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages Elsevier Science Publishers B.V. North-Holland, Amsterdam, J. Basch, L. Guibas, and J. Hershberger. Data structures for mobile data. J. Alg., 31(1):1 28, J. Basch, L. J. Guibas, and G. D. Ramkumar. Reporting red-blue intersections between two sets of connected line segments. In Proc. 4th Annu. European Sympos. Algorithms, volume 1136 of Lecture Notes Comput. Sci., pages Springer-Verlag, J. L. Bentley. Multidimensional binary search trees used for associative searching. Communications of the ACM, 18(9): , R. Cole, J. Salowe, W. Steiger, and E. Szemerédi. An optimal-time algorithm for slope selection. SIAM J. Comput., 18(4): , W. Cunto, G. Lau, and P. Flajolet. Analysis of kdt-trees: kd-trees improved by local reorganisations. Workshop on Algorithms and Data Structures (WADS 89), 382:24 38, M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. Computational Geometry: Algorithms and Applications. Springer-Verlag, Berlin, T. K. Dey. Improved bounds on planar k-sets and k-levels. In IEEE Symposium on Foundations of Computer Science, pages , H. Edelsbrunner and E. Welzl. Constructing belts in two-dimensional arrangements with applications. SIAM J. Comput., 15: , L. J. Guibas. Kinetic data structures a state of the art report. In P. K. Agarwal, L. E. Kavraki, and M. Mason, editors, Proc. Workshop Algorithmic Found. Robot., pages A. K. Peters, Wellesley, MA, R. H. Güting, M. H. Böhlen, M. Erwig, C. S. Jensen, N. A. Lorentzos, M. Schneider, and M. Vazirgiannis. A foundation for representing and querying moving objects. ACM Trans. Database Systems, 25(1):1 42, G. Kollios, D. Gunopulos, and V. J. Tsotras. On indexing mobile objects. In Proc. Annu. ACM Sympos. Principles Database Syst., pages , J. Matoušek. Construction of ffl-nets. Discrete Comput. Geom., 5: , J. Nievergelt and P. Widmayer. Spatial data structures: Concepts and design choices. In J.-R. Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages Elsevier Science Publishers B.V. North-Holland, Amsterdam, M. H. Overmars. The Design of Dynamic Data Structures, volume 156 of Lecture Notes Comput. Sci. Springer-Verlag, Heidelberg, West Germany, D. Pfoser, C. J. Jensen, and Y. Theodoridis. Novel approaches to the indexing of moving object trajectories. In Proc. 26th Intl. Conf. Very Large Databases, pages , C. M. Procopiuc, P. K. Agarwal, and S. Har-Peled. Star-tree: An efficent self-adjusting index for moving points. In Proc. 4th Workshop on Algorithm Engineering and Experiments, A. Rockwood and P. Chambers. Interactive Curves and Surfaces: A Multimedia Tutorial on CAGD. Morgan Kaufmann Publishers, Inc., A. P. Sistla and O. Wolfson. Temporal conditions and integrity constraints in active database systems. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, pages , A. P. Sistla, O. Wolfson, S. Chamberlain, and S. Dao. Modeling and querying moving objects. In Proc. Intl Conf. Data Engineering, pages , 1997.
12 24. G. Tóth. Point sets with many k-sets. Discrete & Computational Geometry, 26(2): , S. Šaltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez. Indexing the positions of continuously moving objects. In Proc. ACM SIGMOD International Conference on Management of Data, pages , O. Wolfson, A. P. Sistla, S. Chamberlain, and Y. Yesha. Updating and querying databases that track mobile units. Distributed and Parallel Databases, pages , 1999.
Data Structures for Moving Objects
Data Structures for Moving Objects Pankaj K. Agarwal Department of Computer Science Duke University Geometric Data Structures S: Set of geometric objects Points, segments, polygons Ask several queries
More information1 The range query problem
CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition
More informationwill assume that each point p i is moving along a straight line at some xed speed, or more formally, that p i (t) = a i t + b i for some a i ; b i 2 R
Indexing Moving Points (Extended Abstract) Pankaj K. Agarwal Lars Arge y Je Erickson z Abstract We propose three indexing schemes for storing a set S of N points in the plane, each moving along a linear
More informationJanuary 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms
Geometric data structures Sudebkumar Prasant Pal Department of Computer Science and Engineering IIT Kharagpur, 721302. email: spp@cse.iitkgp.ernet.in January 10-12, 2012 - NIT Surathkal Introduction to
More informationFly Cheaply: On the Minimum Fuel Consumption Problem
Fly Cheaply: On the Minimum Fuel Consumption Problem Timothy M. Chan Alon Efrat Sariel Har-Peled September 30, 1999 Abstract In planning a flight, stops at intermediate airports are sometimes necessary
More informationLecture 3 February 23, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 3 February 23, 2012 1 Overview In the last lecture we saw the concepts of persistence and retroactivity as well as several data structures
More informationDynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions
Dynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Abstract We maintain the
More informationComputing intersections in a set of line segments: the Bentley-Ottmann algorithm
Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.
More informationAn Efficient Algorithm for 2D Euclidean 2-Center with Outliers
An Efficient Algorithm for 2D Euclidean 2-Center with Outliers Pankaj K. Agarwal and Jeff M. Phillips Department of Computer Science, Duke University, Durham, NC 27708 Abstract. For a set P of n points
More informationSmallest Intersecting Circle for a Set of Polygons
Smallest Intersecting Circle for a Set of Polygons Peter Otfried Joachim Christian Marc Esther René Michiel Antoine Alexander 31st August 2005 1 Introduction Motivated by automated label placement of groups
More informationOn Computing the Centroid of the Vertices of an Arrangement and Related Problems
On Computing the Centroid of the Vertices of an Arrangement and Related Problems Deepak Ajwani, Saurabh Ray, Raimund Seidel, and Hans Raj Tiwary Max-Planck-Institut für Informatik, Saarbrücken, Germany
More information(for all > 0). In particular these bounds prove that none of the extent measures mentioned can change combinatorially more than O(n 2+ ) times. A quad
Submitted to the 1997 ACM Symposium on Computational Geometry Maintaining the Extent of a Moving Point Set Pankaj K. Agarwal Duke University Leonidas J. Guibas y Stanford University John Hershberger Mentor
More informationAn Optimal Dynamic Interval Stabbing-Max Data Structure?
An Optimal Dynamic Interval Stabbing-Max Data Structure? Pankaj K. Agarwal Lars Arge Ke Yi Abstract In this paper we consider the dynamic stabbing-max problem, that is, the problem of dynamically maintaining
More informationBIASED RANGE TREES. Vida Dujmović John Howat Pat Morin
BIASED RANGE TREES Vida Dujmović John Howat Pat Morin ABSTRACT. A data structure, called a biased range tree, is presented that preprocesses a set S of n points in R 2 and a query distribution D for 2-sided
More informationConvex Hull of the Union of Convex Objects in the Plane: an Adaptive Analysis
CCCG 2008, Montréal, Québec, August 13 15, 2008 Convex Hull of the Union of Convex Objects in the Plane: an Adaptive Analysis Jérémy Barbay Eric Y. Chen Abstract We prove a tight asymptotic bound of Θ(δ
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationCrossing Families. Abstract
Crossing Families Boris Aronov 1, Paul Erdős 2, Wayne Goddard 3, Daniel J. Kleitman 3, Michael Klugerman 3, János Pach 2,4, Leonard J. Schulman 3 Abstract Given a set of points in the plane, a crossing
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationBichromatic Line Segment Intersection Counting in O(n log n) Time
Bichromatic Line Segment Intersection Counting in O(n log n) Time Timothy M. Chan Bryan T. Wilkinson Abstract We give an algorithm for bichromatic line segment intersection counting that runs in O(n log
More informationLecture 3 February 9, 2010
6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees
More informationConnected Components of Underlying Graphs of Halving Lines
arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components
More informationFigure 1: The three positions allowed for a label. A rectilinear map consists of n disjoint horizontal and vertical line segments. We want to give eac
Labeling a Rectilinear Map More Eciently Tycho Strijk Dept. of Computer Science Utrecht University tycho@cs.uu.nl Marc van Kreveld Dept. of Computer Science Utrecht University marc@cs.uu.nl Abstract Given
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationGEOMETRIC SEARCHING PART 1: POINT LOCATION
GEOMETRIC SEARCHING PART 1: POINT LOCATION PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 3.10.2014 Geometric
More informationImproved Bounds for Intersecting Triangles and Halving Planes
Improved Bounds for Intersecting Triangles and Halving Planes David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 91-60 July 15, 1991 Abstract
More informationAverage case analysis of dynamic geometric optimization
Average case analysis of dynamic geometric optimization David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 May 19, 1995 Abstract We maintain the maximum
More informationGeometry. Geometric Graphs with Few Disjoint Edges. G. Tóth 1,2 and P. Valtr 2,3. 1. Introduction
Discrete Comput Geom 22:633 642 (1999) Discrete & Computational Geometry 1999 Springer-Verlag New York Inc. Geometric Graphs with Few Disjoint Edges G. Tóth 1,2 and P. Valtr 2,3 1 Courant Institute, New
More informationRange-Aggregate Queries Involving Geometric Aggregation Operations
Range-Aggregate Queries Involving Geometric Aggregation Operations Saladi Rahul, Ananda Swarup Das, K. S. Rajan, and Kannan Srinathan {srahul,anandaswarup}@research.iiit.ac.in {rajan, srinathan}@iiit.ac.in
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationP Q. outer boundary of P
The Complexity of a Single Face of a Minkowski Sum Sariel Har-Peled Timothy M. Chan y Boris Aronov z Dan Halperin x Jack Snoeyink { Abstract This note considers the complexity of a free region in the conguration
More informationLinear Data Structures for Fast Ray-Shooting amidst Convex Polyhedra
Linear Data Structures for Fast Ray-Shooting amidst Convex Polyhedra Haim Kaplan, Natan Rubin, and Micha Sharir School of Computer Science, Tel Aviv University, Tel Aviv, Israel {haimk,rubinnat,michas}@post.tau.ac.il
More informationOrthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem
Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem Pawe l Żyliński Institute of Mathematics University of Gdańsk, 8095 Gdańsk, Poland pz@math.univ.gda.pl Submitted: Sep 9, 005;
More informationAverage Case Analysis of Dynamic Geometric Optimization
Average Case Analysis of Dynamic Geometric Optimization David Eppstein Abstract We maintain the maximum spanning tree of a planar point set, as points are inserted or deleted, in O(log 3 n) time per update
More informationHow to Cover Most of a Point Set with a V-Shape of Minimum Width
How to Cover Most of a Point Set with a V-Shape of Minimum Width Boris Aronov aronov@poly.edu John Iacono jiacono@poly.edu Özgür Özkan ozgurozkan@gmail.com Mark Yagnatinsky myag@cis.poly.edu Polytechnic
More informationGeneralizing Ham Sandwich Cuts to Equitable Subdivisions
Discrete Comput Geom 24:605 622 (2000) DOI: 10.1007/s004540010065 Discrete & Computational Geometry 2000 Springer-Verlag New York Inc. Generalizing Ham Sandwich Cuts to Equitable Subdivisions S. Bespamyatnikh,
More informationc 2009 Society for Industrial and Applied Mathematics
SIAM J. COMPUT. Vol. 39, No. 4, pp. 1219 1232 c 2009 Society for Industrial and Applied Mathematics KINETIC kd-trees AND LONGEST-SIDE kd-trees MOHAMMAD ALI ABAM, MARK DE BERG, AND BETTINA SPECKMANN Abstract.
More informationFor a set S of line segments, a separator can be found using duality. Under duality, the segments transform to double wedges, and a separator line tra
Separating and Shattering Long Line Segments? Alon Efrat School of Mathematical Sciences, Tel Aviv University, Tel-Aviv 69982, Israel. Email: alone@cs.tau.ac.il Otfried Schwarzkopf Dept of Computer Science,
More informationUpdating Widths and Maximum Spanning Trees using the Rotating Caliper Graph
Updating Widths and Maximum Spanning Trees using the Rotating Caliper Graph David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 93-18 April
More information1 Static-to-Dynamic Transformations
You re older than you ve ever been and now you re even older And now you re even older And now you re even older You re older than you ve ever been and now you re even older And now you re older still
More informationI/O-Efficient Structures for Orthogonal Range-Max and Stabbing-Max Queries
I/O-Efficient Structures for Orthogonal Range-Max and Stabbing-Max Queries Pankaj K. Agarwal, Lars Arge, Jun Yang, and Ke Yi Department of Computer Science Duke University, Durham, NC 27708, USA {pankaj,large,junyang,yike}@cs.duke.edu
More informationvertices to be changed dynamically, two linear-space structures are known for general subdivisions: one by Cheng and Janardan [9] that answers queries
I/O-Ecient Dynamic Point Location in Monotone Planar Subdivisions (Extended Abstract) Pankaj K. Agarwal Lars Arge y Gerth Stlting rodal z Jerey S. Vitter x Abstract We present an ecient external-memory
More informationBiased Range Trees. Vida Dujmović John Howat Pat Morin
Biased Range Trees Vida Dujmović John Howat Pat Morin Abstract A data structure, called a biased range tree, is presented that preprocesses a set S of n points in R 2 and a query distribution D for 2-sided
More informationOrthogonal Ham-Sandwich Theorem in R 3
Orthogonal Ham-Sandwich Theorem in R 3 Downloaded 11/24/17 to 37.44.201.8. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php Abstract The ham-sandwich theorem
More informationCRB-Tree: An Efficient Indexing Scheme for Range-Aggregate Queries
: An Efficient Indexing Scheme for Range-Aggregate Queries Sathish Govindarajan, Pankaj K. Agarwal, and Lars Arge Department of Computer Science, Duke University, Durham, NC 2778 {gsat, pankaj, large}@cs.duke.edu
More informationAlgorithms on Minimizing the Maximum Sensor Movement for Barrier Coverage of a Linear Domain
Algorithms on Minimizing the Maximum Sensor Movement for Barrier Coverage of a Linear Domain Danny Z. Chen 1, Yan Gu 2, Jian Li 3, and Haitao Wang 1 1 Department of Computer Science and Engineering University
More informationGeometric Data Structures Multi-dimensional queries Nearest neighbour problem References. Notes on Computational Geometry and Data Structures
Notes on Computational Geometry and Data Structures 2008 Geometric Data Structures and CGAL Geometric Data Structures and CGAL Data Structure Interval Tree Priority Search Tree Segment Tree Range tree
More informationof a set of n straight lines, have been considered. Among them are k-sets in higher dimensions or k-levels of curves in two dimensions and surfaces in
Point-sets with few k-sets Helmut Alt? Stefan Felsner Ferran Hurtado y Marc Noy y Abstract A k-set of a nite set S of points in the plane is a subset of cardinality k that can be separated from the rest
More informationImproved Bounds for Planar k-sets and Related Problems
Discrete Comput Geom 19:373 382 (1998) Discrete & Computational Geometry 1998 Springer-Verlag New York Inc. Improved Bounds for Planar k-sets and Related Problems T. K. Dey Department of Computer Science
More informationMinimum-Link Watchman Tours
Minimum-Link Watchman Tours Esther M. Arkin Joseph S. B. Mitchell Christine D. Piatko Abstract We consider the problem of computing a watchman route in a polygon with holes. We show that the problem of
More informationAdvanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b
Advanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b simas@cs.aau.dk Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees
More informationA Discrete and Dynamic Version of Klee s Measure Problem
CCCG 2011, Toronto ON, August 10 12, 2011 A Discrete and Dynamic Version of Klee s Measure Problem Hakan Yıldız John Hershberger Subhash Suri Abstract Given a set of axis-aligned boxes B = {B 1, B 2,...,
More informationArrangements in Geometry: Recent Advances and Challenges
Arrangements in Geometry: Recent Advances and Challenges Micha Sharir School of Computer Science, Tel Aviv University, Tel Aviv, Israel michas@post.tau.ac.il Abstract. We review recent progress in the
More informationwould be included in is small: to be exact. Thus with probability1, the same partition n+1 n+1 would be produced regardless of whether p is in the inp
1 Introduction 1.1 Parallel Randomized Algorihtms Using Sampling A fundamental strategy used in designing ecient algorithms is divide-and-conquer, where that input data is partitioned into several subproblems
More informationUnfolding Rectangle-Faced Orthostacks
Unfolding Rectangle-Faced Orthostacks Erin W. Chambers Kyle A. Sykes Cynthia M. Traub Abstract We prove that rectangle-faced orthostacks, a restricted class of orthostacks, can be grid-edge unfolded without
More informationComputational Geometry
Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),
More informationA Segment-Tree Based Kinetic BSP Λ
A Segment-Tree Based Kinetic BSP Λ M. de Berg Institute of Information and Computing Sciences Utrecht University P.O.Box 80.089 3508 TB Utrecht the Netherlands J. Comba Department of Computer Science Stanford
More informationMonotone Paths in Geometric Triangulations
Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation
More information3 Competitive Dynamic BSTs (January 31 and February 2)
3 Competitive Dynamic BSTs (January 31 and February ) In their original paper on splay trees [3], Danny Sleator and Bob Tarjan conjectured that the cost of sequence of searches in a splay tree is within
More informationGeometric Data Structures
Geometric Data Structures 1 Data Structure 2 Definition: A data structure is a particular way of organizing and storing data in a computer for efficient search and retrieval, including associated algorithms
More information(Extended Abstract) Je Erickson y. problem, it is not at all applicable to decision or optimization
On the Relative Complexities of Some Geometric Problems (Extended Abstract) Je Erickson y 1 Introduction We consider a number of problems whose best known algorithms run in roughly O(n 4=3 ) time. While
More informationAlgorithmica Springer-Verlag New York Inc.
Algorithmica (1994) 11: 185-195 Algorithmica 9 1994 Springer-Verlag New York Inc. Planar Geometric Location Problems I Pankaj K. Agarwal 2 and Micha Sharir 3 Abstract. We present an O(n 2 tog 3 n) algorithm
More informationRange Searching II: Windowing Queries
Computational Geometry Lecture : Windowing Queries INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Chih-Hung Liu 23.11.2015 1 Object types in range queries y0 y x x0 Setting
More informationA technique for adding range restrictions to. August 30, Abstract. In a generalized searching problem, a set S of n colored geometric objects
A technique for adding range restrictions to generalized searching problems Prosenjit Gupta Ravi Janardan y Michiel Smid z August 30, 1996 Abstract In a generalized searching problem, a set S of n colored
More informationPlanar Point Location
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,
More informationBox-Trees and R-trees with Near-Optimal Query Time Λ
Box-Trees and R-trees with Near-Optimal Query Time Λ P. K. Agarwal y,m.deberg z, J. Gudmundsson z, M. Hammar x,h.j.haverkort z y Dept. of Computer Science, Box 90129, Duke University, Durham, NC 27708-0129,
More informationA SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)
Chapter 1 A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Piotr Berman Department of Computer Science & Engineering Pennsylvania
More informationLogarithmic-Time Point Location in General Two-Dimensional Subdivisions
Logarithmic-Time Point Location in General Two-Dimensional Subdivisions Michal Kleinbort Tel viv University, Dec 2015 Joint work with Michael Hemmer and Dan Halperin Michal Kleinbort (TU) Point-Location
More informationRange Mode and Range Median Queries on Lists and Trees
Range Mode and Range Median Queries on Lists and Trees Danny Krizanc 1, Pat Morin 2, and Michiel Smid 2 1 Department of Mathematics and Computer Science, Wesleyan University, Middletown, CT 06459 USA dkrizanc@wesleyan.edu
More informationEdge Guards for Polyhedra in Three-Space
Edge Guards for Polyhedra in Three-Space Javier Cano Csaba D. Tóth Jorge Urrutia Abstract It is shown that every polyhedron in R with m edges can be guarded with at most 27 2m The bound improves to 5 6
More informationExtending Rectangle Join Algorithms for Rectilinear Polygons
Extending Rectangle Join Algorithms for Rectilinear Polygons Hongjun Zhu, Jianwen Su, and Oscar H. Ibarra University of California at Santa Barbara Abstract. Spatial joins are very important but costly
More informationNotes on Binary Dumbbell Trees
Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes
More informationarxiv: v1 [cs.cg] 8 Jan 2018
Voronoi Diagrams for a Moderate-Sized Point-Set in a Simple Polygon Eunjin Oh Hee-Kap Ahn arxiv:1801.02292v1 [cs.cg] 8 Jan 2018 Abstract Given a set of sites in a simple polygon, a geodesic Voronoi diagram
More informationDistributed Proximity Maintenance in Ad Hoc Mobile Networks
Distributed Proximity Maintenance in Ad Hoc Mobile Networks Jie Gao 1, Leonidas J. Guibas 2, and An Nguyen 2 1 Center for the Mathematics of Information, California Institute of Technology, Pasadena, CA
More informationTree-Weighted Neighbors and Geometric k Smallest Spanning Trees
Tree-Weighted Neighbors and Geometric k Smallest Spanning Trees David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 92-77 July 7, 1992
More informationComputational Geometry
Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel
More informationT. Biedl and B. Genc. 1 Introduction
Complexity of Octagonal and Rectangular Cartograms T. Biedl and B. Genc 1 Introduction A cartogram is a type of map used to visualize data. In a map regions are displayed in their true shapes and with
More informationQuake Heaps: A Simple Alternative to Fibonacci Heaps
Quake Heaps: A Simple Alternative to Fibonacci Heaps Timothy M. Chan Cheriton School of Computer Science, University of Waterloo, Waterloo, Ontario N2L G, Canada, tmchan@uwaterloo.ca Abstract. This note
More informationInterval Stabbing Problems in Small Integer Ranges
Interval Stabbing Problems in Small Integer Ranges Jens M. Schmidt Freie Universität Berlin, Germany Enhanced version of August 2, 2010 Abstract Given a set I of n intervals, a stabbing query consists
More informationImproved algorithms for constructing fault-tolerant spanners
Improved algorithms for constructing fault-tolerant spanners Christos Levcopoulos Giri Narasimhan Michiel Smid December 8, 2000 Abstract Let S be a set of n points in a metric space, and k a positive integer.
More informationTrapezoid and Chain Methods
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 05 Date: Febuary 17, 1993 Scribe: Peter C. McCluskey Trapezoid and Chain Methods 1 Trapezoid Method (continued) Continuing
More information(mainly range and proximity queries), and simplicity. See recent surveys [2, 14, 27]. The proposed data structures can roughly be divided into two cla
A Framework for Index Bulk Loading and Dynamization Pankaj K. Agarwal?, Lars Arge??, Octavian Procopiuc???, and Jerey Scott Vitter y Center for Geometric Computing, Dept. of Computer Science, Duke University,
More informationSimple and Semi-Dynamic Structures for Cache-Oblivious Planar Orthogonal Range Searching
Simple and Semi-Dynamic Structures for Cache-Oblivious Planar Orthogonal Range Searching ABSTRACT Lars Arge Department of Computer Science University of Aarhus IT-Parken, Aabogade 34 DK-8200 Aarhus N Denmark
More informationAn Improved Bound for k-sets in Three Dimensions. November 30, Abstract
An Improved Bound for k-sets in Three Dimensions Micha Sharir Shakhar Smorodinsky y Gabor Tardos z November 30, 1999 Abstract We prove that the maximum number of k-sets in a set S of n points in IR 3 is
More information2 A Plane Sweep Algorithm for Line Segment Intersection
EECS 396/496: Computational Geometry Fall 2017 Lecturer: Huck Bennett Lecture 2: Line Segment Intersection In this lecture, we will study the problem of computing all intersections of a set of line segmentn
More informationThe Unified Segment Tree and its Application to the Rectangle Intersection Problem
CCCG 2013, Waterloo, Ontario, August 10, 2013 The Unified Segment Tree and its Application to the Rectangle Intersection Problem David P. Wagner Abstract In this paper we introduce a variation on the multidimensional
More informationTowards Faster Linear-Sized Nets for Axis-Aligned Boxes in the Plane
Towards Faster Linear-Sized Nets for Axis-Aligned Boxes in the Plane Hervé Brönnimann Computer and Information Science, Polytechnic University, Six Metrotech Center, Brooklyn, NY 11201, USA Abstract. Let
More informationLine segment intersection. Family of intersection problems
CG Lecture 2 Line segment intersection Intersecting two line segments Line sweep algorithm Convex polygon intersection Boolean operations on polygons Subdivision overlay algorithm 1 Family of intersection
More informationOn the number of distinct directions of planes determined by n points in R 3
On the number of distinct directions of planes determined by n points in R 3 Rom Pinchasi August 27, 2007 Abstract We show that any set of n points in R 3, that is not contained in a plane, determines
More informationTheoretical Computer Science
Theoretical Computer Science 408 (2008) 129 142 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs Drawing colored graphs on colored points
More information1D Range Searching (cont) 5.1: 1D Range Searching. Database queries
kd!trees SMD156 Lecture 5 Orthogonal Range Searching Database queries Divide!and!conquer Orthogonal Range Searching Range Trees Searching for items using many ranges of criteria at a time SMD156 Computational
More informationI/O-Algorithms Lars Arge Aarhus University
I/O-Algorithms Aarhus University April 10, 2008 I/O-Model Block I/O D Parameters N = # elements in problem instance B = # elements that fits in disk block M = # elements that fits in main memory M T =
More informationGeometric Streaming Algorithms with a Sorting Primitive (TR CS )
Geometric Streaming Algorithms with a Sorting Primitive (TR CS-2007-17) Eric Y. Chen School of Computer Science University of Waterloo Waterloo, ON N2L 3G1, Canada, y28chen@cs.uwaterloo.ca Abstract. We
More informationOn the Least Median Square Problem
On the Least Median Square Problem Jeff Erickson Sariel Har-Peled Department of Computer Science University of Illinois at Urbana-Champaign {jeffe,sariel}@cs.uiuc.edu http://www.cs.uiuc.edu/ {jeffe,sariel}
More informationLow-Dimensional Linear Programming with Violations
Low-Dimensional Linear Programming with Violations Timothy M. Chan October 21, 2004 Abstract Two decades ago, Megiddo and Dyer showed that linear programming in two and three dimensions (and subsequently
More informationGeometric Unique Set Cover on Unit Disks and Unit Squares
CCCG 2016, Vancouver, British Columbia, August 3 5, 2016 Geometric Unique Set Cover on Unit Disks and Unit Squares Saeed Mehrabi Abstract We study the Unique Set Cover problem on unit disks and unit squares.
More informationRange Tree Applications in Computational Geometry
Range Tree Applications in Computational Geometry ANTONIO-GABRIEL STURZU, COSTIN-ANTON BOIANGIU Computer Science Department Politehnica University of Bucharest Splaiul Independentei 313, Sector 6, Bucharest,
More informationDynamic Half-Space Reporting, Geometric Optimization, and Minimum Spanning Trees
Dynamic Half-Space Reporting, Geometric Optimization, and Minimum Spanning Trees Pankaj K. Agarwal David Eppstein Jiří Matoušek Abstract We describe dynamic data structures for half-space range reporting
More informationComputing Maximally Separated Sets in the Plane and Independent Sets in the Intersection Graph of Unit Disks
Computing Maximally Separated Sets in the Plane and Independent Sets in the Intersection Graph of Unit Disks Pankaj K. Agarwal Ý Mark Overmars Þ Micha Sharir Ü Abstract Let Ë be a set of Ò points in Ê.
More informationOptimal Parallel Randomized Renaming
Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously
More informationUsing the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University
Using the Holey Brick Tree for Spatial Data in General Purpose DBMSs Georgios Evangelidis Betty Salzberg College of Computer Science Northeastern University Boston, MA 02115-5096 1 Introduction There is
More information