arxiv: v3 [cs.cg] 1 Oct 2018

Size: px
Start display at page:

Download "arxiv: v3 [cs.cg] 1 Oct 2018"

Transcription

1 Improved Time-Space Trade-off for Computing Voronoi Diagram Bahareh Banyaady Matia Korman Wolfgang Mulzer André van Renen Marcel Roeloffzen Paul Seiferth Yannik Stein arxiv: v3 [c.cg] 1 Oct 2018 Abtract Let P be a planar et of n ite in general poition. For k {1,..., n 1}, the Voronoi diagram of order k for P i obtained by ubdividing the plane into cell uch that point in the ame cell have the ame et of nearet k neighbor in P. The (nearet ite) Voronoi diagram (NVD) and the farthet ite Voronoi diagram (FVD) are the particular cae of k = 1 and k = n 1, repectively. For any given K {1,..., n 1}, the family of all higher-order Voronoi diagram of order k = 1,..., K for P can be computed in total time O(nK 2 + n log n) uing O(K 2 (n K)) pace [Aggarwal et al., DCG 89; Lee, TC 82]. Moreover, NVD and FVD for P can be computed in O(n log n) time uing O(n) pace [Preparata, Shamo, Springer 85]. For {1,..., n}, an -workpace algorithm ha random acce to a read-only array with the ite of P in arbitrary order. Additionally, the algorithm may ue O() word, of Θ(log n) bit each, for reading and writing intermediate data. The output can be written only once and cannot be acceed or modified afterward. We decribe a determinitic -workpace algorithm for computing NVD and FVD for P that run in O((n 2 /) log ) time. Moreover, we generalize our -workpace algorithm o that for any given K O( ), we compute the family of all higher-order Voronoi diagram of order k = 1,..., K for P in total expected time O ( n 2 K 5 (log +K 2 O(log K) ) ) or in total determinitic time O ( n 2 K 5 (log + K log K) ). Previouly, for Voronoi diagram, the only known -workpace algorithm run in expected time O ( (n 2 /) log + n log log ) [Korman et al., WADS 15] and only work for NVD (i.e., k = 1). Unlike the previou algorithm, our new method i very imple and doe not rely on advanced data tructure or random ampling technique. MK wa upported in part by MEXT KAKENHI No. 17K12635, 15H02665, and BB, WM and PS were upported in part by DFG Grant MU 3501/1 and MU 3501/2. YS wa upported by the DFG within the reearch training group Method for Dicrete Structure (GRK 1408) and by GIF Grant AvR and MR were upported by JST ERATO Grant Number JPMJER1201, Japan. A preliminary verion appeared a B. Banyaady, M. Korman, W. Mulzer, A. van Renen, M. Roeloffzen, P. Seiferth, and Y. Stein. Improved Time-Space Trade-off for Computing Voronoi Diagram. Proc. 34th STACS, pp. 9:1 9:14, Intitut für Informatik, Freie Univerität Berlin, Berlin, Germany, [bahareh, mulzer, peiferth, yanniktein]@inf.fu-berlin.de. Tohoku Univerity, Sendai, Japan, mati@dai.i.tohoku.ac.jp. School of Information Technologie, Univerity of Sydney, Sydney, Autralia, andre.vanrenen@ydney.edu.au. Department of Mathematic and Computer Science, TU Eindhoven, Eindhoven, the Netherland, m.j.m.roeloffzen@tue.nl. 1

2 1 Introduction In recent year, we have een an exploive growth of mall ditributed device uch a tracking device and wirele enor. Thee gadget are mall, have only limited energy upply, are eaily moved, and hould not be too expenive. To accommodate thee need, the amount of memory on them i tightly budgeted. Thi poe a ignificant challenge to oftware developer and algorithm deigner: how to create ueful and efficient program in the preence of trong memory contraint? Memory contraint have been tudied ince the introduction of computer (ee for example Pohl [31]). The firt computer often had limited memory compared to the available proceing power. A hardware progreed, thi gap narrowed, other concern became more important, and the focu of algorithm reearch hifted away from memory-contrained model. However, nowaday, memory contraint are again an important problem to tackle for thee new device a well a for huge dataet that have become available through cloud computing. An eay way to model algorithm with memory contraint i to aume that the input i tored in a read-only memory. Thi i appealing for everal reaon. From a practical viewpoint, writing to external memory i often a cotly operation, e.g., if the data reide on a read-only medium uch a a DVD or on hardware where writing i low and wear out the material, uch a flah memory. Similarly, in concurrent environment, writing operation may lead to race condition. Thu, it i ueful to limit or imply diallow writing operation. From a theoretical viewpoint, thi model i alo advantageou: keeping the working memory eparate from the (read-only) input memory allow for a more detailed accounting of the pace requirement of an algorithm and for a better undertanding of the required reource. In fact, thi i exactly the approach taken by computational complexity theory. Here, one define complexity clae that model ublinear pace requirement, uch a the complexity cla of problem that ue a logarithmic amount of pace [4]. Some of the earliet reult in thi etting concern the orting problem [28, 29]. Suppoe we want to ort data item whoe total ize i n bit, all of them reiding in a read-only memory. For our computation, we can ue a workpace of O(b) bit freely (both read and write operation are allowed). Then, it i known that the time-pace product mut be Ω(n 2 ) [15], and a matching upper bound for the cae b Ω(log n) O(n/ log n) wa given by Pagter and Rauhe [30] (b i the available workpace in bit). A reult along thee line i known a a time-pace trade-off [33]. The model ued in thi work wa introduced by Aano et al. [7], following imilar earlier model [18, 20]. Aano et al. provided contant workpace algorithm for many claic problem from computational geometry, uch a computing convex hull, Delaunay triangulation, Euclidean minimum panning tree, or hortet path in polygon [7]. Since then, the model ha enjoyed increaing popularity, with work on hortet path in tree [8] and time-pace trade-off for computing hortet path [5, 24], viibility region in imple polygon [11, 13], planar convex hull [12, 22], general plane-weep algorithm [23], or triangulating imple polygon [3, 5, 6]. We refer the reader to [25] for an overview of different way of modeling computation in the preence of pace contraint. 2

3 Let u pecify our model more preciely: we are given a et P of n point ite in the plane. The et P i tored in a read-only array that allow random acce. Furthermore, we may ue O() word of memory (for a parameter {1,..., n}) for reading and writing. We aume that all the data item and pointer are repreented by Θ(log n) bit. Other than thi, the model allow the uual word RAM operation. We conider the problem of computing variou Voronoi diagram for P, namely the nearet ite Voronoi diagram NVD(P ), the farthet ite Voronoi diagram FVD(P ), and the family of all higher-order Voronoi diagram up to a given order K {1,..., O( )}. For mot value of, the output cannot be tored explicitly. Thu, we require that the algorithm report the edge of the Voronoi diagram one by one in a write-only data tructure, eparately for each diagram, in increaing order of k. Once written, the output cannot be read or further modified. Note that we may report edge of each Voronoi diagram in any order, but we are not allowed to report an edge more than once. Previou Work and Our Reult. If we forego memory contraint, it i well known that both NVD(P ) and FVD(P ) can be computed in O(n log n) time uing O(n) pace [10, 14]. For computing a ingle Voronoi diagram of order k, the bet known randomized algorithm take O ( n log n + nk 2 O(log k) ) time and O(nk) pace [32], while the bet known determinitic algorithm take O(n log n + nk log k) time and O(nk) pace [19, 21]. 1 For any given K {1,..., n 1}, the family of all higher-order Voronoi diagram of order k = 1,..., K can be computed in O(nK 2 + n log n) determinitic time uing O(K 2 (n K)) pace [2, 27]. In the literature, there are very few memory-contrained algorithm that compute Voronoi diagram. Aano et al. [7] howed that NVD(P ) can be found in O(n 2 ) time uing O(1) word of workpace. Korman et al. [26] gave a time-pace trade-off for computing NVD(P ). Their algorithm i baed on random ampling and achieve an expected running time of O((n 2 /) log + n log log ) uing O() word of workpace. We provide timepace trade-off that improve and generalize the known memory-contrained algorithm for computing Voronoi diagram. We believe that our method i impler and more flexible than previou method. In Section 3, we how that the approach of Aano et al. [7] can be ued to compute FVD(P ). In Section 4, we introduce a new time-pace trade-off for computing NVD(P ) and FVD(P ). Unlike the reult of Korman et al. [26], thi new algorithm i determinitic and lightly fater. It run in O((n 2 /) log ) time uing O() word of workpace, thu aving a log factor for large value of. Finally, in Section 5, we ue the -workpace algorithm from Section 4 a a building block in a new pipelined algorithm. For any given K O( ), thi algorithm compute the family of all higher-order Voronoi diagram of order k = 1,..., K in total expected time O ( n 2 K 5 (log +K 2 O(log K) ) ) or in total determinitic time O ( n 2 K 5 (log +K log K) ), uing O() word of workpace. To compute the edge of a Voronoi diagram of order k, we ue the edge of the diagram of order k 1. However, thi need to be coordinated carefully, to prevent edge from being reported multiple time and to not exceed the pace budget. 1 Thi algorithm ue the rather involved dynamic planar convex hull tructure of Brodal and Jacob [17]. If the reader prefer a more elementary method, we can ubtitute the lightly lower, but much impler, previou reult by the ame author. The running time then become O(n log n + nk log k log log k) [16, 21]. 3

