PLWAP Sequential Mining: Open Source Code

Size: px
Start display at page:

Download "PLWAP Sequential Mining: Open Source Code"

Transcription

1 PL Sequentil Mining: Open Source Code C.I. Ezeife School of Computer Science University of Windsor Windsor, Ontrio N9B 3P4 Yi Lu Deprtment of Computer Science Wyne Stte University Detroit, Michign Yi Liu School of Computer Science University of Windsor Windsor, Ontrio N9B 3P4 ABSTRACT PL lgorithm uses preorder linked, position coded version of tree nd elimintes the need to recursively re-construct intermedite trees during sequentil mining s done y tree technique. PL produces significnt reduction in response time chieved y the lgorithm nd provides position code mechnism for rememering the stored dtse, thus, eliminting the need to re-scn the originl dtse s would e necessry for pplictions like those incrementlly mintining mined frequent ptterns, performing strem or dynmic mining. This pper presents open source code for oth the PL nd lgorithms descriing our implementtions nd experimentl performnce nlysis of these two lgorithms on synthetic dt generted with IBM quest dt genertor. An implementtion of the Apriori-like GSP sequentil mining lgorithm is lso discussed nd sumitted. A we log pre-processor for producing rel input to the lgorithms is mde ville too. Keywords sequentil ptterns, we usge mining, tree, pre-order linkge 1. INTRODUCTION Bsic ssocition rule mining with the Apriori lgorithm [1] finds dtse items (ttriutes) tht occur most often together in dtse trnsctions. Thus, given set of trnsctions (similr to dtse records), where ech trnsction is set of items (ttriutes), n ssocition rule is of the form X Y, where X nd Y re sets of items nd X Y =. Assocition rule mining lgorithms generlly first find ll frequent ptterns (itemsets) s ll comintions of items or ttriutes with support (percentge (A full version of this pper is ville in the Journl of Dt Mining nd Knowledge Discovery 1, 5-38, 25.) Permission to mke digitl or hrd copies of ll or prt of this work for personl or clssroom use is grnted without fee provided tht copies re not mde or distriuted for profit or commercil dvntge nd tht copies er this notice nd the full cittion on the first pge. To copy otherwise, to repulish, to post on servers or to redistriute to lists, requires prior specific permission nd/or fee. OSDM 5, August 21, 25, Chicgo, Illinois, USA. Copyright 25 ACM /5/8...$5... occurrence in the entire dtse), greter or equl to predefined minimum support. Then, in the second stge of mining, ssocition rules re generted from ech frequent pttern y defining ll possile comintions of rule ntecedent (hed) nd consequent (til) from items composing the frequent ptterns such tht ntecedent consequent = nd ntecedent consequent = frequentpttern. Then, only rules with confidence (numer of trnsctions tht contin the rule divided y the numer of trnsctions contining the ntecedent) greter thn or equl to pre-defined minimum confidence re retined s vlule, while the rest re pruned. Sequentil mining is n extension of sic ssocition rule mining tht ccommodtes ordered set of items or ttriutes, where the sme item my e repeted in sequence. While sic frequent pttern hs set of non-ordered items tht hve occurred together up to minimum support threshold, frequent sequentil pttern hs sequence of ordered items tht hve occurred frequently in dtse trnsctions t lest s often s the minimum support threshold. Thus, the mesures of support nd confidence used in ssocition rule mining for deciding frequent itemsets re used in sequentil mining for deciding frequent sequences. Just s n i-itemset contins i items, n n-sequence contins n ordered items (events). One ppliction of sequentil mining is we usge mining for finding the reltionship mong different we users ccesses from we ccess logs [5], [11], [4] nd [19]. Anlysis of these ccess dt cn help for server performnce enhncement nd direct mrketing in e-commerce s well s we personliztion. Before pplying sequentil mining techniques to we log dt, the we log trnsctions re pre-processed to group them into set of ccess sequences for ech user identifier nd to crete we ccess sequences in the form of trnsction dtse (e.g., dc, eecc, fec, fec). Access sequence S = e 1e 2...e l is clled susequence of n ccess sequence, S = e 1e 2...e n,ndsis super-sequence of S, denoted s S S, if nd only if for every event e j in S, there is n equl event e k in S, while the order tht events occurred insisthesmestheorder of events in S. For exmple, with S =, S=cd, S is susequence of S, nd c is susequence of S, lthough there is occurring etween nd c in S. In the sequence cd, while cd is suffix susequence of, is prefix susequence of cd. Techniques for mining sequentil ptterns from we logs fll into Apriori or non-apriori. This pper presents discussions of the implementtions of three key sequentil mining lgorithms PL, nd GSP used in [7]. 26

2 1.1 Relted Work Work on mining sequentil ptterns in we log include the GSP [3], the PSP [13], the G sequence [18] nd the grph trversl [15] lgorithms. Agrwl nd Sriknt proposed three lgorithms (Apriori, AprioriAll, AprioriSome) for sequentil mining in [2]. The GSP (Generlized Sequentil Ptterns) [3] lgorithm is 2 times fster thn the Apriori lgorithm. The GSP Algorithm mkes multiple psses over dt. The first pss determines the frequent 1-item ptterns (L 1). Ech susequent pss strts with seed set: the frequent sequences found in the previous pss (L k 1 ). The seed set is used to generte new cndidte sequences (C k ) y performing n Apriori gen join of L k 1 with (L k 1 ). This join requires tht every sequence s in the first L k 1 joins with other sequences s in the second L k 1 if the lst k-2 elements of s re the sme s the first k-2 elements of s. For exmple, if frequent 3-sequence set L 3 hs the following 6 sequences: {((1,2)(3)), ((1,2)(4)), ((1)(3, 4)), ((1,3)(5)), ((2)(3,4)), ((2)(3)(5))}, tootinfrequent4- sequences, every frequent 3-sequence should join with the other 3-sequences tht hve the sme first two elements s its lst two elements. Sequence s=((1,2)(3)) joins with s =((2)(3,4)) to generte cndidte 4-sequence ((1,2)(3,4)) since the lst 2 elements of s, (2)(3), mtch with the first 2 elements of s. Similrly, ((1,2) (3)) joins with ((2)(3)(5)) to form ((1,2)(3)(5)). There re no more mtching sequences to join in L 3. The join phse is followed with the pruning phse, when the cndidte sequences with ny of their contiguous (k-1)-susequences hving support count less thn the minimum support, re dropped. The dtse is scnned for supports of the remining cndidte k-sequences to find frequent k-sequences(l k ), which ecome the seed for the next pss, cndidte (k+1)-sequences. The lgorithm termintes when there re no frequent sequences t the end of pss, or when there re no cndidte sequences generted. The GSP lgorithm uses hsh tree to reduce the numer of cndidtes tht re checked for support in the dtse. The PSP (Prefix Tree For Sequentil Ptterns) [13] pproch is much similr to the GSP lgorithm [3], ut stores the dtse on more concise prefix tree with the lef nodes crrying the supports of the sequences. At ech step k, the dtse is rowsed for counting the support of current cndidtes. Then, the frequent sequence set, L k is uilt. The Grph Trversl mining [14], [15], uses simple unweighted grph to store we sequences nd grph trversl lgorithm similr to Apriori lgorithm to trverse the grph in order to compute the k-cndidte set from the (k- 1)-cndidte sequences without performing the Apriori-gen join. From the grph, if cndidte node is lrge, the djcency list of the node is retrieved. The dtse still hs to e scnned severl times to compute the support of ech cndidte sequence lthough the numer of computed cndidte sequences is drsticlly reduced from tht of the GSP lgorithm. Other tree sed pproches include [18] clled G sequence mining. This lgorithm uses wildcrds, templtes nd construction of Aggregte tree for mining. The FP-tree structure [9] first reorders nd stores the frequent non-sequentil dtse trnsction items on prefix tree, in descending order of their supports such tht dtse trnsctions shre common frequent prefix pths on the tree. Then, mining the tree is ccomplished y recursive construction of conditionl pttern ses for ech Tle 1: Smple We Access Sequence Dtse for -tree TID We ccess sequence Frequent susequence 1 dc c 2 eecc cc 3 fec c 4 fcfc cc frequent 1-item (in ordered list clled f-list), strting with the lowest in the tree. Conditionl FP-tree is constructed for ech frequent conditionl pttern hving more thn one pth, while mximl mined frequent ptterns consist of conctention of items on ech single pth with their suffix f-list item. FreeSpn [8] like the FP-tree method, lists the f- list in descending order of support, ut it is developed for sequentil pttern mining. PrefixSpn [16] is pttern-growth method like FreeSpn, which reduces the serch spce for extending lredy discovered prefix pttern p y projecting portion of the originl dtse tht contins ll necessry dt for mining sequentil ptterns grown from p. We ccess pttern tree (), is non-apriori lgorithm, proposed y Pei et l. [17]. The -tree stores the we log dt in prefix tree formt similr to the frequent pttern tree [9] (FP-tree). lgorithm first scns the we log to compute ll frequent individul events, then it constructs -tree over the set of frequent individul events of ech trnsction efore it recursively mines the constructed tree y uilding conditionl tree for ech conditionl suffix frequent pttern found. The process of recursive mining of conditionl suffix tree ends when it hs only one rnch or is empty. An exmple ppliction of the -tree lgorithm for finding ll frequent events in the we log (constructing the -tree nd mining the ccess ptterns from the tree) is shown with the dtse in Tle 1. Suppose the minimum support threshold is set t 75%, which mens n ccess sequence, s should hve count of 3 out of 4 records in our exmple, to e considered frequent. Constructing tree, entils first scnning dtse once, to otin events tht re frequent,,, c. When constructing the -tree, the non-frequent (like d, e, f) prt of every sequence is discrded. Only the frequent su-sequences shown in column three of Tle 1 re used s input. With the frequent sequence in ech trnsction, the -tree lgorithm first stores the frequent items s heder nodes for linking ll nodes of their type in the -tree in the order the nodes re inserted. When constructing the -tree, virtul root (Root) is first inserted. Then, ech frequent sequence in the trnsction is used to construct rnch from the Root to lef node of the tree. Ech event in sequence is inserted s node with count 1 from Root if tht node type does not yet exist, ut the count of the node is incresed y 1 if the node type lredy exists. Also, the hed link for the inserted event is connected (in roken lines) to the newly inserted node from the lst node of its type tht ws inserted or from the heder node of its type if it is the very first node of tht event type inserted. Once the frequent sequentil dt re stored on the complete -tree (Figure 1), the tree is mined for frequent ptterns strting with the lowest frequent event in the heder list, in our exmple, 27

3 H e d e r T l e : 3 H e d e r T l e : 4 C o n d i t i o n l W A P - t r e e c ( ) C o n d i t i o n l W A P - t r e e c ( ) Figure 1: Construction of the Originl Tree H e d e r T l e strting from frequent event c s the following discussion shows. From the -tree of Figure 1, it first computes prefix sequence of the se c or the conditionl sequence se of c s: : 2; ; c; : -1; ; ; : -1 The conditionl sequence list of suffix event is otined y following the heder link of the event nd reding the pth from the root to ech node (excluding the node). After discrding the non-frequent prt c in the ove sequences, the conditionl sequences sed on c re listed elow: : 2; ; ; : -1; ; ; : -1. Using these conditionl sequences, conditionl tree, -tree c, is uilt using the sme method s shown in Figure 1. The re-construction of trees tht progressed s suffix sequences c, c discovered frequent ptterns found long this line c, c nd c. The recursion continues with the suffix pth c, c. The lgorithm keeps running, finding the conditionl sequence ses of c,,. Figure2shows the trees for mining conditionl pttern se c. After mining the whole tree, discovered frequent pttern set is: {c, c, c, c, c, c, c,,,,,, }. Although -tree lgorithm scns the originl dtse only twice nd voids the prolem of generting explosive cndidte sets s in Apriori-like lgorithm, its min drwck is recursively re-constructing lrge numers of intermedite -trees nd ptterns during mining tking up computing resources. Pre-Order linked tree lgorithm (PL) [7], [1], is version of the tree lgorithm tht ssigns unique inry position code to ech tree node nd performs the heder node linkges pre-order fshion (root, left, right). Both the pre-order linkge nd inry position codes enle the PL to directly mine the sequentil ptterns from the one initil tree strting with prefix sequence, without re-constructing the intermedite trees. To ssign position codes to PL node, the root hs null code, nd the leftmost child of ny prent node hs code tht ppends 1 to the position code of its prent, while the position code of ny other node hs ppended to the position code of its nerest left siling. The PL technique presents much etter performnce thn tht chieved y the -tree technique s shown in extensive performnce nlysis. : 3 C o n d i t i o n l W A P - t r e e c ( c ) H e d e r T l e : 4 C o n d i t i o n l W A P - t r e e c ( d ) C o n d i t i o n l W A P - t r e e c ( e ) Figure 2: Reconstruction of Trees for Mining Conditionl Pttern Bse c 1.2 Motivtions nd Contriutions PL lgorithm [7], recently proposed sequentil mining tool in the Journl of Dt Mining nd Knowledge Discovery hs mny ttrctive fetures tht mkes it suitle s uilding lock for mny other sophisticted sequentil dt mining pproches like incrementl mining [6], we clssifiction nd personliztion. This pper supplements the detiled nd forml presenttions of the PL lgorithm, its properties nd theorems given in [7] y focusing on detils of the code implementtions of PL, nd GSP sequentil miners s well s mking ville rel we log dt pre-processor nd providing further indepth nlysis. This pper thus, contriutes y discussing our code implementtions of the PL nd two other key sequentil mining lgorithms ( nd GSP) used in performnce studies of work in [7]. These lgorithms hve een tested thoroughly on pulicly ville dt sets ( index.shtml) nd with rel dt. Through this pper, rel we log pre-processor for prepring rel input dt for the miners is lso mde ville (sk uthor if needed). A more indepth performnce nlysis tht confirms the stility of the PL lgorithm is nother contriution of pper. Such code vilility motivtes doption of lgorithm s uilding lock for more sophisticted dt mining processes like strem nd dynmic mining, distriuted, incrementl, drill-down nd roll-up mining, semntic mining nd sensor network mining. 1.3 Outline of the Pper Section 2 discusses exmple mining with the Pre-Order Linked -Tree (PL) lgorithm. Section 3 discusses 28

4 the C++ implementtions of the PL, nd the GSP lgorithms for sequentil mining. Section 4 discusses experimentl performnce nlysis, while section 5 presents conclusions nd future work. 2. AN EXAMPLE SEQUENTIAL MINING WITH PL ALGORITHM Unlike the conditionl serch in -tree mining, which is sed on finding common suffix sequence first, the PL technique finds the common prefix sequences first. The min ide is to find frequent pttern y progressively finding its common frequent susequences strting with the first frequent event in frequent pttern. For exmple, if cd is frequent pttern to e discovered, the lgorithm progressively finds suffix sequences d, cd, cd nd cd. The PL tree, on the other hnd, would find the prefix event first, then, using the suffix trees of node, it will find the next prefix susequence nd continuing with the suffix tree of, it will find the next prefix susequence c nd finlly, cd. Thus, the ide of PL is to use the suffix trees of the lst frequent event in n m-prefix sequence to recursively extend the susequence to m+1 sequence y dding frequent event tht occurred in the suffix trees. Using the position codes of the nodes, the PL is le to know the descendnt nd siling nodes of oldest prent nodes on the suffix root set of frequent heder element eing checked for ppending to prefix susequence if it is frequent in the suffix root set under considertion. An element is frequent if the sum of the supports of the oldest prent nodes on ll its suffix root sets is greter thn or equl to the minimum support. Assume we wnt to mine the we ccess dtse (WASD) of Tle 1 for frequent sequences given minimum support of 75% or 3 trnsctions. Constructing nd mining the PL tree goes through the following steps. (1) Scn WASD (column 2 of Tle 1 once to find ll frequent individul events, L s {:4, :4, c:4}. The events d:1, e:2, f:2 hve supports less thn the minimum support of 3 nd (2) Scn WASD gin, construct PL-tree over the set of individul frequent events (column 3 of Tle 1), y inserting ech sequence from root to lef, leling ech node s (node event: count: position code). Then, fter ll events re inserted, trverse the tree pre-order wy to connect the heder link nodes. Figure 3 shows the completely constructed PL tree with the pre-order linkges. (3) Recursively mine the PL-tree using common prefix pttern serch: The lgorithm strts to find the frequent sequence with the frequent 1-sequence in the set of frequent events(fe) {,, c}. For every frequent event in FE nd the suffix trees of current conditionl PL-tree eing mined, it follows the linkge of this event to find the first occurrence of this frequent event in every current suffix tree eing mined, nd dds the support count of ll first occurrences of this frequent event in ll its current suffix trees. If the count is greter thn the minimum support threshold, then this event is ppended (conctented) to the lst susequence in the list of frequent sequences, F. The suffix trees of these first occurrence events in the previously mined conditionl suffix PL-trees re now in turn, used for mining the next event. To otin this conditionl PL-tree, we only need to rememer the roots of the current suffix trees, which re stored for next round mining. For exmple, the Figure 3: Construction of PL-Tree Using Pre- Order Trversl lgorithm strts y mining the tree in Figure 4() for the first element in the heder linkge list, following the link to find the first occurrencies of nodes in :3:1 nd :1:11 of the suffix trees of the Root since this is the first time the whole tree is pssed for mining frequent 1-sequence. Now, the list of mined frequent ptterns F is {} since the count of event in this current suffix trees is 4 (sum of :3:1 nd :1:11 counts), nd more thn the minimum support of 3. The mining of frequent 2-sequences tht strt with event would continue with the next suffix trees of rooted t {:3:11, :1:111} shown in Figure 4() s unshdowed nodes. The ojective here is to find if 2-sequences, nd c re frequent using these suffix trees. In order to confirm frequent, we need to confirm event frequent in the current suffix tree set, nd similrly, to confirm frequent, we should gin follow the link to confirm event frequent using this suffix tree set, sme for c. The process continues to otin sme frequent sequence set {,, c,,, c,c,c,,,c,c,c} s the -tree lgorithm. 3. C++ IMPLEMENTATIONS OF THREE SE- QUENTIAL MINING ALGORITHMS Although, we ly more emphsis on the PL lgorithm developed in our l, we lso provide the source codes of the nd GSP lgorithms used for performnce nlysis. The source codes re discussed under seven hedings of (1) development nd running environment, (2) input dt formt nd files, (3) minimum support formt, (4) output dt formt nd files, (5) functions used in the progrm, (6) dt structures used in the progrm nd (7) dditionl informtion. All of the codes re documented with informtion on this section nd more for code redility, mintinility nd extendility. Ech progrm is stored in.cpp file nd compiled with g++ filenme.cpp. It is worth noting tht ll three lgorithms were implemented in the yer 22, when no other versions of the nd GSP lgorithms were pulicly ville. While we cnnot still find pulicly ville version of the GSP progrm, there re some sutle differences etween our implementtion of the lgorithm nd tht now ville t tszhu/softwre.html. One difference we hve noticed is with the input formts of the two implementtions: while Alert version ccepts the input in one sequence, we ccept list of sequences elonging to different users s in we log mining. It lso seems like Alert 29

5 c : c : : :{ 1, 111, 111 1, 11, :{ 11, 1, 11 1 } c :{ 111 1, , 111, ( ) c : c : : } , } : c : : s u f i x t r e { 1, 1 1 } ( ) s u f i x t r e c s u f i x t r e { 11 1, 11 11, } { } ( c ) ( d ) c c : c : : Figure 4: Mining PL-Tree to Find Frequent Sequence Strting with version is memory-only s intermedite pttern input is not sved on disk, while it is sved on disk in our implementtion. The impliction is tht running the memory-only version on n environment with less memory thn dt size would result in operting system swpping of dt onto disk. 3.1 C++ Implementtion of the PL Sequentil Mining Algorithm This is the PL lgorithm progrm, which is sed on the description in [7], C.I. Ezeife nd Y. Lu. Mining We Log sequentil Ptterns with Position Coded Pre-Order Linked -tree in DMKD DEVELOPMENT ENVIRONMENT: Although initil version is developed under the hrdwre/softwre environment specified elow, the progrm runs on more powerful nd fster multiprocessor UNIX environments s well. Initil environment is: (i)hrdwre: Intel Celeron 4 PC, 64M Memory; (ii)operting system: Windows 98; (iii)development tool: Inprise(Borlnd) C++ Builder 6.. The lgorithm is developed under C++ Builder 6., ut compiles nd runs under ny stndrd C++ development tool. 2. INPUT FILES AND FORMAT: Input file is test.dt: For simplifying input process of the progrm, we ssume tht ll input dt hve een preprocessed such tht ll events elonging to the sme user id hve een gthered together, nd formed s sequence nd sved in text file, clled, test.dt. The test.dt file my e composed of hundreds of thousnds of lines of sequences where ech line represents we ccess sequence for ech user. Every line of the input dt file ( test.dt ) includes UserID, length of sequence nd the sequence which re seprted y t spces. An exmple input line is: Here, 1 represents UserID, the length of sequence is 5, the sequence is 1,2,4,1,3. 3. MINIMUM SUPPORT FORMAT: The progrm lso needs to ccept vlue etween nd 1 s minimum support. The minimum support input is entered interctively y the user during the execution of the progrm when prompted. For minimum support of 5%, user should type.5, nd for minsupport of 5%, user should type.5, nd so on. 4. OUTPUT FILES AND FORMAT: result PL.dt: Once the progrm termintes, we cn find the result frequent ptterns in file nmed result PL.dt. It my contin lines of ptterns, ech representing frequent pttern. 5. FUNCTIONS USED IN THE CODE: (i)buildtree: uilds the PL tree, (ii)uildlinkge: Builds the pre-order linkge for PL tree, (iii)mkecode: mkes the position code for node, (1v)checkPosition: checks the position etween ny two nodes in the PL tree, (v)miningprocess: mines sequentil frequent ptterns from the PL tree using position codes. 6. DATA STRUCTURE: Three struct re used in this progrm: (i) the node struct indictes PL node which contins the following informtion:.the event nme,.the numer of occurrence of the event, c. link to the position code, d. length of position code, e. the linkge to next node with sme event nme in PL tree, f. pointer to its left son, g. pointer to its right siling, h. pointer to its prent, i. the numer of its sons. (ii) position code struct implemented s linked list of unsigned integer to mke it possile to hndle dt of ny size without exceeding the mximum integer size. (iii) linkge struct. 7. ADDITIONAL INFORMATION: The run time is displyed on the screen with strt time, end time nd totl seconds for running the progrm. 3.2 C++ Implementtion of the Sequentil Mining Algorithm This is the lgorithm progrm sed on the descriptionin[17]: JinPei,JiweiHn,BehzdMortzvisl, nd Hu Zhu, Mining Access Ptterns Efficiently from We Logs, PAKDD 2. 1.DEVELOPMENT ENVIRONMENT: The sme s descried for PL nd cn run on ny UNIX system s well. 2. INPUT FILES AND FORMAT: i) Input file test.dt: Pre-processed sequentil input records re red from the file test.dt. The test.dt file, which is the sme formt s descried for PL ove. ii) Input file middle.dt: used to sve the conditionl middle ptterns. During the tree mining process, following the linkges, once the sum of support for n event is found greter thn minimum support, ll its prefix conditionl ptterns re sved in the middle.dt file for next round mining. The formt of middle.dt is s follows: Ech line includes the length of the sequence, the occurrence of the sequence, nd the events in the sequence. For exmple,givenlineinmiddle.dt: ,the length of sequence is 5, 4 indictes the sequence occurred 4 times in the previous conditionl tree nd the sequence is 1,2,4,1,3. 3. MINIMUM SUPPORT: 3

6 The progrm lso needs to ccept vlue etween nd 1 for minimum support or frequency. The user is prompted for minimum support when the progrm strts. 4. OUTPUT FILES AND FORMAT: result.dt Once the progrm termintes, the result ptterns re in file nmed result.dt, which my contin lines of ptterns. 5. FUNCTIONS USED IN THE CODE: (i)buildtree: Builds the tree/conditionl tree (ii)miningprocess: produces sequentil pttern/conditionl prefix su-pttern from tree/conditionl tree. 6. DATA STRUCTURE: three struct re used in this progrm: (i) the node struct indictes node which contins the following informtion:.the event nme,.the numer of occurrence of the event, c. the linkge to next node sme event nme in tree, d. pointer to its left son, e. pointer to its rights siling, f. pointer to its prent. (ii) linkge struct descried in the progrm. 7. ADDITIONAL INFORMATION: The run time is displyed on the screen with strt time, end time nd totl seconds for running the progrm. 3.3 C++ Implementtion of the GSP Sequentil Mining Algorithm This is GSP lgorithm implementtion, which demonstrtes the result descried in [3]: R. Sriknt nd R. Agrwl. Mining sequentil ptterns: Generliztions nd performnce improvements, DEVELOPMENT ENVIRONMENT: The sme s descried for PL nd runs in ny UNIX system s well. 2. INPUT FILES AND FORMAT: Input file test.dt: The min input file test.dt hd the sme formt s for PL descried ove. 3. MINIMUM SUPPORT: The progrm lso needs to ccept vlue etween nd 1 s minimum support. The user is prompted for minimum support when the progrm strts. 4. OUTPUT FILES AND FORMAT: result GSP.dt At the termintion of the progrm, the result ptterns re in file nmed result GSP.dt, which my contin lines of frequent ptterns. 5. FUNCTIONS USED IN THE CODE: (i)gsp: reds the file nd mines levelwise ccording to the lgorithm. 6. DATA STRUCTURES: There re struct for i) cndidte sequence list nd its count nd ii) sequence. 7. ADDITIONAL INFORMATION: The run time is displyed on the screen with strt time, end time nd totl seconds for running the progrm. 4. PERFORMANCE AND EXPERIMENTAL ANALYSIS OF THREE ALGORITHMS The PL lgorithm elimintes the need to store numerous intermedite trees during mining, thus, drsticlly cutting off huge memory ccess costs. The PL nnottes ech tree node with inry position code for quicker mining of the tree. This section compres the experimentl performnce nlysis of PL with the tree mining nd the Apriori-like GSP lgorithms. The three lgorithms were initilly implemented with C++ lnguge running under Inprise C++ Builder environment. All initil experiments were performed on 4MHz Celeron PC mchine with 64 megytes memory running Windows 98 (for work in [7]). Current experiments re conducted with the sme implementtions of the progrms nd still on synthetic dtsets generted using the resource dt genertor code from Resources/index.shtml. This synthetic dtset hs een used y most pttern mining studies [3, 12, 17]. Experiments were lso run on rel dtsets generted from we log dt of University of Windsor Computer Science server nd pre-processed with our we log clener code. The correctness of the implementtions were confirmed y checking tht the frequent ptterns generted for the sme dtset y ll lgorithms re the sme. A high speed UNIX SUN microsystem with totl of M memory nd 8 x 12 MHz processor speed is used for these experiments. The synthetic dtsets consist of sequences of events, where ech event represents n ccessed we pge. The prmeters shown elow re used to generte the dt sets. D Numer of sequences in the dtse C : Averge length of the sequences S : Averge length of mximl potentilly frequent sequence N : numerofevents For exmple, C1.S5.N2.D6K mens tht C = 1, S =5, N = 2, nd D = 6K. It represents group of dt with verge length of the sequences s 1, the verge length of mximl potentilly frequent sequence is 5, the numer of individul events in the dtse is 2, nd the totl numer of sequences in dtse is 6 thousnd. The dtsets with different prmeters test different spects of the lgorithms. Generlly, if the numer of these four prmeters ecomes lrger, the execution time ecomes longer. Experiments re conducted to test the ehvior of the lgorithms with respect to the four prmeters, minimum support threshold, dtse sizes, numer of dtse tle ttriutes nd the verge length of sequences. For ech experiment, while one of the prmeters chnges, others re pegged t some constnt vlues. Oservtions re mde t three levels of smll, medium nd lrge (e.g., smll dtse size my consist of tle with records less thn 4 thousnds, medium size tle hs etween 5 nd 2 thousnds records, while lrge hs over 3 thousnd). Experiment 1: Execution time trend with different minimum supports (smll size dtse, 4K records): This experiment uses fixed size dtse nd different minimum support to compre the performnce of PL, nd GSP lgorithms. The dtsets re descried s C2.5.S5.N5.D4K, nd lgorithms re tested with minimum supports etween.5% nd 2% ginst the 4 thousnd (4K) dtse with 5 ttriutes nd verge sequence length of 2.5. The results of this experiment re shownintle2ndfigure5withthenumeroffrequent ptterns found reported s Fp. From this result, it cn e seen tht t minimum support of.5%, the numer of frequent ptterns found is highest nd is 2729, the PL lgorithm rn lmost 3 times fster thn the lgorithm. As the minimum support increses, the numer of frequent ptterns found decreses nd the gin in performnce y the PL lgorithm over the lgorithm decreses. It cn e seen tht the more the numer of frequent ptterns found in dtset, the higher the performnce gin chieved y the PL lgorithm over the lgorithm. This is 31

7 Tle 2: Execution Times for Dtset t Different Minimum Supports (smll dtse) Alg Runtime (in secs) t Different Supports(%) Fp= Fp= Fp = Fp= Fp= Fp= Fp GSP PL CPU execution time (in secs) PL ecuse the two lgorithms spend out the sme mount of time scnning the dtse nd constructing the tree, ut the PL lgorithm sves on storing nd reding intermedite re-constructed tree, which re s mny s the numer of frequent ptterns found. The execution times of the two lgorithms re the sme when there re nerly no frequent ptterns. CPU execution time (in secs) Minimum Support (in %) PL Figure 5: Execution Times Trend with Different Minimum Supports (smll dtse) Experiment 2: Execution times trend with different minimum supports (Medium size dtse, 2K records): This experiment uses fixed size dtse nd different minimum support to compre the performnce of PL, nd GSP lgorithms. The lgorithms re tested with minimum supports etween.5% nd 15% ginst the 2 thousnd (2K) dtse, 5 ttriutes nd verge sequence length of 2.5. The results of this experiment re shown in Tle 3 nd Figure 6 with the numer of frequent ptterns found reported s Fp. It cn e seen tht the trend in performnce is the sme s with smll dtse. When the minimum support reches 15%, there re no frequent ptterns found nd the running times of the two lgorithms ecome the sme. Experiment 3: Execution Times for Dtset t Different Minimum Supports (lrge dtse): This experiment uses fixed size dtse nd different minimum support to compre the performnce of PL, nd GSP lgorithms. The lgorithms re tested with mini Minimum Support (in %) Figure 6: Execution Times Trend with Different Minimum Supports (medium dtse) Tle 3: Execution Times for Dtset t Different Minimum Supports (medium dtse) Alg Runtime (in secs) t Different Supports(%) Fp= Fp= Fp = Fp= Fp= Fp= Fp GSP PL mum supports etween.5% nd 15% ginst one million (1M) record dtse. The results of this experiment re shown in Tle 4 nd Figure 7. Experiment 3: Execution Times for Dtset t Different Minimum Supports (lrge dtse ut very low minimum supports): This experiment uses fixed size dtse nd different minimum support to compre the performnce of PL nd lgorithms (GSP not included ecuse running times get too ig or process is killed). The lgorithms re tested with minimum supports etween.1% nd.2% ginst one million (1M) record dtse. The results of this experiment re shown in Tle 5 nd Figure 8. Tle 4: Execution Times for Dtset t Different Minimum Supports (lrge dtse) Alg Runtime (in secs) t Different Supports(%) Fp= Fp= Fp = Fp= Fp= Fp= Fp GSP PL

