Module 9: Tries and String Matching

Size: px
Start display at page:

Download "Module 9: Tries and String Matching"

Transcription

1 Module 9: Tries nd String Mtching CS Dt Structures nd Dt Mngement Sjed Hque Veronik Irvine Tylor Smith Bsed on lecture notes by mny previous cs240 instructors Dvid R. Cheriton School of Computer Science, University of Wterloo Spring 2017 Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Pttern Mtching Serch for string (pttern) in lrge body of text T [0..n 1] The text (or hystck) being serched within P[0..m 1] The pttern (or needle) being serched for Strings over lphbet Σ Return the first i such tht P[j] = T [i + j] for 0 j m 1 This is the first occurrence of P in T If P does not occur in T, return FAIL Applictions: Informtion Retrievl (text editors, serch engines) Bioinformtics Dt Mining Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

2 Pttern Mtching Exmple: T = Where is he? P 1 = he P 2 = who Definitions: Substring T [i..j] 0 i j < n: string of length j i + 1 which consists of chrcters T [i],... T [j] in order A prefix of T : substring T [0..i] of T for some 0 i < n A suffix of T : substring T [i..n 1] of T for some 0 i n 1 Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Generl Ide of Algorithms Pttern mtching lgorithms consist of guesses nd checks: A guess is position i such tht P might strt t T [i]. Vlid guesses (initilly) re 0 i n m. A check of guess is single position j with 0 j < m where we compre T [i + j] to P[j]. We must perform m checks of single correct guess, but my mke (mny) fewer checks of n incorrect guess. We will digrm single run of ny pttern mtching lgorithm by mtrix of checks, where ech row represents single guess. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

3 Brute-force Algorithm Ide: Check every possible guess. BruteforcePM(T [0..n 1], P[0..m 1]) T : String of length n (text), P: String of length m (pttern) 1. for i 0 to n m do 2. mtch true 3. j 0 4. while j < m nd mtch do 5. if T [i + j] = P[j] then 6. j j else 8. mtch flse 9. if mtch then 10. return i 11. return FAIL Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Exmple Exmple: T = bbbbbbb, P = bb b b b b b b b b b b b b b Wht is the worst possible input? P = m 1 b, T = n Worst cse performnce Θ((n m + 1)m) m n/2 Θ(mn) Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

4 Pttern Mtching More sophisticted lgorithms Deterministic finite utomt (DFA) KMP, Boyer-Moore nd Rbin-Krp Do extr preprocessing on the pttern P We eliminte guesses bsed on completed mtches nd mismtches. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 String mtching with finite utomt There is string-mtching utomton for every pttern P. It is constructed from the pttern in preprocessing step before it cn be used to serch the text string. Exmple: Automton for the pttern P = bbc b,c b b b c c b,c c b,c b,c c b Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

5 String mtching with finite utomt Let P the pttern to serch, of length m. Then where the sttes of the utomton re 0,..., m the trnsition function δ of the utomton is defined s follows, for stte q nd chrcter c in Σ: δ(q, c) = l(p[0..q 1]c), P[0..q 1]c is the conctention of P[0..q 1] nd c for string s, l(s) {0,..., m} is the length of the longest prefix of P tht is lso suffix of s. Grphiclly, this corresponds to q c δ(q, c) Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 String mtching with finite utomt Let T be the text string of length n, P the pttern to serch of length m nd δ the trnsition function of finite utomton for pttern P. FINITE-AUTOMATON-MATCHER(T, δ, m) n length[t ] q 0 for i 0 to n 1 do q δ(q, T [i]) if q = m then print Pttern occurs with shift i (m 1) Ide of proof: the stte fter reding T [i] is l(t [0..i]). Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

6 String mtching with finite utomt Mtching time on text string of length n is Θ(n) This does not include the preprocessing time required to compute the trnsition function δ. There exists n lgorithm with O(m Σ ) preprocessing time. Altogether, we cn find ll occurrences of length-m pttern in length-n text over finite lphbet Σ with O(m Σ ) preprocessing time nd Θ(n) mtching time. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 KMP Algorithm Knuth-Morris-Prtt lgorithm (1977) Compres the pttern to the text in left-to-right Shifts the pttern more intelligently thn the brute-force lgorithm When mismtch occurs, how much cn we shift the pttern (reusing knowledge from previous mtches)? T = b c d c b c??? b c d c b b c d c KMP Answer: this depends on the lrgest prefix of P[0..j] tht is suffix of P[1..j] Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

7 KMP Filure Arry T: b b c b c d P: b b c b wht next slide would mtch with the text? Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 KMP Filure Arry Suppose we hve mtch up to position T [i 1] = P[j 1], but not t the next position. Define F [j 1] s the index we will hve to check in P, fter we bring the pttern to its next possible position (previous exmple: j = 6, F [5] = 2). This cn be computed by trying ll sliding positions until finding the first one mtching the text (s in previous exmple). We cn do better: ny possible sliding position corresponds to prefix of P[0..j 1] tht is lso strict suffix of it = suffix of P[1..j 1] the next possible sliding position corresponds to the lrgest such prefix / suffix we let F [j 1] be the length of this prefix / suffix. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

8 KMP Filure Arry Schemticlly: T i P j 1 j F [j 1] F [j 1] slide no need to check for mtching with T compring with T strts from here Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 KMP Filure Arry F [0] = 0 F [j], for j > 0, is the length of the lrgest prefix of P[0..j] tht is lso suffix of P[1..j] Consider P = bcb j P[1..j] P F [j] 0 bcb 0 1 b bcb 0 2 b bcb 1 3 bc bcb 0 4 bc bcb 1 5 bcb bcb 2 6 bcb bcb 3 Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

9 Computing the Filure Arry filurearry(p) P: String of length m (pttern) 1. F [0] 0 2. i 1 3. j 0 4. while i < m do 5. if P[i] = P[j] then 6. F [i] j i i j j else if j > 0 then 10. j F [j 1] 11. else 12. F [i] i i + 1 Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 KMP Algorithm KMP(T, P), to return the first mtch T : String of length n (text), P: String of length m (pttern) 1. F filurearry(p) 2. i 0 3. j 0 4. while i < n do 5. if T [i] = P[j] then 6. if j = m 1 then 7. return i j //mtch 8. else 9. i i j j else 12. if j > 0 then 13. j F [j 1] 14. else 15. i i return 1 // no mtch Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