4 (a) NVD(P ) = VD 1 (P ) (b) FVD(P ) = VD n 1 (P ) (c) VD 2 (P ) Figure 1: For P, a et of planar ite (a) The nearet ite Voronoi diagram (b) The farthet ite Voronoi diagram (c) The Voronoi diagram of order 2. 2 Preliminarie and Notation Throughout the paper we denote by P = {p 1,..., p n } a et of n 3 ite in the plane. We aume general poition, meaning that no three ite of P lie on a common line and no four ite of P lie on a common circle. To fix our terminology, we recall ome claic and well-known propertie of Voronoi diagram [10, 14]. The nearet ite Voronoi diagram for P, NVD(P ), i obtained by claifying the point in the plane according to their nearet neighbor in P. For each ite p P, the open et of point in R 2 with p a their unique nearet ite in P i called the Voronoi cell of p. For any two ite p, q P, the biector B(p, q) of p and q i defined a the line containing all point in the plane that are equiditant to p and q. The Voronoi edge for p, q conit of all point in the plane with p and q a their only two nearet ite. If it exit, the Voronoi edge for p and q i a ubet of the biector B(p, q) of p and q. Our general poition aumption, and the fact that n 3, guarantee that each Voronoi edge i an open line egment or a halfline. Voronoi vertice are the point in the plane that have exactly three nearet ite in P. Again by general poition, we have that every point in R 2 i either a Voronoi vertex, or lie on a Voronoi edge or in a Voronoi cell. The Voronoi vertice and the Voronoi edge form the et of vertice and edge of a plane graph whoe face are the Voronoi cell. Thi graph i called the nearet ite Voronoi diagram for P, NVD(P ); ee Figure 1a. It ha O(n) vertice, O(n) edge, and n cell. The farthet ite Voronoi diagram for P, FVD(P ), i defined analogouly. Farthet Voronoi cell, edge, and vertice are obtained by replacing the term nearet ite by the term farthet ite in the repective definition. Again, the farthet Voronoi vertice and edge contitute the vertice and edge of a plane graph, called FVD(P ). A before, it ha O(n) vertice and O(n) edge. However, unlike in NVD(P ), in FVD(P ) it i not necearily the cae that all ite in P have a correponding cell in FVD(P ). Indeed, the ite with non-empty farthet Voronoi cell are exactly the ite on the convex hull of P, conv(p ). Furthermore, all cell in FVD(P ) are unbounded. Hence, FVD(P ), conidered a a plane graph, i a tree; ee Figure 1b. 4

5 C n 1 (p) l B(p, l) p c r B(p, r) Figure 2: An illutration of Fact 3.1 and 3.2: The ite l, p, r P are conecutive on conv(p ). The boundary C n 1 (p) contain a ubet of B(p, l) and of B(p, r). The ray from p toward c = B(p, l) B(p, r) interect C n 1 (p). Now, for k {1,..., n 1}, the Voronoi diagram of order k for P i obtained by claifying the point in the plane into cell, edge, and vertice according to the et of ite in P that achieve the k mallet ditance. We denote the Voronoi diagram of order k for P by VD k (P ); ee Figure 1c. Oberve that NVD(P ) = VD 1 (P ) and FVD(P ) = VD n 1 (P ). For each et Q P of k ite from P, we denote the Voronoi cell of order k for Q by C k (Q). It i known that VD k (P ) i a plane graph of complexity O(k(n k)) [10, 27]. For implicity, the cell of p P in NVD(P ) and FVD(P ) are denoted, repectively, by C 1 (p) and C n 1 (p). We will denote the boundary of a cell C by C. We will give more propertie of higher-order Voronoi diagram in Section 5. 3 A Contant Workpace Algorithm for FVD and NVD We are given a et P = {p 1,..., p n } of n ite in the plane tored in a read-only array to which we have random acce. Our tak i to report the edge of NVD(P ) and of FVD(P ) uing only a contant amount of additional workpace. Firt, we how how to find a ingle edge of a given cell of NVD(P ) or of FVD(P ). Then, we repeatedly ue thi procedure to find all the edge of NVD(P ) and FVD(P ). We ummarize the propertie of FVD(P ) that are relevant to our algorithm in the following two fact. More detail can be found, e.g., in the book by Aurenhammer, Klein, and Lee [10]. See Figure 2 for an illutration. Fact 3.1. Let P be a et of n point ite in the plane in general poition, and let p P. The cell C n 1 (p) i not empty if and only if p lie on the convex hull of P. In thi cae, the farthet Voronoi cell of p i unbounded. Furthermore, if r, l P are the two adjacent ite of p on conv(p ), then C n 1 (p) contain an unbounded edge for p and l and an unbounded edge for p and r. Thee edge are ubet of B(p, l) and of B(p, r), repectively. Fact 3.2. Let P be a et of n point ite in the plane in general poition. Let l, p, r P be three conecutive ite on conv(p ), and let c be the interection of B(p, l) and B(p, r). Then, the ray from p toward c interect C n 1 (p) (not necearily at c). Lemma 3.3. Let P be a et of n point ite in the plane in general poition. Suppoe that P i given in a read-only array. For any p P, in O(n) time and uing contant workpace, we can determine whether C n 1 (p) i not empty. If o, we can alo find a ray that interect C n 1 (p). 5

6 Proof. By Fact 3.1, it uffice to check whether p lie inide conv(p ). Thi can be done uing imple gift-wrapping: pick an arbitrary ite q P \ {p}. Scan through P and find the ite p cw and p ccw in P which make, repectively, the larget clockwie angle and the larget counterclockwie angle with the ray pq, uch that both angle are at mot π. Both p cw and p ccw are eaily obtained in O(n) time uing contant workpace. If the cone p cw pp ccw that contain q ha an opening angle larger than π, then p i inide conv(p ) and conequently C n 1 (p) i empty. Otherwie, p i on conv(p ), with p cw and p ccw a it two neighbor. By Fact 3.2, the ray from p through B(p, p cw ) B(p, p ccw ) interect C n 1 (p). Lemma 3.4. Let P be a planar n-point et in general poition in a read-only array. Suppoe we are given a ite p P and a ray γ that emanate from p and interect C 1 (p). Then, we can report an edge e of C 1 (p) that interect γ, in O(n) time uing O(1) word of workpace. An analogou tatement hold for FVD(P ). Proof. Among all biector B(p, p ), for p P \ {p}, we find a biector B = B(p, p ) that interect γ cloet to p. 2 We can find B by canning the ite of P and maintaining a cloet biector in each tep. The edge e i a ubet of B. To find the portion of B that form a Voronoi edge in NVD(P ), we do a econd can of P. For each p P \ {p, p }, we check where B(p, p ) interect B. Each uch interection cut a piece from B that cannot appear in NVD(P ), namely the part of B that i cloer to p than to p. After canning all the ite of P, the remaining portion of B i exactly e. Since the current piece of B in each tep i connected, we need to tore only at mot two endpoint in each tep. Overall, we can find the edge e of C 1 (p) that interect γ in O(n) time uing O(1) word of workpace. The procedure for FVD(P ) i analogou, but we take B to be the biector interecting γ farthet from p, and we cut from B the piece that are cloer to p than to any other ite. Theorem 3.5. Suppoe we are given a planar n-point et P = {p 1,..., p n } in general poition in a read-only array. We can find all the edge of NVD(P ) in O(n 2 ) time uing O(1) word of workpace. The ame hold for FVD(P ). Proof. Firt, we retate the trategy for NVD(P ) that wa propoed by Aano et al. [7], and then we how how to adapt it for FVD(P ). We go through the ite in P. In tep i, we proce p i P to detect all edge of C 1 (p i ). For thi, we need a ray γ to apply Lemma 3.4. We chooe γ a the ray from p i to an arbitrary ite of P \ {p i }. Thi enure that γ interect C 1 (p i ). Now, we ue Lemma 3.4 to find an edge e of C 1 (p i ) that interect γ. We conider the ray γ from p i through the left endpoint of e (if it exit), and we apply Lemma 3.4 to find the adjacent edge e of e in C 1 (p i ). 3 The ray γ hit both e and e, o we perform a ymbolic perturbation to γ o that 2 If γ happen to interect a vertex of C 1 (p), there are two uch biector. Otherwie, B i unique. 3 Note that the biector that define the left endpoint of e i alo the biector that i panned by e. Thu, the firt can of the input in Lemma 3.4, for finding the line panned by e, i not trictly neceary. However, ince we mut can the input anyway to determine the endpoint of e, we choe to preent the algorithm a doing two can. Thi keep the preentation more uniform, at the expene of only a contant factor in the running time. The ame comment alo applie to our later algorithm. 6

7 only e i hit. We repeat thi procedure to find further edge of C 1 (p i ), in counterclockwie direction. Thi continue until we return to e or until we find an unbounded edge of C 1 (p i ). In the latter cae, we tart again from the right endpoint of e (if it exit), and we find the remaining edge of C 1 (p i ) in clockwie direction. Since each edge of NVD(P ) i incident to two Voronoi cell, thi proce will detect each edge twice. To avoid repetition, whenever we find an edge e of C 1 (p i ) with e B(p i, p j ), we report e if and only if i < j. Since NVD(P ) ha O(n) edge, and reporting one edge take O(n) time and O(1) word of workpace, the reult follow. For FVD(P ), the procedure i almot the ame. However, when going through the ite in P, for each p i P, we firt check if C n 1 (p i ) i non-empty, uing Lemma 3.3. If o, the algorithm from the lemma alo give u a ray γ that interect C n 1 (p i ). From here, we proceed exactly a for NVD(P ) to find the remaining edge of C n 1 (p i ). 4 Obtaining a Time-Space Trade-off Now we adapt the previou algorithm to a time-pace trade-off. Suppoe we have O() word of workpace at our dipoal, for ome {1,..., n}. 4 A before, we are given a planar n-point et P = {p 1,..., p n } in general poition in a read-only array, and we would like to report all edge of NVD(P ) or FVD(P ) a quickly a poible. While the algorithm from Section 3 need two pae over the input to find a ingle edge of the Voronoi diagram, the idea now i to exploit the additional workpace in order to find edge of the Voronoi diagram in parallel uing two pae. For thi, we firt how how to find imultaneouly a ingle edge for different cell of NVD(P ) or of FVD(P ). Lemma 4.1. Suppoe we are given a et V = {v 1,..., v } of ite in P, and for each i = 1,...,, a ray γ i emanating from v i uch that γ i interect the boundary of C 1 (v i ). Then, we can report for each i = 1,...,, an edge e i of C 1 (v i ) that interect γ i, in O(n log ) total time uing O() word of workpace. An analogou tatement hold for FVD(P ). Proof. The algorithm ha two phae. In the firt phae, for i = 1,...,, we find the biector B i that contain e i, and in the econd phae, for i = 1,...,, we find e i, i.e., the portion of B i that i in NVD(P ). The firt phae proceed a follow: we group P into batche Q 1, Q 2,..., Q n/ of conecutive ite (according to the order in the input array). Firt, we compute NVD(V Q 1 ). Since V Q 1 2, thi take O( log ) time uing O() word of workpace. Now, for i = 1,...,, we find the edge e i of NVD(V Q 1) that interect γ i cloet to v i, and we tore the biector B i that contain e i. Thi can be done in total time O( V Q 1 ), ince each ray originate in a unique Voronoi cell and ince we can imply travere the whole diagram NVD(V Q 1 ) to find the interection point. Then, for j = 2,..., n/, we again compute NVD(V Q j ). For i = 1,...,, we find the edge in NVD(V Q j ) that interect 4 The aumption that we have O() word intead of exactly word of workpace i motly for the ake of a imple preentation. Thu, when decribing our algorithm, we can ignore contant factor in the pace uage. The precie contant i a function that only depend on the implementation of the algorithm. 7

