Formal Languages, Automata and Compilers
|
|
- Cornelius Montgomery
- 5 years ago
- Views:
Transcription
1 Formal Languages, Automata and Compilers Lecure LFAC ( ) Lecture 4 1 / 31
2 Curs 4 1 Grammars of type 3 and finite automata 2 Closure properties for type 3 languages 3 Regular Expressions 4 The automaton equivalent to a regular expression LFAC ( ) Lecture 4 2 / 31
3 Grammars of type 3 and finite automata Lecture 4 1 Grammars of type 3 and finite automata 2 Closure properties for type 3 languages 3 Regular Expressions 4 The automaton equivalent to a regular expression LFAC ( ) Lecture 4 3 / 31
4 Grammars of type 3 and finite automata From regular grammars to finite automata For any regular grammar G (in normal form) there exists a nondeterministic finite automaton A such that L(A) = L(G): In grammar G In automaton A T Σ = T N Q = N {f}, F = {f} S q 0 = S q ap p δ(q, a) q a f δ(q, a) if S ǫ add S to F LFAC ( ) Lecture 4 4 / 31
5 Grammars of type 3 and finite automata From finite automata to regular grammars For any deterministic finite automaton there exists a regular grammar G such that L(A) = L(G): In automaton A Σ Q In grammar G T = Σ N = Q q 0 S = q 0 δ(q, a) = p δ(q, a) F if q 0 F q ap q a add rule q 0 ǫ LFAC ( ) Lecture 4 5 / 31
6 Closure properties for type 3 languages Lecture 4 1 Grammars of type 3 and finite automata 2 Closure properties for type 3 languages 3 Regular Expressions 4 The automaton equivalent to a regular expression LFAC ( ) Lecture 4 6 / 31
7 Closure properties for type 3 languages Closure under complement and set difference operations If L L 3 then L = (Σ \ L) L 3 Let A = (Q,Σ,δ, q 0, F) be a finite automaton with L(A) = L. The automaton A which accepts L = L(A): A = (Q,Σ,δ, q 0, Q \ F) LFAC ( ) Lecture 4 7 / 31
8 Closure properties for type 3 languages Closure under complement and set difference operations If L L 3 then L = (Σ \ L) L 3 Let A = (Q,Σ,δ, q 0, F) be a finite automaton with L(A) = L. The automaton A which accepts L = L(A): A = (Q,Σ,δ, q 0, Q \ F) If L 1, L 2 L 3 then L 1 \ L 2 L 3 : L 1 \ L 2 = L 1 L 2 LFAC ( ) Lecture 4 7 / 31
9 Closure properties for type 3 languages Closure under product Let A 1 = (Q 1,Σ,δ 1, q 01,{f 1 }) and A 2 = (Q 2,Σ,δ 2, q 02,{f 2 }) automata with a single final state such that L 1 = L(A 1 ) and L 2 = L(A 2 ). Automaton A (with ǫ-transitions) which accepts L 1 L 2 : A = (Q 1 Q 2,Σ,δ, q 01,{f 2 }) LFAC ( ) Lecture 4 8 / 31
10 Closure properties for type 3 languages Closure under union Let A 1 = (Q 1,Σ 1,δ 1, q 01,{f 1 }) and A 2 = (Q 2,Σ 2,δ 2, q 02,{f 2 }) automata with a single final state such that L 1 = L(A 1 ) and L 2 = L(A 2 ). Automaton A (with ǫ-transitions) which accepts L 1 L 2 : A = (Q 1 Q 2 {q 0, f},σ 1 Σ 2,δ, q 0,{f}) LFAC ( ) Lecture 4 9 / 31
11 Closure properties for type 3 languages Closure under iteration Let A = (Q,Σ,δ, q 01,{q f }) automaton with a single final state such that L(A) = L. Automaton A (with ǫ-transitions) which accepts L (= L(A) ): A = (Q {q 0, f},σ,δ, q 0,{f}) LFAC ( ) Lecture 4 10 / 31
12 Regular Expressions Lecture 4 1 Grammars of type 3 and finite automata 2 Closure properties for type 3 languages 3 Regular Expressions 4 The automaton equivalent to a regular expression LFAC ( ) Lecture 4 11 / 31
13 Regular Expressions Regular expressions - definition Definition 1 If Σ is an alphabet, then a regular expression over Σ can be defined by induction:, ǫ, a (a Σ) are regular expressions which describe the languages:, {ǫ}, {a}. If E, E 1, E 2 are regular expressions, then: (E 1 E 2 ) is a regular expression which describes the language L(E 1 ) L(E2) (E 1 E 2 ) is a regular expression which describes the language L(E 1 )L(E 2 ) (E ) is a regular expression which describes the language L(E) The priority order for the operators is:,, LFAC ( ) Lecture 4 12 / 31
14 Regular Expressions Examples (a b) (c d) {a, b, c, d} (0 1) (0 1) {00, 01, 10, 11} a b {a n b k n, k 0} (a b) {a, b} ( )( ) describes the set of positive integers (a b c... z)(a b c... z ) describes the set of identifiers Two regular expressions E 1, E 2 are equivalent, written E 1 = E 2, if L(E 1 ) = L(E 2 ) LFAC ( ) Lecture 4 13 / 31
15 Regular Expressions Properties (p q) r = p (q r) (pq)r = p(qr) p q = q p p ǫ = ǫ p = p p = p p = p p = p = p(q r) = pq pr (p q)r = pr qr ǫ pp = p ǫ p p = p LFAC ( ) Lecture 4 14 / 31
16 Regular Expressions From a regular expression to a finite automaton Theorem 1 For any regular expression E over the alphabet Σ, there existis a finite automaton (with ǫ - transitions) A, such that L(A) = L(E). Proof : structural induction if E {,ǫ, a} (a Σ) then the corresponding automata: LFAC ( ) Lecture 4 15 / 31
17 Regular Expressions Proof E = E 1 E 2 E = E 1 E 2 E = E 1 LFAC ( ) Lecture 4 16 / 31
18 Regular Expressions Representing regular expressions as trees Input: the regular expression E = e 0 e 1...e n 1 Precedence of operators: prec( ) = 1, prec( ) = 2, prec( ) = 3 (prec(()= 0). Output: The corresponding tree: t. Method: Two stacks: STACK1 operators stack STACK2 trees stack (contains trees for sub-expressions of the initial regular expression) Method tree(r, tl, tr), whre r is the root node, tl the left sub-tree tr the right sub-tree LFAC ( ) Lecture 4 17 / 31
19 Regular Expressions i = 0; while(i < n) { c = e i ; switch(c) { case ( : { STACK1.push(c); break; } case symbol (from alphabet): { STACK2.push(tree(c,NULL,NULL)); break; } case operator: { while (prec(stack1.top())>=prec(c)) build tree(); STACK1.push(c); break; } case ) : { do { build tree();} while(stack1.top()!= ( ); STACK1.pop(); break; } } i++; } while(stack1.not empty()) build tree(); t = STACK2.pop(); LFAC ( ) Lecture 4 18 / 31
20 Regular Expressions build tree() op = STACK1.pop(); t1 = STACK2.pop(); switch (op) { case : { new tree = tree(op, t1, NULL); STACK2.push(new tree); break; } case, : { t2 = STACK2.pop(); new tree = tree(op, t2, t1); STACK2.push(new tree); break; } } LFAC ( ) Lecture 4 19 / 31
21 Regular Expressions Example a b a (b c) LFAC ( ) Lecture 4 20 / 31
22 The automaton equivalent to a regular expression Lecture 4 1 Grammars of type 3 and finite automata 2 Closure properties for type 3 languages 3 Regular Expressions 4 The automaton equivalent to a regular expression LFAC ( ) Lecture 4 21 / 31
23 The automaton equivalent to a regular expression The automaton equivalent to a regular expression E = E 1 E 2 E = E 1 E 2 E = E 1 LFAC ( ) Lecture 4 22 / 31
24 The automaton equivalent to a regular expression Remarks for any occurrence of a symbol from Σ or ǫ in E, 2 states must be added in the equivalent automaton. for every occurrence of and in a regular expression E, two more states must be added for operator no additional states must be added if n is the number of symbols from E and m is the number of brackets and operators, then the number of states of the automaton equivalent to E is p = 2(n m). LFAC ( ) Lecture 4 23 / 31
25 The automaton equivalent to a regular expression Input: The regular expression E with n symbols, from which m are brackets and product operators; Output: The automaton with ǫ - transitions equivalent to E; Method: 1. Build the tree corresponding to expression E; 2. Traverse the tree in pre-order and attach to visited nodes (except those labeled with the product operator) the numbers 1, 2,...,n m; LFAC ( ) Lecture 4 24 / 31
26 The automaton equivalent to a regular expression Example E = a b c LFAC ( ) Lecture 4 25 / 31
27 The automaton equivalent to a regular expression 3. Traverse the tree in post-order and attach to each node N a pair of numbers (N.i, N.f) which represent the initial and the final state of the automaton equivalent to the expression corresponding to the sub-tree with root N, as follows: If the node has the number k (from step 2) then: N.i = 2k 1, N.f = 2k; If the node is labeled with the product operator, and L is the left child of N, R the right child, then: N.i = L.i and N.f = R.f LFAC ( ) Lecture 4 26 / 31
28 The automaton equivalent to a regular expression Example E = a b c LFAC ( ) Lecture 4 27 / 31
29 The automaton equivalent to a regular expression 4. Traverse again the tree in post-order. If N is the current node and L and R its children, then: LFAC ( ) Lecture 4 28 / 31
30 The automaton equivalent to a regular expression 4. Traverse again the tree in post-order. If N is the current node and L and R its children, then: If N is labelled with a (is a leaf): δ(n.i, a) = N.f LFAC ( ) Lecture 4 28 / 31
31 The automaton equivalent to a regular expression 4. Traverse again the tree in post-order. If N is the current node and L and R its children, then: If N is labelled with a (is a leaf): δ(n.i, a) = N.f If N is labelled with : δ(n.i,ǫ) = {L.i, R.i}, δ(l.f,ǫ) = N.f, δ(r.f,ǫ) = N.f LFAC ( ) Lecture 4 28 / 31
32 The automaton equivalent to a regular expression 4. Traverse again the tree in post-order. If N is the current node and L and R its children, then: If N is labelled with a (is a leaf): δ(n.i, a) = N.f If N is labelled with : If N is labelled with : δ(n.i,ǫ) = {L.i, R.i}, δ(l.f,ǫ) = N.f, δ(r.f,ǫ) = N.f δ(l.f,ǫ) = R.i LFAC ( ) Lecture 4 28 / 31
33 The automaton equivalent to a regular expression 4. Traverse again the tree in post-order. If N is the current node and L and R its children, then: If N is labelled with a (is a leaf): δ(n.i, a) = N.f If N is labelled with : If N is labelled with : δ(n.i,ǫ) = {L.i, R.i}, δ(l.f,ǫ) = N.f, δ(r.f,ǫ) = N.f δ(l.f,ǫ) = R.i If N is labelled with (R does not exist in this case): δ(n.i,ǫ) = {L.i, N.f}, δ(l.f,ǫ) = {L.i, N.f} LFAC ( ) Lecture 4 28 / 31
34 The automaton equivalent to a regular expression 4. Traverse again the tree in post-order. If N is the current node and L and R its children, then: If N is labelled with a (is a leaf): δ(n.i, a) = N.f If N is labelled with : If N is labelled with : δ(n.i,ǫ) = {L.i, R.i}, δ(l.f,ǫ) = N.f, δ(r.f,ǫ) = N.f δ(l.f,ǫ) = R.i If N is labelled with (R does not exist in this case): δ(n.i,ǫ) = {L.i, N.f}, δ(l.f,ǫ) = {L.i, N.f} 5. The initial state of the automaton is N.i, the final state is N.f, where N is the root node of the tree LFAC ( ) Lecture 4 28 / 31
35 The automaton equivalent to a regular expression Example E = a b c LFAC ( ) Lecture 4 29 / 31
36 The automaton equivalent to a regular expression Example δ a b c ǫ 1 {3, 5} {2} 5 {6, 7} 6 {9} {6, 7} {2} LFAC ( ) Lecture 4 30 / 31
37 The automaton equivalent to a regular expression The correctness of the algorithm Theorem 2 The automaton with ǫ - transitions built by the algorithm is equivalent to the expression E. Proof: The pairs of states (i, f ) for each node of the tree correspond to the constructions in Theorem 1. The transitions defined in the step 5 of the algorithm correspond to the constructions in Theorem 1. LFAC ( ) Lecture 4 31 / 31
Pushdown Automata. We have seen examples of context-free languages that are not regular, and hence can not be recognized by finite automata.
Pushdown Automata We have seen examples of context-free languages that are not regular, and hence can not be recognized by finite automata. Next we consider a more powerful computation model, called a
More informationFormal Languages and Automata
Formal Languages and Automata Lecture 6 2017-18 LFAC (2017-18) Lecture 6 1 / 31 Lecture 6 1 The recognition problem: the Cocke Younger Kasami algorithm 2 Pushdown Automata 3 Pushdown Automata and Context-free
More informationFoundations of Informatics: a Bridging Course
Foundations of Informatics: a Bridging Course Week 3: Formal Languages and Semantics Thomas Noll Lehrstuhl für Informatik 2 RWTH Aachen University noll@cs.rwth-aachen.de http://www.b-it-center.de/wob/en/view/class211_id948.html
More informationIntroduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.
Introduction to the Theory of Computation Automata 1VO + 1PS Lecturer: Dr. Ana Sokolova http://cs.uni-salzburg.at/~anas/ Setup and Dates Lectures and Instructions 23.10. 3.11. 17.11. 24.11. 1.12. 11.12.
More informationProperties of Context-Free Languages
Properties of Context-Free Languages Seungjin Choi Department of Computer Science and Engineering Pohang University of Science and Technology 77 Cheongam-ro, Nam-gu, Pohang 37673, Korea seungjin@postech.ac.kr
More informationIntroduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.
Introduction to the Theory of Computation Automata 1VO + 1PS Lecturer: Dr. Ana Sokolova http://cs.uni-salzburg.at/~anas/ Setup and Dates Lectures Tuesday 10:45 pm - 12:15 pm Instructions Tuesday 12:30
More informationChapter 3. Regular grammars
Chapter 3 Regular grammars 59 3.1 Introduction Other view of the concept of language: not the formalization of the notion of effective procedure, but set of words satisfying a given set of rules Origin
More informationModels of Computation. by Costas Busch, LSU
Models of Computation by Costas Busch, LSU 1 Computation CPU memory 2 temporary memory input memory CPU output memory Program memory 3 Example: f ( x) x 3 temporary memory input memory Program memory compute
More informationAutomata Theory for Presburger Arithmetic Logic
Automata Theory for Presburger Arithmetic Logic References from Introduction to Automata Theory, Languages & Computation and Constraints in Computational Logic Theory & Application Presented by Masood
More informationAutomata and Languages
Automata and Languages Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan Nondeterministic Finite Automata with empty moves (-NFA) Definition A nondeterministic finite automaton
More informationJava II Finite Automata I
Java II Finite Automata I Bernd Kiefer Bernd.Kiefer@dfki.de Deutsches Forschungszentrum für künstliche Intelligenz November, 23 Processing Regular Expressions We already learned about Java s regular expression
More informationComputational Models - Lecture 5 1
Computational Models - Lecture 5 1 Handout Mode Iftach Haitner and Yishay Mansour. Tel Aviv University. April 10/22, 2013 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationTheory of Computation (I) Yijia Chen Fudan University
Theory of Computation (I) Yijia Chen Fudan University Instructor Yijia Chen Homepage: http://basics.sjtu.edu.cn/~chen Email: yijiachen@fudan.edu.cn Textbook Introduction to the Theory of Computation Michael
More informationCOM364 Automata Theory Lecture Note 2 - Nondeterminism
COM364 Automata Theory Lecture Note 2 - Nondeterminism Kurtuluş Küllü March 2018 The FA we saw until now were deterministic FA (DFA) in the sense that for each state and input symbol there was exactly
More informationIntroduction to Formal Languages, Automata and Computability p.1/42
Introduction to Formal Languages, Automata and Computability Pushdown Automata K. Krithivasan and R. Rama Introduction to Formal Languages, Automata and Computability p.1/42 Introduction We have considered
More informationComputational Models - Lecture 4
Computational Models - Lecture 4 Regular languages: The Myhill-Nerode Theorem Context-free Grammars Chomsky Normal Form Pumping Lemma for context free languages Non context-free languages: Examples Push
More information1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u,
1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u, v, x, y, z as per the pumping theorem. 3. Prove that
More informationTheory of Computation
Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 3: Finite State Automata Motivation In the previous lecture we learned how to formalize
More informationSri vidya college of engineering and technology
Unit I FINITE AUTOMATA 1. Define hypothesis. The formal proof can be using deductive proof and inductive proof. The deductive proof consists of sequence of statements given with logical reasoning in order
More informationCS 455/555: Finite automata
CS 455/555: Finite automata Stefan D. Bruda Winter 2019 AUTOMATA (FINITE OR NOT) Generally any automaton Has a finite-state control Scans the input one symbol at a time Takes an action based on the currently
More informationAutomata Theory. CS F-10 Non-Context-Free Langauges Closure Properties of Context-Free Languages. David Galles
Automata Theory CS411-2015F-10 Non-Context-Free Langauges Closure Properties of Context-Free Languages David Galles Department of Computer Science University of San Francisco 10-0: Fun with CFGs Create
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY REVIEW for MIDTERM 1 THURSDAY Feb 6 Midterm 1 will cover everything we have seen so far The PROBLEMS will be from Sipser, Chapters 1, 2, 3 It will be
More informationLecture 3: Nondeterministic Finite Automata
Lecture 3: Nondeterministic Finite Automata September 5, 206 CS 00 Theory of Computation As a recap of last lecture, recall that a deterministic finite automaton (DFA) consists of (Q, Σ, δ, q 0, F ) where
More informationEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Context-Free Grammars (CFG) Laura Kallmeyer Heinrich-Heine-Universität Düsseldorf Summer 2016 1 / 22 CFG (1) Example: Grammar G telescope : Productions: S NP VP NP
More informationEquivalence of DFAs and NFAs
CS 172: Computability and Complexity Equivalence of DFAs and NFAs It s a tie! DFA NFA Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: L.von Ahn, L. Blum, M. Blum What we ll do today Prove that DFAs
More informationNondeterministic Finite Automata
Nondeterministic Finite Automata Not A DFA Does not have exactly one transition from every state on every symbol: Two transitions from q 0 on a No transition from q 1 (on either a or b) Though not a DFA,
More informationFooling Sets and. Lecture 5
Fooling Sets and Introduction to Nondeterministic Finite Automata Lecture 5 Proving that a language is not regular Given a language, we saw how to prove it is regular (union, intersection, concatenation,
More informationPushdown Automata: Introduction (2)
Pushdown Automata: Introduction Pushdown automaton (PDA) M = (K, Σ, Γ,, s, A) where K is a set of states Σ is an input alphabet Γ is a set of stack symbols s K is the start state A K is a set of accepting
More informationSYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES
Contents i SYLLABUS UNIT - I CHAPTER - 1 : AUT UTOMA OMATA Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 2 : FINITE AUT UTOMA OMATA An Informal Picture of Finite Automata,
More informationAC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013
Q.2 a. Prove by mathematical induction n 4 4n 2 is divisible by 3 for n 0. Basic step: For n = 0, n 3 n = 0 which is divisible by 3. Induction hypothesis: Let p(n) = n 3 n is divisible by 3. Induction
More informationNondeterministic Finite Automata. Nondeterminism Subset Construction
Nondeterministic Finite Automata Nondeterminism Subset Construction 1 Nondeterminism A nondeterministic finite automaton has the ability to be in several states at once. Transitions from a state on an
More informationUNIT-III REGULAR LANGUAGES
Syllabus R9 Regulation REGULAR EXPRESSIONS UNIT-III REGULAR LANGUAGES Regular expressions are useful for representing certain sets of strings in an algebraic fashion. In arithmetic we can use the operations
More informationNon-context-Free Languages. CS215, Lecture 5 c
Non-context-Free Languages CS215, Lecture 5 c 2007 1 The Pumping Lemma Theorem. (Pumping Lemma) Let be context-free. There exists a positive integer divided into five pieces, Proof for for each, and..
More informationCS21 Decidability and Tractability
CS21 Decidability and Tractability Lecture 2 January 5, 2018 January 5, 2018 CS21 Lecture 2 1 Outline Finite Automata Nondeterministic Finite Automata Closure under regular operations NFA, FA equivalence
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTATION
FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described
More informationIntroduction to Theory of Computing
CSCI 2670, Fall 2012 Introduction to Theory of Computing Department of Computer Science University of Georgia Athens, GA 30602 Instructor: Liming Cai www.cs.uga.edu/ cai 0 Lecture Note 3 Context-Free Languages
More informationOctober 6, Equivalence of Pushdown Automata with Context-Free Gramm
Equivalence of Pushdown Automata with Context-Free Grammar October 6, 2013 Motivation Motivation CFG and PDA are equivalent in power: a CFG generates a context-free language and a PDA recognizes a context-free
More informationComputational Models Lecture 2 1
Computational Models Lecture 2 1 Handout Mode Iftach Haitner. Tel Aviv University. October 30, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice Herlihy, Brown University.
More informationNondeterministic Finite Automata
Nondeterministic Finite Automata Lecture 6 Section 2.2 Robb T. Koether Hampden-Sydney College Mon, Sep 5, 2016 Robb T. Koether (Hampden-Sydney College) Nondeterministic Finite Automata Mon, Sep 5, 2016
More informationComputational Models Lecture 2 1
Computational Models Lecture 2 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. March 16/18, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationSeptember 11, Second Part of Regular Expressions Equivalence with Finite Aut
Second Part of Regular Expressions Equivalence with Finite Automata September 11, 2013 Lemma 1.60 If a language is regular then it is specified by a regular expression Proof idea: For a given regular language
More informationCPS 220 Theory of Computation
CPS 22 Theory of Computation Review - Regular Languages RL - a simple class of languages that can be represented in two ways: 1 Machine description: Finite Automata are machines with a finite number of
More informationFurther discussion of Turing machines
Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will
More informationHarvard CS 121 and CSCI E-207 Lecture 10: CFLs: PDAs, Closure Properties, and Non-CFLs
Harvard CS 121 and CSCI E-207 Lecture 10: CFLs: PDAs, Closure Properties, and Non-CFLs Harry Lewis October 8, 2013 Reading: Sipser, pp. 119-128. Pushdown Automata (review) Pushdown Automata = Finite automaton
More informationFinite Automata and Regular Languages (part III)
Finite Automata and Regular Languages (part III) Prof. Dan A. Simovici UMB 1 / 1 Outline 2 / 1 Nondeterministic finite automata can be further generalized by allowing transitions between states without
More informationIntroduction to Automata
Introduction to Automata Seungjin Choi Department of Computer Science and Engineering Pohang University of Science and Technology 77 Cheongam-ro, Nam-gu, Pohang 37673, Korea seungjin@postech.ac.kr 1 /
More informationHarvard CS 121 and CSCI E-207 Lecture 10: Ambiguity, Pushdown Automata
Harvard CS 121 and CSCI E-207 Lecture 10: Ambiguity, Pushdown Automata Salil Vadhan October 4, 2012 Reading: Sipser, 2.2. Another example of a CFG (with proof) L = {x {a, b} : x has the same # of a s and
More informationTheory of Computation p.1/?? Theory of Computation p.2/?? Unknown: Implicitly a Boolean variable: true if a word is
Abstraction of Problems Data: abstracted as a word in a given alphabet. Σ: alphabet, a finite, non-empty set of symbols. Σ : all the words of finite length built up using Σ: Conditions: abstracted as a
More informationTHEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET
THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET Regular Languages and FA A language is a set of strings over a finite alphabet Σ. All languages are finite or countably infinite. The set of all languages
More informationCS21 Decidability and Tractability
CS21 Decidability and Tractability Lecture 3 January 9, 2017 January 9, 2017 CS21 Lecture 3 1 Outline NFA, FA equivalence Regular Expressions FA and Regular Expressions January 9, 2017 CS21 Lecture 3 2
More informationLecture 1: Finite State Automaton
Lecture 1: Finite State Automaton Instructor: Ketan Mulmuley Scriber: Yuan Li January 6, 2015 1 Deterministic Finite Automaton Informally, a deterministic finite automaton (DFA) has finite number of s-
More informationPushdown Automata (Pre Lecture)
Pushdown Automata (Pre Lecture) Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2017 Dantam (Mines CSCI-561) Pushdown Automata (Pre Lecture) Fall 2017 1 / 41 Outline Pushdown Automata Pushdown
More informationCS 154, Lecture 2: Finite Automata, Closure Properties Nondeterminism,
CS 54, Lecture 2: Finite Automata, Closure Properties Nondeterminism, Why so Many Models? Streaming Algorithms 0 42 Deterministic Finite Automata Anatomy of Deterministic Finite Automata transition: for
More informationThis lecture covers Chapter 5 of HMU: Context-free Grammars
This lecture covers Chapter 5 of HMU: Context-free rammars (Context-free) rammars (Leftmost and Rightmost) Derivations Parse Trees An quivalence between Derivations and Parse Trees Ambiguity in rammars
More informationGEETANJALI INSTITUTE OF TECHNICAL STUDIES, UDAIPUR I
GEETANJALI INSTITUTE OF TECHNICAL STUDIES, UDAIPUR I Internal Examination 2017-18 B.Tech III Year VI Semester Sub: Theory of Computation (6CS3A) Time: 1 Hour 30 min. Max Marks: 40 Note: Attempt all three
More informationcse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska
cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 11 CHAPTER 3 CONTEXT-FREE LANGUAGES 1. Context Free Grammars 2. Pushdown Automata 3. Pushdown automata and context -free
More informationFinite Automata and Regular languages
Finite Automata and Regular languages Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/
More informationUNIT-II. NONDETERMINISTIC FINITE AUTOMATA WITH ε TRANSITIONS: SIGNIFICANCE. Use of ε-transitions. s t a r t. ε r. e g u l a r
Syllabus R9 Regulation UNIT-II NONDETERMINISTIC FINITE AUTOMATA WITH ε TRANSITIONS: In the automata theory, a nondeterministic finite automaton (NFA) or nondeterministic finite state machine is a finite
More informationWhat we have done so far
What we have done so far DFAs and regular languages NFAs and their equivalence to DFAs Regular expressions. Regular expressions capture exactly regular languages: Construct a NFA from a regular expression.
More informationLecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata
CS/Math 24: Introduction to Discrete Mathematics 4/2/2 Lecture 23 : Nondeterministic Finite Automata Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we designed finite state automata
More informationAutomata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS
Automata Theory Lecture on Discussion Course of CS2 This Lecture is about Mathematical Models of Computation. Why Should I Care? - Ways of thinking. - Theory can drive practice. - Don t be an Instrumentalist.
More informationLecture 17: Language Recognition
Lecture 17: Language Recognition Finite State Automata Deterministic and Non-Deterministic Finite Automata Regular Expressions Push-Down Automata Turing Machines Modeling Computation When attempting to
More informationC2.1 Regular Grammars
Theory of Computer Science March 22, 27 C2. Regular Languages: Finite Automata Theory of Computer Science C2. Regular Languages: Finite Automata Malte Helmert University of Basel March 22, 27 C2. Regular
More informationCMPSCI 250: Introduction to Computation. Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013
CMPSCI 250: Introduction to Computation Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013 λ-nfa s to NFA s to DFA s Reviewing the Three Models and Kleene s Theorem The Subset
More informationTheory of Computation (II) Yijia Chen Fudan University
Theory of Computation (II) Yijia Chen Fudan University Review A language L is a subset of strings over an alphabet Σ. Our goal is to identify those languages that can be recognized by one of the simplest
More informationCS:4330 Theory of Computation Spring Regular Languages. Finite Automata and Regular Expressions. Haniel Barbosa
CS:4330 Theory of Computation Spring 2018 Regular Languages Finite Automata and Regular Expressions Haniel Barbosa Readings for this lecture Chapter 1 of [Sipser 1996], 3rd edition. Sections 1.1 and 1.3.
More informationC2.1 Regular Grammars
Theory of Computer Science March 6, 26 C2. Regular Languages: Finite Automata Theory of Computer Science C2. Regular Languages: Finite Automata Malte Helmert University of Basel March 6, 26 C2. Regular
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 2 Define push down automata Trace the computation of a push down automaton Design
More informationUNIT II REGULAR LANGUAGES
1 UNIT II REGULAR LANGUAGES Introduction: A regular expression is a way of describing a regular language. The various operations are closure, union and concatenation. We can also find the equivalent regular
More informationCOMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 10 : Context-Free Grammars
COMP-330 Theory of Computation Fall 2017 -- Prof. Claude Crépeau Lec. 10 : Context-Free Grammars COMP 330 Fall 2017: Lectures Schedule 1-2. Introduction 1.5. Some basic mathematics 2-3. Deterministic finite
More informationCS 530: Theory of Computation Based on Sipser (second edition): Notes on regular languages(version 1.1)
CS 530: Theory of Computation Based on Sipser (second edition): Notes on regular languages(version 1.1) Definition 1 (Alphabet) A alphabet is a finite set of objects called symbols. Definition 2 (String)
More informationNondeterminism and Epsilon Transitions
Nondeterminism and Epsilon Transitions Mridul Aanjaneya Stanford University June 28, 22 Mridul Aanjaneya Automata Theory / 3 Challenge Problem Question Prove that any square with side length a power of
More informationRecitation 2 - Non Deterministic Finite Automata (NFA) and Regular OctoberExpressions
Recitation 2 - Non Deterministic Finite Automata (NFA) and Regular Expressions Orit Moskovich Gal Rotem Tel Aviv University October 28, 2015 Recitation 2 - Non Deterministic Finite Automata (NFA) and Regular
More informationOutline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA.
Outline CS21 Decidability and Tractability Lecture 5 January 16, 219 and Languages equivalence of NPDAs and CFGs non context-free languages January 16, 219 CS21 Lecture 5 1 January 16, 219 CS21 Lecture
More informationCS481F01 Prelim 2 Solutions
CS481F01 Prelim 2 Solutions A. Demers 7 Nov 2001 1 (30 pts = 4 pts each part + 2 free points). For this question we use the following notation: x y means x is a prefix of y m k n means m n k For each of
More informationPushdown automata. Twan van Laarhoven. Institute for Computing and Information Sciences Intelligent Systems Radboud University Nijmegen
Pushdown automata Twan van Laarhoven Institute for Computing and Information Sciences Intelligent Systems Version: fall 2014 T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata
More informationPushdown Automata. Notes on Automata and Theory of Computation. Chia-Ping Chen
Pushdown Automata Notes on Automata and Theory of Computation Chia-Ping Chen Department of Computer Science and Engineering National Sun Yat-Sen University Kaohsiung, Taiwan ROC Pushdown Automata p. 1
More informationPush-down Automata = FA + Stack
Push-down Automata = FA + Stack PDA Definition A push-down automaton M is a tuple M = (Q,, Γ, δ, q0, F) where Q is a finite set of states is the input alphabet (of terminal symbols, terminals) Γ is the
More information(pp ) PDAs and CFGs (Sec. 2.2)
(pp. 117-124) PDAs and CFGs (Sec. 2.2) A language is context free iff all strings in L can be generated by some context free grammar Theorem 2.20: L is Context Free iff a PDA accepts it I.e. if L is context
More informationPushdown Automata. Chapter 12
Pushdown Automata Chapter 12 Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely what it needs is a stack, which gives it an unlimited
More informationMildly Context-Sensitive Grammar Formalisms: Embedded Push-Down Automata
Mildly Context-Sensitive Grammar Formalisms: Embedded Push-Down Automata Laura Kallmeyer Heinrich-Heine-Universität Düsseldorf Sommersemester 2011 Intuition (1) For a language L, there is a TAG G with
More information3515ICT: Theory of Computation. Regular languages
3515ICT: Theory of Computation Regular languages Notation and concepts concerning alphabets, strings and languages, and identification of languages with problems (H, 1.5). Regular expressions (H, 3.1,
More information60-354, Theory of Computation Fall Asish Mukhopadhyay School of Computer Science University of Windsor
60-354, Theory of Computation Fall 2013 Asish Mukhopadhyay School of Computer Science University of Windsor Pushdown Automata (PDA) PDA = ε-nfa + stack Acceptance ε-nfa enters a final state or Stack is
More informationChapter 5 The Witness Reduction Technique
Outline Chapter 5 The Technique Luke Dalessandro Rahul Krishna December 6, 2006 Outline Part I: Background Material Part II: Chapter 5 Outline of Part I 1 Notes On Our NP Computation Model NP Machines
More informationTheory of Languages and Automata
Theory of Languages and Automata Chapter 1- Regular Languages & Finite State Automaton Sharif University of Technology Finite State Automaton We begin with the simplest model of Computation, called finite
More informationRegular Expression Unit 1 chapter 3. Unit 1: Chapter 3
Unit 1: Chapter 3 (Regular Expression (RE) and Language) In previous lectures, we have described the languages in terms of machine like description-finite automata (DFA or NFA). Now we switch our attention
More informationDeterministic Finite Automaton (DFA)
1 Lecture Overview Deterministic Finite Automata (DFA) o accepting a string o defining a language Nondeterministic Finite Automata (NFA) o converting to DFA (subset construction) o constructed from a regular
More informationUses of finite automata
Chapter 2 :Finite Automata 2.1 Finite Automata Automata are computational devices to solve language recognition problems. Language recognition problem is to determine whether a word belongs to a language.
More informationComputability and Complexity
Computability and Complexity Sequences and Automata CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability
More informationCS243, Logic and Computation Nondeterministic finite automata
CS243, Prof. Alvarez NONDETERMINISTIC FINITE AUTOMATA (NFA) Prof. Sergio A. Alvarez http://www.cs.bc.edu/ alvarez/ Maloney Hall, room 569 alvarez@cs.bc.edu Computer Science Department voice: (67) 552-4333
More informationCSE443 Compilers. Dr. Carl Alphonce 343 Davis Hall
CSE443 Compilers Dr. Carl Alphonce alphonce@buffalo.edu 343 Davis Hall http://www.cse.buffalo.edu/faculty/alphonce/sp17/cse443/index.php https://piazza.com/class/iybn4ndqa1s3ei Syllabus Posted on website
More informationClosure under the Regular Operations
September 7, 2013 Application of NFA Now we use the NFA to show that collection of regular languages is closed under regular operations union, concatenation, and star Earlier we have shown this closure
More informationClasses and conversions
Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r
More information(pp ) PDAs and CFGs (Sec. 2.2)
(pp. 117-124) PDAs and CFGs (Sec. 2.2) A language is context free iff all strings in L can be generated by some context free grammar Theorem 2.20: L is Context Free iff a PDA accepts it I.e. if L is context
More informationEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Context-Free Grammars formal properties Laura Kallmeyer Heinrich-Heine-Universität Düsseldorf Summer 2018 1 / 20 Normal forms (1) Hopcroft and Ullman (1979) A normal
More informationClosure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism
Closure Properties of Regular Languages Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties Recall a closure property is a statement
More informationClarifications from last time. This Lecture. Last Lecture. CMSC 330: Organization of Programming Languages. Finite Automata.
CMSC 330: Organization of Programming Languages Last Lecture Languages Sets of strings Operations on languages Finite Automata Regular expressions Constants Operators Precedence CMSC 330 2 Clarifications
More informationCS 154, Lecture 3: DFA NFA, Regular Expressions
CS 154, Lecture 3: DFA NFA, Regular Expressions Homework 1 is coming out Deterministic Finite Automata Computation with finite memory Non-Deterministic Finite Automata Computation with finite memory and
More informationNon-deterministic Finite Automata (NFAs)
Algorithms & Models of Computation CS/ECE 374, Fall 27 Non-deterministic Finite Automata (NFAs) Part I NFA Introduction Lecture 4 Thursday, September 7, 27 Sariel Har-Peled (UIUC) CS374 Fall 27 / 39 Sariel
More informationBüchi Automata and Their Determinization
Büchi Automata and Their Determinization Edinburgh, October 215 Plan of the Day 1. Büchi automata and their determinization 2. Infinite games 3. Rabin s Tree Theorem 4. Decidability of monadic theories
More information