Comparing Hierarchical Data in External Memory

Size: px
Start display at page:

Download "Comparing Hierarchical Data in External Memory"

Transcription

1 Compring Hierrhil Dt in Externl Memory Surshn S. Chwthe Deprtment of Computer Siene University of Mryln College Prk, MD 090 Astrt We present n externl-memory lgorithm for omputing minimum-ost eit sript etween two roote, orere, lele trees. The I/O, RAM, n CPU osts of our lgorithm re, respetively, 5, 6, n 5, where n re the input tree sizes, is the lok size,, n. This lgorithm n mke effetive use of surplus RAM pity to qurtilly reue I/O ost. We exten to trees the ommonly use mpping from sequene omprison prolems to shortest-pth prolems in eit grphs. Introution We stuy the prolem of ompring snpshots of t to etet similrities n ifferenes etween them. Suh ifferening of t hs pplitions in version ontrol, inrementl view mintenne, t wrehousing, stning queries (susriptions), n hnge mngement [Ti85, LGM96, CAW98]. The RCS version ontrol system [Ti85] uses the iff progrm [MM85] to ompute n store only the ifferenes etween the new n ol versions of t tht is heke in. As nother version ontrol pplition, onsier the proess use to merge two ivergent versions of progrm or oument (e.g., the eiff/emerge funtion in Ems). The first step onsists of ompring the files ontining the two versions to etermine where n how they iffer. These ifferenes re then presente using grphil interfe tht llows user to etermine whih vrint to keep in the merge file. Permission to opy without fee ll or prt of this mteril is grnte provie tht the opies re not me or istriute for iret ommeril vntge, the VLDB opyright notie n the title of the pulition n its te pper, n notie is given tht opying is y permission of the Very Lrge Dt Bse Enowment. To opy otherwise, or to repulish, requires fee n/or speil permission from the Enowment. Proeeings of the 5th VLDB Conferene, Einurgh, Sotln, 999. Differening lgorithms lso ply key role in hnge mngement systems suh s [CAW98]. Sine mny tses, espeilly those on the We, o not offer hnge notifition filities, hnges must e etete y ompring ol n new results of query. One hnges hve een etete in this mnner, uses them to implement stning queries se on the urrent stte s well s the history of the tses eing monitore. We n lso use ifferening lgorithms to reue the mount of t trnsmitte over network in mirroring pplitions. Populr We n FTP servers often hve ozens of mirror sites roun the worl. Chnges me to the mster server nee to e propgte to the mirror sites. Ielly, the persons or progrms mking hnges woul keep reor of extly wht t ws upte. However, in prtie, ue to the utonomous n loosely orgnize nture of suh sites, there is no relile reor of hnges. Further, even if suh reor is ville, it my e se on version tht is ifferent from the version urrently t ertin mirror site. Due to suh iffiulties, effiient mirroring requires ifferening lgorithms tht ompute n propgte only the ifferene etween the version t the mster server n tht t mirror site. Similr ies enle ifferening lgorithms to improve effiieny in t wrehousing environment [LGM96]. Differening lgorithms re lso use to fin, mrk-up, n rowse hnges etween two or more versions of oument [CRGMW96, CGM9]. Suppose we reeive n upte version of n online mnul. Agin, in the iel se the new version woul highlight the wy it iffers from the ol one. However, for resons similr to those stte ove, in prtie we often nee to etet the ifferenes ourselves y ompring the two versions. For exmple, [CAW98] esries experienes in eteting n rowsing ifferenes etween ifferent versions of resturnt review tse on the We, while [Yn9] esries the implementtion of n pplition tht highlights ifferenes etween progrm versions. There is sustntil oy of prior work on ifferening lgorithms. The min istinguishing fetures of the work in this pper re the following. (See Setion 6 for etile isussion.) 90

2 We stuy lgorithms for omputing ifferenes etween snpshots of hierrhilly struture t, moele using roote, orere, lele trees. Our moel llows us to urtely pture the hierrhil struture inherent in t suh s soure oe, ojet lss hierrhies, struture ouments, HTML, XML, n SGML. For exmple, n online mnul typilly hs well-efine hierrhil struture onsisting of hpters, setions, susetions, prgrphs, n sentenes. Algorithms tht tke this struture into ount proue results tht re more meningful thn those tht tret their inputs s flt strings. While the prolem of ifferening strings n sequenes hs een thoroughly stuie n mits severl effiient solutions, the prolem of ifferening trees remins hllenging. Severl formultions of this prolem re NP-hr [ZWS95]. In this pper, we stuy simple vrition tht mits effiient solutions. We o not ssume tht the snpshots eing ifferene re smll enough to fit entirely in min memory (RAM); inste, they resie in externl memory (isk). For exmple, online mnuls for omplex mhinery, irrfts, n sumrines re tens or hunres of gigytes in size, mking it imprtile to use min-memory ifferening lgorithms to ompre their versions. When t resies in externl memory, the numer of input-output opertions (I/Os), n not the numer of CPU yles, is the primry eterminnt of running time. Therefore, externl-memory lgorithms use tehniques tht try to minimize the numer of I/Os. A seonry ut importnt onsiertion is the mount of uffer spe require in RAM. See [Vit98] for n overview of externl memory lgorithms. In this pper, we nlyze lgorithms se on their I/O, RAM, n CPU osts. As n illustrtion of the importne of using n lgorithm tht is ogniznt of the hierrhil struture of t, onsier the following exmple from [Yn9]. Figure epits epits frgments of two progrm versions tht re eing ompre. A sequene omprison progrm suh s the one in[mm85] ompres the inputs line-y-line n my result in mthing progrm text s suggeste y the soli lines in the figure. Given the neste struture of the progrm frgment, it is lerly more meningful to mth the inputs s suggeste y the she lines in the figure. However, the efinition of optimlity use y most sequene omprison lgorithms (se on longest ommon susequene) onsiers the solution epite using soli lines more esirle [Mye86]. By moeling the hierrhil struture of progrms, tree ifferening lgorithms re le to proue more meningful results. We now present rief, informl efinition of the ifferening prolem we stuy in this pper. (See Setion for etils.) A roote, orere, lele tree is tree in whih eh noe hs lel n in whih the orer mongst while(p) { x = y + z; = + ; } while(p) { x = y + z; } while(p) { = + ; } Figure : Importne of hierrhil struture silings is signifint. (The lel of noe intuitively represents the t ontent t tht noe; it is not unique key or ojet ientifier.) Trees n e trnsforme using three eit opertions: () We n insert new lef noe t speifie lotion in the tree. () We n elete n existing lef noe. () We n upte the lel of noe. Note tht the restrition tht () n () operte only on lef noes mens tht to elete n interior noe, we must first elete ll its esennts; similrly, we must insert noe efore inserting ny of its esennts. An eit sript is sequene of eit opertions tht re pplie in the orer liste. We ssoite ost with eh eit opertion n efine the ost of n eit sript to e the sum of the osts of its omponent opertions. Prolem Sttement (informl): Given two roote, orere, lele trees n, fin minimum-ost eit sript tht trnsforms to. Given trees n, we n trnsform one to the other using ny of n infinite numer of eit sripts. (For exmple, given ny eit sript tht trnsforms to, we n ppen to it opertions tht insert n immeitely elete noe, thus generting n infinite numer of eit sripts.) This ft motivtes the minimum-ost requirement in the prolem efinition. Another motivtion for the minimumost requirement is the following: Given two trees tht iffer only in one noe lel, the intuitively esirle eit sript is one tht ontins single upte opertion. We nee to wee out eit sripts tht unneessrily insert, elete, n upte noes. An eit sript of minimum ost nnot ontin suh reunnt or wsteful eit opertions (sine we n otin nother eit sript with lower ost y getting ri of the reunnies n ineffiienies). The two min ontriutions of this pper my e summrize s follows: We present n effiient externl-memory lgorithm for omputing the ifferene (minimum-ost eit sript) etween two snpshots of hierrhil t (trees). The I/O, RAM, n CPU osts of our lgorithm re, respetively, 5, 6, n, where n re the input tree sizes, is the lok size,, n. To our knowlege, this lgorithm is the first externl-memory ifferening lgorithm (for sequenes or trees). The I/O omplexity of our lgorithm is optiml over wie lss of omputtion moels ue to the lower oun for the sequene omprison prolem (whih 9

3 is simple speil se of our tree omprison prolem) [AHU6, WC6]. We reue our tree omprison prolem to shortest pth prolem in well-stuie grph lle the eit grph. This reution opens the oor for generlizing to trees severl effiient sequene omprison lgorithms tht re se on eit grphs (e.g., [MM85, Mye86, WMG90]). Outline of the pper: In Setion, we esrie our moel of trees, eit opertions, n eit sripts, followe y the forml prolem sttement. Setion riefly esries eit grphs s they re use for sequene omprison n then presents our moifitions tht llow them to e use for tree omprison. In Setion, we present simple minmemory lgorithm for our tree omprison prolem. This lgorithm illustrtes the use of our eit grphs n serves s sis for our externl-memory lgorithm. Setion 5 first explores nive extension of our min-memory lgorithm for externl memory n then presents our min lgorithm, xmiff. Relte work is isusse in Setion 6, followe y the onlusion in Setion. Moel n Prolem Sttement Hierrhil t is nturlly moele y trees. In this pper, we fous on roote, orere, lele trees. Eh noe in suh tree hs lel ssoite with it. Informlly, we n think of the lel of noe s its t vlue. The hilren of noe re totlly orere; thus, if noe hs hilren, we n uniquely ientify the th hil, for. There is istinguishe noe lle the root of the tree. (This feture istinguishes these trees from yli grphs, whih re lso lle free trees.) Formlly, roote, orere, lele tree onsists of finite, nonempty set of noes n leling funtion suh tht: () The set ontins istinguishe noe, lle the root of the tree; () The set is prtitione into isjoint sets, where eh is tree (lle the th sutree of or ); n () the lel of noe is [Sel]. The root of is lle the th hil of the noe, n is lle the prent of. Noes in tht o not hve ny hilren re lle lef noes; the rest of the noes re lle interior noes. In the rest of this pper, we use the term trees to men roote, orere, lele trees. Figure epits severl suh trees. The letter next to noe suggests its lel. The numer next to noe is noe ientifier. Note tht when we re given two trees to ompre, there is, in generl, no orresponene etween the noe ientifiers. (In ft, omputing suh orresponene is equivlent to omputing minimum-ost eit sript for our formultion of the prolem.) For exmple, when we re ompring two versions of mnul, the noe ientifiers in Figure my represent offsets within the SGML soure files for the mnuls. Sine the soure files for the mnuls re seprte, there is no orresponene etween these offsets. up(,) el(8) 5 6 el(9) 5 6 el() ins(8,,,) ins(,,,) ins(9,,,) 0 up(,) 0 Figure : Eit opertions on trees 9

