Church-Turing thesis The intuitive notion of an effective procedure or algorithm has been mentioned several times. Today the Turing machine has become the accepted formalization of an algorithm. Clearly one cannot prove that the Turing machine model is equivalent to our intuitive notion of a computer, but there are compelling arguments for this equivalence.
Church-Turing thesis Suppose we were to make the conjecture that in some sense, Turing machines are equal in power to a typical computer. How could we defend such a hypothesis? 1. We could take a sequence of increasingly more difficult problems and show how they are solved by some Turing machine. P 4 Every success in this direction would P 3 strengthen our belief of the truth P of the hypothesis, but it would 2 not lead to a proof. P 1 2. We could find a procedure for which we can write a computer program, but for which we can show that no Turing machine can exits. But no one has yet been able to produce such a counterexample.
Church-Turing thesis Every indication is that Turing machines are in principle as powerful as any computer. Conjecture: Church-Turing Thesis (1930 s) The hypothesis states that any computation that can be carried out by mechanical means can be performed by some Turing machine. The Church-Turing thesis is not something that can be proven. To do so we would have to define precisely the term mechanical means. The Church-Turing thesis is more properly viewed as a definition of what constitutes a mechanical computation: A computation is mechanical if and only if it can be performed by some Turing machine.
Church-Turing thesis If we regard the Church-Turing thesis simply as a definition, we raise the question whether it is sufficiently broad. Is it far-reaching enough to cover everything we now do (and conceivably might do in the future) with computers? A clear yes is not possible, but the evidence in its favour is very strong. Having accepted the Church-Turing thesis, we are now in a position to give a precise definition of an algorithm.
Church-Turing thesis Definition An algorithm for a function f : D R is a Turing machine M, which given as input any d D on its tape, eventually halts with the correct answer f(d) R on its tape. We can require that q f F, for all d D. q 0 d q f f(d),
Church-Turing thesis Identifying an algorithm with a Turing machine program allows us to prove claims such as there exists an algorithm.... However, to construct explicitly an algorithm for even relatively simple problems is a very lengthy undertaking. We can appeal to the Church-Turing thesis and claim that anything we can do on any computer can also be done on a Turing machine. We will accept block diagrams as algorithms on the assumption that we could write a Turing machine program for them.
Church-Turing thesis Nothing will be considered an algorithm if it cannot be rendered as a Turing machine that is guaranteed to halt, and all such machines will be rightfully called algorithms. The Church-Turing thesis is not a theorem, because it is not a mathematical result: It simply asserts that a certain informal concept (algorithm) corresponds to a certain mathematical object (Turing machine). Not being a mathematical statement, the Church-Turing thesis cannot be proved. It is theoretically possible, that the Church-Turing thesis could be disproved in the future, if a proposed and accepted alternative model of computation could carry out computations that cannot be carried out by any TM. No one considers this likely.
Church-Turing thesis Adopting a precise mathematical notion of an algorithm opens up the intriguing possibility of formally proving that certain computational problems cannot be solved by any algorithm. We will not define an even more powerful computational device: according to the Church-Turing thesis, computational tasks, that cannot be performed by Turing machines are impossible, hopeless, undecidable. The pumping theorems we used, exploit the weaknesses of context-free grammars and finite automata. We now must devise techniques for exploiting the power of Turing machines in order to expose their limitations.
Other models of Turing machines Many variations on the basic model of the Turing machine are possible: Turing machines with Stay-Option Turing machines with Semi-Infinite Tape Offline Turing machines Multitape Turing machines Nondeterministic Turing machines The universal Turing machine
Equivalence of classes of automata Definition Two automata are equivalent if they accept the same language. Consider two classes of automata C 1 and C 2. If for every automaton M 1 in C 1 there is an automaton M 2 in C 2 such that L(M 1 ) = L(M 2 ), we say that C 2 is at least as powerful as C 1. If the converse also holds and for every M 2 in C 2 there is an M 1 in C 1 such that L(M 1 ) = L(M 2 ), we say that C 1 and C 2 are equivalent.
Equivalence of classes of automata For demonstrating the equivalence in connection with Turing machines, often the technique of simulation is used. Let M be an automaton. We say that another automaton ˆM can simulate a computation of M if ˆM can mimic the computation of M in the following manner: let d 0, d 1,... be the sequence of instantenous descriptions of the computation of M, that is, d 0 M d 1 M... M d n... then ˆM simulates this computation if it carries out ˆd 0 ˆd 1... dˆ n..., such that each ˆM ˆM ˆM ˆd is associated with a unique configuration of M. To demonstrate the equivalence of two classes of automata, we show that for every machine in one class, there is a machine in the second class capable of simulating it, and vice versa.
Turing machines with a stay option The read-write head of our basic Turing machine must move either to the right or to the left. Sometimes it is convenient to provide a third option, to have the read-write head stay in place after rewriting the cell content. Thus δ : Q Γ Q Γ {L, R, S} This option does not extend the power of the automaton. Theorem The class of Turing machines with a stay option is equivalent to the class of basic Turing machines.
Turing machines with semi-infinite tape A Turing machine with a tape that is unbounded only in one direction. This Turing machine is identical to our basic Turing machine, except that no left move is permitted when the read-write head is at the boundary. Theorem The class of Turing machines with a semi-infinite tape is equivalent to the class of basic Turing machines.
The Offline Turing machine If we put the input file back into the picture, we get what is known as an offline Turing machine. In such a machine, each move is governed by the internal state, what is currently read from the input file, and what is seen on the tape. Control unit Read-only input file Tape Theorem The class of offline Turing machines is equivalent to the class of basic Turing machines.
Multi-tape Turing machines A multitape Turing machine is a Turing machine with several tapes, each with its own independently controlled read-write head. Typically, we define an n-tape machine with δ : Q Γ n Q Γ n {L, R} n Theorem The class of multitape Turing machines is equivalent to the class of basic Turing machines.
Nondeterministic Turing machines Definition A nondeterministic Turing machine is as given in the definition for our basic Turing machine, except that δ is now defined as δ : Q Γ 2 Q Γ {L,R} As always when nondeterminism is involved, the range of δ is a set of possible transitions, any of which can be chosen by the machine. Example: If a Turing machine has transitions specified by it is nondeterministic. δ(q 0, a) = {(q 1, b, R), (q 2, c, L)} The moves q 0 aaa bq 1 aa and q 0 aaa q 2 caa are both possible.
Nondeterministic Turing machines Definition A nondeterministic Turing machine is said to accept w if there is any possible sequence of moves such that with q f F. q 0 w x 1 q f x 2, A nondeterministic TM may have moves available that lead to a non-final state or to an infinite loop. But these alternatives are irrelevant; all we are interested in is the existence of some sequence of moves leading to acceptance.
Nondeterministic Turing machines To show that a nondeterministic TM is no more powerful then a deterministic one, we need to provide a deterministic equivalent for the nondeterminism. One way to visualize the simulation is to use a basic Turing machine, keeping all possible instantenous descriptions of the nondeterministic machine on its tape, seperated by some convention. The simulating machine looks at all active configurations and updates them accordingly.
Nondeterministic Turing machines Theorem The class of deterministic Turing machines and the class of nondeterministic Turing machine are equivalent. As always, nondeterminism can be seen as a choice between alternatives. This can be visualized as a decision tree. Definition A nondeterministic Turing machine M is said to accept a language L if, for all w L, at least one of the possible configurations accepts w. There may be branches that led to non-accepting configurations, while some may put the machine into an infinite loop. But these are irrelevant for acceptance.
The universal Turing machine A universal Turing machine M u is an automaton that, given as input the description of any Turing machine M and an input string w, can simulate the computation of M on w. To construct such an M u, we first choose a standard way of describing Turing machines: We may assume that Q = {q 1, q 2,..., q n } and Γ = {a 1, a 2,..., a m }, where q 1 is the inital state, q 2 is the single final state and a 1 represents the blank. We select an encoding in which q 1 is represented by 1, q 2 is represented by 11, etc. Similarly, a 1 is encoded as 1, a 2 as 11, etc. The symbol 0 will be used as a seperator between the 1 s.
The universal Turing machine With the inital and final state and the blank defined by this convention, any Turing machine can be described completely with δ only. Example: δ(q 1, a 2 ) = (q 2, a 3, L) might appear as... 10110110111010... Any Turing machine has a finite encoding as a string on {0, 1} +, and, given any encoding of M, we can decode it uniquely. A universal Turing machine M u then has an input alphabet that includes {0, 1} and the structure of a multitape machine. Given any program, the universal Turing machine, can carry out the computations specified by that program.
References LINZ, P. An introduction to Formal Languages and Automata. Jones and Bartlett Learning, 2012. HOPCROFT, J. and ULLMAN, J. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, 1979. LEWIS, H.R. and PAPADIMITRIOU C. H. Elements of the theory of computation. Prentice Hall, 1998.