Does anyone know how efficient was the first Turing machine that Alan Turing made? I mean how many moves did it do per second or so... I'm just curious. Also couldn't find any info about it on the web.
-
The non-deterministic variant was so efficient, that it could decide any problem in NP in polynomial time! – einpoklum Dec 23 '18 at 09:37
6 Answers
"Turing machines" (or "a-machines") are a mathematical concept, not actual, physical devices. Turing came up with them in order to write mathematical proofs about computers, with the following logic:
- Writing proofs about physical wires and switches is extremely difficult.
- Writing proofs about Turing machines is (relatively) easy.
- Anything physical wires and switches can do, you can build a Turing machine to do (*) (**).
But Turing never built an actual machine that wrote symbols on a paper tape. Other people have, but only as a demonstration: here's one you can make out of a business card, for example.
Why did he never build a physical Turing machine? To put it simply, it just wouldn't be that useful. The thing is, nobody's ever come up with a model of computation that's stronger than a Turing machine (in that it can compute things a Turing machine can't). And it's been proven that several other models of computation, such as the lambda calculus or the Python programming language, are "Turing-complete": they can do everything a Turing machine can.
So for anything except a mathematical proof, it's generally much more useful to use one of these other models. Then you can use the Turing machines in your proofs without any loss of generality.
(*) Specifically, any calculation: a Turing machine can't turn on a lightbulb, for example, but lightbulbs aren't very interesting from a theory-of-computation standpoint.
(**) As has been pointed out in the comments, Turing's main definition of "computer" was a human following an algorithm. He conjectured that there's no computation a human can do that a Turing machine can't do—but nobody has been able to prove this, in part because defining exactly what a human mind can do is incredibly difficult. Look into the Church-Turing Thesis if you're interested.

- 8,248
- 3
- 24
- 53

- 7,098
- 1
- 17
- 27
-
I'm pretty sure the computer Turing was writing proofs about, referred to people following fixed instructions: https://en.wikipedia.org/wiki/Human_computer (the second footnote). Writing proofs about humans following instructions is very hard because people can in principle follow arbitrary instructions. – Jasmijn Dec 20 '18 at 16:05
-
@Robin For historical completeness, Turing developed the Turing machine to prove that (his teacher) Alonzo Church's lamba-calculus was a universal model of computation. He achieved this by proving that it was true for Turing machines and then proving that the Turing machine was equivalent to the lambda-calculus. – JimmyJames Dec 20 '18 at 19:19
-
-
7@JimmyJames I don't think that's accurate. Turing's solution to Entscheidungsproblem was independent of Church's and before he became a student of Church. Church published his proof slightly earlier and when Turing heard of it, he rushed to finish writing his results. He included a proof of the equivalence of his machines and lambda calculus in response to Church's paper, but this was not his initial goal. – Sasho Nikolov Dec 21 '18 at 03:47
-
@SashoNikolov You are correct sir. Thanks for the clarification/correction. – JimmyJames Dec 21 '18 at 14:56
Turing never built a physical Turing machine. The point of Turing machines was not to be a practical physical computer but to formalize what it's possible to compute and, indeed, to formalize what "computation" even means.

- 81,689
- 26
- 141
- 235
Let me bring some serious fun, although it might not be the wanted answer.
Claim One: Lots of Turing machines have been built, by Alan Turing and by many others.
Proof. Pointing to an immovable bolt in a bombe, Alan Turing said with his usual keen insight and simplicity, "look, a Turing machine that halts upon any given input".
Moral: There are many kinds of Turing machines. Many of them are extremely simple. But they are (functionally) Turing machines.
Claim Two: It is undecidable whether a machine has unbounded memory.
Proof. I have a computing machine, for which it will take one second to demonstrate each additional bit of memory. I want to convince you that it does not have unbounded memory. However, being a cautious positivist, you insists that nobody can reject that it has unbounded memory in any time soon or even forever.
Moral: be careful when we are talking about objects that expand on demand.