4 We moel hnges to trees using the following tree eit opertions: Insertion Let e noe in tree, n let e the sutrees of. Let e noe not in, let e n ritrry lel, n let. The insertion opertion ins inserts the noe s the th hil of. In the trnsforme tree, is lef noe with lel. Deletion Let e lef noe in. The eletion opertion el results in removing the noe from. Tht is, if is the th hil of noe with hilren, then in the trnsforme tree, hs hilren. Upte If is noe in n is lel then the lel upte opertion up results in tree tht is ientil to exept tht in,. We ssume, without loss of generlity, tht the root of tree nnot e elete or inserte. An eit sriptis sequeneof eit opertions. Theresult of pplying n eit sript to tree is the tree otine y pplying the omponent eit opertions to, in the orer they pper in the sript. Consier Figure. The ownwr rrows illustrte the pplition of the following eit sript: el 8, el 9, up, el. Similrly, the upwr rrows illustrte the pplition of nother eit sript. As isusse in Setion, we formlize the esirility of eit sripts tht perform s few n s smll hnges s possile y efining ost moel for eit sripts. Let n e ritrry funtions return positive numer representing the osts of, respetively, inserting n eleting noe. Similrly, the ost of upting lel to is given y. The ost of n eit sript is the sum of the osts of its omponent opertions. We n now formlly efine the prolem of ifferening trees s follows: Prolem Sttement: Given two roote, lele, orere trees n, fin minimum-ost eit sript tht trnsforms to tree tht is isomorphi to. Eit Grphs In this setion, we introue n uxiliry struture, lle n eit grph, tht we lter use in our ifferening lgorithms. Eit grphs hve een use y severl effiient lgorithms for ompring sequenes (equivlently, strings) [Mye86, MM85, WMG90]. In effet, the prolem of fining minimum-ost eit sript etween two sequenes is reue to the prolem of fining shortest pth from one en of the eit grph to the other. Sine n eit grph hs very simple n regulr struture, this shortest pth prolem n typilly e solve very effiiently. Below, we first explin how eit grphs re use for sequene omprison n then introue our moifitions tht permit them to e use for ompring trees. The eit grph of two sequenes n is the gri suggeste y Figure. (Eh point where two lines touh or ross is noe in the eit grph.) A point intuitively orrespons to the pir, for n. In our eit grphs, the origin 0 0 is the noe in the top left orner; the -xis extens to the right of 0 0 n the -xis extens own from 0 0. There is irete ege from eh noe to the noe, if ny, to its right. Similrly, there is irete ege from eh noe to the noe, if ny, elow it. For lrity, these irete eges re shown without rrowhes in the figure. All horizontl eges re irete to the right n ll vertil eges re irete own. In ition, there is igonl ege from to for ll 0. For lrity, these eges re omitte in the figure. The eit grph epite in Figure orrespons to the sequenes (strings) n Figure : Eit grph for sequene omprison Trversing horizontl ege in the eit grph orrespons to eleting. Similrly, trversing vertil ege orrespons to inserting. Trversing igonl ege orrespons to mthing to ; if n iffer, suh mthing orrespons to n upte opertion. Eges in the eit grph hve weights equl to the osts of the eit opertions they represent. Thus, horizontl ege hs weight, vertil ege hs weight, n igonl ege hs weight. It is esy to show tht ny min-ost eit sript tht trnsforms to n e mppe to pth from 0 0 to in the eit grph. Conversely, every pth from 0 0 to orrespons to n eit sript tht trnsforms to. For etils, see [Mye86]. For the exmple suggeste in Figure, the highlighte pth orrespons to the following eit sript: el ins el 5 el 6 9

5 up el el 8 el 0 ins 0 el el ins It is esy to verify tht pplying the ove sript to proues. In orer to use eit grphs to ompre trees, we nee to moify their efinition to inorporte the onstrints impose y the struture of the trees eing ompre. For exmple, we must moel the onstrint tht if n interior noe is elete then ll its esennts must lso e elete. Before we proee, we nee to efine the l-pir representtion of tree. We efine the l-pir of tree noe to e the pir, where is the noe s lel n is its epth in the tree. We use n to refer to, respetively, the lel n epth of n l-pir. The l-pir representtion of tree is the list, in preorer, of the l-pirs of its noes. In the rest of this pper, we ssume tht trees re in the l-pir representtion. (A tree n e onverte to this representtion using single preorer trversl.) Figure : Input tree Figure 5: Input tree 9 0 Consier the trees n epite in Figures n 5. The letter next to eh noe suggests its lel n the numer next to noe is its preorer rnk, whih lso serves s its ientifier. The l-pir representtions of n re s follows: 0 0 Given tree (in l-pir representtion), we use the nottion to refer to the th noe of tree. Thus, n enote, respetively, the lel n the epth of the th noe of. We efine the eit grph of two trees n to onsist of gri of noes s suggeste y Figure 6. There is noe t eh lotion for 0 n 0. These noes re onnete y irete eges s follows: 0 For 0 n 0, there is igonl ege if n only if. (For lrity, these eges re omitte in Figure 6.) For 0 n 0, there is horizontl ege unless n. For 0 n 0, there is vertil ege unless n. l l Figure 6: Eit grph for tree omprison As ws the se for sequene eit grphs, horizontl eges represent eletions, vertil eges represent insertions, n igonl eges represent mthing of noes (with n upte opertion require if the lels of the mthe noes iffer). Similrly, eh ege hs n ege weight equl to the ost of the orresponing eit opertion. However, in ontrst to sequene eit grphs, severl horizontl n vertil eges re missing from tree eit grphs. Intuitively, the missing vertil eges ensure tht one pth in the eit grph trverses n ege signifying the eletion of noe, tht pth n only ontinue y trversing eges tht signify the eletion of ll the noes in s sutree. Similrly, the missing horizontl eges ensure tht ny pth tht trverses n ege signifying the insertion of noe n only ontinue y trversing the eges signifying insertion of ll noes in s sutree. We n show tht ny min-ost eit sript tht trnsforms to n e mppe to pth from 0 0 to in the tree eit grph; onversely, every pth from 0 0 to orrespons to n eit sript tht trnsforms to. 9

6 For exmple, the pth inite using ol lines in Figure 6 orrespons to the following eit sript, where re ritrry ientifiers for the newly inserte noes: up up 5 el 6 el el 8 el 9 el ins 0 ins ins ins Differening in Min Memory In Setion, we reue the prolem of omputing minost eit sript etween two trees to the prolem of fining shortest pth in the eit grph of those trees. We now use tht reution to present min-memory lgorithm for ifferening trees. Given eit grph, let e mtrix suh tht is the length of shortest pth from 0 0 to in the eit grph. We ll the istne mtrix for. For nottionl onveniene, let us efine the weight of n ege tht is missing from the eit grph to e infinity. Consier ny pth tht onnets the origin 0 0 to in the eit grph. Given the grph s struture, the previous noe on this pth is either the noe to the left of, the noe ove or the noe igonlly to the left n ove. Therefore, the istne of from the origin nnot e greter thn tht istne for the noe to its left plus the weight of the ege onneting the left neighor to. Similr reltions hol for the top n igonl neighors of, yieling the following reurrene for, where 0 n 0 : min where if otherwise if otherwise if otherwise This reurrene les to the following ynmi-progrmming lgorithm for omputing the istne mtrix. We ll this lgorithm mmiff, for min-memory ifferening. Algorithm mmiff Input: Arrys n, whih represent two trees in l-pir representtion. Thus n enote, respetively, the lel n epth of the th noe (in preorer) of (n nlogously for ). The numer of elements in n is n, respetively. Output: The istne mtrix where equls the length of the shortest pth from 0 0 to in the eit grph of n. Metho: Figure presents the pseuooe for Algorithm mmiff. All the pseuooe in this pper ssumes shortiruit evlution of Boolen expressions. We initilize t the origin 0 0, followe y omputtion of istnes long the top n left ege of the mtrix. The neste for loop is iret implementtion of the reurrene for. If we ssume tht the funtions,, n exeute in onstnt times,, n, respetively, the running time of mmiff is proportionl to, or. 0 0 : 0; for : to o 0 : 0 ; for : to o 0 : 0 ; for : to o for : to o egin : ; : ; : ; if ( ) then : ; if ( or ) then : ; if ( or ) then : ; : min ; Figure : Algorithm mmiff One we hve ompute the istne mtrix, it is esy to reover from it shortest pth from 0 0 to. We strt t n tre the reurrene reltion for kwrs. As we trverse horizontl, vertil, n igonl eges, we emit the pproprite eletion, insertion, n upte opertion, respetively. Thus, we hve the following lgorithm for reovering n eit sript from the istne mtrix. We ll this lgorithm mmiff-r (for mmiff-reovery). Algorithm mmiff-r Input: Arrys n representing the input trees (s in Algorithm mmiff) n the istne mtrix ompute y mmiff. Output: A min-ost eit sript tht trnsforms to. (For simpliity of presenttion, the insertion n eletion opertions only ientify the noes eing inserte n elete. Using the informtion from the originl trees, it is esy to generte n eit sript in the syntx of Setion. Further, insertions of interior noes re printe fter the insertions of their esennts; this orering is esily fixe.) Metho: Figure 8 presents the pseuooe for Algorithm mmiff-r. At eh itertion of the while loop n/or is eremente y one. Thus there re etween mx n itertions of the while loop, with eh itertion performing onstnt mount of work. Thus, the running time of mmiff-r is. 95

