PlanetMath (more info)
 Math for the people, by the people. Sponsor PlanetMath
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Owner confidence rating: Very high Entry average rating: No information on entry rating
[parent] deterministic pushdown automaton (Definition)

A pushdown automaton $M=(Q,\Sigma,\Gamma,T,q_0,\bot,F)$ is usually called ``non-deterministic'' because the image of the transition function $T$ is a subset of $Q\times \Gamma^*$ , which may possibly contain more than one element. In other words, the transition from one configuration to the next is not uniquely determined. When there is uniqueness, $M$ is called ``deterministic''.

Formally, a deterministic pushdown automaton, or DPDA for short, is a non-deterministic pushdown automaton $M=(Q,\Sigma,\Gamma,T,q_0,\bot,F)$ where the transition function $T$ has the following properties: for any $p\in Q$ , $a\in \Sigma$ , and $A\in \Gamma$ ,

  1. $T(p,a,A)\cup T(p,\lambda,A)$ is at most a singleton,
  2. $T(p,a,A)\cap T(p,\lambda,A)=\varnothing$ .
The properties can be interpreted as follows: given any configuration of $M$ , if there is a transition to the next configuration, the transition must be unique. The second property just insures that $T(p,a,A)\ne T(p,\lambda,A)$ , so that when a $\lambda$ -transition is possible for a given $(p,A)$ , no other transitions are possible for the same $(p,A)$ .

The way a DPDA works is exactly the same as an NPDA, with several modes of acceptance: acceptance on final state, acceptance on empty stack, and acceptance on final state and empty stack. However, unlike a NPDA, these acceptance methods are not equivalent. It can be shown that the set $ \mathscr{E}$ of languages accepted on empty stack is a proper subset of the set $ \mathscr{F}$ of languages determined on final state. In fact, every language in $ \mathscr{E}$ is prefix-free, while some languages in $ \mathscr{F}$ are not.

Nevertheless, any regular language can be accepted by a DPDA on empty stack, and any language accepted by a DPDA on final state is unambiguous, and, as a result, $ \mathscr{F}$ is a proper subset of the family of all context-free languages. This is quite unlike the case for finite automata: every non-deterministic finite automaton is equivalent to a deterministic finite automaton. A language in $ \mathscr{F}$ called a deterministic language.

Some examples: the set of palindromes $\lbrace u \in \Sigma^* \mid u = \operatorname{rev}(u) \rbrace$ is unambiguous, but not deterministic. The language $\lbrace a^m b^n \mid m \ge n \ge 0 \rbrace$ is deterministic, but not prefix-free, and hence can not be accepted by any DPDA on empty stack. The language $\lbrace a^n b^n \mid n\ge 0 \rbrace$ can be accepted by a DPDA on empty stack, but is not regular.

Any formal grammar that generates a deterministic language is said to be deterministic context-free. A deterministic context-free grammar can be described by what is known as the $LR(k)$ grammars.

The family of deterministic languages is closed under complementation, intersection with a regular language, but not arbitrary (finite) intersection, and hence not union.

Remark. The reason why $ \mathscr{E}\ne \mathscr{F}$ can be traced back to the definition of a DPDA: it allows for the following possibilities for a DPDA $M$ :

  • $M$ completely stops reading an input word because either there are no available transitions from one configuration to the next: $$T(p,a,A)\cup T(p,\lambda,A)=\varnothing,$$ or the stack is emptied before the last input symbol is read: a configuration $(p,u,\lambda)$ is reached and $u$ is not empty.
  • $M$ consumes the last input symbol, and continues processing because of $\lambda$ -transitions.
Some authors consider these imperfections of $M$ as being ``non-deterministic'', and put additional constraints on $M$ , such as making sure $T$ is a total function, the stack is never empty, and delimiting input strings.

Bibliography

1
A. Salomaa Computation and Automata, Encyclopedia of Mathematics and Its Applications, Vol. 25. Cambridge (1985).
2
S. Ginsburg, The Mathematical Theory of Context-Free Languages, McGraw-Hill, New York (1966).
3
D. C. Kozen, Automata and Computability, Springer, New York (1997).
4
J.E. Hopcroft, J.D. Ullman, Formal Languages and Their Relation to Automata, Addison-Wesley, (1969).




"deterministic pushdown automaton" is owned by CWoo.
(view preamble | get metadata)

View style:

See Also: context-free language, ambiguous grammar

Other names:  DPDA
Also defines:  deterministic, deterministic language, deterministic context-free

This object's parent.

Attachments:
LR(k) (Definition) by CWoo
LL(k) (Definition) by CWoo
Log in to rate this entry.
(view current ratings)

Cross-references: strings, total function, union, intersection, closed under, generates, formal grammar, palindromes, deterministic finite automaton, non-deterministic finite automaton, automata, finite, context-free languages, unambiguous, regular language, proper subset, languages, stack, final state, modes, singleton, properties, configuration, element, contain, subset, transition function, image, pushdown automaton
There are 33 references to this entry.

This is version 11 of deterministic pushdown automaton, born on 2009-05-15, modified 2009-08-25.
Object id is 11787, canonical name is DeterministicPushdownAutomaton.
Accessed 1279 times total.

Classification:
AMS MSC68Q05 (Computer science :: Theory of computing :: Models of computation )
 68Q42 (Computer science :: Theory of computing :: Grammars and rewriting systems)
 03D10 (Mathematical logic and foundations :: Computability and recursion theory :: Turing machines and related notions)

Pending Errata and Addenda
None.
Discussion
Style: Expand: Order:
forum policy

No messages.

Interact
post | correct | update request | add derivation | add example | add (any)