Homework. Context Free Languages. Announcements. Before We Start. Languages. Plan for today. Final Exam Dates have been announced.
|
|
- Elvin Lawrence
- 6 years ago
- Views:
Transcription
1 Homework Context Free Languages PDAs and CFLs Homework #3 returned Homework #4 due today Homework #5 Pg Exercise 4 Pg Exercise 4c,e,i (use JFLAP) Pg Exercise 10 Pg Exercise 12 Pg Exercise 17 (use mathematical formal definitions) Due 10 / 17 Announcements Final Exam Dates have been announced Friday, November 17 10:15am -- 12:15pm Room Before We Start Exam 1 will be returned in 2nd half Any questions? Conflicts? Let me know. Plan for today 1st half PDAs and CFLs 2nd half PDA homework session / Exam 1 Languages Recall. What is a language? What is a class of languages? 1
2 The Language Bubble Context Free Languages Regular Languages Finite Languages Context Free Languages Context Free Languages(CFL) is the next class of languages outside of Regular Languages: Language / grammar: Context Free Grammar Machine for accepting: Pushdown Automata Context Free Grammars Context Free Grammars Let s formalize this a bit: A context free grammar (CFG) is a 4-tuple: (V, T, S, P) where V is a set of variables T is a set of terminals V and Σ are disjoint (I.e. V Σ = ) S V, is your start symbol Let s formalize this a bit: Production rules Of the form A β where A V β (V ) * string with symbols from V and We say that γ can be derived from α in one step: A β is a rule α = α 1 A α 2 γ = α 1 β α 2 α γ Pushdown Automata Input tape State machine Stack Pushdown Automata Let s formalize this: A pushdown automata (PDA) is a 7-tuple: M = (Q, Σ, Γ, q 0, Z 0, A, δ) where Q = finite set of states Σ = tape alphabet Γ = stack alphabet (may have symbols in common w/ Σ) q 0 Q = start state Z 0 Γ = initial stack symbol A Q = set of accepting states δ = transition function 2
3 Pushdown Automata About this transition function δ: During a move of a PDA: At most one character is read from the input tape λ transitions are okay The topmost character is popped from the stack The machine will move to a new state based on: The character read from the tape The character popped off the stack The current state of the machine 0 or more symbols from the stack alphabet are pushed onto the stack. Plan for today Show that PDAs and CFGs are equivalent. Questions? Equivalence of CFG and PDA Given a CFG, G, construct a PDA M, such that L(M) = L(G) Given a PDA, M, define a CGF, G such that L(G) = L(M) Given: A context free grammar G Construct: A pushdown automata M Such that: Language generated by G is the same as Language accepted by M. Basic idea Use the stack of the PDA to simulate the derivation of a string in the grammar. Push S (start variable of G) on the stack From this point on, there are two moves the PDA can make: If a variable A is on the top of the stack, pop it and push the right-hand side of a production A β from G. If a terminal, a is on the top of the stack, pop it and match it with whatever symbol is being read from the tape. Observations: There can be many productions that have a given variable on the left hand side: S λ 0S1 1S0 In these cases, the PDA must choose which string to push onto the stack after pushing a variable. I.e. the PDA being constructed in nondeterministic. 3
4 More observations: A string will only be accepted if: After a string is completely read The stack is empty Let s formalize this: Let G = (V, T, S, P) be a context free grammar. We define a pushdown automata M = (Q, Σ, Γ,δ, q 0, z,f) Such that L(M) = L(G) Define M as follows: Q = { q 0, q 1, q 2 } q o will be the start state q 1 will be where all the work gets done q 2 will be the accepting state Γ = V { z } z (V ) A = { q 2 } Transition function δ is defined as follows: δ (q 0, λ, z ) = { (q 1, Sz) } To start things off, push S onto the stack and immediately go into state 1 δ (q 1, λ, A) = { (q 1, α ) A α is a production of G} for all variables A Pop and replace variable. Transition function δ is defined as follows: δ (q 1, a, a) = { (q 1, λ )} for all terminals a Pop and match terminal. δ (q 1, λ, z) = { (q 2, z) } After all reading is done, accept only if stack is empty. No other transitions exist for M Let s look at an example: Remember the CFG for odd length palindromes: S a b S a S a b S b Let s convert this to a PDA. 4
5 Example: M = (Q, Σ, Γ,δ, q 0, z,f) Q = { q 0, q 1, q 2 } Σ = { a, b } Γ = { a, b, S, z } F = { q 2 } λ, Z 0 / SZ 0 λ, Z 0 / Z 0 q 0 q 1 q 2 Lots of moves (see next slide) State Tape input Stack Move(s) q 1 λ S (q 1, a) (q 1, b) (q 1, asa) (q 1, bsb) q 1 a a (q 1, λ) q 1 b b (q 1, λ) Let s run M on abbba (q 0, abbba, Z) a(q 1, abbba, SZ) a(q 1, abbba, asaz) // push a(q 1, bbba, SaZ) // match a(q 1, bbba, bsbaz) // push a(q 1, bba, SbaZ) // match a(q 1, bba, bbaz) // push a(q 1, ba, baz) // match a(q 1, a, az) // match a(q 1, ε, Z) // match a(q 2, ε, Z ) // accept Questions? Given: A pushdown automata M Define: A context free grammar G Such that: Language accepted by M is the same as Language generated by G 5
6 Pushdown Automata Pushdown Automata Strings accepted by a PDA by Final State Start at (q 0, x, z) Strings accepted by a PDA by Empty Stack Start at (q 0, x, z) Start state q 0 X on the input tape Empty stack End with (q, λ, β) End in an accepting state (q F) All characters of x have been read Some string on the stack (doesn t matter what). Start state q 0 X on the input tape Empty stack End with (q, λ, λ) End in any state All characters of x have been read Stack is empty Final State vs. Empty Stack The two means by which a PDA can accept are equivalent wrt the class of languages accepted Given a PDA M such that L = L(M), there exists a PDA M such that L = N(M ) Given a PDA M such that L = N(M), there exists a PDA M such that L = L(M ) Given: A pushdown automata M that accepts by empty stack Define: A context free grammar G Such that: Language accepted by M is the same as Language generated by G Basic idea We define variables in G to be triplets: [p, A, q] will represent a variable, that can generate all strings x that: Upon reading x on the PDA tape will Take you from state p to state q in the PDA and Have a net result of popping A off the stack Note that it may take many moves to get there. Productions of G 1. For all states q in M, add the production S [q 0 zq] Following these productions will generate all strings that start at q o, and result in an empty stack. Final state is not important. In other words, all strings accepted by M. 6
7 a, A / B 1 B m q q 1 More Productions of G 2. For every q, q 1 Q, a Σ {λ} and A Γ If δ (q, a, A) contains (q 1, λ) then add [qaq 1 ] a Even More Productions of G 3. For every q, q 1 Q, a Σ {λ} and A Γ If δ (q, a, A) contains (q 1, B 1 B 2 B m ) then For every possible sequence of states q 2, q m+1 Add [qaq m+1 ] a[q 1 B 1 q 2 ] [q 2 B 2 q 3 ] [q m B m q m+1 ] Meaning you can get from q to q 1 while popping A from the stack by reading an a. Meaning: one way to pop A off the stack and to get from q to q m+1 is to read an a use some input to pop B 1 off the stack (bring you from q 1 to q 2 in the process), While in q 2, use some input to pop B 2 off the stack (bringing you to q 3 in the process) And so on One can show by induction (though we won t) that [qap] * x iff (q, x, A) a * (p, λ, λ) More specifically [q 0 zp] * x and since we added the productions S [q 0 zp] for all p, then x L(G) On the flip side S [q 0 zp] will always be the first production of any derivation of G (q 0, x, z) a * (p, λ, λ) So x is accepted by empty stack x L(M) Example L = { 0 i 1 j i j 1} 1, X / λ q q 0 1 0,Z / XZ 0,X / XX λ,x / λ 1,X / λ λ,z / λ Example M = (Q, Σ, Γ,δ, q 0, z,f) Q = { q 0, q 1 } Σ = { 0, 1 } Γ = { X, Z } z = Z F = Corresponding CFG Type 1 productions For all states q, S [q 0 zq] S [q 0 Zq 1 ] S [q 0 Zq 0 ] 7
8 Corresponding CFG Type 2 productions If δ (q, a, A) contains (q 1, λ) then add [qaq 1 ] a δ (q 0, 1, X) = (q 1, λ) [q 0 Xq 1 ] 1 δ (q 1, 1, X) = (q 1, λ) [q 1 Xq 1 ] 1 δ (q 1, ε, X) = (q 1, λ) [q 1 Xq 1 ] λ δ (q 1, ε, Z) = (q 1, λ) [q 1 Zq 1 ] λ Corresponding CFG Type 3 production If δ (q, a, A) contains (q 1, B 1 B 2 B m ) then [qaq m+1 ] a[q 1 B 1 q 2 ] [q 2 B 2 q 3 ] [q m B m q m+1 ] Transitions to consider: δ (q 0, 0, Z) = (q 0, XZ) δ (q 0, 0, X) = (q 0, XX) q b q 0 q 0 q 1 q 0 q 0 q 1 q 1 q 1 Corresponding CFG Type 3 productions q c δ (q 0, 0, X) = (q 0, XX) [q 0 X q c ] 0 [q 0 Xq b ][q b Xq c ] Corresponding CFG Type 3 productions δ (q 0, 0, X) = (q 0, XX) Add productions [q 0 Xq 0 ] 0[q 0 Xq 0 ][q 0 Xq 0 ] [q 0 Xq 0 ] 0[q 0 Xq 1 ][q 1 Xq 0 ] [q 0 Xq 1 ] 0[q 0 Xq 0 ][q 0 Xq 1 ] [q 0 Xq 1 ] 0[q 0 Xq 1 ][q 1 Xq 1 ] q b q 0 q 0 q 1 q 0 q 0 q 1 q 1 q 1 Corresponding CFG Type 3 productions q c δ (q 0, 0, Z) = (q 0, XZ) [q 0 Z q c ] 0 [q 0 Xq b ][q b Zq c ] Corresponding CFG Type 3 productions δ (q 0, 0, Z) = (q 0, XZ) Add productions [q 0 Zq 0 ] 0[q 0 Xq 0 ][q 0 Zq 0 ] [q 0 Zq 0 ] 0[q 0 Xq 1 ][q 1 Zq 0 ] [q 0 Zq 1 ] 0[q 0 Xq 0 ][q 0 Zq 1 ] [q 0 Zq 1 ] 0[q 0 Xq 1 ][q 1 Zq 1 ] 8
9 Complete grammar G = (V, Σ, S, P) V = { S, [q 0 Xq 0 ], [q 0 Zq 0 ], [q 0 Xq 1 ], [q 0 Zq 1 ], [q 1 Xq 0 ], [q 1 Zq 0 ], [q 1 Xq 1 ], [q 1 Zq 1 ], [q 1 Xq 1 ] } P = S [q 0 Zq 1 ] (1) [q 0 Xq 0 ] 0[q 0 Xq 0 ][q 0 Xq 0 ] (7) S [q 0 Zq 0 ] (2) [q 0 Xq 0 ] 0[q 0 Xq 1 ][q 1 Xq 0 ] (8) [q 0 Xq 1 ] 1 (3) [q 0 Xq 1 ] 0[q 0 Xq 0 ][q 0 Xq 1 ] (9) [q 1 Xq 1 ] 1 (4) [q 0 Xq 1 ] 0[q 0 Xq 1 ][q 1 Xq 1 ] (10) [q 1 Xq 1 ] λ (5) [q 0 Zq 0 ] 0[q 0 Xq 0 ][q 0 Zq 0 ] (11) [q 1 Zq 1 ] λ (6) [q 0 Zq 0 ] 0[q 0 Xq 1 ][q 1 Zq 0 ] (12) [q 0 Zq 1 ] 0[q 0 Xq 0 ][q 0 Zq 1 ] (13) [q 0 Zq 1 ] 0[q 0 Xq 1 ][q 1 Zq 1 ] (14) Summary Summary What have we learned? (We really don t need to see the CFG corresponding to a PDA, do we?) What we have really learned? Given a CFG, we can build a PDA that accepts the same language generated by the CFG Given a PDA, we can define a CFG that can generate the language accepted by the PDA. Looking for a machine to accept CGLs? The pushdown automata fits the bill! Break 9
Pushdown Automata. Pushdown Automata. Pushdown Automata. Pushdown Automata. Pushdown Automata. Pushdown Automata. The stack
A pushdown automata (PDA) is essentially: An NFA with a stack A move of a PDA will depend upon Current state of the machine Current symbol being read in Current symbol popped off the top of the stack With
More informationCISC4090: Theory of Computation
CISC4090: Theory of Computation Chapter 2 Context-Free Languages Courtesy of Prof. Arthur G. Werschulz Fordham University Department of Computer and Information Sciences Spring, 2014 Overview In Chapter
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 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 informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Review of CFG, CFL, ambiguity What is the language generated by the CFG below: G 1 = ({S,T 1,T 2 }, {0,1,2}, { S
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 informationFundamentele Informatica II
Fundamentele Informatica II Answer to selected exercises 5 John C Martin: Introduction to Languages and the Theory of Computation M.M. Bonsangue (and J. Kleijn) Fall 2011 5.1.a (q 0, ab, Z 0 ) (q 1, b,
More informationIntro to Theory of Computation
Intro to Theory of Computation LECTURE 7 Last time: Proving a language is not regular Pushdown automata (PDAs) Today: Context-free grammars (CFG) Equivalence of CFGs and PDAs Sofya Raskhodnikova 1/31/2016
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 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 informationMTH401A Theory of Computation. Lecture 17
MTH401A Theory of Computation Lecture 17 Chomsky Normal Form for CFG s Chomsky Normal Form for CFG s For every context free language, L, the language L {ε} has a grammar in which every production looks
More informationCS Pushdown Automata
Chap. 6 Pushdown Automata 6.1 Definition of Pushdown Automata Example 6.2 L ww R = {ww R w (0+1) * } Palindromes over {0, 1}. A cfg P 0 1 0P0 1P1. Consider a FA with a stack(= a Pushdown automaton; PDA).
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 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 informationHomework. Turing Machines. Announcements. Plan for today. Now our picture looks like. Languages
Homework s TM Variants and the Universal TM Homework #6 returned Homework #7 due today Homework #8 (the LAST homework!) Page 262 -- Exercise 10 (build with JFLAP) Page 270 -- Exercise 2 Page 282 -- Exercise
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 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 3.3, 4.1 State and use the Church-Turing thesis. Give examples of decidable problems.
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 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 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 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 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 informationCS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018
CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts
More informationDefinition: A grammar G = (V, T, P,S) is a context free grammar (cfg) if all productions in P have the form A x where
Recitation 11 Notes Context Free Grammars Definition: A grammar G = (V, T, P,S) is a context free grammar (cfg) if all productions in P have the form A x A V, and x (V T)*. Examples Problem 1. Given the
More informationThe Pumping Lemma. for all n 0, u 1 v n u 2 L (i.e. u 1 u 2 L, u 1 vu 2 L [but we knew that anyway], u 1 vvu 2 L, u 1 vvvu 2 L, etc.
The Pumping Lemma For every regular language L, there is a number l 1 satisfying the pumping lemma property: All w L with w l can be expressed as a concatenation of three strings, w = u 1 vu 2, where u
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 informationPart 4 out of 5 DFA NFA REX. Automata & languages. A primer on the Theory of Computation. Last week, we showed the equivalence of DFA, NFA and REX
Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu Part 4 out of 5 ETH Zürich (D-ITET) October, 12 2017 Last week, we showed the equivalence of DFA, NFA and REX
More informationCPS 220 Theory of Computation Pushdown Automata (PDA)
CPS 220 Theory of Computation Pushdown Automata (PDA) Nondeterministic Finite Automaton with some extra memory Memory is called the stack, accessed in a very restricted way: in a First-In First-Out fashion
More informationCS375: Logic and Theory of Computing
CS375: Logic and Theory of Computing Fuhua (Frank) Cheng Department of Computer Science University of Kentucky 1 Tale of Contents: Week 1: Preliminaries (set alger relations, functions) (read Chapters
More informationTheory of Computation
Fall 2002 (YEN) Theory of Computation Midterm Exam. Name:... I.D.#:... 1. (30 pts) True or false (mark O for true ; X for false ). (Score=Max{0, Right- 1 2 Wrong}.) (1) X... If L 1 is regular and L 2 L
More informationCFGs and PDAs are Equivalent. We provide algorithms to convert a CFG to a PDA and vice versa.
CFGs and PDAs are Equivalent We provide algorithms to convert a CFG to a PDA and vice versa. CFGs and PDAs are Equivalent We now prove that a language is generated by some CFG if and only if it is accepted
More informationUNIT-VI PUSHDOWN AUTOMATA
Syllabus R09 Regulation UNIT-VI PUSHDOWN AUTOMATA The context free languages have a type of automaton that defined them. This automaton, called a pushdown automaton, is an extension of the nondeterministic
More informationCS5371 Theory of Computation. Lecture 7: Automata Theory V (CFG, CFL, CNF)
CS5371 Theory of Computation Lecture 7: Automata Theory V (CFG, CFL, CNF) Announcement Homework 2 will be given soon (before Tue) Due date: Oct 31 (Tue), before class Midterm: Nov 3, (Fri), first hour
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 informationThe Idea of a Pushdown Automaton
Pushdown Automata 5DV037 Fundamentals of Computer Science Umeå University Department of Computing Science Stephen J. Hegner hegner@cs.umu.se http://www.cs.umu.se/~hegner The Idea of a Pushdown Automaton
More informationPushdown Automata (2015/11/23)
Chapter 6 Pushdown Automata (2015/11/23) Sagrada Familia, Barcelona, Spain Outline 6.0 Introduction 6.1 Definition of PDA 6.2 The Language of a PDA 6.3 Euivalence of PDA s and CFG s 6.4 Deterministic PDA
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 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 information5 Context-Free Languages
CA320: COMPUTABILITY AND COMPLEXITY 1 5 Context-Free Languages 5.1 Context-Free Grammars Context-Free Grammars Context-free languages are specified with a context-free grammar (CFG). Formally, a CFG G
More informationPushdown Automata. Reading: Chapter 6
Pushdown Automata Reading: Chapter 6 1 Pushdown Automata (PDA) Informally: A PDA is an NFA-ε with a infinite stack. Transitions are modified to accommodate stack operations. Questions: What is a stack?
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 informationContext-Free Languages
CS:4330 Theory of Computation Spring 2018 Context-Free Languages Pushdown Automata Haniel Barbosa Readings for this lecture Chapter 2 of [Sipser 1996], 3rd edition. Section 2.2. Finite automaton 1 / 13
More informationAutomata Theory - Quiz II (Solutions)
Automata Theory - Quiz II (Solutions) K. Subramani LCSEE, West Virginia University, Morgantown, WV {ksmani@csee.wvu.edu} 1 Problems 1. Induction: Let L denote the language of balanced strings over Σ =
More informationSection: Pushdown Automata
Section: Pushdown Automata Ch. 7 - Pushdown Automata ADFA=(Q,Σ,δ,q 0,F) input tape a a b b a b tape head head moves current state 0 1 1 Modify DFA by adding a stack. New machine is called Pushdown Automata
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 informationFundamentele Informatica 3 Antwoorden op geselecteerde opgaven uit Hoofdstuk 7 en Hoofdstuk 8
Fundamentele Informatica 3 Antwoorden op geselecteerde opgaven uit Hoofdstuk 7 en Hoofdstuk 8 John Martin: Introduction to Languages and the Theory of Computation Jetty Kleijn Najaar 2008 7.1 (q 0,bbcbb,Z
More informationSCHEME FOR INTERNAL ASSESSMENT TEST 3
SCHEME FOR INTERNAL ASSESSMENT TEST 3 Max Marks: 40 Subject& Code: Automata Theory & Computability (15CS54) Sem: V ISE (A & B) Note: Answer any FIVE full questions, choosing one full question from each
More informationCSE 105 Theory of Computation
CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Today s Agenda Quick Review of CFG s and PDA s Introduction to Turing Machines and their Languages Reminders and
More informationNPDA, CFG equivalence
NPDA, CFG equivalence Theorem A language L is recognized by a NPDA iff L is described by a CFG. Must prove two directions: ( ) L is recognized by a NPDA implies L is described by a CFG. ( ) L is described
More informationPUSHDOWN AUTOMATA (PDA)
PUSHDOWN AUTOMATA (PDA) FINITE STATE CONTROL INPUT STACK (Last in, first out) input pop push ε,ε $ 0,ε 0 1,0 ε ε,$ ε 1,0 ε PDA that recognizes L = { 0 n 1 n n 0 } Definition: A (non-deterministic) PDA
More informationProperties of Context-Free Languages. Closure Properties Decision Properties
Properties of Context-Free Languages Closure Properties Decision Properties 1 Closure Properties of CFL s CFL s are closed under union, concatenation, and Kleene closure. Also, under reversal, homomorphisms
More informationPushdown Automata (PDA) The structure and the content of the lecture is based on
Pushdown Automata (PDA) The structure and the content of the lecture is based on http://www.eecs.wsu.edu/~ananth/cpts317/lectures/index.htm 1 Excursion: Previous lecture n Context-free grammar G=(V,T,P,S),
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 informationComputational Models: Class 5
Computational Models: Class 5 Benny Chor School of Computer Science Tel Aviv University March 27, 2019 Based on slides by Maurice Herlihy, Brown University, and modifications by Iftach Haitner and Yishay
More informationinput tape head moves current state a a
CPS 140 - Mathematical Foundations of CS Dr. S. Rodger Section: Pushdown Automata (Ch. 3.3-3.4) (handout) Pushdown Automata ADFA=(K,,,q 0,F) input tape a a b b a b tape head head moves current state 0
More informationLanguages, regular languages, finite automata
Notes on Computer Theory Last updated: January, 2018 Languages, regular languages, finite automata Content largely taken from Richards [1] and Sipser [2] 1 Languages An alphabet is a finite set of characters,
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 informationChapter 1. Formal Definition and View. Lecture Formal Pushdown Automata on the 28th April 2009
Chapter 1 Formal and View Lecture on the 28th April 2009 Formal of PA Faculty of Information Technology Brno University of Technology 1.1 Aim of the Lecture 1 Define pushdown automaton in a formal way
More informationAccept or reject. Stack
Pushdown Automata CS351 Just as a DFA was equivalent to a regular expression, we have a similar analogy for the context-free grammar. A pushdown automata (PDA) is equivalent in power to contextfree grammars.
More informationTuring Machines Part III
Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's
More informationTheory of Computation Turing Machine and Pushdown Automata
Theory of Computation Turing Machine and Pushdown Automata 1. What is a Turing Machine? A Turing Machine is an accepting device which accepts the languages (recursively enumerable set) generated by type
More informationCMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov
CMP 309: Automata Theory, Computability and Formal Languages Adapted from the work of Andrej Bogdanov Course outline Introduction to Automata Theory Finite Automata Deterministic Finite state automata
More informationTheory of Computation - Module 3
Theory of Computation - Module 3 Syllabus Context Free Grammar Simplification of CFG- Normal forms-chomsky Normal form and Greibach Normal formpumping lemma for Context free languages- Applications of
More informationCliff s notes for equivalence of CFLs and L(PDAs) LisaCFL L = L(M) for some PDA M L=L(M)forsomePDAM L = L(G) for some CFG G
What s on our plate today? Cliff s notes for equivalence of CFLs and L(PDAs) LisaCFL L = L(M) for some PDA M L=L(M)forsomePDAM L = L(G) for some CFG G Pumping Lemma (one last time) Statement of Pumping
More informationContext Free Languages. Automata Theory and Formal Grammars: Lecture 6. Languages That Are Not Regular. Non-Regular Languages
Context Free Languages Automata Theory and Formal Grammars: Lecture 6 Context Free Languages Last Time Decision procedures for FAs Minimum-state DFAs Today The Myhill-Nerode Theorem The Pumping Lemma Context-free
More informationEquivalence of CFG s and PDA s
Equivalence of CFG s and PDA s Mridul Aanjaneya Stanford University July 24, 2012 Mridul Aanjaneya Automata Theory 1/ 53 Recap: Pushdown Automata A PDA is an automaton equivalent to the CFG in language-defining
More informationComputability and Complexity
Computability and Complexity Push-Down Automata CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability
More informationSome notes on the equivalence of npda s and context-free grammars.
Some notes on the equivalence of npda s and context-free grammars. Theorem. A language is context-free iff there is an npda that accepts it. This theorem is proved in two Lemmas: Lemma 1. Let G be a context-free
More informationContext Free Languages and Grammars
Algorithms & Models of Computation CS/ECE 374, Fall 2017 Context Free Languages and Grammars Lecture 7 Tuesday, September 19, 2017 Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 36 What stack got to do
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 informationDeterministic Finite Automata. Non deterministic finite automata. Non-Deterministic Finite Automata (NFA) Non-Deterministic Finite Automata (NFA)
Deterministic Finite Automata Non deterministic finite automata Automata we ve been dealing with have been deterministic For every state and every alphabet symbol there is exactly one move that the machine
More informationECS 120: Theory of Computation UC Davis Phillip Rogaway February 16, Midterm Exam
ECS 120: Theory of Computation Handout MT UC Davis Phillip Rogaway February 16, 2012 Midterm Exam Instructions: The exam has six pages, including this cover page, printed out two-sided (no more wasted
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form:
More informationSection 1 (closed-book) Total points 30
CS 454 Theory of Computation Fall 2011 Section 1 (closed-book) Total points 30 1. Which of the following are true? (a) a PDA can always be converted to an equivalent PDA that at each step pops or pushes
More informationMA/CSSE 474 Theory of Computation
MA/CSSE 474 Theory of Computation CFL Hierarchy CFL Decision Problems Your Questions? Previous class days' material Reading Assignments HW 12 or 13 problems Anything else I have included some slides online
More informationAutomata Theory CS F-08 Context-Free Grammars
Automata Theory CS411-2015F-08 Context-Free Grammars David Galles Department of Computer Science University of San Francisco 08-0: Context-Free Grammars Set of Terminals (Σ) Set of Non-Terminals Set of
More informationContext-free Languages and Pushdown Automata
Context-free Languages and Pushdown Automata Finite Automata vs CFLs E.g., {a n b n } CFLs Regular From earlier results: Languages every regular language is a CFL but there are CFLs that are not regular
More informationCISC 4090 Theory of Computation
CISC 4090 Theory of Computation Context-Free Languages and Push Down Automata Professor Daniel Leeds dleeds@fordham.edu JMH 332 Languages: Regular and Beyond Regular: a b c b d e a Not-regular: c n bd
More informationAutomata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 28 Alexis Maciel Department of Computer Science Clarkson University Copyright c 28 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
More informationComputational Models Lecture 5
Computational Models Lecture 5 One More PDAs Example Equivalence of PDAs and CFLs Nondeterminism adds power to PDAs (not in book) Closure Properties of CFLs Algorithmic Aspects of PDAs and CFLs DFAs and
More informationCISC 4090 Theory of Computation
CISC 4090 Theory of Computation Context-Free Languages and Push Down Automata Professor Daniel Leeds dleeds@fordham.edu JMH 332 Languages: Regular and Beyond Regular: Captured by Regular Operations a b
More informationCS481F01 Solutions 6 PDAS
CS481F01 Solutions 6 PDAS A. Demers 2 November 2001 1. Give a NPDAs that recognize the following languages: (a) The set of all strings in {0, 1} that contain twice as many 1s as 0s. (answer a) We build
More informationCISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata
CISC 4090: Theory of Computation Chapter Regular Languages Xiaolan Zhang, adapted from slides by Prof. Werschulz Section.: Finite Automata Fordham University Department of Computer and Information Sciences
More informationUndecidable Problems and Reducibility
University of Georgia Fall 2014 Reducibility We show a problem decidable/undecidable by reducing it to another problem. One type of reduction: mapping reduction. Definition Let A, B be languages over Σ.
More informationComputational Models - Lecture 4 1
Computational Models - Lecture 4 1 Handout Mode Iftach Haitner. Tel Aviv University. November 21, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice Herlihy, Brown University.
More informationDM17. Beregnelighed. Jacob Aae Mikkelsen
DM17 Beregnelighed Jacob Aae Mikkelsen January 12, 2007 CONTENTS Contents 1 Introduction 2 1.1 Operations with languages...................... 2 2 Finite Automata 3 2.1 Regular expressions/languages....................
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 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 informationTheory of Computation
Theory of Computation Lecture #10 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 43 Lecture 10: Overview Linear Bounded Automata Acceptance Problem for LBAs
More informationAutomata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Spring 27 Alexis Maciel Department of Computer Science Clarkson University Copyright c 27 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
More informationIntroduction to Languages and Computation
Introduction to Languages and Computation George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 400 George Voutsadakis (LSSU) Languages and Computation July 2014
More informationComputational Models: Class 3
Computational Models: Class 3 Benny Chor School of Computer Science Tel Aviv University November 2, 2015 Based on slides by Maurice Herlihy, Brown University, and modifications by Iftach Haitner and Yishay
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 informationNODIA AND COMPANY. GATE SOLVED PAPER Computer Science Engineering Theory of Computation. Copyright By NODIA & COMPANY
No part of this publication may be reproduced or distributed in any form or any means, electronic, mechanical, photocopying, or otherwise without the prior permission of the author. GATE SOLVED PAPER Computer
More informationTheory of Computation (IV) Yijia Chen Fudan University
Theory of Computation (IV) Yijia Chen Fudan University Review language regular context-free machine DFA/ NFA PDA syntax regular expression context-free grammar Pushdown automata Definition A pushdown automaton
More informationAutomata: a short introduction
ILIAS, University of Luxembourg Discrete Mathematics II May 2012 What is a computer? Real computers are complicated; We abstract up to an essential model of computation; We begin with the simplest possible
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 14 Ana Bove May 14th 2018 Recap: Context-free Grammars Simplification of grammars: Elimination of ǫ-productions; Elimination of
More information2.1 Solution. E T F a. E E + T T + T F + T a + T a + F a + a
. Solution E T F a E E + T T + T F + T a + T a + F a + a E E + T E + T + T T + T + T F + T + T a + T + T a + F + T a + a + T a + a + F a + a + a E T F ( E) ( T ) ( F) (( E)) (( T )) (( F)) (( a)) . Solution
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Theory of Regular Expressions DFAs and NFAs Reminders Project 1 due Sep. 24 Homework 1 posted Exam 1 on Sep. 25 Exam topics list posted Practice homework
More information