7 : ; : ; while ( 0 n 0) o if ( n ( or )) then egin print( el ); : ; else if ( n ( or )) then egin print( ins ); : ; else egin if( ) then print( up ); : ; : ; while ( 0) o egin print( el ); : ; while ( 0) o egin print( ins ); : ; Figure 8: Algorithm mmiff-r 5 Differening in Externl Memory In Setion, we presente lgorithms mmiff n mmiff-r to ompute minimum-ost eit istne etween two trees in min memory. These lgorithms require RAM spe for not only the input trees n, ut lso for the istne mtrix. If n hve sizes n, respetively, then the istne mtrix is of size, whih n e prohiitively lrge for even moestly size inputs tht fit in RAM. In situtions where n themselves re too lrge to fit in RAM, the prolem is muh worse. Let us first onsier nive extension of Algorithm mmiff for externl memory. We use two uffers, n, to re, s neee, the trees n, respetively, from isk into RAM. The uffers re extly lrge enough to hol one isk lok (of size ). As the istne mtrix is ompute, we write the istnes to thir uffer, lso of size. When is ompletely fille, we write it out to isk n overwrite it in RAM. Using similr uffering sheme, we n pt the lgorithm mmiff-r, use for reovering the eit sript, for externl memory. Let us ll these uffere version of mmiff n mmiff-r Algorithm miff n Algorithm miff-r, respetively. Sine Algorithm miff omputes the istne mtrix in olumn-mjor orer, eh of the loks of is re one for eh of the noes in, inurring n I/O ost of. On the other hn, eh of the loks of is re extly one, for n I/O ost of. Algorithm miff lso stores the entire istne mtrix, of size to isk, inurring n I/O ost of. Thus the totl I/O ost of lgorithm miff is, or pproximtely. In ition to spe for temporry vriles Algorithm miff nees spe for only the three uffers,, n, of size eh. Thus the RAM ost of Algorithm miff is. Other thn opertions require to re n write isk loks, Algorithm miff performs the sme opertions s Algorithm mmiff. Thus its CPU ost is. Thus, we my summrize Algorithm miff s performne s follows: I/O RAM CPU By using tehniques similr to those use for omputing neste-loop joins in reltionl tses, it is esy to reue the I/O ost of reing n from to. Intuitively, inste of omputing the istne mtrix in olumn-mjor orer, we ompute it in loke mnner: When we re in the th lok of n the th lok of, we ompute the entire sumtrix :. However, it is not ovious how we n improve on the I/O ost of storing the istne sumtrix itself, whih is of size loks. As esrie elow, our pproh is to voi storing ll of the istne mtrix, storing inste only orse gri from whih the rest of the istne mtrix n e quikly ompute. 5. Computing the Distne Mtrix Consier the istne mtrix suggeste y the rrngement of ots in Figure 9, orrsponing to input trees n of sizes n, respetively. As suggeste in the figure, we ivie into set of overlpping tiles. For lrity, the figure lterntes the use of soli n she lines for mrking the tiles. The overlp etween neighoring tiles is one item wie. Figure 9: Tiling the istne mtrix More preisely, let. For simpliity in presenttion, we shll heneforth ssume tht n re oth integrl multiples of, with n. The istne mtrix is then ivie into 96

8 tiles li out in olumns n rows. We numer these rows n olumns of tiles strting with 0, n use the nottion to enote the tile in the th olumn (of tiles) n th row(of tiles). Thus, the tile onsists of the following sumtrix of the istne mtrix : :. Our externl memory lgorithm, lle xmiff (for externl memory ifferening), is se on the following three key ies: First, inste of storing the entire istne mtrix, we store only the top n left eges of eh of the tiles esrie ove. We ll this gri onsisting of the tile eges the istne gri. Eh tile ege is of size, n there re tiles in ll. Thus the entire istne gri n e store using only loks of storge. Referring k to Figure 9, only those entries in the the mtrix tht re rosse y otte line re store on isk. (Note tht for lrity, Figure 9 ssumes tht the imension of eh tile is only items, orresponing to. For suh low vlues of, our tehnique oes not pper to yiel muh svings. However, for typil vlues of tht lie in the hunres, the svings re sustntil.) Seon, given the top n left eges of tile, we n ompute the istne sumtrix for the rest of the tile y using the reurrene for in Setion. Further, using few temporry vriles, this reurrene llows us to upte in-ple n rry tht initilly ontins the istnes for the top (left) ege of tile to one ontining the istnes for the ottom (respetively, right) ege. Thir, given the istne gri store on isk, shortest pth in the eit grph from 0 0 to (n thus the orresponing min-ost eit sript tht trnsforms tree to tree ) n e ompute in liner time y working kwrs from, s one in Algorithm mmiffr. A strightforwr lgorithm se on this ie requires RAM s working store. However, we lso esrie n enhne version of the lgorithm tht requires only RAM. We ssume tht the first lok of hs ummy first noe, 0 0. Eh suessive lok hs s its first noe opy of the lst noe from the previous lok. The loks of re lso ssume to e in this formt. We lso ssume tht the input sizes n re oth integrl multiples of, where is the lok size. These ssumptions re not neessry for our lgorithm; we mke them only to simplify the following presenttion of the lgorithm. Rell, from Setion, tht we represent tree using the preorer listing of the l-pirs of its noes. These l-pir sequenes re pke ensely into isk loks when the trees re represente on isk. Noes within lok re rrnge t fixe offsets eginning with 0. Disk loks re re n written using the funtion R- Blk n the proeure WrBlk, respetively. RBlk tkes s rguments file nme (whih we use to group relte loks) n lok numer. Blok numers for eh file re seprte, n re numere sequentilly eginning with 0. For exmple, the th lok of file lle is enote y n is re using RBlk. The nottion for WrBlk is nlogous to tht use for RBlk: WrBlk(A,i) writes the uffer to the th lok of file. In ition to one imensionl inexing of isk loks, we lso use two-imensionl inexing of the form where the rnges of n re fixe n known in vne. Suh oule inexing of loks is only nottionl onveniene. Using stnr row-mjor enoing of two-imensionl mtries, is equivlent to where is the numer of ifferent vlues. Thus eh RBlk n WrBlk opertion requires only single I/O. Algorithm xmiff Input: Arrys n representing the input trees, ontining n elements, respetively (s in Algorithm mmiff). Output: The istne gri (efine ove), giving the length of the shortest pth from 0 0 to in the eit grph of n for ll eit grph noes tht lie on the eges of tiles of imension. Metho: Figure 0 lists the pseuooe for Algorithm xmiff. The first prt of the lgorithm onsists of two for loops whih orrespon to the first two for loops of Algorithm mmiff in Figure. The first for loop in Figure 0 omputes n writes to isk the top row of the istne mtrix. Similrly, the seon for loop omputes n writes to isk the leftmost olumn of the istne mtrix. The seon prt of Algorithm xmiff (the thir for loop in Figure 0) orrespons to the neste for loops of Algorithm mmiff in Figure. Eh itertion of the inner loop omputes the istnes in one tile (sumtrix) of the istne mtrix. Rell tht we ientify tile y its tile olumn n tile row numers, with numering strting t 0. The innermost loop omputes istnes in tile. This omputtion uses, in ition to the pproprite loks of the input trees n, the istnes for noes on the top n left eges of the tile. Due to the overlp of tiles, these eges re the ottom n right eges of some other (previously ompute) tiles. The istnes for noes on the ottom n right eges of the tile re then written to isk. By refully orering the istne lultions n y using temporry vriles ( n ), we re le to upte in ple the rry, whih initilly ontins the istnes for noes on the top ege, to the istnes for noes in the ottom ege. Similrly, the rry initilly ontining the istnes of noes in the left ege is upte in ple to the istnes of noes in the right ege. The tests in the if sttements re nlogous to those in Algorithm mmiff. Anlysis Algorithm xmiff uses only four uffers in RAM:,,, n, eh of size. Thus, the RAM storge requirements re only (in ition to the smll, onstnt mount of storge neee for progrm oe n slr vriles). Let,, n. The first two for loops of the lgorithm mke totl of lls to the eh of the proeures RBlk n WrBlk, giving s the I/O ost. In the neste for loops, the first 9

