|
|
|
- Barry Nichols
- 9 years ago
- Views:
Transcription
1 AClassofLinearAlgorithmstoProcessSetsofSegments GonzaloNavarroRicardoBaeza-Yates DepartmentofComputerScience BlancoEncalada2120 UniversityofChile Santiago-Chile currentsolutionstooperatesegmentsfocusonsingleoperations(e.g.insertionorsearching), weareinterestedinset-orientedoperations(e.g.union,dierenceandothersmorespecicto tomanipulatesetsofnelements.weshowthatawideclassofoperationscaninfactbe segments).inthosecases,extendingthecurrentapproachesleadstoo(nlogn)timecomplexity performedino(n)time,i.e.inaconstantamortizedcostperprocessedsegment.wepresent thegeneralframeworkandshowanumberofoperationsofthatkind,depictingandanalyzing Weaddresstheproblemofecientlyperformingoperationsonsetsofsegments.While Abstract ThisworkhasbeensupportedinpartbyFONDECYTgrants and thealgorithms.finally,weshowsomeapplicationsofthistechnique.
2 1Introduction Inmanypracticalapplicationstheproblemofmanipulatingsegmentsarisesunderdierentforms. modelswithconstraints[9,8]andstructuredtextsearch[13,10]. Typicalexamplesarecomputationalgeometry[14,11,6,3],temporaldatabases[7,2],database studied[14,5].alltheseapproachesfocuson\single"operations,inwhichasinglesegmentis behaviorfortheseoperations. operatedagainstasetofsegments.examplesare:searchingforasegment,insertinganewsegment structuredtextortemporaldatabases.examplesoftheoperationsthatarecommonlyperformedin intotheset,removingasegmentfromtheset,etc.in[5],itisshownhowtoachieveo(logn) oriented"operationsareneeded.thisisthecase,forexample,ofset-orientedquerylanguagesfor Becauseofthissituation,theproblemofmanipulatingasetofsegmentshasbeenextensively theseapplicationsareretrievingsegmentsincludingothersegments(e.g.allchapterscontainingat leastfourgures,instructuredtextsearch),orallsegmentsfromasetshortlyprecedingasegment scene,inatemporaldatabasedescribingmovies). fromanotherset(e.g.allmusicalsceneswhereagivenactorappearsthatshortlyprecedeacolorful However,forsomeapplications,thattypeofoperationsarelessimportant,whilemore\set- nonestingisallowed,thesegmentsaretriviallylinearlyordered,anditiseasytodeveloplinear solutionsfornelements.ouraimistoshowthatunderquitegeneralassumptions,muchbetter withamorecomplexdatastructure,andanalyzeunderwhichsituationstheideaworks. solutionscanbefound. segments,thusleadingtoo(n)algorithms.therefore,weextendthissimplemechanismtodeal Animportantconsiderationisthatwesupportnestinginthesegmentsformingaset,sinceif Weshowthatinmanycases,asolutionsimilartolistmerging[1]canbeappliedtosetsof AtrivialextensionofthecurrentapproachestodealwiththeserequirementsleadstoO(nlogn) wefoundlinearalgorithms.insection5weshowsomecomplexoperationsforwhichwefound algorithms[4]. moreexpensivesolutions.insection6weshowsomeapplicationsusingthesealgorithms.finally, weexplainthegeneralschemeofoursolution.insection4weshowanumberofproblemsforwhich retrievalcanbefoundin[12,13]. case.anearlierbutmoredetailedversionofpartofthisworkanditsapplicationtostructuredtext O(n)amortizedtime,whilethecostofanindividualoperationisknowntobe(logn)intheworst Thispaperisorganizedasfollows.Insection2weexplainourmodelofoperation.Insection3 ThemaincontributionofthispaperisasimpletechniquetoperformO(n)setoperationsin andtohx;yi=y.asegmenta=hx;yiissaidtocontainanotheroneb=hx0;y0i(andwedenote 2Preliminaries itasaborba)ixx0^y0y.ifasegmentcontainsanotheronewesaythattheynest. Asegmentisapairhx;yi,wherexandyarerealnumbersandxy.WedeneFromhx;yi=x insection7wepresentourconclusionsandfutureworkdirections. intheother).iftwosegmentsdonotnestandarenotdisjointwesaythattheyoverlap.finally, ab^a6=b. Thesegmentsaresaidtobedisjointiy<x0_y0<x(wesaya<bintherstcaseanda>b weusetheequalsignbetweensegmentswiththeobviousmeaning,andaborbatodenote
3 AandBinsomeway,inO(jAj+jBj)time. operations: Eachsetmustformahierarchy,i.e.nooverlapsareallowedbetweenanytwosegmentsof Toachievethatgoal,weimposetwofurtherrestrictions,oneonthesetsandoneontheprocessing Ourgeneralproblemis:giventwosetsofsegmentsAandB,obtainanewsetCbyprocessing Weareinterestedinset-orientedoperations,towhichweimposetheadditionalrestriction ofoperatingwithproximalsegments.proximalitymeansthatthepresenceorabsenceofa thanoverlapping,soweareinterestedinprovidingnesting. However,insomeapplications(e.g.structuredtextsearch)nestingcanbemoreimportant triviallyorderedbytheirrstorlastextreme,andthenormallistmergingalgorithmswork[4]. agivenset.thisisbecausetheonlywaywecouldobtainlinearalgorithmsforsetswith givensegmentinthenalresultmustbedenedintermsofrelativelyclosesegmentsinthe overlappingsegmentswaspreventingnestinginsidetheset.inthiscasethesegmentscanbe resultdoes.thatis,ouralgorithmsworkalsoifsegmentsfromdierentargumentsoverlap. Observethatwedonotneedthattheunionofbothoperandsformsahierarchy,aslongasthe arguments.thisisbecauseweplantotraversetheargumentsinsynchronizationtoproduce Weuseatreedatastructuretoarrangethesegmentsofeachset.Sincetherearenooverlaps, Ourapproachtothesolutioncanbedenedingeneraltermsasfollows: theresults. Toobtainthesolutionset(whichisalsoarrangedinatree),wearegoingtotraverseboth wedenethetreebythecontainmentrelationsbetweensegments. Wearenotinterestedinhowthesetsarebuiltintherstplace,andhowtheyarenally used.ourschemeisnotsoecienttobuildthetreesbyconsecutiverandominsertions,but ontreesandselectelementsundermorecomplexcriteria.tobeabletogeneratethewhole segments.allthealgorithmsconsistofvariationsofthisidea. solutionbytraversingtheoperandsjustonce,itisnecessarytheassumptionofproximal operandtreessimultaneously,inasynchronizedway,whilewegeneratethesolutiontreeat intheapplicationsweareinterestedin,thoseproblemsaresolvedinanad-hocway(weshow thesametime.theideaistogeneralizethelistmergingalgorithms,tomakethemoperate 3ASolutionScheme 3.1DataStructure Inwhatfollows,wedescribemoreindetailourdatastructureandalgorithmicscheme. anexampleinsection6). asegmentadescendsfromanotheronebinthetreeiab.althoughforclaritywedonotallow repetitions,thealgorithmsareeasilymodiedtoaccountforthis. Assaid,wearrangethesetofsegmentsinatree.Thecriteriontodenethetreeisstraightforward:
4 AformaldenitionofourtypeTreefollows: Segm=fhx;yi=x;y2R^xyg Subtree=SegmTree Tree=Subtree associatedsegment.ourtreescanbeseeninfactasforestswithorderamongtheirtrees. whereristhesetofrealnumbers.asitcanbeseen,therootofourtreedoesnothavean node:subtree!segmandsubtree:subtree!treeareselectors,i.e.ifs=(s;((s1;t1);:::; Wedenesomefunctionstoaccessthistreetype: 8(s;((s1;t1);:::;(sk;tk)))2Subtree;8i21::k;ssi (sk;tk)))2subtree,thennode(s)=sandsubtree(s)=((s1;t1);:::;(sk;tk)). 8(s1;t1);:::;(sk;tk)2Tree;8i21::k?1;si<si+1 head:subtree+!subtreereturnstherstelementofthelist,i.e.head(fl1;:::;lkg)=l1. tail:subtree+!subtreeeliminatestherstelement,i.e.tail(fl1;:::;lkg)=fl2;:::;l;lkg. 2Treedenotesanemptytree. operation,wemoveinoneorbothtrees,goingtothenextnodeorjumpingdirectlytothenext allowecientcomputationoftheseaccessfunctions. 3.2AlgorithmicScheme Ateachstep,thecurrentnodesofbothtreesarecompared,anddependingontheresultsandthe Thegeneralformofouralgorithmsconsistsoftraversingbothtrees,normallyinpreorpostorder. Althoughwedonotconsideranyparticularrepresentation,thedatastructureforourtreesmust sibling(thusskippingthecurrentsubtree).eachparticularcaseisavariationofthisgeneralidea. Weshowanumberofexamplesinthenextsection. fromthenalsolution(almostallusefuloperationsselectelementsfromonlyoneoperand).this selectorrejectthemarkednodes.somealgorithmscanbesolvedwithoutmarking,though. goodabstraction,sincewedonotdetailhowwecollectmarkedordeleteunmarkednodes.moreover, themarkingalgorithmcanbeusedfortwocomplementaryoperations,dependingonwhetherwe markingcanbeasimplebooleanmarkoritmayhaveamorecomplexmeaning.thisprovidesa Thuswearegoingtodescribethealgorithmsbymarkingnodesthatmustbeselectedorrejected traversal,whichistrivial,weusetwotypesoftraversaloperationshere,oneto\goright"andother storepointerstoparents,wekeepexplicitstackstoimplementthesetwotraversals. to\godown"inthetree.sinceseveraltreesaretraversedatthesametimeanditiswastefulto Atthebeginningofeachalgorithm,weinitializeanemptystackforeachargument.This Wedescribenowanimportantabstractionrelatedtothewaywetraversethetrees.Unlikelist Afterinitializingthestack,ifthetreeisnotempty,wepushthersttop-levelnodeofthetree operationspush,pop,emptyandtoponthestacks intothestack. stackholdspointerstotrees,andisreferredtoashargumenti:stack.weusethenormal
5 Thealgorithmsaccessonlythetopofthestacksandterminatewhenastackisempty.Argumenttreenamesareuppercaseletters.Theirlowercaseversiondenotesthetopnodesoftheir h1;1i(where1=1,1>x;8x2r,and1+x=1;8x2r). does,wepushitsrstchildintothestack.ifitdoesnot,weperforma\goright"operation. Togodowninthetree,wetestwhetherthecurrenttopofthestackhaschildrenornot.Ifit correspondingstacks,e.g.p=head(top(p:stack)).ifp:stackisempty,pisassumedtobe brace).figure1showsthebasicalgorithmsfortreetraversal. Togoright,wereplacethecurrenttopofthestackbyitsnextsibling.Ifthereisnonext Weuseapseudocodenotationforouralgorithms.Weincludeacase-likeinstruction(abigleft sibling,wepopthecurrenttopandretrytheoperationwiththeparent.weeventuallyempty thestackinthisway. Infact,goingdownmeans\processrstthechildrenandthenthesiblings". Init(P) Empty(P:stack). If(subtree(p)6=)Push(P:stack;subtree(p)) While(:Empty(P:stack)^tail(Top(P:stack))=)Pop(P:stack). elseright(p). If(P6=)Push(P:stack;P). If(:Empty(P:stack))Top(P:stack) Down(P) X,hXistheheightofitstree(intheworstcaseitcanbenX)anddXisthemaximumdegreeof itstree(itcanalsobenxinaattree).wealsousen,dandhasthemaximumcorresponding Weusethefollowingnumbersintheanalysis:nXisthesizeofthesetcorrespondingtooperand Figure1:Basicoperationsfortreetraversal. tail(top(p:stack)). valuebetweenalloperands(therearenormallytwooperands). ItshouldbeclearthateithercollectingmarkedordeletingunmarkednodesisO(n)time, Twoobservationsabouttheanalysis: simplewiththeseprimitives. AlthoughaparticularoperationoftreetraversalcanworkuptoO(h),wenotethatthewhole Wearenowinpositiontodescribeanumberofexamplealgorithms.Theirdescriptionisvery wherenisthenumberofnodesofthetree. thantwice.so,theamortizedcostoftreetraversalsisalwayslinearwiththesizeofthetree. traversal,evenbyusingdown,iso(n).thisisbecausenoedgeofthetreeistraversedmore
6 manipulation,segmentsincludingorincludedinothers,segmentsafterorbeforeothers,etc.inthis sectionweexplainindetailacoupleofthemandtheiranalysis. 4.1SetDierenceandIntersection Thereareanumberofinterestingproblemsthatadmitalinearimplementation,forexample:set 4LinearOperations isthatthetreesareunmarkedattherstplace,andwetraversebothtreesinsynchronization, Setdierenceandintersectionarecomplementaryversionsofasinglemarkingalgorithm.Theidea markingallnodesoftherstargumentthatarealsointhesecondone.thus,welaterimplement setdierencebycollectingunmarkednodesandsetintersectionbycollectingmarkednodes. Figure2showsthealgorithmtomarkthetree.PandQarethearguments. Whilemax(To(p);To(q))<1 Init(P).Init(Q). 8><>:p<q:Right(P). else:down(p). pq:down(q). p>q:right(q). p=q:markp.down(p). 4.2SegmentsIncludedinOthers time.itisalso(n)intheworstcase. beenalreadyshownlinear),andweworko(1)ateachstep.therefore,wehaveo(np+nq)=o(n) Thisalgorithmislinear,sinceasingletraversalisdoneoneachargument(thattraversalhas Figure2:Markingalgorithmforsetdierenceorintersection. Q,insynchronism.WhenanodeofPisincludedinatop-levelnodeofQ,thatsubtreeofPis toaccountforthis. marked.otherwisewediscardthatpnodeandcontinuewithitschildren. segmentofq. nodebutalsoitswholesubtreeisconsideredmarked.thecollectionalgorithmmustbemodied AnotherinterestingoperationisIn(P;Q),thatselectselementsfromPthatareincludedina renethisanalysisasfollows:eachtimewedoadown(p)isbecauseitcontainsanelementofqor ThisalgorithmisO(nP+nQ)=O(n),bythesameargumentsasbefore.Inthiscase,wecan Toavoidtoomuchmarkingoverhead,westatethatamarkinanodemeansthatnotonlythat ThealgorithmtosolveIn(P;Q)ispresentedinFigure3.WetraversethetoplevelsofPand becauseitoverlapswithanelementofq,thuseachextremeofeachsegmentof(thetop-levelof)q levelofthispath,theoperationcantakeusdpcomparisons,thusthecostiso(dqhpdp)=o(d2h). rstlevelinp,therelevantlistfromthetop-levelofqhasonlyoneelement(theoriginalq).ateach iscompared,atmost,withacompletepathofp(lengthhp).thatisbecauseoncewedescendthe takeso(logn)(atleasttodothemarking). Thatmeans,forexample,thatinanapplicationwithconstantdandbalancedtreestheoperation
7 Whilemax(To(p);To(q))<1 Init(P).Init(Q). 8><>:p<q:Right(P). p>q:right(q). pq:markp.right(p). else:down(p). 5ComplexOperations Then,thecomplexityofthisoperatorisO(min(nP+nQ;dQhPdP))=O(min(n;d2h)). Figure3:Markingalgorithmforsegmentsincludedinothers. includingksegments,andcomplexversionsof\after"and\before"aresomeexamples.weexplain Althoughmostoperationscanbeimplementedinlineartime,therearemorecomplexoperations thatseemnottohavealinearimplementation:segmentsincludedinotherswithpositions,segments indetailtherstone. 5.1SegmentsIncludedinOtherswithPositions slightlydierentalgorithms. consideringthemaximalsegmentsofpincludedinq,foreachq.ifasegmentofpoverlapswith q,thesegmentanditsdescendantsinparenotconsidered(seefigure4).othercriteriaproduce besegmentsincludedinqthatnestinp(e.g.sectionsinsidesections),wedene\position"byonly AnoperationthathappenstobeusefulforapplicationsistoselectsegmentsfromPthatareincluded ofpthatareincludedunderthesameq(e.g.thethirdsectionofeachchapter).sincetheremay insomesegmentqofqatagivenposition.thepositionisdenedintermsoftheothersegments node.wecanuse,e.g.rst,k-th,last,last?k,primepositions,etc.forthisalgorithmweusea genericpredicatetoavoidanyrestriction:sisanexpressiondenotingtheallowedpositions. WhenwendasetofnodesofPincludedinoneofQ,wemarkthes-thnodes,andthenwepass Figure4:Criteriontoparticipateininclusionwithpositions.Ellipsesindicateselectedsegments. Anotherconcerniswhichlanguagewillweusetodenotetheallowedpositionsofanincluded Thealgorithmrequiressimplebooleanmarking.Wetraversebothtreesinsynchronization. q P
8 againovertheincludedp-nodes,thistimecomparingthemwiththesubtreeoftheq-node.if, instead,thenodeofpincludesoneofq,wefollowthechildrenofthep-node.figure5showsthe algorithm. Whilemax(To(p);To(q))<1 Init(P).Init(Q). 8><>: else:down(p). p<q:right(p). p>q:right(q). pq:lp Figure5:Markingalgorithmforsegmentsincludedinothersatagivenposition. Whilehead(lp)q Down(Q). If(pos2s)Markhead(lp). Top(P:stack).pos tail(lp).pos pos+1. h2;ni;:::;hn;nig;s). bydoingatmosto(dp)work(whenpq),thusthealgorithmiso(np+nqdp).butalso thenalcollectionofnodesiso(np).observethateachelementofqisdeletedfromtheproblem O(min(nP+nQdP;nQ+nPhQ))=O(nmin(d;h)). algorithmisalsoo(nq+nphq).then,thealgorithmhasthebestfrombothcomplexities,namely observethateachelementofpcanbeworkedonbyatmostacompletepathofq,thusthe Toseethatitisalso(n2),considerthefollowingexample:In(fh1;1i;h2;2i;:::;hn;nig;fh1;ni; Toanalyzethisalgorithm,considerthatwecantraversebothPandQcompletely,andthat onlyrangeswecanimplementitino(nmin(h;klogd))wherekisthenumberofrangeswehave. considermanynodesofq,notjustone,andthereseemstobenobetterwaytodothat.ifthe 6SomeApplications languageofpositions(s)isrestrictedwecanobtainbettercomplexities,e.g.ifweallowtoexpress met.butobservethatinordertodeterminewhetherapnodeistobemarkedornot,wehaveto Thisnon-linearcomplexitymaybesurprising,sincetherequirementofproximalityseemstobe Ourtechniqueappliestoanumberofdissimilarapplications.Inthissectionwebrieydiscussa temporaldatabaseandexplainindetailastructuredtextsearchapplication.ouraimisnotonly toexposerealsituationswheretheproblemarises,butalsotoshowthepracticalperformanceof oneventsthatoccuratagivenpointorintervalintime.ifwehaveaset-orientedquerylanguage wewillbeinterestedinquestionssuchas\givemealltheevents(andtheirtimes)thatsatisfysome ouralgorithms. 6.1TemporalDatabases Temporaldatabases[7,2]canmanipulateinformationwithtemporalvalidity.Theirdataisbased constraint"(anexampleisgivenintheintroduction).
9 hastomanageanumberofquantitativefacts(i.e.eventsthatareknowntohavehappenedat time(e.g.ahappenedbeforeb,withoutknowingwhen).wejustwanttoshowthatifadatabase knowntimes),itmaybeinterestingforitsback-endtoperformset-orientedoperationsonthese facts.thesealgorithmswouldbeapartofamoregeneralinferenceengine,beinganecientway toselectrelevantfactstoworkon. Infact,temporaldatabasesaremuchmorecomplex,sincetheyalsodealwithuncertaintyin restrictionweimposeontheapplicabilityofourmodeltotemporaldatabases. wecannothandleresults(nalorintermediate)havingsegmentoverlapping.therefore,thisisa sequentialprocessescanbehierarchicallystructured. tions,althougheachanswerandintermediateresultisasubsetofsomesequentialprocess.those intoasetofsequentialprocesses,andsubsetsofdierentprocessescanbecombinedintoopera- Inmosttemporaldatabases,thetimeintervalscanoverlapandnest.Asexplainedearlier, Moderntextualdatabasesareagoodexampleofhierarchicalstructuring.Wedescribehereaspecic 6.2StructuredTextSearch Thisdoesnotmeanthattherecannotbeoverlapsinthedatabase.Wecandividetheknowledge modelhasmotivatedthisworkonecientalgorithmstoevaluatequeries,althoughsomeoperations modeltoquerystructuredtextdatabases,calledproximalnodes[13,12].thedevelopmentofthis dierslightlyfromthoseexposedhere. matchingexpressions.eachstructuralcomponent(e.g.chapters,gures,pages)ispreindexed,so tobeasubsetofagivenhierarchy. are:chapter/section/paragraphandfascicle/page/line.inthiscase,itmakesfullsenseforanswers componentsofthedatabase(e.g.chapters,pages,etc.).examplesofhierarchicalviewsofthetext ofindependenthierarchicalstructuresbuiltonthetext.eachhierarchyisstrict,althoughthere maybeoverlapsbetweendierenthierarchies.thenodesofthehierarchiesarethestructural Theleavesofthequerysyntaxtreesarenamesofstructuralcomponentsandtextpattern- Inthismodel,atextualdatabaseisseenasatext(asequenceofsymbols)plusanumber thesetofallelementsofagiventypecanberetrievedinatimeproportionaltothesizeofthe retrievedset.pattern-matchingusesanotherindextoreturnalistofsegmentsofthetextthat matchedthepattern.theselistsareconsideredtobepartofaspecialhierarchy.thisishowthe queryingfacilitiesbutahighexecutionoverhead. possibilitiesandthequerylanguageofthedatabaseandthosewhichhaverichstructuringand goodtradeobetweenthemodelswhichachievehigheciencybystronglyrestrictingthestructuring setsarebuiltintherstplace.allinternalnodesofquerysyntaxtreescorrespondtooperations betweensegmentsoftheoperands,andtheyarefurtherrestrictedtooperateonlyonproximal segments. theimplementation(usingthealgorithmsweexposehere)isveryecient.themodelconstitutesa Iwanttextparagraphsinitalicswhicharebefore(butinthesamepage)agurethatsays Someexamplesofqueriesare: Itisshownthatthequerylanguageobtainedundertheserestrictionshasgoodexpressivity,while GivemeallreferencestoKnuth'sbooksinchapters2-4. Iwantaparagraphprecedinganotherparagraphwheretheword\Computer"appearsbefore somethingabouttheearth. (at10symbolsorless)theword\science".bothparagraphsmustbeinthesamepage.
10 neededforthenalresult(thussavingalotofworkwhenprocessingtheintermediateresults). top-leveloftheresulttreeandaskstoexpandonlysomenodes.inthiscase,wesavetheworkof Thismechanismcanalsobeusedtoimplementanavigationalinterface,inwhichtheuserseesthe computingnodesthatarenottobeseen.althoughtheworst-casecomplexityofthelazyoperations isworsethanthatof\full"operations,therealtimesarebetter,sincelessnodesareprocessedin Iwantallsectionswithmathematicalformulasthatarenotappendices. practice. Wealsoimplementedalazyversionofthealgorithms,thatonlyprocessesthenodesthatare dierent.wetestedeachoperationondierentoperandsofsizes(i.e.numberofnodes)ranging gorithms.weusedadatabaseofcprogramsandlatexdocuments,whosestructuringisquite from100to10000.wealsotestedanumberofmorecomplexqueries,tocomparethefullandlazy versionsonrealqueries. correspondtoasunsparcclassicofapproximatelyspecmark26and16mbofram.fromthe testsweextractthefollowingconclusions(theymaydierforotherapplications): Aprototypehasbeenimplementedforthismodel,totesttheaverageperformanceoftheal- Figure6showsatypicalexampleofthetimesofanalgorithm(i.e.asingleoperation).They 1.0 seconds 0.5 full lazy 0.1 Thefullversionsofthealgorithmsarealllinearinpractice,sincethesituationsunderwhich 0.05 Thefullversionshaveverylowvariance,beingtheirtimeshighlypredictable,proportionalto Figure6:Typicaltimesforequal-sizedoperands.Observethatweusealogarithmicscale. theyarenotareveryunlikelytooccurinstructuredtextdatabases(e.g.averydeeptree) nodesprocessedpersecondperoperator. thesumofthesizesofallintermediateresults.theconstantforourmachineisapproximately 0.01 operand size
11 7ConclusionsandFutureWork Weanalyzedtheproblemofmanipulatingasetofsegmentswhenweareinterestedinset-oriented Thelazyversionisnormallybetterthanthefulloneinpractice,despitetheworsecomplexities, operations.classicalsolutionsprovidesimpleoperationswitho(logn)complexity,whichleadsto verylargevariance,though. especiallyforcomplexqueries.thisisbecauselessnodesareexpanded.lazyalgorithmshave O(nlogn)solutionsforset-orientedoperations. formedinlineartime.theseassumptionsare:theoperandsandtheresultmustnothaveoverlapping segmentsinside,andtheoperationsmustworkonproximalsegments. However,weshowthat,undersomegeneralassumptions,set-orientedoperationscanbeper- includeaveragetimesofarealimplementationofthealgorithms. operationsbecauseoftheamortizedcost,i.e.itsperformanceforsingleoperationsisnotgood. adaptedtoanumberofapparentlydissimilarproblems.thistechniqueworkswellforset-oriented merge-likeoperations,andappliedtheframeworktosolveinlineartimeanumberofset-oriented exampleoperationsonsegments.theaimwastoshowthattheframeworkisexibleenoughtobe Thereareanumberoffutureworkdirectionsrelatedtothiswork.Themostimportantare: Finally,wepresentedsomeapplicationstowhichthistechniquecouldbeapplied.Wealso Wedevelopedaframeworkorientedtotreetraversalthatgeneralizestheideaoflisttraversalfor Findatechniquethatkeepsthesegoodresultswhileimprovingtheperformanceforsingle Extendtheseideastoallowoverlapsintoaset,sincethiswillopenawealthofnewpossibilities toapplythistechnique. Extendtheframeworktoaccountformoredimensions,e.g.manipulatinghypercubesinstead Studyadisk-basedimplementation,tryingtominimizeseektimes.Someworkonthisdirectionhasalreadybeendone. speciallybylookingatapplicationsthatcanbenetfromthiswork. operations. Searchformoreoperationsthatcanbeimplementedinlineartimebyusingthisframework, Acknowledgments WethankClaudiaMedeirosandNinaEdelweissfortheirhelpontemporaldatabases.Wealso Studyaparallelimplementation,sinceouralgorithmsseemtobehighlyparallelizable. incomputationalgeometryandinmapprocessing(e.g.ingeographicinformationsystems). ofjustone-dimensionalsegments.thismayopenanumberofopportunitiesofapplications References thankthehelpfulcommentsofthereferees. [1]A.Aho,R.Sethi,andJ.Ullman.Compilers:Principles,TechniquesandTools.Addison- Wesley,1986.
12 [4]C.Clarke,G.Cormack,andF.Burkowski.Schema-independentretrievalfromheterogeneous [2]J.Allen,J.IIendler,andA.Tate,editors.ReadingsinPlanning.MorganKaufmann,1990. [5]T.Cormen,C.Leiserson,andR.Rivest.IntroductiontoAlgorithms.TheMITPress,1990. [3]J.Bentley.AlgorithmsforKlee'srectangleproblems.Dept.ofComputerScience,Carnegie- [6]H.Edelsbrunner.Dynamicdatastructuresfororthogonalintersection.TechnicalReportF59, structuredtext.inprocs.ofthe4thannualsymposiumondocumentanalysisandinformation Retrieval,Apr MellonUniv.Unpublishednotes.,1977. [9]P.Kanellakis,S.Ramaswamy,D.Vengro,andJ.Vitter.Indexingfordatamodelswithconstraintsandclasses.TechnicalReportCS-93-21,Dept.ofComputerScience,BrownUniversity, [7]A.T.etal.TemporalDatabases:Theory,DesignandImplementation.BenjaminCummings, [8]P.KanellakisandD.Goldin.Constraintprogramminganddatabasequerylanguages.Technical ReportCS-94-31,Dept.ofComputerScience,BrownUniversity,June Tech.Univ.Graz,InstitutefurInformationsverarbeitung,1980. [10]A.Loeen.Textdatabases:Asurveyoftextmodelsandsystems.ACMSIGMODConference. [11]E.McCreight.Prioritysearchtrees.TechnicalReportCSL-81-5,XeroxPARC,1981. [12]G.Navarro.Alanguageforqueriesonstructureandcontentsoftextualdatabases.Master'sthe- ACMSIGMODRECORD,23(1):97{106,Mar May1993. [13]G.NavarroandR.Baeza-Yates.Alanguageforqueriesonstructureandcontentsoftextual [14]F.PreparataandM.Shamos.ComputationalGeometry.Springer-Verlag,2ndedition,1988. sis,dept.ofcomputerscience,univ.ofchile,apr.1995.ftp://sunsite.dcc.uchile.cl/- pub/users/gnavarro/thesis95.ps.gz. databases.inproc.acmsigir'95,pages93{101,1995.ftp://sunsite.dcc.uchile.cl/- pub/users/gnavarro/sigir95.ps.gz.
Data Structures and Algorithms V22.0102. Otávio Braga
Data Structures and Algorithms V22.0102 Otávio Braga We use a stack When an operand is read, output it When an operator is read Pop until the top of the stack has an element of lower precedence Then push
Improving Regional PCE Estimates Using Credit Card Transaction Data
Improving Regional PCE Estimates Using Credit Card Transaction Data Abe Dunn Ledia Guci Mahsa Gholizadeh Bryn Whitmire June 10 th 2016 Data and coverage Exploratory work with First Data/Palantir Aggregate
Chapter 11, Testing, Part 2: Integration and System Testing
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing
Themethodofmovingcurvesandmovingsurfacesisanew,eectivetoolfor Abstract
OnaRelationshipbetweentheMovingLineand MovingConicCoecientMatrices DepartmentofComputerScience Houston,Texas77005 [email protected] RiceUniversity MingZhang DepartmentofInformationSystemsandComputerScience
Natural Language Processing. Today. Logistic Regression Models. Lecture 13 10/6/2015. Jim Martin. Multinomial Logistic Regression
Natural Language Processing Lecture 13 10/6/2015 Jim Martin Today Multinomial Logistic Regression Aka log-linear models or maximum entropy (maxent) Components of the model Learning the parameters 10/1/15
GarbageCollectioninObjectOriented DatabasesUsingTransactionalCyclic PrasanRoy1 ReferenceCounting S.Sudarshan1 S.Seshadri1S.Ashwin1 AviSilberschatz2 fprasan,seshadri,[email protected] 1IndianInstituteofTechnology,
X12 Implementation. Guidelines. For. Transfer Version 3030. (996o)
X12 Implementation Guidelines For Outbound ss File Transfer Version 3030 (996o) 996_3030 (003030) 1 April 29, 2003 996 File Transfer Functional Group ID=FT Introduction: This Draft Standard for Trial Use
The world s most adaptive enterprise- level digital marketing system
The world s most adaptive enterprise- level digital marketing system UNIQUE CAPABILITY UNMATCHED INTELLIGENCE SURPRISING FLEXIBILITY The world-class Taguchi digital marketing system was invented and developed
portion,theso-calledserver,providesbasicservicessuchasdatai/o,buermanagementandconcurrency
DynamO:DynamicObjectswithPersistentStorage JiongYang,SilviaNittel,WeiWang,andRichardMuntz UniversityofCalifornia,LosAngeles DepartmentofComputerScience intensiveapplications,e.g.,datamining,scienticcomputing,imageprocessing,etc.inthispaper,we
Artwork master Inspection and touch up Production phototools Inspection and touch up. development of outer layers
AutomaticPCBInspectionAlgorithms:ASurvey UniversityofMissouri-Rolla,Rolla,MO65401 MadhavMoganti1 DepartmentofComputerScience FikretErcal2 UniversityofMissouri-Rolla,Rolla,MO65401 DepartmentofEngineeringManagement
ASocialMechanismofReputationManagement inelectroniccommunities 446EGRC,1010MainCampusDrive BinYuandMunindarP.Singh? DepartmentofComputerScience NorthCarolinaStateUniversity fbyu,[email protected] Raleigh,NC27695-7534,USA
Towards an automated testing framework to manage variability using the UML Testing Profile
Automation of Software Test (AST 09) May 18, Vancouver, Canada Towards an automated testing framework to manage variability using the UML Testing Profile Beatriz Pérez Lamancha Software Testing Centre
NP-completeproblemstractable Copyingquantumcomputermakes MikaHirvensalo February1998 ISBN952-12-0158-4 TurkuCentreforComputerScience ISSN1239-1891 TUCSTechnicalReportNo161 superpositions,weshowthatnp-completeproblemscanbesolvedprobabilisticallyinpolynomialtime.wealsoproposetwomethodsthatcould
MUNIS Chart of Accounts Spreadsheet Definition
Worksheet Name Setup Segment Object Code Character Code Project Code Mast-Org- LONGACCT MUNIS Chart of Accounts Spreadsheet Definition MUNIS Screen Description G/L Parameter This worksheet indicates the
City University of Hong Kong. Information on a Course offered by the Department of Management Sciences with effect from Semester A in 2012 / 2013
City University of Hong Kong Information on a Course offered by the Department of Management Sciences with effect from Semester A in 2012 / 2013 Part I Course Title: Customer Relationship Management with
CSE373: Data Structures & Algorithms Lecture 14: Hash Collisions. Linda Shapiro Spring 2016
CSE373: Data Structures & Algorithms Lecture 14: Hash Collisions Linda Shapiro Spring 2016 Announcements Friday: Review List and go over answers to Practice Problems 2 Hash Tables: Review Aim for constant-time
DATA OBFUSCATION. What is data obfuscation?
DATA OBFUSCATION What data obfuscation? Data obfuscations break the data structures used in the program and encrypt literals. Th method includes modifying inheritance relations, restructuring arrays, etc.
Attention windows of second level fixations. Input image. Attention window of first level fixation
HandSegmentationUsingLearning-BasedPredictionand VericationforHandSignRecognition DepartmentofComputerScience YuntaoCuiandJohnJ.Weng mentationschemeusingattentionimagesfrommultiple Thispaperpresentsaprediction-and-vericationseg-
Data Mining. 1 Introduction 2 Data Mining methods. Alfred Holl Data Mining 1
Data Mining 1 Introduction 2 Data Mining methods Alfred Holl Data Mining 1 1 Introduction 1.1 Motivation 1.2 Goals and problems 1.3 Definitions 1.4 Roots 1.5 Data Mining process 1.6 Epistemological constraints
Reslogg: Mobile app for logging and analyzing travel behavior
Reslogg: Mobile app for logging and analyzing travel behavior Clas Rydergren, Linköping University [email protected] Agenda Background Data collection using GPS in mobile phones Earlier research Description
Software Classification Methodology and Standardisation
Software Classification Methodology and Standardisation 07 March 2003 1/10 Table of Contents 1. INTRODUCTION a Galileo system overview Ε b Master schedule Ε 2. GALILEO SAFETY CASE APPROACH Ε 3. SYSTEM
BIG DATA: IT MAY BE BIG BUT IS IT SMART?
BIG DATA: IT MAY BE BIG BUT IS IT SMART? Turning Big Data into winning strategies A GfK Point-of-view Цифровая революция и digital стратегии в бизнесе AMР 27.05.2015 Москва 1 Big Data is complex?#! %&
Project Information Dissemination Service (PIDS) CORDIS
Project Information Dissemination Service (PIDS) CORDIS INTRODUCTION Main objective of PIDS: Collect FP6 Result! 2004 2005 2006 2007 2008 FP4 179 73 0 0 0 FP5 1408 1471 3568 1387 301 FP6 0 0 0 23 8 FP
DistributedSharedMemorySystems? AdaptiveLoadBalancinginSoftware CompilerandRun-TimeSupportfor SotirisIoannidisandSandhyaDwarkadas fsi,[email protected] DepartmentofComputerScience Rochester,NY14627{0226
Agile Approach and MDA in Software Development Process
Agile Approach and MDA in Software Development Process JaroslavaKniežová, Ing. PhD. Associate Professor Comenius University Faculty of Management Department of Information Systems Bratislava, Slovakia
AggregateFunctions,Conservative Extension,andLinearOrders DepartmentofComputerandInformationScience LeonidLibkin UniversityofPennsylvania LimsoonWong However,themannerinwhichaggregatefunctionswereintroducedinthese
Dinopolis Java Coding Convention
Dinopolis Java Coding Convention Revision : 1.1 January 11, 2001 Abstract Please note that this version of the Coding convention is very much based on IICM s internal Dino coding convention that was used
Computer Science 281 Binary and Hexadecimal Review
Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two
Microfinance and Technology
Microfinance and Technology Frankfurt School of Finance and Management July 2013 Julia Abakaeva CGAP s Contribution to Evolving Field 1995 Microcredit Proof of concept for microcredit Sustainability in
Bachelor of Applied Information Science (Information Systems Security)
Sheridan College Institute of Technology and Advanced Learning Bachelor of Applied Information Science (Information Systems Security) Victor Ralevich, Ph.D. Professor and Program Coordinator Sheridan College
Network Segmentation. June 30, 2015 12:00 Noon Eastern
Network Segmentation June 30, 2015 12:00 Noon Eastern Agenda Presenters Housekeeping About Conexxus Network Segmentation Presetation Q& A Presenters Carl Bayer ([email protected]) Program Manager Conexxus
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
OPEN SOURCE SOFTWARE in Italian schools a national survey
OPENSOURCESOFTWAREin Italianschools anationalsurvey GiovannaSissa OsservatorioTecnologico MinistryofEducationUniversityandResearch Italy IIOpenSourceWorldConference MALAGA 15thFebruary2006 OsservatorioTecnologico
Figure2:Themixtureoffactoranalysisgenerativemodel. j;j z
TheEMAlgorithmforMixturesofFactorAnalyzers DepartmentofComputerScience ZoubinGhahramani GeoreyE.Hinton May21,1996(revisedFeb27,1997) TechnicalReportCRG-TR-96-1 Email:[email protected] Toronto,CanadaM5S1A4
front unit 1 3 back unit
GreedyApproximationsofIndependentSetsinLowDegree Magn sm.halld rsson GraphsKiyohitoYoshiharay lemincubicgraphsandgraphsofmaximumdegreethree.thesealgorithmiterativelyselect verticesofminimumdegree,butdierinthesecondaryruleforchoosingamongmanycandidates.westudythreesuchalgorithms,andprovetightperformanceratios,withthebest
This is Factoring and Solving by Factoring, chapter 6 from the book Beginning Algebra (index.html) (v. 1.0).
This is Factoring and Solving by Factoring, chapter 6 from the book Beginning Algebra (index.html) (v. 1.0). This book is licensed under a Creative Commons by-nc-sa 3.0 (http://creativecommons.org/licenses/by-nc-sa/
Setting up Dynamicweb for Load Balancing with Microsoft ARR for IIS8
User manual Setting up Dynamicweb for Load Balancing with Microsoft ARR for IIS8 [SUBJECT] Preliminary version: [Version] 2015.03.24 English LEGAL INFORMATION Copyright 2015 Dynamicweb Software A/S. All
Linear Programming Problems
Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number
Emory University RT to Bachelor of Medical Science Degree Medical Imaging
Emory University RT to Bachelor of Medical Science Degree Medical Imaging Courses: All RT-BMSc students must complete all of the program s core courses and the courses specific to their selected minor
Parallel and Distributed Computing Programming Assignment 1
Parallel and Distributed Computing Programming Assignment 1 Due Monday, February 7 For programming assignment 1, you should write two C programs. One should provide an estimate of the performance of ping-pong
Outline. Introduction. State-of-the-art Forensic Methods. Hardware-based Workload Forensics. Experimental Results. Summary. OS level Hypervisor level
Outline Introduction State-of-the-art Forensic Methods OS level Hypervisor level Hardware-based Workload Forensics Process Reconstruction Experimental Results Setup Result & Overhead Summary 1 Introduction
USE OF DATA MINING TO DERIVE CRM STRATEGIES OF AN AUTOMOBILE REPAIR SERVICE CENTER IN KOREA
USE OF DATA MINING TO DERIVE CRM STRATEGIES OF AN AUTOMOBILE REPAIR SERVICE CENTER IN KOREA Youngsam Yoon and Yongmoo Suh, Korea University, {mryys, ymsuh}@korea.ac.kr ABSTRACT Problems of a Korean automobile
Chapter 6. The Graduate Program of Study
Chapter 6. The Graduate Program of Study The Graduate College Handbook outlines the general requirements for completion of a graduate degree at ISU. Faculty in a major field have the responsibility for
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
INSTRUCTIONAL DESIGN ONE YEAR BY SEMESTER
CTEIS Form 1.1 Semester INSTRUCTIONAL DESIGN ONE YEAR BY SEMESTER Identify which segments are delivered each semester Semester 1: Semester 2: 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 7 8 9 10 11 12 Must
Thomas Lerner. Mobile Payment. Springer
Thomas Lerner Mobile Payment Springer Table of Contents 1 History, Technology and Commerce 1 1.1 A Brief History of Money and Mobile Technologies 1 1.2 From Mobile Banking to Mobile Payment 4 1.3 The Development
Deep Insights Smart Decisions Motionlogic
Deep Insights Smart Decisions Motionlogic About Motionlogic Big Data business of Deutsche Telekom 100% subsidiary Analytics of people movement behavior and demographic indicators Using anonymized network
Calculation Algorithm for Network Flow Parameters Entropy in Anomaly Detection
Calculation Algorithm for Network Flow Parameters Entropy in Anomaly Detection Theory, practice, applications Oleg Gudkov, BMSTU IT Security for the Next Generation International Round, Delft University
Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R
Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent
Master of Science in Sociology or Rural Sociology Department of Sociology, Iowa State University Updated May 2015
Master of Science in Sociology or Rural Sociology Department of Sociology, Iowa State University Updated May 2015 The M.S. degree provides advanced training for work in specialized public and private human
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential
Making Dynamic Memory Allocation Static To Support WCET Analyses
Making Dynamic Memory Allocation Static To Support WCET Analyses Jörg Herter Jan Reineke Department of Computer Science Saarland University WCET Workshop, June 2009 Jörg Herter, Jan Reineke Making Dynamic
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
User Manual. Enterprise Reporting Portal (EREP) User Manual. October 2010. Global Operations Education
User Manual Enterprise Reporting Portal (EREP) User Manual October 2010 Global Operations Education What is Enterprise Reporting Portal (EREP)? Enterprise Reporting Portal (EREP) is browser-based tool
NLP Programming Tutorial 5 - Part of Speech Tagging with Hidden Markov Models
NLP Programming Tutorial 5 - Part of Speech Tagging with Hidden Markov Models Graham Neubig Nara Institute of Science and Technology (NAIST) 1 Part of Speech (POS) Tagging Given a sentence X, predict its
Bachelor of Bachelor of Computer Science
Bachelor of Bachelor of Computer Science Detailed Course Requirements The 2016 Monash University Handbook will be available from October 2015. This document contains interim 2016 course requirements information.
Business Intelligence Osvaldo Maysonet VP Marketing & Customer Knowledge Banco Popular
Business Intelligence Osvaldo Maysonet VP Marketing & Customer Knowledge Banco Popular Starting Questions How many of you have more information today and spend more time gathering and preparing the information
Design Cycle for Microprocessors
Cycle for Microprocessors Raúl Martínez Intel Barcelona Research Center Cursos de Verano 2010 UCLM Intel Corporation, 2010 Agenda Introduction plan Architecture Microarchitecture Logic Silicon ramp Types
How To Protect Your Data From Being Stolen
DATA SECURITY & PCI DSS COMPLIANCE PROTECTING CUSTOMER DATA WHAT IS PCI DSS? PAYMENT CARD INDUSTRY DATA SECURITY STANDARD A SET OF REQUIREMENTS FOR ANY ORGANIZATION OR MERCHANT THAT ACCEPTS, TRANSMITS
PCI COMPLIANCE FOR HIGHER EDUCATION BEST PRACTICES CHECKLIST. Presented By: The Treasury Institute for Higher Education.
PCI COMPLIANCE FOR HIGHER EDUCATION BEST PRACTICES CHECKLIST Presented By: The Treasury Institute for Higher Education & AmbironTrustWave Pg. 1 of 10 Executive Summary This checklist is intended to help
Software Development Best Practices
Software Development Best Practices Artifact Reuse Supported by Modern Team Communication Tools and Patterns Andrew Bose Principal (979) 777-1431 [email protected] Pariveda Solutions, Inc.
Verifone Enhanced Zone Router
Verifone Enhanced Zone Router July, 2015 The Necessity of an Enhanced Zone Router FUNDAMENTAL PART OF PCI-DSS COMPLIANCE, ENSURING CONSISTENT SUPPORT OF VASC, HELPDESK, & SERVICES POS Environment Needs
Operating Systems. Virtual Memory
Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page
1 The Java Virtual Machine
1 The Java Virtual Machine About the Spec Format This document describes the Java virtual machine and the instruction set. In this introduction, each component of the machine is briefly described. This
Instruction scheduling
Instruction ordering Instruction scheduling Advanced Compiler Construction Michel Schinz 2015 05 21 When a compiler emits the instructions corresponding to a program, it imposes a total order on them.
CUSTOMER RELATIONSHIP MANAGEMENT SYSTEMS IN THE SRI LANKAN HOSPITALITY INDUSTRY FOR SUSTAINED GROWTH AND DEVELOPMENT
CUSTOMER RELATIONSHIP MANAGEMENT SYSTEMS IN THE SRI LANKAN HOSPITALITY INDUSTRY FOR SUSTAINED GROWTH AND DEVELOPMENT MASTER OF BUSINESS ADMINISTRATION IN INFORMATION TECHNOLOGY S M Wijewansa Department
... Schema Integration
DataIntegrationTechniquesbasedon MichaelGertz DataQualityAspects DepartmentofComputerScience UniversityofCalifornia,Davis IngoSchmitt [email protected] Davis,CA95616,USA OneShieldsAvenue Otto-von-Guericke-UniversitatMagdeburg
A Knowledge-Poor Approach to BioCreative V DNER and CID Tasks
A Knowledge-Poor Approach to BioCreative V DNER and CID Tasks Firoj Alam 1, Anna Corazza 2, Alberto Lavelli 3, and Roberto Zanoli 3 1 Dept. of Information Eng. and Computer Science, University of Trento,
