5 questions to test your understanding
A PDA attempts to recognize {ww^R} — strings of the form 'abba', 'aabbaa', etc. (a word followed by its reverse). Why must this PDA be nondeterministic?
Nondeterministic pushdown automata recognize exactly which class of languages?
Just as most nondeterministic finite automaton can be converted to an equivalent deterministic finite automaton, nearly every nondeterministic pushdown automaton can be converted to an equivalent deterministic pushdown automaton.
A PDA can recognize {a^n b^n} (equal numbers of a's followed by b's) by pushing one stack symbol per 'a' read and popping one symbol per 'b' read, accepting when the stack is empty after consuming the full input.
Why can a finite automaton not recognize {a^n b^n}, and how does a pushdown automaton overcome this limitation?