9 : ; for : 0 to o egin : RBlk ; if( 0) then 0 : ; else 0 : 0; for : to o : ; WrBlk 0 ; for : 0 to o egin : RBlk ; if( 0) then 0 : ; else 0 : 0; for : to o : ; WrBlk 0 ; for : 0 to o egin : RBlk ; : RBlk 0 ; for : 0 to o egin : RBlk ; : RBlk ; 0 : ; for : to o egin : 0 ; 0 : ; for : to o egin : ; : ; : ; if ( ) then : ; if ( or ) then : ; if ( or ) then : ; : ; : min ; : ; WrBlk ; WrBlk ; Figure 0: Algorithm xmiff two RBlk sttements (for n ) re exeute times. The next two RBlk sttements (for n ) re exeute times. Finlly, the WrBlk sttements re exeute times. Thus, the totl numer of I/Os in the neste loops of xmiff is. Comining this numer with tht for the first two for loops, we onlue tht xmiff mkes I/Os. Finlly, it is esy to oserve tht the CPU time is. Thus, we n summrize Algorithm xmiff s performne s follows, where n re the sizes of the input trees, is the lok size,, n : I/O RAM CPU 5. Reovering the Eit Sript Rell, from Figure 8, the Algorithm mmiff use to reover minimum-ost eit sript in RAM. Using the istne mtrix s guie, Algorithm mmiff-r trverses the shortest pth from 0 0 to kwrs, emitting pproprite eit opertions long the wy. Unlike mmiff, lgorithm xmiff oes not store the entire istne mtrix, mking iret pplition of the pth-reovery lgorithm mmiff-r impossile. However, for eh tile of the eit grph, xmiff stores the istnes for noes on its top n left eges in the isk loks n, respetively. By reing in these loks n using lgorithm mmiff, the istne mtrix for tile n esily e ompute t CPU ost (where is the lok-size). Bse on these ies, we hve the following: Algorithm xmiff-r Input: Arrys n representing the input trees (s in Algorithm mmiff) n the istne gri ompute y xmiff, store on isk s n. Output: A min-ost eit sript tht trnsforms to (s in Algorithm mmiff-r). Metho: Figure presents the pseuooe for xmiff-r. As in lgorithm mmiff-r, we egin t the noe of the eit grph n move kwrs long the shortest pth from 0 0 to. At eh itertion of the outer while loop, the urrent position in the eit grph is move k to either,, or using the if-then-else sttement tht is very similr to tht in lgorithm mmiff-r. Using the oolen vriles n, we etet the sitution when the urrent position first moves into new tile in the horizontl n vertil iretion, respetively. When is nonzero, hs just move to new tile to the left of the ol tile. In this se, we re in the orresponing lok of the input file. Similrly, when is nonzero, we re in the pproprite lok of the input file. In oth ses, we re in the top n left eges of the istne mtrix for the new tile,, into the rrys n, respetively. We use n to initilize the top n left eges of the omplete istne mtrix for the new tile. Reomputtion of the 98

10 istnes in the rest of the mtrix is one in mnner ompletely nlogous to lgorithm mmiff. Anlysis Eh itertion of the outer while loop erements t lest one of n ; thus, there re t most itertions of tht loop. Sine rnges from own to, it follows tht is set to for itertions. Similrly, is set to for itertions. Bloks from n re re in whenever one of n is nonzero. In the worst se, this sitution n our times. Thus the I/O ost ue to reing n is t most. It is esy to oserve tht eh of the loks of the input is re extly one, for n I/O ost of. Similrly, the I/O ost inurre in reing the input is. Thus, the totl I/O ost of lgorithm xmiff-r is. The signifint RAM storge requirements of xmiff-r re ue to the rrys,,, n, n the istne mtrix. The rrys,,, n re ll of size, the lok size. Unfortuntely, the istne mtrix is of size. Thus, the totl RAM ost is. It is esy to oserve tht the CPU ost of lgorithm xmiff-r is. Thus, Algorithm xmiff-r s performne my e summrize s follows: I/O RAM CPU Reuing the RAM ost of xmiff-r We n reue the RAM spe neee to store the istne mtrix s follows. We ivie the istne mtrix into sutiles of size s suggeste y Figure. Consier the proess of tring the shortest pth kwrs through. We ivie this tsk into stges orresponing to trversing the sutiles. We egin with the sutile in the lower right orner. At the en of eh stge, we move to sutile tht is ove n/or to the left of the urrent sutile. At the eginning of the stge orresponing to sutile, we ompute (s efore) the istne mtrix, ut store istnes for only those points tht lie in this sutile. Using tehnique similr to tht use y lgorithm mmiff, this omputtion n e performe using only uffer of size s working storge. Sine the size of sutile is, the totl storge require for the sutile omputtion is. Comine with the spe require to store,,, n, we hve totl RAM ost of 6. The sutile-se enhnement esrie ove results in the istne mtrix for eh tile eing reompute severl times, thus inresing the CPU ost. After eh reomputtion, the urrent sutile moves one position to the left n/or up. Thus, the numer of sutile omputtion stges is etween n (sine there re sutiles long eh imension of the istne mtrix). It follows tht the totl CPU ost is therefore inrese y ftor of t most, to 5. : ; : ; : ; : ; : ; while ( 0 n 0) o egin : ; : ; : mo ; : mo ; if ( 0) then : ; if ( 0) then : ; if ( 0 or 0) then egin : ; : ; : 0; : 0; 0 0 : ; 0 0 : ; for : to o for : to o egin : ; : ; : ; if ( ) then : ; if ( or ) then : ; if ( or ) then : ; : min ; if ( n ( or )) then egin : ; if ( mo 0) then : ; print( el ); else if ( ) n ( or )) then egin : ; if ( mo 0) then : ; print( ins ); else egin : ; : ; if ( mo 0) then : ; if ( mo 0) then : ; if( ) then print( up ); while ( 0) o egin print( el ); if( mo 0) then : ; : ; while ( 0) o egin print( ins ); if( mo 0) then : ; : ; Figure : Algorithm xmiff-r 99

11 S S S / S / Figure : Reuing mmiff-r s RAM ost Thus, the performne of the moifie Algorithm xmiff-r my e summrize s follows: I/O RAM CPU 6 5 Thus, the osts of exeuting Algorithm xmiff followe y Algorithm xmiff-r re s follows: I/O RAM CPU Although we hve esrie to e the lok size, our lgorithm oes not epen on eing equl to the lok trnsfer unit. Another wy to interpret the ove result is the following: Suppose we hve units of RAM tht we n use for our lgorithm s uffers. We set 6 ; tht is, 6. Sustituting for in our performne results tells us tht y inresing the mount of RAM uffer spe, we n hieve qurti reution in the signifint prt of the I/O ost. 6 Relte Work Differening lgorithms hve reeive onsierle ttention in the reserh literture, with the prolem of ompring sequenes reeiving the most ttention [SK8]. Erly sequene omprison lgorithms inlue the lssi Wgner-Fisher lgorithm [WF], whih ws shown to e optiml for wie lss of omputtion moels in [AHU6, WC6]. Using the so-lle four Russins tehnique, more effiient log lgorithm for finite lphets is presente in [MP80]. More reent work on sequene omprison hs fouse on improving the expete se running time using outputsensitive lgorithms. For exmple, Myers presents n lgorithm, where n re the sizes of the input n eit sript, respetively [Mye86]. (This lgorithm forms the sis of the wiely use iff utility [MM85].) Further improvements re reporte in [WMG90]. These lgorithms re se on using the speil struture of n eit grph. Our tehnique for mpping the tree ifferening prolem to eit grphs, s esrie in Setion, llows us to pply the ove sequene omprison results to trees. For exmple, it is reltively strightforwr to exten these lgorithms in [Mye86] for ifferening trees in min memory without ny signifint inrese in running time. However, extening these results to externl memory ppers more omplite n is prt of our ontinuing work. Severl formultions of the tree omprison prolem hve lso een stuie. Erly work inlues Selkow s reursive lgorithm for simple formultion similr to the one in this pper [Sel]. More reent work inlues [ZS89], whih stuies orere trees, n [ZWS95], whih stuies unorere trees. Most formultions of the tree ifferening prolem for unorere trees re NP-hr. There re signifint vntges to esriing tree ifferenes using not only the three si eit opertions (insert, elete, n upte), ut lso sutree opertions suh s move, opy, n unopy. In [CRGMW96], we stuie vrition tht inlues sutree move opertion n esrie n effiient lgorithm tht uses simplifying ssumptions se on omin hrteristis. In [CGM9], we stuie vrition tht inlues sutree opy n unopy opertions in ition to moves. These lgorithms re use in the implementtion of the system for mnging hnge in utonomous tses [CAW98]. All the ove lgorithms re min-memory lgorithms; tht is, they ssume tht ll input t n working storge resies in RAM. To our knowlege, ours is the first externlmemory ifferening lgorithm. The esign of externlmemory lgorithms se on the prolem formultions n ies in the work esrie ove is topi for ontinuing work. The Unix progrm iff implements sequene omprison lgorithm for files tht re too lrge to fit in RAM using simple wrpper roun the stnr iff lgorithm [Mye86]. The iff progrm works y first iviing the input files into segments tht fit in RAM, n then running iff on eh pir of orresponing (y position in the respetive file) segments. This strtegy oes not gurntee minimum-ost eit sript. In ft, single inserte line n misle iff into mismthing lrge numer of other lines. The prolem of omputing ifferenes is losely relte to the prolem of pttern mthing (e.g., [WZJS9, WCM 9, WSC 9]). While there re importnt ifferenes etween the two prolems, it my e possile to shre some of the tehniques use y their solutions. Conlusion We esrie severl pplitions tht re se on ompring two snpshots of t in orer to etet the ifferenes etween them. We expline the nee for externl-memory ifferening lgorithms for oth flt (sequene) n hierrhil (tree) t. We moele hierrhil t using roote, orere, lele trees, n formlize the hierrhil t omprison prolem using the ie of minimumost eit sript etween two trees. We esrie metho to mp this tree omprison prolem to shortest-pth prolem in speil grph lle the tree eit grph. We first 00

