19

Let $F = \{⟨M⟩:\text{M is a TM which stops for every input in at most 50 steps}\}$. I need to decide whether F is decidable or recursively enumerable. I think it's decidable, but I don't know how to prove it.

My thoughts

This "50 steps" part immediate turns the R sign for me. If it was for specific input it would be decidable. However, here it's for every input. Checking it for infinite inputs makes me think that the problem is co-RE, i.e. its complement is acceptable.

Perhaps, I can check the configurations and see that all configurations after 50 steps don't lead to accept state- how do I do that?

user1868607
  • 2,194
  • 13
  • 23
Jozef
  • 1,707
  • 3
  • 14
  • 22

2 Answers2

22

Let's consider the more general problem of machines which stop after at most $N$ steps, for some $N \geqslant 1$. (The following is a substantial simplifcation of a previous version of this answer, but is effectively equivalent.)

As swegi remarks in an earlier response, if the machine stops after at most $N$ steps, then only the cells $0,1,\ldots,N-1$ on the tape are significant. Then it suffices to simulate the machine $M$ on all input strings of the form $x \in \Sigma^N$, of which there are a finite number.

  • If any of these simulations fail to enter a halting state by the $N^{\text{th}}\:\!$ transition, this indicates that any input string starting with $x$ is one for which the machine does not stop within the first $N$ steps.
  • If all of these simulations halt by the $N^{\text{th}}\:\!$ transition, then $M$ halts within $N$ steps on all inputs of any length (of which the substring of length $N$ is all that it ever acts on).
Niel de Beaudrap
  • 4,171
  • 1
  • 17
  • 32
  • And- Do I assume that $x$ such that its length is longer than $N$ is automatically being rejected? – Jozef Aug 09 '12 at 15:20
  • Why Can't it jumps to any further than N cell within the N steps of computing? – Jozef Aug 09 '12 at 15:27
  • @Jozef: the simulations just iterate through all possible input strings of length N. You could iterate through more strings, but you won't learn anything more, because only the first N symbols matter anyway. The reason why it can't go any further than N cells is because Turing machines (or the standard definition of them anyway) only move one cell per step. – Niel de Beaudrap Aug 09 '12 at 15:28
  • Right, I got it. so you mind only the first N symbols of every word, thus you check all the combinations of them. why did you delete the configurations description? – Jozef Aug 09 '12 at 15:41
  • It's still visible if you look at the previous edits. I revised it to this because while the other answer was maybe interesting, a lot of what made it "interesting" only served to obscure the fact that the decision procedure is nothing more or less than simulating $M$ on all possible inputs of length $N$. I thought it better to revise the answer to something much more straightforward, and which basically got to the root of what makes the problem decideable. – Niel de Beaudrap Aug 09 '12 at 15:43
  • Niel Does a Turing machine need to read the all the input before it starts computing it? – Jozef Aug 09 '12 at 15:45
  • @Jozef: Perhaps you should do some exercises to see how a TM works. For instance, consider a TM which has states ${q_0, q_1,q_2}$, alphabet ${0,1,\}$, where the behaviour of the machine on given inputs are as follows: $$\begin{align*} (q_0,0) &\to (q_2,0,R) ;, \ (q_0,1) &\to (q_0,1,R) ;, \ (q_0,\) &\to (q_1,\,R) ;, \ q_1 &: \text{ accept state} ;, \ q_2&: \text{ reject state} ;,\end{align*}$$ where $\$ is the tape's blank symbol, and $q_0$ the initial state. How does this machine act on the following inputs: 110, 110000, 1, 11111? – Niel de Beaudrap Aug 09 '12 at 15:54
  • :) Oh yes I Know it, but for some reason I remembered that it had to read all the input in advance, I'll do that exercice anyway, Thanks a lot! – Jozef Aug 09 '12 at 15:59
  • When you say 'on all inputs' can't all inputs be infinite? Which then implies you can't test all configurations of all inputs up to size N? It would also be infinite. – TheJKFever May 08 '15 at 02:31
  • @TheJKFever: the full sentence I wrote is: "Then it suffices to simulate the machine M on all input strings of the form $x \in \Sigma^N$, of which there are a finite number." The bit which you skipped over, immediately after 'all input strings', means that we are not actually considering all possible input strings, but only those of a fixed length. – Niel de Beaudrap May 09 '15 at 18:09
5

If $M$ stops in no more than 50 steps, than the positions $M$ can reach on the normally infinite tape are limited. Thus the infinite tape can be simulated by a finite one. This means that the tape can be simulated by a finite automaton. It follows that a turing machine $M$ that stops in no more than 50 steps is bisimilar to some finite automaton $M'$.

Let $Q$ be the set of states of $M$, $F \subset Q$ the set of accepting states and $\Gamma$ be the alphabet. Then we build the set of states $Q'$ of $M'$ as follows: $Q' = \{ \langle n, q, s, p, a\rangle \, | n \in \{0,...,50\} \, q \in Q, s \in \Gamma, p \in \{-50,...,50\}, a \equiv q \in F\}$ where $p$ is the position of the read/write head above the tape. We can restrict the position to $\{-50,...,50\}$ because the number of allowed computing steps limits the number of reachable positions.

Having a state $\langle n, q, s, p, a\rangle$ of the finite automaton $M'$ then means that we are at state $q$ of the original automaton, with $s$ on the tape at position $p$ where also the read/write head is positioned, after the $n$-th computing step. The state is an accepting one if $a \equiv true$.

Transforming the transition relation of a concrete turing machine is a little more work but not necessary for the original question, because it is enough to show that the state space is finite (and thus we can just test each input with a length of at most 50 symbols on each such automaton). The idea is to build a new transition relation that goes from a state $\langle n, q, s, p, a \rangle$ to a state $\langle n+1, q', s', p', a'\rangle$ in the $n$-th computing step iff the transition $\langle q, s, p\rangle \rightarrow \langle q', s', p'\rangle$ was in the original transition relation.

swegi
  • 153
  • 5
  • How do you simulate the storage on the tape, i.e. the ability to revisit symbols you have already read, on a finite automaton? – Niel de Beaudrap Aug 09 '12 at 13:14
  • @NieldeBeaudrap: You enumerate the whole state space, i.e. you do model checking of the finite tape and the turing machine's control automaton. – swegi Aug 09 '12 at 15:36
  • 1
    Given that the OP is asking basic questions of computability for Turing Machines, you might want to unpack that sketch into something fuller. (I myself have never heard the phrase "model checking" in a computational context before.) In context, I would typcially assume by 'finite automaton' you would mean a DFA or similar unless you specified otherwise, and it's not clear to me what would correspond to the input of the DFA in such a construction. If you just mean a graph representing possible trajectories of the TM, then I agree. – Niel de Beaudrap Aug 09 '12 at 15:40
  • With model checking the finite part of the tape I basically mean what you have written in your answer: just test each input of size at most 50 and check whether an accepting state is reached. – swegi Aug 09 '12 at 21:05
  • 1
    I wish people would stop propagating the myth that a Turing machine tape needs to be infinite. It doesn't - it can be finite as long as it is extended as needed. – reinierpost Oct 06 '14 at 16:19