8 γ i cloet to v i, in total time O( V Q j ). We update B i to the biector that contain thi edge if and only if it interection with γ i i cloer to v i than for the current B i. We claim that after all batche Q 1,..., Q n/ have been canned, B i i the deired biector B i. To ee thi, let Bi = B(v i, p), for a ite p P \ {v i }. Then, for the batch Q j with p Q j, the Voronoi diagram NVD(V Q j ) contain an edge on Bi. Furthermore, by definition, no other biector interect γ i cloer to v i than Bi. In the econd phae, we again group P into batche Q 1,..., Q n/ of ize. We again compute NVD(V Q 1 ). For i = 1,...,, we find the portion of Bi inide the cell of v i in NVD(V Q 1 ), and we tore it in e i. Then, for j = 2,..., n/, we compute NVD(V Q j ), and for i = 1,...,, we update the endpoint of e i to the interection of the current e i and the cell of v i in NVD(V Q j ). After proceing Q j, there i no ite in V jm=1 Q m that i cloer to e i than v i. Thu, at the end of the econd phae, e i i the edge of C 1 (v i ) that interect γ i. Due to the propertie of the Voronoi diagram, throughout the algorithm, e i i a connected ubet of Bi (i.e., a ray or a line egment), and it can be decribed with O(1) word of workpace. In total, we contruct O(n/) Voronoi diagram, each with at mot 2 ite. Since we have O() word of workpace available, it take O( log ) time to compute a ingle Voronoi diagram. Thu, the total running time i O(n log ). At each point in time, we have O() ite in workpace and a contant amount of information for each ite, including the Voronoi diagram of thee ite, o the pace bound i not exceeded. The proof for FVD(P ) i analogou. Now we decribe our time-pace trade-off algorithm. At each point in time, we have a et V of ite in workpace. We ue Lemma 4.1 to produce a new edge for each ite in V. Once all edge for a ite v V have been found, we dicard v from V and replace it with a new ite from P (we ay that v ha been proceed completely). We top thi proce a oon a all but fewer than ite have been proceed completely. At thi point, we do not ue Lemma 4.1 any longer. Thi i becaue Lemma 4.1 need two pae of the input to find a ingle new edge for each ite in V. Thu, if there i a cell with many edge, too many pae will be neceary. To avoid thi, we will need a different method for finding the edge of the remaining cell, ee below. We call thee remaining cell big, and the other cell mall. By definition, all mall cell have O(n/) edge, but big cell may have a lot more edge (even though thi doe not have to be the cae). In order to avoid doubly reporting edge, our algorithm i plit into three phae. In the firt phae, we proce the whole input to identify the big cell (no edge i reported in thi phae). The econd phae can the input again and report all edge incident to at leat one mall cell. The third phae report edge incident to two big cell. Firt phae. The aim of thi phae i to find the big cell. We decribe how we ue Lemma 4.1 in more detail. We can all ite with non-empty Voronoi cell. For NVD(P ), ince all ite have a non-empty cell, we can can them equentially. The tarting ray i contructed in the ame way a in Theorem 3.5. For FVD(P ), by Fact 3.2, we need to find the ite on the convex hull of P. For thi, we ue the algorithm of Darwih and Elmary [22] 8

9 Figure 3: The tate of the algorithm at the end of iteration 9 of applying Lemma 4.1, for a et P of 35 ite and workpace of ize O() = O( log n ). The black egment are the edge of NVD(P ) that have already been found. The gray and the red ite repreent, repectively, the ite which have been fully proceed and thoe which are currently in the workpace. that report the ite on the convex hull of P in clockwie order in O( n2 log n + n log ) time uing O() word of workpace. We run the Darwih-Elmary algorithm until ite on the convex hull have been identified. Then, we upend the convex hull computation and proce thoe ite. Whenever more ite are needed, we imply reume the convex hull algorithm. Since the convex hull i reported in clockwie order, we know the two neighbor for each ite on the convex hull and we can find a tarting ray uing Fact 3.2 At each point in time, our Voronoi algorithm ha ite from P with non-empty cell in memory. We apply Lemma 4.1 to compute one edge on the cell of each uch ite. After that, we iteratively update the ray of all ite in memory to find the next edge of each cell, a in Theorem 3.5. Whenever all edge of a cell have been found, we remove the correponding ite from memory, and we replace it with the next relevant ite; ee Figure 3. Since (1) the Voronoi diagram of P ha O(n) edge, (2) in each iteration we produce edge, and (3) each edge i produced at mot twice, it follow that after O(n/) iteration, fewer than ite remain in memory. All other ite of P mut have been proceed. Thu, after the firt phae, we have identified all big cell (thoe that have not been proceed fully). Since there are at mot of them, we can tore the correponding ite explicitly in a table B. We ort thoe ite according to their indice, o that memberhip in B can be teted in O(log ) time. Second phae. The econd phae i very imilar to the firt one. 5 Pick ite to proce; repeatedly ue Lemma 4.1 to find edge for each ite; once all edge of a ite v have been found, replace v with the next ite; continue until only big cell remain. The main difference now i we report ome Voronoi edge (making ure that every edge i reported exactly once). More preciely, uppoe that we dicover a Voronoi edge e while canning the cell C i of a 5 Indeed, thee two phae could be merged into one. However, a we will ee below, it i not traightforward to do o for higher-order Voronoi diagram. Thu, for conitency, we plit the two phae even for k = 1 and k = n 1. 9

10 ite v i, and that e i alo incident to the cell C j of the ite v j. Then, we report e only if one of the following condition hold: (i) both C i and C j are mall and i < j; or (ii) C i i mall and C j i big. Third phae. The purpoe of the third phae i to report every Voronoi edge that i incident to two big cell. For thi, we compute the Voronoi diagram of the ite of big cell, in O( log ) time. Let E B denote the et of it edge. The edge of E B that are alo preent in the Voronoi diagram of P need to be reported (the edge may need to be truncated). In order to determine which edge of E B remain in the diagram, we proceed imilarly a in the econd can of Lemma 4.1: in each tep, we compute the Voronoi diagram V of B and a batch of ite from P. For each edge e of E B, we check whether e i cut off in V. If o, we update the endpoint of e to the interection of e and the cell for one of the ite defining e. After all edge have been checked, we continue with the next batch of ite from P. After proceing all the ite of P, the remaining O() edge in E B that have not become empty contitute all the edge of the Voronoi diagram of P that are incident to two big cell. In contrat to Lemma 4.1, we report O() edge that are not necearily incident to different cell. Theorem 4.2. Let P = {p 1,..., p n } be a planar n-point et in general poition tored in a read-only array. Let be a parameter in {1,..., n}. We can report all edge of NVD(P ) in O((n 2 /) log ) time uing O() word of workpace. An analogou reult hold for FVD(P ). Proof. Lemma 4.1 guarantee that the edge reported in the econd phae are part of NVD(P ). Alo, condition (i) and (ii) enure that no edge i reported twice. Clearly, if an edge e NVD(P ) i incident to two big cell, the ame edge (poibly a uperet) mut be preent in NVD(B). For the revere incluion, firt note that ince B P, an edge incident to two big cell that i not preent in NVD(B) cannot be preent in NVD(P ). Furthermore, for each edge e of NVD(B), we conider all ite of P and we remove only the portion of e that cannot be preent in NVD(P ). Finally, we need to analyze the running time. The mot expenive part of the algorithm lie in the O(n/) invocation of Lemma 4.1 during the firt and the econd phae. Other than that, creating the table B need O( log ) time, and we perform O(n) lookup in B, two for each edge of NVD(P ). Each lookup need O(log ) time, o O(n log ) time in total. The third phae doe a ingle can over the input, and it compute a Voronoi diagram for each batch of ite, which totally take O(n log ) time. Thu, the running time of the algorithm i O((n 2 /) log ). At each point during the algorithm, we tore only ite that are currently being proceed (along with a contant amount of information attached to each uch ite), the table B of at mot ite, the batch of ite being proceed (and the aociated Voronoi diagram). All of thi can be tored uing O() word of workpace, a claimed. For FVD(P ), the approach i analogou. The only difference i that now we mut alo find the convex hull of P. With the algorithm of Darwih and Elmary [22], thi take 10

11 p 1 D vn D vo p 2 p 3 v o v n p 6 p 5 p 4 p 1 p 2 C 2,3,6 e 2 p 3 v o p 4 p 5 p 6 v n e 1 C 4,5,6 (a) (b) Figure 4: The diagram VD k (P ) for k = 3 and P = {p 1,..., p 6 }. (a) The interior of the dik D vn with center v n contain k 1 ite {p 5, p 6 }, o the k-vertex v n i new. The interior of the dik D vo with center v o contain k 2 ite {p 3 }, o the k-vertex v o i old. (b) The k-cell C 4,5,6 i the cell of {p 4, p 5, p 6 }. The k-edge e 1 i repreented by the et {p 5, p 6 } containing the k 1 ite cloet to e 1, the two ite p 3 and p 4 that are equiditant to e 1, and the ite p 2 that define the k-vertex v n. Since v n i a new k-vertex, the ite p 2 i not among the k 1 cloet ite to e 1. The k-edge e 2 of the k-cell C 2,3,6 for {p 2, p 3, p 6 } i repreented by the et {p 2, p 3 } of k 1 ite cloet to e 2, the two ite p 5 and p 6 that are equiditant to e 2, and the ite p 2 that define the k-vertex v o. Since v o i an old k-vertex, the ite p 2 i among the k 1 cloet ite to e 2. O((n 2 /) log ) time for O() word of workpace, o the aymptotic running time doe not increae. 5 Higher-Order Voronoi Diagram We now conider computing higher-order Voronoi diagram [27]. More preciely, we are given an integer K O( ), and we would like to report the family of all higher-order Voronoi diagram of order k = 1,..., K, where we have O() word of workpace at our dipoal, for ome {1,..., n}. For thi, we generalize our approach from the previou ection, and we combine it with a recurive procedure: for k = 1,..., K 1, we compute the edge of VD k+1 (P ) by uing previouly computed edge of VD k (P ). To make efficient ue of the available memory, we perform the computation of the diagram VD 1 (P ), VD 2 (P ),..., VD K (P ) in a pipelined fahion, o that in each tage, the neceary edge of the previou Voronoi diagram are at our dipoal and the total memory uage remain O(). We begin with ome more background on higher-order Voronoi diagram. Let x R 2 be a point in the plane. The ditance order for x i the equence of ite in P ordered according to their ditance from x, from cloet to farthet. By our general poition aumption, there are at mot three ite in P with the ame ditance to x. We call a cell C of VD k (P ) a k-cell, and we repreent it a the et of k ite that are cloet to all point in C. Similarly, we call a vertex v of VD k (P ) a k-vertex. It i known that there exit a dik D v with center 11

