Limitations of pushdown automata

Slides:



Advertisements
Similar presentations
The Pumping Lemma for CFL’s
Advertisements

CSCI 3130: Formal languages and automata theory Tutorial 5
Erik Jonsson School of Engineering and Computer Science FEARLESS Engineering CS 4384 – 001 Automata Theory Thursday: Context-Free.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Applied Computer Science II Chapter 2 : Context-free languages Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
CS 310 – Fall 2006 Pacific University CS310 Pushdown Automata Sections: 2.2 page 109 October 11, 2006.
127 The Chomsky Hierarchy(review) Recursively Enumerable Sets Turing Machines Post System Markov Algorithms,  -recursive Functions Regular Expression.
Transparency No. P2C5-1 Formal Language and Automata Theory Part II Chapter 5 The Pumping Lemma and Closure properties for Context-free Languages.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Limitations.
Transparency No. P2C5-1 Formal Language and Automata Theory Part II Chapter 5 The Pumping Lemma and Closure properties for Context-free Languages.
Today Chapter 2: (Pushdown automata) Non-CF languages CFL pumping lemma Closure properties of CFL.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Chapter 12: Context-Free Languages and Pushdown Automata
CSE 3813 Introduction to Formal Languages and Automata Chapter 8 Properties of Context-free Languages These class notes are based on material from our.
The Pumping Lemma for Context Free Grammars. Chomsky Normal Form Chomsky Normal Form (CNF) is a simple and useful form of a CFG Every rule of a CNF grammar.
CSCI 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Context-free.
Design contex-free grammars that generate: L 1 = { u v : u ∈ {a,b}*, v ∈ {a, c}*, and |u| ≤ |v| ≤ 3 |u| }. L 2 = { a p b q c p a r b 2r : p, q, r ≥ 0 }
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Closure.
1 L= { w c w R : w  {a, b}* } is accepted by the PDA below. Use a construction like the one for intersection for regular languages to design a PDA that.
Section 12.4 Context-Free Language Topics
Cs3102: Theory of Computation Class 8: Non-Context-Free Languages Spring 2010 University of Virginia David Evans.
Non-CF Languages The language L = { a n b n c n | n  0 } does not appear to be context-free. Informal: A PDA can compare #a’s with #b’s. But by the time.
Pumping Lemma for CFLs. Theorem 7.17: Let G be a CFG in CNF and w a string in L(G). Suppose we have a parse tree for w. If the length of the longest path.
Critique this PDA for L= { u u R v v R : u ∈ {0,1}* and v ∈ {0,1}+ } u0εu0 u1εu1 uεεvε v00vε v11vε vεεfε sεεtε t0εt0 t1εt1 t00tε t11tε tεεuε After you.
Chapter 8 Properties of Context-free Languages These class notes are based on material from our textbook, An Introduction to Formal Languages and Automata,
CSCI 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Pushdown.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Limitations.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Pushdown.
LR(k) grammars The Chinese University of Hong Kong Fall 2009
CSE 105 theory of computation
7. Properties of Context-Free Languages
Lecture 22 Pumping Lemma for Context Free Languages
CSE 105 theory of computation
Theory of Computation Lecture #27-28.
Lecture 17 Oct 25, 2011 Section 2.1 (push-down automata)
Jaya Krishna, M.Tech, Assistant Professor
More on Context Free Grammars
Pushdown automata and CFG ↔ PDA conversions
LR(1) grammars The Chinese University of Hong Kong Fall 2010
Chapter Fourteen: The Context-Free Frontier
Definition: Let G = (V, T, P, S) be a CFL
7. Properties of Context-Free Languages
Context-Free Grammars
Context-Free Languages
فصل دوم Context-Free Languages
COSC 3340: Introduction to Theory of Computation
The Pumping Lemma for CFL’s
Pumping Lemma for Context-free Languages
Properties of Context-Free Languages
Department of Computer Science & Engineering
The Pumping Lemma for CFL’s
Chapter 2 Context-Free Language - 01
CSE 105 theory of computation
COSC 3340: Introduction to Theory of Computation
CS21 Decidability and Tractability
Key Answers for Homework #7
CS21 Decidability and Tractability
LR(1) grammars The Chinese University of Hong Kong Fall 2011
CSE 105 theory of computation
Non-regular languages
Non-regular languages
Pushdown automata The Chinese University of Hong Kong Fall 2011
The Pumping Lemma for CFL’s
LR(k) grammars The Chinese University of Hong Kong Fall 2008
CSE 105 theory of computation
The Pumping Lemma for CFL’s
Limitations of context-free languages
Intro to Theory of Computation
CSE 105 theory of computation
CSE 105 theory of computation
Presentation transcript:

Limitations of pushdown automata The Chinese University of Hong Kong Fall 2010 CSCI 3130: Automata theory and formal languages Limitations of pushdown automata Andrej Bogdanov http://www.cse.cuhk.edu.hk/~andrejb/csc3130

Non context-free languages L1 = {anbn: n ≥ 0} L2 = {s: s has same number of as and bs} L3 = {anbncn: n ≥ 0} L4 = {ssR: s ∈ {a, b}*} L5 = {ss: s ∈ {a, b}*} ✔ ✔ ? These are not regular Are they context-free?