8 CPU execution time (in secs) PL Tle 5: Execution Times for Dtset t Different Minimum Supports (lrge dtse nd low minsupports) Alg Runtime (in secs) t Different Supports(%) Fp= Fp= Fp = Fp= Fp= Fp= Fp 222K 161K PL Minimum Support (in %) Figure 7: Execution Times for Dtset t Different Minimum Supports (lrge dtse) CPU execution time (in secs) 14, 12, 1, 8, 6, 4, 2, Minimum Support (in %) PL Figure 8: Execution Times for Dtset t Different Minimum Supports (lrge dtse nd low minsupports) Experiment 4: Execution times trend with different dtse sizes (smll size dtse, 2K to 14K): This experiment uses fixed minimum support nd different size dtse to compre the performnce of PL, nd GSP lgorithms. The lgorithms re tested on dtses of sizes 2K to 14K t minimum support of 1%. The gin in performnce y the PL lgorithm is constnt cross different sizes ecuse the numer of frequent ptterns in different sized dtsets generted y the dt genertor seem to e out the sme t prticulr minimum support. The results of this experiment re shown in Tle 6 nd Figure 9. Experiment 5: Execution times trend with different dtse sizes (medium size dtse, 2K to 2K): This experiment uses fixed minimum support nd different size dtse to compre the performnce of PL nd lgorithms. The lgorithms re tested with dtse sizes etween 2 nd 2 thousnds t minimum support of 1%. The results of this experiment re shown in Tle 7 nd CPU execution time (in secs) K 4K 6K 8K 1K 12K 14K Dtse Sizes PL Figure 9: Execution Times Trend with Different Minimum Supports (smll dtse) Figure 1. Experiment 6: Execution times trend with different dtse sizes (lrge size dtse, 3K to 9K): This experiment uses fixed minimum support nd different size dtse to compre the performnce of PL, nd GSP lgorithms. The lgorithms re tested with dtse sizes etween 3K nd 9K records t minimum support of 1%. The results of this experiment re shown in Tle 8 nd Figure 11. Since the CPU execution time difference etween the nd PL from this experiment, seems to diminish s the dtse size increses, further experiment ws run on lrger dtses of etween one million nd 2 million records to check if nd when would run fster thn the PL. Result of this experiment Tle 6: Execution Times for Different Dtse Sizes t Minsupport (smll dtse) Alg Runtime (in secs) t Different Supports(%) 2K 4K 6K 8K 1K 12K 14K GSP PL

9 CPU execution time (in secs) PL CPU execution time (in secs) PL 2K 4K 6K 8K 1K 2K 3K 4K 5K 6K 7K 8K 9K Dtse Sizes Dtse Sizes Figure 1: Execution Times Trend with Different Dtse sizes (medium dtse) Figure 11: Execution Times Trend with Different Dtse sizes (lrge dtse) Tle 7: Execution Times for Different Dtse Sizes t Minsupport of 1%(medium dtse) Alg Runtime (in secs) t Different D sizes(%) 2K 4K 6K 8K 1K 2K GSP PL Tle 9: Execution Times for Different Dtse Sizes t Minsupport of 1% (lrger dtse) Alg Runtime (in secs) t Different DB sizes(%) 1M 2M 4M 8M 1M 2M PL on lrger dtses is given in Tle 9. From this experiment, we found tht t the sme minimum support of 1%, when the dtse size increses much, there re few or no frequent ptterns found ecuse n item needs to pper in out 2 thousnd sequentil records in the 2 million dtse to e frequent nd tht is not very possile in the synthetic dt leding to out the sme execution times for the two lgorithms. However, run on the sme 2M records t minimum support of.1% found 35 ptterns nd took 56 seconds of CPU time for PL, while the tree lgorithm could not complete successfully. Experiments were lso run to check the ehvior of the lgorithms with vrying sequence lengths nd numer of dtse ttriutes, nd the PL lwys runs fster thn the lgorithm when the verge sequence length is less thn 2 nd there re some found frequent ptterns. How- Tle 8: Execution Times for Different Dtse Sizes t Minsupport of 1% (lrge dtse) Alg Runtime (in secs) t Different DB sizes(%) 3K 4K 5K 6K 7K 8K 9K GSP K 13K 15K 17K PL ever, the PL performnce strts to degrde when the verge sequence length of the dtse is more thn 2 ecuse with extremely long sequences, there re nodes with position codes tht re more thn mxint, in our current implementtion, we use numer of vriles to store node s position code tht re linked together. Thus, mnging nd retrieving the position code for excessively long sequences could turn out to e time consuming. Our experiment on rel dt of size 1K hving out 25 ttriutes with only few very long sequences of up to 166 items while most of other records re less thn 7 items long, revels PL fster thn y fctor of over 11 times t very low minimum support of.5% with their execution times s 449, 5157, t.6%, they re 234, 1187 nd t.7%, 144, 171 respectively. The execution times of the two lgorithms strt eing the sme from minimum support 1% when there re no found frequent ptterns. A test on memory usge of the nd PL lgorithms revels out the sme mount of memory llocted to oth progrms. 5. CONCLUSIONS This pper discusses the source code implementtion of the PL lgorithm presented in [7] s well s our implementtions of two other sequentil mining lgorithms [17] nd GSP [3] tht PL ws compred with. Extensive experimentl studies were conducted on the three implemented lgorithms using IBM quest synthetic dtsets. From the experiments, it ws discovered tht the PL lgorithm, which mines pre-order linked, position coded version of the tree, lwys outperforms the other two 34

10 lgorithms nd is much more efficient. PL improves on the performnce of the efficient tree-sed tree lgorithm y mining with position codes nd their suffix tree root sets, rther thn storing intermedite trees recursively. Thus, it sves on processing time nd more so when the numer of frequent ptterns increses nd the minimum support threshold is low. PL s performnce seems to degrde some with very long sequences hving sequence length more thn 2 ecuse of the increse in the size of position code tht it needs to uild nd process for very deep PL tree. For mining sequentil ptterns from we logs or dtses, the following spects my e considered for future work. The PL lgorithm could e extended to hndle sequentil pttern mining in lrge trditionl dtses to hndle concurrency of events. The position code fetures of the PL tree provides mechnism for concisely storing smll items not represented in the tree for future incrementl refreshment of mined ptterns. It lso enles esy multilevel mining of frequent ptterns t detiled (e.g., item level like city level or word level) to more generlized clss level (e.g., country level or ook level) through rollup mining with the sme tree y providing levelwise pre-order heder linkges. This my mke it useful in severl sequence oriented pplictions like frequent word usges in collections of documents (ooks), cell phone cll sequence record dt, intrusion detection nd sensor network mining s well s iologicl sequence dt. A more efficient implementtion of the position code mngement for long sequences would mke the PL more sclle. 6. ACKNOWLEDGMENTS This reserch ws supported y the Nturl Science nd Engineering Reserch Council (NSERC) of Cnd under n operting grnt (OGP ) nd University of Windsor grnt. 7. REFERENCES [1] R. Agrwl nd R. Sriknt. Fst lgorithms for mining ssocition rules in lrge dtses. In Proceedings of the 2th Interntionl Conference on very Lrge Dtses Sntigo, Chile, pges , [2] R. Agrwl nd R. Sriknt. Mining sequentil ptterns. In Proceedings of the 11th Interntionl Conference on Dt Engineering (ICDE 95) Tipei Tiwn, pges 3 14, [3] R. S. R. Agrwl. Mining sequentil ptterns: Generliztions nd performnce improvements. In Proceedings of the Fifth Interntionl Conference On Extending Dtse Technology (EDBT 96) Avignon Frnce, pges 3 17, [4] J. Borges nd M. Levene. Dt mining of user nvigtion ptterns. In Proceedings of the KDD Workshop on We Mining Sn Diego Cliforni, pges 31 36, [5] O. Etzioni. The world wide we: Qugmire or gold mine. Communictions of the ACM, 39(1):65 68, [6] C. Ezeife nd M. Chen. Mining we sequentil ptterns incrementlly with revised plwp tree. In Proceedings of the fifth Interntionl Conference on We-Age Informtion Mngement (WAIM 24), pges Springer Verlg, July 23. [7] C. Ezeife nd Y. Lu. Mining we log sequentil ptterns with position coded pre-order linked wp-tree. Interntionl Journl of Dt Mining nd Knowledge Discovery (DMKD) Kluwer Pulishers, 1(1):5 38, 25. [8] J.Hn,J.Pei,B.Mortzvi-Asl,Q.Chen,U.Dyl, nd M. Hsu. Freespn: Frequent pttern-projected sequentil pttern mining. In Proceedings of the 2 Int. Conference on Knowledge Discovery nd Dt Mining (KDD ), pges , 2. [9] J.Hn,J.Pei,Y.Yin,ndR.Mo.Miningfrequent ptterns without cndidte genertion: A frequent-pttern tree pproch. Interntionl Journl of Dt Mining nd Knowledge Discovery, 8(1):53 87, Jn 24. [1] Y. Lu nd C. Ezeife. Position coded pre-order linked wp-tree for we log sequentil pttern mining. In Proceedings of the 7th Pcific-Asi Conference on Knowledge Discovery nd Dt Mining (PAKDD 23), pges Springer, My 23. [11] S. Mdri, S. Bhowmick, W. Ng, nd E. Lim. Smpling lrge dtses for finding ssocition rules. In Proceedings of the first Interntionl Dt Wrehousing nd Knowledge Discovery DWk99, [12] F. Mssegli, F. Cthl, nd P. Poncelet. Psp : Prefix tree for sequentil ptterns. In Proceedings of the 2nd Europen Symposium on Principles of Dt Mining nd Knowledge Discovery (PKDD 98) Nntes Frnce LNAI, pges , [13] F. Mssegli, P. Poncelet, nd R. Cicchetti. An efficient lgorithm for we usge mining. Networking nd Informtion Systems Journl (NIS), 2(5-6):571 63, [14] A. Nnopoulos nd Y. Mnolopoulos. Finding generlized pth ptterns for we log dt mining. Dt nd Knowledge Engineering, 37(3): , 2. [15] A. Nnopoulos nd Y. Mnolopoulos. Mining ptterns from grph trversls. Dt nd Knowledge Engineering, 37(3): , 21. [16] J. Pei, J. Hn, B. Mortzvi-Asl, nd H. Pinto. Prefixspn: Mining sequentil ptterns efficiently y prefix-projected pttern growth. In Proceedings of the 1 Interntionl Conference on Dt Engineering (ICDE 1), pges , 21. [17] J. Pei, J. Hn, B. Mortzvi-Asl, nd H. Zhu. Mining ccess ptterns efficiently from we logs. In Proceedings of the Pcific-Asi Conference on Knowledge Discovery nd Dt Mining (PAKDD ) Kyoto Jpn, 2. [18] M. Spiliopoulou. The lorious wy from dt mining to we mining. Journl of Computer Systems Science nd Engineering Specil Issue on Semntics of the We, 14: , [19] J. Srivstv, R. Cooley, M. Deshpnde, nd P. Tn. We usge mining: Discovery nd pplictions of usge ptterns from we dt. SIGKDD Explortions, 1, 2. 35

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

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

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

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

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

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

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

