Pushdown_automaton Pushdown_automaton

Pushdown automaton - Definition and Overview

In computer science, in particular automata theory, pushdown automata (PDA) are abstract devices that recognize context-free languages.

Informally, a pushdown automaton is a finite automaton outfitted with access to a potentially unlimited amount of memory in the form of a single stack. The finite automaton in question is usually a Nondeterministic finite state machine (resulting in a nondeterministic pushdown automaton or NPDA) since deterministic pushdown automata cannot recognize all context-free languages.

If we allow a finite automaton access to two stacks instead of just one, we obtain a more powerful device - equivalent in power to a Turing machine. A linear bounded automaton is a device which is more powerful than a pushdown automaton but less so than a Turing machine.

A NPDA W can be defined as a 7-tuple:

<math>W=(Q,\Sigma,\Phi,\sigma,s,\Omega,F)<math> where

  • Q is a finite set of states
  • Σ is a finite set of the input alphabet
  • Φ is a finite set of the stack alphabet
  • σ is a finite transition relation (Q × ( Σ & {ε}) × Φ) × ( Q × Φ* )
  • s is an element of Q; the start state
  • Ω is the inital stack symbol
  • F is subset of Q, consisting of the final states.

There are two possible acceptance criteria: acceptance by empty stack and acceptance by final state. The two are easily shown to be equivalent: a final state can perform a pop loop to get to an empty stack, and a machine can detect an empty stack and enter a final state by detecting a unique symbol pushed by the initial state.

See also


Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.