10 KMP: Exmple P = bcb T = bxybcbbbbcb j F [j] b x y b c b b b c () b b c b () (b) Exercise: continue with T = bxybcbbbbcb Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 KMP: Anlysis filurearry At ech itertion of the while loop, t lest one of the following hppens: 1 i increses by one, or 2 the index i j increses by t lest one (F [j 1] < j) KMP There re no more thn 2m itertions of the while loop Running time: Θ(m) filurearry cn be computed in Θ(m) time At ech itertion of the while loop, t lest one of the following hppens: 1 i increses by one, or 2 the index i j increses by t lest one (F [j 1] < j) There re no more thn 2n itertions of the while loop Running time: Θ(n) Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

11 Boyer-Moore Algorithm Bsed on three key ides: Reverse-order serching: Compre P with subsequence of T moving bckwrds Bd chrcter jumps: When mismtch occurs t T [i] = c If P contins c, we cn shift P to lign the lst occurrence of c in P with T [i] Otherwise, we cn shift P to lign P[0] with T [i + 1] Good suffix jumps: If we hve lredy mtched suffix of P, then get mismtch, we cn shift P forwrd to lign with the previous occurence of tht suffix (with mismtch from the suffix we red). If none exists, look for the longest prefix of P tht is suffix of wht we red. Similr to filure rry in KMP. Cn skip lrge prts of T Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Bd chrcter exmples P = l d o T = w h e r e i s w l d o o o l d o 6 comprisons (checks) P = m o o r e T = b o y e r m o o r e 7 comprisons (checks) e (r) e (m) o o r e Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

12 Good suffix exmples P = sells shells s h e i l s e l l s s h e l l s h e l l s s (e) (l) (l) (s) s h e l l s P = odetofood i l i k e f o o d f r o m m e x i c o o f o o d (e) (o) (d) d d Good suffix moves further thn bd chrcter for 2nd guess. Bd chrcter moves further thn good suffix for 3rd guess. This is out of rnge, so pttern not found. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Lst-Occurrence Function Preprocess the pttern P nd the lphbet Σ Build the lst-occurrence function L mpping Σ to integers L(c) is defined s the lrgest index i such tht P[i] = c or 1 if no such index exists Exmple: Σ = {, b, c, d}, P = bcb c b c d L(c) The lst-occurrence function cn be computed in time O(m + Σ ) In prctice, L is stored in size- Σ rry. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

13 Good Suffix rry Agin, we preprocess P to build tble. Suffix skip rry S of size m: for 0 i < m, S[i] is the lrgest index j such tht P[i + 1..m 1] = P[j + 1..j + m 1 i] nd P[j] P[i]. Note: in this clcultion, ny negtive indices re considered to mke the given condition true (these correspond to letters tht we might not hve checked yet). Similr to KMP filure rry, with n extr condition. Computed similrly to KMP filure rry in Θ(m) time. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Good Suffix rry Exmple: P = bonobobo i P[i] b o n o b o b o S[i] Computed similrly to KMP filure rry in Θ(m) time. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

14 Boyer-Moore Algorithm boyer-moore(t,p) 1. L lst occurrence rry computed from P 2. S good suffix rry computed from P 3. i m 1, j m 1 4. while i < n nd j 0 do 5. if T [i] = P[j] then 6. i i 1 7. j j 1 8. else 9. i i + m 1 min(l[t [i]], S[j]) 10. j m if j = 1 return i else return FAIL Exercise: Prove tht i j lwys increses on lines Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Boyer-Moore lgorithm conclusion Worst-cse running time O(n + Σ ) This complexity is difficult to prove. Worst-cse running time O(nm) if we wnt to report ll occurrences On typicl English text the lgorithm probes pproximtely 25% of the chrcters in T Fster thn KMP in prctice on English text. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

15 Rbin-Krp Fingerprint Algorithm Ide: use hshing Compute hsh function for ech text position No explicit hsh tble: just compre with pttern hsh If mtch of the hsh vlue of the pttern nd text position found, then compres the pttern with the substring by nive pproch Exmple: Hsh tble size = 97 Serch Pttern P: Serch Text T : Hsh function: h(x) = x mod 97 nd h(p) = mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = 95 Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Rbin-Krp Fingerprint Algorithm Gurnteeing correctness Need full compre on hsh mtch to gurd ginst collisions mod 97 = mod 97 = 95 Running time Hsh function depends on m chrcters Running time is Θ(mn) for serch miss (how cn we fix this?) Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

16 Rbin-Krp Fingerprint Algorithm The initil hshes re clled fingerprints. Rbin & Krp discovered wy to updte these fingerprints in constnt time. Ide: To go from the hsh of substring in the text string to the next hsh vlue only requires constnt time. Use previous hsh to compute next hsh O(1) time per hsh, except first one Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Rbin-Krp Fingerprint Algorithm Exmple: Pre-compute: mod 97 = 9 Previous hsh: mod 97 = 76 Next hsh: mod 97 =?? Observtion: mod 97 = (41592 ( )) = (76 (4 9 )) = 406 = 18 Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

17 Rbin-Krp Fingerprint Algorithm Choose tble size t rndom to be huge prime Expected running time is O(m + n) Θ(mn) worst-cse, but this is (unbelievbly) unlikely Min dvntge: Extends to 2d ptterns nd other generliztions Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Suffix Tries nd Suffix Trees Wht if we wnt to serch for mny ptterns P within the sme fixed text T? Ide: Preprocess the text T rther thn the pttern P Observtion: P is substring of T if nd only if P is prefix of some suffix of T. We will cll trie tht stores ll suffixes of text T suffix trie, nd the compressed suffix trie of T suffix tree. Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

18 Suffix Trees Build the suffix trie, i.e. the trie contining ll the suffixes of the text Build the suffix tree by compressing the trie bove (like in Ptrici trees) Store two indexes l, r on ech node v (both internl nodes nd leves) where node v corresponds to substring T [l..r] Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Suffix Trie: Exmple T =bnnbn {bnnbn, nnbn, nnbn, nbn, nbn, bn, bn, n, n} b n b $ n $ n $ n b $ n $ n n b n $ b n b i T [i] b n n b n $ $ b n n $ n $ $ Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