12 p 2 p 3 p 2 p 3 p 1 p 1 C 2,3,5 p 5 p 6 p 4 e C 5,6 C 4,5 (a) p 4 p 5 p 6 (b) Figure 5: The diagram VD k (P ) (black) and VD k+1 (P ) (gray), for k = 2 and P = {p 1,..., p 6 }. (a) The k-cell C 4,5 = C k ({p 4, p 5 }) and C 5,6 = C k ({p 5, p 6 }) hare the k- edge e. The et Q = {p 4, p 5 } {p 5, p 6 } = {p 4, p 5, p 6 } give a non-empty (k + 1)-cell (hown hahed) which contain e. (b) The (k + 1)-cell C 2,3,5 = C k+1 ({p 2, p 3, p 5 }) i hown in gray. Inide C 2,3,5, the edge of VD k (P ) are identical to the edge of FVD({p 2, p 3, p 5 }). Thee edge meet the boundary of C 2,3,5 only in the vertice of C 2,3,5. v uch that D v P = 3 and D v P {k 2, k 1}, where D v i the boundary and D v i the interior of D v. We call v an old vertex if D v P = k 2, and a new vertex if D v P = k 1; ee Figure 4a. We repreent v by the et D v P, marking the ite on D v. Finally, the edge of VD k (P ) are called k-edge. We repreent them in a omewhat unuual manner: each edge of VD k (P ) i plit into two directed half-edge, uch that the half-edge are oriented in oppoing direction and uch that each half-edge i aociated with the k-cell to it left. A half-edge e i repreented by k + 3 ite of P : the k 1 ite cloet to e, the two ite that come next in the ditance order for the point on e and are equiditant to e, and one more ite for each endpoint of e, to define the correponding k-vertice. For each endpoint v of e, there are two cae: if v i an old vertex, the third ite defining v i among the k 1 ite cloet to e, and if v i a new vertex, the third ite i not among thoe k 1 ite; ee Figure 4b. The order of the endpoint encode the direction of the half-edge. The half-edge i directed from the tail vertex to the head vertex. We will need everal well-known propertie of higher-order Voronoi diagram [27]: (I) let Q 1, Q 2 P be two k-ubet uch that the k-cell C k (Q 1 ) and C k (Q 2 ) are nonempty and adjacent (i.e., hare a k-edge e). Then, the et Q = Q 1 Q 2 ha ize k + 1, and C k+1 (Q) i a non-empty (k + 1)-cell; ee Figure 5a. (II) Let Q P be a (k + 1)-ubet with C k+1 (Q) non-empty. Then, the part of VD k (P ) retricted to C k+1 (Q) i identical to (i.e., ha the ame vertice and edge a) the part of FVD(Q) retricted to C k+1 (Q). Furthermore, the edge of FVD(Q) in C k+1 (Q) do not interect the boundary, but their endpoint either lie in the interior of C k+1 (Q) or coincide with vertice of C k+1 (Q). Hence, for every (k + 1)-cell C, the number of k-edge in C lie between 1 and O(k + 1), and thee edge form a tree; ee Figure 5b. (III) If v i an old k-vertex, then it i alo a new (k 1)-vertex, and if v i a new k-vertex, then it i alo an old (k + 1)-vertex. In particular, every vertex appear in exactly two Voronoi diagram of conecutive order; ee Figure 6. Note that all 1-vertice are new, and all (n 1)-vertice are old. 12

13 p 2 p 3 p 2 p 3 p 1 p 1 p 4 p 5 p 6 p 4 p 5 p 6 (a) (b) Figure 6: The diagram VD k (P ) (black) for k = 2 and P = {p 1,..., p 6 }. (a) The diagram VD k 1 (P ) i hown in gray. The empty vertice of VD k (P ) are old k-vertice, and they alo appear in VD k 1 (P ) a new (k 1)-vertice. (b) The diagram VD k+1 (P ) i hown in gray. The empty vertice of VD k (P ) are new k-vertice, and they alo appear in VD k+1 (P ) a old (k + 1)-vertice. Every vertex of VD k (P ) appear in exactly one of VD k 1 (P ) or VD k+1 (P ). Next, we decribe a procedure to generate all (directed) (k + 1)-half-edge, auming that we have all (directed) k-half-edge at hand. Later, we will combine thee procedure, for k = 1,..., K, in a pace-efficient manner. Our high-level idea i a follow: let e be a k-half-edge. By property (II), the k-half-edge e lie inide a (k + 1)-cell C. We will ee that we can ue e a a tarting ray to report all half-edge incident to C, imilar to Lemma 4.1. However, if we repeat thi procedure for every k-half-edge, we may report a (k + 1)-half-edge Ω(k) time. Thi will lead to problem when we combine the procedure for computing the Voronoi diagram of different order. To avoid thi, we do the following: we call a k-half-edge relevant if it head vertex lie on the boundary of the (k + 1)-cell C that contain it. For each (k + 1)-cell C, we partition the boundary of C into interval of (k + 1)-half-edge between two conecutive head vertice of relevant k-half-edge that lie inide C. We aign each uch interval to the relevant k-half-edge of it clockwie endpoint; ee Figure 7a and 7b. Now, our algorithm goe through all k-half-edge. If the current k-half-edge e i not relevant, the algorithm doe nothing. Otherwie, it report the (k + 1)-half-edge of the interval aigned to e. Thi enure that every half-edge i reported exactly once. A in the previou ection, we ditinguih between big and mall cell in VD k+1 (P ), let we pend too much time on cell with many incident edge. A more detailed decription follow below. The following lemma decribe an algorithm that take different k-half-edge. For each uch k-half-edge e, the algorithm either determine that e i not relevant or find the firt edge of the interval of (k + 1)-half-edge aigned to e. Lemma 5.1. Suppoe we are given different k-half-edge e k 1,..., ek repreented by the ubet E 1,..., E of P. There i an algorithm that, for i = 1,...,, either determine that e k i i not relevant, or find e k+1 i, the firt (k + 1)-edge of the interval aigned to e k i. The algorithm take total expected time O ( n log + nk 2 O(log k) ) or total determinitic time O(n log + nk log k) and ue O(k 2 ) word of workpace. 13

14 e 2 e 3 p 1 p 2 p 3 f 2 θ e 2 p 4 p 5 e 1 p 6 p7 C e 4 e 5 (a) (b) (c) Figure 7: (a) The diagram VD k (P ) (gray) for k = 3 and P = {p 1,..., p 7 }. The k-half-edge e 1 lie in the (k + 1)-cell C = C k+1 ({p 2, p 3, p 5, p 6 }). The head vertex of e 1 i not on C, thu e 1 i not a relevant k-half-edge. The oppoite direction of e 1 i alo not relevant. (b) The k-half-edge e 2, e 3, e 4, e 5 are relevant, ince their head vertice lie on C. The interval of (k + 1)-half-edge on C aigned to each of thee k-half-edge i hown. In thi example, the oppoite direction of none of e 2, e 3, e 4, e 5 i relevant. (c) The (k + 1)-half-edge f 2 i incident to the head vertex of e 2 and lie to the left of the directed line panned by e 2. Among all uch edge, f 2 make the mallet angle θ with e 2. Proof. Our algorithm proceed analogouly to Lemma 4.1. Firt, we inpect all k-half-edge e k i. If the head vertex v of ek i i an old k-vertex, then v i not a vertex of VD k+1 (P ), and it lie in the interior of a (k + 1)-cell, o e k i i not relevant. Otherwie, v i a new k-vertex and an old (k + 1)-vertex, o it appear on the boundary of a (k + 1)-cell. In thi cae, we need to determine the firt (k + 1)-half-edge for the interval aigned to e k i. Let I be the et of all indice i uch that e k i i relevant. To determine the firt half-edge of each interval, we proce the ite in P in batche of ize k. In each iteration, we pick a new batch Q of k ite. Then, we contruct VD k+1( i I E i Q ) in O ( k log(k) + k 2 2 O(log k) ) expected time or in O(k log(k) + k 2 log k) determinitic time (note that i I E i Q contain O(k) ite, o the diagram VD k+1( i I E i Q ) ha complexity O(k 2 )) [19, 21]. By contruction, the head vertex of each e k i with i I belong to the reulting diagram, and we can find each head vertex in O(log(k 2 )) = O(log(k)) time by uing a point location tructure [14]. Thu, we iterate over all batche, and for each e k k+1 i, we determine the edge fi that appear in one of the reulting diagram uch that (i) fi k+1 i incident to the head vertex of e k k+1 i ; (ii) fi i to the left of the directed line panned by e k k+1 i ; and (iii) among all uch edge, fi make the mallet angle with e k k+1 i ; ee Figure 7c. We need O(n/k) iteration to find fi. Now, for each i I, the deired (k + 1)-half-edge e k+1 i i a ubet of fi k+1. Thi i becaue, by property (I) there i one ite which i different in the econd cell incident to e k+1 i, and thi ite exit in one of the batche. Thu, to find the other endpoint of e k+1 i, a in Lemma 4.1, we perform a econd can over P in batche of k ite. A before, for each batch Q, we contruct VD k+1( i I E i Q ) and we check, for each i I, where fi k+1 i cut-off in the new diagram. After canning all the ite of P, we have the deired endpoint of e k+1 i. Thi i becaue the endpoint of e k+1 i i defined by one more ite of P, and thi ite exit in one 14