12 presente min-memory tree ifferening lgorithm se on the eit grph reution. Next we isusse its extension to externl memory n esrie prolems with nive extension. We then presente our min lgorithm (xmiff) for effiiently ifferening trees in externl memory. As ontinuing work, we re exploring the use of our eit grph reution to trnsfer results from sequene omprison to trees. Preliminry results inite tht while this strtegy is reltively esy to use for min-memory lgorithms, extening it to externl-memory lgorithms is more hllenging. We re lso working on inorporting the lgorithm xmiff into the hnge mngement system n on relesing puli version of the implementtion. We lso pln to explore the pplition of our tehniques to relte prolems suh s pttern mthing n t mining in semistruture t (whih is often moele using trees n grphs). Referenes [AHU6] A. Aho, D. Hirsherg, n J. Ullmn. Bouns on the omplexity of the longest ommon susequene prolem. Journl of the Assoition for Computing Mhinery, ():, Jnury 96. [CAW98] S. Chwthe, S. Aiteoul, n J. Wiom. Representing n querying hnges in semistruture t. In Proeeings of the Interntionl Conferene on Dt Engineering, pges, Orlno, Flori, Ferury 998. [CGM9] S. Chwthe n H. Gri-Molin. Meningful hnge etetion in struture t. In Proeeings of the ACM SIGMOD Interntionl Conferene on Mngement of Dt, pges 6, Tuson, Arizon, My 99. [CRGMW96] S. Chwthe, A. Rjrmn, H. Gri- Molin, n J. Wiom. Chnge etetion in hierrhilly struture informtion. In Proeeings of the ACM SIGMOD Interntionl Conferene on Mngement of Dt, pges 9 50, Montrél, Quée, June 996. [LGM96] W. Lio n H. Gri-Molin. Effiient snpshot ifferentil lgorithms for t wrehousing. In Proeeings of the Interntionl Conferene on Very Lrge Dt Bses, Bomy, Ini, Septemer 996. [MM85] W. Miller n E. Myers. A file omprison progrm. Softwre Prtie n Experiene, 5():05 00, 985. [MP80] W. Msek n M. Pterson. A fster lgorithm omputing string eit istnes. Journl of Computer n System Sienes, 0:8, 980. [Mye86] E. Myers. An ifferene lgorithm n its vritions. Algorithmi, ():5 66, 986. [Sel] S. Selkow. The tree-to-tree eiting prolem. Informtion Proessing Letters, 6(6):8 86, Deemer 9. [SK8] D. Snkoff n J. Kruskl. Time Wrps, String Eits, n Mromoleules: The Theory n Prtie of Sequene Comprison. Aison-Wesley, 98. [Ti85] W. Tihy. RCS A system for version ontrol. Softwre Prtie n Experiene, 5():6 65, July 985. [Vit98] J. Vitter. Externl memory lgorithms. In Proeeings of the ACM Symposium on Priniples of Dtse Systems, Settle, Wshington, June 998. [WC6] C. Wong n A. Chnr. Bouns for the string eiting prolem. Journl of the Assoition for Computing Mhinery, (): 6, Jnury 96. [WCM 9] J. Wng, G. Chirn, T. Mrr, B. Shpiro, D. Shsh, n K. Zhng. Comintoril pttern isovery for sientifi t: some preliminry results. In Proeeings of the ACM SIGMOD Conferene, pges 5 5, My 99. [WF] R. Wgner n M. Fisher. The string-to-string orretion prolem. Journl of the Assoition of Computing Mhinery, ():68, Jnury 9. [WMG90] S. Wu, U. Mner, n G.Myers. An sequene omprison lgorithm. Informtion Proessing Letters, 5:, Septemer 990. [WSC 9] J. Wng, D. Shsh, G. Chng, L. Relihn, K. Zhng, n G. Ptel. Struturl mthing n isovery in oument tses. In Proeeings of the ACM SIGMOD Interntionl Conferene on Mngement of Dt, pges , 99. [WZJS9] J. Wng, K. Zhng, K. Jeong, n D. Shsh. A system for pproximte tree mthing. IEEE Trnstions on Knowlege n Dt Engineering, 6():559 5, August 99. [Yn9] W. Yng. Ientifying syntti ifferenes etween two progrms. Softwre Prtie n Experiene, ():9 55, July 99. [ZS89] K. Zhng n D. Shsh. Simple fst lgorithms for the eiting istne etween trees n relte prolems. SIAM Journl of Computing, 8(6):5 6, 989. [ZWS95] K. Zhng, J. Wng, n D. Shsh. On the eiting istne etween unirete yli grphs. Interntionl Journl of Fountions of Computer Siene,

Distance vector protocol

Distance vector protocol istne vetor protool Irene Finohi finohi@i.unirom.it Routing Routing protool Gol: etermine goo pth (sequene of routers) thru network from soure to Grph strtion for routing lgorithms: grph noes re routers

More information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Chpter 9 Greey Tehnique Copyright 2007 Person Aison-Wesley. All rights reserve. Greey Tehnique Construts solution to n optimiztion prolem piee y piee through sequene of hoies tht re: fesile lolly optiml

More information

10.2 Graph Terminology and Special Types of Graphs

10.2 Graph Terminology and Special Types of Graphs 10.2 Grph Terminology n Speil Types of Grphs Definition 1. Two verties u n v in n unirete grph G re lle jent (or neighors) in G iff u n v re enpoints of n ege e of G. Suh n ege e is lle inient with the

More information

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V)

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V) Definitions G = (V, E) V = set of verties (vertex / noe) E = set of eges (v, w) (v, w in V) (v, w) orere => irete grph (igrph) (v, w) non-orere => unirete grph igrph: w is jent to v if there is n ege from

More information

Containers: Queue and List

Containers: Queue and List Continers: Queue n List Queue A ontiner in whih insertion is one t one en (the til) n eletion is one t the other en (the he). Also lle FIFO (First-In, First-Out) Jori Cortell n Jori Petit Deprtment of

More information

Table-driven look-ahead lexical analysis

Table-driven look-ahead lexical analysis Tle-riven look-he lexil nlysis WUU YANG Computer n Informtion Siene Deprtment Ntionl Chio-Tung University, HsinChu, Tiwn, R.O.C. Astrt. Moern progrmming lnguges use regulr expressions to efine vli tokens.

More information

Greedy Algorithm. Algorithm Fall Semester

Greedy Algorithm. Algorithm Fall Semester Greey Algorithm Algorithm 0 Fll Semester Optimiztion prolems An optimiztion prolem is one in whih you wnt to fin, not just solution, ut the est solution A greey lgorithm sometimes works well for optimiztion

More information

Internet Routing. Reminder: Routing. CPSC Network Programming

Internet Routing. Reminder: Routing. CPSC Network Programming PS 360 - Network Progrmming Internet Routing Mihele Weigle eprtment of omputer Siene lemson University mweigle@s.lemson.eu pril, 00 http://www.s.lemson.eu/~mweigle/ourses/ps360 Reminer: Routing Internet

More information

Lesson 4.4. Euler Circuits and Paths. Explore This

Lesson 4.4. Euler Circuits and Paths. Explore This Lesson 4.4 Euler Ciruits nd Pths Now tht you re fmilir with some of the onepts of grphs nd the wy grphs onvey onnetions nd reltionships, it s time to egin exploring how they n e used to model mny different

More information

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam Cmrige, Msshusetts Introution to Mtrois n Applitions Srikumr Rmlingm MERL mm//yy Liner Alger (,0,0) (0,,0) Liner inepenene in vetors: v, v2,..., For ll non-trivil we hve s v s v n s, s2,..., s n 2v2...

More information

String comparison by transposition networks

String comparison by transposition networks String omprison y trnsposition networks Alexnder Tiskin (Joint work with Peter Krushe) Deprtment of Computer Siene University of Wrwik http://www.ds.wrwik..uk/~tiskin (inludes n extended version of this

More information

CS 241 Week 4 Tutorial Solutions

CS 241 Week 4 Tutorial Solutions CS 4 Week 4 Tutoril Solutions Writing n Assemler, Prt & Regulr Lnguges Prt Winter 8 Assemling instrutions utomtilly. slt $d, $s, $t. Solution: $d, $s, nd $t ll fit in -it signed integers sine they re 5-it

More information

A decision support system prototype for fuzzy multiple objective optimization

A decision support system prototype for fuzzy multiple objective optimization EUSFLAT - LFA A eision support system prototype for fuzzy multiple ojetive optimiztion Fengjie Wu Jie Lu n Gungqun Zhng Fulty of Informtion Tehnology University of Tehnology Syney Austrli E-mil: {fengjiewjieluzhngg}@it.uts.eu.u

More information

Asurveyofpractical algorithms for suffix tree construction in external memory

Asurveyofpractical algorithms for suffix tree construction in external memory Asurveyofprtil lgorithms for suffix tree onstrution in externl memory M. Brsky,, U. Stege n A. Thomo University of Vitori, PO Box, STN CSC Vitori, BC, VW P, Cn SUMMAY The onstrution of suffix trees in

More information

COMMON FRACTIONS. or a / b = a b. , a is called the numerator, and b is called the denominator.

COMMON FRACTIONS. or a / b = a b. , a is called the numerator, and b is called the denominator. COMMON FRACTIONS BASIC DEFINITIONS * A frtion is n inite ivision. or / * In the frtion is lle the numertor n is lle the enomintor. * The whole is seprte into "" equl prts n we re onsiering "" of those

More information

COMP108 Algorithmic Foundations

COMP108 Algorithmic Foundations Grph Theory Prudene Wong http://www.s.liv..uk/~pwong/tehing/omp108/201617 How to Mesure 4L? 3L 5L 3L ontiner & 5L ontiner (without mrk) infinite supply of wter You n pour wter from one ontiner to nother

More information

Duality in linear interval equations

Duality in linear interval equations Aville online t http://ijim.sriu..ir Int. J. Industril Mthemtis Vol. 1, No. 1 (2009) 41-45 Dulity in liner intervl equtions M. Movhedin, S. Slhshour, S. Hji Ghsemi, S. Khezerloo, M. Khezerloo, S. M. Khorsny

More information

Class Overview. Database Design. Database Design Process. Database Design. Introduction to Data Management CSE 414

