简体   繁体   中英

Language Accepted by a Turing Machine with a Useless State?

What language is accepted by a Turing machine which has a state that it does not enter on input I?

Specifically,

  1. If the accept state is the state that it never enters then should L={empty}?

  2. If the reject state is the state that it never enters then should L={everything}?

  3. What if the TM has multiple accept/reject states?

  4. What if the state that it never enters is neither the reject nor accept states? How does that affect L?

I have searched around and I have found a couple threads that helped prove that this problem is undecidable but is it Turing-recognizable? Co-Turing Recognizable? Both?

  1. If it is given that the halt-accept state is never entered for any input I, then it is safe to assert that L(M) is the empty set. Note: it is undecidable and unrecognizable in general whether this is the case; however, it is co-recognizable, in that you can recognize if a TM accepts something .

  2. If it is given that the halt-reject state is never entered for any input I, then we cannot assert that L(M) is the set of all strings. A TM can fail to halt on an input - never entering halt-reject or halt-accept - in which case the string is not in L(M). Note: it is undecidable and unrecognizable in general whether a TM never enters the halt-reject state for some input; however, it is co-recognizable, in that you can recognize if a TM rejects something .

  3. If the TM has multiple accept/reject states, then we might mean that it is known that just one of them is never entered, or that none of them is ever entered. The second of these possibilities is indistinguishable from the cases we considered in points 1 and 2 above. The first of these possibilities, on the other hand, is indistinguishable from a TM with fewer accept/reject states, the one never visited being removed. Because, in general, L(M) can be anything, this means that we cannot say anything about L(M) in this case. Note: it is undecidable and unrecognizable, in general, whether a TM with multiple accept/reject states never visits one of these states on some input; however, it is co-recognizable, in that you can recognize if a TM accepts/rejects something by visiting one or any of the accept/reject states.

  4. If the state which is never entered for any input I is neither accepting nor rejecting, we cannot necessarily say anything about the language of the machine. This is because such a TM is equivalent to one with that state removed; in general, such a TM can have any language.

Now, maybe these questions are intended for a specific input I. In that case:

  1. This simply means that I is not in L(M). It is undecidable and unrecognizable to decide whether M doesn't accept I, but it is co-recognizable in that you can recognize if I is accepted.

  2. This says nothing about whether or not I is in L(M). It is undecidable and unrecognizable to decide whether M doesn't explicitly reject I, but it is co-recognizable in that you can recognize if I is explicitly rejected.

  3. If the TM never enters any accept/reject states on input I, see the above answers. If the TM never enters just one accept/reject state on input I, we cannot say anything about whether I is in L(M). It is undecidable and unrecognizable in general whether I doesn't cause M to enter any or any given accept/reject state, but it is co-recognizable in that you can recognize if I does cause the TM to enter such a state.

  4. This has no effect on L since such a TM is equivalent to a smaller one with the unvisited state removed, and in general a TM can either accept or reject any string.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM