# Topic: - Equivalence of Turing Machine & Two stack PDA Turing machine A Turing machine is a theoretical device that manipulates

symbols on a strip of tape according to a table of rules. Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm, and is particularly useful in explaining the functions of a CPU inside a computer. The Turing machine is not intended as a practical computing technology, but rather as a thought experiment representing a computing machine. Turing machines help computer scientists understand the limits of mechanical computation. A Turing machine that is able to simulate any other Turing machine is called a universal Turing machine (UTM, or simply a universal machine). A more mathematically-oriented definition with a similar "universal" nature was introduced by Alonzo Church, whose work on lambda calculus intertwined with Turing's in a formal theory of computation known as the Church–Turing thesis. The thesis states that Turing machines indeed capture the informal notion of effective method in logic andmathematics, and provide a precise definition of an algorithm or 'mechanical procedure'. Studying their abstract properties yields many insights into computer science and complexity theory.[3] Formal definition Hopcroft and Ullman (1979, p. 148) formally define a (one-tape) Turing machine as a 7tuple where
  

Q is a finite, non-empty set of states Γ is a finite, non-empty set of the tape alphabet/symbols

is the blank symbol (the only symbol allowed to occur on the tape infinitely often at any step during the computation)
   

is the set of input symbols is the initial state is the set of final or accepting states.

is a partial function called the transition function, where L is left shift, R is right shift. (A relatively uncommon variant allows "no shift", say N, as a third element of the latter set.) Anything that operates according to these specifications is a Turing machine.

Turing's very first machine Copy routine 3-state busy beaver Pushdown automaton In automata theory. and stack symbol. In general pushdown automata may have several computations on a given input string. a pushdown automaton (PDA) is a finite automaton that can make use of a stack containing data. Finite state machines choose a new state. They can manipulate the stack as part of performing a transition. Finite state machines just look at the input signal and the current state: they have no stack to work with. state. If we allow a finite automaton access to two stacks instead of just . or to pop off the top of the stack. 2. Operation Pushdown automata differ from finite state machines in two ways: 1. The manipulation can be to push a particular symbol to the top of the stack. 3. as part of performing a transition. They can use the top of the stack to decide which transition to take.Examples of Turing machines To see examples of the following models. see Turing machine examples: 1. current state. Pushdown automata choose a transition by indexing a table by input signal. the result of following the transition. and the symbol at the top of the stack. This means that those three parameters completely determine the transition path that is chosen. Pushdown automata add the stack as a parameter for choice. Nondeterministic means that there may be more than just one transition available to follow. Thus we have a model which is technically known as a "nondeterministic pushdown automaton" (NPDA). Pushdown automata can also manipulate the stack. 2. given an input signal.

pop A.    is the start state is the initial stack symbol is the set of accepting states An element is a transition of M. Pushdown automata are equivalent to context-free grammars: for every context-free grammar. which is easy to prove. Formal Definition A PDA is formally defined as a 7-tuple: where     is a finite set of states is a finite set which is called the input alphabet is a finite set which is called the stack alphabet is a mapping of to finite subsets of . the transition relation. may read a. in state . where Γ * means "a finite (maybe empty) list of element of Γ" and denotes the empty string. It has the intended meaning that M. though harder to prove: for every pushdown automaton there exists a context-free grammar such that the language generated by the automaton is identical with the language generated by the grammar. or proceed leaving the input untouched. . with on the input and with as topmost stack symbol. there exists a pushdown automaton such that the language generated by the grammar is identical with the language generated by the automaton.one. A linear bounded automaton is a device which is more powerful than a pushdown automaton but less so than a Turing machine. replacing it by pushing . The letter ε(epsilon) denotes the empty string and the component of the transition relation is used to formalize that the PDA can either read a letter from the input. The reverse is true. change the state to q. we obtain a more powerful device. equivalent in power to a Turing machine.