19 Suffix Tree (compressed suffix trie): Exmple T =bnnbn {bnnbn, nnbn, nnbn, nbn, nbn, bn, bn, n, n} Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Suffix Trees: Pttern Mtching To serch for pttern P of length m: Similr to Serch in compressed trie with the difference tht we re looking for prefix mtch rther thn complete mtch If we rech lef with corresponding string length less thn m, then serch is unsuccessful Otherwise, we rech node v (lef or internl) with corresponding string length of t lest m It only suffices to check the first m chrcters ginst the substring of the text between indices of the node, to see if there indeed is mtch We cn then visit ll children of the node to report ll mtches Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

20 Suffix Tree: Exmple T = bnnbn P = n Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Suffix Tree: Exmple T = bnnbn P = bn Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

21 Suffix Tree: Exmple T = bnnbn P = nn Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43 Suffix Tree: Exmple T = bnnbn P = bbn not found Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

22 Pttern Mtching Conclusion Brute- Suffix DFA KMP BM RK Force trees O ( n 2) Preproc.: O (m Σ ) O (m) O (m + Σ ) O (m) ( O (n)) Serch O (n) Õ(n + m) O (nm) O (n) O (n) O (m) time: (often better) (expected) Extr O (m Σ ) O (m) O (m + Σ ) O (1) O (n) spce: Hque, Irvine, Smith (SCS, UW) CS240 - Module 9 Spring / 43

Module 9: Tries and String Matching

Module 9: Tries and String Matching Module 9: Tries nd String Mtching CS 240 - Dt Structures nd Dt Mngement Sjed Hque Veronik Irvine Tylor Smith Bsed on lecture notes by mny previous cs240 instructors Dvid R. Cheriton School of Computer

More information

Module 9: Tries and String Matching

Module 9: Tries and String Matching Module 9: Tries and String Matching CS 240 - Data Structures and Data Management Sajed Haque Veronika Irvine Taylor Smith Based on lecture notes by many previous cs240 instructors David R. Cheriton School

More information

Where did dynamic programming come from?

Where did dynamic programming come from? Where did dynmic progrmming come from? String lgorithms Dvid Kuchk cs302 Spring 2012 Richrd ellmn On the irth of Dynmic Progrmming Sturt Dreyfus http://www.eng.tu.c.il/~mi/cd/ or50/1526-5463-2002-50-01-0048.pdf

More information

Fingerprint idea. Assume:

