|
|
Pushdown automatonIn particular automata theory, pushdown automata (PDA) are abstract devices that recognize context-free languages. Informally, a pushdown automaton is a finite state machine that can make use of a Stack (computing). Pushdown automatons differ from normal finite state machines in two ways: (1) They can use the top of the stack to figure out what transition to take. (2) They can manipulate the stack as part of performing a transition. Pushdown automata choose a transition by indexing a table by input signal, current state, and the top of the stack. Normal finite state machines just look by input signal and current state- they don't have a stack to work with. Pushdown automata add the stack as a parameter for choice. Given an input signal, current state, and a given symbol at the top of the stack, a transition path is chosen. Pushdown automata can also manipulate the stack, as part of performing a transition. Normal finite state machines choose a new state, the result of following the transition. But pushdown automata can also manipulate the stack. The manipulation can be to push a particular symbol to the top of the stack, the manipulation can be to pop off the top of the stack. Or, the automata can ignore the stack, and leave it as it is. The choice of manipulation (or no manipulation) is determined by the transition table. Put together: A given input signal, current state, and stack symbol, can follow a transition to another state, and an optional stack manipulation. The finite automaton is usually a nondeterministic finite state machine, which is called a "nondeterministic pushdown automaton", or "NPDA," since deterministic pushdown automata cannot recognize all context-free languages. This means that there may be more than just one transition available to follow, given an input signal, state, and stack symbol. 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: where * 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 * is an element of the start state * is the initial stack symbol * is subset of , 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. Some use a 6-tuple, dropping the for the initial stack symbol, instead adding a first transition which writes a start symbol to the stack. ==See also== * Stack machine * [http://planetmath.org/encyclopedia/PushdownAutomaton.html non-deterministic pushdown automaton,] on Planet Math. * [http://www.cs.bham.ac.uk/~axj/teaching/2003-4/models/handouts/handout3.pdf Context Free Automata and Pushdown Automata,] from the University of Birmingham Computational models Pushdown automaton"Pushdown automata exist in deterministic and non-deterministic varieties, and the two are not equipotent." A comment to the information in the page: Non-deterministic pushdown automata are more potent than deterministic pushdown automata. Some deterministic pushdown automata cannot accept context-free languages accepted by non-deterministic pushdown automata. == Pushdown automaton as a 7-Tuple? == Isn't a pushdown automaton usually defined as a 6-tuple, instead of a 7-tuple? User:82.82.120.201 18:53, 20 Feb 2004 (UTC) Kozen's "Automata and Computability" defines it in terms of a 7-tuple. However, as he later points out, if we're interested in acceptance by empty stack rather than acceptance by final state then the final state is irrelevant. So it could be dropped leaving a 6-tuple. Is that how you've seen it? I can't say which is more common. User:Josh Cherry 01:38, 21 Feb 2004 (UTC) Actually the Wikipedia entry was the first time, that I saw the 7-tuple. I will surf the internet a to find out, which is the more common definition. Usually I saw definitions like User:82.83.0.53 10:51, 21 Feb 2004 (UTC) Added a comment on the ''possible'' use of 6-tuples instead. I cite John Reif (Duke University), and point out that if an additional start state and first transition are added, they are equivalent. I felt it against Wikipedia's style to include the citation the article, but I'm probably wrong about that, so please change it if I am. --user:Mike-de-S I had added... Three ways of starting and recognizing are: * Start with the stack holding , and then say it's done when then stack is empty. * Start with an empty stack, and have the first state ''immediately'' push a symbol (like ) onto the stack, and say it's done when the stack is empty. * Start with an empty stack, and say it's done when a special accept symbol is placed on the stack. ...but canceled, when I realized how incredibly petty the whole conversation is. There are many ways to signal the end of the stack FSM, and many ways to start it. User:LionKimbro == Transition function == I am just a first year student, so I do not dare to correct the original text. But I wonder: Shouldn't the transition function read: *σ is a finite transition relation (Q × ( Σ & {ε}) × Φ) ( Q × Φ* ) ( instead of ×) :I think that the idea is that it is not necessarily a function since the automaton need not be deterministic. In general it is a relation. However, I think that you're right that something is wrong. I suspect that it should say the the relation is some ''subset'' of (Q × ( Σ & {ε}) × Φ) × ( Q × Φ* ). But I'm no expert either. By the way, please sign your posts. User:Josh Cherry 00:13, 12 Oct 2004 (UTC) See other meanings of words starting from letter: PPA | PB | PC | PD | PE | PF | PG | PH | PI | PJ | PK | PL | PM | PN | PO | PR | PS | PT | PU | PW | PX | PY | PZ |Words begining with Pushdown_automaton: Pushdown_automaton Pushdown_automaton |
These materials are based on Wikipedia and licensed under the GNU FDL
YouTube.com videos better site than Turbo Tax 2007 |
|
|