Deterministic Pushdown Automata
The Deterministic Pushdown Automata is a variation of pushdown automata that accepts the deterministic context-free languages.
A language L(A) is accepted by a deterministic pushdown automata if and only if there is a single computation from the initial configuration until an accepting one for all strings belonging to L(A). It is not as powerful as non-deterministic finite automata. That's why it is less in use and used only where determinism is much easier to implement.
A PDA is said to be deterministic if its transition function δ(q,a,X) has at most one member for -
a ∈ Σ U {ε}
So, for a deterministic PDA, there is at most one transition possible in any combination of state, input symbol and stack top.
Formal Definition of Deterministic PDA
A Deterministic PDA is 5 tuple -
M = (Σ,Γ,Q,δ,q)
Σ - It is a finite set which does not contain a blank symbol,
Γ - a finite set of stack alphabet,
Q - set of states,
q - start state,
δ - a transition function, denoted as -
δ : Q × (Σ ∪ {□}) × Γ → Q × {N,R} × Γ∗
Non-Deterministic PDA