How many variables can a standard Turing Machine write?

738 Views Asked by At

Can I write whatever variable I want in a Turing Machine or does it have to be only 2? eg I want my machine to be able to write x's , y's, a's and b's

2

There are 2 best solutions below

0
On BEST ANSWER

Any countable alphabet with at least two symbols will do; it doesn't affect the power of the computation model. You can always convert a many-symbol Turing machine into a two-symbol machine if you really need to, by using a binary encoding of the more general alphabet.

0
On

Mathematically you can define a Turing-machine any which way you want (and indeed, there are many different definitions and variations out there), but it is typically assumed that the number of symbols you can use is some arbitrary but finite number.

One obvious reason for it be finite is that the program (or transition table) will be finite as well (assuming the number of internal states is finite as well, but that is typically assumed for the same reason).

However, there is a conceptually more fundamental reason as well, nicely spelled out by Turing himself in his original 1936 paper (I italicized the relevant few lines):

Computing is normally done by writing certain symbols on paper. We may suppose this paper is divided into squares like a child's arithmetic book. In elementary arithmetic the two-dimensional character of the paper is sometimes used. But such a use is always avoidable, and I think that it will be agreed that the two-dimensional character of paper is no essential of computation. I assume then that the computation is carried out on one dimensional paper, i.e. on a tape divided into squares. I shall also suppose that the number of symbols which may be printed is finite. If we were to allow an infinity of symbols, then there would be symbols differing to an arbitrarily small extent

Remember that Turing tried to capture the very limitations of practical, or what he called 'effective' computation: computations performed by human computers. And so given the obvious practical perceptual and other cognitive limitations of the human brain, you really want to keep things finite (of course, any actual physical device in the real world has these kinds of finitary limitations).

Indeed, this very same practical reason is why Turing said that the number of internal states should be finite as well:

The behaviour of the computer at any moment is determined by the symbols which he is observing. and his “state of mind” at that moment. ... We will also suppose that the number of states of mind which need be taken into account is finite. The reasons for this are of the same character as those which restrict the number of symbols. If we admitted an infinity of states of mind, some of them will be “arbitrarily close” and will be confused.

On computable numbers, with an application to the Entscheidungsproblem - A. M. Turing