Kinetic Medians and kd-trees

Size: px
Start display at page:

Download "Kinetic Medians and kd-trees"

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 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 information

1 The range query problem

1 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 information

will 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

will 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 information

January 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms

January 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 information

Fly Cheaply: On the Minimum Fuel Consumption Problem

Fly 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 information

Lecture 3 February 23, 2012

Lecture 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 information

Dynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions

Dynamic 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 information

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Computing 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 information

An Efficient Algorithm for 2D Euclidean 2-Center with Outliers

An 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 information

Smallest Intersecting Circle for a Set of Polygons

Smallest 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 information

On 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 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

(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 information

An Optimal Dynamic Interval Stabbing-Max Data Structure?

An 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 information

BIASED RANGE TREES. Vida Dujmović John Howat Pat Morin

BIASED 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 information

Convex Hull of the Union of Convex Objects in the Plane: an Adaptive Analysis

Convex 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 information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 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 information

Crossing Families. Abstract

Crossing 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 information

Computational Geometry

Computational 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 information

Bichromatic Line Segment Intersection Counting in O(n log n) Time

Bichromatic 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 information

Lecture 3 February 9, 2010

Lecture 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 information

Connected Components of Underlying Graphs of Halving Lines

Connected 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 information

Figure 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

Figure 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 information

CMSC 754 Computational Geometry 1

CMSC 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 information

GEOMETRIC SEARCHING PART 1: POINT LOCATION

GEOMETRIC 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 information

Improved Bounds for Intersecting Triangles and Halving Planes

Improved 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 information

Average case analysis of dynamic geometric optimization

Average 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 information

Geometry. Geometric Graphs with Few Disjoint Edges. G. Tóth 1,2 and P. Valtr 2,3. 1. Introduction

Geometry. 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 information

Range-Aggregate Queries Involving Geometric Aggregation Operations

Range-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 information

Computational Geometry

Computational 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 information

P Q. outer boundary of P

P 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 information

Linear Data Structures for Fast Ray-Shooting amidst Convex Polyhedra

Linear 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 information

Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem

Orthogonal 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 information

Average Case Analysis of Dynamic Geometric Optimization

Average 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 information

How 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 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 information

Generalizing Ham Sandwich Cuts to Equitable Subdivisions

Generalizing 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 information

c 2009 Society for Industrial and Applied Mathematics

c 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 information

For 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

For 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 information

Updating Widths and Maximum Spanning Trees using the Rotating Caliper Graph

Updating 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 information

1 Static-to-Dynamic Transformations

1 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 information

I/O-Efficient Structures for Orthogonal Range-Max and Stabbing-Max Queries

I/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 information

vertices to be changed dynamically, two linear-space structures are known for general subdivisions: one by Cheng and Janardan [9] that answers queries

vertices 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 information

Biased Range Trees. Vida Dujmović John Howat Pat Morin

Biased 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 information

Orthogonal Ham-Sandwich Theorem in R 3

Orthogonal 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 information

CRB-Tree: An Efficient Indexing Scheme for Range-Aggregate Queries

CRB-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 information

Algorithms 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 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 information

Geometric Data Structures Multi-dimensional queries Nearest neighbour problem References. Notes on Computational Geometry and Data Structures

Geometric 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 information

of 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

of 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 information

Improved Bounds for Planar k-sets and Related Problems

Improved 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 information

Minimum-Link Watchman Tours

Minimum-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 information

Advanced 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 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 information

A Discrete and Dynamic Version of Klee s Measure Problem

A 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 information

Arrangements in Geometry: Recent Advances and Challenges

Arrangements 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 information

would 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

would 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 information

Unfolding Rectangle-Faced Orthostacks

Unfolding 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 information

Computational Geometry

Computational 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 information

A Segment-Tree Based Kinetic BSP Λ

A 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 information

Monotone Paths in Geometric Triangulations

Monotone 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 information

3 Competitive Dynamic BSTs (January 31 and February 2)

3 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 information

Geometric Data Structures

Geometric 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

(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 information

Algorithmica Springer-Verlag New York Inc.

Algorithmica 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 information

Range Searching II: Windowing Queries

Range 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 information

A 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. 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 information

Planar Point Location

Planar 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 information

Box-Trees and R-trees with Near-Optimal Query Time Λ

Box-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 information

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

A 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 information

Logarithmic-Time Point Location in General Two-Dimensional Subdivisions

Logarithmic-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 information

Range Mode and Range Median Queries on Lists and Trees

Range 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 information

Edge Guards for Polyhedra in Three-Space

Edge 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 information

Extending Rectangle Join Algorithms for Rectilinear Polygons

Extending 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 information

Notes on Binary Dumbbell Trees

Notes 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 information

arxiv: v1 [cs.cg] 8 Jan 2018

arxiv: 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 information

Distributed Proximity Maintenance in Ad Hoc Mobile Networks

Distributed 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 information

Tree-Weighted Neighbors and Geometric k Smallest Spanning Trees

Tree-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 information

Computational Geometry

Computational 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 information

T. Biedl and B. Genc. 1 Introduction

T. 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 information

Quake Heaps: A Simple Alternative to Fibonacci Heaps

Quake 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 information

Interval Stabbing Problems in Small Integer Ranges

Interval 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 information

Improved algorithms for constructing fault-tolerant spanners

Improved 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 information

Trapezoid and Chain Methods

Trapezoid 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

(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 information

Simple and Semi-Dynamic Structures for Cache-Oblivious Planar Orthogonal Range Searching

Simple 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 information

An Improved Bound for k-sets in Three Dimensions. November 30, Abstract

An 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 information

2 A Plane Sweep Algorithm for Line Segment Intersection

2 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 information

The Unified Segment Tree and its Application to the Rectangle Intersection Problem

The 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 information

Towards Faster Linear-Sized Nets for Axis-Aligned Boxes in the Plane

Towards 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 information

Line segment intersection. Family of intersection problems

Line 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 information

On 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 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 information

Theoretical Computer Science

Theoretical 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 information

1D Range Searching (cont) 5.1: 1D Range Searching. Database queries

1D 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 information

I/O-Algorithms Lars Arge Aarhus University

I/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 information

Geometric Streaming Algorithms with a Sorting Primitive (TR CS )

Geometric 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 information

On the Least Median Square Problem

On 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 information

Low-Dimensional Linear Programming with Violations

Low-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 information

Geometric Unique Set Cover on Unit Disks and Unit Squares

Geometric 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 information

Range Tree Applications in Computational Geometry

Range 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 information

Dynamic Half-Space Reporting, Geometric Optimization, and Minimum Spanning Trees

Dynamic 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 information

Computing 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 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 information

Optimal Parallel Randomized Renaming

Optimal 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 information

Using 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. 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