5

Does it make sense for a Turing machine to have infinite number of states ? I had previously asked a question Can Turing machines have infinite length input. From which I came to know about Type-2 Turing machines. If there can be infinite states, encoding of such a Turing machine would be infinite ( but again I am not sure if it make sense to encode a Turing machine with infinite states thus having an infinite description ). So it would make sense that if I have to give the encoding of such a Turing machines as input, I would give it as input to Type-2 Turing machines.
But is there any use of infinite states ( and what is there link to Type-2 Turing machines ? ) ? If I am not wrong there is no function which is uncomputable by normal Turing machine but computable by Turing machine with infinite states.

advocateofnone
  • 2,962
  • 1
  • 26
  • 43
  • 1
    see eg infinite state machines vs TMs / cstheory. basically one would have to define how the state table is built. then that would be an algorithm (nothing else is possible via church-turing thesis), and then this new construction would be TM equivalent also. however, there may be some literature relating to this eg via hypercomputation etc; may try to put together answer later. – vzn Nov 06 '15 at 21:08
  • 2
    Call the class of TMs with infinite states ITMs. With such machines, it's not hard to see that every language would be ITM-recognizable, meaning that you would lose the distinction that TMs provide between recognizable and non-recognizable languages. – Rick Decker Nov 06 '15 at 21:23
  • @RickDecker could you please tell how that all languages would become recognizable ? – advocateofnone Nov 06 '15 at 21:28
  • In fact, ITMs accept all languages. You can arrange that on input $w$ the machine reaches state $w$, and then you can accept or reject as you wish. – Yuval Filmus Nov 06 '15 at 21:39
  • Here's a hint. We know that a DFA may be viewed as a TM that always moves the tape head to the right. It's a standard exercise to show that a DFA with an infinite number of states can recognize any language. – Rick Decker Nov 06 '15 at 21:39
  • @RickDecker I get your point. But suppose the language is $\overline{H}={<M,w>| M ; does ;not ;halt ;on; w}$. how would I proceed with making a ITM that recognizes this language ( $H$ being the halting language ) ? – advocateofnone Nov 06 '15 at 21:50
  • 2
    I have no idea of how to do this algorithmically, but since the language exists, the DFA result mentioned shows that there must be a DFA-ish machine that recognizes it and hence there must be an ITM that does. The fact that we don't know what it is is immaterial here. – Rick Decker Nov 06 '15 at 21:56
  • @YuvalFilmus I am sorry I am bit confused. Do you mean you can decide all languages by an ITM ? If yes then I say $A_{TM}={<M,s>| M ; accepts ; s}$. Then as you say I arrange that on string $w=<M,s>$ I take the ITM to state $w$ and accept and reject accordingly. But deciding whether to accept or reject on $w$ is undecidable. I am sure I am missing something. Could you clarify please. – advocateofnone Nov 06 '15 at 21:59
  • @sasha Deciding whether to accept or reject at a given state is part of the definition of the machine. You can define it any way you wish. – Yuval Filmus Nov 06 '15 at 22:03
  • @YuvalFilmus But if I am constructing an ITM, then $w=<M,s>$ is an accept state if $w \in A_{TM}$ and reject state otherwise. But the problem $w \in A_{TM}$ is undecidable. – advocateofnone Nov 06 '15 at 22:17
  • 1
    @sasha I don't see the problem. Nobody said that the description of the ITM should be computable. If a real number is not computable, does it not exist? If you do insist on computability, you just get a glorified TM. – Yuval Filmus Nov 06 '15 at 22:20
  • this subsequent stream of comments reminds me of the Blum model of TMs that compute on reals.... maybe a nearby analogy... – vzn Nov 06 '15 at 23:48

1 Answers1

14

No. The definition of Turing machines requires that the finite-state control unit have a finite number of states. It's not allowed to have an infinite number of states.

A machine that could have infinitely many states in its control could accept any language (unlike a Turing machine). However such a machine could not be implemented in practice. For these two reasons, it would not be a good model of the computational power of real computers.

In addition, once you allow an infinite-state automaton, there's no need to have any tape -- the tape doesn't add any computational power, because an infinite-state automaton can already do "everything". For these reasons, while it would be possible to construct machines that look like Turing machines but have infinite state, there would be little point: their power would be equivalent to an infinite-state automaton on their own, i.e., every language can be accepted by such a machine.

D.W.
  • 159,275
  • 20
  • 227
  • 470
  • 2
    It seems that the OP was asking "Is it possible to construct machines like TMs, with the modification that they have infinitely many states?" and subsequently "what effect does this have on the languages accepted by such machines?" – Rick Decker Nov 06 '15 at 21:43
  • @RickDecker, good point -- thanks. Answer updated accordingly. – D.W. Nov 11 '15 at 01:14
  • @D.W. would you please explain what you mean with states ?? is it the steps performed to reach the halting status or the length that turing machine can operate on ? ...{https://en.wikipedia.org/wiki/Turing_machine#The_.22state.22} – abc Nov 11 '15 at 07:29
  • @ABD Explaining a bit informally, it's like the snapshot of the "state" the Turing machine is in. – MrObjectOriented Apr 17 '19 at 15:56
  • I am not convinced that this completely answers the question. The OP question had been based on an earlier question involving an infinitely long input tape. So an (extended) Turing Machine could have a finite number of control states, but over the range of possible inputs (finite or otherwise) and with the non-terminating computations the number of states could grow without bound. Thus when described formally one could describe this extended Machine as having an infinite state space. Some such machines will be isomorphic to a regular Turing Machine, some perhaps not. – Roy Simpson Jun 01 '20 at 14:36
  • @RoySimpson, in the context of Turing machines, the combination of state, symbols on the tape, and position of the head is called a configuration. The state is just the state of the finite-control. So, I suspect you might saying that the set of configurations is infinite. That's true, but it doesn't mean the set of states is infinite. – D.W. Jun 01 '20 at 17:05
  • @D.W. , Let Q = {q0, q1, .... , qn, n(n+1), ...} be an infinite set of states, with q0=start state. Let a machine tuple be (qi, 1; q(i+1), Move Right). Given a finite set of K consecutive 1's on the input tape, this machine will have reached state qK and stop. So it has K states - except that the input can be of any length, so the entire infinite set Q is needed to describe this over all inputs. Now we know that a certain Turing Machine can be constructed to behave in an operationally equivalent way. Continued... – Roy Simpson Jun 02 '20 at 10:15
  • Continuation. A harder variation - using Q - is when the set of tuples can increase depending on the input tape. If so, then the newer tuples could refer to new states potentially indefinitely. Is this always equivalent to a Turing Machine? Finally the OP referred to Type-2 computability, not equivalent to a Turing Machine. I think he was asking whether an infinite state set was (i) needed or (ii) adequate here. I came to this question in the first place because I have a related question, but I will need to ask it precisely to avoid an Answer which merely repeats standard definitions. – Roy Simpson Jun 02 '20 at 10:26
  • @RoySimpson, you can construct such a thing, but it's not a Turing machine. Part of the definition of a Turing machine is that Q is finite. When you say "it has K states", that's not accurate; the number of states is the cardinality of Q. That's just a definition. Agreed, wording will be important to avoid miscommunication. I recommend asking your question separately, as comment threads are not for extended back-and-forth. – D.W. Jun 02 '20 at 18:58