CSC 4170 Theory of Computation Pushdown Automata Section

  • Slides: 30
Download presentation
CSC 4170 Theory of Computation Pushdown Automata Section 2. 2

CSC 4170 Theory of Computation Pushdown Automata Section 2. 2

2. 2. a Components of a pushdown automaton (PDA) x y x z Stack

2. 2. a Components of a pushdown automaton (PDA) x y x z Stack Input a a b a c … Push: write a symbol on the top of the stack Pop: delete a symbol from the top of the stack . . . (Q, , s, F) Q is the set of states is the input alphabet is the stack alphabet is the transition function s is the start state F Q is the set of accept states q 1 a, x y q 2 If the input symbol is a and the top stack symbol is x, go from q 1 to q 2, pop x and push y If a= , the read head is not advanced If x= , nothing is popped If y= , nothing is pushed

2. 2. b 1 How a PDA works q 1 , $ 0, 0

2. 2. b 1 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 1 1 1 Stack Input

2. 2. b 2 How a PDA works q 1 , $ 0, 0

2. 2. b 2 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 3 How a PDA works q 1 , $ 0, 0

2. 2. b 3 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 4 How a PDA works q 1 , $ 0, 0

2. 2. b 4 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 5 How a PDA works q 1 , $ 0, 0

2. 2. b 5 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 6 How a PDA works q 1 , $ 0, 0

2. 2. b 6 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 7 How a PDA works q 1 , $ 0, 0

2. 2. b 7 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 8 How a PDA works q 1 , $ 0, 0

2. 2. b 8 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 $ 0 0 0 1 1 1 Stack Input

2. 2. b 9 How a PDA works q 1 , $ 0, 0

2. 2. b 9 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 Accept 0 0 0 1 1 1 Stack Input

2. 2. b 10 How a PDA works q 1 , $ q 2

2. 2. b 10 How a PDA works q 1 , $ q 2 0, 0 1, 0 q 4 , $ q 3 1, 0 What language does this automaton recognize?

2. 2. b 11 How a PDA works q 1 , $ 0, 0

2. 2. b 11 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 0 1 Stack Input

2. 2. b 12 How a PDA works q 1 , $ 0, 0

2. 2. b 12 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 $ Stack , $ q 3 1, 0 0 0 1 Input

2. 2. b 13 How a PDA works q 1 , $ 0, 0

2. 2. b 13 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 0 $ Stack , $ q 3 1, 0 0 0 1 Input

2. 2. b 14 How a PDA works q 1 , $ 0, 0

2. 2. b 14 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 0 0 $ Stack , $ q 3 1, 0 0 0 1 Input

2. 2. b 15 How a PDA works q 1 , $ 0, 0

2. 2. b 15 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 Reject 0 $ Stack 0 0 1 Input

2. 2. b 16 How a PDA works q 1 , $ 0, 0

2. 2. b 16 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 1 1 Stack Input

2. 2. b 17 How a PDA works q 1 , $ 0, 0

2. 2. b 17 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 $ Stack , $ q 3 1, 0 0 1 1 Input

2. 2. b 18 How a PDA works q 1 , $ 0, 0

2. 2. b 18 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 0 $ Stack , $ q 3 1, 0 0 1 1 Input

2. 2. b 19 How a PDA works q 1 , $ 0, 0

2. 2. b 19 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 $ Stack , $ q 3 1, 0 0 1 1 Input

2. 2. b 20 How a PDA works q 1 , $ 0, 0

2. 2. b 20 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 Reject 0 1 1 Stack Input

2. 2. b 21 How a PDA works q 1 , $ 0, 0

2. 2. b 21 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 0 1 0 Stack Input

2. 2. b 22 How a PDA works q 1 , $ 0, 0

2. 2. b 22 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 $ Stack , $ q 3 1, 0 0 1 0 Input

2. 2. b 23 How a PDA works q 1 , $ 0, 0

2. 2. b 23 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 0 $ Stack , $ q 3 1, 0 0 1 0 Input

2. 2. b 24 How a PDA works q 1 , $ 0, 0

2. 2. b 24 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 $ Stack , $ q 3 1, 0 0 1 0 Input

2. 2. b 25 How a PDA works q 1 , $ 0, 0

2. 2. b 25 How a PDA works q 1 , $ 0, 0 q 2 1, 0 q 4 , $ q 3 1, 0 Reject 0 1 0 Stack Input

2. 2. c Designing pushdown automata Design a pushdown automaton that recognizes the language

2. 2. c Designing pushdown automata Design a pushdown automaton that recognizes the language {w | w has an equal number of 0 s and 1 s} 0 s = 1

2. 2. d Converting NFA into PDA Every NFA can be understood as a

2. 2. d Converting NFA into PDA Every NFA can be understood as a PDA that never pushes or pops. Just replace every label a of the NFA by a, 1 1 b a , a, b, a 3 a b 2 a, 3 a, b, 2

2. 2. e Main theorems Theorem 2. 20: A language is context-free iff some

2. 2. e Main theorems Theorem 2. 20: A language is context-free iff some pushdown automaton recognizes it. Theorem: Not every nondeterministic PDA has an equivalent deterministic PDA. Example 2. 18: There is a nondeterministic PDA recognizing {ww. R | w {0, 1}* } (w. R means w reversed), but no deterministic PDA can recognize this language. Proofs omitted.