Download presentation
Presentation is loading. Please wait.
Published byNeil Hunt Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.