Class Overview. Database Design. Database Design Process. Database Design. Introduction to Data Management CSE 414 Introution to Dt Mngement CSE 44 Unit 6: Coneptul Design E/R Digrms Integrity Constrints BCNF Introution to Dt Mngement CSE 44 E/R Digrms ( letures) CSE 44 Autumn 08 Clss Overview Dtse Design Unit : Intro

More information

COMPUTER EDUCATION TECHNIQUES, INC. (WEBLOGIC_SVR_ADM ) SA:

COMPUTER EDUCATION TECHNIQUES, INC. (WEBLOGIC_SVR_ADM ) SA: In orer to lern whih questions hve een nswere orretly: 1. Print these pges. 2. Answer the questions. 3. Sen this ssessment with the nswers vi:. FAX to (212) 967-3498. Or. Mil the nswers to the following

More information

WORKSHOP 9 HEX MESH USING SWEEP VECTOR

WORKSHOP 9 HEX MESH USING SWEEP VECTOR WORKSHOP 9 HEX MESH USING SWEEP VECTOR WS9-1 WS9-2 Prolem Desription This exerise involves importing urve geometry from n IGES file. The urves re use to rete other urves. From the urves trimme surfes re

More information

Distributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems

Distributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems Distriuted Systems Priniples nd Prdigms Mrten vn Steen VU Amsterdm, Dept. Computer Siene steen@s.vu.nl Chpter 11: Distriuted File Systems Version: Deemer 10, 2012 2 / 14 Distriuted File Systems Distriuted

More information

CICS Application Design

CICS Application Design CICS Applition Design In orer to lern whih questions hve een nswere orretly: 1. Print these pges. 2. Answer the questions. 3. Sen this ssessment with the nswers vi:. FAX to (212) 967-3498. Or. Mil the

More information

Bayesian Networks: Directed Markov Properties (Cont d) and Markov Equivalent DAGs

Bayesian Networks: Directed Markov Properties (Cont d) and Markov Equivalent DAGs Byesin Networks: Direte Mrkov Properties (Cont ) n Mrkov Equivlent DAGs Huizhen Yu jney.yu@s.helsinki.fi Dept. Computer Siene, Univ. of Helsinki Proilisti Moels, Spring, 2010 Huizhen Yu (U.H.) Byesin Networks:

More information

5 ANGLES AND POLYGONS

5 ANGLES AND POLYGONS 5 GLES POLYGOS urling rige looks like onventionl rige when it is extene. However, it urls up to form n otgon to llow ots through. This Rolling rige is in Pington sin in Lonon, n urls up every Friy t miy.

More information

UTMC APPLICATION NOTE UT1553B BCRT TO INTERFACE PSEUDO-DUAL-PORT RAM ARCHITECTURE INTRODUCTION ARBITRATION DETAILS DESIGN SELECTIONS

UTMC APPLICATION NOTE UT1553B BCRT TO INTERFACE PSEUDO-DUAL-PORT RAM ARCHITECTURE INTRODUCTION ARBITRATION DETAILS DESIGN SELECTIONS UTMC APPLICATION NOTE UT1553B BCRT TO 80186 INTERFACE INTRODUCTION The UTMC UT1553B BCRT is monolithi CMOS integrte iruit tht provies omprehensive Bus Controller n Remote Terminl funtions for MIL-STD-

More information

Problem Final Exam Set 2 Solutions

Problem Final Exam Set 2 Solutions CSE 5 5 Algoritms nd nd Progrms Prolem Finl Exm Set Solutions Jontn Turner Exm - //05 0/8/0. (5 points) Suppose you re implementing grp lgoritm tt uses ep s one of its primry dt strutures. Te lgoritm does

More information

Midterm Exam CSC October 2001

Midterm Exam CSC October 2001 Midterm Exm CSC 173 23 Otoer 2001 Diretions This exm hs 8 questions, severl of whih hve suprts. Eh question indites its point vlue. The totl is 100 points. Questions 5() nd 6() re optionl; they re not

More information

Lecture 8: Graph-theoretic problems (again)

Lecture 8: Graph-theoretic problems (again) COMP36111: Advned Algorithms I Leture 8: Grph-theoreti prolems (gin) In Prtt-Hrtmnn Room KB2.38: emil: iprtt@s.mn..uk 2017 18 Reding for this leture: Sipser: Chpter 7. A grph is pir G = (V, E), where V

More information

Internet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014.

Internet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014. omputer Networks 9/29/2014 IP Pket Formt Internet Routing Ki Shen IP protool version numer heder length (words) for qulity of servie mx numer remining hops (deremented t eh router) upper lyer protool to

More information

XML and Databases. Outline. XPath. Outline - Lectures. XPath Data Model. Outline - Assignments. XPath. Sebastian Maneth NICTA and UNSW

XML and Databases. Outline. XPath. Outline - Lectures. XPath Data Model. Outline - Assignments. XPath. Sebastian Maneth NICTA and UNSW Outline XML n Dtses Leture 6 Noe Seleting Queries: XPth 1.0 1. XPth Dt Moel: 7 types of noes 2. Simple Exmples 3. Lotion Steps n Pths 4. Vlue Comprison, n Other Funtions Sestin Mneth NICTA n UNSW CSE@UNSW

More information

Introduction to Algebra

Introduction to Algebra INTRODUCTORY ALGEBRA Mini-Leture 1.1 Introdution to Alger Evlute lgeri expressions y sustitution. Trnslte phrses to lgeri expressions. 1. Evlute the expressions when =, =, nd = 6. ) d) 5 10. Trnslte eh

More information

Outline. CS38 Introduction to Algorithms. Graphs. Graphs. Graphs. Graph traversals

Outline. CS38 Introduction to Algorithms. Graphs. Graphs. Graphs. Graph traversals Outline CS38 Introution to Algorithms Leture 2 April 3, 2014 grph trversls (BFS, DFS) onnetivity topologil sort strongly onnete omponents heps n hepsort greey lgorithms April 3, 2014 CS38 Leture 2 2 Grphs

More information

Advanced Programming Handout 5. Enter Okasaki. Persistent vs. Ephemeral. Functional Queues. Simple Example. Persistent vs.

Advanced Programming Handout 5. Enter Okasaki. Persistent vs. Ephemeral. Functional Queues. Simple Example. Persistent vs. Avne Progrmming Hnout 5 Purel Funtionl Dt Strutures: A Cse Stu in Funtionl Progrmming Persistent vs. Ephemerl An ephemerl t struture is one for whih onl one version is ville t time: fter n upte opertion,

More information

Declarative Routing: Extensible Routing with Declarative Queries

Declarative Routing: Extensible Routing with Declarative Queries elrtive Routing: Extensile Routing with elrtive Queries Boon Thu Loo 1 Joseph M. Hellerstein 1,2, Ion toi 1, Rghu Rmkrishnn3, 1 University of Cliforni t Berkeley, 2 Intel Reserh Berkeley, 3 University

More information

COSC 6374 Parallel Computation. Dense Matrix Operations