15 of the batche. We orient e k+1 i uch that the cell containing e k i lie to the left of it. It follow that we can proce edge of VD k (P ) in O(n/k) iteration, each of which take O ( k log(k) + k 2 2 O(log k) ) expected time or O(k log(k) + k 2 log k) determinitic time. Thu, we get O ( n log + nk 2 O(log k) ) total expected time or O(n log + nk log k) total determinitic time, uing a workpace with O(k 2 ) word (for toring the intermediate Voronoi diagram). Note that the term n log(k) i ubtituted by n log(), ince n log(k) = n log + n log k, and ince n log k i dominated by nk in the total running time. The algorithm from Lemma 5.1 i actually more general. If, intead of a k-halfedge e k i that lie inide a (k + 1)-cell C, we have a (k + 1)-half-edge e k+1 i that lie on the boundary of C, the ame method of proceing P in batche of ize k allow u to find the next (k + 1)-half-edge incident to C in counterclockwie order from e k+1 i. Thee two kind of edge can be handled imultaneouly. Corollary 5.2. Let e i denote either a k-half-edge or a (k + 1)-half-edge. Suppoe we are given uch half-edge e 1,..., e. Then, we can find in total expected time O ( n log + nk 2 O(log k) ) or in total determinitic time O(n log + nk log k) and uing O(k 2 ) word of workpace a equence f 1,..., f of (k + 1)-half-edge uch that, for i = 1,...,, we have (I) if e i i a relevant k-half-edge, then f i i the firt (k + 1)-half-edge of the interval for e i ; (II) if e i i a k-half-edge that i not relevant, then f i i null; (III) if e i i a (k + 1)-half-edge, then f i i the counterclockwie ucceor of e i. Lemma 5.3. Uing two can over all k-half-edge, we can report all (k + 1)-half-edge in batche of ize at mot uch that each (k +1)-half-edge i reported exactly once. Thi take O ( n 2 k (log + k 2O(log k) ) ) expected time or O ( n 2 k (log + k log k)) determinitic time uing O(k 2 ) word of workpace. Proof. The algorithm conit of three phae analogou of the one introduced in Section 4: in the firt phae, we aim at finding the big cell. Let e i denote either a k-half-edge or a (k + 1)-half-edge. To find the big cell we keep uch half-edge e 1,..., e in memory. At the beginning of thi phae, e 1,..., e are all k-half-edge. In each iteration, we apply Corollary 5.2 to thee half-edge, to obtain new (k + 1)-half-edge f 1,..., f. Now, for each i = 1,...,, three cae can apply: (i) f i i null, i.e., e i wa not relevant. In the next iteration, we replace e i with a freh k-half-edge; (ii)/(iii) f i i not null. Now we need to determine whether f i i the lat (k + 1)-half-edge of it interval. For thi, we check whether the head vertex of f i i an old (k + 1)-vertex. (ii) If f i i not the lat (k + 1)-half-edge of it interval, i.e., if it head vertex i a new (k + 1)-vertex, we et e i to f i for the next iteration; otherwie, (iii) we et e i to a freh k-half-edge. We repeat thi procedure until there are no freh k-half-edge left. The remaining (k + 1)-half-edge in the working memory are incident to the big (k + 1)-cell. For each uch cell, we tore the center of gravity of it defining ite in an array B k+1, orted according to lexicographic order. We emphaize that in the firt phae, we do not report any (k + 1)-half-edge. 15

16 In the econd phae, we repeat the ame procedure a in the firt phae, but now that we know the big (k + 1)-cell, we can report edge. In order to avoid repetition, we only report (i) every (k + 1)-half-edge incident to a mall (k + 1)-cell; and (ii) the oppoite direction of every (k + 1)-half-edge e incident to a mall (k + 1)-cell, o that the (k + 1)-cell on the right of e i a big (k + 1)-cell. We ue B k+1 to identify the big cell, by locating the center of gravity of the defining ite of a cell in B k+1 with a binary earch, ee below for detail. In the third phae, we report every (k+1)-half-edge e that i incident to a big (k+1)- cell, while the (k + 1)-cell on the right of e i alo a big (k + 1)-cell. Let {B k+1 } denote the ite that define the big (k +1)-cell. We contruct VD k+1 ({B k+1 }) in the working memory. Then, we go through the ite in P in batche of ize k, adding the ite of each batch to VD k+1 ({B k+1 }). While doing thi, a in the algorithm for Lemma 4.2, we keep track of how the edge of VD k+1 ({B k+1 }) are cut by the correponding cell in the new diagram. In the end, we report all (k + 1)-edge of VD k+1 ({B k+1 }) that are not empty. By report, we mean report two (k + 1)-half-edge in oppoing direction. A we explained in the algorithm for Lemma 4.2, thee (k + 1)-half-edge cover all the (k + 1)-half-edge incident to a big (k + 1)-cell, while their right cell i alo a big (k + 1)-cell. Regarding the running time, the firt and the econd phae conit of O(nk/) application of Corollary 5.2 which take O ( n 2 k (log + k 2O(log k) ) ) total expected time or O ( n 2 k (log + k log k)) total determinitic time. Creating the array B k+1 to repreent the big cell take O(k+ log ) tep: we compute the center of gravity of the defining ite for each big (k + 1)-cell in O(k) tep. Then we ort thee center point in lexicographcic order in O( log ) tep. A query in B k+1 take O(k +log ) time: given a query (k +1)-cell C, we compute the center of gravity for it defining ite in O(k) time. Then we ue binary-earch in B k+1 to find a big (k + 1)-cell with the ame center of gravity. Aurenhammer [9] howed that thee center are pairwie ditinct, o that a (k + 1)-cell can be uniquely identified by the center of gravity of it defining ite. 6 The algorithm perform at mot two querie in B k+1 per (k+1)-half-edge, for a total of O(nk) edge. Thu, the total time for the querie i O(nk 2 +nk log ). In the third phae, contructing a (k + 1)-order Voronoi diagram of O(k) ite take O(k log + k 2 2 O(log k) ) expected time or O(k log + k 2 log k) determinitic time. We repeat it O(n/k) time, which take O(n log + nk 2 O(log k) ) expected time or O(n log + nk log k) determinitic time in total. Overall, the running time of the algorithm implifie to O ( n 2 k (log + k 2O(log k) ) ) expected time or O ( n 2 k (log +k log k)) determinitic time. The algorithm ue a workpace of O(k 2 ) word, for running Corollary 5.2, for toring big (k + 1)-cell and for contructing Voronoi diagram with O(k) ite. 6 To be precie, Aurenhammer [9, Theorem 1] howed the following: take the tandard lifting of P onto the unit paraboloid and compute the center of gravity for each ubet of k +1 lifted point. Call the reulting point et R. Then, the vertical projection of the lower convex hull of R i dual to VD k+1 (P ). In particular, the vertice of the projection are the center of gravity of the defining ite for the cell of VD k+1 (P ). Therefore, they mut be pairwie ditinct: otherwie, they could not all appear on the lower convex hull. 16

17 P P 1 P k P k+1 P K Voro 1 I II, III O 1 Voro k I II, III O k Voro k + 1 I II, III Voro K I II, III O K B 1 B k B k+1 B K C Figure 8: For k = 1,..., K, Voro k i the proceor for computing the k -half-edge. The roman numeral I, II and III refer to the firt, econd, and third phae of Voro k. The memory cell P k, O k and B k indicate the private workpace for Voro k, the output buffer for k -edge, and the array for big k -cell. The common memory of all the proceor i called C. The figure how the algorithm in tage k. The direction of the arrow indicate reading from or writing to memory cell. The gray boxe and arrow how the inactive part in tage k. In tage k, the algorithm read data from B 1,..., B k and write into B k+1. In thi tage, all the k-half-edge are reported and the big (k + 1)-cell are identified. Now, in order to find the k-half-edge for all k = 1,..., K, we proceed a follow: For a parameter (that we will define later), we compute different 1-edge (we report every 1-edge a two 1-half-edge in oppoing direction). Then, we apply Lemma 5.3 (with parameter ) in a pipelined fahion to obtain the k-half-edge for k = 2,..., K. In each iteration, the algorithm from Lemma 5.3 conume at mot different k-half-edge from the previou order and produce at mot 2 new (k + 1)-half-edge to be ued at the next order. Thi mean that if we have between and 3 new k-half-edge available in a buffer, then we can ue them one by one whenever the algorithm for computing (k + 1)-half-edge in Lemma 5.3 require uch a new k-half-edge. Whenever the ize of a buffer fall below, we run the algorithm for the previou order until the buffer ize i again between and 3. Applying thi idea for all the order k = 1,..., K 1, we need to tore K 1 buffer, each containing up to 3 half-edge for the correponding diagram. Since a k-half-edge i repreented by O(k) ite from P, the buffer for k-edge require O( k) word of workpace. We call thi the output buffer and denote it by O k. Furthermore, for each k, we need to tore O( ) half-edge that reflect the current tate of the correponding algorithm. Thi require O( k) word of workpace. Thi i called the private workpace and i denoted by P k. Finally, for the algorithm that i currently active, we need O( k 2 ) word of workpace to compute the Voronoi diagram of order k for the next batch of O( k) ite from P (ee Lemma 5.3). Since thi workpace i ued by all the algorithm, it i called the common workpace and denoted by C, ee below. Theorem 5.4. Let P = {p 1,..., p n } be a planar n-point et in general poition, given in a read-only array. Let be a parameter in {1,..., n} and K O( ). We can report all the edge of VD 1 (P ),..., VD K (P ) in O ( n 2 K 5 (log + K 2 O(log K) ) ) expected time or in O ( n 2 K 5 (log + K log K) ) determinitic time, uing a workpace of ize O(). 17

xy-monotone path existence queries in a rectilinear environment

xy-monotone path existence queries in a rectilinear environment CCCG 2012, Charlottetown, P.E.I., Augut 8 10, 2012 xy-monotone path exitence querie in a rectilinear environment Gregory Bint Anil Mahehwari Michiel Smid Abtract Given a planar environment coniting of

More information

Delaunay Triangulation: Incremental Construction

Delaunay Triangulation: Incremental Construction Chapter 6 Delaunay Triangulation: Incremental Contruction In the lat lecture, we have learned about the Lawon ip algorithm that compute a Delaunay triangulation of a given n-point et P R 2 with O(n 2 )