Fingerprint idea. Assume: Fingerprint ide Assume: We cn compute fingerprint f(p) of P in O(m) time. If f(p) f(t[s.. s+m 1]), then P T[s.. s+m 1] We cn compre fingerprints in O(1) We cn compute f = f(t[s+1.. s+m]) from f(t[s.. s+m

More information

Balanced binary search trees

Balanced binary search trees 02110 Inge Li Gørtz Overview Blnced binry serch trees: Red-blck trees nd 2-3-4 trees Amortized nlysis Dynmic progrmming Network flows String mtching String indexing Computtionl geometry Introduction to

More information

Data Structures and Algorithm. Xiaoqing Zheng

Data Structures and Algorithm. Xiaoqing Zheng Dt Strutures nd Algorithm Xioqing Zheng zhengxq@fudn.edu.n String mthing prolem Pttern P ours with shift s in text T (or, equivlently, tht pttern P ours eginning t position s + in text T) if T[s +... s

More information

Module 9: String Matching

Module 9: String Matching Module 9: Strig Mtchig CS 240 Dt Structures d Dt Mgemet T. Biedl K. Lctot M. Sepehri S. Wild Bsed o lecture otes y my previous cs240 istructors Dvid R. Cherito School of Computer Sciece, Uiversity of Wterloo

More information

Anatomy of a Deterministic Finite Automaton. Deterministic Finite Automata. A machine so simple that you can understand it in less than one minute

Anatomy of a Deterministic Finite Automaton. Deterministic Finite Automata. A machine so simple that you can understand it in less than one minute Victor Admchik Dnny Sletor Gret Theoreticl Ides In Computer Science CS 5-25 Spring 2 Lecture 2 Mr 3, 2 Crnegie Mellon University Deterministic Finite Automt Finite Automt A mchine so simple tht you cn

More information

Faster Regular Expression Matching. Philip Bille Mikkel Thorup

Faster Regular Expression Matching. Philip Bille Mikkel Thorup Fster Regulr Expression Mtching Philip Bille Mikkel Thorup Outline Definition Applictions History tour of regulr expression mtching Thompson s lgorithm Myers lgorithm New lgorithm Results nd extensions

More information

Theory of Computation Regular Languages

Theory of Computation Regular Languages Theory of Computtion Regulr Lnguges Bow-Yw Wng Acdemi Sinic Spring 2012 Bow-Yw Wng (Acdemi Sinic) Regulr Lnguges Spring 2012 1 / 38 Schemtic of Finite Automt control 0 0 1 0 1 1 1 0 Figure: Schemtic of

More information

Theory of Computation Regular Languages. (NTU EE) Regular Languages Fall / 38

Theory of Computation Regular Languages. (NTU EE) Regular Languages Fall / 38 Theory of Computtion Regulr Lnguges (NTU EE) Regulr Lnguges Fll 2017 1 / 38 Schemtic of Finite Automt control 0 0 1 0 1 1 1 0 Figure: Schemtic of Finite Automt A finite utomton hs finite set of control

More information

Alignment of Long Sequences. BMI/CS Spring 2016 Anthony Gitter

Alignment of Long Sequences. BMI/CS Spring 2016 Anthony Gitter Alignment of Long Sequences BMI/CS 776 www.biostt.wisc.edu/bmi776/ Spring 2016 Anthony Gitter gitter@biostt.wisc.edu Gols for Lecture Key concepts how lrge-scle lignment differs from the simple cse the

More information

CMSC 330: Organization of Programming Languages. DFAs, and NFAs, and Regexps (Oh my!)

CMSC 330: Organization of Programming Languages. DFAs, and NFAs, and Regexps (Oh my!) CMSC 330: Orgniztion of Progrmming Lnguges DFAs, nd NFAs, nd Regexps (Oh my!) CMSC330 Spring 2018 Types of Finite Automt Deterministic Finite Automt (DFA) Exctly one sequence of steps for ech string All

More information

NFAs and Regular Expressions. NFA-ε, continued. Recall. Last class: Today: Fun:

NFAs and Regular Expressions. NFA-ε, continued. Recall. Last class: Today: Fun: CMPU 240 Lnguge Theory nd Computtion Spring 2019 NFAs nd Regulr Expressions Lst clss: Introduced nondeterministic finite utomt with -trnsitions Tody: Prove n NFA- is no more powerful thn n NFA Introduce

More information

Finite Automata. Informatics 2A: Lecture 3. John Longley. 22 September School of Informatics University of Edinburgh

Finite Automata. Informatics 2A: Lecture 3. John Longley. 22 September School of Informatics University of Edinburgh Lnguges nd Automt Finite Automt Informtics 2A: Lecture 3 John Longley School of Informtics University of Edinburgh jrl@inf.ed.c.uk 22 September 2017 1 / 30 Lnguges nd Automt 1 Lnguges nd Automt Wht is

More information

CS103B Handout 18 Winter 2007 February 28, 2007 Finite Automata

CS103B Handout 18 Winter 2007 February 28, 2007 Finite Automata CS103B ndout 18 Winter 2007 Ferury 28, 2007 Finite Automt Initil text y Mggie Johnson. Introduction Severl childrens gmes fit the following description: Pieces re set up on plying ord; dice re thrown or

More information

CS 275 Automata and Formal Language Theory

CS 275 Automata and Formal Language Theory CS 275 Automt nd Forml Lnguge Theory Course Notes Prt II: The Recognition Problem (II) Chpter II.6.: Push Down Automt Remrk: This mteril is no longer tught nd not directly exm relevnt Anton Setzer (Bsed

More information

Convert the NFA into DFA

Convert the NFA into DFA Convert the NF into F For ech NF we cn find F ccepting the sme lnguge. The numer of sttes of the F could e exponentil in the numer of sttes of the NF, ut in prctice this worst cse occurs rrely. lgorithm:

More information

19 Optimal behavior: Game theory

19 Optimal behavior: Game theory Intro. to Artificil Intelligence: Dle Schuurmns, Relu Ptrscu 1 19 Optiml behvior: Gme theory Adversril stte dynmics hve to ccount for worst cse Compute policy π : S A tht mximizes minimum rewrd Let S (,

More information

Minimal DFA. minimal DFA for L starting from any other

Minimal DFA. minimal DFA for L starting from any other Miniml DFA Among the mny DFAs ccepting the sme regulr lnguge L, there is exctly one (up to renming of sttes) which hs the smllest possile numer of sttes. Moreover, it is possile to otin tht miniml DFA

More information

Chapter 2 Finite Automata

Chapter 2 Finite Automata Chpter 2 Finite Automt 28 2.1 Introduction Finite utomt: first model of the notion of effective procedure. (They lso hve mny other pplictions). The concept of finite utomton cn e derived y exmining wht

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design nd Anlysis LECTURE 12 Solving Recurrences Mster Theorem Adm Smith Review Question: Exponentition Problem: Compute b, where b N is n bits long. Question: How mny multiplictions? Nive lgorithm:

More information

Let's start with an example:

Let's start with an example: Finite Automt Let's strt with n exmple: Here you see leled circles tht re sttes, nd leled rrows tht re trnsitions. One of the sttes is mrked "strt". One of the sttes hs doule circle; this is terminl stte

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Orgniztion of Progrmming Lnguges Finite Automt 2 CMSC 330 1 Types of Finite Automt Deterministic Finite Automt (DFA) Exctly one sequence of steps for ech string All exmples so fr Nondeterministic

More information

Lexical Analysis Part III

Lexical Analysis Part III Lexicl Anlysis Prt III Chpter 3: Finite Automt Slides dpted from : Roert vn Engelen, Florid Stte University Alex Aiken, Stnford University Design of Lexicl Anlyzer Genertor Trnslte regulr expressions to

More information

CS 188: Artificial Intelligence Spring 2007

CS 188: Artificial Intelligence Spring 2007 CS 188: Artificil Intelligence Spring 2007 Lecture 3: Queue-Bsed Serch 1/23/2007 Srini Nrynn UC Berkeley Mny slides over the course dpted from Dn Klein, Sturt Russell or Andrew Moore Announcements Assignment

More information

Designing finite automata II

Designing finite automata II Designing finite utomt II Prolem: Design DFA A such tht L(A) consists of ll strings of nd which re of length 3n, for n = 0, 1, 2, (1) Determine wht to rememer out the input string Assign stte to ech of

More information

CS:4330 Theory of Computation Spring Regular Languages. Equivalences between Finite automata and REs. Haniel Barbosa

CS:4330 Theory of Computation Spring Regular Languages. Equivalences between Finite automata and REs. Haniel Barbosa CS:4330 Theory of Computtion Spring 208 Regulr Lnguges Equivlences between Finite utomt nd REs Hniel Brbos Redings for this lecture Chpter of [Sipser 996], 3rd edition. Section.3. Finite utomt nd regulr

More information

CS 267: Automated Verification. Lecture 8: Automata Theoretic Model Checking. Instructor: Tevfik Bultan

CS 267: Automated Verification. Lecture 8: Automata Theoretic Model Checking. Instructor: Tevfik Bultan CS 267: Automted Verifiction Lecture 8: Automt Theoretic Model Checking Instructor: Tevfik Bultn LTL Properties Büchi utomt [Vrdi nd Wolper LICS 86] Büchi utomt: Finite stte utomt tht ccept infinite strings

More information

Chapter Five: Nondeterministic Finite Automata. Formal Language, chapter 5, slide 1

Chapter Five: Nondeterministic Finite Automata. Formal Language, chapter 5, slide 1 Chpter Five: Nondeterministic Finite Automt Forml Lnguge, chpter 5, slide 1 1 A DFA hs exctly one trnsition from every stte on every symol in the lphet. By relxing this requirement we get relted ut more

More information

NFA DFA Example 3 CMSC 330: Organization of Programming Languages. Equivalence of DFAs and NFAs. Equivalence of DFAs and NFAs (cont.

NFA DFA Example 3 CMSC 330: Organization of Programming Languages. Equivalence of DFAs and NFAs. Equivalence of DFAs and NFAs (cont. NFA DFA Exmple 3 CMSC 330: Orgniztion of Progrmming Lnguges NFA {B,D,E {A,E {C,D {E Finite Automt, con't. R = { {A,E, {B,D,E, {C,D, {E 2 Equivlence of DFAs nd NFAs Any string from {A to either {D or {CD

More information

Finite Automata. Informatics 2A: Lecture 3. Mary Cryan. 21 September School of Informatics University of Edinburgh

Finite Automata. Informatics 2A: Lecture 3. Mary Cryan. 21 September School of Informatics University of Edinburgh Finite Automt Informtics 2A: Lecture 3 Mry Cryn School of Informtics University of Edinburgh mcryn@inf.ed.c.uk 21 September 2018 1 / 30 Lnguges nd Automt Wht is lnguge? Finite utomt: recp Some forml definitions

More information

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. NFA for (a b)*abb.

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. NFA for (a b)*abb. CMSC 330: Orgniztion of Progrmming Lnguges Finite Automt 2 Types of Finite Automt Deterministic Finite Automt () Exctly one sequence of steps for ech string All exmples so fr Nondeterministic Finite Automt

More information

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. Comparing DFAs and NFAs (cont.) Finite Automata 2

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. Comparing DFAs and NFAs (cont.) Finite Automata 2 CMSC 330: Orgniztion of Progrmming Lnguges Finite Automt 2 Types of Finite Automt Deterministic Finite Automt () Exctly one sequence of steps for ech string All exmples so fr Nondeterministic Finite Automt

More information

1.4 Nonregular Languages

1.4 Nonregular Languages 74 1.4 Nonregulr Lnguges The number of forml lnguges over ny lphbet (= decision/recognition problems) is uncountble On the other hnd, the number of regulr expressions (= strings) is countble Hence, ll

More information

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true.

1. For each of the following theorems, give a two or three sentence sketch of how the proof goes or why it is not true. York University CSE 2 Unit 3. DFA Clsses Converting etween DFA, NFA, Regulr Expressions, nd Extended Regulr Expressions Instructor: Jeff Edmonds Don t chet y looking t these nswers premturely.. For ech

More information

1.3 Regular Expressions

1.3 Regular Expressions 56 1.3 Regulr xpressions These hve n importnt role in describing ptterns in serching for strings in mny pplictions (e.g. wk, grep, Perl,...) All regulr expressions of lphbet re 1.Ønd re regulr expressions,

More information

Harvard University Computer Science 121 Midterm October 23, 2012

Harvard University Computer Science 121 Midterm October 23, 2012 Hrvrd University Computer Science 121 Midterm Octoer 23, 2012 This is closed-ook exmintion. You my use ny result from lecture, Sipser, prolem sets, or section, s long s you quote it clerly. The lphet is

More information

11.1 Finite Automata. CS125 Lecture 11 Fall Motivation: TMs without a tape: maybe we can at least fully understand such a simple model?

11.1 Finite Automata. CS125 Lecture 11 Fall Motivation: TMs without a tape: maybe we can at least fully understand such a simple model? CS125 Lecture 11 Fll 2016 11.1 Finite Automt Motivtion: TMs without tpe: mybe we cn t lest fully understnd such simple model? Algorithms (e.g. string mtching) Computing with very limited memory Forml verifiction

More information

CMPSCI 250: Introduction to Computation. Lecture #31: What DFA s Can and Can t Do David Mix Barrington 9 April 2014

CMPSCI 250: Introduction to Computation. Lecture #31: What DFA s Can and Can t Do David Mix Barrington 9 April 2014 CMPSCI 250: Introduction to Computtion Lecture #31: Wht DFA s Cn nd Cn t Do Dvid Mix Brrington 9 April 2014 Wht DFA s Cn nd Cn t Do Deterministic Finite Automt Forml Definition of DFA s Exmples of DFA

More information

Data Structures and Algorithms CMPSC 465

Data Structures and Algorithms CMPSC 465 Dt Structures nd Algorithms CMPSC 465 LECTURE 10 Solving recurrences Mster theorem Adm Smith S. Rskhodnikov nd A. Smith; bsed on slides by E. Demine nd C. Leiserson Review questions Guess the solution

More information

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2014

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2014 CS125 Lecture 12 Fll 2014 12.1 Nondeterminism The ide of nondeterministic computtions is to llow our lgorithms to mke guesses, nd only require tht they ccept when the guesses re correct. For exmple, simple

More information

Lecture 9: LTL and Büchi Automata

Lecture 9: LTL and Büchi Automata Lecture 9: LTL nd Büchi Automt 1 LTL Property Ptterns Quite often the requirements of system follow some simple ptterns. Sometimes we wnt to specify tht property should only hold in certin context, clled

More information

1 Nondeterministic Finite Automata

1 Nondeterministic Finite Automata 1 Nondeterministic Finite Automt Suppose in life, whenever you hd choice, you could try oth possiilities nd live your life. At the end, you would go ck nd choose the one tht worked out the est. Then you

More information

Strong Bisimulation. Overview. References. Actions Labeled transition system Transition semantics Simulation Bisimulation

Strong Bisimulation. Overview. References. Actions Labeled transition system Transition semantics Simulation Bisimulation Strong Bisimultion Overview Actions Lbeled trnsition system Trnsition semntics Simultion Bisimultion References Robin Milner, Communiction nd Concurrency Robin Milner, Communicting nd Mobil Systems 32

More information

Lecture 08: Feb. 08, 2019

Lecture 08: Feb. 08, 2019 4CS4-6:Theory of Computtion(Closure on Reg. Lngs., regex to NDFA, DFA to regex) Prof. K.R. Chowdhry Lecture 08: Fe. 08, 2019 : Professor of CS Disclimer: These notes hve not een sujected to the usul scrutiny

More information

Recitation 3: More Applications of the Derivative

Recitation 3: More Applications of the Derivative Mth 1c TA: Pdric Brtlett Recittion 3: More Applictions of the Derivtive Week 3 Cltech 2012 1 Rndom Question Question 1 A grph consists of the following: A set V of vertices. A set E of edges where ech

More information

First Midterm Examination

First Midterm Examination 24-25 Fll Semester First Midterm Exmintion ) Give the stte digrm of DFA tht recognizes the lnguge A over lphet Σ = {, } where A = {w w contins or } 2) The following DFA recognizes the lnguge B over lphet

More information

Nondeterminism and Nodeterministic Automata

Nondeterminism and Nodeterministic Automata Nondeterminism nd Nodeterministic Automt 61 Nondeterminism nd Nondeterministic Automt The computtionl mchine models tht we lerned in the clss re deterministic in the sense tht the next move is uniquely

More information

p-adic Egyptian Fractions

p-adic Egyptian Fractions p-adic Egyptin Frctions Contents 1 Introduction 1 2 Trditionl Egyptin Frctions nd Greedy Algorithm 2 3 Set-up 3 4 p-greedy Algorithm 5 5 p-egyptin Trditionl 10 6 Conclusion 1 Introduction An Egyptin frction

More information

Connected-components. Summary of lecture 9. Algorithms and Data Structures Disjoint sets. Example: connected components in graphs

Connected-components. Summary of lecture 9. Algorithms and Data Structures Disjoint sets. Example: connected components in graphs Prm University, Mth. Deprtment Summry of lecture 9 Algorithms nd Dt Structures Disjoint sets Summry of this lecture: (CLR.1-3) Dt Structures for Disjoint sets: Union opertion Find opertion Mrco Pellegrini

More information

CS 301. Lecture 04 Regular Expressions. Stephen Checkoway. January 29, 2018

CS 301. Lecture 04 Regular Expressions. Stephen Checkoway. January 29, 2018 CS 301 Lecture 04 Regulr Expressions Stephen Checkowy Jnury 29, 2018 1 / 35 Review from lst time NFA N = (Q, Σ, δ, q 0, F ) where δ Q Σ P (Q) mps stte nd n lphet symol (or ) to set of sttes We run n NFA

More information

Finite Automata-cont d

Finite Automata-cont d Automt Theory nd Forml Lnguges Professor Leslie Lnder Lecture # 6 Finite Automt-cont d The Pumping Lemm WEB SITE: http://ingwe.inghmton.edu/ ~lnder/cs573.html Septemer 18, 2000 Exmple 1 Consider L = {ww

More information

NFAs continued, Closure Properties of Regular Languages

NFAs continued, Closure Properties of Regular Languages Algorithms & Models of Computtion CS/ECE 374, Fll 2017 NFAs continued, Closure Properties of Regulr Lnguges Lecture 5 Tuesdy, Septemer 12, 2017 Sriel Hr-Peled (UIUC) CS374 1 Fll 2017 1 / 31 Regulr Lnguges,

More information

Nondeterminism. Nondeterministic Finite Automata. Example: Moves on a Chessboard. Nondeterminism (2) Example: Chessboard (2) Formal NFA

Nondeterminism. Nondeterministic Finite Automata. Example: Moves on a Chessboard. Nondeterminism (2) Example: Chessboard (2) Formal NFA Nondeterminism Nondeterministic Finite Automt Nondeterminism Subset Construction A nondeterministic finite utomton hs the bility to be in severl sttes t once. Trnsitions from stte on n input symbol cn

More information

Converting Regular Expressions to Discrete Finite Automata: A Tutorial

Converting Regular Expressions to Discrete Finite Automata: A Tutorial Converting Regulr Expressions to Discrete Finite Automt: A Tutoril Dvid Christinsen 2013-01-03 This is tutoril on how to convert regulr expressions to nondeterministic finite utomt (NFA) nd how to convert

More information

1 APL13: Suffix Arrays: more space reduction

1 APL13: Suffix Arrays: more space reduction 1 APL13: Suffix Arrys: more spce reduction In Section??, we sw tht when lphbet size is included in the time nd spce bounds, the suffix tree for string of length m either requires Θ(m Σ ) spce or the minimum

More information

Formal languages, automata, and theory of computation

Formal languages, automata, and theory of computation Mälrdlen University TEN1 DVA337 2015 School of Innovtion, Design nd Engineering Forml lnguges, utomt, nd theory of computtion Thursdy, Novemer 5, 14:10-18:30 Techer: Dniel Hedin, phone 021-107052 The exm

More information

More on automata. Michael George. March 24 April 7, 2014

More on automata. Michael George. March 24 April 7, 2014 More on utomt Michel George Mrch 24 April 7, 2014 1 Automt constructions Now tht we hve forml model of mchine, it is useful to mke some generl constructions. 1.1 DFA Union / Product construction Suppose

More information

Pattern Matching. a b a c a a b. a b a c a b. a b a c a b. Pattern Matching 1

Pattern Matching. a b a c a a b. a b a c a b. a b a c a b. Pattern Matching 1 Pattern Matching a b a c a a b 1 4 3 2 Pattern Matching 1 Outline and Reading Strings ( 9.1.1) Pattern matching algorithms Brute-force algorithm ( 9.1.2) Boyer-Moore algorithm ( 9.1.3) Knuth-Morris-Pratt

More information

Turing Machines Part One

Turing Machines Part One Turing Mchines Prt One Hello Hello Condensed Condensed Slide Slide Reders! Reders! Tody s Tody s lecture lecture consists consists lmost lmost exclusively exclusively of of nimtions nimtions of of Turing

More information

This lecture covers Chapter 8 of HMU: Properties of CFLs

This lecture covers Chapter 8 of HMU: Properties of CFLs This lecture covers Chpter 8 of HMU: Properties of CFLs Turing Mchine Extensions of Turing Mchines Restrictions of Turing Mchines Additionl Reding: Chpter 8 of HMU. Turing Mchine: Informl Definition B

More information

Homework 3 Solutions

Homework 3 Solutions CS 341: Foundtions of Computer Science II Prof. Mrvin Nkym Homework 3 Solutions 1. Give NFAs with the specified numer of sttes recognizing ech of the following lnguges. In ll cses, the lphet is Σ = {,1}.

More information

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4 Intermedite Mth Circles Wednesdy, Novemer 14, 2018 Finite Automt II Nickols Rollick nrollick@uwterloo.c Regulr Lnguges Lst time, we were introduced to the ide of DFA (deterministic finite utomton), one

More information

Java II Finite Automata I

Java II Finite Automata I Jv II Finite Automt I Bernd Kiefer Bernd.Kiefer@dfki.de Deutsches Forschungszentrum für künstliche Intelligenz Finite Automt I p.1/13 Processing Regulr Expressions We lredy lerned out Jv s regulr expression

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Finite Automt Theory nd Forml Lnguges TMV027/DIT321 LP4 2018 Lecture 10 An Bove April 23rd 2018 Recp: Regulr Lnguges We cn convert between FA nd RE; Hence both FA nd RE ccept/generte regulr lnguges; More

More information

Automata and Languages

Automata and Languages Automt nd Lnguges Prof. Mohmed Hmd Softwre Engineering Lb. The University of Aizu Jpn Grmmr Regulr Grmmr Context-free Grmmr Context-sensitive Grmmr Regulr Lnguges Context Free Lnguges Context Sensitive

More information

CS415 Compilers. Lexical Analysis and. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS415 Compilers. Lexical Analysis and. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University CS415 Compilers Lexicl Anlysis nd These slides re sed on slides copyrighted y Keith Cooper, Ken Kennedy & Lind Torczon t Rice University First Progrmming Project Instruction Scheduling Project hs een posted

More information

CS5371 Theory of Computation. Lecture 20: Complexity V (Polynomial-Time Reducibility)

CS5371 Theory of Computation. Lecture 20: Complexity V (Polynomial-Time Reducibility) CS5371 Theory of Computtion Lecture 20: Complexity V (Polynomil-Time Reducibility) Objectives Polynomil Time Reducibility Prove Cook-Levin Theorem Polynomil Time Reducibility Previously, we lernt tht if

More information

CSCI 340: Computational Models. Kleene s Theorem. Department of Computer Science

CSCI 340: Computational Models. Kleene s Theorem. Department of Computer Science CSCI 340: Computtionl Models Kleene s Theorem Chpter 7 Deprtment of Computer Science Unifiction In 1954, Kleene presented (nd proved) theorem which (in our version) sttes tht if lnguge cn e defined y ny

More information

Algorithms in Computational. Biology. More on BWT

Algorithms in Computational. Biology. More on BWT Algorithms in Computtionl Biology More on BWT tody Plese Lst clss! don't forget to submit And by next (vi emil, repo ) implementtion week or shre prgectfltw get Not I would like reding overview! Discuss

More information

Coalgebra, Lecture 15: Equations for Deterministic Automata

Coalgebra, Lecture 15: Equations for Deterministic Automata Colger, Lecture 15: Equtions for Deterministic Automt Julin Slmnc (nd Jurrin Rot) Decemer 19, 2016 In this lecture, we will study the concept of equtions for deterministic utomt. The notes re self contined

More information

CS375: Logic and Theory of Computing

CS375: Logic and Theory of Computing CS375: Logic nd Theory of Computing Fuhu (Frnk) Cheng Deprtment of Computer Science University of Kentucky 1 Tble of Contents: Week 1: Preliminries (set lgebr, reltions, functions) (red Chpters 1-4) Weeks

More information

HW3, Math 307. CSUF. Spring 2007.

HW3, Math 307. CSUF. Spring 2007. HW, Mth 7. CSUF. Spring 7. Nsser M. Abbsi Spring 7 Compiled on November 5, 8 t 8:8m public Contents Section.6, problem Section.6, problem Section.6, problem 5 Section.6, problem 7 6 5 Section.6, problem

More information

Lecture Note 9: Orthogonal Reduction

Lecture Note 9: Orthogonal Reduction MATH : Computtionl Methods of Liner Algebr 1 The Row Echelon Form Lecture Note 9: Orthogonl Reduction Our trget is to solve the norml eution: Xinyi Zeng Deprtment of Mthemticl Sciences, UTEP A t Ax = A

More information

3 Regular expressions

3 Regular expressions 3 Regulr expressions Given n lphet Σ lnguge is set of words L Σ. So fr we were le to descrie lnguges either y using set theory (i.e. enumertion or comprehension) or y n utomton. In this section we shll

More information

Properties of Integrals, Indefinite Integrals. Goals: Definition of the Definite Integral Integral Calculations using Antiderivatives

Properties of Integrals, Indefinite Integrals. Goals: Definition of the Definite Integral Integral Calculations using Antiderivatives Block #6: Properties of Integrls, Indefinite Integrls Gols: Definition of the Definite Integrl Integrl Clcultions using Antiderivtives Properties of Integrls The Indefinite Integrl 1 Riemnn Sums - 1 Riemnn

More information

Pattern Matching. a b a c a a b. a b a c a b. a b a c a b. Pattern Matching Goodrich, Tamassia

Pattern Matching. a b a c a a b. a b a c a b. a b a c a b. Pattern Matching Goodrich, Tamassia Pattern Matching a b a c a a b 1 4 3 2 Pattern Matching 1 Brute-Force Pattern Matching ( 11.2.1) The brute-force pattern matching algorithm compares the pattern P with the text T for each possible shift

More information

Learning Moore Machines from Input-Output Traces

Learning Moore Machines from Input-Output Traces Lerning Moore Mchines from Input-Output Trces Georgios Gintmidis 1 nd Stvros Tripkis 1,2 1 Alto University, Finlnd 2 UC Berkeley, USA Motivtion: lerning models from blck boxes Inputs? Lerner Forml Model

More information

CS 373, Spring Solutions to Mock midterm 1 (Based on first midterm in CS 273, Fall 2008.)

CS 373, Spring Solutions to Mock midterm 1 (Based on first midterm in CS 273, Fall 2008.) CS 373, Spring 29. Solutions to Mock midterm (sed on first midterm in CS 273, Fll 28.) Prolem : Short nswer (8 points) The nswers to these prolems should e short nd not complicted. () If n NF M ccepts

More information

Multi-column Substring Matching. Schema Translation (And other wild thoughts while shaving)

Multi-column Substring Matching. Schema Translation (And other wild thoughts while shaving) For Dtbse Schem Trnsltion (And other wild thoughts while shving) Robert H. Wrren 1 Dr. Frnk Wm Tomp 1 1 rhwrren,fwtomp@uwterloo.c Dvid R. Cheriton School of Computer Science University of Wterloo Wterloo,

More information

Decision Networks. CS 188: Artificial Intelligence Fall Example: Decision Networks. Decision Networks. Decisions as Outcome Trees

Decision Networks. CS 188: Artificial Intelligence Fall Example: Decision Networks. Decision Networks. Decisions as Outcome Trees CS 188: Artificil Intelligence Fll 2011 Decision Networks ME: choose the ction which mximizes the expected utility given the evidence mbrell Lecture 17: Decision Digrms 10/27/2011 Cn directly opertionlize

More information

Worked out examples Finite Automata

Worked out examples Finite Automata Worked out exmples Finite Automt Exmple Design Finite Stte Automton which reds inry string nd ccepts only those tht end with. Since we re in the topic of Non Deterministic Finite Automt (NFA), we will

More information

Deterministic Finite Automata

Deterministic Finite Automata Finite Automt Deterministic Finite Automt H. Geuvers nd J. Rot Institute for Computing nd Informtion Sciences Version: fll 2016 J. Rot Version: fll 2016 Tlen en Automten 1 / 21 Outline Finite Automt Finite

More information

Turing Machines Part One

Turing Machines Part One Turing Mchines Prt One Wht problems cn we solve with computer? Regulr Lnguges CFLs Lnguges recognizble by ny fesible computing mchine All Lnguges Tht sme drwing, to scle. All Lnguges The Problem Finite

More information

Tries and suffixes trees

Tries and suffixes trees Trie: A dt-structure for set of words Tries nd suffixes trees Alon Efrt Comuter Science Dertment University of Arizon All words over the lhet Σ={,,..z}. In the slides, let sy tht the lhet is only {,,c,d}

More information

1 Online Learning and Regret Minimization

1 Online Learning and Regret Minimization 2.997 Decision-Mking in Lrge-Scle Systems My 10 MIT, Spring 2004 Hndout #29 Lecture Note 24 1 Online Lerning nd Regret Minimiztion In this lecture, we consider the problem of sequentil decision mking in

More information

SOLUTIONS FOR ADMISSIONS TEST IN MATHEMATICS, COMPUTER SCIENCE AND JOINT SCHOOLS WEDNESDAY 5 NOVEMBER 2014

SOLUTIONS FOR ADMISSIONS TEST IN MATHEMATICS, COMPUTER SCIENCE AND JOINT SCHOOLS WEDNESDAY 5 NOVEMBER 2014 SOLUTIONS FOR ADMISSIONS TEST IN MATHEMATICS, COMPUTER SCIENCE AND JOINT SCHOOLS WEDNESDAY 5 NOVEMBER 014 Mrk Scheme: Ech prt of Question 1 is worth four mrks which re wrded solely for the correct nswer.

More information

5.1 Definitions and Examples 5.2 Deterministic Pushdown Automata

5.1 Definitions and Examples 5.2 Deterministic Pushdown Automata CSC4510 AUTOMATA 5.1 Definitions nd Exmples 5.2 Deterministic Pushdown Automt Definitions nd Exmples A lnguge cn be generted by CFG if nd only if it cn be ccepted by pushdown utomton. A pushdown utomton

More information

Lecture 09: Myhill-Nerode Theorem

Lecture 09: Myhill-Nerode Theorem CS 373: Theory of Computtion Mdhusudn Prthsrthy Lecture 09: Myhill-Nerode Theorem 16 Ferury 2010 In this lecture, we will see tht every lnguge hs unique miniml DFA We will see this fct from two perspectives

More information

Lexical Analysis Finite Automate

Lexical Analysis Finite Automate Lexicl Anlysis Finite Automte CMPSC 470 Lecture 04 Topics: Deterministic Finite Automt (DFA) Nondeterministic Finite Automt (NFA) Regulr Expression NFA DFA A. Finite Automt (FA) FA re grph, like trnsition

More information

Gold s algorithm. Acknowledgements. Why would this be true? Gold's Algorithm. 1 Key ideas. Strings as states

Gold s algorithm. Acknowledgements. Why would this be true? Gold's Algorithm. 1 Key ideas. Strings as states Acknowledgements Gold s lgorithm Lurent Miclet, Jose Oncin nd Tim Otes for previous versions of these slides. Rfel Crrsco, Pco Cscuert, Rémi Eyrud, Philippe Ezequel, Henning Fernu, Thierry Murgue, Frnck

More information

Automata Theory 101. Introduction. Outline. Introduction Finite Automata Regular Expressions ω-automata. Ralf Huuck.

Automata Theory 101. Introduction. Outline. Introduction Finite Automata Regular Expressions ω-automata. Ralf Huuck. Outline Automt Theory 101 Rlf Huuck Introduction Finite Automt Regulr Expressions ω-automt Session 1 2006 Rlf Huuck 1 Session 1 2006 Rlf Huuck 2 Acknowledgement Some slides re sed on Wolfgng Thoms excellent

More information

Goals: Determine how to calculate the area described by a function. Define the definite integral. Explore the relationship between the definite

Goals: Determine how to calculate the area described by a function. Define the definite integral. Explore the relationship between the definite Unit #8 : The Integrl Gols: Determine how to clculte the re described by function. Define the definite integrl. Eplore the reltionship between the definite integrl nd re. Eplore wys to estimte the definite

More information

set is not closed under matrix [ multiplication, ] and does not form a group.

set is not closed under matrix [ multiplication, ] and does not form a group. Prolem 2.3: Which of the following collections of 2 2 mtrices with rel entries form groups under [ mtrix ] multipliction? i) Those of the form for which c d 2 Answer: The set of such mtrices is not closed

More information

Deterministic Finite-State Automata

Deterministic Finite-State Automata Deterministic Finite-Stte Automt Deepk D Souz Deprtment of Computer Science nd Automtion Indin Institute of Science, Bnglore. 12 August 2013 Outline 1 Introduction 2 Exmple DFA 1 DFA for Odd number of

More information

Module 6: LINEAR TRANSFORMATIONS

Module 6: LINEAR TRANSFORMATIONS Module 6: LINEAR TRANSFORMATIONS. Trnsformtions nd mtrices Trnsformtions re generliztions of functions. A vector x in some set S n is mpped into m nother vector y T( x). A trnsformtion is liner if, for

More information

FABER Formal Languages, Automata and Models of Computation

FABER Formal Languages, Automata and Models of Computation DVA337 FABER Forml Lnguges, Automt nd Models of Computtion Lecture 5 chool of Innovtion, Design nd Engineering Mälrdlen University 2015 1 Recp of lecture 4 y definition suset construction DFA NFA stte

More information

Formal Methods in Software Engineering

Formal Methods in Software Engineering Forml Methods in Softwre Engineering Lecture 09 orgniztionl issues Prof. Dr. Joel Greenyer Decemer 9, 2014 Written Exm The written exm will tke plce on Mrch 4 th, 2015 The exm will tke 60 minutes nd strt

More information

Regular Languages and Applications

Regular Languages and Applications Regulr Lnguges nd Applictions Yo-Su Hn Deprtment of Computer Science Yonsei University 1-1 SNU 4/14 Regulr Lnguges An old nd well-known topic in CS Kleene Theorem in 1959 FA (finite-stte utomton) constructions:

More information