Slides for Data Mining by I. H. Witten and E. Frank

Slides for Data Mining by I. H. Witten and E. Frank Slides for Dt Mining y I. H. Witten nd E. Frnk Simplicity first Simple lgorithms often work very well! There re mny kinds of simple structure, eg: One ttriute does ll the work All ttriutes contriute eqully

More information

Reducing a DFA to a Minimal DFA

Reducing a DFA to a Minimal DFA Lexicl Anlysis - Prt 4 Reducing DFA to Miniml DFA Input: DFA IN Assume DFA IN never gets stuck (dd ded stte if necessry) Output: DFA MIN An equivlent DFA with the minimum numer of sttes. Hrry H. Porter,

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence

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

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

COMBINATORIAL PATTERN MATCHING

COMBINATORIAL PATTERN MATCHING COMBINATORIAL PATTERN MATCHING Genomic Repets Exmple of repets: ATGGTCTAGGTCCTAGTGGTC Motivtion to find them: Genomic rerrngements re often ssocited with repets Trce evolutionry secrets Mny tumors re chrcterized

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

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis CS143 Hndout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexicl Anlysis In this first written ssignment, you'll get the chnce to ply round with the vrious constructions tht come up when doing lexicl

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

CS481: Bioinformatics Algorithms

CS481: Bioinformatics Algorithms CS481: Bioinformtics Algorithms Cn Alkn EA509 clkn@cs.ilkent.edu.tr http://www.cs.ilkent.edu.tr/~clkn/teching/cs481/ EXACT STRING MATCHING Fingerprint ide Assume: We cn compute fingerprint f(p) of P in

More information

Information Retrieval and Organisation

Information Retrieval and Organisation Informtion Retrievl nd Orgnistion Suffix Trees dpted from http://www.mth.tu.c.il/~himk/seminr02/suffixtrees.ppt Dell Zhng Birkeck, University of London Trie A tree representing set of strings { } eef d

More information

Registering as a HPE Reseller. Quick Reference Guide for new Partners in Asia Pacific

Registering as a HPE Reseller. Quick Reference Guide for new Partners in Asia Pacific Registering s HPE Reseller Quick Reference Guide for new Prtners in Asi Pcific Registering s new Reseller prtner There re five min steps to e new Reseller prtner. Crete your Appliction Copyright 2017 Hewlett

More information

Agilent Mass Hunter Software

Agilent Mass Hunter Software Agilent Mss Hunter Softwre Quick Strt Guide Use this guide to get strted with the Mss Hunter softwre. Wht is Mss Hunter Softwre? Mss Hunter is n integrl prt of Agilent TOF softwre (version A.02.00). Mss

More information

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *

Languages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) * Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte

More information

Suffix trees, suffix arrays, BWT

Suffix trees, suffix arrays, BWT ALGORITHMES POUR LA BIO-INFORMATIQUE ET LA VISUALISATION COURS 3 Rluc Uricru Suffix trees, suffix rrys, BWT Bsed on: Suffix trees nd suffix rrys presenttion y Him Kpln Suffix trees course y Pco Gomez Liner-Time

More information

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using

More information

An Algorithm for Enumerating All Maximal Tree Patterns Without Duplication Using Succinct Data Structure

An Algorithm for Enumerating All Maximal Tree Patterns Without Duplication Using Succinct Data Structure , Mrch 12-14, 2014, Hong Kong An Algorithm for Enumerting All Mximl Tree Ptterns Without Dupliction Using Succinct Dt Structure Yuko ITOKAWA, Tomoyuki UCHIDA nd Motoki SANO Astrct In order to extrct structured

More information

Intermediate Information Structures

Intermediate Information Structures CPSC 335 Intermedite Informtion Structures LECTURE 13 Suffix Trees Jon Rokne Computer Science University of Clgry Cnd Modified from CMSC 423 - Todd Trengen UMD upd Preprocessing Strings We will look t

More information

UNIT 11. Query Optimization

UNIT 11. Query Optimization UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,

More information

OUTPUT DELIVERY SYSTEM

OUTPUT DELIVERY SYSTEM Differences in ODS formtting for HTML with Proc Print nd Proc Report Lur L. M. Thornton, USDA-ARS, Animl Improvement Progrms Lortory, Beltsville, MD ABSTRACT While Proc Print is terrific tool for dt checking

More information

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1): Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters

More information

Applied Databases. Sebastian Maneth. Lecture 13 Online Pattern Matching on Strings. University of Edinburgh - February 29th, 2016

Applied Databases. Sebastian Maneth. Lecture 13 Online Pattern Matching on Strings. University of Edinburgh - February 29th, 2016 Applied Dtses Lecture 13 Online Pttern Mtching on Strings Sestin Mneth University of Edinurgh - Ferury 29th, 2016 2 Outline 1. Nive Method 2. Automton Method 3. Knuth-Morris-Prtt Algorithm 4. Boyer-Moore

More information

Outline. Introduction Suffix Trees (ST) Building STs in linear time: Ukkonen s algorithm Applications of ST

Outline. Introduction Suffix Trees (ST) Building STs in linear time: Ukkonen s algorithm Applications of ST Suffi Trees Outline Introduction Suffi Trees (ST) Building STs in liner time: Ukkonen s lgorithm Applictions of ST 2 3 Introduction Sustrings String is ny sequence of chrcters. Sustring of string S is

More information

CSCE 531, Spring 2017, Midterm Exam Answer Key