More information

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart.

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart. Univerität Augburg à ÊÇÅÍÆ ËÀǼ Approximating Optimal Viual Senor Placement E. Hörter, R. Lienhart Report 2006-01 Januar 2006 Intitut für Informatik D-86135 Augburg Copyright c E. Hörter, R. Lienhart Intitut

More information

A note on degenerate and spectrally degenerate graphs

A note on degenerate and spectrally degenerate graphs A note on degenerate and pectrally degenerate graph Noga Alon Abtract A graph G i called pectrally d-degenerate if the larget eigenvalue of each ubgraph of it with maximum degree D i at mot dd. We prove

More information

Minimum congestion spanning trees in bipartite and random graphs

Minimum congestion spanning trees in bipartite and random graphs Minimum congetion panning tree in bipartite and random graph M.I. Otrovkii Department of Mathematic and Computer Science St. John Univerity 8000 Utopia Parkway Queen, NY 11439, USA e-mail: otrovm@tjohn.edu

More information

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu CERIAS Tech Report 2003-15 EFFICIENT PARALLEL ALGORITHMS FOR PLANAR t-graphs by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daecu Center for Education and Reearch in Information Aurance and Security,

More information

Lecture 14: Minimum Spanning Tree I

Lecture 14: Minimum Spanning Tree I COMPSCI 0: Deign and Analyi of Algorithm October 4, 07 Lecture 4: Minimum Spanning Tree I Lecturer: Rong Ge Scribe: Fred Zhang Overview Thi lecture we finih our dicuion of the hortet path problem and introduce

More information

Shortest Paths with Single-Point Visibility Constraint

Shortest Paths with Single-Point Visibility Constraint Shortet Path with Single-Point Viibility Contraint Ramtin Khoravi Mohammad Ghodi Department of Computer Engineering Sharif Univerity of Technology Abtract Thi paper tudie the problem of finding a hortet

More information

Routing Definition 4.1

Routing Definition 4.1 4 Routing So far, we have only looked at network without dealing with the iue of how to end information in them from one node to another The problem of ending information in a network i known a routing

