# Is a Turing machine without the ability to write on blank cells less powerful than standard Turing?

Is a Turing machine without the ability to write on blank cells less powerful than standard Turing?

I think the answer is yes but i'm unable to find a computation that standard Turing machine can do but this machine can't.

Any ideas?

• In other words, "Would a computer with limited memory be less powerful than a computer with unlimited memory."?
– Nat
Dec 25 '17 at 1:16

The type of Turing machine you describe is a linear bounded automaton (it can only write on the parts of the tape containing the input). LBAs are the acceptors for context-sensitive languages so to find a specific example of a problem that can't be solved with this restriction but can be solved in general by a Turing machine, you just need a language that is decidable but not context-sensitive.

The example given on Wikipedia is:

An example of recursive language that is not context-sensitive is any recursive language whose decision is an EXPSPACE-hard problem, say, the set of pairs of equivalent regular expressions with exponentiation.

For more examples, see Is there an example of a recursive language which is not context sensitive?

A Turing Machine that cannot write on blanks is by the space version of the linear speedup theorem a linear bounded automaton. Therefore any decision problem outside $\textsf{DSPACE}(O(n))$ cannot be decided by it. Such problems do exist by the space hierarchy theorem.

• Can you not just supply a sufficiently long suffix, for any given problem, of special symbols at the end of the tape that can be used as blanks?
– gen
Dec 24 '17 at 22:10
• @gen Not in general. In the most general case, just note that knowing such a long suffix would make the halting problem decidable. Consequently, computing a sufficiently long prefix can be undecidable, in general -- so it's unreasonable to assume that such a suffix is given.
– chi
Dec 24 '17 at 22:34
• Would it be accurate to interpret this answer as, "Turing Machines with limited memory won't have enough memory to run any arbitrary program since some programs might require more memory than whatever they happen to have."?
– Nat
Dec 25 '17 at 1:12
• @Nat: I'd phrase it as "the amount of memory a program may require is in general unknowable until the program is run". What's curious (a great mathematical paradox) is that for any integer triplet X,Y,Z, there exists an upper limit to the number of tape cells required for programs that will terminate and which contain at most X states, on tapes that can hold at most Y types of symbols, and are initialized with Z symbols on the tape, but no such upper bound is provable except for trivial values of X, Y, and Z. Dec 25 '17 at 17:27