COSC 6374 Parallel Computation. Dense Matrix Operations COSC 6374 Prllel Computtion Dense Mtrix Opertions Edgr Griel Fll Edgr Griel Prllel Computtion Edgr Griel erminology Dense Mtrix: ll elements of the mtrix ontin relevnt vlues ypilly stored s 2-D rry, (e.g.

More information

GENG2140 Modelling and Computer Analysis for Engineers

GENG2140 Modelling and Computer Analysis for Engineers GENG4 Moelling n Computer Anlysis or Engineers Letures 9 & : Gussin qurture Crete y Grn Romn Joles, PhD Shool o Mehnil Engineering, UWA GENG4 Content Deinition o Gussin qurture Computtion o weights n points

More information

Lecture 13: Graphs I: Breadth First Search

Lecture 13: Graphs I: Breadth First Search Leture 13 Grphs I: BFS 6.006 Fll 2011 Leture 13: Grphs I: Bredth First Serh Leture Overview Applitions of Grph Serh Grph Representtions Bredth-First Serh Rell: Grph G = (V, E) V = set of verties (ritrry

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Priniples nd Prdigms Christoph Dorn Distriuted Systems Group, Vienn University of Tehnology.dorn@infosys.tuwien..t http://www.infosys.tuwien..t/stff/dorn Slides dpted from Mrten vn Steen,

More information

Error Numbers of the Standard Function Block

Error Numbers of the Standard Function Block A.2.2 Numers of the Stndrd Funtion Blok evlution The result of the logi opertion RLO is set if n error ours while the stndrd funtion lok is eing proessed. This llows you to rnh to your own error evlution

More information

Solids. Solids. Curriculum Ready.

Solids. Solids. Curriculum Ready. Curriulum Rey www.mthletis.om This ooklet is ll out ientifying, rwing n mesuring solis n prisms. SOM CUES The Som Cue ws invente y Dnish sientist who went y the nme of Piet Hein. It is simple 3 # 3 #

More information

Cooperative Routing in Multi-Source Multi-Destination Multi-hop Wireless Networks

Cooperative Routing in Multi-Source Multi-Destination Multi-hop Wireless Networks oopertive Routing in Multi-Soure Multi-estintion Multi-hop Wireless Networks Jin Zhng Qin Zhng eprtment of omputer Siene n ngineering Hong Kong University of Siene n Tehnology, HongKong {zjzj, qinzh}@se.ust.hk

More information

Introduction. Example

Introduction. Example OMS0 Introution isjoint sets n minimum spnning trees In this leture we will strt by isussing t struture use for mintining isjoint subsets of some bigger set. This hs number of pplitions, inluing to mintining

More information

A matching algorithm for measuring the structural similarity between an XML document and a DTD and its applications $

A matching algorithm for measuring the structural similarity between an XML document and a DTD and its applications $ Informtion Systems 29 (2004) 23 46 A mthing lgorithm for mesuring the struturl similrity etween n XML oument n DTD n its pplitions $ Elis Bertino, Giovnn Guerrini, Mro Mesiti, * Diprtimento i Informti

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

[SYLWAN., 158(6)]. ISI

[SYLWAN., 158(6)]. ISI The proposl of Improved Inext Isomorphi Grph Algorithm to Detet Design Ptterns Afnn Slem B-Brhem, M. Rizwn Jmeel Qureshi Fulty of Computing nd Informtion Tehnology, King Adulziz University, Jeddh, SAUDI

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Outline. Motivation Background ARCH. Experiment Additional usages for Input-Depth. Regular Expression Matching DPI over Compressed HTTP

Outline. Motivation Background ARCH. Experiment Additional usages for Input-Depth. Regular Expression Matching DPI over Compressed HTTP ARCH This work ws supported y: The Europen Reserh Counil, The Isreli Centers of Reserh Exellene, The Neptune Consortium, nd Ntionl Siene Foundtion wrd CNS-119748 Outline Motivtion Bkground Regulr Expression

More information

COSC 6374 Parallel Computation. Non-blocking Collective Operations. Edgar Gabriel Fall Overview

COSC 6374 Parallel Computation. Non-blocking Collective Operations. Edgar Gabriel Fall Overview COSC 6374 Prllel Computtion Non-loking Colletive Opertions Edgr Griel Fll 2014 Overview Impt of olletive ommunition opertions Impt of ommunition osts on Speedup Crtesin stenil ommunition All-to-ll ommunition

More information

Graph theory Route problems

Graph theory Route problems Bhelors thesis Grph theory Route prolems Author: Aolphe Nikwigize Dte: 986 - -5 Sujet: Mthemtis Level: First level (Bhelor) Course oe: MAE Astrt In this thesis we will review some route prolems whih re

More information

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs.

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs. Lecture 5 Wlks, Trils, Pths nd Connectedness Reding: Some of the mteril in this lecture comes from Section 1.2 of Dieter Jungnickel (2008), Grphs, Networks nd Algorithms, 3rd edition, which is ville online

More information

Hash-based Subgraph Query Processing Method for Graph-structured XML Documents

Hash-based Subgraph Query Processing Method for Graph-structured XML Documents Hsh-bse Subgrph Query Proessing Metho for Grph-struture XML Douments Hongzhi Wng Hrbin Institute of Teh. wngzh@hit.eu.n Jinzhong Li Hrbin Institute of Teh. lijzh@hit.eu.n Jizhou Luo Hrbin Institute of

More information

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms Prdigm. Dt Struture Known exmples: link tble, hep, Our leture: suffix tree Will involve mortize method tht will be stressed shortly in this ourse Suffix trees Wht is suffix tree? Simple pplitions History

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

Minimal Memory Abstractions

Minimal Memory Abstractions Miniml Memory Astrtions (As implemented for BioWre Corp ) Nthn Sturtevnt University of Alert GAMES Group Ferury, 7 Tlk Overview Prt I: Building Astrtions Minimizing memory requirements Performnes mesures

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

The Droplet Virtual Brush for Chinese Calligraphic Character Modeling

The Droplet Virtual Brush for Chinese Calligraphic Character Modeling The Droplet Virtul Brush for Chinese Clligrphi Chrter Moeling Xiofeng Mi Jie Xu Min Tng Jinxing Dong CAD & CG Stte Key L of Chin, Zhejing University, Hngzhou, Chin Artifiil Intelligene Institute, Zhejing

More information

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer

More information

Rolling Back Remote Provisioning Changes. Dell Command Integration for System Center

Rolling Back Remote Provisioning Changes. Dell Command Integration for System Center Rolling Bk Remote Provisioning Chnges Dell Commn Integrtion for System Center Notes, utions, n wrnings NOTE: A NOTE inites importnt informtion tht helps you mke etter use of your prout. CAUTION: A CAUTION

More information

LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION

LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION Overview LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION 4.4.1.0 Due to the omplex nture of this updte, plese fmilirize yourself with these instrutions nd then ontt RGB Spetrum Tehnil

More information

Graph Contraction and Connectivity

Graph Contraction and Connectivity Chpter 14 Grph Contrtion n Connetivity So fr we hve mostly overe tehniques for solving problems on grphs tht were evelope in the ontext of sequentil lgorithms. Some of them re esy to prllelize while others

More information

FEEDBACK: The standard error of a regression is not an unbiased estimator for the standard deviation of the error in a multiple regression model.

FEEDBACK: The standard error of a regression is not an unbiased estimator for the standard deviation of the error in a multiple regression model. Introutory Eonometris: A Moern Approh 6th Eition Woolrige Test Bnk Solutions Complete ownlo: https://testbnkre.om/ownlo/introutory-eonometris-moern-pproh-6th-eition-jeffreym-woolrige-test-bnk/ Solutions

More information

Generating Editors for Direct Manipulation of Diagrams

Generating Editors for Direct Manipulation of Diagrams Generting Eitors for Diret Mnipultion of Digrms Gerhr Viehstet n Mrk Mins Lehrstuhl für Progrmmiersprhen Universität Erlngen-Nürnerg Mrtensstr. 3, 91058 Erlngen, Germny E-mil: fviehste,minsg@informtik.uni-erlngen.e

More information

COSC 6374 Parallel Computation. Communication Performance Modeling (II) Edgar Gabriel Fall Overview. Impact of communication costs on Speedup

COSC 6374 Parallel Computation. Communication Performance Modeling (II) Edgar Gabriel Fall Overview. Impact of communication costs on Speedup COSC 6374 Prllel Computtion Communition Performne Modeling (II) Edgr Griel Fll 2015 Overview Impt of ommunition osts on Speedup Crtesin stenil ommunition All-to-ll ommunition Impt of olletive ommunition

More information

CMPUT101 Introduction to Computing - Summer 2002

CMPUT101 Introduction to Computing - Summer 2002 CMPUT Introdution to Computing - Summer 22 %XLOGLQJ&RPSXWHU&LUFXLWV Chpter 4.4 3XUSRVH We hve looked t so fr how to uild logi gtes from trnsistors. Next we will look t how to uild iruits from logi gtes,

More information

The Network Layer: Routing in the Internet. The Network Layer: Routing & Addressing Outline

The Network Layer: Routing in the Internet. The Network Layer: Routing & Addressing Outline CPSC 852 Internetworking The Network Lyer: Routing in the Internet Mihele Weigle Deprtment of Computer Siene Clemson University mweigle@s.lemson.edu http://www.s.lemson.edu/~mweigle/ourses/ps852 1 The

More information

Approximate Joins for Data Centric XML

Approximate Joins for Data Centric XML Approximte Joins for Dt Centri XML Nikolus Augsten 1, Mihel Böhlen 1, Curtis Dyreson, Johnn Gmper 1 1 Fulty of Computer Siene, Free University of Bozen-Bolzno Dominiknerpltz 3, Bozen, Itly {ugsten,oehlen,gmper}@inf.uniz.it

More information

CS553 Lecture Introduction to Data-flow Analysis 1

CS553 Lecture Introduction to Data-flow Analysis 1 ! Ide Introdution to Dt-flow nlysis!lst Time! Implementing Mrk nd Sweep GC!Tody! Control flow grphs! Liveness nlysis! Register llotion CS553 Leture Introdution to Dt-flow Anlysis 1 Dt-flow Anlysis! Dt-flow

More information

CS453 INTRODUCTION TO DATAFLOW ANALYSIS

CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 Leture Register llotion using liveness nlysis 1 Introdution to Dt-flow nlysis Lst Time Register llotion for expression trees nd lol nd prm vrs Tody Register

More information

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal CS 55 Computer Grphis Hidden Surfe Removl Hidden Surfe Elimintion Ojet preision lgorithms: determine whih ojets re in front of others Uses the Pinter s lgorithm drw visile surfes from k (frthest) to front

More information

PROBLEM OF APOLLONIUS

PROBLEM OF APOLLONIUS PROBLEM OF APOLLONIUS In the Jnury 010 issue of Amerin Sientist D. Mkenzie isusses the Apollonin Gsket whih involves fining the rius of the lrgest irle whih just fits into the spe etween three tngent irles

More information

Computational geometry

Computational geometry Leture 23 Computtionl geometry Supplementl reding in CLRS: Chpter 33 exept 33.3 There re mny importnt prolems in whih the reltionships we wish to nlyze hve geometri struture. For exmple, omputtionl geometry

More information

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards A Tutology Checker loosely relted to Stålmrck s Algorithm y Mrtin Richrds mr@cl.cm.c.uk http://www.cl.cm.c.uk/users/mr/ University Computer Lortory New Museum Site Pemroke Street Cmridge, CB2 3QG Mrtin

More information

Using Red-Eye to improve face detection in low quality video images

Using Red-Eye to improve face detection in low quality video images Using Re-Eye to improve fe etetion in low qulity vieo imges Rihr Youmrn Shool of Informtion Tehnology University of Ottw, Cn youmrn@site.uottw. Any Aler Shool of Informtion Tehnology University of Ottw,

More information

Robust internal multiple prediction algorithm Zhiming James Wu, Sonika, Bill Dragoset*, WesternGeco

Robust internal multiple prediction algorithm Zhiming James Wu, Sonika, Bill Dragoset*, WesternGeco Roust internl multiple preition lgorithm Zhiming Jmes Wu, Sonik, Bill Drgoset*, WesternGeo Summry Multiple ttenution is n importnt t proessing step for oth mrine n ln t. Tehniques for surfe- rpily in the

More information

Pattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions

Pattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions Pttern Mthing Pttern Mthing Some of these leture slides hve een dpted from: lgorithms in C, Roert Sedgewik. Gol. Generlize string serhing to inompletely speified ptterns. pplitions. Test if string or its

More information

Section 2.3 Functions. Definition: Let A and B be sets. A function (mapping, map) f from A to B, denoted f :A B, is a subset of A B such that

Section 2.3 Functions. Definition: Let A and B be sets. A function (mapping, map) f from A to B, denoted f :A B, is a subset of A B such that Setion 2.3 Funtions Definition: Let n e sets. funtion (mpping, mp) f from to, enote f :, is suset of suh tht x[x y[y < x, y > f ]] n [< x, y 1 > f < x, y 2 > f ] y 1 = y 2 Note: f ssoites with eh x in

More information

Using SIMD Registers and Instructions to Enable Instruction-Level Parallelism in Sorting Algorithms

Using SIMD Registers and Instructions to Enable Instruction-Level Parallelism in Sorting Algorithms Using SIMD Registers n Instrutions to Enle Instrution-Level Prllelism in Sorting Algorithms Timothy Furtk furtk@s.ulert. José Nelson Amrl mrl@s.ulert. Roert Niewiomski niewio@s.ulert. Deprtment of Computing

More information

Structure in solution spaces: Three lessons from Jean-Claude

Structure in solution spaces: Three lessons from Jean-Claude Struture in solution spes: Three lessons from Jen-Clue Dvi Eppstein Computer Siene Deprtment, Univ. of Cliforni, Irvine Conferene on Meningfulness n Lerning Spes: A Triute to the Work of Jen-Clue Flmgne

More information

[Prakash* et al., 5(8): August, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

[Prakash* et al., 5(8): August, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116 [Prksh* et l 58: ugust 6] ISSN: 77-9655 I Vlue: Impt Ftor: 6 IJESRT INTERNTIONL JOURNL OF ENGINEERING SIENES & RESERH TEHNOLOGY SOME PROPERTIES ND THEOREM ON FUZZY SU-TRIDENT DISTNE Prveen Prksh* M Geeth

More information

Partitioning for Parallelization Using Graph Parsing

Partitioning for Parallelization Using Graph Parsing Prtitioning for Prlleliztion Using Grph Prsing C. L. MCrery Deprtment of Computer Siene n Engineering Auurn University, Al 36849 e-mil: mrery@eng.uurn.eu (205) 844-6307 List of Figures Figure 3.1 Figure

More information

Scalable Spatio-temporal Continuous Query Processing for Location-aware Services

Scalable Spatio-temporal Continuous Query Processing for Location-aware Services Slle Sptio-temporl Continuous uery Proessing for Lotion-wre Servies iopeng iong Mohme F. Mokel Wli G. Aref Susnne E. Hmrush Sunil Prhkr Deprtment of Computer Sienes, Purue University, West Lfyette, IN

More information

WORKSHOP 8B TENSION COUPON

WORKSHOP 8B TENSION COUPON WORKSHOP 8B TENSION COUPON WS8B-2 Workshop Ojetives Prtie reting n eiting geometry Prtie mesh seeing n iso meshing tehniques. WS8B-3 Suggeste Exerise Steps 1. Crete new tse. 2. Crete geometry moel of the

More information

Lexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay

Lexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay Lexicl Anlysis Amith Snyl (www.cse.iit.c.in/ s) Deprtment of Computer Science nd Engineering, Indin Institute of Technology, Bomy Septemer 27 College of Engineering, Pune Lexicl Anlysis: 2/6 Recp The input

More information

Photovoltaic Panel Modelling Using a Stochastic Approach in MATLAB &Simulink

Photovoltaic Panel Modelling Using a Stochastic Approach in MATLAB &Simulink hotovolti nel Modelling Using Stohsti Approh in MATLAB &Simulink KAREL ZALATILEK, JAN LEUCHTER eprtment of Eletril Engineering University of efene Kouniov 65, 61 City of Brno CZECH REUBLIC krelzpltilek@unoz,

More information

The Greedy Method. The Greedy Method

The Greedy Method. The Greedy Method Lists nd Itertors /8/26 Presenttion for use with the textook, Algorithm Design nd Applictions, y M. T. Goodrich nd R. Tmssi, Wiley, 25 The Greedy Method The Greedy Method The greedy method is generl lgorithm

More information

WORKSHOP 19 GLOBAL/LOCAL MODELING USING FEM FIELDS

WORKSHOP 19 GLOBAL/LOCAL MODELING USING FEM FIELDS WORKSHOP 19 GLOBAL/LOCAL MODELING USING FEM FIELDS WS19-1 WS19-2 Prolem Desription This exerise is use to emonstrte how to mp isplement results from the nlysis of glol(overll) moel onto the perimeter of

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2: Solutions. Please write your name in the upper corner of each page.

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2: Solutions. Please write your name in the upper corner of each page. 6045J/18400J: Automt, Computbility nd Complexity Mrh 30, 2005 Quiz 2: Solutions Prof Nny Lynh Vinod Vikuntnthn Plese write your nme in the upper orner of eh pge Problem Sore 1 2 3 4 5 6 Totl Q2-1 Problem

More information

An Efficient Algorithm for the Physical Mapping of Clustered Task Graphs onto Multiprocessor Architectures

An Efficient Algorithm for the Physical Mapping of Clustered Task Graphs onto Multiprocessor Architectures An Effiient Algorithm for the Physil Mpping of Clustere Tsk Grphs onto Multiproessor Arhitetures Netrios Koziris Pnyiotis Tsnks Mihel Romesis George Ppkonstntinou Ntionl Tehnil University of Athens Dept.

More information

4.3 Balanced Trees. let us assume that we can manipulate them conveniently and see how they can be put together to form trees.

4.3 Balanced Trees. let us assume that we can manipulate them conveniently and see how they can be put together to form trees. 428 T FOU 4.3 Blned Trees T BT GOIT IN T VIOU setion work well for wide vriety of pplitions, ut they hve poor worst-se performne. s we hve noted, files lredy in order, files in reverse order, files with

More information

Fault tree conversion to binary decision diagrams

Fault tree conversion to binary decision diagrams Loughorough University Institutionl Repository Fult tree onversion to inry deision digrms This item ws sumitted to Loughorough University's Institutionl Repository y the/n uthor. Cittion: ANDREWS, J.D.

More information

Parallelization Optimization of System-Level Specification

Parallelization Optimization of System-Level Specification Prlleliztion Optimiztion of System-Level Speifition Luki i niel. Gjski enter for Emedded omputer Systems University of liforni Irvine, 92697, US {li, gjski} @es.ui.edu strt This pper introdues the prlleliztion

More information

FASTEST METHOD TO FIND ALTERNATIVE RE-ROUTE

FASTEST METHOD TO FIND ALTERNATIVE RE-ROUTE INTERNATIONAL JOURNAL OF RESEARCH IN COMPUTER APPLICATIONS AND ROBOTICS ISSN 2320-7345 FASTEST METHOD TO FIND ALTERNATIVE RE-ROUTE 1 M.JothiLkshmi, M.S., M.Phil. 2 C.Theeendr, M.S., M.Phil. 3 M.K.Pvithr,

More information

3D convex hulls. Convex Hull in 3D. convex polyhedron. convex polyhedron. The problem: Given a set P of points in 3D, compute their convex hull

3D convex hulls. Convex Hull in 3D. convex polyhedron. convex polyhedron. The problem: Given a set P of points in 3D, compute their convex hull Convex Hull in The rolem: Given set P of oints in, omute their onvex hull onvex hulls Comuttionl Geometry [si 3250] Lur Tom Bowoin College onvex olyheron 1 2 3 olygon olyheron onvex olyheron 4 5 6 Polyheron

More information

Towards Unifying Advances in Twig Join Algorithms

Towards Unifying Advances in Twig Join Algorithms Pro. 21st Austrlsin Dtse Conferene (ADC 2010), Brisne, Austrli Towrds Unifying Advnes in Twig Join Algorithms Nils Grimsmo Truls A. Bjørklund Deprtment of Computer nd Informtion Siene Norwegin University

More information

McAfee Web Gateway

McAfee Web Gateway Relese Notes Revision C MAfee We Gtewy 7.6.2.11 Contents Aout this relese Enhnement Resolved issues Instlltion instrutions Known issues Additionl informtion Find produt doumenttion Aout this relese This

More information

Chapter 16. Shortest Paths Shortest Weighted Paths

Chapter 16. Shortest Paths Shortest Weighted Paths Chpter 6 Shortet Pth Given grph where ege re lle with weight (or itne) n oure vertex, wht i the hortet pth etween the oure n ome other vertex? Prolem requiring u to nwer uh querie re roly known hortet-pth

More information

Kinetic Collision Detection: Algorithms and Experiments

Kinetic Collision Detection: Algorithms and Experiments Kineti Collision Detetion: Algorithms n Experiments Leonis J. Guis Feng Xie Li Zhng Computer Siene Deprtment, Stnfor University Astrt Effiient ollision etetion is importnt in mny rooti tsks, from high-level

More information

Loop Shifting and Compaction for the High-Level Synthesis of Designs with Complex Control Flow

Loop Shifting and Compaction for the High-Level Synthesis of Designs with Complex Control Flow Shifting n Comption for the High-Level Synthesis of Designs with Complex Control low Sumit Gupt Nikil Dutt Rjesh Gupt Alexnru Niolu Center for Emee Computer Systems Shool of Informtion n Computer Siene

More information

A dual of the rectangle-segmentation problem for binary matrices

A dual of the rectangle-segmentation problem for binary matrices A dul of the rectngle-segmenttion prolem for inry mtrices Thoms Klinowski Astrct We consider the prolem to decompose inry mtrix into smll numer of inry mtrices whose -entries form rectngle. We show tht

More information