CSCE 531, Spring 2017, Midterm Exam Answer Key CCE 531, pring 2017, Midterm Exm Answer Key 1. (15 points) Using the method descried in the ook or in clss, convert the following regulr expression into n equivlent (nondeterministic) finite utomton: (

More information

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08

CS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08 CS412/413 Introduction to Compilers Tim Teitelum Lecture 4: Lexicl Anlyzers 28 Jn 08 Outline DFA stte minimiztion Lexicl nlyzers Automting lexicl nlysis Jlex lexicl nlyzer genertor CS 412/413 Spring 2008

More information

CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona

CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona CSc 453 Compilers nd Systems Softwre 4 : Lexicl Anlysis II Deprtment of Computer Science University of Arizon collerg@gmil.com Copyright c 2009 Christin Collerg Implementing Automt NFAs nd DFAs cn e hrd-coded

More information

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011 CSCI 3130: Forml Lnguges nd utomt Theory Lecture 12 The Chinese University of Hong Kong, Fll 2011 ndrej Bogdnov In progrmming lnguges, uilding prse trees is significnt tsk ecuse prse trees tell us the

More information

CS201 Discussion 10 DRAWTREE + TRIES

CS201 Discussion 10 DRAWTREE + TRIES CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784

More information

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds A Sprse Grid Representtion for Dynmic Three-Dimensionl Worlds Nthn R. Sturtevnt Deprtment of Computer Science University of Denver Denver, CO, 80208 sturtevnt@cs.du.edu Astrct Grid representtions offer

More information

Implementing Automata. CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona

Implementing Automata. CSc 453. Compilers and Systems Software. 4 : Lexical Analysis II. Department of Computer Science University of Arizona Implementing utomt Sc 5 ompilers nd Systems Softwre : Lexicl nlysis II Deprtment of omputer Science University of rizon collerg@gmil.com opyright c 009 hristin ollerg NFs nd DFs cn e hrd-coded using this

More information

View, evaluate, and publish assignments using the Assignment dropbox.

View, evaluate, and publish assignments using the Assignment dropbox. Blckord Lerning System CE 6 Mnging Assignments Competencies After reding this document, you will e le to: Crete ssignments using the Assignment tool. View, evlute, nd pulish ssignments using the Assignment

More information

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment

File Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment File Mnger Quick Reference Guide June 2018 Prepred for the Myo Clinic Enterprise Khu Deployment NVIGTION IN FILE MNGER To nvigte in File Mnger, users will mke use of the left pne to nvigte nd further pnes

More information

Registering as an HPE Reseller

Registering as an HPE Reseller Registering s n HPE Reseller Quick Reference Guide for new Prtners Mrch 2019 Registering s new Reseller prtner There re four min steps to register on the Prtner Redy Portl s new Reseller prtner: Appliction

More information

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism Efficient K-NN Serch in Polyphonic Music Dtses Using Lower Bounding Mechnism Ning-Hn Liu Deprtment of Computer Science Ntionl Tsing Hu University Hsinchu,Tiwn 300, R.O.C 886-3-575679 nhliou@yhoo.com.tw

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

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more

More information

Topic 2: Lexing and Flexing

Topic 2: Lexing and Flexing Topic 2: Lexing nd Flexing COS 320 Compiling Techniques Princeton University Spring 2016 Lennrt Beringer 1 2 The Compiler Lexicl Anlysis Gol: rek strem of ASCII chrcters (source/input) into sequence of

More information

Position Heaps: A Simple and Dynamic Text Indexing Data Structure

Position Heaps: A Simple and Dynamic Text Indexing Data Structure Position Heps: A Simple nd Dynmic Text Indexing Dt Structure Andrzej Ehrenfeucht, Ross M. McConnell, Niss Osheim, Sung-Whn Woo Dept. of Computer Science, 40 UCB, University of Colordo t Boulder, Boulder,

More information

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application.

NOTES. Figure 1 illustrates typical hardware component connections required when using the JCM ICB Asset Ticket Generator software application. ICB Asset Ticket Genertor Opertor s Guide Septemer, 2016 Septemer, 2016 NOTES Opertor s Guide ICB Asset Ticket Genertor Softwre Instlltion nd Opertion This document contins informtion for downloding, instlling,

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

12-B FRACTIONS AND DECIMALS

12-B FRACTIONS AND DECIMALS -B Frctions nd Decimls. () If ll four integers were negtive, their product would be positive, nd so could not equl one of them. If ll four integers were positive, their product would be much greter thn

More information

Ma/CS 6b Class 1: Graph Recap

Ma/CS 6b Class 1: Graph Recap M/CS 6 Clss 1: Grph Recp By Adm Sheffer Course Detils Adm Sheffer. Office hour: Tuesdys 4pm. dmsh@cltech.edu TA: Victor Kstkin. Office hour: Tuesdys 7pm. 1:00 Mondy, Wednesdy, nd Fridy. http://www.mth.cltech.edu/~2014-15/2term/m006/

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

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

documents 1. Introduction

documents 1. Introduction www.ijcsi.org 4 Efficient structurl similrity computtion etween XML documents Ali Aïtelhdj Computer Science Deprtment, Fculty of Electricl Engineering nd Computer Science Mouloud Mmmeri University of Tizi-Ouzou

More information

Discussion 1 Recap. COP4600 Discussion 2 OS concepts, System call, and Assignment 1. Questions. Questions. Outline. Outline 10/24/2010

Discussion 1 Recap. COP4600 Discussion 2 OS concepts, System call, and Assignment 1. Questions. Questions. Outline. Outline 10/24/2010 COP4600 Discussion 2 OS concepts, System cll, nd Assignment 1 TA: Hufeng Jin hj0@cise.ufl.edu Discussion 1 Recp Introduction to C C Bsic Types (chr, int, long, flot, doule, ) C Preprocessors (#include,

More information

The Math Learning Center PO Box 12929, Salem, Oregon Math Learning Center

The Math Learning Center PO Box 12929, Salem, Oregon Math Learning Center Resource Overview Quntile Mesure: Skill or Concept: 80Q Multiply two frctions or frction nd whole numer. (QT N ) Excerpted from: The Mth Lerning Center PO Box 99, Slem, Oregon 9709 099 www.mthlerningcenter.org

More information

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the LR() nlysis Drwcks of LR(). Look-hed symols s eplined efore, concerning LR(), it is possile to consult the net set to determine, in the reduction sttes, for which symols it would e possile to perform reductions.

More information

Mobile IP route optimization method for a carrier-scale IP network

Mobile IP route optimization method for a carrier-scale IP network Moile IP route optimiztion method for crrier-scle IP network Tkeshi Ihr, Hiroyuki Ohnishi, nd Ysushi Tkgi NTT Network Service Systems Lortories 3-9-11 Midori-cho, Musshino-shi, Tokyo 180-8585, Jpn Phone:

More information

The dictionary model allows several consecutive symbols, called phrases

The dictionary model allows several consecutive symbols, called phrases A dptive Huffmn nd rithmetic methods re universl in the sense tht the encoder cn dpt to the sttistics of the source. But, dpttion is computtionlly expensive, prticulrly when k-th order Mrkov pproximtion

More information

Topological Queries on Graph-structured XML Data: Models and Implementations

Topological Queries on Graph-structured XML Data: Models and Implementations Topologicl Queries on Grph-structured XML Dt: Models nd Implementtions Hongzhi Wng, Jinzhong Li, nd Jizhou Luo Astrct In mny pplictions, dt is in grph structure, which cn e nturlly represented s grph-structured

More information

LR Parsing, Part 2. Constructing Parse Tables. Need to Automatically Construct LR Parse Tables: Action and GOTO Table

LR Parsing, Part 2. Constructing Parse Tables. Need to Automatically Construct LR Parse Tables: Action and GOTO Table TDDD55 Compilers nd Interpreters TDDB44 Compiler Construction LR Prsing, Prt 2 Constructing Prse Tles Prse tle construction Grmmr conflict hndling Ctegories of LR Grmmrs nd Prsers Peter Fritzson, Christoph

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

Lists in Lisp and Scheme

Lists in Lisp and Scheme Lists in Lisp nd Scheme Lists in Lisp nd Scheme Lists re Lisp s fundmentl dt structures, ut there re others Arrys, chrcters, strings, etc. Common Lisp hs moved on from eing merely LISt Processor However,

More information

Graphs with at most two trees in a forest building process

Graphs with at most two trees in a forest building process Grphs with t most two trees in forest uilding process rxiv:802.0533v [mth.co] 4 Fe 208 Steve Butler Mis Hmnk Mrie Hrdt Astrct Given grph, we cn form spnning forest y first sorting the edges in some order,

More information

2014 Haskell January Test Regular Expressions and Finite Automata

2014 Haskell January Test Regular Expressions and Finite Automata 0 Hskell Jnury Test Regulr Expressions nd Finite Automt This test comprises four prts nd the mximum mrk is 5. Prts I, II nd III re worth 3 of the 5 mrks vilble. The 0 Hskell Progrmming Prize will be wrded

More information

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe

CSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()

More information

Definition of Regular Expression

Definition of Regular Expression Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll

More information

Transparent neutral-element elimination in MPI reduction operations

Transparent neutral-element elimination in MPI reduction operations Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn Disclimer Exploiting repetition nd sprsity in input for reducing

More information

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv Compression Outline 15-853:Algorithms in the Rel World Dt Compression III Introduction: Lossy vs. Lossless, Benchmrks, Informtion Theory: Entropy, etc. Proility Coding: Huffmn + Arithmetic Coding Applictions

More information

CS 432 Fall Mike Lam, Professor a (bc)* Regular Expressions and Finite Automata

CS 432 Fall Mike Lam, Professor a (bc)* Regular Expressions and Finite Automata CS 432 Fll 2017 Mike Lm, Professor (c)* Regulr Expressions nd Finite Automt Compiltion Current focus "Bck end" Source code Tokens Syntx tree Mchine code chr dt[20]; int min() { flot x = 42.0; return 7;

More information

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,

More information

TO REGULAR EXPRESSIONS

TO REGULAR EXPRESSIONS Suject :- Computer Science Course Nme :- Theory Of Computtion DA TO REGULAR EXPRESSIONS Report Sumitted y:- Ajy Singh Meen 07000505 jysmeen@cse.iit.c.in BASIC DEINITIONS DA:- A finite stte mchine where

More information

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search.

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search. CS 88: Artificil Intelligence Fll 00 Lecture : A* Serch 9//00 A* Serch rph Serch Tody Heuristic Design Dn Klein UC Berkeley Multiple slides from Sturt Russell or Andrew Moore Recp: Serch Exmple: Pncke

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

I/O Efficient Dynamic Data Structures for Longest Prefix Queries

I/O Efficient Dynamic Data Structures for Longest Prefix Queries I/O Efficient Dynmic Dt Structures for Longest Prefix Queries Moshe Hershcovitch 1 nd Him Kpln 2 1 Fculty of Electricl Engineering, moshik1@gmil.com 2 School of Computer Science, himk@cs.tu.c.il, Tel Aviv

More information

Performance enhancement of IEEE DCF using novel backoff algorithm

Performance enhancement of IEEE DCF using novel backoff algorithm Kuo et l. EURASIP Journl on Wireless Communictions nd Networking 212, 212:274 http://jis.eursipjournls.com/content/212/1/274 RESEARCH Open Access Performnce enhncement of IEEE 82.11 using novel ckoff lgorithm

More information

cisc1110 fall 2010 lecture VI.2 call by value function parameters another call by value example:

cisc1110 fall 2010 lecture VI.2 call by value function parameters another call by value example: cisc1110 fll 2010 lecture VI.2 cll y vlue function prmeters more on functions more on cll y vlue nd cll y reference pssing strings to functions returning strings from functions vrile scope glol vriles

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

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

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016 Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence Winter 2016 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl

More information

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits Systems I Logic Design I Topics Digitl logic Logic gtes Simple comintionl logic circuits Simple C sttement.. C = + ; Wht pieces of hrdwre do you think you might need? Storge - for vlues,, C Computtion

More information

UT1553B BCRT True Dual-port Memory Interface

UT1553B BCRT True Dual-port Memory Interface UTMC APPICATION NOTE UT553B BCRT True Dul-port Memory Interfce INTRODUCTION The UTMC UT553B BCRT is monolithic CMOS integrted circuit tht provides comprehensive MI-STD- 553B Bus Controller nd Remote Terminl

More information

Video-rate Image Segmentation by means of Region Splitting and Merging

Video-rate Image Segmentation by means of Region Splitting and Merging Video-rte Imge Segmenttion y mens of Region Splitting nd Merging Knur Anej, Florence Lguzet, Lionel Lcssgne, Alin Merigot Institute for Fundmentl Electronics, University of Pris South Orsy, Frnce knur.nej@gmil.com,

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

YOU ARE: AND THIS IS:

YOU ARE: AND THIS IS: YOU ARE: AND THIS IS: SoHE CMS Mnul As edited August 4, 015 TABLE OF CONTENTS 3 Logging in 4 Pge types within the dshord 5-6 Exploring the toolr 7-8 Adding pge 9 Editing pge 10 Pge templtes: Met Templte

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Typing with Weird Keyboards Notes

Typing with Weird Keyboards Notes Typing with Weird Keyords Notes Ykov Berchenko-Kogn August 25, 2012 Astrct Consider lnguge with n lphet consisting of just four letters,,,, nd. There is spelling rule tht sys tht whenever you see n next

More information

1.1. Interval Notation and Set Notation Essential Question When is it convenient to use set-builder notation to represent a set of numbers?

1.1. Interval Notation and Set Notation Essential Question When is it convenient to use set-builder notation to represent a set of numbers? 1.1 TEXAS ESSENTIAL KNOWLEDGE AND SKILLS Prepring for 2A.6.K, 2A.7.I Intervl Nottion nd Set Nottion Essentil Question When is it convenient to use set-uilder nottion to represent set of numers? A collection

More information

Epson Projector Content Manager Operation Guide

Epson Projector Content Manager Operation Guide Epson Projector Content Mnger Opertion Guide Contents 2 Introduction to the Epson Projector Content Mnger Softwre 3 Epson Projector Content Mnger Fetures... 4 Setting Up the Softwre for the First Time

More information

Ma/CS 6b Class 1: Graph Recap

Ma/CS 6b Class 1: Graph Recap M/CS 6 Clss 1: Grph Recp By Adm Sheffer Course Detils Instructor: Adm Sheffer. TA: Cosmin Pohot. 1pm Mondys, Wednesdys, nd Fridys. http://mth.cltech.edu/~2015-16/2term/m006/ Min ook: Introduction to Grph

More information

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών

ΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop

More information

9 Graph Cutting Procedures

9 Graph Cutting Procedures 9 Grph Cutting Procedures Lst clss we begn looking t how to embed rbitrry metrics into distributions of trees, nd proved the following theorem due to Brtl (1996): Theorem 9.1 (Brtl (1996)) Given metric

More information

CS311H: Discrete Mathematics. Graph Theory IV. A Non-planar Graph. Regions of a Planar Graph. Euler s Formula. Instructor: Işıl Dillig

CS311H: Discrete Mathematics. Graph Theory IV. A Non-planar Graph. Regions of a Planar Graph. Euler s Formula. Instructor: Işıl Dillig CS311H: Discrete Mthemtics Grph Theory IV Instructor: Işıl Dillig Instructor: Işıl Dillig, CS311H: Discrete Mthemtics Grph Theory IV 1/25 A Non-plnr Grph Regions of Plnr Grph The plnr representtion of

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables

George Boole. IT 3123 Hardware and Software Concepts. Switching Algebra. Boolean Functions. Boolean Functions. Truth Tables George Boole IT 3123 Hrdwre nd Softwre Concepts My 28 Digitl Logic The Little Mn Computer 1815 1864 British mthemticin nd philosopher Mny contriutions to mthemtics. Boolen lger: n lger over finite sets

More information

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an

Scanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an Scnner Termintion A scnner reds input chrcters nd prtitions them into tokens. Wht hppens when the end of the input file is reched? It my be useful to crete n Eof pseudo-chrcter when this occurs. In Jv,

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example:

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example: Boxes nd Arrows There re two kinds of vriles in Jv: those tht store primitive vlues nd those tht store references. Primitive vlues re vlues of type long, int, short, chr, yte, oolen, doule, nd flot. References

More information