- 38,985
- 4
- 33
- 90
-
That first example sounds apocryphal, do you have a citation? And even if he did say it, it seems like he was speaking metaphorically, since a TM contains a tape holding the data. Of course, the TM itself is a metaphor, since it's a conceptual device, not a physical one. – Barmar Dec 20 '18 at 22:17
-
1The first proof/example might be more true than the second proof/example. Had I had a more relevant citation than the bombe, I would have used it. Alan Turing is known for inspecting a comprehensive list of computing machines, from the simplest to the most exotic ones (such as human mind). He reduced the most complicated and powerful ones (without oracle) to the simplest model possible. The first example is a new anecdote to pay tribute to the enlightenment he brought to us. – John L. Dec 20 '18 at 22:45
-
-
@AnoE, your suggestion makes sense. On the other hand, had I written as comments on the OP's question, it might look less appropriate than a standalone answer. In fact, my answer also pointed out, implicitly in a roundabout way, that Alan Turing had not built a physical Turing machine in its strict interpretation. The first claim just emphasized the fact that Turing machines are ubiquitous. (I was and am contemplating another claim that shows the pervasiveness of Turing-complete machines as well, which would make this being comment even less appealing.) – John L. Dec 23 '18 at 02:45
-
If I may suggest, you might be more specific about "there are many kinds of TMs". A "TM" is the specific thing with the head, the tape and the symbols. The other machines are equivalent to that, but not the same. A code cracker is certainly not a TM, albeit it being equivalent in computing capability. OP is seemingly not asking whether Turing built a computer, but whether he built an actual TM (with a reading/writing head, band ...). – AnoE Dec 23 '18 at 10:29
-
I could have been much more specific about what is TM and what are the many kinds of TMs. However, that have been explained clearly by other answers and by all introductory textbooks. My first example shows a very specific kind of TMs, "proving" there are many kinds. "many instances of TMs" might have been clearer than "many kinds of TMs". OP is asking for an actual TM. However, those terms such as reading/writing "head" and "tape" and especially "states" ("$m$-configurations") are somewhat specified by functionality instead of by physical properties. – John L. Dec 23 '18 at 12:50
-
It is not clear what you meant by code cracker. We can certainly "build" a Turing machine that "cracks" encrypted text (probably not a universal TM, though). Alan Turing would like to see, I strongly believe, his definition of TMs to be understood as inclusive as possible. That is the essence of my first claim. – John L. Dec 23 '18 at 13:11
This is a perfect place and time to referr to the actual paper where the Turing machine is first described. One link is here:
https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
Of course, he is more modest, so he calls it the "automatic machine". There is no actual machine, only a beast of imagination.
Turing, as far as we know, never even tried to build the "automatic machine". He was however extremely influential in making a number of other machines. The WW2 bombe, used to break Nazi Germany ziphers, is the most famous example.
Sadly, it was first well after his death that the general public was made aware of his achievements. (He killed himself it is said, after beeing brutally subjected to chemical sterilization as beeing a convicted homosexual).

- 416
- 2
- 7
-
There is a more accessible explanation he wrote I found, I've been hosting a mirror of it as it was kind of hard to find: "Turing, Alan M. (1936), On computable numbers, with an application to the Entscheidungsproblem, Proceedings of the London Mathematical Society, Ser. 2-42, 230-265." Linking to it now reminds me that the online Turing Machine simulator link I put there in 2005 is very dated (Java!), wonder what a good replacement link would be. – HostileFork says dont trust SE Dec 22 '18 at 14:33
The TM only exists on paper. It is a theoretical model of computation. It actually can't be built (because the tape is infinitely long).
So, the answer is: no, Turing never built a TM in real life, because he can't.
Please do not keep arguing that "we can build a Turing machine, just that it doesn't have infinite tape, because by definition a TM has an infinitely long tape. If it does not have an infinitely long tape, then it is not a Turing machine. It is as simple as that.
I am fully aware that people have built "TMs with finite tapes" and neither am I doubting the usefulness of that (i.e. bounded automata): in fact, given an long enough tape, we can compute basically all practically interesting things (that are Turing computable). But for every natural number $n$, there will be a TM that would necessarily require a tape of length $n+1$ to simulate, so there's never a "large enough" tape. (Think why.)
Setting a step back, there are easily TMs we can't build or evem simulate with finite resources. Take the TM which writes one * on its first step, goes right and writes two *s on its second step, etc. This TM can not be built or even simulated without an infinite amount of memory.