More information

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X Lecture 37: Global Optimization [Adapted from note by R. Bodik and G. Necula] Topic Global optimization refer to program optimization that encompa multiple baic block in a function. (I have ued the term

More information

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract Mot Graph are Edge-Cordial Karen L. Collin Dept. of Mathematic Weleyan Univerity Middletown, CT 6457 and Mark Hovey Dept. of Mathematic MIT Cambridge, MA 239 Abtract We extend the definition of edge-cordial

More information

Touring a Sequence of Polygons

Touring a Sequence of Polygons Touring a Sequence of Polygon Mohe Dror (1) Alon Efrat (1) Anna Lubiw (2) Joe Mitchell (3) (1) Univerity of Arizona (2) Univerity of Waterloo (3) Stony Brook Univerity Problem: Given a equence of k polygon

More information

else end while End References

else end while End References 621-630. [RM89] [SK76] Roenfeld, A. and Melter, R. A., Digital geometry, The Mathematical Intelligencer, vol. 11, No. 3, 1989, pp. 69-72. Sklanky, J. and Kibler, D. F., A theory of nonuniformly digitized

More information

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc MAT 155: Decribing, Exploring, and Comparing Data Page 1 of 8 001-oteCh-3.doc ote for Chapter Summarizing and Graphing Data Chapter 3 Decribing, Exploring, and Comparing Data Frequency Ditribution, Graphic

More information

On successive packing approach to multidimensional (M-D) interleaving

On successive packing approach to multidimensional (M-D) interleaving On ucceive packing approach to multidimenional (M-D) interleaving Xi Min Zhang Yun Q. hi ankar Bau Abtract We propoe an interleaving cheme for multidimenional (M-D) interleaving. To achieved by uing a

More information

Shortest Path Routing in Arbitrary Networks

Shortest Path Routing in Arbitrary Networks Journal of Algorithm, Vol 31(1), 1999 Shortet Path Routing in Arbitrary Network Friedhelm Meyer auf der Heide and Berthold Vöcking Department of Mathematic and Computer Science and Heinz Nixdorf Intitute,

More information

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS A SIMPLE IMPERATIVE LANGUAGE Eventually we will preent the emantic of a full-blown language, with declaration, type and looping. However, there are many complication, o we will build up lowly. Our firt

More information

Touring a Sequence of Polygons

Touring a Sequence of Polygons Touring a Sequence of Polygon Mohe Dror (1) Alon Efrat (1) Anna Lubiw (2) Joe Mitchell (3) (1) Univerity of Arizona (2) Univerity of Waterloo (3) Stony Brook Univerity Problem: Given a equence of k polygon

More information

1 The secretary problem

1 The secretary problem Thi i new material: if you ee error, pleae email jtyu at tanford dot edu 1 The ecretary problem We will tart by analyzing the expected runtime of an algorithm, a you will be expected to do on your homework.

More information

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz Operational emantic Page Operational emantic Cla note for a lecture given by Mooly agiv Tel Aviv Univerity 4/5/7 By Roy Ganor and Uri Juhaz Reference emantic with Application, H. Nielon and F. Nielon,

More information

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks Maneuverable Relay to Improve Energy Efficiency in Senor Network Stephan Eidenbenz, Luka Kroc, Jame P. Smith CCS-5, MS M997; Lo Alamo National Laboratory; Lo Alamo, NM 87545. Email: {eidenben, kroc, jpmith}@lanl.gov

More information

3D SMAP Algorithm. April 11, 2012

3D SMAP Algorithm. April 11, 2012 3D SMAP Algorithm April 11, 2012 Baed on the original SMAP paper [1]. Thi report extend the tructure of MSRF into 3D. The prior ditribution i modified to atify the MRF property. In addition, an iterative

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each type of circuit will be implemented in two

More information

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization Lecture Outline Global flow analyi Global Optimization Global contant propagation Livene analyi Adapted from Lecture by Prof. Alex Aiken and George Necula (UCB) CS781(Praad) L27OP 1 CS781(Praad) L27OP

More information

Hassan Ghaziri AUB, OSB Beirut, Lebanon Key words Competitive self-organizing maps, Meta-heuristics, Vehicle routing problem,

Hassan Ghaziri AUB, OSB Beirut, Lebanon Key words Competitive self-organizing maps, Meta-heuristics, Vehicle routing problem, COMPETITIVE PROBABIISTIC SEF-ORGANIZING MAPS FOR ROUTING PROBEMS Haan Ghaziri AUB, OSB Beirut, ebanon ghaziri@aub.edu.lb Abtract In thi paper, we have applied the concept of the elf-organizing map (SOM)

More information

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights Shortet Path Problem CS 6, Lecture Jared Saia Univerity of New Mexico Another intereting problem for graph i that of finding hortet path Aume we are given a weighted directed graph G = (V, E) with two

More information

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is Today Outline CS 56, Lecture Jared Saia Univerity of New Mexico The path that can be trodden i not the enduring and unchanging Path. The name that can be named i not the enduring and unchanging Name. -

More information

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course:

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course: Content Shortet path Algorithm and Network 21/211 The hortet path problem: Statement Verion Application Algorithm (for ingle ource p problem) Reminder: relaxation, Dijktra, Variant of Dijktra, Bellman-Ford,

More information

Edits in Xylia Validity Preserving Editing of XML Documents

Edits in Xylia Validity Preserving Editing of XML Documents dit in Xylia Validity Preerving diting of XML Document Pouria Shaker, Theodore S. Norvell, and Denni K. Peter Faculty of ngineering and Applied Science, Memorial Univerity of Newfoundland, St. John, NFLD,

More information

Distributed Packet Processing Architecture with Reconfigurable Hardware Accelerators for 100Gbps Forwarding Performance on Virtualized Edge Router

Distributed Packet Processing Architecture with Reconfigurable Hardware Accelerators for 100Gbps Forwarding Performance on Virtualized Edge Router Ditributed Packet Proceing Architecture with Reconfigurable Hardware Accelerator for 100Gbp Forwarding Performance on Virtualized Edge Router Satohi Nihiyama, Hitohi Kaneko, and Ichiro Kudo Abtract To

More information

An Intro to LP and the Simplex Algorithm. Primal Simplex

An Intro to LP and the Simplex Algorithm. Primal Simplex An Intro to LP and the Simplex Algorithm Primal Simplex Linear programming i contrained minimization of a linear objective over a olution pace defined by linear contraint: min cx Ax b l x u A i an m n

More information

UC Berkeley International Conference on GIScience Short Paper Proceedings

UC Berkeley International Conference on GIScience Short Paper Proceedings UC Berkeley International Conference on GIScience Short Paper Proceeding Title A novel method for probabilitic coverage etimation of enor network baed on 3D vector repreentation in complex urban environment

More information

Algorithmic Discrete Mathematics 4. Exercise Sheet

Algorithmic Discrete Mathematics 4. Exercise Sheet Algorithmic Dicrete Mathematic. Exercie Sheet Department of Mathematic SS 0 PD Dr. Ulf Lorenz 0. and. May 0 Dipl.-Math. David Meffert Verion of May, 0 Groupwork Exercie G (Shortet path I) (a) Calculate

More information

Refining SIRAP with a Dedicated Resource Ceiling for Self-Blocking

Refining SIRAP with a Dedicated Resource Ceiling for Self-Blocking Refining SIRAP with a Dedicated Reource Ceiling for Self-Blocking Mori Behnam, Thoma Nolte Mälardalen Real-Time Reearch Centre P.O. Box 883, SE-721 23 Väterå, Sweden {mori.behnam,thoma.nolte}@mdh.e ABSTRACT

More information

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract A Boyer-Moore Approach for Two-Dimenional Matching Jorma Tarhio Computer Science Diviion Univerity of California Berkeley, CA 94720 Abtract An imple ublinear algorithm i preented for two-dimenional tring

More information

CS 467/567: Divide and Conquer on the PRAM

CS 467/567: Divide and Conquer on the PRAM CS 467/567: Divide and Conquer on the PRAM Stefan D. Bruda Winter 2017 BINARY SEARCH Problem: Given a equence S 1..n orted in nondecreaing order and a value x, find the ubcript k uch that S i x If n proceor

More information

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang Stochatic Search and Graph Technique for MCM Path Planning Chritine D. Piatko, Chritopher P. Diehl, Paul McNamee, Cheryl Rech and I-Jeng Wang The John Hopkin Univerity Applied Phyic Laboratory, Laurel,

More information

Drawing Lines in 2 Dimensions

Drawing Lines in 2 Dimensions Drawing Line in 2 Dimenion Drawing a traight line (or an arc) between two end point when one i limited to dicrete pixel require a bit of thought. Conider the following line uperimpoed on a 2 dimenional

More information

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications DAROS: Ditributed Uer-Server Aignment And Replication For Online Social Networking Application Thuan Duong-Ba School of EECS Oregon State Univerity Corvalli, OR 97330, USA Email: duongba@eec.oregontate.edu

More information

arxiv: v1 [cs.ds] 27 Feb 2018

arxiv: v1 [cs.ds] 27 Feb 2018 Incremental Strong Connectivity and 2-Connectivity in Directed Graph Louka Georgiadi 1, Giueppe F. Italiano 2, and Niko Parotidi 2 arxiv:1802.10189v1 [c.ds] 27 Feb 2018 1 Univerity of Ioannina, Greece.

More information

Markov Random Fields in Image Segmentation

Markov Random Fields in Image Segmentation Preented at SSIP 2011, Szeged, Hungary Markov Random Field in Image Segmentation Zoltan Kato Image Proceing & Computer Graphic Dept. Univerity of Szeged Hungary Zoltan Kato: Markov Random Field in Image

More information

Analyzing Hydra Historical Statistics Part 2

Analyzing Hydra Historical Statistics Part 2 Analyzing Hydra Hitorical Statitic Part Fabio Maimo Ottaviani EPV Technologie White paper 5 hnode HSM Hitorical Record The hnode i the hierarchical data torage management node and ha to perform all the

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier a a The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each b c circuit will be decribed in Verilog

More information

A New Approach to Pipeline FFT Processor

A New Approach to Pipeline FFT Processor A ew Approach to Pipeline FFT Proceor Shouheng He and Mat Torkelon Department of Applied Electronic, Lund Univerity S- Lund, SWEDE email: he@tde.lth.e; torkel@tde.lth.e Abtract A new VLSI architecture

More information

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks Localized Minimum Spanning Tree Baed Multicat Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Senor Network Hanne Frey Univerity of Paderborn D-3398 Paderborn hanne.frey@uni-paderborn.de

More information

Advanced Encryption Standard and Modes of Operation

Advanced Encryption Standard and Modes of Operation Advanced Encryption Standard and Mode of Operation G. Bertoni L. Breveglieri Foundation of Cryptography - AES pp. 1 / 50 AES Advanced Encryption Standard (AES) i a ymmetric cryptographic algorithm AES

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each circuit will be decribed in Verilog and implemented

More information

Planning of scooping position and approach path for loading operation by wheel loader

Planning of scooping position and approach path for loading operation by wheel loader 22 nd International Sympoium on Automation and Robotic in Contruction ISARC 25 - September 11-14, 25, Ferrara (Italy) 1 Planning of cooping poition and approach path for loading operation by wheel loader

More information

Exploring Simple Grid Polygons

Exploring Simple Grid Polygons Exploring Simple Grid Polygon Chritian Icking 1, Tom Kamphan 2, Rolf Klein 2, and Elmar Langetepe 2 1 Univerity of Hagen, Praktiche Informatik VI, 58084 Hagen, Germany. 2 Univerity of Bonn, Computer Science

More information

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and Thi article appeared in a journal publihed by Elevier. The attached copy i furnihed to the author for internal non-commercial reearch and education ue, including for intruction at the author intitution

More information

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing A Fat Aociation Rule Algorithm Baed On Bitmap and Granular Computing T.Y.Lin Xiaohua Hu Eric Louie Dept. of Computer Science College of Information Science IBM Almaden Reearch Center San Joe State Univerity

More information

How to Select Measurement Points in Access Point Localization

How to Select Measurement Points in Access Point Localization Proceeding of the International MultiConference of Engineer and Computer Scientit 205 Vol II, IMECS 205, March 8-20, 205, Hong Kong How to Select Meaurement Point in Acce Point Localization Xiaoling Yang,

More information

Shortest-Path Routing in Arbitrary Networks

Shortest-Path Routing in Arbitrary Networks Ž. Journal of Algorithm 31, 105131 1999 Article ID jagm.1998.0980, available online at http:www.idealibrary.com on Shortet-Path Routing in Arbitrary Network Friedhelm Meyer auf der Heide and Berthold Vocking

More information

Brief Announcement: Distributed 3/2-Approximation of the Diameter

Brief Announcement: Distributed 3/2-Approximation of the Diameter Brief Announcement: Ditributed /2-Approximation of the Diameter Preliminary verion of a brief announcement to appear at DISC 14 Stephan Holzer MIT holzer@mit.edu David Peleg Weizmann Intitute david.peleg@weizmann.ac.il

More information

Evolution of Non-Deterministic Incremental Algorithms. Hugues Juille. Volen Center for Complex Systems. Brandeis University. Waltham, MA

Evolution of Non-Deterministic Incremental Algorithms. Hugues Juille. Volen Center for Complex Systems. Brandeis University. Waltham, MA Evolution of Non-Determinitic Incremental Algorithm a a New Approach for Search in State Space Hugue Juille Computer Science Department Volen Center for Complex Sytem Brandei Univerity Waltham, MA 02254-9110

More information

Midterm 2 March 10, 2014 Name: NetID: # Total Score

Midterm 2 March 10, 2014 Name: NetID: # Total Score CS 3 : Algorithm and Model of Computation, Spring 0 Midterm March 0, 0 Name: NetID: # 3 Total Score Max 0 0 0 0 Grader Don t panic! Pleae print your name and your NetID in the boxe above. Thi i a cloed-book,

More information

Key Terms - MinMin, MaxMin, Sufferage, Task Scheduling, Standard Deviation, Load Balancing.

Key Terms - MinMin, MaxMin, Sufferage, Task Scheduling, Standard Deviation, Load Balancing. Volume 3, Iue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Reearch in Computer Science and Software Engineering Reearch Paper Available online at: www.ijarce.com Tak Aignment in

More information

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline Generic Travere CS 62, Lecture 9 Jared Saia Univerity of New Mexico Travere(){ put (nil,) in bag; while (the bag i not empty){ take ome edge (p,v) from the bag if (v i unmarked) mark v; parent(v) = p;

More information

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks Performance of a Robut Filter-baed Approach for Contour Detection in Wirele Senor Network Hadi Alati, William A. Armtrong, Jr., and Ai Naipuri Department of Electrical and Computer Engineering The Univerity

More information

The Data Locality of Work Stealing

The Data Locality of Work Stealing The Data Locality of Work Stealing Umut A. Acar School of Computer Science Carnegie Mellon Univerity umut@c.cmu.edu Guy E. Blelloch School of Computer Science Carnegie Mellon Univerity guyb@c.cmu.edu Robert

More information

Multi-Target Tracking In Clutter

Multi-Target Tracking In Clutter Multi-Target Tracking In Clutter John N. Sander-Reed, Mary Jo Duncan, W.B. Boucher, W. Michael Dimmler, Shawn O Keefe ABSTRACT A high frame rate (0 Hz), multi-target, video tracker ha been developed and

More information

New Structural Decomposition Techniques for Constraint Satisfaction Problems

New Structural Decomposition Techniques for Constraint Satisfaction Problems New Structural Decompoition Technique for Contraint Satifaction Problem Yaling Zheng and Berthe Y. Choueiry Contraint Sytem Laboratory Univerity of Nebraka-Lincoln Email: yzheng choueiry@ce.unl.edu Abtract.

More information

A Novel Feature Line Segment Approach for Pattern Classification

A Novel Feature Line Segment Approach for Pattern Classification 12th International Conference on Information Fuion Seattle, WA, USA, July 6-9, 2009 A Novel Feature Line Segment Approach for Pattern Claification Yi Yang Intitute of Integrated Automation Xi an Jiaotong

More information

CENTER-POINT MODEL OF DEFORMABLE SURFACE

CENTER-POINT MODEL OF DEFORMABLE SURFACE CENTER-POINT MODEL OF DEFORMABLE SURFACE Piotr M. Szczypinki Iintitute of Electronic, Technical Univerity of Lodz, Poland Abtract: Key word: Center-point model of deformable urface for egmentation of 3D

More information

Computer Arithmetic Homework Solutions. 1 An adder for graphics. 2 Partitioned adder. 3 HDL implementation of a partitioned adder

Computer Arithmetic Homework Solutions. 1 An adder for graphics. 2 Partitioned adder. 3 HDL implementation of a partitioned adder Computer Arithmetic Homework 3 2016 2017 Solution 1 An adder for graphic In a normal ripple carry addition of two poitive number, the carry i the ignal for a reult exceeding the maximum. We ue thi ignal

More information

Optimal Gossip with Direct Addressing

Optimal Gossip with Direct Addressing Optimal Goip with Direct Addreing Bernhard Haeupler Microoft Reearch 1065 La Avenida, Mountain View Mountain View, CA 94043 haeupler@c.cmu.edu Dahlia Malkhi Microoft Reearch 1065 La Avenida, Mountain View

More information

CS201: Data Structures and Algorithms. Assignment 2. Version 1d

CS201: Data Structures and Algorithms. Assignment 2. Version 1d CS201: Data Structure and Algorithm Aignment 2 Introduction Verion 1d You will compare the performance of green binary earch tree veru red-black tree by reading in a corpu of text, toring the word and

More information

Gray-level histogram. Intensity (grey-level) transformation, or mapping. Use of intensity transformations:

Gray-level histogram. Intensity (grey-level) transformation, or mapping. Use of intensity transformations: Faculty of Informatic Eötvö Loránd Univerity Budapet, Hungary Lecture : Intenity Tranformation Image enhancement by point proceing Spatial domain and frequency domain method Baic Algorithm for Digital

More information

Chapter S:II (continued)

Chapter S:II (continued) Chapter S:II (continued) II. Baic Search Algorithm Sytematic Search Graph Theory Baic State Space Search Depth-Firt Search Backtracking Breadth-Firt Search Uniform-Cot Search AND-OR Graph Baic Depth-Firt

More information

Distance Optimal Formation Control on Graphs with a Tight Convergence Time Guarantee

Distance Optimal Formation Control on Graphs with a Tight Convergence Time Guarantee Ditance Optimal Formation Control on Graph with a Tight Convergence Time Guarantee Jingjin Yu Steven M. LaValle Abtract For the tak of moving a et of inditinguihable agent on a connected graph with unit

More information

The Association of System Performance Professionals

The Association of System Performance Professionals The Aociation of Sytem Performance Profeional The Computer Meaurement Group, commonly called CMG, i a not for profit, worldwide organization of data proceing profeional committed to the meaurement and

More information

Testing Structural Properties in Textual Data: Beyond Document Grammars

Testing Structural Properties in Textual Data: Beyond Document Grammars Teting Structural Propertie in Textual Data: Beyond Document Grammar Felix Saaki and Jen Pönninghau Univerity of Bielefeld, Germany Abtract Schema language concentrate on grammatical contraint on document

More information

A Linear Interpolation-Based Algorithm for Path Planning and Replanning on Girds *

A Linear Interpolation-Based Algorithm for Path Planning and Replanning on Girds * Advance in Linear Algebra & Matrix Theory, 2012, 2, 20-24 http://dx.doi.org/10.4236/alamt.2012.22003 Publihed Online June 2012 (http://www.scirp.org/journal/alamt) A Linear Interpolation-Baed Algorithm

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each circuit will be decribed in VHL and implemented

More information

/06/$ IEEE 364

/06/$ IEEE 364 006 IEEE International ympoium on ignal Proceing and Information Technology oie Variance Etimation In ignal Proceing David Makovoz IPAC, California Intitute of Technology, MC-0, Paadena, CA, 95 davidm@ipac.caltech.edu;

More information

Trainable Context Model for Multiscale Segmentation

Trainable Context Model for Multiscale Segmentation Trainable Context Model for Multicale Segmentation Hui Cheng and Charle A. Bouman School of Electrical and Computer Engineering Purdue Univerity Wet Lafayette, IN 47907-1285 {hui, bouman}@ ecn.purdue.edu

More information

Variable Resolution Discretization in the Joint Space

Variable Resolution Discretization in the Joint Space Variable Reolution Dicretization in the Joint Space Chritopher K. Monon, David Wingate, and Kevin D. Seppi {c,wingated,keppi}@c.byu.edu Computer Science, Brigham Young Univerity Todd S. Peteron peterto@uvc.edu

More information

LinkGuide: Towards a Better Collection of Hyperlinks in a Website Homepage

LinkGuide: Towards a Better Collection of Hyperlinks in a Website Homepage Proceeding of the World Congre on Engineering 2007 Vol I LinkGuide: Toward a Better Collection of Hyperlink in a Webite Homepage A. Ammari and V. Zharkova chool of Informatic, Univerity of Bradford anammari@bradford.ac.uk,

More information

Representations and Transformations. Objectives

Representations and Transformations. Objectives Repreentation and Tranformation Objective Derive homogeneou coordinate tranformation matrice Introduce tandard tranformation - Rotation - Tranlation - Scaling - Shear Scalar, Point, Vector Three baic element

More information

Motion Control (wheeled robots)

Motion Control (wheeled robots) 3 Motion Control (wheeled robot) Requirement for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground Definition of required motion -> peed control,

More information

SIMIT 7. Component Type Editor (CTE) User manual. Siemens Industrial

SIMIT 7. Component Type Editor (CTE) User manual. Siemens Industrial SIMIT 7 Component Type Editor (CTE) Uer manual Siemen Indutrial Edition January 2013 Siemen offer imulation oftware to plan, imulate and optimize plant and machine. The imulation- and optimizationreult

More information

Announcements. CSE332: Data Abstractions Lecture 19: Parallel Prefix and Sorting. The prefix-sum problem. Outline. Parallel prefix-sum

Announcements. CSE332: Data Abstractions Lecture 19: Parallel Prefix and Sorting. The prefix-sum problem. Outline. Parallel prefix-sum Announcement Homework 6 due Friday Feb 25 th at the BEGINNING o lecture CSE332: Data Abtraction Lecture 19: Parallel Preix and Sorting Project 3 the lat programming project! Verion 1 & 2 - Tue March 1,

More information

Fast Address Sequence Generation for Data-Parallel Programs Using Integer Lattices

Fast Address Sequence Generation for Data-Parallel Programs Using Integer Lattices Fat Addre Sequence Generation for Data-Parallel Program Uing Integer Lattice Ahwath Thirumalai and J Ramanujam Dept of Electrical & Computer Engineering Louiiana State Univerity, Baton Rouge, LA 70803

More information

New Structural Decomposition Techniques for Constraint Satisfaction Problems

New Structural Decomposition Techniques for Constraint Satisfaction Problems 113 New Structural Decompoition Technique for Contraint Satifaction Problem Yaling Zheng and Berthe Y. Choueiry Contraint Sytem Laboratory, Univerity of Nebraka-Lincoln {yzheng,choueiry}@ce.unl.edu Abtract.

More information

Parallel MATLAB at FSU: Task Computing

Parallel MATLAB at FSU: Task Computing Parallel MATLAB at FSU: Tak John Burkardt Department of Scientific Florida State Univerity... 1:30-2:30 Thurday, 07 April 2011 499 Dirac Science Library... http://people.c.fu.edu/ jburkardt/preentation/...

More information

Nearly Constant Approximation for Data Aggregation Scheduling in Wireless Sensor Networks

Nearly Constant Approximation for Data Aggregation Scheduling in Wireless Sensor Networks Nearly Contant Approximation for Data Aggregation Scheduling in Wirele Senor Network Scott C.-H. Huang, Peng-Jun Wan, Chinh T. Vu, Yinghu Li and France Yao Computer Science Department, City Univerity of

More information

Floating Point CORDIC Based Power Operation

Floating Point CORDIC Based Power Operation Floating Point CORDIC Baed Power Operation Kazumi Malhan, Padmaja AVL Electrical and Computer Engineering Department School of Engineering and Computer Science Oakland Univerity, Rocheter, MI e-mail: kmalhan@oakland.edu,

More information

SLA Adaptation for Service Overlay Networks

SLA Adaptation for Service Overlay Networks SLA Adaptation for Service Overlay Network Con Tran 1, Zbigniew Dziong 1, and Michal Pióro 2 1 Department of Electrical Engineering, École de Technologie Supérieure, Univerity of Quebec, Montréal, Canada

More information

On combining Learning Vector Quantization and the Bayesian classifiers for natural textured images

On combining Learning Vector Quantization and the Bayesian classifiers for natural textured images On combining Learning Vector Quantization and the Bayeian claifier for natural textured image María Guiarro Dept. Ingeniería del Software e Inteligencia Artificial Facultad Informática Univeridad Complutene

More information

A Multi-objective Genetic Algorithm for Reliability Optimization Problem

A Multi-objective Genetic Algorithm for Reliability Optimization Problem International Journal of Performability Engineering, Vol. 5, No. 3, April 2009, pp. 227-234. RAMS Conultant Printed in India A Multi-objective Genetic Algorithm for Reliability Optimization Problem AMAR

More information

CORRECTNESS ISSUES AND LOOP INVARIANTS

CORRECTNESS ISSUES AND LOOP INVARIANTS The next everal lecture 2 Study algorithm for earching and orting array. Invetigate their complexity how much time and pace they take Formalize the notion of average-cae and wort-cae complexity CORRECTNESS

More information

Towards an Efficient Optimal Trajectory Planner for Multiple Mobile Robots

Towards an Efficient Optimal Trajectory Planner for Multiple Mobile Robots Toward an Efficient Optimal Trajectory Planner for Multiple Mobile Robot Jaon Thoma, Alan Blair, Nick Barne Department of Computer Science and Software Engineering The Univerity of Melbourne, Victoria,

More information

Building a Compact On-line MRF Recognizer for Large Character Set using Structured Dictionary Representation and Vector Quantization Technique

Building a Compact On-line MRF Recognizer for Large Character Set using Structured Dictionary Representation and Vector Quantization Technique 202 International Conference on Frontier in Handwriting Recognition Building a Compact On-line MRF Recognizer for Large Character Set uing Structured Dictionary Repreentation and Vector Quantization Technique

More information

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck.

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck. Cutting Stock by Iterated Matching Andrea Fritch, Oliver Vornberger Univerity of Onabruck Dept of Math/Computer Science D-4909 Onabruck andy@informatikuni-onabrueckde Abtract The combinatorial optimization

More information

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM RAC Univerity Journal, Vol IV, No, 7, pp 87-9 AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROLEM Mozzem Hoain Department of Mathematic Ghior Govt

More information

Multicast with Network Coding in Application-Layer Overlay Networks

Multicast with Network Coding in Application-Layer Overlay Networks IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 1, JANUARY 2004 1 Multicat with Network Coding in Application-Layer Overlay Network Ying Zhu, Baochun Li, Member, IEEE, and Jiang Guo Abtract

More information

Distributed Fractional Packing and Maximum Weighted b-matching via Tail-Recursive Duality

Distributed Fractional Packing and Maximum Weighted b-matching via Tail-Recursive Duality Ditributed Fractional Packing and Maximum Weighted b-matching via Tail-Recurive Duality Chrito Koufogiannaki, Neal E. Young Department of Computer Science, Univerity of California, Riveride {ckou, neal}@c.ucr.edu

More information

Connected Placement of Disaster Shelters in Modern Cities

Connected Placement of Disaster Shelters in Modern Cities Connected Placement of Diater Shelter in Modern Citie Huanyang Zheng and Jie Wu Department of Computer and Information Science Temple Univerity, USA {huanyang.zheng, jiewu}@temple.edu ABSTRACT Thi paper

More information

Bottom Up parsing. Bottom-up parsing. Steps in a shift-reduce parse. 1. s. 2. np. john. john. john. walks. walks.

Bottom Up parsing. Bottom-up parsing. Steps in a shift-reduce parse. 1. s. 2. np. john. john. john. walks. walks. Paring Technologie Outline Paring Technologie Outline Bottom Up paring Paring Technologie Paring Technologie Bottom-up paring Step in a hift-reduce pare top-down: try to grow a tree down from a category

More information

Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic

Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic Exercie 4: Marko rocee, Cellular Automata and Fuzzy Logic Formal Method II, Fall Semeter 203 Solution Sheet Marko rocee Theoretical Exercie. (a) ( point) 0.2 0.7 0.3 tanding 0.25 lying 0.5 0.4 0.2 0.05

More information