Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cs3102: Theory of Computation Class 6: Pushdown Automata Spring 2010 University of Virginia David Evans TexPoint fonts used in EMF. Read the TexPoint manual.

Similar presentations


Presentation on theme: "Cs3102: Theory of Computation Class 6: Pushdown Automata Spring 2010 University of Virginia David Evans TexPoint fonts used in EMF. Read the TexPoint manual."— Presentation transcript:

1 cs3102: Theory of Computation Class 6: Pushdown Automata Spring 2010 University of Virginia David Evans TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A AA

2 Menu Revisiting and Reversing the Pumping Lemma Recognizing Non-Regular Languages Pushdown Automata

3 Revisiting the Pumping Lemma q0q0 qzqz x y z If input string is longer than |Q|, some state must repeat. qiqi If A is a regular language, then there is some number p (the pumping length) where for any string s  A and |s|  p, s may be divided into three pieces, s = xyz, such that |y|> 0, |xy|  p, and for any i  0, xy i z  A.

4 Pumping Game for Language A 1. Player 1: picks p 2. Player 2: picks s  A and |s|  p 3. Player 1: picks x, y, z, |y|> 0, |xy|  p, s = xyz 4. Player 2: picks i  0 Player 1 wins if xy i z  A, Player 2 wins if xy i z  A If Player 1 can always win: A is regular If Player 2 can always win: A is not regular q0q0 qzqz x y z qiqi What if Player 2 picks an s  A ?

5 Pump-Priming Game for Language A 1. Player 1: picks p 2. Player 2: picks s  A and |s|  p 3. Player 1: picks x, y, z, |y|> 0, |xy|  p, s = xyz 4. Player 2: picks i  0 Player 1 wins if xy i z  A, Player 2 wins if xy i z  A If Player 1 can always win: A is regular If Player 2 can always win: A is not regular q0q0 qzqz x y z qiqi

6 A = { w | w has more 0s than 1s } Pump-Priming Game for Language A 1. Player 1: picks p 2. Player 2: picks s  A and |s|  p 3. Player 1: picks x, y, z, |y|> 0, |xy|  p, s = xyz 4. Player 2: picks i  0 Player 1 wins if xy i z  A, Player 2 wins if xy i z  A If Player 1 can always win: A is regular If Player 2 can always win: A is not regular

7 A Complementary View Regular Languages are closed under complement: if A is regular, then Ā is regular Proof sketch: DFA M = (Q, , , q 0, F) recognizes A. DFA M = (Q, , , q 0, Q  F) recognizes Ā. Thus, Player 2 wins by showing either A or Ā is non-regular.

8 s All Languages Regular Languages Can be recognized by some DFA Finite Languages anbnanbn ww R What do we need to add to a DFA to recognize some non-regular languages?

9 DFA + Counter? A = a n b n

10 DFA + Counter? count = 0 A = a n b n a, count = count + 1 b, count = count  1 Accept if count == 0.

11 DFA + Stack = Deterministic Pushdown Automaton A = a n b n

12 DFA + Stack = Deterministic Pushdown Automaton a, push a b, pop a Accept if stack is empty. A = a n b n

13 Formalizing DPDA Note: Sipser only defines Nondeterministic PDA and calls it PDA.

14 DPDA Transitions Inputs: state, alphabet symbol or ε, popped stack symbol or ε Outputs: state, stack symbol to push or ε It is a deterministic machine: must always follow possible ε -input transition. It is a deterministic machine: must always follow possible ε -input transition. a, ε  A q1q1 q2q2

15 Deterministic Pushdown Automaton q1q1 q2q2 a, ε  + b, +  ε A = a n b n Bottom of stack marker q0q0 b, +  ε ε, ε  $ q3q3 ε, $  ε This looks like nondeterminism, but is not: must always take possible ε -transitions a state with an ( ε, h) transitions cannot have any other ( a, h) transitions; a state with a ( a, ε) transition, cannot have any other ( a, h) transitions

16 A = { w | w has more 0s than 1s }

17 Computing Model for DPDA First, we need to model the stack! $ + + + push + $ + + + + pop + $ + + +

18 Modeling the Stack

19 This would be a normal way to define a stack, but not what we use!

20 DPDA Computation Model

21 No push or pop: Push only: Pop only: Push and pop: This rule actually covers all four cases if we make

22 Dealing with  -transitions Remember the NFA  DFA proof?

23 DPDA Computing Model Where E is the forced-follow  -transitions function defined by: where

24 Acceptance: PDA accepts w when: Accepting State Model Empty Stack Model Is the set of languages accepted by DPDAs with each model the same? A good, original proof is worth a challenge bonus. (Finding a published proof is not.)

25 Power of DPDAs L(DPDA)  L(DFA) ? 1. Prove there is some DPDA that recognizes every regular language. 2. Prove there is some language that can be recognized by a DPDA that cannot be recognized by any PDA. Construct DPDA from DFA by adding empty stack transitions: Henceforth: assume DPDA is Accepting-State DPDA

26 s All Languages Regular Languages Can be recognized by some DFA Finite Languages anbnanbn DPDA Languages (Accepting State)

27 Charge Thursday: – Non-equivalence of NPDA and DPDA – Context-Free Grammars Next Tuesday: – PS2 Due – Languages that cannot be recognized by NPDA


Download ppt "Cs3102: Theory of Computation Class 6: Pushdown Automata Spring 2010 University of Virginia David Evans TexPoint fonts used in EMF. Read the TexPoint manual."

Similar presentations


Ads by Google