- 1,190
- 9
- 17
-
What did he build then? I thought we define that tape to be infinitely long because in practice we could have a really long one so it's not a limitation) – McLovin Dec 20 '18 at 00:10
-
6It's perfectly possible to build a Turing machine. The tape doesn't need to be infinitely long: you just need to add some more every time the machine reaches the end. – David Richerby Dec 20 '18 at 00:29
-
@DavidRicherby Rather I should say that there are TMs which can't possibly be built, e.g. a TM that moves its head right at each step. This will require literally infinite tape. – xuq01 Dec 20 '18 at 01:00
-
2@Pilpel I don't think he actually built anything. Turing was a pure mathematician and worked solely on paper. – xuq01 Dec 20 '18 at 01:02
-
2
-
2There are real turing machines, except that they do not have unlimited memory (and thus can only compute a limited set of programs and input values). See this amazing video of a real turing machine: https://www.youtube.com/watch?v=E3keLeMwfHY – allo Dec 20 '18 at 13:27
-
3@Pilpel The most notable actual device Turing built was the bombe, which is not a universal computing machine, and fairly unrelated to what we call “Turing machine”. – Konrad Rudolph Dec 20 '18 at 13:38
-
A TM that moves right at each step can be built just as well. What can't be done is make it actually execute arbitrarily many moves, but that's true for every machine. – reinierpost Dec 20 '18 at 14:45
-
@allo Then it's not a Turing machine. Computationally, it is equivalent to a bounded automaton. – xuq01 Dec 20 '18 at 15:23
-
@reinierpost To clarify, I mean a TM that moves right at each step and keeps doing so forever. It will run out of tape eventually no matter how much tape we give it. – xuq01 Dec 20 '18 at 15:25
-
-
1@Barmar Doesn't work if I want to write distinct symbols on the tape at each step, e.g. one * on step 1, two *s on step 2, etc. – xuq01 Dec 21 '18 at 00:22
-
@xvq01 of course it will run off any amount of tape you give it. Take a tractor and a plough and start plowing fields. Keep refueling them. They will run off every field you give them. That doesn't make tractors with plows impossible. Turing machines aren't any more impossible. – reinierpost Dec 21 '18 at 09:48
-
1@reinierpost Your analogy makes no sense. Turing machines, by definition, must have infinite tapes. If it doesn't, then it is by definition not a Turing machine. Are tractors defined to have to be able to plow an infinite number of fields? I don't think so. – xuq01 Dec 21 '18 at 10:15
-
2@xug01: This is not the case. Look up the definition of Turing machine. All it ever mentions is a finite strip of squares with specific contents, and whenever the machine runs off, it will hit a blank square. So we might as well extend that finite strip with a blank square every time the machine gets there; the definition doesn't preclude this. The infinite initial tape is a figure of convenience, the same way infinite lines are in Euclidean geometry (Euclid conducted his geometry with finite objects only). I think the ability to actually build Turing machines is central to their importance. – reinierpost Dec 21 '18 at 14:50
-
@KonradRudolph, he was involved to some degree in the construction of universal computing machines at Manchester University which are arguably more notable, because they weren't official secrets and so influenced other early computer developers. – Peter Taylor Jan 16 '19 at 10:47
-
@PeterTaylor Right but none of these devices can be accurately described as a Turing Machine, and they weren’t really “his” machines because although Turing was involved in writing the software, the Mark 1 was mainly build by others and was based more directly on von Neumann’s than Turing’s work. – Konrad Rudolph Jan 16 '19 at 11:08
Here is a video with a real Turing machine working. Its quite nice and helped me to stop seeing it as a mere mathematical model:

- 137
- 4