arxiv: v4 [cs.ds] 7 Feb 2018

Size: px
Start display at page:

Download "arxiv: v4 [cs.ds] 7 Feb 2018"

Transcription

1 Dynamic DFS in Undiected Gaphs: beaking the O(m) baie Suende Baswana Sheejit Ray Chaudhuy Keeti Choudhay Shahbaz Khan axiv: v4 [cs.ds] 7 Feb 2018 Depth fist seach (DFS) tee is a fundamental data stuctue fo solving vaious poblems in gaphs. It is well known that it takes O(m + n) time to build a DFS tee fo a given undiected gaph G = (V, E) on n vetices and m edges. We addess the poblem of maintaining a DFS tee when the gaph is undegoing updates (insetion and deletion of vetices o edges). We pesent the following esults fo this poblem. 1. Fault toleant DFS tee: Thee exists a data stuctue of size Õ(m) 1 such that given any set F of failed vetices o edges, a DFS tee of the gaph G \ F can be epoted in Õ(n F ) time. 2. Fully dynamic DFS tee: Thee exists a fully dynamic algoithm fo maintaining a DFS tee that takes wost case Õ( mn) time pe update fo any abitay online sequence of updates. 3. Incemental DFS tee: Thee exists an incemental algoithm fo maintaining a DFS tee that takes wost case Õ(n) time pe update fo any abitay online sequence of edge insetion. These ae the fist o(m) wost case time esults fo maintaining a DFS tee in a dynamic envionment. Moeove, ou fully dynamic algoithm povides, in a seamless manne, the fist deteministic algoithm with O(1) quey time and o(m) wost case update time fo connectivity, biconnectivity, and 2-edge connectivity in the dynamic subgaph model. Keywods: Depth Fist Seach, DFS, Dynamic Gaph Algoithm 1 Intoduction Depth Fist Seach (DFS) is a well known gaph tavesal technique. Right fom the seminal wok of Tajan [42], DFS tavesal has played the cental ole in the design of efficient algoithms fo many fundamental gaph poblems, namely, biconnected components [42], stongly connected components [42], topological soting, bipatite matching [29], dominatos in diected gaph [43] and planaity testing [30]. Inteestingly, the ole of DFS tavesal is not confined to meely the design of efficient algoithms. Fo example, conside the classical esult of Edős and Rényi [18] fo the phase tansition phenomena in andom gaphs. Thee exist many poofs of this esult which ae inticate and based on highly sophisticated pobability tools. Howeve, ecently, Kivelevich and Sudakov [32] designed a tuly simple, shot, and elegant poof fo this esult based on the insights fom a DFS tavesal in a gaph. The peliminay vesion of the pape appeaed in SODA This eseach was patially suppoted by UGC-ISF (the Univesity Gants Commission of India & Isael Science Foundation) and IMPECS (the Indo-Geman Max Planck Cente fo Compute Science). Dept. of CSE, I.I.T. Kanpu, India ( {sbaswana,keeti,shahbazk}@cse.iitk.ac.in, sheejit.1@gmail.com. This eseach was patially suppoted by Google India unde the Google India PhD Fellowship Awad. 1 Õ() hides the poly-logaithmic factos. 1

2 Let G = (V, E) be an undiected connected gaph on n vetices and m edges. DFS tavesal of G stating fom any vetex V poduces a ooted spanning tee, called a DFS tee with as its oot. It takes O(m + n) time to pefom a DFS tavesal and geneate a DFS tee. Given any ooted spanning tee of gaph G, all non-tee edges of the gaph can be classified into two categoies, namely, back edges and coss edges as follows. A non-tee edge is called a back edge if one of its endpoints is an ancesto of the othe in the tee. Othewise, it is called a coss edge. A necessay and sufficient condition fo any ooted spanning tee to be a DFS tee is that evey non-tee edge is a back edge. Thus, it can be seen that many DFS tees ae possible fo any given gaph. Howeve, if the tavesal of the gaph is pefomed accoding to the ode specified by the adjacency lists of the gaph, the esulting DFS tee will be unique. The odeed DFS tee poblem is to compute the ode in which the vetices get visited when the tavesal is pefomed stictly accoding to the adjacency lists. Most of the gaph applications in eal wold deal with gaphs that keep changing with time. These changes/updates can be in the fom of insetion o deletion of vetices o edges. An algoithmic gaph poblem is modeled in a dynamic envionment as follows. Thee is an online sequence of updates on the gaph, and the objective is to update the solution of the poblem efficiently afte each update. In paticula, the time taken to update the solution has to be much smalle than that of the best static algoithm fo the poblem. In the last two decades, many elegant dynamic algoithms have been designed fo vaious gaph poblems such as connectivity [17, 27, 28, 31], eachability [37, 39], shotest path [14, 38], spannes [7, 23, 36], and min-cut [45]. Anothe, and moe esticted, vaiant of a dynamic envionment is the fault toleant envionment. Hee the aim is to build a compact data stuctue fo a given poblem, that is esilient to failue of vetices/edges, and can efficiently epot the solution of the poblem fo any given set of failues. Thee has been a lot of wok in the last two decades on fault toleant algoithms fo connectivity [10, 16, 21], shotest paths [6, 12, 15], and spannes [8, 11]. A dynamic gaph algoithm is said to be fully dynamic if it handles both insetion as well as deletion updates. A patially dynamic algoithm is said to be incemental o decemental if it handles only insetion o only deletion updates espectively. In this pape, we addess the poblem of maintaining a DFS tee efficiently in any dynamic envionment. 1.1 Existing esults on dynamic DFS In spite of the simplicity of a DFS tee, designing any efficient paallel o dynamic algoithm fo a DFS tee has tuned out to be quite challenging. Reif [34] showed that the odeed DFS tee poblem is a P - Complete poblem. Fo many yeas, this esult seemed to imply that the geneal DFS tee poblem, that is, the computation of any DFS tee, is also inheently sequential. Howeve, Aggawal and Andeson [2] poved that the geneal DFS tee poblem is in RNC by designing a paallel andomized algoithm that takes O(log 3 n) expected time. Futhe, the fastest paallel deteministic algoithm fo geneal DFS tee still takes O( n) time [3, 22]. Whethe the geneal DFS tee poblem is in NC fo diected (o undiected) gaphs is still a long standing open poblem. Reif [35] and late Miltesen et al. [33] poved that P -Completeness of a poblem also implies hadness of the poblem in the dynamic setting. The wok of Miltesen et al. [33] shows that if the odeed DFS tee is updateable in O(polylog(n)) time, then the solution of evey poblem in class P is updateable in O(polylog(n)) time. In othe wods, maintaining the odeed DFS tee is indeed the hadest among all the poblems in class P. In ou view, this hadness esult, which is actually fo only the odeed DFS tee poblem, has poved to be quite discouaging fo the eseaches woking in the aea of dynamic algoithms. This is evident fom the fact that fo all the static gaph poblems that wee solved using DFS tavesal in the 1970 s, none of thei dynamic countepats used a dynamic DFS tee [27, 28, 31, 37, 9, 10, 16]. Apat fom the hadness of the odeed DFS tee poblem in dynamic envionment, vey little pogess has been achieved even fo the poblem of maintaining any DFS tee. Fanciosa et al. [19] designed an incemental algoithm fo a DFS tee in a diected acyclic gaph (DAG). Fo any abitay sequence of 2

3 edge insetions, this algoithm takes O(mn) total time to maintain a DFS tee fom a given souce. Recently, Baswana and Choudhay [4] designed a decemental algoithm fo a DFS tee in a DAG that equies expected O(mn log n) total time. Fo undiected gaphs, ecently Baswana and Khan [5] designed an incemental algoithm fo maintaining a DFS tee equiing O(n 2 ) total time. These algoithms ae the only esults known fo the dynamic DFS tee poblem. Moeove, none of these existing algoithms, though designed fo only a patially dynamic envionment, achieves a wost case bound of o(m) on the update time. Futhemoe, none of these esults poves that geneal DFS is not as had as odeed DFS in the dynamic envionment. This is because the speculations of having to incu a complete ecomputation in the wost case afte an update is not dispoved by amotized bounds esulting in the peceived O(m) baie fo geneal DFS as well. So the following intiguing questions emained unansweed till date: Does thee exist any fully dynamic algoithm fo maintaining a DFS tee? Is it possible to achieve wost case o(m) update time fo maintaining a DFS tee in a dynamic envionment? Not only do we answe these open questions affimatively fo undiected gaphs, we also use ou dynamic algoithm fo DFS tee to povide efficient solutions fo a couple of well studied dynamic gaph poblems. Moeove, ou esults also handle vetex updates which ae geneally consideed hade than edge updates. Futhemoe, ou esults finally pove that geneal DFS is indeed not as had as odeed DFS in the dynamic setting as was the case in paallel setting. 1.2 Ou esults We conside a genealized notion of updates wheein an update could be eithe insetion/deletion of a vetex o insetion/deletion of an edge. Fo any set U of such updates, let G + U denote the gaph obtained afte pefoming the updates U on the gaph G. Ou main esult can be succinctly descibed in the following theoem. Theoem 1.1 An undiected gaph can be pepocessed to build a data stuctue of O(m log n) size such that fo any set U of k n updates, a DFS tee of G + U can be epoted in O(nk log 4 n) time. With this esult at the coe, we easily obtain the following esults fo dynamic DFS tee in an undiected gaph. 1. Fault Toleant DFS tee: Given any set of k failed vetices o edges, we can epot a DFS tee fo the esulting gaph in O(nk log 4 n) time. 2. Fully Dynamic DFS tee: Given any abitay online sequence of vetex o edge updates, we can maintain a DFS tee in O( mn log 2.5 n) wost case time pe update. 3. Incemental DFS tee: Given any abitay online sequence of edge insetions, we can maintain a DFS tee in O(n log 3 n) wost case time pe edge insetion. These ae the fist o(m) wost case update time algoithms fo maintaining a DFS tee in a dynamic envionment. Recently, thee has been significant wok [1, 24] on establishing conditional lowe bounds on the time complexity of vaious dynamic gaph poblems. A simple eduction fom [1], based on the Stong Exponential Time Hypothesis (SETH), implies a conditional lowe bound of Ω(n) on the update time of any fully dynamic algoithm fo a DFS tee unde vetex updates. We also pesent an unconditional lowe bound of Ω(n) fo maintaining a fully dynamic DFS tee explicitly unde edge updates. 3

4 1.3 Applications of Fully Dynamic DFS In the static setting, a DFS tee can be easily used to answe connectivity, 2-edge connectivity and biconnectivity queies. Ou fully dynamic algoithm fo DFS tee thus seamlessly solves these poblems fo both vetex and edge updates. Futhe, ou esult gives the fist deteministic algoithm with O(1) quey time and o(m) wost case update time fo seveal well studied vaiants of these poblems in the dynamic setting. These poblems include dynamic subgaph connectivity [10, 16, 17, 20, 28, 31] and vetex update vesions of dynamic biconnectivity [26, 25, 28] and dynamic 2-edge connectivity [28, 17, 20]. The existing esults offe diffeent tade-offs between the update time and the quey time, and diffe on the types (amotized o wost case) of update time and the types (deteministic o andomized) of quey time. Ou algoithm, in paticula, impoves the deteministic wost case bounds fo these poblems, thus demonstating the elevance of DFS tees in solving dynamic gaph poblems. 1.4 Main Idea Let T be a DFS tee of G. To compute a DFS tee of G + U fo a given set U of updates, the main idea is to make use of the oiginal tee T itself. We pepocess the gaph G using tee T to build a data stuctue D. In ode to achieve o(m) update time, ou algoithm makes use of D to ceate a educed adjacency list fo each vetex such that pefoming DFS tavesal using these lists gives a DFS tee fo G + U. In fact, these educed adjacency lists ae geneated on the fly and ae guaanteed to have only Õ(n U ) edges. We now give an outline of the pape. In section 2, we descibe vaious notations used thoughout the pape. Section 3 descibes an algoithm to epot the DFS tee afte a single update in the gaph. The details of the equied data stuctue D ae descibed in Section 4. Then in Section 5, we povide an oveview of ou algoithm fo handling multiple updates, highlighting the main intuition behind ou appoach. Ou main algoithm (Theoem 1.1) that epots a DFS tee afte any set of updates in the gaph is descibed in Section 7. In Section 8 we convet this algoithm to fully dynamic and incemental algoithms fo maintaining a DFS tee using the ovelapped peiodic ebuilding technique. Finally, in Section 9 and Section 10 we descibe the applications and lowe bounds of dynamic DFS tees. 2 Peliminaies Let U be any given set of updates. We add a dummy vetex to the given gaph in the beginning and connect it to all the vetices. Ou algoithm stats with any abitay DFS tee T ooted at in the augmented gaph and it maintains a DFS tee ooted at at each stage. It can be obseved easily that each subtee ooted at any child of is a DFS tee of a connected component of the gaph G + U. The following notations will be used thoughout the pape. T (x) : The subtee of T ooted at vetex x. path(x, y) : Path fom the vetex x to the vetex y in T. dist T (x, y) : The numbe of edges on the path fom x to y in T. LCA(x, y) : The lowest common ancesto of x and y in tee T. N(w) : The adjacency list of vetex w in the gaph G + U. L(w) : The educed adjacency list of vetex w in the gaph G + U. T : The DFS tee ooted at computed by ou algoithm fo the gaph G + U. pa(w) : Paent of w in T. 4

5 A subtee T is said to be hanging fom a path p if the oot of T is a child of some vetex on the path p and does not belong to the path p. Unless stated othewise, evey efeence to a path efes to an ancesto-descendant path defined as follows: Definition 2.1 (Ancesto-descendant path) A path p in a DFS tee T is said to be ancesto-descendant path if its endpoints have ancesto-descendant elationship in T. We now state the opeations suppoted by the data stuctue D (complete details of D ae in Section 4). Let U below efe to a set of updates that consists of vetex and edge deletions only. Fo any thee vetices w, x, y T, whee path(x, y) is an ancesto-descendant path in T, the following two queies can be answeed using D in O(log 3 n) time. 1. Quey(w, x, y) : among all the edges fom w that ae incident on path(x, y) in G+U, etun an edge that is incident neaest to x on path(x, y). 2. Quey(T (w), x, y) : among all the edges fom T (w) that ae incident on path(x, y) in G + U, etun an edge that is incident neaest to x on path(x, y). We now descibe an impotant popety of a DFS tavesal that will be cucially used in ou algoithm. 2.1 Popeties of a DFS tee DFS tavesal has the following flexibility : when the tavesal eaches a vetex, say v, the next vetex to be tavesed can be any unvisited neighbo of v. In ode to compute a DFS tee fo G + U efficiently, ou algoithm exploits this flexibility, the oiginal DFS tee T, and the following popety of DFS tavesal. C 1 e 1 e 1 w C 2 e 2 e 2 v Figue 1: Edges e 1 as well as e 2 can be ignoed duing the DFS tavesal. Lemma 2.1 (Components Popety) Let T be the patially gown DFS tee and v be the vetex cuently being visited. Let C be any connected component in the subgaph induced by the unvisited vetices. Suppose two edges e and e fom C ae incident espectively on v and some ancesto (not necessaily pope) w of v in T. Then it is sufficient to conside only e duing the est of the DFS tavesal, i.e., the edge e need not be scanned. (Refe to Figue 1). Skipping e duing the DFS tavesal, as stated in the components popety, is justified because e will appea as a back edge in the esulting DFS tee. A simila popety descibing the inessential edges of a DFS tees was used by Smith [41] fo computing a DFS tee of a plana gaph in the paallel setting. In ode to highlight the impotance of the components popety, and to motivate the equiement of data stuctue D, we fist conside a simple case which deals with epoting a DFS tee afte a single update in the gaph. 5

6 3 Handling a single update Conside the failue of a single edge (b, f) (efe to Figue 2 (i)). Exploiting the flexibility of DFS tavesal, we can assume a stage in the DFS tavesal of G\{(b, f)} whee the patial DFS tee T is T \T (f) and vetex b is cuently being visited. Thus, the unvisited gaph is a single connected component containing the vetices of T (f). Now, accoding to the components popety we need to pocess only the lowest edge fom T (f) to path(b, ) ((k, b) in Figue 2 (ii)). Hence, the DFS tavesal entes this component using the edge (k, b) and pefoms a tavesal of the subgaph induced by the vetices of T (f). The esulting DFS tee of this subgaph would now be ooted at k. Rebuilding the DFS tee afte the failue of edge (b, f) thus educes to finding the lowest edge fom T (f) to path(e, ), and then eooting a subtee T (f) of T at the new oot k. We now descibe how this eooting can be pefomed in Õ(n) time in the following section. a m m a m a m a b b b b c f c f c k c k d g d g d g d g e h k e h k e h f e h f i j l i j l i j l i j l (i) (ii) (iii) (iv) Figue 2: (i) Failue of edge (b, f). (ii) Patial DFS tee T with unvisited gaph T (f), component popety allows us to neglect (a, l). (iii) Augmented path(k, f) to T, the components popety allows us to neglect (l, k). (iv) Final DFS tee of G\{(b, f)}. 3.1 Reooting a DFS tee Given a DFS tee T oiginally ooted at 0 and a vetex, the aim is to compute a DFS tee of the gaph that is ooted at. Note that any subtee T (x) of the DFS tee T is also a DFS tee of the subgaph induced by the vetices of T (x). Hence, the same pocedue can be applied to eoot a subtee T (x) of the DFS tee T. Thus, in geneal ou aim is to eoot T ( 0 ) at a new oot T ( 0 ) (see Figue 2 (ii), whee the subtee T (f) would be eooted at its new oot k). Ou algoithm (efe to Pocedue Reoot) essentially pefoms the DFS tavesal (exploiting the flexibility of DFS) in such a way that components of the unvisited gaph can be easily identified. The components popety can then be applied to each such component, pocessing only O(n) edges to compute the eooted DFS tee. The DFS tavesal fist visits the path fom to the oot of tee T ( 0 ). This eveses path( 0, ) in the new DFS tee T as now would be an ancesto of 0 (see Figue 2 (iii)). Now, each subtee hanging fom path(, 0 ) in T foms a component of the unvisited gaph. This is because the pesence of any edge between these subtees would imply a coss edge in the oiginal DFS tee. Using the components popety we know that fo each of these subtees, say T i, we only need to pocess the lowest edge fom T i on the new path fom to 0 in T. Since path(, 0 ) is evesed in T, it is equivalent to pocessing the highest edge e i fom T i to the path( 0, ) in T. Recall that this quey can be answeed by ou data stuctue D in O(log 3 n) time (efe to Section 2). Now, let v i be the end vetex of e i in T i. The DFS tavesal will thus visit the component induced by the vetices of T i though e i, and poduces its DFS tee that is ooted at v i. 6

7 Pocedue Reoot(T ( 0 ), ): Reoots the subtee T ( 0 ) of T to be ooted at the vetex T ( 0 ). 1 foeach (a, b) on path( 0, ) do /* a = pa(b) in oiginal tee T ( 0 ). */ 2 pa(a) b; 3 foeach child c of b not on path( 0, ) do 4 (u, v) Quey(T (c), 0, b) ; /* whee u path( 0, ) and v T (c). */ 5 if (u, v) is non-null then 6 Reoot(T (c), v); 7 pa(v) u; 8 end 9 end 10 end Figue 3: The ecusive algoithm to eoot a DFS tee T ( 0 ) at the new oot. This eooting can be pefomed by invoking the eooting pocedue ecusively on the subtee T i with the new oot v i. We now analyze the total time equied by Pocedue Reoot to eoot a subtee T of the DFS tee T. The total time taken by ou algoithm is popotional to the numbe of edges pocessed by the algoithm. These edges include the tee edges that wee a pat of the oiginal tee T and the added edges that ae etuned by the data stuctue D. Clealy, the numbe of tee edges in T ae O( T ). Also, since the added edges eventually become a pat of the new DFS tee T, they too ae bounded by the size of the tee T. Futhe, the data stuctue D takes O(log 3 n) time to epot each added edge. Hence the total time taken by ou algoithm to ebuild T is O( T log 3 n) time. Since D can be built in O(m log n) time (efe to Theoem 4.1 in the Section 4), we have the following theoem. Theoem 3.1 An undiected gaph can be pepocessed to build a data stuctue in O(m log n) time, such that any subtee T of the DFS tee can be eooted at any vetex in T, in O( T log 3 n) time. We now fomally descibe how ebuilding a DFS tee afte an update can be educed to this simple eooting pocedue (see Figue 4). 1. Deletion of an edge (u, v): In case (u, v) is a back edge in T, simply delete it fom the gaph. Othewise, let u = pa(v) in T. The algoithm finds the lowest edge (u, v ) on the path(u, ) fom T (v), whee v T (v). The subtee T (v) is then eooted at its new oot v and hanged fom u using (u, v ) in the final tee T. 2. Insetion of an edge (u, v): In case (u, v) is a back edge, simply inset it in the gaph. Othewise, let w be the LCA of u and v in T and v be the child of w such that v T (v ). The subtee T (v ) is then eooted at its new oot v and hanged fom u using (u, v) in the final tee T. 3. Deletion of a vetex u: Let v 1,..., v c be the childen of u in T. Fo each subtee T (v i ), the algoithm finds the lowest edge (u i, v i ) on the path(pa(u), ) fom T (v i), whee v i T (v i). Each subtee T (v i ) is then eooted at its new oot v i and hanged fom u i using (u i, v i ) in the final tee T. 4. Insetion of a vetex u: Let v 1,..., v c be the neighbos of u in the gaph. Make u a child of some v j in T. Fo each v i, such that v i / path(v j, ), let T (v i ) be the subtee hanging fom path(v j, ) such that v i T (v i ). Each subtee T (v i ) is then eooted at its new oot v i and hanged fom u using (u, v i ) in the final tee T. 7

8 u 1 v 1 u u 2 v 2 u w u u v v v 1 v 2 v 3 v u v v 1 v 2 v 3 v 4 v j v 4 (i) (ii) (iii) (iv) Figue 4: Updating the DFS tee afte a single update: (i) deletion of an edge, (ii) insetion of an edge, (iii) deletion of a vetex, and (iv) insetion of a vetex. The eduction algoithm eoots the maked subtees (shown in violet) and hangs it fom the inseted edge (in case of insetion) o the lowest edge (in case of deletion) on the maked path (shown in blue) fom the maked subtee. In case of vetex updates, multiple subtees may be eooted by the algoithm. Let these subtees be T 1,..., T c. Thus, the total time taken by ou algoithm is equal to the time taken to eoot the subtees T 1,..., T c. Using Theoem 3.1, we know that a subtee T can be eooted in Õ( T ) time. Since these subtees ae disjoint, the total time taken by ou algoithm to build the esulting DFS tee is Õ( T T c ) = Õ(n). Thus, we have the following theoem. Theoem 3.2 An undiected gaph can be pepocessed to build a data stuctue in O(m log n) time such that afte a single update in the gaph, the DFS tee can be epoted in O(n log 3 n) time. 4 Data Stuctue The efficiency of ou algoithm heavily elies on the data stuctue D. Fo any thee vetices w, x, y T, whee path(x, y) is an ancesto-descendant path in T, we need to answe the following two kinds of queies. 1. Quey(w, x, y) : among all the edges fom w that ae incident on path(x, y) in G+U, etun an edge that is incident neaest to x on path(x, y). 2. Quey(T (w), x, y) : among all the edges fom T (w) that ae incident on path(x, y) in G + U, etun an edge that is incident neaest to x on path(x, y). We now descibe constuction of the data stuctue D. It employs a combination of two well known techniques, namely, heavy-light decomposition [40] and suitable augmentation of a binay tee (segment tee) as follows. 1. Pefom a peode tavesal of tee T with the following estiction: Upon visiting a vetex v T, the child of v that is visited fist is the one stoing the lagest subtee. Let L be the list of vetices odeed by this tavesal. 2. Build a segment tee T B whose leaf nodes fom left to ight epesent the vetices in list L. 3. Augment each node z of T B with a binay seach tee E(z), stoing all the edges (u, v) E whee u is a leaf node in the subtee ooted at z in T B. These edges ae soted accoding to the position of the second endpoint in L. 8

9 s x z u w y v t DFS tee T (x,s) (z,w) (w,s) (s,w) (t,w) x z w s t y u v (z,t) (w,t) T B x z w s t y u v List L Figue 5: (i) The highest edge fom subtee T (w) on path(x, y) is edge (x, s) and the lowest edges ae edge (z, w) and (z, t). (ii) The vetices of T (w) ae epesented as union of two subtees in segment tee T B. The constuction of D descibed above ensues the following popeties which ae helpful in answeing a quey Quey(T (w), x, y) (see Figue 5). T (w) is pesent as an inteval of vetices in L (by step 1). Moeove, this inteval can be expessed as a union of O(log n) disjoint subtees in T B (by step 2). Let these subtees be T B (z 1 ),..., T B (z q ). It follows fom the heavy-light decomposition used in step 1 that path path(x, y) can be divided into O(log n) subpaths path(x 1, y 1 ),..., path(x l, y l ) such that each subpath path(x i, y i ) is an inteval in L. Let quey Q(z, x, y) etun the edge on path(x, y) fom the vetices in the subtee T B (z), that is closest to vetex x. Then it follows fom step 3 that any quey Q(z j, x i, y i ) can be answeed by a single pedecesso o successo quey on BST E(z j ) in O(log n) time. To answe Quey(T (w), x, y), we thus find the edge closest to x among all the edges epoted by the queies {Q(z j, x i, y i ) 1 j q and 1 i l}. Thus, Quey(T (w), x, y) can be answeed in O(log 3 n) time. Notice that Quey(w, x, y) can be consideed as a special case whee q = 1 and T B (z 1 ) is the leaf node of T B epesenting w, i.e., z 1 = w. The space equied by D is O(m log n) as each edge is stoed at O(log n) levels in T B. Now, the segment tee T B can be built in linea time. Futhe, fo evey node u T B, the soted list of edges in E(u) can be computed in linea time by meging the soted lists of its childen. Thus, the binay seach tee E(u) fo each node u T B can be built in time linea in the numbe of edges in E(u). Hence the total time equied to build this data stuctue is O(m log n). Thus, we have the following theoem. Theoem 4.1 The queies Quey(T (w), x, y), Quey(w, x, y) on T can be answeed in O(log 3 n) wost case time using a data stuctue D of size O(m log n), which can be built in O(m log n) time. Note: Pocedue Reoot can also use a simple vesion of D which equies a smalle quey time. Howeve, ou geneic algoithm (descibed in Section 7) would equie these additional featues of D as follows. 1. Fo Pocedue Reoot, the binay seach tee E(u) stoed at each node u of T B can be eplaced by an aay stoing the soted list of edges, making it simple to implement. Howeve, ou geneic algoithm also equies deletion of edges fom D. An edge can be deleted fom D by deleting the edge fom the binay seach tees stoed at its endpoints and thei ancestos in T B. Since a deletion in a binay seach tee takes O(log n) time, an edge can be deleted fom D in O(log 2 n) time. 2. Pocedue Reoot only pefoms the second type of quey, i.e., Quey(T (w), x, y). Thus, it would essentially be queying only the pat of path(x, y) compising of the ancestos of w in path(x, y). 9

10 This is thus equivalent to Quey(T (w), LCA(x, w), LCA(y, w)) (see Figue 5), which will answe the equied quey as the only edges fom T (w) in this inteval ae incident on path(x, y). In such a case, heavy-light decomposition and hence division of path(x, y) to O(log n) subpaths would not be equied. Hence, on each node in u T B, the quey is pefomed fo a single path, equiing total O(log 2 n) time. Howeve, ou geneic algoithm also uses the fist type of quey, i.e., Quey(w, x, y), whee w can be an ancesto of x and y. In such a case, we need to pefom the quey only on contiguous intevals of L as the inteval between x and y in L would have seveal othe edges fom w that ae not incident on path(x, y). This necessitates the use of heavy-light decomposition and hence each quey equies O(log 3 n) time. 5 Handling multiple updates - Oveview DFS tee can be computed in Õ(n) time afte a single update in the gaph, by educing it to Pocedue Reoot. Howeve, the same pocedue cannot be diectly applied to handle a sequence of updates because of the following eason. The efficiency of Pocedue Reoot cucially depends on the data stuctue D which is built using the DFS tee T of the oiginal gaph. Thus, when the DFS tee is updated, we ae equied to ebuild D fo the updated tee. Now, ebuilding D is highly inefficient because it equies O(m log n) time. Thus, in ode to handle a sequence of updates, ou aim is to use the same D fo handling multiple updates, without having to ebuild it afte evey update. We now give an oveview of the algoithm that epots the DFS tee afte a set U of updates. In case of a single update, all the edges epoted by D ae added to the final DFS tee T. Howeve, while handling multiple updates, we use D to build educed adjacency lists fo vetices of the gaph, such that the DFS tavesal of the gaph using these spase lists gives the DFS tee of the updated gaph. Now, the data stuctue D finds the lowest/highest edge fom a subtee of T to an ancesto-descendant path of T. Thus, in ode to employ D to epot DFS tee of G + U, we need to ensue that the queied subtees and paths do not contain any failed edges o vetices fom U. Hence, fo any set U of updates, we compute a patitioning of T into a disjoint collection of ancesto-descendant paths and subtees such that none of these subtees and paths contain any failed edge o vetex. An impotant popety of this patitioning is that thee ae no edges fom G lying between any two subtees in this patitioning. We efe to this patitioning as a disjoint tee patitioning. Note that this patitioning depends only upon the vetex and edge failues pesent in the set U. Recall that duing the DFS tavesal we need to find the lowest edge fom each component C of the unvisited gaph. It tuns out that any component C can be epesented as a union of subtees and ancestodescendant paths of the oiginal DFS tee T. The components popety can now be employed to compute the educed adjacency lists of the vetices of the gaph as follows. We just find the lowest edge fom each of the subtees and the ancesto-descendant paths to T by queying the data stuctue D. Let this edge be (x, y) whee x T and y C. We can just add y to the educed adjacency list L(x) of x. Since the components popety ensues the emaining edges to T can be ignoed, the DFS tavesal would thus conside all possible candidates fo the lowest edge fom evey component C to T. Let the initial disjoint tee patitioning consist of a set of ancesto-descendant paths P and a set of subtees T. The algoithm fo computing a DFS tee of G + U can be summaized as follows: Pefom the static DFS tavesal on the gaph with the elements of P T as the supe vetices. Visiting a supe vetex v by the algoithm involves extacting an ancesto-descendant path p 0 fom v and attaching it to the patially gown DFS tee T. The emaining pat of v is added back to P T as new supe vetices. Theeafte, the educed adjacency lists of the vetices on path p 0 ae computed using the data stuctue D. The algoithm then continues to find the next supe vetex using the educed adjacency lists and so on. 10

11 6 Disjoint Tee Patitioning We fomally define disjoint tee patitioning as follows. Definition 6.1 Given a DFS tee T of an undiected gaph G and a set U of failed vetices and edges, let A be a vetex set in G + U. The disjoint tee patitioning defined by A is a patition of the subgaph of T induced by A into 1. A set of paths P such that (i) each path in P is an ancesto-descendant path in T and does not contain any deleted edge o vetex, and (ii) P U. 2. A set of tees T such that each tee τ T is a subtee of T which does not contain any deleted edge o vetex. Note that fo any τ 1, τ 2 T, thee is no edge between τ 1 and τ 2 because T is a DFS tee. The disjoint tee patitioning fo set A = V \{} can be computed as follows. Let V f and E f espectively denote the set of failed vetices and edges associated with the updates U. We initialize P = and T = {T (w) w is a child of }. We efine the patitioning by pocessing each vetex v V f as follows (see Figue 6 (i)). If v is pesent in some T T, we add the path fom pa(v) to the oot of T to P. We emove T fom T and add all the subtees hanging fom this path to T. If v is pesent in some path p P, we split p at v into two paths. We emove p fom P and add these two paths to P. Edge deletions ae handled as follows. We fist emove edges fom E f that don t appea in T. Pocessing of the emaining edges fom E f is quite simila to the pocessing of V f as descibed above. Fo each edge e E f, just visualize deleting an imaginay vetex lying at mid-point of the edge e (see Figue 6 (ii)). It takes O(n) time to pocess any v V f and any e E f. a b h i j a b h i j a b h i j c k c k c k u d e f g x l o p q m s n t u d e f g x l o p q m s n t u d e f g x l o p q m s n t v w y z v w y z v w y z (i) (ii) (iii) Figue 6: Disjoint tee patitioning fo V \ {}: (i) Initializing T = {T (a), T (h)} and P =, (ii) Disjoint tee patition obtained afte deleting the vetex g. (iii) Final disjoint tee patition obtained afte deleting the edges (c, d) and (m, n). Note that each update can add at most one path to P. So the size of P is bounded by U. The fact that T is a DFS tee of G ensues that no two subtees in T will have an edge between them. So P T satisfies all the conditions stated in Definition

12 Pocedue Static-DFS(G, ): Static algoithm to compute a DFS tee of G ooted at. 1 Stack S ; 2 P ush(); 3 status() visited; 4 while S empty do 5 w T op(s); 6 if N(w) = then P op(w); 7 else 8 u Fist vetex in N(w); 9 Remove u fom N(w); 10 if status(u) = unvisited then 11 pa(u) w; 12 status(u) visited; 13 P ush(u); 14 end 15 end 16 end (i) Pocedue Dynamic-DFS(G, U, ): Algoithm fo updating the DFS tee T ooted at fo the gaph G + U. 1 Stack S ; (T, P) P atition(t, U); 2 P ush(); 3 status() visited; L() N(); 4 while S empty do 5 w T op(s); u 0 w; 6 if L(w) = then P op(w); 7 else 8 u Fist vetex in L(w); 9 Remove u fom L(w); 10 if status(u) = unvisited then 11 if info(u) = tee then 12 {u 1,..., u t } DFS-in-Tee(u); 13 else if info(u) = path then 14 {u 1,..., u t } DFS-in-Path(u); 15 end 16 fo i = 1 to t do 17 pa(u i ) u i 1 ; 18 status(u i ) visited; 19 P ush(u i ); 20 end 21 end 22 end 23 end Figue 7: The static (and dynamic) algoithm fo computing (updating) a DFS tee. The key diffeences ae shown in blue. 1 (ii) Lemma 6.1 Given an undiected gaph G with a DFS tee T and a set U of failing vetices and edges, we can find a disjoint tee patition of set V \ {} in O(n U ) time. 7 Fault toleant DFS Tee We fist pesent a fault toleant algoithm fo a DFS tee. Let U be any given set of failed vetices o edges in G. In ode to compute the DFS tee T fo G + U, ou algoithm fist constucts a disjoint tee patition (T, P) fo V \{} defined by the updates U (see Lemma 6.1). Theeafte, it can be visualized as the static DFS tavesal on the gaph whose (supe) vetices ae the elements of P T. Note that ou notion of supe vetices is fo the sake of undestanding only. Conside the stack-based implementation of the static algoithm fo computing a DFS tee ooted at a vetex in gaph G (efe to Figue 7(i)). Ou algoithm fo computing DFS tee fo G + U (efe to Figue 7(ii)) is quite simila to the static algoithm. The only points of diffeence ae the following. In the static DFS algoithm wheneve a vetex is visited, it is attached to the DFS tee and pushed into the stack S. In ou algoithm when a vetex u in some supe vetex v s P T is visited, a path stating fom u is extacted fom v s and attached to the DFS tee, and this entie path is pushed into the stack S. 12

13 Instead of scanning the entie adjacency list N(w) of a vetex w, the educed adjacency list L(w) is scanned. When a path is extacted fom a supe vetex v s, the emaining unvisited pat of v s is added back to T P. Howeve, we need to ensue that the popeties of disjoint tee patitioning ae satisfied in the updated T P. This is achieved using Pocedue DFS-in-Path and Pocedue DFS-in-Tee, which also build the educed adjacency list fo the vetices on the path. The constuction of a spase educed adjacency list is inspied by the components popety which can be adapted in the context of ou algoithm as follows. Lemma 7.1 (Adapted components popety) When a path p is attached to the patially constucted DFS tee T duing the algoithm, fo evey edge (x, y), whee x p and y belongs to the unvisited gaph the following condition holds. Eithe y is added to L(x) o y is added to L(x ) fo some edge (x, y ) whee x is a descendant (not necessaily pope) of x in p and y is connected to y in the unvisited gaph. We now descibe how the popeties of disjoint tee patitioning and hence the adapted components popety is maintained by ou algoithm when a vetex v v s is visited by the tavesal. 1. Let v s = path(x, y) P. Exploiting the flexibility of DFS, we tavese fom v to the fathe end of path(x, y). Now, path(x, y) is emoved fom P and the untavesed pat of path(x, y) (with length at most half of path(x, y) ) is added back to P. We efe to this as path halving. This technique was also used by Aggawal and Andeson [2] in thei paallel algoithm fo computing DFS tee in undiected gaphs. Notice that P emains unchanged o deceases by 1 afte this step. 2. Let v s = τ T. Exploiting the flexibility of a DFS tavesal, we tavese the path fom v to the oot of τ, say x, and add it to T. Theeafte, τ is emoved fom T and all the subtees hanging fom this path ae added to T. Obseve that evey newly added subtee is also a subtee of the oiginal DFS tee T. So the popeties of disjoint tee patitioning ae satisfied afte this step as well. Let path(v, x) be the path extacted fom v s. Fo each vetex w in this newly added path, we compute L(w) ensuing the adapted components popety as follows. (i) Fo each path p P, among potentially many edges incident on w fom p, we just add any one edge. (ii) Fo each tee τ T, we add at most one edge to L as follows. Among all edges incident on τ fom path(v, x), if (w, z) is the edge such that w is neaest to x on path(v, x), then we add z to L(w). Howeve, fo the case v s T, we have to conside only the newly added subtees in T fo this step. This is because the disjoint tee patitioning ensues the absence of edges between v s and any othe tee in T. Figue 8 povides an illustation of how T P is updated when a supe vetex in T P is visited. 7.1 Implementation of ou Algoithm We now descibe ou algoithm in full detail. Fistly we delete all the failed edges in U fom the data stuctue D. Now, the algoithm begins with a disjoint tee patition (T, P) which evolves as the algoithm poceeds. The state of any unvisited vetex in this patition is captued by the following thee vaiables. -INFO(u): this vaiable is set to tee if u belongs to a tee in T, and set to path othewise -ISROOT(v): this vaiable is set to T ue if v is the oot of a tee in T, and F alse othewise. -PATHPARAM(v): if v belongs to some path, say path(x, y), in P, then this vaiable stoes the pai (x, y), and null othewise. 13

14 g f a b c d i e l m h j k n o p q s t m h l i f j g k a e d c b q p s t o n (i) (ii) Figue 8: Visiting a supe vetex fom T P. (i) The algoithm visits T (a) T using the edge (, e) and the path(n, t) P using the edge (, q). (ii) Tavesal extacts path(e, a) and path(q, n) and augment it to T. The unvisited segments ae added back to T and P. Pocedue Dynamic-DFS : Fo each vetex v, status(v) is initially set as unvisited, and L(v) is initialized to. Fist a disjoint tee patition is computed fo the DFS tee T based on the updates U. The pocedue Dynamic-DFS then insets the oot vetex into the stack S. While the stack is non-empty, the pocedue epeats the following steps. It eads the top vetex fom the stack. Let this vetex be w. If L(w) is empty then w is popped out fom the stack, else let u be the fist vetex in L(w). If vetex u is unvisited till now, then depending upon whethe u belongs to some tee in T o some path in P, Pocedue DFS-in-Tee o DFS-in-Path is executed. A path p 0 is then etuned to Pocedue Dynamic-DFS whee fo each vetex of p 0 paent is assigned and status is maked visited. The whole of this path is then pushed into stack. The pocedue poceeds to the next iteation of While loop with the updated stack. Pocedue DFS-in-Tee : Let vetex u be pesent in tee, say T (v), in T (the vetex v can be found easily by scanning the ancestos of u and checking thei value of ISROOT). The DFS tavesal entes the tee fom u and leaves fom the vetex v. Let path(u, v) = w 1 = u, w 2..., w t = v. The path(u, v) is pushed into stack and attached to the patially constucted DFS tee T. We now update the patition (P, T ) and also update the educed adjacency list fo each w i pesent on path(u, v) as follows. 1. Fo each vetex w i and evey path path(x, y) P, we pefom Quey(w i, x, y) on the data stuctue D that etuns an edge (w i, z) such that z path(x, y). We add z to L(w i ). 2. Recall that since subtees in T do not have any coss edge between them, theefoe, thee cannot be any edge incident on path(u, v) fom tees which ae aleady pesent in T. An edge can be incident only fom the subtees which wee hanging fom path(u, v). T (v) is emoved fom T and all the subtees of T (v) hanging fom path(u, v) ae inseted into T. Fo each such subtee, say τ, inseted into T, we pefom Quey(τ, v, u) on the data stuctue D that etuns an edge, say (y, z), such that z τ and y is neaest to v on path(u, v). We inset z into L(y). Pocedue DFS-in-Path : Let vetex u visited by the DFS tavesal lies on a path(v, y) P. Assume dist T (u, v) > dist T (u, y). The DFS tavesal tavels fom u to v (the fathe end of the path). The path path(v, y) in set P is eplaced by its subpath that emains unvisited. The educed adjacency list of each 14

15 Pocedue DFS-in-Tee(u): DFS tavesal entes fom node u and exits fom v, the oot of the tee containing node u in set T. 1 v u; 2 while IsRoot(v) T ue do 3 v pa(v) 4 end 5 IsRoot(v) F alse; 6 T T \T (v); 7 (w 1,..., w t ) path(u, v); 8 fo i = 1 to t do 9 foeach path(x, y) P do 10 if Quey(w i, x, y) then 11 (w i, z) Quey(w i, x, y); 12 L(w i ) L(w i ) {z}; 13 end 14 end 15 foeach child w of w i except w i 1 do 16 (y, z) Quey(T (w), v, u); /* whee y path(u, v) */ 17 L(y) L(y) {z}; 18 T T T (w); 19 IsRoot(w) T ue; 20 end 21 end 22 Retun path(u, v); Pocedue DFS-in-Path(u): DFS tavesal entes fom node u and exits fom v, the fathe end of path containing node u in set P. 1 (v, d) PathPaam(u); 2 if dist T (u, d) > dist T (u, v) then Swap(v, d); 3 c Neighbo of u on path(v, d) neae to d; 4 P (P\path(v, d)) path(c, d); 5 fo c path(c, d) do 6 PathPaam(c ) (c, d); 7 end 8 (w 1,..., w t ) path(u, v); 9 fo i = 1 to t do 10 foeach path(x, y) P do 11 if Quey(w i, x, y) then 12 (w i, z) Quey(w i, x, y); 13 L(w i ) L(w i ) {z}; 14 end 15 end 16 end 17 foeach T (w) T do 18 if Quey(T (w), v, u) then 19 (y, z) Quey(T (w), v, u); /* whee y path(u, v) */ 20 L(y) L(y) {z}; 21 end 22 end 23 Retun path(u, v); Figue 9: The pseudocode of Pocedues DFS-in-Tee and Pocedues DFS-in-Path. 1 w path(u, v) is updated in a simila way as in the pocedue DFS-in-Tee except that in step 2, we pefom Quey(τ, u, v) fo each τ T. Note that while pefoming step 1, the vetex w i can be an ancesto of the vetices of path(x, y). This is because the vetices of a path in P can be ancestos of the vetices of anothe path in P. This was not tue fo Pocedue DFS-in-Tees because vetices of a subtee in T cannot be ancestos of vetices of any path in P. Thus, ou data stuctue D needs to suppot queies whee w i is an ancesto of the queied path (efe to the note at the end of Section 4). The eade may efe to Figue 9 fo pseudocode of Pocedues DFS-in-Tee and DFS-in-Path. This completes the desciption of the fault toleant algoithm fo DFS tee. This algoithm maintains the adapted components popety at each stage by constuction given that the popeties of disjoint tee patitioning ae satisfied. 7.2 Coectness It can be seen that the following two invaiants hold fo the while loop in the Pocedue Static-DFS descibed in Figue 7 (i). It is easy to see that these invaiants imply the coectness of the algoithm, i.e., the geneated tee is a ooted spanning tee whee evey non-tee edge is a back edge. I 1 : The sequence of vetices in the stack fom bottom to top constitutes an ancesto-descendant path fom in the DFS tee computed. I 2 : Fo each vetex v that is popped out, all vetices in the set N(v) have aleady been visited. 15

16 These two invaiants I 1 and I 2 also hold fo Pocedue Dynamic-DFS descibed in Figue 7 (ii) as follows. Invaiant I 1 holds by constuction as descibed in ou algoithm. Following lemma poves that invaiant I 2 is maintained by ou algoithm since it follows the adapted components popety by constuction. Lemma 7.2 If the adapted components popety is maintained by the Pocedue Dynamic-DFS, then invaiant I 2 will hold tue at each stage of the algoithm. Poof: We give a poof by contadiction as follows. Assume that x is the fist vetex that is popped out of the stack befoe some vetex y N(x) is visited. Conside the time when a path p containing x was pushed in the stack. Clealy y / L(x), hence using the adapted components popety we know that some y L(x ) is connected to y in the unvisited gaph whee x is a descendant (not necessaily pope) of x in p. Let p be a path between y and y in the unvisited gaph. Now, conside the time when x is popped out of the stack. Clealy all its descendants including x have been popped out, so using invaiant I 2 fo x, y has been visited by the tavesal. Thus, p can be divided into two non-empty sets A and B denoting visited and unvisited vetices of p espectively. Hee y A and y B, thus clealy fo the last vetex of p that is pesent in A, the invaiant I 2 is not satisfied. This contadicts ou assumption that x is the fist vetex that is popped out of the stack fo which I 2 is not satisfied. Thus, maintenance of the adapted components popety ensues the invaiant I 2 in ou algoithm. Hence, ou algoithm indeed computes a valid DFS tee fo G + U. 7.3 Time complexity analysis As descibed ealie the disjoint tee patitioning and the components popety play a key ole in the efficiency of ou algoithm. They allow us to limit the size of the educed adjacency lists L, that ae built duing the algoithm. Ou algoithm computes T by pefoming a DFS tavesal on the educed adjacency list L. Thus, the time complexity of ou algoithm is O(n + L ) excluding the time equied to compute L. We fist establish a bound on the size of L. In each step ou algoithm extacts a path fom v s P T and attaches it to T. Let P t and P p denote the set of such paths that oiginally belonged to some tee in T and some path in P, espectively. Fo evey path p 0 P t P p ou algoithm pefoms the following queies on D. (i) Fo each vetex w in p 0, we quey each path in P fo an edge incident on the vetex w. Thus, the total numbe of edges added to L by these queies is O(n P ). (ii) If p 0 belongs to P p, then we quey fo an edge fom each τ T to p 0. It follows fom the path halving technique that each path in P educes to at most half of its length wheneve some path is extacted fom it and attached to T. Hence, the size of P p is bounded by P log n. (iii) If p 0 belongs to P t, then we quey fo an edge fom only those subtees which wee hanging fom p 0. Note that these subtees will now be added to set T. Hence, the total numbe of tees queied fo this case will be bounded by numbe of tees inseted to T. Since each subtee can be added to T only once, these edges ae bounded by O(n) thoughout the algoithm. Thus, the size of L is bounded by O ( n(1+ P ) log n ). Since each edge added to L equies queying the data stuctue D which takes O(log 3 n) time, the total time taken to compute L is O ( n(1+ P log n) log 3 n ). Thus, we have the following lemma. Lemma 7.3 An undiected gaph can be pepocessed to build a data stuctue of O(m log n) size such that fo any set U of k failed vetices o edges (whee k n), the DFS tee of G + U can be epoted in O(n(1 + P log n) log 3 n) time. 16

17 Fom Definition 6.1 we have that P is bounded by U. Thus, we have the following theoem. Theoem 7.1 An undiected gaph can be pepocessed to build a data stuctue of O(m log n) size such that fo any set U of k failed vetices o edges (whee k n), the DFS tee of G + U can be epoted in O(nk log 4 n) time. It can be obseved that Theoem 7.1 diectly implies a data stuctue fo fault toleant DFS tee. 7.4 Extending the algoithm to handle insetions In ode to update the DFS tee, ou focus has been to estict the numbe of edges that ae pocessed. Fo the case when the updates ae deletions only, we have been able to estict this numbe to O(nk log n), fo a given set of k updates (failue of vetices o edges). We now descibe the pocedue to handle vetex and edge insetions. Let V I be the set of vetices inseted, and E I be the set of edges inseted. (including the edges incident to the vetices in V I ). If thee ae k vetex insetions, the size of E I is bounded by nk. So even if we add all the edges in E I to the educed adjacency lists, the size of L would still be bounded by O(nk log n). Hence, we pefom the following two additional steps befoe stating the DFS tavesal. Initialize L(v) to stoe the edges in E I instead of. That is, L(v) {y (y, v) E I } Each newly inseted vetex is teated as a singleton tee and added to T. That is, T T {x x V I }. In ode to establish that ou algoithm, afte incopoating the insetions, coectly computes a DFS tee of G + U, we need to ensue that all the edges essential fo DFS tavesal as descibed in the adapted components popety ae added to L. All the essential edges fom G ae added to L duing the algoithm itself. In case an essential edge belongs to E I, the edge has aleady been added to L duing its initialization. Note that the time taken by ou algoithm emains unchanged since the size of L emains bounded by O(nk log n). This completes the poof of ou main esult stated in Theoem 1.1. Let us conside the case when U consists of insetions only. In this case P will be an empty set. As discussed above, we initialize the educed adjacency lists using E I whose size is equal to U. Additionally, since the vetices in V I would be added to the set of tees, V I would be added to n. Hence, Lemma 7.3 implies the following theoem. Theoem 7.2 An undiected gaph can be pepocessed to build a data stuctue of O(m log n) size such that fo any set U of k vetex insetions and m edge insetions, a DFS tee of G + U can be epoted in O(m + (n + k) log 3 n) time. Note: In Theoem 7.2, the size of input is k + m. Also, even a single insetion may change Ω(n) edges of the DFS tee. Hence ou algoithm is optimal upto Õ(1) factos fo pocessing edge o vetex insetions if the DFS tee has to be maintained explicitly. 8 Fully dynamic DFS We now descibe the ovelapped peiodic ebuilding technique to convet ou algoithm fo computing a DFS tee afte k updates to fully dynamic and incemental algoithms fo maintaining a DFS tee. Simila technique was used by Thoup [44] fo maintaining fully dynamic all pais shotest paths. In the fully dynamic model, we need to epot the DFS tee afte evey update in the gaph. Given the data stuctue D built using the DFS tee of the gaph G, we ae able to epot the DFS tee of G + U afte U = k updates in Õ(nk) time. This becomes inefficient if k becomes lage. Rebuilding D afte evey update is also inefficient as it takes Õ(m) time to build D. Thus, it is bette to ebuild D afte evey U = c 17

Lecture 27: Voronoi Diagrams

Lecture 27: Voronoi Diagrams We say that two points u, v Y ae in the same connected component of Y if thee is a path in R N fom u to v such that all the points along the path ae in the set Y. (Thee ae two connected components in the

More information

Shortest Paths for a Two-Robot Rendez-Vous

Shortest Paths for a Two-Robot Rendez-Vous Shotest Paths fo a Two-Robot Rendez-Vous Eik L Wyntes Joseph S B Mitchell y Abstact In this pape, we conside an optimal motion planning poblem fo a pai of point obots in a plana envionment with polygonal

More information

Strongly Connected Components. Uses for SCC s. Two Simple SCC Algorithms. Directed Acyclic Graphs

Strongly Connected Components. Uses for SCC s. Two Simple SCC Algorithms. Directed Acyclic Graphs CSE Intoduction to Algoithms Depth Fist Seach and Stongly Connected Components W.L. Ruzzo, Summe 00 Undiected Depth-Fist Seach It s not just fo tees DFS() back edge tee edge if maked then etun; mak ; #

More information

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES Svetlana Avetisyan Mikayel Samvelyan* Matun Kaapetyan Yeevan State Univesity Abstact In this pape, the class

More information

Embeddings into Crossed Cubes

Embeddings into Crossed Cubes Embeddings into Cossed Cubes Emad Abuelub *, Membe, IAENG Abstact- The hypecube paallel achitectue is one of the most popula inteconnection netwoks due to many of its attactive popeties and its suitability

More information

Towards Adaptive Information Merging Using Selected XML Fragments

Towards Adaptive Information Merging Using Selected XML Fragments Towads Adaptive Infomation Meging Using Selected XML Fagments Ho-Lam Lau and Wilfed Ng Depatment of Compute Science and Engineeing, The Hong Kong Univesity of Science and Technology, Hong Kong {lauhl,

More information

FACE VECTORS OF FLAG COMPLEXES

FACE VECTORS OF FLAG COMPLEXES FACE VECTORS OF FLAG COMPLEXES ANDY FROHMADER Abstact. A conjectue of Kalai and Eckhoff that the face vecto of an abitay flag complex is also the face vecto of some paticula balanced complex is veified.

More information

Undirected Depth-First Search. CSE 421 Introduction to Algorithms. Undirected Depth-First Search. Directed Depth First Search

Undirected Depth-First Search. CSE 421 Introduction to Algorithms. Undirected Depth-First Search. Directed Depth First Search CSE Intoduction to Algoithms Undiected Depth-Fist Seach It s not just fo tees Depth Fist Seach and Stongly Connected Components DFS() back edge tee edge if maked then etun; mak ; # := ++count; fo all edges

More information

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma apreduce Optimizations and Algoithms 2015 Pofesso Sasu Takoma www.cs.helsinki.fi Optimizations Reduce tasks cannot stat befoe the whole map phase is complete Thus single slow machine can slow down the

More information

Reachable State Spaces of Distributed Deadlock Avoidance Protocols

Reachable State Spaces of Distributed Deadlock Avoidance Protocols Reachable State Spaces of Distibuted Deadlock Avoidance Potocols CÉSAR SÁNCHEZ and HENNY B. SIPMA Stanfod Univesity We pesent a family of efficient distibuted deadlock avoidance algoithms with applications

More information

n If S is in convex position, then thee ae exactly k convex k-gons detemined by subsets of S. In geneal, howeve, S may detemine fa fewe convex k-gons.

n If S is in convex position, then thee ae exactly k convex k-gons detemined by subsets of S. In geneal, howeve, S may detemine fa fewe convex k-gons. Counting Convex Polygons in Plana Point Sets Joseph S. B. Mitchell a;1, Günte Rote b, Gopalakishnan Sundaam c, and Gehad Woeginge b a Applied Mathematics and Statistics, SUNY Stony Book, NY 11794-3600.

More information

ART GALLERIES WITH INTERIOR WALLS. March 1998

ART GALLERIES WITH INTERIOR WALLS. March 1998 ART GALLERIES WITH INTERIOR WALLS Andé Kündgen Mach 1998 Abstact. Conside an at galley fomed by a polygon on n vetices with m pais of vetices joined by inteio diagonals, the inteio walls. Each inteio wall

More information

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012 2011, Scienceline Publication www.science-line.com Jounal of Wold s Electical Engineeing and Technology J. Wold. Elect. Eng. Tech. 1(1): 12-16, 2012 JWEET An Efficient Algoithm fo Lip Segmentation in Colo

More information

Evaluation of Partial Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data Evaluation of Patial Path Queies on XML Data Stefanos Souldatos Dept of EE & CE NTUA, Geece stef@dblab.ntua.g Theodoe Dalamagas Dept of EE & CE NTUA, Geece dalamag@dblab.ntua.g Xiaoying Wu Dept. of CS

More information

Detection and Recognition of Alert Traffic Signs

Detection and Recognition of Alert Traffic Signs Detection and Recognition of Alet Taffic Signs Chia-Hsiung Chen, Macus Chen, and Tianshi Gao 1 Stanfod Univesity Stanfod, CA 9305 {echchen, macuscc, tianshig}@stanfod.edu Abstact Taffic signs povide dives

More information

Evaluation of Partial Path Queries on XML data

Evaluation of Partial Path Queries on XML data Evaluation of Patial Path Queies on XML data Stefanos Souldatos Dept of EE & CE, NTUA stef@dblab.ntua.g Theodoe Dalamagas Dept of EE & CE, NTUA dalamag@dblab.ntua.g Xiaoying Wu Dept. of CS, NJIT xw43@njit.edu

More information

DUe to the recent developments of gigantic social networks

DUe to the recent developments of gigantic social networks Exploing Communities in Lage Pofiled Gaphs Yankai Chen, Yixiang Fang, Reynold Cheng Membe, IEEE, Yun Li, Xiaojun Chen, Jie Zhang 1 Abstact Given a gaph G and a vetex q G, the community seach (CS) poblem

More information

Dynamic DFS in Undirected Graphs: breaking the O(m) barrier

Dynamic DFS in Undirected Graphs: breaking the O(m) barrier Dynamic DFS in Undirected Graphs: breaking the O(m) barrier Surender Baswana Shreejit Ray Chaudhury Keerti Choudhary Shahbaz Khan Given an undirected graph G = (V, E) on n vertices and m edges, we address

More information

UNION FIND. naïve linking link-by-size link-by-rank path compression link-by-rank with path compression context. An Improved Equivalence Algorithm

UNION FIND. naïve linking link-by-size link-by-rank path compression link-by-rank with path compression context. An Improved Equivalence Algorithm Disjoint-sets data type Lectue slides by Kevin Wayne Copyight 5 Peason-Addison Wesley http://www.cs.pinceton.edu/~wayne/kleinbeg-tados UNION FIND naïve linking link-by-size link-by-ank path compession

More information

HISTOGRAMS are an important statistic reflecting the

HISTOGRAMS are an important statistic reflecting the JOURNAL OF L A T E X CLASS FILES, VOL. 14, NO. 8, AUGUST 2015 1 D 2 HistoSketch: Disciminative and Dynamic Similaity-Peseving Sketching of Steaming Histogams Dingqi Yang, Bin Li, Laua Rettig, and Philippe

More information

Communication vs Distributed Computation: an alternative trade-off curve

Communication vs Distributed Computation: an alternative trade-off curve Communication vs Distibuted Computation: an altenative tade-off cuve Yahya H. Ezzeldin, Mohammed amoose, Chistina Fagouli Univesity of Califonia, Los Angeles, CA 90095, USA, Email: {yahya.ezzeldin, mkamoose,

More information

Separability and Topology Control of Quasi Unit Disk Graphs

Separability and Topology Control of Quasi Unit Disk Graphs Sepaability and Topology Contol of Quasi Unit Disk Gaphs Jiane Chen, Anxiao(Andew) Jiang, Iyad A. Kanj, Ge Xia, and Fenghui Zhang Dept. of Compute Science, Texas A&M Univ. College Station, TX 7784. {chen,

More information

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes On the Convesion between Binay Code and BinayReflected Gay Code on Boolean Cubes The Havad community has made this aticle openly available. Please shae how this access benefits you. You stoy mattes Citation

More information

The International Conference in Knowledge Management (CIKM'94), Gaithersburg, MD, November 1994.

The International Conference in Knowledge Management (CIKM'94), Gaithersburg, MD, November 1994. The Intenational Confeence in Knowledge Management (CIKM'94), Gaithesbug, MD, Novembe 994. Hashing by Poximity to Pocess Duplicates in Spatial Databases Walid G. Aef Matsushita Infomation Technology Laboatoy

More information

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson DEADLOCK AVOIDANCE IN BATCH PROCESSES M. Tittus K. Åkesson Univesity College Boås, Sweden, e-mail: Michael.Tittus@hb.se Chalmes Univesity of Technology, Gothenbug, Sweden, e-mail: ka@s2.chalmes.se Abstact:

More information

Also available at ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010)

Also available at  ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) Also available at http://amc.imfm.si ISSN 1855-3966 (pinted edn.), ISSN 1855-3974 (electonic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) 109 120 Fulleene patches I Jack E. Gave Syacuse Univesity, Depatment

More information

Lecture # 04. Image Enhancement in Spatial Domain

Lecture # 04. Image Enhancement in Spatial Domain Digital Image Pocessing CP-7008 Lectue # 04 Image Enhancement in Spatial Domain Fall 2011 2 domains Spatial Domain : (image plane) Techniques ae based on diect manipulation of pixels in an image Fequency

More information

Efficient protection of many-to-one. communications

Efficient protection of many-to-one. communications Efficient potection of many-to-one communications Miklós Molná, Alexande Guitton, Benad Cousin, and Raymond Maie Iisa, Campus de Beaulieu, 35 042 Rennes Cedex, Fance Abstact. The dependability of a netwok

More information

An Unsupervised Segmentation Framework For Texture Image Queries

An Unsupervised Segmentation Framework For Texture Image Queries An Unsupevised Segmentation Famewok Fo Textue Image Queies Shu-Ching Chen Distibuted Multimedia Infomation System Laboatoy School of Compute Science Floida Intenational Univesity Miami, FL 33199, USA chens@cs.fiu.edu

More information

DYNAMIC STORAGE ALLOCATION. Hanan Samet

DYNAMIC STORAGE ALLOCATION. Hanan Samet ds0 DYNAMIC STORAGE ALLOCATION Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives SPARK: Soot Reseach Kit Ondřej Lhoták Objectives Spak is a modula toolkit fo flow-insensitive may points-to analyses fo Java, which enables expeimentation with: vaious paametes of pointe analyses which

More information

Scaling Location-based Services with Dynamically Composed Location Index

Scaling Location-based Services with Dynamically Composed Location Index Scaling Location-based Sevices with Dynamically Composed Location Index Bhuvan Bamba, Sangeetha Seshadi and Ling Liu Distibuted Data Intensive Systems Laboatoy (DiSL) College of Computing, Geogia Institute

More information

And Ph.D. Candidate of Computer Science, University of Putra Malaysia 2 Faculty of Computer Science and Information Technology,

And Ph.D. Candidate of Computer Science, University of Putra Malaysia 2 Faculty of Computer Science and Information Technology, (IJCSIS) Intenational Jounal of Compute Science and Infomation Secuity, Efficient Candidacy Reduction Fo Fequent Patten Mining M.H Nadimi-Shahaki 1, Nowati Mustapha 2, Md Nasi B Sulaiman 2, Ali B Mamat

More information

TESSELLATIONS. This is a sample (draft) chapter from: MATHEMATICAL OUTPOURINGS. Newsletters and Musings from the St. Mark s Institute of Mathematics

TESSELLATIONS. This is a sample (draft) chapter from: MATHEMATICAL OUTPOURINGS. Newsletters and Musings from the St. Mark s Institute of Mathematics TESSELLATIONS This is a sample (daft) chapte fom: MATHEMATICAL OUTPOURINGS Newslettes and Musings fom the St. Mak s Institute of Mathematics James Tanton www.jamestanton.com This mateial was and can still

More information

Parametric Query Optimization for Linear and Piecewise Linear Cost Functions

Parametric Query Optimization for Linear and Piecewise Linear Cost Functions Paametic Quey Oimization fo Linea and Piecewise Linea Cost Functions Avind Hulgei S. Sudashan Indian Institute of Technology, Bombay {au, sudasha}@cse.iitb.ac.in Abstact The of a quey an depends on many

More information

Controlled Information Maximization for SOM Knowledge Induced Learning

Controlled Information Maximization for SOM Knowledge Induced Learning 3 Int'l Conf. Atificial Intelligence ICAI'5 Contolled Infomation Maximization fo SOM Knowledge Induced Leaning Ryotao Kamimua IT Education Cente and Gaduate School of Science and Technology, Tokai Univeisity

More information

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks Spial Recognition Methodology and Its Application fo Recognition of Chinese Bank Checks Hanshen Tang 1, Emmanuel Augustin 2, Ching Y. Suen 1, Olivie Baet 2, Mohamed Cheiet 3 1 Cente fo Patten Recognition

More information

A Family of Distributed Deadlock Avoidance Protocols and their Reachable State Spaces

A Family of Distributed Deadlock Avoidance Protocols and their Reachable State Spaces A Family of Distibuted Deadlock Avoidance Potocols and thei Reachable State Spaces Césa Sánchez, Henny B. Sipma, and Zoha Manna Compute Science Depatment Stanfod Univesity, Stanfod, CA 94305-9025 {cesa,sipma,manna}@cs.stanfod.edu

More information

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler POMDP: Intoduction to Patially Obsevable Makov Decision Pocesses Hossein Kamalzadeh, Michael Hahsle 2019-01-02 The R package pomdp povides an inteface to pomdp-solve, a solve (witten in C) fo Patially

More information

Module 6 STILL IMAGE COMPRESSION STANDARDS

Module 6 STILL IMAGE COMPRESSION STANDARDS Module 6 STILL IMAE COMPRESSION STANDARDS Lesson 17 JPE-2000 Achitectue and Featues Instuctional Objectives At the end of this lesson, the students should be able to: 1. State the shotcomings of JPE standad.

More information

A Memory Efficient Array Architecture for Real-Time Motion Estimation

A Memory Efficient Array Architecture for Real-Time Motion Estimation A Memoy Efficient Aay Achitectue fo Real-Time Motion Estimation Vasily G. Moshnyaga and Keikichi Tamau Depatment of Electonics & Communication, Kyoto Univesity Sakyo-ku, Yoshida-Honmachi, Kyoto 66-1, JAPAN

More information

An Optimised Density Based Clustering Algorithm

An Optimised Density Based Clustering Algorithm Intenational Jounal of Compute Applications (0975 8887) Volume 6 No.9, Septembe 010 An Optimised Density Based Clusteing Algoithm J. Hencil Pete Depatment of Compute Science St. Xavie s College, Palayamkottai,

More information

Modelling, simulation, and performance analysis of a CAN FD system with SAE benchmark based message set

Modelling, simulation, and performance analysis of a CAN FD system with SAE benchmark based message set Modelling, simulation, and pefomance analysis of a CAN FD system with SAE benchmak based message set Mahmut Tenuh, Panagiotis Oikonomidis, Peiklis Chachalakis, Elias Stipidis Mugla S. K. Univesity, TR;

More information

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE 5th Intenational Confeence on Advanced Mateials and Compute Science (ICAMCS 2016) A New and Efficient 2D Collision Detection Method Based on Contact Theoy Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai

More information

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension 17th Wold Confeence on Nondestuctive Testing, 25-28 Oct 2008, Shanghai, China Segmentation of Casting Defects in X-Ray Images Based on Factal Dimension Jue WANG 1, Xiaoqin HOU 2, Yufang CAI 3 ICT Reseach

More information

IP Network Design by Modified Branch Exchange Method

IP Network Design by Modified Branch Exchange Method Received: June 7, 207 98 IP Netwok Design by Modified Banch Method Kaiat Jaoenat Natchamol Sichumoenattana 2* Faculty of Engineeing at Kamphaeng Saen, Kasetsat Univesity, Thailand 2 Faculty of Management

More information

An Extension to the Local Binary Patterns for Image Retrieval

An Extension to the Local Binary Patterns for Image Retrieval , pp.81-85 http://x.oi.og/10.14257/astl.2014.45.16 An Extension to the Local Binay Pattens fo Image Retieval Zhize Wu, Yu Xia, Shouhong Wan School of Compute Science an Technology, Univesity of Science

More information

User Specified non-bonded potentials in gromacs

User Specified non-bonded potentials in gromacs Use Specified non-bonded potentials in gomacs Apil 8, 2010 1 Intoduction On fist appeaances gomacs, unlike MD codes like LAMMPS o DL POLY, appeas to have vey little flexibility with egads to the fom of

More information

Automatically Testing Interacting Software Components

Automatically Testing Interacting Software Components Automatically Testing Inteacting Softwae Components Leonad Gallaghe Infomation Technology Laboatoy National Institute of Standads and Technology Gaithesbug, MD 20899, USA lgallaghe@nist.gov Jeff Offutt

More information

IP Multicast Simulation in OPNET

IP Multicast Simulation in OPNET IP Multicast Simulation in OPNET Xin Wang, Chien-Ming Yu, Henning Schulzinne Paul A. Stipe Columbia Univesity Reutes Depatment of Compute Science 88 Pakway Dive South New Yok, New Yok Hauppuage, New Yok

More information

DYNAMIC STORAGE ALLOCATION. Hanan Samet

DYNAMIC STORAGE ALLOCATION. Hanan Samet ds0 DYNAMIC STORAGE ALLOCATION Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 074 e-mail: hjs@umiacs.umd.edu

More information

A Two-stage and Parameter-free Binarization Method for Degraded Document Images

A Two-stage and Parameter-free Binarization Method for Degraded Document Images A Two-stage and Paamete-fee Binaization Method fo Degaded Document Images Yung-Hsiang Chiu 1, Kuo-Liang Chung 1, Yong-Huai Huang 2, Wei-Ning Yang 3, Chi-Huang Liao 4 1 Depatment of Compute Science and

More information

GARBAGE COLLECTION METHODS. Hanan Samet

GARBAGE COLLECTION METHODS. Hanan Samet gc0 GARBAGE COLLECTION METHODS Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes CS630 Repesenting and Accessing Digital Infomation Infomation Retieval: Basics Thosten Joachims Conell Univesity Infomation Retieval Basics Retieval Models Indexing and Pepocessing Data Stuctues ~ 4 lectues

More information

Efficient Maximal Poisson-Disk Sampling

Efficient Maximal Poisson-Disk Sampling Efficient Maximal Poisson-Disk Sampling Mohamed S. Ebeida Sandia National Laboatoies Andew A. Davidson Univesity of Califonia, Davis Anjul Patney Univesity of Califonia, Davis Patick M. Knupp Sandia National

More information

Quality Aware Privacy Protection for Location-based Services

Quality Aware Privacy Protection for Location-based Services In Poceedings of the th Intenational Confeence on Database Systems fo Advanced Applications (DASFAA 007), Bangkok, Thailand, Apil 9-, 007. Quality Awae Pivacy Potection fo Location-based Sevices Zhen Xiao,,

More information

Assessment of Track Sequence Optimization based on Recorded Field Operations

Assessment of Track Sequence Optimization based on Recorded Field Operations Assessment of Tack Sequence Optimization based on Recoded Field Opeations Matin A. F. Jensen 1,2,*, Claus G. Søensen 1, Dionysis Bochtis 1 1 Aahus Univesity, Faculty of Science and Technology, Depatment

More information

Gravitational Shift for Beginners

Gravitational Shift for Beginners Gavitational Shift fo Beginnes This pape, which I wote in 26, fomulates the equations fo gavitational shifts fom the elativistic famewok of special elativity. Fist I deive the fomulas fo the gavitational

More information

Class 21. N -body Techniques, Part 4

Class 21. N -body Techniques, Part 4 Class. N -body Techniques, Pat Tee Codes Efficiency can be inceased by gouping paticles togethe: Neaest paticles exet geatest foces diect summation. Distant paticles exet smallest foces teat in goups.

More information

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18 Copyight (c) 2016-2018 Young W. Lim. Pemission is ganted to copy, distibute and/o modify this document unde the tems of the GNU Fee Documentation License, Vesion 1.2 o any late vesion published by the

More information

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented Quey Language #1/3: Relational Algeba Pue, Pocedual, and Set-oiented To expess a quey, we use a set of opeations. Each opeation takes one o moe elations as input paamete (set-oiented). Since each opeation

More information

Any modern computer system will incorporate (at least) two levels of storage:

Any modern computer system will incorporate (at least) two levels of storage: 1 Any moden compute system will incopoate (at least) two levels of stoage: pimay stoage: andom access memoy (RAM) typical capacity 32MB to 1GB cost pe MB $3. typical access time 5ns to 6ns bust tansfe

More information

Combinatorial Mobile IP: A New Efficient Mobility Management Using Minimized Paging and Local Registration in Mobile IP Environments

Combinatorial Mobile IP: A New Efficient Mobility Management Using Minimized Paging and Local Registration in Mobile IP Environments Wieless Netwoks 0, 3 32, 200 200 Kluwe Academic Publishes. Manufactued in The Nethelands. Combinatoial Mobile IP: A New Efficient Mobility Management Using Minimized Paging and Local Registation in Mobile

More information

Finding point-pairs. Find Closest Point from Dense Cloud

Finding point-pairs. Find Closest Point from Dense Cloud Finding point-pais Given an a, find a coesponding b on the suface. Then one appoach would be to seach evey possible tiangle o suface point and then take the closest point. The key is to find a moe efficient

More information

Input Layer f = 2 f = 0 f = f = 3 1,16 1,1 1,2 1,3 2, ,2 3,3 3,16. f = 1. f = Output Layer

Input Layer f = 2 f = 0 f = f = 3 1,16 1,1 1,2 1,3 2, ,2 3,3 3,16. f = 1. f = Output Layer Using the Gow-And-Pune Netwok to Solve Poblems of Lage Dimensionality B.J. Biedis and T.D. Gedeon School of Compute Science & Engineeing The Univesity of New South Wales Sydney NSW 2052 AUSTRALIA bbiedis@cse.unsw.edu.au

More information

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples Multi-azimuth Pestack Time Migation fo Geneal Anisotopic, Weakly Heteogeneous Media - Field Data Examples S. Beaumont* (EOST/PGS) & W. Söllne (PGS) SUMMARY Multi-azimuth data acquisition has shown benefits

More information

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor Obstacle Avoidance of Autonomous Mobile Robot using Steeo Vision Senso Masako Kumano Akihisa Ohya Shin ichi Yuta Intelligent Robot Laboatoy Univesity of Tsukuba, Ibaaki, 35-8573 Japan E-mail: {masako,

More information

Effective Data Co-Reduction for Multimedia Similarity Search

Effective Data Co-Reduction for Multimedia Similarity Search Effective Data Co-Reduction fo Multimedia Similaity Seach Zi Huang Heng Tao Shen Jiajun Liu Xiaofang Zhou School of Infomation Technology and Electical Engineeing The Univesity of Queensland, QLD 472,

More information

INDEXATION OF WEB PAGES BASED ON THEIR VISUAL RENDERING

INDEXATION OF WEB PAGES BASED ON THEIR VISUAL RENDERING INDEXATION OF WEB PAGES BASED ON THEIR VISUAL RENDERING Emmanuel Buno Univesité du Sud Toulon-Va / LSIS CNRS BP 20132, F-83957 La Gade buno@univ-tln.f Nicolas Faessel LSIS CNRS Domaine Univesitaie de Saint-Jéôme

More information

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS Daniel A Menascé Mohamed N Bennani Dept of Compute Science Oacle, Inc Geoge Mason Univesity 1211 SW Fifth

More information

Topic -3 Image Enhancement

Topic -3 Image Enhancement Topic -3 Image Enhancement (Pat 1) DIP: Details Digital Image Pocessing Digital Image Chaacteistics Spatial Spectal Gay-level Histogam DFT DCT Pe-Pocessing Enhancement Restoation Point Pocessing Masking

More information

THE THETA BLOCKCHAIN

THE THETA BLOCKCHAIN THE THETA BLOCKCHAIN Theta is a decentalized video steaming netwok, poweed by a new blockchain and token. By Theta Labs, Inc. Last Updated: Nov 21, 2017 esion 1.0 1 OUTLINE Motivation Reputation Dependent

More information

Point-Biserial Correlation Analysis of Fuzzy Attributes

Point-Biserial Correlation Analysis of Fuzzy Attributes Appl Math Inf Sci 6 No S pp 439S-444S (0 Applied Mathematics & Infomation Sciences An Intenational Jounal @ 0 NSP Natual Sciences Publishing o Point-iseial oelation Analysis of Fuzzy Attibutes Hao-En hueh

More information

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc - CentOS 5.2 - Linux Uses Guide - Linux Command SYNOPSIS [-V] [--vesion] [-h] [--help] [-e sciptexpession] [--expession=sciptexpession] [-f sciptfile] [--file=sciptfile] [file...] DESCRIPTION is a evese-polish

More information

Slotted Random Access Protocol with Dynamic Transmission Probability Control in CDMA System

Slotted Random Access Protocol with Dynamic Transmission Probability Control in CDMA System Slotted Random Access Potocol with Dynamic Tansmission Pobability Contol in CDMA System Intaek Lim 1 1 Depatment of Embedded Softwae, Busan Univesity of Foeign Studies, itlim@bufs.ac.k Abstact In packet

More information

Worst-Case Delay Bounds for Uniform Load-Balanced Switch Fabrics

Worst-Case Delay Bounds for Uniform Load-Balanced Switch Fabrics Wost-Case Delay Bounds fo Unifom Load-Balanced Switch Fabics Spyidon Antonakopoulos, Steven Fotune, Rae McLellan, Lisa Zhang Bell Laboatoies, 600 Mountain Ave, Muay Hill, NJ 07974 fistname.lastname@alcatel-lucent.com

More information

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs IAENG Intenational Jounal of Compute Science, 403, IJCS_40_3_02 Efficient Execution Path Exploation fo Detecting Races in Concuent Pogams Theodous E. Setiadi, Akihiko Ohsuga, and Mamou Maekaa Abstact Concuent

More information

Adaptation of TDMA Parameters Based on Network Conditions

Adaptation of TDMA Parameters Based on Network Conditions Adaptation of TDMA Paametes Based on Netwok Conditions Boa Kaaoglu Dept. of Elect. and Compute Eng. Univesity of Rocheste Rocheste, NY 14627 Email: kaaoglu@ece.ocheste.edu Tolga Numanoglu Dept. of Elect.

More information

zeo, i.e., each watchman emains stationay, and we have the at galley poblem. At the othe limit, if m = 1, we have the watchman oute poblem. Anothe con

zeo, i.e., each watchman emains stationay, and we have the at galley poblem. At the othe limit, if m = 1, we have the watchman oute poblem. Anothe con Optimum Guad Coves and m-watchmen Routes fo Resticted Polygons Svante Calsson y Bengt J. Nilsson yz Simeon Ntafos x Abstact A watchman, in the teminology of at galleies, is a mobile guad. We conside seveal

More information

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson Lectue 8 Intoduction to Pipelines Adapated fom slides by David Patteson http://www-inst.eecs.bekeley.edu/~cs61c/ * 1 Review (1/3) Datapath is the hadwae that pefoms opeations necessay to execute pogams.

More information

Structure discovery techniques for circuit design and process model visualization

Structure discovery techniques for circuit design and process model visualization Depatament de iències de la omputació Ph.D. in omputing Stuctue discovey techniques fo cicuit design and pocess model visualization Javie de San Pedo Matín Adviso: Jodi otadella Fotuny Bacelona, May 2017

More information

An Improved Resource Reservation Protocol

An Improved Resource Reservation Protocol Jounal of Compute Science 3 (8: 658-665, 2007 SSN 549-3636 2007 Science Publications An mpoved Resouce Resevation Potocol Desie Oulai, Steven Chambeland and Samuel Piee Depatment of Compute Engineeing

More information

The EigenRumor Algorithm for Ranking Blogs

The EigenRumor Algorithm for Ranking Blogs he EigenRumo Algoithm fo Ranking Blogs Ko Fujimua N Cybe Solutions Laboatoies N Copoation akafumi Inoue N Cybe Solutions Laboatoies N Copoation Masayuki Sugisaki N Resonant Inc. ABSRAC he advent of easy

More information

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform A Shape-peseving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonunifom Fuzzification Tansfom Felipe Fenández, Julio Gutiéez, Juan Calos Cespo and Gacián Tiviño Dep. Tecnología Fotónica, Facultad

More information

Stochastic Optimization Fall 2010 Coopr Tutorial Project

Stochastic Optimization Fall 2010 Coopr Tutorial Project Stochastic Optimization Fall 2010 Coop Tutoial Poject Hsin-Chan Huang Kiel Matin Table of Contents Installing Coop... 3 Useful Sites:... 3 Scipting Oveview... 3 Data Geneation... 4 Open Questions & Desied

More information

Properties of Tilings by Convex Pentagons

Properties of Tilings by Convex Pentagons eview Foma, 1, 113 18, 006 Popeties of Tilings by Convex Pentagons Teuhisa SUGIMOTO 1 * and Tohu OGAWA,3 1 The Institute of Statistical Mathematics, 4-6-7 Minami-Azabu, Minato-ku, Tokyo 106-8569, Japan

More information

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number.

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number. Illustative G-C Simila cicles Alignments to Content Standads: G-C.A. Task (a, b) x y Fo this poblem, is a point in the - coodinate plane and is a positive numbe. a. Using a tanslation and a dilation, show

More information

A Full-mode FME VLSI Architecture Based on 8x8/4x4 Adaptive Hadamard Transform For QFHD H.264/AVC Encoder

A Full-mode FME VLSI Architecture Based on 8x8/4x4 Adaptive Hadamard Transform For QFHD H.264/AVC Encoder 20 IEEE/IFIP 9th Intenational Confeence on VLSI and System-on-Chip A Full-mode FME VLSI Achitectue Based on 8x8/ Adaptive Hadamad Tansfom Fo QFHD H264/AVC Encode Jialiang Liu, Xinhua Chen College of Infomation

More information

A Recommender System for Online Personalization in the WUM Applications

A Recommender System for Online Personalization in the WUM Applications A Recommende System fo Online Pesonalization in the WUM Applications Mehdad Jalali 1, Nowati Mustapha 2, Ali Mamat 2, Md. Nasi B Sulaiman 2 Abstact foeseeing of use futue movements and intentions based

More information

Improvement of First-order Takagi-Sugeno Models Using Local Uniform B-splines 1

Improvement of First-order Takagi-Sugeno Models Using Local Uniform B-splines 1 Impovement of Fist-ode Takagi-Sugeno Models Using Local Unifom B-splines Felipe Fenández, Julio Gutiéez, Gacián Tiviño and Juan Calos Cespo Dep. Tecnología Fotónica, Facultad de Infomática Univesidad Politécnica

More information

How many times is the loop executed? middle = (left+right)/2; if (value == arr[middle]) return true;

How many times is the loop executed? middle = (left+right)/2; if (value == arr[middle]) return true; This lectue Complexity o binay seach Answes to inomal execise Abstact data types Stacks ueues ADTs, Stacks, ueues 1 binayseach(int[] a, int value) { while (ight >= let) { { i (value < a[middle]) ight =

More information

Secure Collaboration in Mediator-Free Environments

Secure Collaboration in Mediator-Free Environments Secue Collaboation in Mediato-Fee Envionments Mohamed Shehab School of Electical and Compute Engineeing Pudue Univesity West Lafayette, IN, USA shehab@pudueedu Elisa Betino Depatment of Compute Sciences

More information

SORTING IN SPACE HANAN SAMET

SORTING IN SPACE HANAN SAMET SORTING IN SPACE HANAN SAMET COMPUTER SCIENCE DEPARTMENT AND CENTER FOR AUTOMATION RESEARCH AND INSTITUTE FOR ADVANCED COMPUTER STUDIES UNIVERSITY OF MARYLAND COLLEGE PARK, MARYLAND 074-4 USA e mail: hjs@cs.umd.edu

More information

Illumination methods for optical wear detection

Illumination methods for optical wear detection Illumination methods fo optical wea detection 1 J. Zhang, 2 P.P.L.Regtien 1 VIMEC Applied Vision Technology, Coy 43, 5653 LC Eindhoven, The Nethelands Email: jianbo.zhang@gmail.com 2 Faculty Electical

More information

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers XFVHDL: A Tool fo the Synthesis of Fuzzy Logic Contolles E. Lago, C. J. Jiménez, D. R. López, S. Sánchez-Solano and A. Baiga Instituto de Micoelectónica de Sevilla. Cento Nacional de Micoelectónica, Edificio

More information

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2 Compile constuction 2009 Lectue 2 Code geneation 1: Geneating code The Java Vitual Machine Data types Pimitive types, including intege and floating-point types of vaious sizes and the boolean type. The

More information

Image Enhancement in the Spatial Domain. Spatial Domain

Image Enhancement in the Spatial Domain. Spatial Domain 8-- Spatial Domain Image Enhancement in the Spatial Domain What is spatial domain The space whee all pixels fom an image In spatial domain we can epesent an image by f( whee x and y ae coodinates along

More information

Extract Object Boundaries in Noisy Images using Level Set. Final Report

Extract Object Boundaries in Noisy Images using Level Set. Final Report Extact Object Boundaies in Noisy Images using Level Set by: Quming Zhou Final Repot Submitted to Pofesso Bian Evans EE381K Multidimensional Digital Signal Pocessing May 10, 003 Abstact Finding object contous

More information

Authentication of Moving Range Queries

Authentication of Moving Range Queries Authentication of Moving Range Queies Duncan Yung Eic Lo Man Lung Yiu Depatment of Computing Hong Kong Polytechnic Univesity {cskwyung, eiclo, csmlyiu}@comp.polyu.edu.hk STRACT A moving ange quey continuously

More information

Fault-Tolerant Routing Schemes in RDT(2,2,1)/α-Based Interconnection Network for Networks-on-Chip Designs

Fault-Tolerant Routing Schemes in RDT(2,2,1)/α-Based Interconnection Network for Networks-on-Chip Designs Fault-Toleant Routing Schemes in RDT(,,)/α-Based Inteconnection Netwok fo Netwoks-on-Chip Designs Mei Yang, Tao Li, Yingtao Jiang, and Yulu Yang Dept. of Electical & Compute Engineeing Univesity of Nevada,

More information