An attempt L3 = {anbncn: n ≥ 0} Let’s try to design a CFG or PDA read a / push x S → aBc | e ??? B → ?? read c / pop x

What would happen if... Suppose we could construct some CFG for L3, e.g. Let’s do some long derivations S  BC  CSC  aSC  aBCC  abCC  abaC  abaSB  abaBCB  ababCB  ababaB  ababab S  BC B  CS | b C  SB | a . . .

Repetition in long derivations If derivation is long enough, some variable must appear twice on same path in parse tree S S  BC  CSC  aSC  aBCC  abCC  abaC  abaSB  abaBCB  ababCB  ababaB  ababab B C C S S B B C B C a b a b a b

Pumping example Then we can “cut and paste” part of parse tree S B C S a b S ababab ✗ ababbabb B C C S S B B S C a b B C B C a b a b a b

Pumping example We can repeat this many times Every sufficiently large derivation will have a middle part that can be repeated indefinitely ababab ababbabb ababbbabbb ✗ ✗ ababnabnbb

Pumping in general uvwxy uv2wx2y uv3wx3y uwy u v w x y A u v w x y A u

Example L3 = {anbncn: n ≥ 0} If L3 has a context-free grammar G, then What happens for anbncn? No matter how it is split, uv2wx2y ∉ L4! If uvwxy is in G, so are uv2wx2y, uv3wx3y, uwy, ... a a a ... a a b b b ... b b c c c ... c c w u y x v

Pumping lemma for context-free languages Pumping lemma: For every context-free language L There exists a number n such that for every string z in L, we can write z = uvwxy where  |vwx| ≤ n  |vx| ≥ 1  For every i ≥ 0, the string uviwxiy is in L. u v w x y

Pumping lemma for context-free languages So to prove L is not context-free, it is enough that For every n there exists z in L, such that for every way of writing z = uvwxy where  |vwx| ≤ n and  |vx| ≥ 1, the string uviwxiy is not in L for some i ≥ 0. u v w x y

Proving language is not context-free Like for regular languages, you need a strategy that, regardless of adversary, always wins you this game adversary choose n write z = uvwxy (|vwx| ≤ n,|vx| ≥ 1) you choose z  L choose i you win if uviwxiy  L 1 2 At least one is not empty u v w x y ≤ n

Example L3 = {anbncn: n ≥ 0} adversary choose n write z = uvwxy (|vwx| ≤ n,|vx| ≥ 1) you choose z  L choose i you win if uviwxiy  L 1 2 L3 = {anbncn: n ≥ 0} choose n z = anbncn 1 2 write z = uvwxy i = ? w u y x v a a a ... a a b b b ... b b c c c ... c c

Example Case 1: v or x contains two kinds of symbols Then uv2wx2y not in L3 because pattern is wrong Case 2: v and x both contain one kind of symbol Then uv2wx2y does not have same number of as, bs, cs x v a a a ... a a b b b ... b b c c c ... c c x v a a a ... a a b b b ... b b c c c ... c c

More examples ✔ ✔ ✔ Which is context-free? L1 = {anbn: n ≥ 0} L2 = {s: s has same number of as and bs} L3 = {anbncn: n ≥ 0} L4 = {ssR: s ∈ {a, b}*} L5 = {ss: s ∈ {a, b}*} ✔ ✔ ✘ ✔ Which is context-free?

Example L5 = {ss: s ∈ {a, b}*} a a a a a a a a a b a a a a a a a a a b choose n z = anbanb 1 2 write z = uvwxy i = ? w u y x v a a a a a a a a a b a a a a a a a a a b w x v u y a a a a a a a a a b a a a a a a a a a b What if:

Example L5 = {ss: s ∈ {a, b}*} choose n z = anbnanbn 1 2 write z = uvwxy i = ? w u y x v a a a a a a b b b b b b a a a a a a b b b b b b Recall that |vwx| ≤ n

Example Three cases a a a a a a b b b b b b a a a a a a b b b b b b v w x vwx is in the first half of anbnanbn a a a a a a b b b b b b a a a a a a b b b b b b Case 2: v w x vwx is in the middle part of anbnanbn a a a a a a b b b b b b a a a a a a b b b b b b Case 3: v w x vwx is in the second half of anbnanbn

Example Apply pumping with i = 0 a a a a a a b b b b b b a a a a a a b b b b b b Case 1: v w x uwy looks like aibjanbn, where i < n or j < n a a a a a a b b b b b b a a a a a a b b b b b b Case 2: v w x uwy looks like anbiajbn, where i < n or j < n a a a a a a b b b b b b a a a a a a b b b b b b Case 3: v w x uwy looks like anbnaibj, where i < n or j < n

Example Apply pumping with i = 0 L5 = {ss: s ∈ {a, b}*} Case 1: uv0wx0y looks like aibjanbn, where i < n or j < n Not of the form ss Case 2: uv0wx0y looks like anbiajbn, where i < n or j < n Not of the form ss Case 3: uv0wx0y looks like anbnaibj, where i < n or j < n Not of the form ss This covers all the cases, so L5 is not context-free